Function Graph 0Basic Block 0Opcode: 55sub_804c894:Opcode: 55push    ebpOpcode: 66 0f 7e f8movd    eaxxmm7Opcode: 31 44 24 04xor     dword [esp+0x4 {__return_addr}]eaxOpcode: 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     0x804c8edBasic Block 1Opcode: 81 7d f4 00 00 00 00cmp     dword [ebp-0xc {var_10}]0x0Opcode: 0f 85 17 00 00 00jne     0x804c911Basic Block 2Opcode: 8d 05 ac 10 05 08lea     eax[data_80510ac]  {"Invalid username"}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 ee ce ff ffcall    sub_80497d2Opcode: c6 45 ff 00mov     byte [ebp-0x1 {var_5}]0x0Opcode: e9 56 05 00 00jmp     0x804ce43Basic Block 3Opcode: 8b 45 f4mov     eaxdword [ebp-0xc {var_10}]Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 b6 36 00 00call    sub_804ffd2Opcode: 3d 20 00 00 00cmp     eax0x20Opcode: 0f 86 17 00 00 00jbe     0x804c93eBasic Block 4Opcode: 8d 05 10 11 05 08lea     eax[data_8051110]  {"Invalid password"}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 ca ce ff ffcall    sub_80497d2Opcode: c6 45 ff 00mov     byte [ebp-0x1 {var_5}]0x0Opcode: e9 32 05 00 00jmp     0x804ce43Basic Block 5Opcode: 0f b6 45 ffmovzx   eaxbyte [ebp-0x1 {var_5}]Opcode: 81 c4 d8 00 00 00add     esp0xd8 {var_4}Opcode: 5dpop     ebpOpcode: 66 0f 7e f9movd    ecxxmm7Opcode: 31 0c 24xor     dword [esp {__return_addr}]ecxOpcode: c3retn    Basic Block 6Opcode: 83 3d 1c 62 06 08 00cmp     dword [data_806621c]0x0Opcode: 0f 84 a7 00 00 00je      0x804c9f2Basic Block 7Opcode: 8d 05 10 11 05 08lea     eax[data_8051110]  {"Invalid password"}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 9d ce ff ffcall    sub_80497d2Opcode: c6 45 ff 00mov     byte [ebp-0x1 {var_5}]0x0Opcode: e9 05 05 00 00jmp     0x804ce43Basic Block 8Opcode: 8d 05 a7 10 05 08lea     eax[data_80510a7]  {"root"}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 12 d2 ff ffcall    sub_8049c12Opcode: 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 10 05 08lea     eax[data_80510a7]  {"root"}Opcode: 8b 0d 1c 62 06 08mov     ecxdword [data_806621c]Opcode: 89 0c 24mov     dword [esp {var_dc}]ecxOpcode: 89 44 24 04mov     dword [esp+0x4 {var_d8}]eaxOpcode: e8 bf 3a 00 00call    sub_8050422Opcode: 3d 00 00 00 00cmp     eax0x0Opcode: 0f 84 7f 00 00 00je      0x804c9edBasic Block 10Opcode: e9 00 00 00 00jmp     0x804caa7Basic Block 11Opcode: 8d 05 d3 10 05 08lea     eax[data_80510d3]  {"Unable to open passwd file"}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 8e cd ff ffcall    sub_80497d2Opcode: 81 bd 60 ff ff ff 00 00 00 00cmp     dword [ebp-0xa0 {var_a4}]0x0Opcode: 0f 84 2d 00 00 00je      0x804ca81Basic Block 12Opcode: e9 1b 00 00 00jmp     0x804ca0dBasic Block 13Opcode: a1 1c 62 06 08mov     eaxdword [data_806621c]Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 57 36 00 00call    sub_804ffd2Opcode: 05 01 00 00 00add     eax0x1Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 2a 0a 00 00call    sub_804d3b2Opcode: 89 85 60 ff ff ffmov     dword [ebp-0xa0 {var_a4}]eaxOpcode: 3d 00 00 00 00cmp     eax0x0Opcode: 0f 85 17 00 00 00jne     0x804c9b0Basic 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 80 e0 ff ffcall    sub_804ab52Opcode: 3d 00 00 00 00cmp     eax0x0Opcode: 0f 84 7b 02 00 00je      0x804cd58Basic Block 15Opcode: 80 bd 5f ff ff ff 00cmp     byte [ebp-0xa1 {var_a5}]0x0Opcode: 0f 84 0b 00 00 00je      0x804ca99Basic Block 16Opcode: e8 b9 d3 ff ffcall    sub_8049e12Opcode: 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 a5 d1 ff ffcall    sub_8049c12Opcode: 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 41 06 00 00call    sub_804d0c2Basic Block 17Opcode: 8d 05 2e 0e 05 08lea     eax[data_8050e2e]  {"passwd"}Opcode: 8d 0d df 0f 05 08lea     ecx[data_8050fdf]Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: 89 4c 24 04mov     dword [esp+0x4 {var_d8}]ecxOpcode: e8 7d d8 ff ffcall    sub_804a2a2Opcode: 89 85 64 ff ff ffmov     dword [ebp-0x9c {var_a0}]eaxOpcode: 3d 00 00 00 00cmp     eax0x0Opcode: 0f 85 6c 00 00 00jne     0x804caa2Basic Block 18Opcode: 8b 85 60 ff ff ffmov     eaxdword [ebp-0xa0 {var_a4}]Opcode: 8b 0d 1c 62 06 08mov     ecxdword [data_806621c]Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: 89 4c 24 04mov     dword [esp+0x4 {var_d8}]ecxOpcode: e8 2a 34 00 00call    sub_804fdf2Opcode: 89 85 58 ff ff ffmov     dword [ebp-0xa8 {var_ac}]eaxOpcode: e8 3f d4 ff ffcall    sub_8049e12Opcode: 8d 0d a7 10 05 08lea     ecx[data_80510a7]  {"root"}Opcode: 89 0c 24mov     dword [esp {var_dc}]ecxOpcode: 88 85 57 ff ff ffmov     byte [ebp-0xa9 {var_ad}]alOpcode: e8 2b d2 ff ffcall    sub_8049c12Opcode: 88 85 56 ff ff ffmov     byte [ebp-0xaa {var_ae}]alBasic Block 19Opcode: 8d 05 81 0e 05 08lea     eax[data_8050e81]  {"calloc failed"}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 2b ce ff ffcall    sub_80497d2Opcode: c6 45 ff 00mov     byte [ebp-0x1 {var_5}]0x0Opcode: e9 93 04 00 00jmp     0x804ce43Basic Block 20Opcode: 8b 85 64 ff ff ffmov     eaxdword [ebp-0x9c {var_a0}]Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 6c da ff ffcall    sub_804a7d2Opcode: 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     0x804cde5Basic Block 21Opcode: 8d 85 74 ff ff fflea     eax[ebp-0x8c] {var_90}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 e7 34 00 00call    sub_804ffd2Opcode: 3d 00 00 00 00cmp     eax0x0Opcode: 0f 85 05 00 00 00jne     0x804cafbBasic Block 22Opcode: c6 45 ff 00mov     byte [ebp-0x1 {var_5}]0x0Opcode: e9 a1 03 00 00jmp     0x804ce43Basic Block 23Opcode: e8 7f d3 ff ffcall    sub_8049e12Opcode: 88 85 52 ff ff ffmov     byte [ebp-0xae {var_b2}]alBasic Block 24Opcode: e8 48 ca ff ffcall    sub_8049832Opcode: 81 bd 60 ff ff ff 00 00 00 00cmp     dword [ebp-0xa0 {var_a4}]0x0Opcode: 0f 84 2d 00 00 00je      0x804ce27Basic Block 25Opcode: 8d 05 99 11 05 08lea     eax[data_8051199]  {"User not found"}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 4b ca ff ffcall    sub_80497d2Opcode: 81 bd 60 ff ff ff 00 00 00 00cmp     dword [ebp-0xa0 {var_a4}]0x0Opcode: 0f 84 2d 00 00 00je      0x804cdc4Basic Block 26Opcode: 8d 85 74 ff ff fflea     eax[ebp-0x8c] {var_90}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 c9 34 00 00call    sub_804ffd2Opcode: 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     0x804cb3cBasic Block 27Opcode: e9 ac ff ff ffjmp     0x804caa7Basic Block 28Opcode: 80 bd 5f ff ff ff 00cmp     byte [ebp-0xa1 {var_a5}]0x0Opcode: 0f 84 0b 00 00 00je      0x804ce3fBasic Block 29Opcode: e8 13 d0 ff ffcall    sub_8049e12Opcode: 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 ff cd ff ffcall    sub_8049c12Opcode: 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 9b 02 00 00call    sub_804d0c2Basic Block 30Opcode: 80 bd 5f ff ff ff 00cmp     byte [ebp-0xa1 {var_a5}]0x0Opcode: 0f 84 0b 00 00 00je      0x804cddcBasic Block 31Opcode: e8 76 d0 ff ffcall    sub_8049e12Opcode: 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 62 ce ff ffcall    sub_8049c12Opcode: 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 fe 02 00 00call    sub_804d0c2Basic Block 32Opcode: 8d 05 f2 10 05 08lea     eax[data_80510f2]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 be 36 00 00call    sub_8050212Opcode: 89 85 70 ff ff ffmov     dword [ebp-0x90 {var_94}]eaxOpcode: 3d 00 00 00 00cmp     eax0x0Opcode: 0f 85 80 00 00 00jne     0x804cbe5Basic Block 33Opcode: 8d 85 74 ff ff fflea     eax[ebp-0x8c] {var_90}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 a3 34 00 00call    sub_804ffd2Opcode: 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 d9 cf ff ffcall    sub_8049e12Opcode: 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     0x804ce43Basic Block 37Opcode: e8 3c d0 ff ffcall    sub_8049e12Opcode: 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 28 38 00 00call    sub_8050422Opcode: 3d 00 00 00 00cmp     eax0x0Opcode: 0f 84 05 00 00 00je      0x804cc0aBasic Block 39Opcode: 8d 05 f4 10 05 08lea     eax[data_80510f4]  {"Failed to parse passwd file"}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 5f cc ff ffcall    sub_80497d2Opcode: 8b 85 64 ff ff ffmov     eaxdword [ebp-0x9c {var_a0}]Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 51 dc ff ffcall    sub_804a7d2Opcode: 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      0x804cbc4Basic Block 40Opcode: b8 00 00 00 00mov     eax0x0Opcode: 8d 0d f2 10 05 08lea     ecx[data_80510f2]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 e7 35 00 00call    sub_8050212Opcode: 89 85 6c ff ff ffmov     dword [ebp-0x94 {var_98}]eaxOpcode: 3d 00 00 00 00cmp     eax0x0Opcode: 0f 85 80 00 00 00jne     0x804ccbcBasic Block 41Opcode: e9 9d fe ff ffjmp     0x804caa7Basic Block 42Opcode: 80 bd 5f ff ff ff 00cmp     byte [ebp-0xa1 {var_a5}]0x0Opcode: 0f 84 0b 00 00 00je      0x804cbdcBasic Block 43Opcode: e8 76 d2 ff ffcall    sub_8049e12Opcode: 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 62 d0 ff ffcall    sub_8049c12Opcode: 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 fe 04 00 00call    sub_804d0c2Basic 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 51 37 00 00call    sub_8050422Opcode: 3d 00 00 00 00cmp     eax0x0Opcode: 0f 85 77 00 00 00jne     0x804cd53Basic Block 45Opcode: 8d 05 f4 10 05 08lea     eax[data_80510f4]  {"Failed to parse passwd file"}Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 88 cb ff ffcall    sub_80497d2Opcode: 8b 85 64 ff ff ffmov     eaxdword [ebp-0x9c {var_a0}]Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 7a db ff ffcall    sub_804a7d2Opcode: 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      0x804cc9bBasic Block 46Opcode: c6 45 ff 00mov     byte [ebp-0x1 {var_5}]0x0Opcode: e9 5e 02 00 00jmp     0x804ce43Basic Block 47Opcode: e8 3c d2 ff ffcall    sub_8049e12Opcode: 88 85 48 ff ff ffmov     byte [ebp-0xb8 {var_bc}]alBasic Block 48Opcode: e9 4f fd ff ffjmp     0x804caa7Basic Block 49Opcode: e8 51 cb ff ffcall    sub_8049832Opcode: 8b 85 64 ff ff ffmov     eaxdword [ebp-0x9c {var_a0}]Opcode: 89 04 24mov     dword [esp {var_dc}]eaxOpcode: e8 e3 da ff ffcall    sub_804a7d2Opcode: 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      0x804cd32Basic Block 50Opcode: 80 bd 5f ff ff ff 00cmp     byte [ebp-0xa1 {var_a5}]0x0Opcode: 0f 84 0b 00 00 00je      0x804ccb3Basic Block 51Opcode: e8 9f d1 ff ffcall    sub_8049e12Opcode: 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 8b cf ff ffcall    sub_8049c12Opcode: 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 27 04 00 00call    sub_804d0c2Basic Block 52Opcode: 80 bd 5f ff ff ff 00cmp     byte [ebp-0xa1 {var_a5}]0x0Opcode: 0f 84 0b 00 00 00je      0x804cd4aBasic Block 53Opcode: e8 08 d1 ff ffcall    sub_8049e12Opcode: 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 f4 ce ff ffcall    sub_8049c12Opcode: 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 90 03 00 00call    sub_804d0c2Basic Block 54Opcode: c6 45 ff 00mov     byte [ebp-0x1 {var_5}]0x0Opcode: e9 87 01 00 00jmp     0x804ce43Basic Block 55Opcode: e8 65 d1 ff ffcall    sub_8049e12Opcode: 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     0x804ce43Basic Block 57Opcode: e8 ce d0 ff ffcall    sub_8049e12Opcode: 88 85 3c ff ff ffmov     byte [ebp-0xc4 {var_c8}]al