Function Graph 0
Basic Block 0
Opcode: 55sub_80486e7:
Opcode: 55push ebp
Opcode: 89 e5mov ebp, esp
Opcode: 56push esi
Opcode: 83 ec 64sub esp, 0x64 {var_6c}
Opcode: 8b 45 08mov eax, dword [ebp+0x8 {arg_4}]
Opcode: 89 45 f8mov dword [ebp-0x8 {var_c}], eax
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 89 04 24mov dword [esp {var_6c}], eax
Opcode: e8 c2 27 00 00call sub_804aec1
Opcode: 83 f8 00cmp eax, 0x0
Opcode: 74 05je 0x8048709
Basic Block 1
Opcode: b8 10 00 00 00mov eax, 0x10
Opcode: c7 04 24 10 00 00 00mov dword [esp {var_6c}], 0x10
Opcode: 89 45 ecmov dword [ebp-0x14 {var_18}], eax
Opcode: e8 a2 80 00 00call sub_80507bf
Opcode: 89 45 f4mov dword [ebp-0xc {var_10}], eax
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 8b 40 08mov eax, dword [eax+0x8]
Opcode: 0f b7 00movzx eax, word [eax]
Opcode: 83 c0 02add eax, 0x2
Opcode: 8b 4d f4mov ecx, dword [ebp-0xc {var_10}]
Opcode: 89 41 04mov dword [ecx+0x4], eax
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 8b 40 04mov eax, dword [eax+0x4]
Opcode: 0f b7 00movzx eax, word [eax]
Opcode: 83 c0 02add eax, 0x2
Opcode: 8b 4d f4mov ecx, dword [ebp-0xc {var_10}]
Opcode: 8b 51 04mov edx, dword [ecx+0x4]
Opcode: 01 c2add edx, eax
Opcode: 89 51 04mov dword [ecx+0x4], edx
Opcode: 8b 45 f4mov eax, dword [ebp-0xc {var_10}]
Opcode: 8b 48 04mov ecx, dword [eax+0x4]
Opcode: 83 c1 0fadd ecx, 0xf
Opcode: 89 48 04mov dword [eax+0x4], ecx
Opcode: 8b 45 f4mov eax, dword [ebp-0xc {var_10}]
Opcode: 81 78 04 00 10 00 00cmp dword [eax+0x4], 0x1000
Opcode: 76 24jbe 0x8048785
Basic Block 2
Opcode: e9 9b 02 00 00jmp 0x80489a4
Basic Block 3
Opcode: 8b 45 f4mov eax, dword [ebp-0xc {var_10}]
Opcode: 8b 40 04mov eax, dword [eax+0x4]
Opcode: 89 04 24mov dword [esp {var_6c}], eax
Opcode: e8 2c 80 00 00call sub_80507bf
Opcode: b9 04 00 00 00mov ecx, 0x4
Opcode: 8b 55 f4mov edx, dword [ebp-0xc {var_10}]
Opcode: 89 42 08mov dword [edx+0x8], eax
Opcode: 8b 45 f4mov eax, dword [ebp-0xc {var_10}]
Opcode: 8b 40 08mov eax, dword [eax+0x8]
Opcode: 89 45 f0mov dword [ebp-0x10 {var_14}], eax
Opcode: 8b 45 f0mov eax, dword [ebp-0x10 {var_14}]
Opcode: 8b 55 f8mov edx, dword [ebp-0x8 {var_c}]
Opcode: 8b 12mov edx, dword [edx]
Opcode: 89 04 24mov dword [esp {var_6c}], eax
Opcode: 89 54 24 04mov dword [esp+0x4 {var_68}], edx
Opcode: c7 44 24 08 04 00 00 00mov dword [esp+0x8 {var_64}], 0x4
Opcode: 89 4d e4mov dword [ebp-0x1c {var_20}], ecx
Opcode: e8 7e a7 00 00call sub_8052f44
Opcode: b9 01 00 00 00mov ecx, 0x1
Opcode: 8b 55 f0mov edx, dword [ebp-0x10 {var_14}]
Opcode: 83 c2 04add edx, 0x4
Opcode: 89 55 f0mov dword [ebp-0x10 {var_14}], edx
Opcode: 8b 55 f0mov edx, dword [ebp-0x10 {var_14}]
Opcode: 8b 75 f8mov esi, dword [ebp-0x8 {var_c}]
Opcode: 8b 36mov esi, dword [esi]
Opcode: 83 c6 04add esi, 0x4
Opcode: 89 14 24mov dword [esp {var_6c}], edx
Opcode: 89 74 24 04mov dword [esp+0x4 {var_68}], esi
Opcode: c7 44 24 08 01 00 00 00mov dword [esp+0x8 {var_64}], 0x1
Opcode: 89 45 e0mov dword [ebp-0x20 {var_24}], eax
Opcode: 89 4d dcmov dword [ebp-0x24 {var_28}], ecx
Opcode: e8 4b a7 00 00call sub_8052f44
Opcode: b9 01 00 00 00mov ecx, 0x1
Opcode: 8b 55 f0mov edx, dword [ebp-0x10 {var_14}]
Opcode: 83 c2 01add edx, 0x1
Opcode: 89 55 f0mov dword [ebp-0x10 {var_14}], edx
Opcode: 8b 55 f0mov edx, dword [ebp-0x10 {var_14}]
Opcode: 8b 75 f8mov esi, dword [ebp-0x8 {var_c}]
Opcode: 8b 36mov esi, dword [esi]
Opcode: 83 c6 05add esi, 0x5
Opcode: 89 14 24mov dword [esp {var_6c}], edx
Opcode: 89 74 24 04mov dword [esp+0x4 {var_68}], esi
Opcode: c7 44 24 08 01 00 00 00mov dword [esp+0x8 {var_64}], 0x1
Opcode: 89 45 d8mov dword [ebp-0x28 {var_2c}], eax
Opcode: 89 4d d4mov dword [ebp-0x2c {var_30}], ecx
Opcode: e8 18 a7 00 00call sub_8052f44
Opcode: b9 01 00 00 00mov ecx, 0x1
Opcode: 8b 55 f0mov edx, dword [ebp-0x10 {var_14}]
Opcode: 83 c2 01add edx, 0x1
Opcode: 89 55 f0mov dword [ebp-0x10 {var_14}], edx
Opcode: 8b 55 f0mov edx, dword [ebp-0x10 {var_14}]
Opcode: 8b 75 f8mov esi, dword [ebp-0x8 {var_c}]
Opcode: 8b 36mov esi, dword [esi]
Opcode: 83 c6 06add esi, 0x6
Opcode: 89 14 24mov dword [esp {var_6c}], edx
Opcode: 89 74 24 04mov dword [esp+0x4 {var_68}], esi
Opcode: c7 44 24 08 01 00 00 00mov dword [esp+0x8 {var_64}], 0x1
Opcode: 89 45 d0mov dword [ebp-0x30 {var_34}], eax
Opcode: 89 4d ccmov dword [ebp-0x34 {var_38}], ecx
Opcode: e8 e5 a6 00 00call sub_8052f44
Opcode: b9 08 00 00 00mov ecx, 0x8
Opcode: 8b 55 f0mov edx, dword [ebp-0x10 {var_14}]
Opcode: 83 c2 01add edx, 0x1
Opcode: 89 55 f0mov dword [ebp-0x10 {var_14}], edx
Opcode: 8b 55 f0mov edx, dword [ebp-0x10 {var_14}]
Opcode: 8b 75 f8mov esi, dword [ebp-0x8 {var_c}]
Opcode: 8b 36mov esi, dword [esi]
Opcode: 83 c6 07add esi, 0x7
Opcode: 89 14 24mov dword [esp {var_6c}], edx
Opcode: 89 74 24 04mov dword [esp+0x4 {var_68}], esi
Opcode: c7 44 24 08 08 00 00 00mov dword [esp+0x8 {var_64}], 0x8
Opcode: 89 45 c8mov dword [ebp-0x38 {var_3c}], eax
Opcode: 89 4d c4mov dword [ebp-0x3c {var_40}], ecx
Opcode: e8 b2 a6 00 00call sub_8052f44
Opcode: b9 02 00 00 00mov ecx, 0x2
Opcode: 8b 55 f0mov edx, dword [ebp-0x10 {var_14}]
Opcode: 83 c2 08add edx, 0x8
Opcode: 89 55 f0mov dword [ebp-0x10 {var_14}], edx
Opcode: 8b 55 f0mov edx, dword [ebp-0x10 {var_14}]
Opcode: 8b 75 f8mov esi, dword [ebp-0x8 {var_c}]
Opcode: 8b 76 04mov esi, dword [esi+0x4]
Opcode: 89 14 24mov dword [esp {var_6c}], edx
Opcode: 89 74 24 04mov dword [esp+0x4 {var_68}], esi
Opcode: c7 44 24 08 02 00 00 00mov dword [esp+0x8 {var_64}], 0x2
Opcode: 89 45 c0mov dword [ebp-0x40 {var_44}], eax
Opcode: 89 4d bcmov dword [ebp-0x44 {var_48}], ecx
Opcode: e8 81 a6 00 00call sub_8052f44
Opcode: 8b 4d f0mov ecx, dword [ebp-0x10 {var_14}]
Opcode: 83 c1 02add ecx, 0x2
Opcode: 89 4d f0mov dword [ebp-0x10 {var_14}], ecx
Opcode: 8b 4d f8mov ecx, dword [ebp-0x8 {var_c}]
Opcode: 8b 49 04mov ecx, dword [ecx+0x4]
Opcode: 0f b7 09movzx ecx, word [ecx]
Opcode: 83 f9 00cmp ecx, 0x0
Opcode: 89 45 b8mov dword [ebp-0x48 {var_4c}], eax
Opcode: 7e 39jle 0x8048916
Basic Block 4
Opcode: b8 e2 00 00 00mov eax, 0xe2
Opcode: c7 04 24 e2 00 00 00mov dword [esp {var_6c}], 0xe2
Opcode: 89 45 e8mov dword [ebp-0x18 {var_1c}], eax
Opcode: e8 11 ff ff ffcall sub_8048686
Opcode: 8d 45 f4lea eax, [ebp-0xc] {var_10}
Opcode: 89 04 24mov dword [esp {var_6c}], eax
Opcode: e8 10 4a 00 00call sub_804d190
Opcode: e9 1f 02 00 00jmp 0x80489a4
Basic Block 5
Opcode: 83 c4 64add esp, 0x64 {var_8}
Opcode: 5epop esi
Opcode: 5dpop ebp
Opcode: e9 fe f6 ff ffjmp 0x80480ac
Basic Block 6
Opcode: b8 02 00 00 00mov eax, 0x2
Opcode: 8b 4d f0mov ecx, dword [ebp-0x10 {var_14}]
Opcode: 8b 55 f8mov edx, dword [ebp-0x8 {var_c}]
Opcode: 8b 52 08mov edx, dword [edx+0x8]
Opcode: 89 0c 24mov dword [esp {var_6c}], ecx
Opcode: 89 54 24 04mov dword [esp+0x4 {var_68}], edx
Opcode: c7 44 24 08 02 00 00 00mov dword [esp+0x8 {var_64}], 0x2
Opcode: 89 45 b0mov dword [ebp-0x50 {var_54}], eax
Opcode: e8 09 a6 00 00call sub_8052f44
Opcode: 8b 4d f0mov ecx, dword [ebp-0x10 {var_14}]
Opcode: 83 c1 02add ecx, 0x2
Opcode: 89 4d f0mov dword [ebp-0x10 {var_14}], ecx
Opcode: 8b 4d f8mov ecx, dword [ebp-0x8 {var_c}]
Opcode: 8b 49 08mov ecx, dword [ecx+0x8]
Opcode: 0f b7 09movzx ecx, word [ecx]
Opcode: 83 f9 00cmp ecx, 0x0
Opcode: 89 45 acmov dword [ebp-0x54 {var_58}], eax
Opcode: 7e 39jle 0x804898e
Basic Block 7
Opcode: 8b 45 f0mov eax, dword [ebp-0x10 {var_14}]
Opcode: 8b 4d f8mov ecx, dword [ebp-0x8 {var_c}]
Opcode: 8b 49 04mov ecx, dword [ecx+0x4]
Opcode: 8b 49 04mov ecx, dword [ecx+0x4]
Opcode: 8b 55 f8mov edx, dword [ebp-0x8 {var_c}]
Opcode: 8b 52 04mov edx, dword [edx+0x4]
Opcode: 0f b7 12movzx edx, word [edx]
Opcode: 89 04 24mov dword [esp {var_6c}], eax
Opcode: 89 4c 24 04mov dword [esp+0x4 {var_68}], ecx
Opcode: 89 54 24 08mov dword [esp+0x8 {var_64}], edx
Opcode: e8 42 a6 00 00call sub_8052f44
Opcode: 8b 4d f8mov ecx, dword [ebp-0x8 {var_c}]
Opcode: 8b 49 04mov ecx, dword [ecx+0x4]
Opcode: 0f b7 09movzx ecx, word [ecx]
Opcode: 8b 55 f0mov edx, dword [ebp-0x10 {var_14}]
Opcode: 01 caadd edx, ecx
Opcode: 89 55 f0mov dword [ebp-0x10 {var_14}], edx
Opcode: 89 45 b4mov dword [ebp-0x4c {var_50}], eax
Basic Block 8
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 9
Opcode: 8b 45 f4mov eax, dword [ebp-0xc {var_10}]
Opcode: 89 04 24mov dword [esp {var_6c}], eax
Opcode: e8 6b 48 00 00call sub_804d204
Opcode: 8d 45 f4lea eax, [ebp-0xc] {var_10}
Opcode: 89 04 24mov dword [esp {var_6c}], eax
Opcode: e8 ec 47 00 00call sub_804d190
Basic Block 10
Opcode: 8b 45 f0mov eax, dword [ebp-0x10 {var_14}]
Opcode: 8b 4d f8mov ecx, dword [ebp-0x8 {var_c}]
Opcode: 8b 49 08mov ecx, dword [ecx+0x8]
Opcode: 8b 49 04mov ecx, dword [ecx+0x4]
Opcode: 8b 55 f8mov edx, dword [ebp-0x8 {var_c}]
Opcode: 8b 52 08mov edx, dword [edx+0x8]
Opcode: 0f b7 12movzx edx, word [edx]
Opcode: 89 04 24mov dword [esp {var_6c}], eax
Opcode: 89 4c 24 04mov dword [esp+0x4 {var_68}], ecx
Opcode: 89 54 24 08mov dword [esp+0x8 {var_64}], edx
Opcode: e8 ca a5 00 00call sub_8052f44
Opcode: 8b 4d f8mov ecx, dword [ebp-0x8 {var_c}]
Opcode: 8b 49 08mov ecx, dword [ecx+0x8]
Opcode: 0f b7 09movzx ecx, word [ecx]
Opcode: 8b 55 f0mov edx, dword [ebp-0x10 {var_14}]
Opcode: 01 caadd edx, ecx
Opcode: 89 55 f0mov dword [ebp-0x10 {var_14}], edx
Opcode: 89 45 a8mov dword [ebp-0x58 {var_5c}], eax
Basic Block 11
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 12
Opcode: 8b 00mov eax, dword [eax]
Opcode: 83 f8 00cmp eax, 0x0
Opcode: 74 c3je 0x80480a0
Basic Block 13
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 14
Opcode: eb f0jmp 0x80480cf
Basic Block 15
Opcode: 3b 08cmp ecx, dword [eax]
Opcode: 8d 40 04lea eax, [eax+0x4]
Opcode: 74 09je 0x80480df