
L1: 6a 54 ?? push 0x54<84>
 b8 c2 98 42 00 ?? mov eax, 0x004298c2
 e8 5d 24 00 00 ?? call function 0x00406a23

L2: 8b 5d 08 ?? mov ebx, dword ss:[ebp + 8]
 8b f1 ?? mov esi, ecx
 83 fb ff ?? cmp ebx, 0xff<255,-1>
 75 0a ?? jne basic block L6

L3: 33 c0 ?? xor eax, eax

L4: e8 cf 24 00 00 ?? call function 0x00406aa6

L5: c2 04 00 ?? ret 4

L6: 8b 46 24 ?? mov eax, dword ds:[esi + 0x24<36>]
 8b 08 ?? mov ecx, dword ds:[eax]
 33 ff ?? xor edi, edi
 3b cf ?? cmp ecx, edi
 74 1d ?? je basic block L10

L7: 8b 46 34 ?? mov eax, dword ds:[esi + 0x34<52>]
 8b 10 ?? mov edx, dword ds:[eax]
 03 d1 ?? add edx, ecx
 3b ca ?? cmp ecx, edx
 73 12 ?? jae basic block L10

L8: ff 08 ?? dec dword ds:[eax]
 8b 76 24 ?? mov esi, dword ds:[esi + 0x24<36>]
 8b 06 ?? mov eax, dword ds:[esi]
 8d 48 01 ?? lea ecx, ds:[eax + 1]
 89 0e ?? mov dword ds:[esi], ecx
 88 18 ?? mov byte ds:[eax], bl

L9: 8b c3 ?? mov eax, ebx
 eb d0 ?? jmp basic block L4

L10: 8b 46 4c ?? mov eax, dword ds:[esi + 0x4c<76>]
 3b c7 ?? cmp eax, edi
 75 05 ?? jne basic block L12

L11: 83 c8 ff ?? or eax, 0xff<255,-1>
 eb c4 ?? jmp basic block L4

L12: 39 7e 3c ?? cmp dword ds:[esi + 0x3c<60>], edi
 75 0f ?? jne basic block L16

L13: 50 ?? push eax
 53 ?? push ebx
 e8 f5 f7 ff ff ?? call function 0x00403e0f

L14: 59 ?? pop ecx
 59 ?? pop ecx
 84 c0 ?? test al, al
 74 e9 ?? je basic block L11

L15: eb dc ?? jmp basic block L9

L16: 57 ?? push edi
 6a 08 ?? push 8
 8d 4d d4 ?? lea ecx, ss:[ebp + 0xd4<212,-44>]
 88 5d d0 ?? mov byte ss:[ebp + 0xd0<208,-48>], bl
 e8 8c fd ff ff ?? call function 0x004043bc

L17: 8d 45 b8 ?? lea eax, ss:[ebp + 0xb8<184,-72>]
 50 ?? push eax
 8d 4d d4 ?? lea ecx, ss:[ebp + 0xd4<212,-44>]
 89 7d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edi
 e8 78 fa ff ff ?? call function 0x004040b7

L18: 8b c8 ?? mov ecx, eax
 e8 5c f0 ff ff ?? call function 0x004036a2

L19: 8b 7d e8 ?? mov edi, dword ss:[ebp + 0xe8<232,-24>]
 8b d8 ?? mov ebx, eax
 8d 45 b0 ?? lea eax, ss:[ebp + 0xb0<176,-80>]
 50 ?? push eax
 8d 4d d4 ?? lea ecx, ss:[ebp + 0xd4<212,-44>]
 e8 60 fa ff ff ?? call function 0x004040b7

L20: 8b c8 ?? mov ecx, eax
 e8 44 f0 ff ff ?? call function 0x004036a2

L21: 8d 55 c8 ?? lea edx, ss:[ebp + 0xc8<200,-56>]
 03 fb ?? add edi, ebx
 52 ?? push edx
 8d 5e 44 ?? lea ebx, ds:[esi + 0x44<68>]
 e9 a8 00 00 00 ?? jmp basic block L39

L22: 83 f8 01 ?? cmp eax, 1
 0f 8f c3 00 00 00 ?? jg basic block L42

L23: 8d 45 a8 ?? lea eax, ss:[ebp + 0xa8<168,-88>]
 50 ?? push eax
 8d 4d d4 ?? lea ecx, ss:[ebp + 0xd4<212,-44>]
 e8 36 fa ff ff ?? call function 0x004040b7

L24: 8b c8 ?? mov ecx, eax
 e8 1a f0 ff ff ?? call function 0x004036a2

L25: 8b 7d c8 ?? mov edi, dword ss:[ebp + 0xc8<200,-56>]
 2b f8 ?? sub edi, eax
 74 2a ?? je basic block L30

L26: 8d 45 a0 ?? lea eax, ss:[ebp + 0xa0<160,-96>]
 50 ?? push eax
 8d 4d d4 ?? lea ecx, ss:[ebp + 0xd4<212,-44>]
 e8 1c fa ff ff ?? call function 0x004040b7

L27: 8b c8 ?? mov ecx, eax
 e8 00 f0 ff ff ?? call function 0x004036a2

L28: ff 76 4c ?? push dword ds:[esi + 0x4c<76>]
 57 ?? push edi
 6a 01 ?? push 1
 50 ?? push eax
 e8 ff 2d 00 00 ?? call function 0x004074ad

L29: 83 c4 10 ?? add esp, 0x10<16>
 3b f8 ?? cmp edi, eax
 0f 85 95 00 00 00 ?? jne basic block L45

L30: 8d 45 d0 ?? lea eax, ss:[ebp + 0xd0<208,-48>]
 c6 46 41 01 ?? mov byte ds:[esi + 0x41<65>], 1
 39 45 c4 ?? cmp dword ss:[ebp + 0xc4<196,-60>], eax
 0f 85 9b 00 00 00 ?? jne basic block L48

L31: 85 ff ?? test edi, edi
 77 12 ?? ja basic block L34

L32: 83 7d e8 20 ?? cmp dword ss:[ebp + 0xe8<232,-24>], 0x20<32>
 73 7b ?? jae basic block L45

L33: 6a 00 ?? push 0
 6a 08 ?? push 8
 8d 4d d4 ?? lea ecx, ss:[ebp + 0xd4<212,-44>]
 e8 b1 fa ff ff ?? call function 0x00404190

L34: 8d 45 b8 ?? lea eax, ss:[ebp + 0xb8<184,-72>]
 50 ?? push eax
 8d 4d d4 ?? lea ecx, ss:[ebp + 0xd4<212,-44>]
 e8 cc f9 ff ff ?? call function 0x004040b7

L35: 8b c8 ?? mov ecx, eax
 e8 b0 ef ff ff ?? call function 0x004036a2

L36: 8b 7d e8 ?? mov edi, dword ss:[ebp + 0xe8<232,-24>]
 89 45 c0 ?? mov dword ss:[ebp + 0xc0<192,-64>], eax
 8d 45 b0 ?? lea eax, ss:[ebp + 0xb0<176,-80>]
 50 ?? push eax
 8d 4d d4 ?? lea ecx, ss:[ebp + 0xd4<212,-44>]
 e8 b3 f9 ff ff ?? call function 0x004040b7

L37: 8b c8 ?? mov ecx, eax
 e8 97 ef ff ff ?? call function 0x004036a2

L38: 8d 55 c8 ?? lea edx, ss:[ebp + 0xc8<200,-56>]
 52 ?? push edx
 8b 55 c0 ?? mov edx, dword ss:[ebp + 0xc0<192,-64>]
 03 fa ?? add edi, edx

L39: 8b 4e 3c ?? mov ecx, dword ds:[esi + 0x3c<60>]
 57 ?? push edi
 50 ?? push eax
 8d 55 c4 ?? lea edx, ss:[ebp + 0xc4<196,-60>]
 52 ?? push edx
 8d 55 d1 ?? lea edx, ss:[ebp + 0xd1<209,-47>]
 52 ?? push edx
 8d 55 d0 ?? lea edx, ss:[ebp + 0xd0<208,-48>]
 52 ?? push edx
 89 45 cc ?? mov dword ss:[ebp + 0xcc<204,-52>], eax
 8b 01 ?? mov eax, dword ds:[ecx]
 53 ?? push ebx
 ff 50 14 ?? call dword ds:[eax + 0x14<20>]

L40: 85 c0 ?? test eax, eax
 0f 8d 36 ff ff ff ?? jge basic block L22

L41: eb 16 ?? jmp basic block L45

L42: 83 f8 03 ?? cmp eax, 3
 75 11 ?? jne basic block L45

L43: ff 76 4c ?? push dword ds:[esi + 0x4c<76>]
 ff 75 d0 ?? push dword ss:[ebp + 0xd0<208,-48>]
 e8 c7 f6 ff ff ?? call function 0x00403e0f

L44: 59 ?? pop ecx
 59 ?? pop ecx
 84 c0 ?? test al, al
 75 16 ?? jne basic block L48

L45: 83 ce ff ?? or esi, 0xff<255,-1>

L46: 6a 00 ?? push 0
 6a 01 ?? push 1
 8d 4d d4 ?? lea ecx, ss:[ebp + 0xd4<212,-44>]
 e8 9d c9 ff ff ?? call function 0x004010fa

L47: 8b c6 ?? mov eax, esi
 e9 6e fe ff ff ?? jmp basic block L4

L48: 8b 75 08 ?? mov esi, dword ss:[ebp + 8]
 eb e8 ?? jmp basic block L46

