
L1: 55 ?? push ebp
 8b ec ?? mov ebp, esp
 6a ff ?? push 0xff<255,-1>
 68 50 98 42 00 ?? push 0x00429850
 64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
 50 ?? push eax
 51 ?? push ecx
 83 ec 14 ?? sub esp, 0x14<20>
 53 ?? push ebx
 56 ?? push esi
 57 ?? push edi
 a1 f0 43 43 00 ?? mov eax, dword ds:[0x004343f0]
 33 c5 ?? xor eax, ebp
 50 ?? push eax
 8d 45 f4 ?? lea eax, ss:[ebp + 0xf4<244,-12>]
 64 a3 00 00 00 00 ?? mov dword fs:[0], eax
 89 65 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], esp
 89 4d e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], ecx
 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
 83 c8 0f ?? or eax, 15
 89 45 e8 ?? mov dword ss:[ebp + 0xe8<232,-24>], eax
 8b 4d e4 ?? mov ecx, dword ss:[ebp + 0xe4<228,-28>]
 e8 e3 e5 ff ff ?? call function 0x00401163

L2: 3b 45 e8 ?? cmp eax, dword ss:[ebp + 0xe8<232,-24>]
 73 08 ?? jae basic block L4

L3: 8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
 89 4d e8 ?? mov dword ss:[ebp + 0xe8<232,-24>], ecx
 eb 43 ?? jmp basic block L8

L4: 8b 55 e4 ?? mov edx, dword ss:[ebp + 0xe4<228,-28>]
 8b 4a 18 ?? mov ecx, dword ds:[edx + 0x18<24>]
 d1 e9 ?? shr ecx, 1
 8b 45 e8 ?? mov eax, dword ss:[ebp + 0xe8<232,-24>]
 33 d2 ?? xor edx, edx
 be 03 00 00 00 ?? mov esi, 3
 f7 f6 ?? div esi
 3b c1 ?? cmp eax, ecx
 73 2b ?? jae basic block L8

L5: 8b 55 e4 ?? mov edx, dword ss:[ebp + 0xe4<228,-28>]
 8b 72 18 ?? mov esi, dword ds:[edx + 0x18<24>]
 d1 ee ?? shr esi, 1
 8b 4d e4 ?? mov ecx, dword ss:[ebp + 0xe4<228,-28>]
 e8 ae e5 ff ff ?? call function 0x00401163

L6: 2b c6 ?? sub eax, esi
 8b 4d e4 ?? mov ecx, dword ss:[ebp + 0xe4<228,-28>]
 39 41 18 ?? cmp dword ds:[ecx + 0x18<24>], eax
 77 11 ?? ja basic block L8

L7: 8b 55 e4 ?? mov edx, dword ss:[ebp + 0xe4<228,-28>]
 8b 42 18 ?? mov eax, dword ds:[edx + 0x18<24>]
 d1 e8 ?? shr eax, 1
 8b 4d e4 ?? mov ecx, dword ss:[ebp + 0xe4<228,-28>]
 03 41 18 ?? add eax, dword ds:[ecx + 0x18<24>]
 89 45 e8 ?? mov dword ss:[ebp + 0xe8<232,-24>], eax

L8: c7 45 ec 00 00 00 00 ?? mov dword ss:[ebp + 0xec<236,-20>], 0
 c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
 8b 55 e8 ?? mov edx, dword ss:[ebp + 0xe8<232,-24>]
 83 c2 01 ?? add edx, 1
 52 ?? push edx
 8b 4d e4 ?? mov ecx, dword ss:[ebp + 0xe4<228,-28>]
 e8 5e e4 ff ff ?? call function 0x0040104b

L9: 89 45 e0 ?? mov dword ss:[ebp + 0xe0<224,-32>], eax
 8b 45 e0 ?? mov eax, dword ss:[ebp + 0xe0<224,-32>]
 89 45 ec ?? mov dword ss:[ebp + 0xec<236,-20>], eax
 eb 5d ?? jmp 0x00402c55
 c7 45 fc ff ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xffffffff<4294967295,-1>
 83 7d 0c 00 ?? cmp dword ss:[ebp + 12], 0
 76 20 ?? jbe basic block L18

L10: 89 65 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], esp
 8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
 89 4d e8 ?? mov dword ss:[ebp + 0xe8<232,-24>], ecx
 c6 45 fc 02 ?? mov byte ss:[ebp + 0xfc<252,-4>], 2
 8b 55 e8 ?? mov edx, dword ss:[ebp + 0xe8<232,-24>]
 83 c2 01 ?? add edx, 1
 52 ?? push edx
 8b 4d e4 ?? mov ecx, dword ss:[ebp + 0xe4<228,-28>]
 e8 37 e4 ff ff ?? call function 0x0040104b

L11: 89 45 dc ?? mov dword ss:[ebp + 0xdc<220,-36>], eax
 8b 45 dc ?? mov eax, dword ss:[ebp + 0xdc<220,-36>]
 89 45 ec ?? mov dword ss:[ebp + 0xec<236,-20>], eax
 eb 22 ?? jmp 0x00402c41
 c7 45 fc 01 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 1
 c7 45 fc 01 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 1
 b8 5c 2c 40 00 ?? mov eax, 0x00402c5c
 c3 ?? ret

L12: 6a 00 ?? push 0
 6a 01 ?? push 1
 8b 4d e4 ?? mov ecx, dword ss:[ebp + 0xe4<228,-28>]
 e8 e3 e4 ff ff ?? call function 0x0040110e

L13: 6a 00 ?? push 0
 6a 00 ?? push 0
 e8 45 35 00 00 ?? call function 0x00406179

L14: c7 45 fc 01 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 1
 b8 48 2c 40 00 ?? mov eax, 0x00402c48
 c3 ?? ret

L15: 8b 4d 0c ?? mov ecx, dword ss:[ebp + 12]
 51 ?? push ecx
 8b 4d e4 ?? mov ecx, dword ss:[ebp + 0xe4<228,-28>]
 e8 ce e3 ff ff ?? call function 0x0040103c

L16: 50 ?? push eax
 8b 55 e8 ?? mov edx, dword ss:[ebp + 0xe8<232,-24>]
 83 c2 01 ?? add edx, 1
 52 ?? push edx
 8b 45 ec ?? mov eax, dword ss:[ebp + 0xec<236,-20>]
 50 ?? push eax
 e8 3e e5 ff ff ?? call function 0x004011bd

L17: 83 c4 10 ?? add esp, 0x10<16>

L18: 6a 00 ?? push 0
 6a 01 ?? push 1
 8b 4d e4 ?? mov ecx, dword ss:[ebp + 0xe4<228,-28>]
 e8 80 e4 ff ff ?? call function 0x0040110e

L19: 8b 4d e4 ?? mov ecx, dword ss:[ebp + 0xe4<228,-28>]
 8b 55 ec ?? mov edx, dword ss:[ebp + 0xec<236,-20>]
 89 51 04 ?? mov dword ds:[ecx + 4], edx
 8b 45 e4 ?? mov eax, dword ss:[ebp + 0xe4<228,-28>]
 8b 4d e8 ?? mov ecx, dword ss:[ebp + 0xe8<232,-24>]
 89 48 18 ?? mov dword ds:[eax + 0x18<24>], ecx
 8b 55 0c ?? mov edx, dword ss:[ebp + 12]
 52 ?? push edx
 8b 4d e4 ?? mov ecx, dword ss:[ebp + 0xe4<228,-28>]
 e8 a8 e4 ff ff ?? call function 0x00401154

L20: 8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
 64 89 0d 00 00 00 00 ?? mov dword fs:[0], ecx
 59 ?? pop ecx
 5f ?? pop edi
 5e ?? pop esi
 5b ?? pop ebx
 8b e5 ?? mov esp, ebp
 5d ?? pop ebp
 c2 08 00 ?? ret 8

