
L1: 8b ff ?? mov edi, edi
 55 ?? push ebp
 8b ec ?? mov ebp, esp
 83 ec 14 ?? sub esp, 0x14<20>
 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
 53 ?? push ebx
 33 db ?? xor ebx, ebx
 89 5d f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], ebx
 3b c3 ?? cmp eax, ebx
 75 1d ?? jne basic block L5

L2: e8 2d c4 fe ff ?? call function 0x00404e34

L3: 53 ?? push ebx
 53 ?? push ebx
 53 ?? push ebx
 53 ?? push ebx
 53 ?? push ebx
 c7 00 16 00 00 00 ?? mov dword ds:[eax], 0x00000016<22>
 e8 ee 00 ff ff ?? call function 0x00408b05

L4: 83 c4 14 ?? add esp, 0x14<20>
 83 c8 ff ?? or eax, 0xff<255,-1>
 eb 6e ?? jmp basic block L21

L5: 56 ?? push esi
 8b 30 ?? mov esi, dword ds:[eax]
 57 ?? push edi
 89 75 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], esi
 3b f3 ?? cmp esi, ebx
 74 53 ?? je basic block L17

L6: 6a 3d ?? push 0x3d<61>
 56 ?? push esi
 e8 17 03 00 00 ?? call function 0x00418d49

L7: 8b f8 ?? mov edi, eax
 59 ?? pop ecx
 59 ?? pop ecx
 89 7d ec ?? mov dword ss:[ebp + 0xec<236,-20>], edi
 3b fb ?? cmp edi, ebx
 74 40 ?? je basic block L17

L8: 3b f7 ?? cmp esi, edi
 74 3c ?? je basic block L17

L9: 33 c0 ?? xor eax, eax
 38 5f 01 ?? cmp byte ds:[edi + 1], bl
 0f 94 c0 ?? sete al
 89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
 a1 6c 84 42 00 ?? mov eax, dword ds:[0x0042846c]
 3b 05 70 84 42 00 ?? cmp eax, dword ds:[0x00428470]
 75 0a ?? jne basic block L12

L10: e8 35 ff ff ff ?? call function 0x00418993

L11: a3 6c 84 42 00 ?? mov dword ds:[0x0042846c], eax

L12: 3b c3 ?? cmp eax, ebx
 75 60 ?? jne basic block L29

L13: 39 5d 0c ?? cmp dword ss:[ebp + 12], ebx
 74 24 ?? je basic block L22

L14: 39 1d 74 84 42 00 ?? cmp dword ds:[0x00428474], ebx
 74 1c ?? je basic block L22

L15: e8 80 f8 ff ff ?? call function 0x004182f9

L16: 85 c0 ?? test eax, eax
 74 4a ?? je basic block L29

L17: e8 b2 c3 fe ff ?? call function 0x00404e34

L18: c7 00 16 00 00 00 ?? mov dword ds:[eax], 0x00000016<22>

L19: 83 c8 ff ?? or eax, 0xff<255,-1>

L20: 5f ?? pop edi
 5e ?? pop esi

L21: 5b ?? pop ebx
 c9 ?? leave
 c3 ?? ret

L22: 39 5d f8 ?? cmp dword ss:[ebp + 0xf8<248,-8>], ebx
 0f 85 98 01 00 00 ?? jne basic block L72

L23: 6a 04 ?? push 4
 e8 93 db fe ff ?? call function 0x00406633

L24: 59 ?? pop ecx
 a3 6c 84 42 00 ?? mov dword ds:[0x0042846c], eax
 3b c3 ?? cmp eax, ebx
 74 de ?? je basic block L19

L25: 89 18 ?? mov dword ds:[eax], ebx
 39 1d 74 84 42 00 ?? cmp dword ds:[0x00428474], ebx
 75 13 ?? jne basic block L29

L26: 6a 04 ?? push 4
 e8 78 db fe ff ?? call function 0x00406633

L27: 59 ?? pop ecx
 a3 74 84 42 00 ?? mov dword ds:[0x00428474], eax
 3b c3 ?? cmp eax, ebx
 74 c3 ?? je basic block L19

L28: 89 18 ?? mov dword ds:[eax], ebx

L29: 8b 35 6c 84 42 00 ?? mov esi, dword ds:[0x0042846c]
 89 75 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], esi
 3b f3 ?? cmp esi, ebx
 74 b4 ?? je basic block L19

L30: 2b 7d fc ?? sub edi, dword ss:[ebp + 0xfc<252,-4>]
 ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
 e8 62 fe ff ff ?? call function 0x00418941

L31: 8b f8 ?? mov edi, eax
 3b fb ?? cmp edi, ebx
 59 ?? pop ecx
 7c 52 ?? jl basic block L42

L32: 39 1e ?? cmp dword ds:[esi], ebx
 74 4e ?? je basic block L42

L33: 8d 34 be ?? lea esi, ds:[esi + edi * 4]
 ff 36 ?? push dword ds:[esi]
 e8 3f 8e fe ff ?? call function 0x00401933

L34: 59 ?? pop ecx
 39 5d f8 ?? cmp dword ss:[ebp + 0xf8<248,-8>], ebx
 75 1b ?? jne basic block L37

L35: 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
 89 06 ?? mov dword ds:[esi], eax
 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
 89 18 ?? mov dword ds:[eax], ebx
 e9 82 00 00 00 ?? jmp basic block L51

L36: 8b 46 04 ?? mov eax, dword ds:[esi + 4]
 89 06 ?? mov dword ds:[esi], eax
 8b 45 f0 ?? mov eax, dword ss:[ebp + 0xf0<240,-16>]
 47 ?? inc edi
 8d 34 b8 ?? lea esi, ds:[eax + edi * 4]

L37: 39 1e ?? cmp dword ds:[esi], ebx
 75 f0 ?? jne basic block L36

L38: 81 ff ff ff ff 3f ?? cmp edi, 0x3fffffff
 73 6a ?? jae basic block L51

L39: 6a 04 ?? push 4
 57 ?? push edi
 ff 35 6c 84 42 00 ?? push dword ds:[0x0042846c]
 e8 e3 db fe ff ?? call function 0x00406712

L40: 83 c4 0c ?? add esp, 12
 3b c3 ?? cmp eax, ebx
 74 55 ?? je basic block L51

L41: eb 4e ?? jmp basic block L50

L42: 39 5d f8 ?? cmp dword ss:[ebp + 0xf8<248,-8>], ebx
 0f 85 e2 00 00 00 ?? jne basic block L70

L43: 3b fb ?? cmp edi, ebx
 7d 02 ?? jge basic block L45

L44: f7 df ?? neg edi

L45: 8d 47 02 ?? lea eax, ds:[edi + 2]
 3b c7 ?? cmp eax, edi
 0f 8c 36 ff ff ff ?? jl basic block L19

L46: 3d ff ff ff 3f ?? cmp eax, 0x3fffffff
 0f 83 2b ff ff ff ?? jae basic block L19

L47: 50 ?? push eax
 6a 04 ?? push 4
 ff 35 6c 84 42 00 ?? push dword ds:[0x0042846c]
 e8 a7 db fe ff ?? call function 0x00406712

L48: 83 c4 0c ?? add esp, 12
 3b c3 ?? cmp eax, ebx
 0f 84 12 ff ff ff ?? je basic block L19

L49: 8b 55 fc ?? mov edx, dword ss:[ebp + 0xfc<252,-4>]
 8d 0c b8 ?? lea ecx, ds:[eax + edi * 4]
 89 11 ?? mov dword ds:[ecx], edx
 89 59 04 ?? mov dword ds:[ecx + 4], ebx
 8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
 89 19 ?? mov dword ds:[ecx], ebx

L50: a3 6c 84 42 00 ?? mov dword ds:[0x0042846c], eax

L51: 39 5d 0c ?? cmp dword ss:[ebp + 12], ebx
 74 78 ?? je basic block L66

L52: 8b 75 fc ?? mov esi, dword ss:[ebp + 0xfc<252,-4>]
 6a 01 ?? push 1
 56 ?? push esi
 e8 d5 d5 fe ff ?? call function 0x00406170

L53: 40 ?? inc eax
 59 ?? pop ecx
 40 ?? inc eax
 50 ?? push eax
 e8 d4 da fe ff ?? call function 0x00406678

L54: 8b f8 ?? mov edi, eax
 59 ?? pop ecx
 59 ?? pop ecx
 3b fb ?? cmp edi, ebx
 74 5c ?? je basic block L66

L55: 56 ?? push esi
 56 ?? push esi
 e8 bd d5 fe ff ?? call function 0x00406170

L56: 40 ?? inc eax
 59 ?? pop ecx
 40 ?? inc eax
 50 ?? push eax
 57 ?? push edi
 e8 46 d5 fe ff ?? call function 0x00406103

L57: 83 c4 0c ?? add esp, 12
 85 c0 ?? test eax, eax
 74 0d ?? je basic block L60

L58: 53 ?? push ebx
 53 ?? push ebx
 53 ?? push ebx
 53 ?? push ebx
 53 ?? push ebx
 e8 d0 fd fe ff ?? call function 0x0040899e

L59: 83 c4 14 ?? add esp, 0x14<20>

L60: 8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
 8b c7 ?? mov eax, edi
 2b c6 ?? sub eax, esi
 03 45 ec ?? add eax, dword ss:[ebp + 0xec<236,-20>]
 88 18 ?? mov byte ds:[eax], bl
 40 ?? inc eax
 f7 d9 ?? neg ecx
 1b c9 ?? sbb ecx, ecx
 f7 d1 ?? not ecx
 23 c8 ?? and ecx, eax
 51 ?? push ecx
 57 ?? push edi
 ff 15 d8 92 42 00 ?? call dword ds:[0x004292d8]

L61: 85 c0 ?? test eax, eax
 75 0f ?? jne basic block L64

L62: 83 4d f4 ff ?? or dword ss:[ebp + 0xf4<244,-12>], 0xff<255,-1>
 e8 39 c2 fe ff ?? call function 0x00404e34

L63: c7 00 2a 00 00 00 ?? mov dword ds:[eax], 0x0000002a<42>

L64: 57 ?? push edi
 e8 2c 8d fe ff ?? call function 0x00401933

L65: 59 ?? pop ecx

L66: 39 5d f8 ?? cmp dword ss:[ebp + 0xf8<248,-8>], ebx
 74 0e ?? je basic block L69

L67: ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
 e8 1e 8d fe ff ?? call function 0x00401933

L68: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
 59 ?? pop ecx
 89 18 ?? mov dword ds:[eax], ebx

L69: 8b 45 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12>]
 e9 68 fe ff ff ?? jmp basic block L20

L70: ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
 e8 08 8d fe ff ?? call function 0x00401933

L71: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
 59 ?? pop ecx
 89 18 ?? mov dword ds:[eax], ebx

L72: 33 c0 ?? xor eax, eax
 e9 53 fe ff ff ?? jmp basic block L20

