Function Graph 0
Basic Block 0
Opcode: 55sub_804ba7c:
Opcode: 55push ebp
Opcode: 89 e5mov ebp, esp
Opcode: 56push esi
Opcode: 83 ec 34sub esp, 0x34 {var_3c}
Opcode: 0f b7 45 14movzx eax, word [ebp+0x14 {arg_10}]
Opcode: 66 89 c1mov cx, ax
Opcode: 0f b7 45 10movzx eax, word [ebp+0x10 {arg_c}]
Opcode: 66 89 c2mov dx, ax
Opcode: 8b 45 0cmov eax, dword [ebp+0xc {arg_8}]
Opcode: 8b 75 08mov esi, dword [ebp+0x8 {arg_4}]
Opcode: 89 75 f4mov dword [ebp-0xc {var_10}], esi
Opcode: 89 45 f0mov dword [ebp-0x10 {var_14}], eax
Opcode: 66 89 55 eemov word [ebp-0x12 {var_16}], dx
Opcode: 66 89 4d ecmov word [ebp-0x14 {var_18}], cx
Opcode: 83 7d f4 00cmp dword [ebp-0xc {var_10}], 0x0
Opcode: 74 0fje 0x804baba
Basic Block 1
Opcode: c7 45 f8 ff ff ff ffmov dword [ebp-0x8 {var_c}], 0xffffffff
Opcode: e9 09 01 00 00jmp 0x804bbcf
Basic Block 2
Opcode: 83 7d f0 00cmp dword [ebp-0x10 {var_14}], 0x0
Opcode: 74 09je 0x804baba
Basic Block 3
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 83 c4 34add esp, 0x34 {var_8}
Opcode: 5epop esi
Opcode: 5dpop ebp
Opcode: e9 d0 c4 ff ffjmp 0x80480ac
Basic Block 4
Opcode: 0f b7 45 ecmovzx eax, word [ebp-0x14 {var_18}]
Opcode: 83 f8 00cmp eax, 0x0
Opcode: 75 0cjne 0x804bac6
Basic Block 5
Opcode: a3 28 70 05 08mov dword [data_8057028], eax
Opcode: 89 15 2c 70 05 08mov dword [data_805702c], edx
Opcode: 8b 04 24mov eax, dword [esp {__return_addr}]
Opcode: 31 d2xor edx, edx {0x0}
Opcode: 89 c1mov ecx, eax
Opcode: f7 35 c4 44 05 08div dword [data_80544c4]
Opcode: b8 c8 44 05 08mov eax, data_80544c8
Opcode: c1 e2 03shl edx, 0x3
Opcode: 8d 04 10lea eax, [eax+edx]
Basic Block 6
Opcode: 0f b7 45 eemovzx eax, word [ebp-0x12 {var_16}]
Opcode: 0f b7 4d ecmovzx ecx, word [ebp-0x14 {var_18}]
Opcode: 01 c8add eax, ecx
Opcode: 3d 00 04 00 00cmp eax, 0x400
Opcode: 7e 0cjle 0x804bae3
Basic Block 7
Opcode: 8b 15 2c 70 05 08mov edx, dword [data_805702c]
Opcode: a1 28 70 05 08mov eax, dword [data_8057028]
Opcode: c3retn
Basic Block 8
Opcode: 8b 00mov eax, dword [eax]
Opcode: 83 f8 00cmp eax, 0x0
Opcode: 74 c3je 0x80480a0
Basic Block 9
Opcode: 8b 45 f4mov eax, dword [ebp-0xc {var_10}]
Opcode: 8b 80 88 00 00 00mov eax, dword [eax+0x88]
Opcode: 89 45 e8mov dword [ebp-0x18 {var_1c}], eax
Opcode: 0f b7 45 eemovzx eax, word [ebp-0x12 {var_16}]
Opcode: 0f b7 4d ecmovzx ecx, word [ebp-0x14 {var_18}]
Opcode: 01 c8add eax, ecx
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: e8 be 4c 00 00call sub_80507bf
Opcode: 8b 4d f4mov ecx, dword [ebp-0xc {var_10}]
Opcode: 89 81 88 00 00 00mov dword [ecx+0x88], eax
Opcode: 0f b7 45 eemovzx eax, word [ebp-0x12 {var_16}]
Opcode: 83 f8 00cmp eax, 0x0
Opcode: 7e 6ajle 0x804bb7d
Basic Block 10
Opcode: c7 45 f8 ff ff ff ffmov dword [ebp-0x8 {var_c}], 0xffffffff
Opcode: e9 ec 00 00 00jmp 0x804bbcf
Basic Block 11
Opcode: b8 01 00 00 00mov eax, 0x1
Opcode: bb ad 00 00 00mov ebx, 0xad
Opcode: cd 80int 0x80
Opcode: cd 80{ Does not return }
Basic Block 12
Opcode: eb f0jmp 0x80480cf
Basic Block 13
Opcode: 8b 45 f4mov eax, dword [ebp-0xc {var_10}]
Opcode: 8b 80 88 00 00 00mov eax, dword [eax+0x88]
Opcode: 0f b7 4d eemovzx ecx, word [ebp-0x12 {var_16}]
Opcode: 01 c8add eax, ecx
Opcode: 8b 4d f0mov ecx, dword [ebp-0x10 {var_14}]
Opcode: 0f b7 55 ecmovzx edx, word [ebp-0x14 {var_18}]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: 89 4c 24 04mov dword [esp+0x4 {var_38}], ecx
Opcode: 89 54 24 08mov dword [esp+0x8 {var_34}], edx
Opcode: e8 a1 73 00 00call sub_8052f44
Opcode: 0f b7 4d eemovzx ecx, word [ebp-0x12 {var_16}]
Opcode: 0f b7 55 ecmovzx edx, word [ebp-0x14 {var_18}]
Opcode: 01 d1add ecx, edx
Opcode: 66 89 cemov si, cx
Opcode: 8b 4d f4mov ecx, dword [ebp-0xc {var_10}]
Opcode: 66 89 b1 82 00 00 00mov word [ecx+0x82], si
Opcode: 8b 4d e8mov ecx, dword [ebp-0x18 {var_1c}]
Opcode: 89 0c 24mov dword [esp {var_3c}], ecx
Opcode: 89 45 dcmov dword [ebp-0x24 {var_28}], eax
Opcode: e8 c3 49 00 00call sub_805058b
Opcode: c7 45 f8 00 00 00 00mov dword [ebp-0x8 {var_c}], 0x0
Basic Block 14
Opcode: 83 7d e8 00cmp dword [ebp-0x18 {var_1c}], 0x0
Opcode: 74 62je 0x804bb7b
Basic Block 15
Opcode: 3b 08cmp ecx, dword [eax]
Opcode: 8d 40 04lea eax, [eax+0x4]
Opcode: 74 09je 0x80480df
Basic Block 16
Opcode: eb 00jmp 0x804bb7d
Basic Block 17
Opcode: 8b 45 f4mov eax, dword [ebp-0xc {var_10}]
Opcode: 0f b7 80 82 00 00 00movzx eax, word [eax+0x82]
Opcode: 0f b7 4d eemovzx ecx, word [ebp-0x12 {var_16}]
Opcode: 39 c8cmp eax, ecx
Opcode: 7c 25jl 0x804bb50
Basic Block 18
Opcode: 8b 45 f4mov eax, dword [ebp-0xc {var_10}]
Opcode: 8b 80 88 00 00 00mov eax, dword [eax+0x88]
Opcode: 8b 4d e8mov ecx, dword [ebp-0x18 {var_1c}]
Opcode: 8b 55 f4mov edx, dword [ebp-0xc {var_10}]
Opcode: 0f b7 92 82 00 00 00movzx edx, word [edx+0x82]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: 89 4c 24 04mov dword [esp+0x4 {var_38}], ecx
Opcode: 89 54 24 08mov dword [esp+0x8 {var_34}], edx
Opcode: e8 ce 73 00 00call sub_8052f44
Opcode: 89 45 e0mov dword [ebp-0x20 {var_24}], eax
Basic Block 19
Opcode: 8b 45 f4mov eax, dword [ebp-0xc {var_10}]
Opcode: 8b 80 88 00 00 00mov eax, dword [eax+0x88]
Opcode: 8b 4d e8mov ecx, dword [ebp-0x18 {var_1c}]
Opcode: 0f b7 55 eemovzx edx, word [ebp-0x12 {var_16}]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: 89 4c 24 04mov dword [esp+0x4 {var_38}], ecx
Opcode: 89 54 24 08mov dword [esp+0x8 {var_34}], edx
Opcode: e8 f9 73 00 00call sub_8052f44
Opcode: 89 45 e4mov dword [ebp-0x1c {var_20}], eax
Opcode: eb 29jmp 0x804bb79
Basic Block 20
Opcode: eb 00jmp 0x804bb7b