Function Graph 0
Basic Block 0
Opcode: 55sub_80486a0:
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 0x80486b7
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 0x80486ca
Basic Block 2
Opcode: e9 d9 01 00 00jmp 0x8048890
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 48 01 00 00je 0x804881f
Basic Block 4
Opcode: e9 c6 01 00 00jmp 0x8048890
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: 83 78 08 00cmp dword [eax+0x8], 0x0
Opcode: 74 1fje 0x8048847
Basic Block 7
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 83 38 00cmp dword [eax], 0x0
Opcode: 75 14jne 0x80486f3
Basic Block 8
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 83 78 04 00cmp dword [eax+0x4], 0x0
Opcode: 74 1fje 0x804886f
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 c7 80 00 00call sub_8050900
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 b9 80 00 00call sub_8050900
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 ef 00 00 00ja 0x80487fd
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 dd b2 00 00call sub_80539d0
Opcode: e8 dd b2 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 84 80 00 00call sub_8050900
Opcode: 8b 45 f8mov eax, dword [ebp-0x8 {var_c}]
Opcode: 89 04 24mov dword [esp {var_3c}], eax
Opcode: e8 79 80 00 00call sub_8050900
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 9f 80 00 00call sub_8050900
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 91 80 00 00call sub_8050900
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 bf b1 00 00call sub_80539d0
Opcode: e8 bf b1 00 00{ Does not return }
Basic Block 15
Opcode: 8b 45 dcmov eax, dword [ebp-0x24 {var_28}]
Opcode: 8b 0c 85 80 40 05 08mov ecx, dword [eax*4+0x8054080]
Opcode: 52push edx
Opcode: 89 camov edx, ecx
Opcode: 8a 12mov dl, byte [edx]
Opcode: 81 fa 00 c0 47 43cmp edx, 0x4347c000
Opcode: 0f 83 0a ec ff ffjae 0x8047333
Basic Block 16
Opcode: 5apop edx
Opcode: ff e1jmp ecx
Basic Block 17
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 bd 81 00 00call sub_8050900
Opcode: e9 c9 00 00 00jmp 0x8048811
Basic Block 18
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: 83 7d f0 00cmp dword [ebp-0x10 {var_14}], 0x0
Opcode: 74 1cje 0x8048773
Basic Block 19
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: 83 7d ec 00cmp dword [ebp-0x14 {var_18}], 0x0
Opcode: 74 2aje 0x80487b1
Basic Block 20
Opcode: eb 5c{Case 0x3}
Opcode: eb 5cjmp 0x8048811
Basic Block 21
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: 83 7d e8 00cmp dword [ebp-0x18 {var_1c}], 0x0
Opcode: 74 0eje 0x80487d2
Basic Block 22
Opcode: eb 3b{Case 0x5}
Opcode: eb 3bjmp 0x8048811
Basic Block 23
Opcode: eb 39{Case 0x6}
Opcode: eb 39jmp 0x8048811
Basic Block 24
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: 83 7d e4 00cmp dword [ebp-0x1c {var_20}], 0x0
Opcode: 74 0eje 0x80487f5
Basic Block 25
Opcode: eb 18{Case 0x9}
Opcode: eb 18jmp 0x8048811
Basic Block 26
Opcode: eb 16{Case 0xa}
Opcode: eb 16jmp 0x8048811
Basic Block 27
Opcode: eb 14{Case 0xb}
Opcode: eb 14jmp 0x8048811
Basic Block 28
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 e1 80 00 00call sub_8050900
Basic Block 29
Opcode: e9 99 00 00 00jmp 0x8048811
Basic Block 30
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 9b 81 00 00call sub_8050900
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 8d 81 00 00call sub_8050900
Basic Block 31
Opcode: eb 5ejmp 0x8048811
Basic Block 32
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 6b 81 00 00call sub_8050900
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 5d 81 00 00call sub_8050900
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 4f 81 00 00call sub_8050900
Basic Block 33
Opcode: eb 3djmp 0x8048811
Basic Block 34
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 2e 81 00 00call sub_8050900
Basic Block 35
Opcode: eb 1ajmp 0x8048811
Basic Block 36
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 0b 81 00 00call sub_8050900