
L1: 8b ff ?? mov edi, edi
 55 ?? push ebp
 8b ec ?? mov ebp, esp
 83 ec 24 ?? sub esp, 0x24<36>
 53 ?? push ebx
 56 ?? push esi
 57 ?? push edi
 ff 75 08 ?? push dword ss:[ebp + 8]
 8d 4d dc ?? lea ecx, ss:[ebp + 0xdc<220,-36>]
 33 ff ?? xor edi, edi
 e8 10 71 ff ff ?? call function 0x00408659

L2: 8b 45 dc ?? mov eax, dword ss:[ebp + 0xdc<220,-36>]
 8b b0 d4 00 00 00 ?? mov esi, dword ds:[eax + 0x000000d4<212>]
 89 7d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edi

L3: 8b 5d fc ?? mov ebx, dword ss:[ebp + 0xfc<252,-4>]
 c1 e3 02 ?? shl ebx, 2
 ff 74 33 1c ?? push dword ds:[ebx + esi + 0x1c<28>]
 e8 2c 54 ff ff ?? call function 0x00406990

L4: ff 34 33 ?? push dword ds:[ebx + esi]
 89 45 ec ?? mov dword ss:[ebp + 0xec<236,-20>], eax
 e8 21 54 ff ff ?? call function 0x00406990

L5: 03 c7 ?? add eax, edi
 ff 45 fc ?? inc dword ss:[ebp + 0xfc<252,-4>]
 83 7d fc 07 ?? cmp dword ss:[ebp + 0xfc<252,-4>], 7
 59 ?? pop ecx
 59 ?? pop ecx
 8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
 8d 7c 08 02 ?? lea edi, ds:[eax + ecx + 2]
 72 d2 ?? jb basic block L3

L6: 8d 46 38 ?? lea eax, ds:[esi + 0x38<56>]
 89 45 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], eax
 c7 45 f4 0c 00 00 00 ?? mov dword ss:[ebp + 0xf4<244,-12>], 12

L7: 8b 5d f0 ?? mov ebx, dword ss:[ebp + 0xf0<240,-16>]
 ff 73 30 ?? push dword ds:[ebx + 0x30<48>]
 e8 f5 53 ff ff ?? call function 0x00406990

L8: ff 33 ?? push dword ds:[ebx]
 89 45 ec ?? mov dword ss:[ebp + 0xec<236,-20>], eax
 e8 eb 53 ff ff ?? call function 0x00406990

L9: 83 45 f0 04 ?? add dword ss:[ebp + 0xf0<240,-16>], 4
 59 ?? pop ecx
 59 ?? pop ecx
 8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
 03 c7 ?? add eax, edi
 ff 4d f4 ?? dec dword ss:[ebp + 0xf4<244,-12>]
 8d 7c 08 02 ?? lea edi, ds:[eax + ecx + 2]
 75 d7 ?? jne basic block L7

L10: ff b6 9c 00 00 00 ?? push dword ds:[esi + 0x0000009c<156>]
 e8 cc 53 ff ff ?? call function 0x00406990

L11: ff b6 98 00 00 00 ?? push dword ds:[esi + 0x00000098<152>]
 8b d8 ?? mov ebx, eax
 e8 bf 53 ff ff ?? call function 0x00406990

L12: ff b6 a0 00 00 00 ?? push dword ds:[esi + 0x000000a0<160>]
 03 c7 ?? add eax, edi
 8d 7c 18 02 ?? lea edi, ds:[eax + ebx + 2]
 e8 ae 53 ff ff ?? call function 0x00406990

L13: ff b6 a4 00 00 00 ?? push dword ds:[esi + 0x000000a4<164>]
 8d 7c 07 01 ?? lea edi, ds:[edi + eax + 1]
 e8 9f 53 ff ff ?? call function 0x00406990

L14: ff b6 a8 00 00 00 ?? push dword ds:[esi + 0x000000a8<168>]
 8d 7c 07 01 ?? lea edi, ds:[edi + eax + 1]
 e8 90 53 ff ff ?? call function 0x00406990

L15: 8d 84 07 b9 00 00 00 ?? lea eax, ds:[edi + eax + 0x000000b9<185>]
 50 ?? push eax
 89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
 e8 46 54 ff ff ?? call function 0x00406a56

L16: 8b d8 ?? mov ebx, eax
 83 c4 18 ?? add esp, 0x18<24>
 85 db ?? test ebx, ebx
 0f 84 57 02 00 00 ?? je basic block L67

L17: 68 b8 00 00 00 ?? push 0x000000b8<184>
 56 ?? push esi
 53 ?? push ebx
 8d bb b8 00 00 00 ?? lea edi, ds:[ebx + 0x000000b8<184>]
 e8 31 e3 ff ff ?? call function 0x0040f960

L18: 83 65 fc 00 ?? and dword ss:[ebp + 0xfc<252,-4>], 0
 8d 46 1c ?? lea eax, ds:[esi + 0x1c<28>]
 89 5d f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], ebx
 83 c4 0c ?? add esp, 12
 29 75 f0 ?? sub dword ss:[ebp + 0xf0<240,-16>], esi
 89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax

L19: 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
 89 3c 83 ?? mov dword ds:[ebx + eax * 4], edi
 8b 45 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12>]
 ff 70 e4 ?? push dword ds:[eax + 0xe4<228,-28>]
 8b c3 ?? mov eax, ebx
 2b c7 ?? sub eax, edi
 03 45 f8 ?? add eax, dword ss:[ebp + 0xf8<248,-8>]
 50 ?? push eax
 57 ?? push edi
 e8 c7 52 ff ff ?? call function 0x00406923

L20: 83 c4 0c ?? add esp, 12
 85 c0 ?? test eax, eax
 74 0f ?? je basic block L23

L21: 33 c0 ?? xor eax, eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 e8 17 76 ff ff ?? call function 0x00408c86

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

L23: 57 ?? push edi
 e8 18 53 ff ff ?? call function 0x00406990

L24: 8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
 8d 7c 07 01 ?? lea edi, ds:[edi + eax + 1]
 8b 45 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12>]
 89 3c 01 ?? mov dword ds:[ecx + eax], edi
 ff 30 ?? push dword ds:[eax]
 8b c3 ?? mov eax, ebx
 2b c7 ?? sub eax, edi
 03 45 f8 ?? add eax, dword ss:[ebp + 0xf8<248,-8>]
 50 ?? push eax
 57 ?? push edi
 e8 8e 52 ff ff ?? call function 0x00406923

L25: 83 c4 10 ?? add esp, 0x10<16>
 85 c0 ?? test eax, eax
 74 0f ?? je basic block L28

L26: 33 c0 ?? xor eax, eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 e8 de 75 ff ff ?? call function 0x00408c86

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

L28: 57 ?? push edi
 e8 df 52 ff ff ?? call function 0x00406990

L29: ff 45 fc ?? inc dword ss:[ebp + 0xfc<252,-4>]
 83 45 f4 04 ?? add dword ss:[ebp + 0xf4<244,-12>], 4
 83 7d fc 07 ?? cmp dword ss:[ebp + 0xfc<252,-4>], 7
 59 ?? pop ecx
 8d 7c 07 01 ?? lea edi, ds:[edi + eax + 1]
 0f 82 7b ff ff ff ?? jb basic block L19

L30: 8d 43 68 ?? lea eax, ds:[ebx + 0x68<104>]
 89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
 8d 46 38 ?? lea eax, ds:[esi + 0x38<56>]
 89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
 c7 45 ec 0c 00 00 00 ?? mov dword ss:[ebp + 0xec<236,-20>], 12
 eb 03 ?? jmp basic block L32

L31: 8b 45 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12>]

L32: 8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
 89 3c 08 ?? mov dword ds:[eax + ecx], edi
 ff 30 ?? push dword ds:[eax]
 8b c3 ?? mov eax, ebx
 2b c7 ?? sub eax, edi
 03 45 f8 ?? add eax, dword ss:[ebp + 0xf8<248,-8>]
 50 ?? push eax
 57 ?? push edi
 e8 2e 52 ff ff ?? call function 0x00406923

L33: 83 c4 0c ?? add esp, 12
 85 c0 ?? test eax, eax
 74 0f ?? je basic block L36

L34: 33 c0 ?? xor eax, eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 e8 7e 75 ff ff ?? call function 0x00408c86

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

L36: 57 ?? push edi
 e8 7f 52 ff ff ?? call function 0x00406990

L37: 8d 7c 07 01 ?? lea edi, ds:[edi + eax + 1]
 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
 89 38 ?? mov dword ds:[eax], edi
 8b 45 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12>]
 ff 70 30 ?? push dword ds:[eax + 0x30<48>]
 8b c3 ?? mov eax, ebx
 2b c7 ?? sub eax, edi
 03 45 f8 ?? add eax, dword ss:[ebp + 0xf8<248,-8>]
 50 ?? push eax
 57 ?? push edi
 e8 f5 51 ff ff ?? call function 0x00406923

L38: 83 c4 10 ?? add esp, 0x10<16>
 85 c0 ?? test eax, eax
 74 0f ?? je basic block L41

L39: 33 c0 ?? xor eax, eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 e8 45 75 ff ff ?? call function 0x00408c86

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

L41: 57 ?? push edi
 e8 46 52 ff ff ?? call function 0x00406990

L42: 83 45 f4 04 ?? add dword ss:[ebp + 0xf4<244,-12>], 4
 83 45 fc 04 ?? add dword ss:[ebp + 0xfc<252,-4>], 4
 ff 4d ec ?? dec dword ss:[ebp + 0xec<236,-20>]
 59 ?? pop ecx
 8d 7c 07 01 ?? lea edi, ds:[edi + eax + 1]
 75 80 ?? jne basic block L31

L43: 8b c3 ?? mov eax, ebx
 2b c7 ?? sub eax, edi
 03 45 f8 ?? add eax, dword ss:[ebp + 0xf8<248,-8>]
 89 bb 98 00 00 00 ?? mov dword ds:[ebx + 0x00000098<152>], edi
 ff b6 98 00 00 00 ?? push dword ds:[esi + 0x00000098<152>]
 50 ?? push eax
 57 ?? push edi
 e8 ad 51 ff ff ?? call function 0x00406923

L44: 83 c4 0c ?? add esp, 12
 85 c0 ?? test eax, eax
 74 0f ?? je basic block L47

L45: 33 c0 ?? xor eax, eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 e8 fd 74 ff ff ?? call function 0x00408c86

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

L47: 57 ?? push edi
 e8 fe 51 ff ff ?? call function 0x00406990

L48: 8d 7c 07 01 ?? lea edi, ds:[edi + eax + 1]
 8b c3 ?? mov eax, ebx
 2b c7 ?? sub eax, edi
 03 45 f8 ?? add eax, dword ss:[ebp + 0xf8<248,-8>]
 89 bb 9c 00 00 00 ?? mov dword ds:[ebx + 0x0000009c<156>], edi
 ff b6 9c 00 00 00 ?? push dword ds:[esi + 0x0000009c<156>]
 50 ?? push eax
 57 ?? push edi
 e8 73 51 ff ff ?? call function 0x00406923

L49: 83 c4 10 ?? add esp, 0x10<16>
 85 c0 ?? test eax, eax
 74 0f ?? je basic block L52

L50: 33 c0 ?? xor eax, eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 e8 c3 74 ff ff ?? call function 0x00408c86

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

L52: 57 ?? push edi
 e8 c4 51 ff ff ?? call function 0x00406990

L53: 8d 7c 07 01 ?? lea edi, ds:[edi + eax + 1]
 8b c3 ?? mov eax, ebx
 2b c7 ?? sub eax, edi
 03 45 f8 ?? add eax, dword ss:[ebp + 0xf8<248,-8>]
 89 bb a0 00 00 00 ?? mov dword ds:[ebx + 0x000000a0<160>], edi
 ff b6 a0 00 00 00 ?? push dword ds:[esi + 0x000000a0<160>]
 50 ?? push eax
 57 ?? push edi
 e8 39 51 ff ff ?? call function 0x00406923

L54: 83 c4 10 ?? add esp, 0x10<16>
 85 c0 ?? test eax, eax
 74 0f ?? je basic block L57

L55: 33 c0 ?? xor eax, eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 e8 89 74 ff ff ?? call function 0x00408c86

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

L57: 57 ?? push edi
 e8 8a 51 ff ff ?? call function 0x00406990

L58: 8d 7c 07 01 ?? lea edi, ds:[edi + eax + 1]
 8b c3 ?? mov eax, ebx
 2b c7 ?? sub eax, edi
 03 45 f8 ?? add eax, dword ss:[ebp + 0xf8<248,-8>]
 89 bb a4 00 00 00 ?? mov dword ds:[ebx + 0x000000a4<164>], edi
 ff b6 a4 00 00 00 ?? push dword ds:[esi + 0x000000a4<164>]
 50 ?? push eax
 57 ?? push edi
 e8 ff 50 ff ff ?? call function 0x00406923

L59: 83 c4 10 ?? add esp, 0x10<16>
 85 c0 ?? test eax, eax
 74 0f ?? je basic block L62

L60: 33 c0 ?? xor eax, eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 e8 4f 74 ff ff ?? call function 0x00408c86

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

L62: 57 ?? push edi
 e8 50 51 ff ff ?? call function 0x00406990

L63: 8d 44 07 01 ?? lea eax, ds:[edi + eax + 1]
 8b cb ?? mov ecx, ebx
 2b c8 ?? sub ecx, eax
 03 4d f8 ?? add ecx, dword ss:[ebp + 0xf8<248,-8>]
 89 83 a8 00 00 00 ?? mov dword ds:[ebx + 0x000000a8<168>], eax
 ff b6 a8 00 00 00 ?? push dword ds:[esi + 0x000000a8<168>]
 51 ?? push ecx
 50 ?? push eax
 e8 c5 50 ff ff ?? call function 0x00406923

L64: 83 c4 10 ?? add esp, 0x10<16>
 85 c0 ?? test eax, eax
 74 0f ?? je basic block L67

L65: 33 c0 ?? xor eax, eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 50 ?? push eax
 e8 15 74 ff ff ?? call function 0x00408c86

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

L67: 80 7d e8 00 ?? cmp byte ss:[ebp + 0xe8<232,-24>], 0
 74 07 ?? je basic block L69

L68: 8b 45 e4 ?? mov eax, dword ss:[ebp + 0xe4<228,-28>]
 83 60 70 fd ?? and dword ds:[eax + 0x70<112>], 0xfd<253,-3>

L69: 5f ?? pop edi
 5e ?? pop esi
 8b c3 ?? mov eax, ebx
 5b ?? pop ebx
 c9 ?? leave
 c3 ?? ret

