Function Graph 0
Basic Block 0
Opcode: 55sub_8048460:
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: 81 7d fc 00 00 00 00cmp dword [ebp-0x4 {var_8}], 0x0
Opcode: 0f 85 05 00 00 00jne 0x804847e
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: 81 7d f8 00 00 00 00cmp dword [ebp-0x8 {var_c}], 0x0
Opcode: 0f 85 05 00 00 00jne 0x8048498
Basic Block 2
Opcode: e9 1d 02 00 00jmp 0x804869b
Basic Block 3
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 81 78 0c 00 00 00 00cmp dword [eax+0xc], 0x0
Opcode: 0f 84 74 01 00 00je 0x804861c
Basic Block 4
Opcode: e9 03 02 00 00jmp 0x804869b
Basic Block 5
Opcode: 83 c4 38add esp, 0x38 {var_4}
Opcode: 5dpop ebp
Opcode: c3retn
Basic Block 6
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 81 78 08 00 00 00 00cmp dword [eax+0x8], 0x0
Opcode: 0f 84 1f 00 00 00je 0x804864b
Basic Block 7
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 81 38 00 00 00 00cmp dword [eax], 0x0
Opcode: 0f 85 14 00 00 00jne 0x80484cb
Basic Block 8
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 81 78 04 00 00 00 00cmp dword [eax+0x4], 0x0
Opcode: 0f 84 1f 00 00 00je 0x804867a
Basic Block 9
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 83 8f 00 00call sub_80515c0
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 75 8f 00 00call sub_80515c0
Basic Block 10
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 14 01 00 00ja 0x80485fa
Basic Block 11
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 f9 c6 00 00call sub_8054bc4
Opcode: e8 f9 c6 00 00{ Does not return }
Basic Block 12
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 39 8f 00 00call sub_80515c0
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: e8 2e 8f 00 00call sub_80515c0
Opcode: 8b 45 fcmov eax, dword [ebp-0x4 {var_8}]
Opcode: c7 00 00 00 00 00mov dword [eax], 0x0
Basic Block 13
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 54 8f 00 00call sub_80515c0
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 46 8f 00 00call sub_80515c0
Basic Block 14
Opcode: b8 ff ff ff ff{Case 0x8}
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 b6 c5 00 00call sub_8054bc4
Opcode: e8 b6 c5 00 00{ Does not return }
Basic Block 15
Opcode: 8b 45 dcmov eax, dword [ebp-0x24 {var_28}]
Opcode: 8b 0c 85 d0 4e 05 08mov ecx, dword [eax*4+0x8054ed0]
Opcode: ff e1jmp ecx
Basic Block 16
Opcode: 8b 45 f8{Case 0x0}
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 8b 40 0cmov eax, dword [eax+0xc]
Opcode: 89 45 f4mov dword [ebp-0xc {var_10}], eax
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_3c}], eax
Opcode: e8 b7 90 00 00call sub_80515c0
Opcode: e9 00 01 00 00jmp 0x804860e
Basic Block 17
Opcode: 8b 45 f8{Case 0x1}
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 8b 40 0cmov eax, dword [eax+0xc]
Opcode: 89 45 f0mov dword [ebp-0x10 {var_14}], eax
Opcode: 81 7d f0 00 00 00 00cmp dword [ebp-0x10 {var_14}], 0x0
Opcode: 0f 84 1c 00 00 00je 0x8048540
Basic Block 18
Opcode: 8b 45 f8{Case 0x2}
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 8b 40 0cmov eax, dword [eax+0xc]
Opcode: 89 45 ecmov dword [ebp-0x14 {var_18}], eax
Opcode: 81 7d ec 00 00 00 00cmp dword [ebp-0x14 {var_18}], 0x0
Opcode: 0f 84 2a 00 00 00je 0x8048585
Basic Block 19
Opcode: e9 7f 00 00 00{Case 0x3}
Opcode: e9 7f 00 00 00jmp 0x804860e
Basic Block 20
Opcode: 8b 45 f8{Case 0x4}
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 8b 40 0cmov eax, dword [eax+0xc]
Opcode: 89 45 e8mov dword [ebp-0x18 {var_1c}], eax
Opcode: 81 7d e8 00 00 00 00cmp dword [ebp-0x18 {var_1c}], 0x0
Opcode: 0f 84 0e 00 00 00je 0x80485b3
Basic Block 21
Opcode: e9 51 00 00 00{Case 0x5}
Opcode: e9 51 00 00 00jmp 0x804860e
Basic Block 22
Opcode: e9 4c 00 00 00{Case 0x6}
Opcode: e9 4c 00 00 00jmp 0x804860e
Basic Block 23
Opcode: 8b 45 f8{Case 0x7}
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 8b 40 0cmov eax, dword [eax+0xc]
Opcode: 89 45 e4mov dword [ebp-0x1c {var_20}], eax
Opcode: 81 7d e4 00 00 00 00cmp dword [ebp-0x1c {var_20}], 0x0
Opcode: 0f 84 0e 00 00 00je 0x80485e6
Basic Block 24
Opcode: e9 1e 00 00 00{Case 0x9}
Opcode: e9 1e 00 00 00jmp 0x804860e
Basic Block 25
Opcode: e9 19 00 00 00{Case 0xa}
Opcode: e9 19 00 00 00jmp 0x804860e
Basic Block 26
Opcode: e9 14 00 00 00{Case 0xb}
Opcode: e9 14 00 00 00jmp 0x804860e
Basic Block 27
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 8b 40 0cmov eax, dword [eax+0xc]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: e8 a4 8f 00 00call sub_80515c0
Basic Block 28
Opcode: e9 c9 00 00 00jmp 0x804860e
Basic Block 29
Opcode: 8b 45 f0mov eax, dword [ebp-0x10 {var_14}]
Opcode: 8b 40 08mov eax, dword [eax+0x8]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: e8 8e 90 00 00call sub_80515c0
Opcode: 8b 45 f0mov eax, dword [ebp-0x10 {var_14}]
Opcode: 8b 40 0cmov eax, dword [eax+0xc]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: e8 80 90 00 00call sub_80515c0
Basic Block 30
Opcode: e9 84 00 00 00jmp 0x804860e
Basic Block 31
Opcode: 8b 45 ecmov eax, dword [ebp-0x14 {var_18}]
Opcode: 8b 40 08mov eax, dword [eax+0x8]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: e8 57 90 00 00call sub_80515c0
Opcode: 8b 45 ecmov eax, dword [ebp-0x14 {var_18}]
Opcode: 8b 40 0cmov eax, dword [eax+0xc]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: e8 49 90 00 00call sub_80515c0
Opcode: 8b 45 ecmov eax, dword [ebp-0x14 {var_18}]
Opcode: 8b 40 10mov eax, dword [eax+0x10]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: e8 3b 90 00 00call sub_80515c0
Basic Block 32
Opcode: e9 56 00 00 00jmp 0x804860e
Basic Block 33
Opcode: 8b 45 e8mov eax, dword [ebp-0x18 {var_1c}]
Opcode: 8b 40 10mov eax, dword [eax+0x10]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: e8 0d 90 00 00call sub_80515c0
Basic Block 34
Opcode: e9 23 00 00 00jmp 0x804860e
Basic Block 35
Opcode: 8b 45 e4mov eax, dword [ebp-0x1c {var_20}]
Opcode: 8b 40 18mov eax, dword [eax+0x18]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: e8 da 8f 00 00call sub_80515c0