Function Graph 0
Basic Block 0
Opcode: 55sub_804842f:
Opcode: 55push ebp
Opcode: 89 e5mov ebp, esp
Opcode: 83 ec 38sub esp, 0x38 {var_3c}
Opcode: 8b 45 08mov eax, dword [ebp+0x8 {arg_4}]
Opcode: 89 45 fcmov dword [ebp-0x4 {var_8}], eax
Opcode: 83 7d fc 00cmp dword [ebp-0x4 {var_8}], 0x0
Opcode: 75 05jne 0x8048446
Basic Block 1
Opcode: 8b 45 fcmov eax, dword [ebp-0x4 {var_8}]
Opcode: 8b 00mov eax, dword [eax]
Opcode: 89 45 f8mov dword [ebp-0x8 {var_c}], eax
Opcode: 83 7d f8 00cmp dword [ebp-0x8 {var_c}], 0x0
Opcode: 75 05jne 0x8048459
Basic Block 2
Opcode: e9 37 02 00 00jmp 0x804867d
Basic Block 3
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 83 78 0c 00cmp dword [eax+0xc], 0x0
Opcode: 0f 84 a6 01 00 00je 0x804860c
Basic Block 4
Opcode: e9 24 02 00 00jmp 0x804867d
Basic Block 5
Opcode: 83 c4 38add esp, 0x38 {var_4}
Opcode: 5dpop ebp
Opcode: e9 26 fa ff ffjmp 0x80480ac
Basic Block 6
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 83 78 08 00cmp dword [eax+0x8], 0x0
Opcode: 74 1fje 0x8048634
Basic Block 7
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 83 38 00cmp dword [eax], 0x0
Opcode: 75 14jne 0x8048482
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 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 83 78 04 00cmp dword [eax+0x4], 0x0
Opcode: 74 1fje 0x804865c
Basic Block 10
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 8b 40 08mov eax, dword [eax+0x8]
Opcode: 8b 40 04mov eax, dword [eax+0x4]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: e8 65 7f 00 00call sub_805058b
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 8b 40 08mov eax, dword [eax+0x8]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: e8 57 7f 00 00call sub_805058b
Basic Block 11
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 8b 00mov eax, dword [eax]
Opcode: 0f b6 40 04movzx eax, byte [eax+0x4]
Opcode: 48dec eax
Opcode: 89 c1mov ecx, eax
Opcode: 83 e9 0bsub ecx, 0xb
Opcode: 89 45 dcmov dword [ebp-0x24 {var_28}], eax
Opcode: 89 4d d8mov dword [ebp-0x28 {var_2c}], ecx
Opcode: 0f 87 4d 01 00 00ja 0x80485ea
Basic Block 12
Opcode: b8 ff ff ff ffmov eax, 0xffffffff
Opcode: c7 04 24 ff ff ff ffmov dword [esp {var_3c}], 0xffffffff
Opcode: 89 45 e0mov dword [ebp-0x20 {var_24}], eax
Opcode: e8 a9 b7 00 00call sub_8053c2b
Opcode: e8 a9 b7 00 00{ Does not return }
Basic Block 13
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 14
Opcode: 8b 00mov eax, dword [eax]
Opcode: 83 f8 00cmp eax, 0x0
Opcode: 74 c3je 0x80480a0
Basic Block 15
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 8b 00mov eax, dword [eax]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: e8 22 7f 00 00call sub_805058b
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: e8 17 7f 00 00call sub_805058b
Opcode: 8b 45 fcmov eax, dword [ebp-0x4 {var_8}]
Opcode: c7 00 00 00 00 00mov dword [eax], 0x0
Basic Block 16
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 8b 40 04mov eax, dword [eax+0x4]
Opcode: 8b 40 04mov eax, dword [eax+0x4]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: e8 3d 7f 00 00call sub_805058b
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 8b 40 04mov eax, dword [eax+0x4]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: e8 2f 7f 00 00call sub_805058b
Basic Block 17
Opcode: b8 ff ff ff ffmov eax, 0xffffffff
Opcode: c7 04 24 ff ff ff ffmov dword [esp {var_3c}], 0xffffffff
Opcode: 89 45 d4mov dword [ebp-0x2c {var_30}], eax
Opcode: e8 2d b6 00 00call sub_8053c2b
Opcode: e8 2d b6 00 00{ Does not return }
Basic Block 18
Opcode: 8b 45 dcmov eax, dword [ebp-0x24 {var_28}]
Opcode: 8b 0c 85 a0 3f 05 08mov ecx, dword [eax*4+0x8053fa0]
Opcode: a3 28 70 05 08mov dword [data_8057028], eax
Opcode: 9flahf
Opcode: 89 15 2c 70 05 08mov dword [data_805702c], edx
Opcode: 89 0d 30 70 05 08mov dword [data_8057030], ecx
Opcode: 88 25 34 70 05 08mov byte [data_8057034], ah
Opcode: a1 28 70 05 08mov eax, dword [data_8057028]
Opcode: 89 camov edx, ecx
Opcode: f6 05 36 70 05 08 01test byte [data_8057036], 0x1
Opcode: 74 11je 0x80484e0
Basic Block 19
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 20
Opcode: eb f0jmp 0x80480cf
Basic Block 21
Opcode: 8d 0d b0 44 05 08lea ecx, [data_80544b0]
Basic Block 22
Opcode: a1 38 70 05 08mov eax, dword [data_8057038]
Opcode: 39 c2cmp edx, eax
Opcode: 77 08ja 0x80484e0
Basic Block 23
Opcode: 3b 08cmp ecx, dword [eax]
Opcode: 8d 40 04lea eax, [eax+0x4]
Opcode: 74 09je 0x80480df
Basic Block 24
Opcode: 39 c2cmp edx, eax
Opcode: 72 efjb 0x80484e6
Basic Block 25
Opcode: 3b 15 3c 70 05 08cmp edx, dword [data_805703c]
Opcode: 72 1cjb 0x80484fc
Basic Block 26
Opcode: 8b 01mov eax, dword [ecx]
Opcode: 8d 49 08lea ecx, [ecx+0x8]
Opcode: 85 c0test eax, eax
Opcode: 0f 84 ad fb ff ffje 0x80480a0
Basic Block 27
Opcode: 3b 51 fccmp edx, dword [ecx-0x4]
Opcode: 73 eajae 0x80484e6
Basic Block 28
Opcode: 8a 25 34 70 05 08mov ah, byte [data_8057034]
Opcode: 8b 15 2c 70 05 08mov edx, dword [data_805702c]
Opcode: 8b 0d 30 70 05 08mov ecx, dword [data_8057030]
Opcode: 9esahf
Opcode: a1 28 70 05 08mov eax, dword [data_8057028]
Opcode: ff e1jmp ecx