Function Graph 0Basic Block 0Opcode: 55sub_804a965:Opcode: 55push    ebpOpcode: 89 e5mov     ebp, espOpcode: 83 ec 48sub     esp, 0x48 {var_4c}Opcode: 8b 45 0cmov     eax, dword [ebp+0xc {arg_8}]Opcode: 8b 4d 08mov     ecx, dword [ebp+data_8 {arg_4}]Opcode: 89 4d f8mov     dword [ebp-0x8 {var_c}], ecxOpcode: 89 45 f4mov     dword [ebp-0xc {var_10}], eaxOpcode: 89 45 f0mov     dword [ebp-0x10 {var_14}], eaxOpcode: 8b 45 f4mov     eax, dword [ebp-0xc {var_10}]Opcode: 05 00 04 00 00add     eax, data_400Opcode: 05 fb ff ff ffadd     eax, 0xfffffffbOpcode: 89 45 ecmov     dword [ebp-0x14 {var_18}], eaxOpcode: 81 7d f8 00 00 00 00cmp     dword [ebp-0x8 {var_c}], data_0Opcode: 75 b6jne     0x804a949Basic Block 1Opcode: e9 60 fe ff ffjmp     0x804a7aeBasic Block 2Opcode: c7 45 fc 00 00 00 00mov     dword [ebp-0x4 {var_8}], data_0Opcode: e9 c9 fa ff ffjmp     0x804a468Basic Block 3Opcode: b0 00mov     al, 0x0Opcode: 8b 4d f8mov     ecx, dword [ebp-0x8 {var_c}]Opcode: 0f be 09movsx   ecx, byte [ecx]Opcode: 81 f9 00 00 00 00cmp     ecx, data_0Opcode: 88 45 cbmov     byte [ebp-0x35 {var_39}], alOpcode: 74 e4je      0x804a7a5Basic Block 4Opcode: 8b 45 fcmov     eax, dword [ebp-0x4 {var_8}]Opcode: 83 c4 48add     esp, 0x48 {var_4}Opcode: 5dpop     ebpOpcode: e9 7b dc ff ffjmp     0x80480efBasic Block 5Opcode: 8a 45 cbmov     al, byte [ebp-0x35 {var_39}]Opcode: a8 01test    al, 0x1Opcode: 75 31jne     0x804a7ddBasic Block 6Opcode: 8b 45 f8mov     eax, dword [ebp-0x8 {var_c}]Opcode: 0f be 00movsx   eax, byte [eax]Opcode: 89 04 24mov     dword [esp {var_4c}], eaxOpcode: e8 f9 00 00 00call    sub_804a8c8Opcode: 90nop     Opcode: 3d 00 00 00 00cmp     eax, data_0Opcode: 0f 95 c1setne   clOpcode: 88 4d cbmov     byte [ebp-0x35 {var_39}], clOpcode: eb c8jmp     0x804a7a5Basic Block 7Opcode: 81 24 24 ff ff ff 7fand     dword [esp {__return_addr}], 0x7fffffffOpcode: 8b 0c 24mov     ecx, dword [esp {__return_addr}]Opcode: 80 39 90cmp     byte [ecx], 0x90Opcode: 0f 85 9d 06 00 00jne     0x804879fBasic Block 8Opcode: 8b 45 f8mov     eax, dword [ebp-0x8 {var_c}]Opcode: 05 01 00 00 00add     eax, data_1Opcode: 89 45 f8mov     dword [ebp-0x8 {var_c}], eaxOpcode: eb c4jmp     0x804a7aeBasic Block 9Opcode: eb 8djmp     0x804a73bBasic Block 10Opcode: 59pop     ecxOpcode: 80 79 ff f4cmp     byte [ecx-0x1], 0xf4Opcode: 75 08jne     0x80487aeBasic Block 11Opcode: c3retn    Basic Block 12Opcode: c7 45 e0 00 00 00 00mov     dword [ebp-0x20 {var_24}], data_0Opcode: c7 45 e4 00 00 00 00mov     dword [ebp-0x1c {var_20}], data_0Opcode: c7 45 d8 00 00 00 00mov     dword [ebp-0x28 {var_2c}], data_0Opcode: c7 45 dc 00 00 00 00mov     dword [ebp-0x24 {var_28}], data_0Opcode: c7 45 d0 00 00 00 00mov     dword [ebp-0x30 {var_34}], data_0Opcode: c7 45 cc 00 00 00 00mov     dword [ebp-0x34 {var_38}], data_0Opcode: e9 c6 fd ff ffjmp     0x804a530Basic Block 13Opcode: b8 01 00 00 00mov     eax, data_1Opcode: cd 80int     0x80Opcode: cd 80{ Does not return }Basic Block 14Opcode: 81 e1 ff ff ff 7fand     ecx, 0x7fffffffOpcode: ff e1jmp     ecxBasic Block 15Opcode: 8b 45 f8mov     eax, dword [ebp-0x8 {var_c}]Opcode: 0f be 00movsx   eax, byte [eax]Opcode: 85 c0test    eax, eaxOpcode: 74 daje      0x804a514Basic Block 16Opcode: 81 7d e4 00 00 00 00cmp     dword [ebp-0x1c {var_20}], data_0Opcode: 74 f5je      0x804a512Basic Block 17Opcode: 8b 45 f8mov     eax, dword [ebp-0x8 {var_c}]Opcode: 89 c1mov     ecx, eaxOpcode: 81 c1 01 00 00 00add     ecx, data_1Opcode: 89 4d f8mov     dword [ebp-0x8 {var_c}], ecxOpcode: 8a 10mov     dl, byte [eax]Opcode: 88 55 ebmov     byte [ebp-0x15 {var_19}], dlOpcode: 8b 45 f0mov     eax, dword [ebp-0x10 {var_14}]Opcode: 3b 45 eccmp     eax, dword [ebp-0x14 {var_18}]Opcode: 0f 93 c2setae   dlOpcode: 80 e2 01and     dl, 0x1Opcode: 0f b6 c2movzx   eax, dlOpcode: 89 45 d4mov     dword [ebp-0x2c {var_30}], eaxOpcode: 85 c0test    eax, eaxOpcode: 75 1cjne     0x804a57fBasic Block 18Opcode: eb bajmp     0x804a4ceBasic Block 19Opcode: 8b 45 f0mov     eax, dword [ebp-0x10 {var_14}]Opcode: 89 c1mov     ecx, eaxOpcode: 81 c1 01 00 00 00add     ecx, data_1Opcode: 89 4d f0mov     dword [ebp-0x10 {var_14}], ecxOpcode: c6 00 61mov     byte [eax], 0x61Opcode: eb e2jmp     0x804a512Basic Block 20Opcode: 0f be 45 ebmovsx   eax, byte [ebp-0x15 {var_19}]Opcode: 3d 41 00 00 00cmp     eax, 0x41Opcode: 0f 85 7d 01 00 00jne     0x804a70bBasic Block 21Opcode: 81 7d cc 00 00 00 00cmp     dword [ebp-0x34 {var_38}], data_0Opcode: 7e 13jle     0x804a57fBasic Block 22Opcode: b0 00mov     al, 0x0Opcode: 8b 4d d8mov     ecx, dword [ebp-0x28 {var_2c}]Opcode: 89 camov     edx, ecxOpcode: 81 c2 ff ff ff ffadd     edx, 0xffffffffOpcode: 89 55 d8mov     dword [ebp-0x28 {var_2c}], edxOpcode: 81 f9 00 00 00 00cmp     ecx, data_0Opcode: 88 45 camov     byte [ebp-0x36 {var_3a}], alOpcode: 7e dcjle     0x804a4c5Basic Block 23Opcode: 0f be 45 ebmovsx   eax, byte [ebp-0x15 {var_19}]Opcode: 3d 61 00 00 00cmp     eax, 0x61Opcode: 75 b7jne     0x804a6cdBasic Block 24Opcode: c7 45 cc 00 00 00 00mov     dword [ebp-0x34 {var_38}], data_0Opcode: 81 7d e4 00 00 00 00cmp     dword [ebp-0x1c {var_20}], data_0Opcode: 75 0bjne     0x804a5a9Basic Block 25Opcode: 8a 45 ebmov     al, byte [ebp-0x15 {var_19}]Opcode: 8b 4d f0mov     ecx, dword [ebp-0x10 {var_14}]Opcode: 89 camov     edx, ecxOpcode: 81 c2 01 00 00 00add     edx, data_1Opcode: 89 55 f0mov     dword [ebp-0x10 {var_14}], edxOpcode: 88 01mov     byte [ecx], alBasic Block 26Opcode: 8a 45 camov     al, byte [ebp-0x36 {var_3a}]Opcode: a8 01test    al, 0x1Opcode: 75 33jne     0x804a4ffBasic Block 27Opcode: 8b 45 f0mov     eax, dword [ebp-0x10 {var_14}]Opcode: 8b 4d ecmov     ecx, dword [ebp-0x14 {var_18}]Opcode: 81 c1 fe ff ff ffadd     ecx, 0xfffffffeOpcode: 39 c8cmp     eax, ecxOpcode: 0f 92 c2setb    dlOpcode: 88 55 camov     byte [ebp-0x36 {var_3a}], dlOpcode: eb c6jmp     0x804a4c5Basic Block 28Opcode: 0f be 45 ebmovsx   eax, byte [ebp-0x15 {var_19}]Opcode: 3d 42 00 00 00cmp     eax, 0x42Opcode: 75 9fjne     0x804a677Basic Block 29Opcode: 8b 45 ccmov     eax, dword [ebp-0x34 {var_38}]Opcode: 05 01 00 00 00add     eax, data_1Opcode: 89 45 ccmov     dword [ebp-0x34 {var_38}], eaxOpcode: 83 f8 01cmp     eax, data_1Opcode: 7f cfjg      0x804a6f5Basic Block 30Opcode: e9 5d 01 00 00jmp     0x804a70bBasic Block 31Opcode: c7 45 e4 01 00 00 00mov     dword [ebp-0x1c {var_20}], data_1Opcode: 83 45 ec ffadd     dword [ebp-0x14 {var_18}], 0xffffffffBasic Block 32Opcode: 8b 45 f0mov     eax, dword [ebp-0x10 {var_14}]Opcode: 89 c1mov     ecx, eaxOpcode: 81 c1 01 00 00 00add     ecx, data_1Opcode: 89 4d f0mov     dword [ebp-0x10 {var_14}], ecxOpcode: c6 00 62mov     byte [eax], 0x62Opcode: eb bcjmp     0x804a4ceBasic Block 33Opcode: eb dbjmp     0x804a4a9Basic Block 34Opcode: 0f be 45 ebmovsx   eax, byte [ebp-0x15 {var_19}]Opcode: 3d 62 00 00 00cmp     eax, 0x62Opcode: 75 24jne     0x804a6a6Basic Block 35Opcode: 83 45 dc 01add     dword [ebp-0x24 {var_28}], data_1Opcode: 81 7d d4 00 00 00 00cmp     dword [ebp-0x2c {var_30}], data_0Opcode: 75 e6jne     0x804a6cbBasic Block 36Opcode: 81 7d e4 00 00 00 00cmp     dword [ebp-0x1c {var_20}], data_0Opcode: 74 f5je      0x804a6f3Basic Block 37Opcode: 8a 45 ebmov     al, byte [ebp-0x15 {var_19}]Opcode: 8b 4d f0mov     ecx, dword [ebp-0x10 {var_14}]Opcode: 89 camov     edx, ecxOpcode: 81 c2 01 00 00 00add     edx, data_1Opcode: 89 55 f0mov     dword [ebp-0x10 {var_14}], edxOpcode: 88 01mov     byte [ecx], alOpcode: eb bajmp     0x804a6f5Basic Block 38Opcode: 81 7d e0 00 00 00 00cmp     dword [ebp-0x20 {var_24}], data_0Opcode: 74 dbje      0x804a48dBasic Block 39Opcode: 0f be 45 ebmovsx   eax, byte [ebp-0x15 {var_19}]Opcode: 3d 62 00 00 00cmp     eax, 0x62Opcode: 75 18jne     0x804a6c9Basic Block 40Opcode: 81 7d dc 00 00 00 00cmp     dword [ebp-0x24 {var_28}], data_0Opcode: 7e 1bjle     0x804a6a6Basic Block 41Opcode: eb aajmp     0x804a677Basic Block 42Opcode: 83 45 d8 01add     dword [ebp-0x28 {var_2c}], data_1Opcode: 83 45 ec ffadd     dword [ebp-0x14 {var_18}], 0xffffffffOpcode: 83 45 cc 01add     dword [ebp-0x34 {var_38}], data_1Opcode: eb d8jmp     0x804a6cbBasic Block 43Opcode: eb d8jmp     0x804a6cdBasic Block 44Opcode: c7 45 e4 00 00 00 00mov     dword [ebp-0x1c {var_20}], data_0Opcode: 83 45 ec 01add     dword [ebp-0x14 {var_18}], data_1Opcode: eb e8jmp     0x804a6f3Basic Block 45Opcode: 81 7d d0 00 00 00 00cmp     dword [ebp-0x30 {var_34}], data_0Opcode: 74 deje      0x804a474Basic Block 46Opcode: 8b 45 f0mov     eax, dword [ebp-0x10 {var_14}]Opcode: 89 c1mov     ecx, eaxOpcode: 81 c1 01 00 00 00add     ecx, data_1Opcode: 89 4d f0mov     dword [ebp-0x10 {var_14}], ecxOpcode: c6 00 63mov     byte [eax], 0x63Opcode: eb c8jmp     0x804a48dBasic Block 47Opcode: eb 85jmp     0x804a650Basic Block 48Opcode: 81 7d d4 00 00 00 00cmp     dword [ebp-0x2c {var_30}], data_0Opcode: 75 0djne     0x804a6c7Basic Block 49Opcode: 83 45 dc ffadd     dword [ebp-0x24 {var_28}], 0xffffffffOpcode: 83 45 cc ffadd     dword [ebp-0x34 {var_38}], 0xffffffffOpcode: 81 7d d4 00 00 00 00cmp     dword [ebp-0x2c {var_30}], data_0Opcode: 75 d6jne     0x804a672Basic Block 50Opcode: 8b 45 f0mov     eax, dword [ebp-0x10 {var_14}]Opcode: 89 c1mov     ecx, eaxOpcode: 81 c1 01 00 00 00add     ecx, data_1Opcode: 89 4d f0mov     dword [ebp-0x10 {var_14}], ecxOpcode: c6 00 00mov     byte [eax], 0x0Opcode: 8b 45 f4mov     eax, dword [ebp-0xc {var_10}]Opcode: 89 45 fcmov     dword [ebp-0x4 {var_8}], eaxOpcode: eb dbjmp     0x804a468Basic Block 51Opcode: 8b 45 f0mov     eax, dword [ebp-0x10 {var_14}]Opcode: 89 c1mov     ecx, eaxOpcode: 81 c1 01 00 00 00add     ecx, data_1Opcode: 89 4d f0mov     dword [ebp-0x10 {var_14}], ecxOpcode: c6 00 44mov     byte [eax], 0x44Opcode: eb cbjmp     0x804a474Basic Block 52Opcode: 0f be 45 ebmovsx   eax, byte [ebp-0x15 {var_19}]Opcode: 3d 43 00 00 00cmp     eax, 0x43Opcode: 75 d4jne     0x804a62fBasic Block 53Opcode: eb 00jmp     0x804a6c9Basic Block 54Opcode: 81 7d cc 00 00 00 00cmp     dword [ebp-0x34 {var_38}], data_0Opcode: 7e 04jle     0x804a6c7Basic Block 55Opcode: e9 b9 fe ff ffjmp     0x804a530Basic Block 56Opcode: 83 45 d8 ffadd     dword [ebp-0x28 {var_2c}], 0xffffffffOpcode: 83 45 ec 01add     dword [ebp-0x14 {var_18}], data_1Opcode: eb ccjmp     0x804a672Basic Block 57Opcode: 0f be 45 ebmovsx   eax, byte [ebp-0x15 {var_19}]Opcode: 3d 63 00 00 00cmp     eax, 0x63Opcode: 75 d4jne     0x804a60eBasic Block 58Opcode: 81 7d e0 00 00 00 00cmp     dword [ebp-0x20 {var_24}], data_0Opcode: 75 cbjne     0x804a62fBasic Block 59Opcode: 83 45 f0 ffadd     dword [ebp-0x10 {var_14}], 0xffffffffBasic Block 60Opcode: 0f be 45 ebmovsx   eax, byte [ebp-0x15 {var_19}]Opcode: 3d 44 00 00 00cmp     eax, 0x44Opcode: 75 97jne     0x804a5b0Basic Block 61Opcode: 81 7d e0 00 00 00 00cmp     dword [ebp-0x20 {var_24}], data_0Opcode: 74 cbje      0x804a60eBasic Block 62Opcode: c7 45 e0 01 00 00 00mov     dword [ebp-0x20 {var_24}], data_1Opcode: eb c2jmp     0x804a62fBasic Block 63Opcode: 0f be 45 ebmovsx   eax, byte [ebp-0x15 {var_19}]Opcode: 3d 46 00 00 00cmp     eax, 0x46Opcode: 75 35jne     0x804a5f0Basic Block 64Opcode: 81 7d d0 00 00 00 00cmp     dword [ebp-0x30 {var_34}], data_0Opcode: 0f 95 c0setne   alOpcode: 34 01xor     al, 0x1Opcode: 24 01and     al, 0x1Opcode: 0f b6 c8movzx   ecx, alOpcode: 89 4d d0mov     dword [ebp-0x30 {var_34}], ecxOpcode: eb 81jmp     0x804a5b0Basic Block 65Opcode: c7 45 e0 00 00 00 00mov     dword [ebp-0x20 {var_24}], data_0Opcode: 83 45 ec 01add     dword [ebp-0x14 {var_18}], data_1Opcode: eb bejmp     0x804a60eBasic Block 66Opcode: 0f be 45 ebmovsx   eax, byte [ebp-0x15 {var_19}]Opcode: 3d 47 00 00 00cmp     eax, 0x47Opcode: 75 72jne     0x804a66dBasic Block 67Opcode: 81 7d d4 00 00 00 00cmp     dword [ebp-0x2c {var_30}], data_0Opcode: 75 2cjne     0x804a5f0Basic Block 68Opcode: e9 be fe ff ffjmp     0x804a530Basic Block 69Opcode: 8b 45 f8mov     eax, dword [ebp-0x8 {var_c}]Opcode: 0f be 00movsx   eax, byte [eax]Opcode: 85 c0test    eax, eaxOpcode: 74 04je      0x804a609Basic Block 70Opcode: 8b 45 f8mov     eax, dword [ebp-0x8 {var_c}]Opcode: 0f be 00movsx   eax, byte [eax]Opcode: 85 c0test    eax, eaxOpcode: 74 e0je      0x804a5aeBasic Block 71Opcode: e9 22 ff ff ffjmp     0x804a530Basic Block 72Opcode: 83 45 f8 01add     dword [ebp-0x8 {var_c}], data_1Basic Block 73Opcode: eb 80jmp     0x804a530Basic Block 74Opcode: 8b 45 f8mov     eax, dword [ebp-0x8 {var_c}]Opcode: 89 c1mov     ecx, eaxOpcode: 81 c1 01 00 00 00add     ecx, data_1Opcode: 89 4d f8mov     dword [ebp-0x8 {var_c}], ecxOpcode: 8a 10mov     dl, byte [eax]Opcode: 8b 45 f0mov     eax, dword [ebp-0x10 {var_14}]Opcode: 89 c1mov     ecx, eaxOpcode: 81 c1 01 00 00 00add     ecx, data_1Opcode: 89 4d f0mov     dword [ebp-0x10 {var_14}], ecxOpcode: 88 10mov     byte [eax], dlOpcode: eb bejmp     0x804a5ae