Function Graph 0
Basic Block 0
Opcode: 55sub_8050817:
Opcode: 55push ebp
Opcode: 89 e5mov ebp, esp
Opcode: 83 ec 18sub esp, 0x18 {var_1c}
Opcode: 8b 45 08mov eax, dword [ebp+0x8 {arg_4}]
Opcode: 89 45 f8mov dword [ebp-0x8 {var_c}], eax
Opcode: c7 45 f4 00 00 00 00mov dword [ebp-0xc {var_10}], 0x0
Opcode: c7 45 f0 00 00 00 00mov dword [ebp-0x10 {var_14}], 0x0
Opcode: 83 7d f8 08cmp dword [ebp-0x8 {var_c}], 0x8
Opcode: 73 07jae 0x805083e
Basic Block 1
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 83 c0 07add eax, 0x7
Opcode: 83 e0 f8and eax, 0xfffffff8
Opcode: 89 45 f8mov dword [ebp-0x8 {var_c}], eax
Opcode: 81 7d f8 f8 03 00 00cmp dword [ebp-0x8 {var_c}], 0x3f8
Opcode: 76 0ajbe 0x805085d
Basic Block 2
Opcode: c7 45 f8 08 00 00 00mov dword [ebp-0x8 {var_c}], 0x8
Basic Block 3
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: c1 e8 03shr eax, 0x3
Opcode: 89 45 ecmov dword [ebp-0x14 {var_18}], eax
Basic Block 4
Opcode: b8 00 00 00 00mov eax, 0x0
Opcode: 89 45 ecmov dword [ebp-0x14 {var_18}], eax
Opcode: eb 09jmp 0x8050866
Basic Block 5
Opcode: eb 00jmp 0x8050884
Basic Block 6
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 89 04 24mov dword [esp {var_1c}], eax
Opcode: e8 69 fe ff ffcall sub_80506e6
Opcode: 89 45 fcmov dword [ebp-0x4 {var_8}], eax
Opcode: eb 66jmp 0x80508e8
Basic Block 7
Opcode: 8b 45 ecmov eax, dword [ebp-0x14 {var_18}]
Opcode: 89 45 f4mov dword [ebp-0xc {var_10}], eax
Opcode: 83 7d f4 00cmp dword [ebp-0xc {var_10}], 0x0
Opcode: 75 10jne 0x8050882
Basic Block 8
Opcode: 81 7d f4 80 00 00 00cmp dword [ebp-0xc {var_10}], 0x80
Opcode: 7d 1ajge 0x80508a7
Basic Block 9
Opcode: 8b 45 fcmov eax, dword [ebp-0x4 {var_8}]
Opcode: 83 c4 18add esp, 0x18 {var_4}
Opcode: 5dpop ebp
Opcode: e9 b8 77 ff ffjmp 0x80480ac
Basic Block 10
Opcode: eb 00jmp 0x80508a9
Basic Block 11
Opcode: 8b 45 f4mov eax, dword [ebp-0xc {var_10}]
Opcode: 83 3c 85 48 70 05 08 00cmp dword [eax*4+data_8057048], 0x0
Opcode: 74 02je 0x805089c
Basic Block 12
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 13
Opcode: 81 7d f4 80 00 00 00cmp dword [ebp-0xc {var_10}], 0x80
Opcode: 75 10jne 0x80508c2
Basic Block 14
Opcode: 8b 45 f4mov eax, dword [ebp-0xc {var_10}]
Opcode: 83 c0 01add eax, 0x1
Opcode: 89 45 f4mov dword [ebp-0xc {var_10}], eax
Opcode: eb ddjmp 0x8050884
Basic Block 15
Opcode: eb 0bjmp 0x80508a7
Basic Block 16
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 17
Opcode: 8b 00mov eax, dword [eax]
Opcode: 83 f8 00cmp eax, 0x0
Opcode: 74 c3je 0x80480a0
Basic Block 18
Opcode: 8b 45 f4mov eax, dword [ebp-0xc {var_10}]
Opcode: 8b 04 85 48 70 05 08mov eax, dword [eax*4+data_8057048]
Opcode: 89 45 f0mov dword [ebp-0x10 {var_14}], eax
Opcode: 8b 45 f0mov eax, dword [ebp-0x10 {var_14}]
Opcode: 8b 40 04mov eax, dword [eax+0x4]
Opcode: 8b 4d f4mov ecx, dword [ebp-0xc {var_10}]
Opcode: 89 04 8d 48 70 05 08mov dword [ecx*4+data_8057048], eax
Opcode: 8b 45 f0mov eax, dword [ebp-0x10 {var_14}]
Opcode: 83 c0 04add eax, 0x4
Opcode: 89 45 fcmov dword [ebp-0x4 {var_8}], eax
Basic Block 19
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 89 04 24mov dword [esp {var_1c}], eax
Opcode: e8 29 fe ff ffcall sub_80506e6
Opcode: 89 45 fcmov dword [ebp-0x4 {var_8}], eax
Opcode: eb 26jmp 0x80508e8
Basic Block 20
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 21
Opcode: eb f0jmp 0x80480cf
Basic Block 22
Opcode: 3b 08cmp ecx, dword [eax]
Opcode: 8d 40 04lea eax, [eax+0x4]
Opcode: 74 09je 0x80480df