Function Graph 0Basic Block 0Opcode: 55sub_804aa29:Opcode: 55push    ebpOpcode: 89 e5mov     ebp, espOpcode: 53push    ebxOpcode: 57push    ediOpcode: 56push    esiOpcode: 83 ec 4csub     esp, 0x4c {var_5c}Opcode: 0f b7 45 14movzx   eax, word [ebp+0x14 {arg_10}]Opcode: 66 89 c1mov     cx, axOpcode: 0f b7 45 0cmovzx   eax, word [ebp+0xc {arg_8}]Opcode: 66 89 c2mov     dx, axOpcode: 8a 5d 18mov     bl, byte [ebp+0x18 {arg_14}]Opcode: 8b 45 10mov     eax, dword [ebp+0x10 {arg_c}]Opcode: 8b 75 08mov     esi, dword [ebp+0x8 {arg_4}]Opcode: 89 75 ecmov     dword [ebp-0x14 {var_18}], esiOpcode: 66 89 55 eamov     word [ebp-0x16 {var_1a}], dxOpcode: 89 45 e4mov     dword [ebp-0x1c {var_20}], eaxOpcode: 66 89 4d e2mov     word [ebp-0x1e {var_22}], cxOpcode: 88 5d e1mov     byte [ebp-0x1f {var_23}], blOpcode: 8b 45 ecmov     eax, dword [ebp-0x14 {var_18}]Opcode: 0f b7 75 eamovzx   esi, word [ebp-0x16 {var_1a}]Opcode: 81 e6 fe ff 00 00and     esi, 0xfffeOpcode: 66 89 f1mov     cx, siOpcode: 66 89 4d eamov     word [ebp-0x16 {var_1a}], cxOpcode: 83 7d e4 00cmp     dword [ebp-0x1c {var_20}], 0x0Opcode: 89 45 d0mov     dword [ebp-0x30 {var_34}], eaxOpcode: 75 09jne     0x804aa80Basic Block 1Opcode: b8 00 02 00 00mov     eax, 0x200Opcode: 0f b7 4d e2movzx   ecx, word [ebp-0x1e {var_22}]Opcode: 89 45 ccmov     dword [ebp-0x34 {var_38}], eaxOpcode: 89 c8mov     eax, ecxOpcode: 99cdq     Opcode: 8b 4d ccmov     ecx, dword [ebp-0x34 {var_38}]  {0x200}Opcode: f7 f9idiv    ecxOpcode: 83 fa 00cmp     edx, 0x0Opcode: 74 09je      0x804aaa2Basic Block 2Opcode: c6 45 f3 00mov     byte [ebp-0xd {var_11}], 0x0Opcode: e9 56 01 00 00jmp     0x804abd6Basic Block 3Opcode: 66 8b 45 e2mov     ax, word [ebp-0x1e {var_22}]Opcode: 66 89 45 demov     word [ebp-0x22 {var_26}], axOpcode: 66 c7 45 dc 00 00mov     word [ebp-0x24 {var_28}], 0x0Basic Block 4Opcode: c6 45 f3 00mov     byte [ebp-0xd {var_11}], 0x0Opcode: e9 34 01 00 00jmp     0x804abd6Basic Block 5Opcode: 8a 45 f3mov     al, byte [ebp-0xd {var_11}]Opcode: 24 01and     al, 0x1Opcode: 0f b6 c0movzx   eax, alOpcode: 83 c4 4cadd     esp, 0x4c {var_10}Opcode: 5epop     esiOpcode: 5fpop     ediOpcode: 5bpop     ebxOpcode: 5dpop     ebpOpcode: a3 f8 36 05 08mov     dword [data_80536f8], eaxOpcode: 89 15 fc 36 05 08mov     dword [data_80536fc], edxOpcode: 8b 04 24mov     eax, dword [esp {__return_addr}]Opcode: 31 d2xor     edx, edx  {0x0}Opcode: 89 c1mov     ecx, eaxOpcode: f7 35 e4 1c 05 08div     dword [data_8051ce4]Opcode: b8 e8 1c 05 08mov     eax, data_8051ce8Opcode: c1 e2 03shl     edx, 0x3Opcode: 8d 04 10lea     eax, [eax+edx]Basic Block 6Opcode: c6 45 f3 01mov     byte [ebp-0xd {var_11}], 0x1Basic Block 7Opcode: b8 00 02 00 00mov     eax, 0x200Opcode: 0f b7 4d eamovzx   ecx, word [ebp-0x16 {var_1a}]Opcode: 0f b7 55 dcmovzx   edx, word [ebp-0x24 {var_28}]Opcode: 01 d1add     ecx, edxOpcode: 89 45 c8mov     dword [ebp-0x38 {var_3c}], eaxOpcode: 89 c8mov     eax, ecxOpcode: 99cdq     Opcode: 8b 4d c8mov     ecx, dword [ebp-0x38 {var_3c}]  {0x200}Opcode: f7 f9idiv    ecxOpcode: 66 89 c6mov     si, axOpcode: 66 89 75 damov     word [ebp-0x26 {var_2a}], siOpcode: 0f b7 45 eamovzx   eax, word [ebp-0x16 {var_1a}]Opcode: 0f b7 55 dcmovzx   edx, word [ebp-0x24 {var_28}]Opcode: 01 d0add     eax, edxOpcode: 99cdq     Opcode: f7 f9idiv    ecxOpcode: 66 89 d6mov     si, dxOpcode: 66 89 75 d8mov     word [ebp-0x28 {var_2c}], siOpcode: 66 8b 75 demov     si, word [ebp-0x22 {var_26}]Opcode: 66 89 75 d6mov     word [ebp-0x2a {var_2e}], siOpcode: 0f b7 45 demovzx   eax, word [ebp-0x22 {var_26}]Opcode: 0f b7 55 d8movzx   edx, word [ebp-0x28 {var_2c}]Opcode: 29 d1sub     ecx, edxOpcode: 39 c8cmp     eax, ecxOpcode: 7e 12jle     0x804ab1aBasic Block 8Opcode: 8b 15 fc 36 05 08mov     edx, dword [data_80536fc]Opcode: a1 f8 36 05 08mov     eax, dword [data_80536f8]Opcode: c3retn    Basic Block 9Opcode: 8b 00mov     eax, dword [eax]Opcode: 83 f8 00cmp     eax, 0x0Opcode: 0f 84 86 d4 ff ffje      0x80480a0Basic Block 10Opcode: 0f b7 45 damovzx   eax, word [ebp-0x26 {var_2a}]Opcode: 8b 4d d0mov     ecx, dword [ebp-0x30 {var_34}]Opcode: 83 3c c1 00cmp     dword [ecx+eax*8], 0x0Opcode: 75 3djne     0x804ab64Basic Block 11Opcode: b8 00 02 00 00mov     eax, 0x200Opcode: 0f b7 4d d8movzx   ecx, word [ebp-0x28 {var_2c}]Opcode: 29 c8sub     eax, ecxOpcode: 66 89 c2mov     dx, axOpcode: 66 89 55 d6mov     word [ebp-0x2a {var_2e}], dxBasic Block 12Opcode: b8 01 00 00 00mov     eax, 0x1Opcode: bb ad 00 00 00mov     ebx, 0xadOpcode: cd 80int     0x80Opcode: cd 80{ Does not return }Basic Block 13Opcode: eb ecjmp     0x804ac08Basic Block 14Opcode: 0f b6 45 e1movzx   eax, byte [ebp-0x1f {var_23}]Opcode: 0f b7 4d damovzx   ecx, word [ebp-0x26 {var_2a}]Opcode: 8b 55 d0mov     edx, dword [ebp-0x30 {var_34}]Opcode: 0f b6 74 ca 04movzx   esi, byte [edx+ecx*8+0x4]Opcode: 09 c6or      esi, eaxOpcode: 89 f0mov     eax, esiOpcode: 88 c3mov     bl, alOpcode: 88 5c ca 04mov     byte [edx+ecx*8+0x4], blOpcode: 0f b7 45 damovzx   eax, word [ebp-0x26 {var_2a}]Opcode: 8b 04 c2mov     eax, dword [edx+eax*8]Opcode: 0f b7 4d d8movzx   ecx, word [ebp-0x28 {var_2c}]Opcode: 01 c8add     eax, ecxOpcode: 8b 4d e4mov     ecx, dword [ebp-0x1c {var_20}]Opcode: 0f b7 75 dcmovzx   esi, word [ebp-0x24 {var_28}]Opcode: 01 f1add     ecx, esiOpcode: 0f b7 75 d6movzx   esi, word [ebp-0x2a {var_2e}]Opcode: 89 04 24mov     dword [esp {var_5c}], eaxOpcode: 89 4c 24 04mov     dword [esp+0x4 {var_58}], ecxOpcode: 89 74 24 08mov     dword [esp+0x8 {var_54}], esiOpcode: e8 1f 52 00 00call    sub_804fdc7Opcode: 0f b7 4d d6movzx   ecx, word [ebp-0x2a {var_2e}]Opcode: 0f b7 55 dcmovzx   edx, word [ebp-0x24 {var_28}]Opcode: 01 caadd     edx, ecxOpcode: 66 89 d7mov     di, dxOpcode: 66 89 7d dcmov     word [ebp-0x24 {var_28}], diOpcode: 0f b7 4d d6movzx   ecx, word [ebp-0x2a {var_2e}]Opcode: 0f b7 55 demovzx   edx, word [ebp-0x22 {var_26}]Opcode: 29 casub     edx, ecxOpcode: 66 89 d7mov     di, dxOpcode: 66 89 7d demov     word [ebp-0x22 {var_26}], diOpcode: 89 45 bcmov     dword [ebp-0x44 {var_48}], eaxOpcode: e9 de fe ff ffjmp     0x804aab0Basic Block 15Opcode: b8 00 02 00 00mov     eax, 0x200Opcode: c7 04 24 00 02 00 00mov     dword [esp {var_5c}], 0x200Opcode: 89 45 c4mov     dword [ebp-0x3c {var_40}], eaxOpcode: e8 19 5c 00 00call    sub_8050754Opcode: b9 00 02 00 00mov     ecx, 0x200Opcode: 0f b7 55 damovzx   edx, word [ebp-0x26 {var_2a}]Opcode: 8b 75 d0mov     esi, dword [ebp-0x30 {var_34}]Opcode: 89 04 d6mov     dword [esi+edx*8], eaxOpcode: 0f b7 45 damovzx   eax, word [ebp-0x26 {var_2a}]Opcode: 8b 04 c6mov     eax, dword [esi+eax*8]Opcode: 89 04 24mov     dword [esp {var_5c}], eaxOpcode: c7 44 24 04 00 02 00 00mov     dword [esp+0x4 {var_58}], 0x200Opcode: 89 4d c0mov     dword [ebp-0x40 {var_44}], ecxOpcode: e8 bf 55 00 00call    sub_8050123Basic Block 16Opcode: 3b 08cmp     ecx, dword [eax]Opcode: 8d 40 04lea     eax, [eax+0x4]Opcode: 74 0dje      0x804ac1cBasic Block 17Opcode: 0f b7 45 demovzx   eax, word [ebp-0x22 {var_26}]Opcode: 83 f8 00cmp     eax, 0x0Opcode: 0f 8e 15 01 00 00jle     0x804abd2