Function Graph 0
Basic Block 0
Opcode: 55sub_80538b0:
Opcode: 55push ebp
Opcode: 89 e5mov ebp, esp
Opcode: 53push ebx
Opcode: 57push edi
Opcode: 56push esi
Opcode: 83 ec 4csub esp, 0x4c {var_5c}
Opcode: 8b 45 20mov eax, dword [ebp+0x20 {arg_1c}]
Opcode: 8b 4d 1cmov ecx, dword [ebp+0x1c {arg_18}]
Opcode: 8b 55 18mov edx, dword [ebp+0x18 {arg_14}]
Opcode: 8b 75 14mov esi, dword [ebp+0x14 {arg_10}]
Opcode: 8b 7d 10mov edi, dword [ebp+0x10 {arg_c}]
Opcode: 8b 5d 0cmov ebx, dword [ebp+0xc {arg_8}]
Opcode: 89 45 c8mov dword [ebp-0x38 {var_3c}], eax
Opcode: 8b 45 08mov eax, dword [ebp+0x8 {arg_4}]
Opcode: 89 45 ecmov dword [ebp-0x14 {var_18}], eax
Opcode: 89 5d e8mov dword [ebp-0x18 {var_1c}], ebx
Opcode: 89 7d e4mov dword [ebp-0x1c {var_20}], edi
Opcode: 89 75 e0mov dword [ebp-0x20 {var_24}], esi
Opcode: 89 55 dcmov dword [ebp-0x24 {var_28}], edx
Opcode: 89 4d d8mov dword [ebp-0x28 {var_2c}], ecx
Opcode: 8b 45 c8mov eax, dword [ebp-0x38 {var_3c}]
Opcode: 89 45 d4mov dword [ebp-0x2c {var_30}], eax
Opcode: 81 7d d8 00 00 00 00cmp dword [ebp-0x28 {var_2c}], 0x0
Opcode: 0f 85 5d 00 00 00jne 0x8053953
Basic Block 1
Opcode: 8b 45 e0mov eax, dword [ebp-0x20 {var_24}]
Opcode: 89 04 24mov dword [esp {var_5c}], eax
Opcode: e8 72 0b 00 00call sub_80544d0
Opcode: 89 45 d0mov dword [ebp-0x30 {var_34}], eax
Opcode: c7 45 cc 00 00 00 00mov dword [ebp-0x34 {var_38}], 0x0
Opcode: 81 7d d8 00 00 00 00cmp dword [ebp-0x28 {var_2c}], 0x0
Opcode: 0f 8e 17 00 00 00jle 0x805398c
Basic Block 2
Opcode: 81 7d dc 00 00 00 00cmp dword [ebp-0x24 {var_28}], 0x0
Opcode: 0f 85 50 00 00 00jne 0x8053953
Basic Block 3
Opcode: 81 7d dc 00 00 00 00cmp dword [ebp-0x24 {var_28}], 0x0
Opcode: 0f 8e 1a 00 00 00jle 0x80539b3
Basic Block 4
Opcode: 8b 45 d0mov eax, dword [ebp-0x30 {var_34}]
Opcode: 3b 45 d8cmp eax, dword [ebp-0x28 {var_2c}]
Opcode: 0f 86 06 00 00 00jbe 0x8053987
Basic Block 5
Opcode: e9 00 00 00 00jmp 0x8053908
Basic Block 6
Opcode: 8b 45 d4mov eax, dword [ebp-0x2c {var_30}]
Opcode: 25 01 00 00 00and eax, 0x1
Opcode: 3d 00 00 00 00cmp eax, 0x0
Opcode: 0f 85 8a 00 00 00jne 0x8053a50
Basic Block 7
Opcode: 8b 45 d0mov eax, dword [ebp-0x30 {var_34}]
Opcode: 3b 45 dccmp eax, dword [ebp-0x24 {var_28}]
Opcode: 0f 83 09 00 00 00jae 0x80539ae
Basic Block 8
Opcode: e9 00 00 00 00jmp 0x805398c
Basic Block 9
Opcode: 8b 45 d8mov eax, dword [ebp-0x28 {var_2c}]
Opcode: 89 45 d0mov dword [ebp-0x30 {var_34}], eax
Basic Block 10
Opcode: 8b 45 e0mov eax, dword [ebp-0x20 {var_24}]
Opcode: 0f be 00movsx eax, byte [eax]
Opcode: 3d 00 00 00 00cmp eax, 0x0
Opcode: 0f 84 2f 00 00 00je 0x8053948
Basic Block 11
Opcode: e9 00 00 00 00jmp 0x8053a55
Basic Block 12
Opcode: e9 00 00 00 00jmp 0x80539cb
Basic Block 13
Opcode: e9 00 00 00 00jmp 0x80539b3
Basic Block 14
Opcode: 8b 45 dcmov eax, dword [ebp-0x24 {var_28}]
Opcode: 2b 45 d0sub eax, dword [ebp-0x30 {var_34}]
Opcode: 89 45 ccmov dword [ebp-0x34 {var_38}], eax
Basic Block 15
Opcode: 8b 45 e4mov eax, dword [ebp-0x1c {var_20}]
Opcode: 89 45 f0mov dword [ebp-0x10 {var_14}], eax
Opcode: e9 b0 01 00 00jmp 0x8053b03
Basic Block 16
Opcode: 8b 45 e8mov eax, dword [ebp-0x18 {var_1c}]
Opcode: 8b 4d ecmov ecx, dword [ebp-0x14 {var_18}]
Opcode: 8b 55 e0mov edx, dword [ebp-0x20 {var_24}]
Opcode: 0f be 12movsx edx, byte [edx]
Opcode: 8b 75 e4mov esi, dword [ebp-0x1c {var_20}]
Opcode: 89 0c 24mov dword [esp {var_5c}], ecx
Opcode: 89 54 24 04mov dword [esp+0x4 {var_58}], edx
Opcode: 89 74 24 08mov dword [esp+0x8 {var_54}], esi
Opcode: ff d0call eax
Opcode: 89 45 e4mov dword [ebp-0x1c {var_20}], eax
Opcode: 8b 45 e0mov eax, dword [ebp-0x20 {var_24}]
Opcode: 05 01 00 00 00add eax, 0x1
Opcode: 89 45 e0mov dword [ebp-0x20 {var_24}], eax
Opcode: e9 c0 ff ff ffjmp 0x8053908
Basic Block 17
Opcode: 8b 45 d0mov eax, dword [ebp-0x30 {var_34}]
Opcode: 89 c1mov ecx, eax
Opcode: 81 c1 ff ff ff ffadd ecx, 0xffffffff
Opcode: 89 4d d0mov dword [ebp-0x30 {var_34}], ecx
Opcode: 3d 00 00 00 00cmp eax, 0x0
Opcode: 0f 86 2f 00 00 00jbe 0x8053a9d
Basic Block 18
Opcode: 8b 45 ccmov eax, dword [ebp-0x34 {var_38}]
Opcode: 89 c1mov ecx, eax
Opcode: 81 c1 ff ff ff ffadd ecx, 0xffffffff
Opcode: 89 4d ccmov dword [ebp-0x34 {var_38}], ecx
Opcode: 3d 00 00 00 00cmp eax, 0x0
Opcode: 0f 86 67 00 00 00jbe 0x8053a4b
Basic Block 19
Opcode: 8b 45 f0mov eax, dword [ebp-0x10 {var_14}]
Opcode: 83 c4 4cadd esp, 0x4c {var_10}
Opcode: 5epop esi
Opcode: 5fpop edi
Opcode: 5bpop ebx
Opcode: 5dpop ebp
Opcode: c3retn
Basic Block 20
Opcode: 8b 45 d4mov eax, dword [ebp-0x2c {var_30}]
Opcode: 25 01 00 00 00and eax, 0x1
Opcode: 3d 00 00 00 00cmp eax, 0x0
Opcode: 0f 84 4d 00 00 00je 0x8053afd
Basic Block 21
Opcode: 8b 45 e8mov eax, dword [ebp-0x18 {var_1c}]
Opcode: 8b 4d ecmov ecx, dword [ebp-0x14 {var_18}]
Opcode: 8b 55 e0mov edx, dword [ebp-0x20 {var_24}]
Opcode: 89 d6mov esi, edx
Opcode: 81 c6 01 00 00 00add esi, 0x1
Opcode: 89 75 e0mov dword [ebp-0x20 {var_24}], esi
Opcode: 0f be 12movsx edx, byte [edx]
Opcode: 8b 75 e4mov esi, dword [ebp-0x1c {var_20}]
Opcode: 89 0c 24mov dword [esp {var_5c}], ecx
Opcode: 89 54 24 04mov dword [esp+0x4 {var_58}], edx
Opcode: 89 74 24 08mov dword [esp+0x8 {var_54}], esi
Opcode: ff d0call eax
Opcode: 89 45 e4mov dword [ebp-0x1c {var_20}], eax
Opcode: e9 b8 ff ff ffjmp 0x8053a55
Basic Block 22
Opcode: e9 00 00 00 00jmp 0x8053a50
Basic Block 23
Opcode: 8b 45 d4mov eax, dword [ebp-0x2c {var_30}]
Opcode: 25 04 00 00 00and eax, 0x4
Opcode: 3d 00 00 00 00cmp eax, 0x0
Opcode: 0f 84 2a 00 00 00je 0x8053a21
Basic Block 24
Opcode: 8b 45 e4mov eax, dword [ebp-0x1c {var_20}]
Opcode: 89 45 f0mov dword [ebp-0x10 {var_14}], eax
Basic Block 25
Opcode: e9 00 00 00 00jmp 0x8053ab5
Basic Block 26
Opcode: b8 20 00 00 00mov eax, 0x20
Opcode: 8b 4d e8mov ecx, dword [ebp-0x18 {var_1c}]
Opcode: 8b 55 ecmov edx, dword [ebp-0x14 {var_18}]
Opcode: 8b 75 e4mov esi, dword [ebp-0x1c {var_20}]
Opcode: 89 14 24mov dword [esp {var_5c}], edx
Opcode: c7 44 24 04 20 00 00 00mov dword [esp+0x4 {var_58}], 0x20
Opcode: 89 74 24 08mov dword [esp+0x8 {var_54}], esi
Opcode: 89 45 c0mov dword [ebp-0x40 {var_44}], eax
Opcode: ff d1call ecx
Opcode: 89 45 e4mov dword [ebp-0x1c {var_20}], eax
Basic Block 27
Opcode: b8 30 00 00 00mov eax, 0x30
Opcode: 8b 4d e8mov ecx, dword [ebp-0x18 {var_1c}]
Opcode: 8b 55 ecmov edx, dword [ebp-0x14 {var_18}]
Opcode: 8b 75 e4mov esi, dword [ebp-0x1c {var_20}]
Opcode: 89 14 24mov dword [esp {var_5c}], edx
Opcode: c7 44 24 04 30 00 00 00mov dword [esp+0x4 {var_58}], 0x30
Opcode: 89 74 24 08mov dword [esp+0x8 {var_54}], esi
Opcode: 89 45 c4mov dword [ebp-0x3c {var_40}], eax
Opcode: ff d1call ecx
Opcode: 89 45 e4mov dword [ebp-0x1c {var_20}], eax
Opcode: e9 25 00 00 00jmp 0x8053a46
Basic Block 28
Opcode: 8b 45 ccmov eax, dword [ebp-0x34 {var_38}]
Opcode: 89 c1mov ecx, eax
Opcode: 81 c1 ff ff ff ffadd ecx, 0xffffffff
Opcode: 89 4d ccmov dword [ebp-0x34 {var_38}], ecx
Opcode: 3d 00 00 00 00cmp eax, 0x0
Opcode: 0f 86 2a 00 00 00jbe 0x8053af8
Basic Block 29
Opcode: e9 80 ff ff ffjmp 0x80539cb
Basic Block 30
Opcode: e9 00 00 00 00jmp 0x8053afd
Basic Block 31
Opcode: b8 20 00 00 00mov eax, 0x20
Opcode: 8b 4d e8mov ecx, dword [ebp-0x18 {var_1c}]
Opcode: 8b 55 ecmov edx, dword [ebp-0x14 {var_18}]
Opcode: 8b 75 e4mov esi, dword [ebp-0x1c {var_20}]
Opcode: 89 14 24mov dword [esp {var_5c}], edx
Opcode: c7 44 24 04 20 00 00 00mov dword [esp+0x4 {var_58}], 0x20
Opcode: 89 74 24 08mov dword [esp+0x8 {var_54}], esi
Opcode: 89 45 bcmov dword [ebp-0x44 {var_48}], eax
Opcode: ff d1call ecx
Opcode: 89 45 e4mov dword [ebp-0x1c {var_20}], eax
Opcode: e9 bd ff ff ffjmp 0x8053ab5