
L1: 8b ff ?? mov edi, edi
 55 ?? push ebp
 8b ec ?? mov ebp, esp
 83 ec 18 ?? sub esp, 0x18<24>
 53 ?? push ebx
 56 ?? push esi
 ff 75 0c ?? push dword ss:[ebp + 12]
 8d 4d e8 ?? lea ecx, ss:[ebp + 0xe8<232,-24>]
 e8 50 96 fe ff ?? call function 0x0040e60f

L2: 8b 5d 08 ?? mov ebx, dword ss:[ebp + 8]
 be 00 01 00 00 ?? mov esi, 0x00000100<256>
 3b de ?? cmp ebx, esi
 73 54 ?? jae basic block L12

L3: 8b 4d e8 ?? mov ecx, dword ss:[ebp + 0xe8<232,-24>]
 83 b9 ac 00 00 00 01 ?? cmp dword ds:[ecx + 0x000000ac<172>], 1
 7e 14 ?? jle basic block L6

L4: 8d 45 e8 ?? lea eax, ss:[ebp + 0xe8<232,-24>]
 50 ?? push eax
 6a 01 ?? push 1
 53 ?? push ebx
 e8 59 79 ff ff ?? call function 0x0041c93c

L5: 8b 4d e8 ?? mov ecx, dword ss:[ebp + 0xe8<232,-24>]
 83 c4 0c ?? add esp, 12
 eb 0d ?? jmp basic block L7

L6: 8b 81 c8 00 00 00 ?? mov eax, dword ds:[ecx + 0x000000c8<200>]
 0f b7 04 58 ?? movzx eax, word ds:[eax + ebx * 2]
 83 e0 01 ?? and eax, 1

L7: 85 c0 ?? test eax, eax
 74 0f ?? je basic block L9

L8: 8b 81 cc 00 00 00 ?? mov eax, dword ds:[ecx + 0x000000cc<204>]
 0f b6 04 18 ?? movzx eax, byte ds:[eax + ebx]
 e9 a3 00 00 00 ?? jmp basic block L22

L9: 80 7d f4 00 ?? cmp byte ss:[ebp + 0xf4<244,-12>], 0
 74 07 ?? je basic block L11

L10: 8b 45 f0 ?? mov eax, dword ss:[ebp + 0xf0<240,-16>]
 83 60 70 fd ?? and dword ds:[eax + 0x70<112>], 0xfd<253,-3>

L11: 8b c3 ?? mov eax, ebx
 e9 9c 00 00 00 ?? jmp basic block L24

L12: 8b 45 e8 ?? mov eax, dword ss:[ebp + 0xe8<232,-24>]
 83 b8 ac 00 00 00 01 ?? cmp dword ds:[eax + 0x000000ac<172>], 1
 7e 31 ?? jle basic block L16

L13: 89 5d 08 ?? mov dword ss:[ebp + 8], ebx
 c1 7d 08 08 ?? sar dword ss:[ebp + 8], 8
 8d 45 e8 ?? lea eax, ss:[ebp + 0xe8<232,-24>]
 50 ?? push eax
 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
 25 ff 00 00 00 ?? and eax, 0x000000ff<255>
 50 ?? push eax
 e8 1b db ff ff ?? call function 0x00422b5f

L14: 59 ?? pop ecx
 59 ?? pop ecx
 85 c0 ?? test eax, eax
 74 12 ?? je basic block L16

L15: 8a 45 08 ?? mov al, byte ss:[ebp + 8]
 6a 02 ?? push 2
 88 45 fc ?? mov byte ss:[ebp + 0xfc<252,-4>], al
 88 5d fd ?? mov byte ss:[ebp + 0xfd<253,-3>], bl
 c6 45 fe 00 ?? mov byte ss:[ebp + 0xfe<254,-2>], 0
 59 ?? pop ecx
 eb 15 ?? jmp basic block L18

L16: e8 36 90 fe ff ?? call function 0x0040e097

L17: c7 00 2a 00 00 00 ?? mov dword ds:[eax], 0x0000002a<42>
 33 c9 ?? xor ecx, ecx
 88 5d fc ?? mov byte ss:[ebp + 0xfc<252,-4>], bl
 c6 45 fd 00 ?? mov byte ss:[ebp + 0xfd<253,-3>], 0
 41 ?? inc ecx

L18: 8b 45 e8 ?? mov eax, dword ss:[ebp + 0xe8<232,-24>]
 6a 01 ?? push 1
 ff 70 04 ?? push dword ds:[eax + 4]
 8d 55 f8 ?? lea edx, ss:[ebp + 0xf8<248,-8>]
 6a 03 ?? push 3
 52 ?? push edx
 51 ?? push ecx
 8d 4d fc ?? lea ecx, ss:[ebp + 0xfc<252,-4>]
 51 ?? push ecx
 56 ?? push esi
 ff 70 14 ?? push dword ds:[eax + 0x14<20>]
 8d 45 e8 ?? lea eax, ss:[ebp + 0xe8<232,-24>]
 50 ?? push eax
 e8 d9 99 fe ff ?? call function 0x0040ea6a

L19: 83 c4 24 ?? add esp, 0x24<36>
 85 c0 ?? test eax, eax
 0f 84 6f ff ff ff ?? je basic block L9

L20: 83 f8 01 ?? cmp eax, 1
 0f b6 45 f8 ?? movzx eax, byte ss:[ebp + 0xf8<248,-8>]
 74 09 ?? je basic block L22

L21: 0f b6 4d f9 ?? movzx ecx, byte ss:[ebp + 0xf9<249,-7>]
 c1 e0 08 ?? shl eax, 8
 0b c1 ?? or eax, ecx

L22: 80 7d f4 00 ?? cmp byte ss:[ebp + 0xf4<244,-12>], 0
 74 07 ?? je basic block L24

L23: 8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
 83 61 70 fd ?? and dword ds:[ecx + 0x70<112>], 0xfd<253,-3>

L24: 5e ?? pop esi
 5b ?? pop ebx
 c9 ?? leave
 c3 ?? ret

