Function Graph 0Basic Block 0Opcode: 55sub_804c490:Opcode: 55push    ebpOpcode: 89 e5mov     ebpespOpcode: 81 ec d8 00 00 00sub     esp0xd8 {var_dc}Opcode: 8b 45 0cmov     eaxdword [ebp+0xc {arg_8}]Opcode: 8b 4d 08mov     ecxdword [ebp+0x8 {arg_4}]Opcode: 89 4d f8mov     dword [ebp-0x8 {var_c}]ecxOpcode: 89 45 f4mov     dword [ebp-0xc {var_10}]eaxOpcode: c6 85 6b ff ff ff 00mov     byte [ebp-0x95 {var_99}]0x0Opcode: c7 85 60 ff ff ff 00 00 00 00mov     dword [ebp-0xa0 {var_a4}]0x0Opcode: c6 85 5f ff ff ff 00mov     byte [ebp-0xa1 {var_a5}]0x0Opcode: 81 7d f8 00 00 00 00cmp     dword [ebp-0x8 {var_c}]0x0Opcode: 0f 85 17 00 00 00jne     0x804c4e1Basic Block 1Opcode: 81 7d f4 00 00 00 00cmp     dword [ebp-0xc {var_10}]0x0Opcode: 0f 85 17 00 00 00jne     0x804c505Basic Block 2Opcode: 8d 05 ac 02 05 08lea     eax[data_80502ac]  {"Invalid username"}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 a8 d0 ff ffcall    sub_8049580Opcode: c6 45 ff 00mov     byte [ebp-0x1 {var_5}]0x0Opcode: e9 59 05 00 00jmp     0x804ca3aBasic Block 3Opcode: 8b 45 f4mov     eaxdword [ebp-0xc {var_10}]Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 80 31 00 00call    sub_804f690Opcode: 3d 20 00 00 00cmp     eax0x20Opcode: 0f 86 17 00 00 00jbe     0x804c532Basic Block 4Opcode: 8d 05 10 03 05 08lea     eax[data_8050310]  {"Invalid password"}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 84 d0 ff ffcall    sub_8049580Opcode: c6 45 ff 00mov     byte [ebp-0x1 {var_5}]0x0Opcode: e9 35 05 00 00jmp     0x804ca3aBasic Block 5Opcode: 0f b6 45 ffmovzx   eaxbyte [ebp-0x1 {var_5}]Opcode: 81 c4 d8 00 00 00add     esp0xd8 {var_4}Opcode: 5dpop     ebpOpcode: c3retn    Basic Block 6Opcode: 81 3d 7c 56 06 08 00 00 00 00cmp     dword [data_806567c]0x0Opcode: 0f 84 a7 00 00 00je      0x804c5e9Basic Block 7Opcode: 8d 05 10 03 05 08lea     eax[data_8050310]  {"Invalid password"}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 57 d0 ff ffcall    sub_8049580Opcode: c6 45 ff 00mov     byte [ebp-0x1 {var_5}]0x0Opcode: e9 08 05 00 00jmp     0x804ca3aBasic Block 8Opcode: 8d 05 a7 02 05 08lea     eax[data_80502a7]  {"root"}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 79 d3 ff ffcall    sub_8049970Opcode: c6 85 5f ff ff ff 01mov     byte [ebp-0xa1 {var_a5}]0x1Opcode: 88 85 55 ff ff ffmov     byte [ebp-0xab {var_af}]alBasic Block 9Opcode: 8d 05 a7 02 05 08lea     eax[data_80502a7]  {"root"}Opcode: 8b 0d 7c 56 06 08mov     ecxdword [data_806567c]Opcode: 89 0c 24mov     dword [esp {var_dc}]ecxOpcode: 89 44 24 04mov     dword [esp+0x4 {var_d8}]eaxOpcode: e8 36 35 00 00call    sub_804fa90Opcode: 3d 00 00 00 00cmp     eax0x0Opcode: 0f 84 7f 00 00 00je      0x804c5e4Basic Block 10Opcode: e9 00 00 00 00jmp     0x804c69eBasic Block 11Opcode: 8d 05 d3 02 05 08lea     eax[data_80502d3]  {"Unable to open passwd file"}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 45 cf ff ffcall    sub_8049580Opcode: 81 bd 60 ff ff ff 00 00 00 00cmp     dword [ebp-0xa0 {var_a4}]0x0Opcode: 0f 84 2d 00 00 00je      0x804c678Basic Block 12Opcode: e9 1b 00 00 00jmp     0x804c604Basic Block 13Opcode: a1 7c 56 06 08mov     eaxdword [data_806567c]Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 1e 31 00 00call    sub_804f690Opcode: 05 01 00 00 00add     eax0x1Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 a1 09 00 00call    sub_804cf20Opcode: 89 85 60 ff ff ffmov     dword [ebp-0xa0 {var_a4}]eaxOpcode: 3d 00 00 00 00cmp     eax0x0Opcode: 0f 85 17 00 00 00jne     0x804c5a7Basic Block 14Opcode: b8 7f 00 00 00mov     eax0x7fOpcode: 8d 8d 74 ff ff fflea     ecx[ebp-0x8c] {var_90}Opcode: 8b 95 64 ff ff ffmov     edxdword [ebp-0x9c {var_a0}]Opcode: 89 0c 24mov     dword [esp {var_dc}]ecxOpcode: c7 44 24 04 7f 00 00 00mov     dword [esp+0x4 {var_d8}]0x7fOpcode: 89 54 24 08mov     dword [esp+0x8 {var_d4}]edxOpcode: 89 85 4c ff ff ffmov     dword [ebp-0xb4 {var_b8}]eaxOpcode: e8 57 e1 ff ffcall    sub_804a820Opcode: 3d 00 00 00 00cmp     eax0x0Opcode: 0f 84 7b 02 00 00je      0x804c94fBasic Block 15Opcode: 80 bd 5f ff ff ff 00cmp     byte [ebp-0xa1 {var_a5}]0x0Opcode: 0f 84 0b 00 00 00je      0x804c690Basic Block 16Opcode: e8 00 d5 ff ffcall    sub_8049b50Opcode: 8b 8d 60 ff ff ffmov     ecxdword [ebp-0xa0 {var_a4}]Opcode: 89 0c 24mov     dword [esp {var_dc}]ecxOpcode: 88 85 54 ff ff ffmov     byte [ebp-0xac {var_b0}]alOpcode: e8 0c d3 ff ffcall    sub_8049970Opcode: 8b 8d 60 ff ff ffmov     ecxdword [ebp-0xa0 {var_a4}]Opcode: 89 0c 24mov     dword [esp {var_dc}]ecxOpcode: 88 85 53 ff ff ffmov     byte [ebp-0xad {var_b1}]alOpcode: e8 08 06 00 00call    sub_804cc80Basic Block 17Opcode: 8d 05 2e 00 05 08lea     eax[data_805002e]  {"passwd"}Opcode: 8d 0d df 01 05 08lea     ecx[data_80501df]Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: 89 4c 24 04mov     dword [esp+0x4 {var_d8}]ecxOpcode: e8 94 d9 ff ffcall    sub_8049fb0Opcode: 89 85 64 ff ff ffmov     dword [ebp-0x9c {var_a0}]eaxOpcode: 3d 00 00 00 00cmp     eax0x0Opcode: 0f 85 6c 00 00 00jne     0x804c699Basic Block 18Opcode: 8b 85 60 ff ff ffmov     eaxdword [ebp-0xa0 {var_a4}]Opcode: 8b 0d 7c 56 06 08mov     ecxdword [data_806567c]Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: 89 4c 24 04mov     dword [esp+0x4 {var_d8}]ecxOpcode: e8 21 2f 00 00call    sub_804f4e0Opcode: 89 85 58 ff ff ffmov     dword [ebp-0xa8 {var_ac}]eaxOpcode: e8 86 d5 ff ffcall    sub_8049b50Opcode: 8d 0d a7 02 05 08lea     ecx[data_80502a7]  {"root"}Opcode: 89 0c 24mov     dword [esp {var_dc}]ecxOpcode: 88 85 57 ff ff ffmov     byte [ebp-0xa9 {var_ad}]alOpcode: e8 92 d3 ff ffcall    sub_8049970Opcode: 88 85 56 ff ff ffmov     byte [ebp-0xaa {var_ae}]alBasic Block 19Opcode: 8d 05 81 00 05 08lea     eax[data_8050081]  {"calloc failed"}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 e2 cf ff ffcall    sub_8049580Opcode: c6 45 ff 00mov     byte [ebp-0x1 {var_5}]0x0Opcode: e9 93 04 00 00jmp     0x804ca3aBasic Block 20Opcode: 8b 85 64 ff ff ffmov     eaxdword [ebp-0x9c {var_a0}]Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 73 db ff ffcall    sub_804a4d0Opcode: 80 bd 6b ff ff ff 00cmp     byte [ebp-0x95 {var_99}]0x0Opcode: 88 85 3b ff ff ffmov     byte [ebp-0xc5 {var_c9}]alOpcode: 0f 85 6c 00 00 00jne     0x804c9dcBasic Block 21Opcode: 8d 85 74 ff ff fflea     eax[ebp-0x8c] {var_90}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 ae 2f 00 00call    sub_804f690Opcode: 3d 00 00 00 00cmp     eax0x0Opcode: 0f 85 05 00 00 00jne     0x804c6f2Basic Block 22Opcode: c6 45 ff 00mov     byte [ebp-0x1 {var_5}]0x0Opcode: e9 a1 03 00 00jmp     0x804ca3aBasic Block 23Opcode: e8 c6 d4 ff ffcall    sub_8049b50Opcode: 88 85 52 ff ff ffmov     byte [ebp-0xae {var_b2}]alBasic Block 24Opcode: e8 ef cb ff ffcall    sub_80495d0Opcode: 81 bd 60 ff ff ff 00 00 00 00cmp     dword [ebp-0xa0 {var_a4}]0x0Opcode: 0f 84 2d 00 00 00je      0x804ca1eBasic Block 25Opcode: 8d 05 99 03 05 08lea     eax[data_8050399]  {"User not found"}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 02 cc ff ffcall    sub_8049580Opcode: 81 bd 60 ff ff ff 00 00 00 00cmp     dword [ebp-0xa0 {var_a4}]0x0Opcode: 0f 84 2d 00 00 00je      0x804c9bbBasic Block 26Opcode: 8d 85 74 ff ff fflea     eax[ebp-0x8c] {var_90}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 90 2f 00 00call    sub_804f690Opcode: 2d 01 00 00 00sub     eax0x1Opcode: 0f be 84 05 74 ff ff ffmovsx   eaxbyte [ebp+eax-0x8c] {var_4}Opcode: 3d 0a 00 00 00cmp     eax0xaOpcode: 0f 85 1b 00 00 00jne     0x804c733Basic Block 27Opcode: e9 ac ff ff ffjmp     0x804c69eBasic Block 28Opcode: 80 bd 5f ff ff ff 00cmp     byte [ebp-0xa1 {var_a5}]0x0Opcode: 0f 84 0b 00 00 00je      0x804ca36Basic Block 29Opcode: e8 5a d1 ff ffcall    sub_8049b50Opcode: 8b 8d 60 ff ff ffmov     ecxdword [ebp-0xa0 {var_a4}]Opcode: 89 0c 24mov     dword [esp {var_dc}]ecxOpcode: 88 85 37 ff ff ffmov     byte [ebp-0xc9 {var_cd}]alOpcode: e8 66 cf ff ffcall    sub_8049970Opcode: 8b 8d 60 ff ff ffmov     ecxdword [ebp-0xa0 {var_a4}]Opcode: 89 0c 24mov     dword [esp {var_dc}]ecxOpcode: 88 85 36 ff ff ffmov     byte [ebp-0xca {var_ce}]alOpcode: e8 62 02 00 00call    sub_804cc80Basic Block 30Opcode: 80 bd 5f ff ff ff 00cmp     byte [ebp-0xa1 {var_a5}]0x0Opcode: 0f 84 0b 00 00 00je      0x804c9d3Basic Block 31Opcode: e8 bd d1 ff ffcall    sub_8049b50Opcode: 8b 8d 60 ff ff ffmov     ecxdword [ebp-0xa0 {var_a4}]Opcode: 89 0c 24mov     dword [esp {var_dc}]ecxOpcode: 88 85 3a ff ff ffmov     byte [ebp-0xc6 {var_ca}]alOpcode: e8 c9 cf ff ffcall    sub_8049970Opcode: 8b 8d 60 ff ff ffmov     ecxdword [ebp-0xa0 {var_a4}]Opcode: 89 0c 24mov     dword [esp {var_dc}]ecxOpcode: 88 85 39 ff ff ffmov     byte [ebp-0xc7 {var_cb}]alOpcode: e8 c5 02 00 00call    sub_804cc80Basic Block 32Opcode: 8d 05 f2 02 05 08lea     eax[data_80502f2]Opcode: 8d 8d 74 ff ff fflea     ecx[ebp-0x8c] {var_90}Opcode: 89 0c 24mov     dword [esp {var_dc}]ecxOpcode: 89 44 24 04mov     dword [esp+0x4 {var_d8}]eaxOpcode: e8 45 31 00 00call    sub_804f890Opcode: 89 85 70 ff ff ffmov     dword [ebp-0x90 {var_94}]eaxOpcode: 3d 00 00 00 00cmp     eax0x0Opcode: 0f 85 80 00 00 00jne     0x804c7dcBasic Block 33Opcode: 8d 85 74 ff ff fflea     eax[ebp-0x8c] {var_90}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 6a 2f 00 00call    sub_804f690Opcode: 2d 01 00 00 00sub     eax0x1Opcode: c6 84 05 74 ff ff ff 00mov     byte [ebp+eax-0x8c]0x0 {var_4}Basic Block 34Opcode: c6 45 ff 00mov     byte [ebp-0x1 {var_5}]0x0Basic Block 35Opcode: e8 20 d1 ff ffcall    sub_8049b50Opcode: 88 85 35 ff ff ffmov     byte [ebp-0xcb {var_cf}]alBasic Block 36Opcode: c6 45 ff 00mov     byte [ebp-0x1 {var_5}]0x0Opcode: e9 5e 00 00 00jmp     0x804ca3aBasic Block 37Opcode: e8 83 d1 ff ffcall    sub_8049b50Opcode: 88 85 38 ff ff ffmov     byte [ebp-0xc8 {var_cc}]alBasic Block 38Opcode: 8b 85 70 ff ff ffmov     eaxdword [ebp-0x90 {var_94}]Opcode: 8b 4d f8mov     ecxdword [ebp-0x8 {var_c}]Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: 89 4c 24 04mov     dword [esp+0x4 {var_d8}]ecxOpcode: e8 9f 32 00 00call    sub_804fa90Opcode: 3d 00 00 00 00cmp     eax0x0Opcode: 0f 84 05 00 00 00je      0x804c801Basic Block 39Opcode: 8d 05 f4 02 05 08lea     eax[data_80502f4]  {"Failed to parse passwd file"}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 16 ce ff ffcall    sub_8049580Opcode: 8b 85 64 ff ff ffmov     eaxdword [ebp-0x9c {var_a0}]Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 58 dd ff ffcall    sub_804a4d0Opcode: 81 bd 60 ff ff ff 00 00 00 00cmp     dword [ebp-0xa0 {var_a4}]0x0Opcode: 88 85 4b ff ff ffmov     byte [ebp-0xb5 {var_b9}]alOpcode: 0f 84 2d 00 00 00je      0x804c7bbBasic Block 40Opcode: b8 00 00 00 00mov     eax0x0Opcode: 8d 0d f2 02 05 08lea     ecx[data_80502f2]Opcode: c7 04 24 00 00 00 00mov     dword [esp {var_dc}]0x0Opcode: 89 4c 24 04mov     dword [esp+0x4 {var_d8}]ecxOpcode: 89 85 44 ff ff ffmov     dword [ebp-0xbc {var_c0}]eaxOpcode: e8 6e 30 00 00call    sub_804f890Opcode: 89 85 6c ff ff ffmov     dword [ebp-0x94 {var_98}]eaxOpcode: 3d 00 00 00 00cmp     eax0x0Opcode: 0f 85 80 00 00 00jne     0x804c8b3Basic Block 41Opcode: e9 9d fe ff ffjmp     0x804c69eBasic Block 42Opcode: 80 bd 5f ff ff ff 00cmp     byte [ebp-0xa1 {var_a5}]0x0Opcode: 0f 84 0b 00 00 00je      0x804c7d3Basic Block 43Opcode: e8 bd d3 ff ffcall    sub_8049b50Opcode: 8b 8d 60 ff ff ffmov     ecxdword [ebp-0xa0 {var_a4}]Opcode: 89 0c 24mov     dword [esp {var_dc}]ecxOpcode: 88 85 4a ff ff ffmov     byte [ebp-0xb6 {var_ba}]alOpcode: e8 c9 d1 ff ffcall    sub_8049970Opcode: 8b 8d 60 ff ff ffmov     ecxdword [ebp-0xa0 {var_a4}]Opcode: 89 0c 24mov     dword [esp {var_dc}]ecxOpcode: 88 85 49 ff ff ffmov     byte [ebp-0xb7 {var_bb}]alOpcode: e8 c5 04 00 00call    sub_804cc80Basic Block 44Opcode: 8b 85 6c ff ff ffmov     eaxdword [ebp-0x94 {var_98}]Opcode: 8b 4d f4mov     ecxdword [ebp-0xc {var_10}]Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: 89 4c 24 04mov     dword [esp+0x4 {var_d8}]ecxOpcode: e8 c8 31 00 00call    sub_804fa90Opcode: 3d 00 00 00 00cmp     eax0x0Opcode: 0f 85 77 00 00 00jne     0x804c94aBasic Block 45Opcode: 8d 05 f4 02 05 08lea     eax[data_80502f4]  {"Failed to parse passwd file"}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 3f cd ff ffcall    sub_8049580Opcode: 8b 85 64 ff ff ffmov     eaxdword [ebp-0x9c {var_a0}]Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 81 dc ff ffcall    sub_804a4d0Opcode: 81 bd 60 ff ff ff 00 00 00 00cmp     dword [ebp-0xa0 {var_a4}]0x0Opcode: 88 85 43 ff ff ffmov     byte [ebp-0xbd {var_c1}]alOpcode: 0f 84 2d 00 00 00je      0x804c892Basic Block 46Opcode: c6 45 ff 00mov     byte [ebp-0x1 {var_5}]0x0Opcode: e9 5e 02 00 00jmp     0x804ca3aBasic Block 47Opcode: e8 83 d3 ff ffcall    sub_8049b50Opcode: 88 85 48 ff ff ffmov     byte [ebp-0xb8 {var_bc}]alBasic Block 48Opcode: e9 4f fd ff ffjmp     0x804c69eBasic Block 49Opcode: e8 f8 cc ff ffcall    sub_80495d0Opcode: 8b 85 64 ff ff ffmov     eaxdword [ebp-0x9c {var_a0}]Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 ea db ff ffcall    sub_804a4d0Opcode: 81 bd 60 ff ff ff 00 00 00 00cmp     dword [ebp-0xa0 {var_a4}]0x0Opcode: 88 85 3f ff ff ffmov     byte [ebp-0xc1 {var_c5}]alOpcode: 0f 84 2d 00 00 00je      0x804c929Basic Block 50Opcode: 80 bd 5f ff ff ff 00cmp     byte [ebp-0xa1 {var_a5}]0x0Opcode: 0f 84 0b 00 00 00je      0x804c8aaBasic Block 51Opcode: e8 e6 d2 ff ffcall    sub_8049b50Opcode: 8b 8d 60 ff ff ffmov     ecxdword [ebp-0xa0 {var_a4}]Opcode: 89 0c 24mov     dword [esp {var_dc}]ecxOpcode: 88 85 42 ff ff ffmov     byte [ebp-0xbe {var_c2}]alOpcode: e8 f2 d0 ff ffcall    sub_8049970Opcode: 8b 8d 60 ff ff ffmov     ecxdword [ebp-0xa0 {var_a4}]Opcode: 89 0c 24mov     dword [esp {var_dc}]ecxOpcode: 88 85 41 ff ff ffmov     byte [ebp-0xbf {var_c3}]alOpcode: e8 ee 03 00 00call    sub_804cc80Basic Block 52Opcode: 80 bd 5f ff ff ff 00cmp     byte [ebp-0xa1 {var_a5}]0x0Opcode: 0f 84 0b 00 00 00je      0x804c941Basic Block 53Opcode: e8 4f d2 ff ffcall    sub_8049b50Opcode: 8b 8d 60 ff ff ffmov     ecxdword [ebp-0xa0 {var_a4}]Opcode: 89 0c 24mov     dword [esp {var_dc}]ecxOpcode: 88 85 3e ff ff ffmov     byte [ebp-0xc2 {var_c6}]alOpcode: e8 5b d0 ff ffcall    sub_8049970Opcode: 8b 8d 60 ff ff ffmov     ecxdword [ebp-0xa0 {var_a4}]Opcode: 89 0c 24mov     dword [esp {var_dc}]ecxOpcode: 88 85 3d ff ff ffmov     byte [ebp-0xc3 {var_c7}]alOpcode: e8 57 03 00 00call    sub_804cc80Basic Block 54Opcode: c6 45 ff 00mov     byte [ebp-0x1 {var_5}]0x0Opcode: e9 87 01 00 00jmp     0x804ca3aBasic Block 55Opcode: e8 ac d2 ff ffcall    sub_8049b50Opcode: 88 85 40 ff ff ffmov     byte [ebp-0xc0 {var_c4}]alBasic Block 56Opcode: c6 45 ff 01mov     byte [ebp-0x1 {var_5}]0x1Opcode: e9 f0 00 00 00jmp     0x804ca3aBasic Block 57Opcode: e8 15 d2 ff ffcall    sub_8049b50Opcode: 88 85 3c ff ff ffmov     byte [ebp-0xc4 {var_c8}]al