Disassembly: 
  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
   57 ?? push edi
   ff 75 08 ?? push dword ss:[ebp + 8]
   8d 4d e8 ?? lea ecx, ss:[ebp + 0xe8<232,-24>]
   33 db ?? xor ebx, ebx
   e8 03 60 ff ff ?? call function 0x00406e0d
  
  L2: 8b 45 e8 ?? mov eax, dword ss:[ebp + 0xe8<232,-24>]
   8b b8 d4 00 00 00 ?? mov edi, dword ds:[eax + 0x000000d4<212>]
   89 5d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], ebx
  
  L3: 8b 75 fc ?? mov esi, dword ss:[ebp + 0xfc<252,-4>]
   c1 e6 02 ?? shl esi, 2
   ff 74 3e 1c ?? push dword ds:[esi + edi + 0x1c<28>]
   e8 eb 77 ff ff ?? call function 0x00408610
  
  L4: ff 34 3e ?? push dword ds:[esi + edi]
   89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
   e8 e0 77 ff ff ?? call function 0x00408610
  
  L5: 03 c3 ?? add eax, ebx
   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 f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
   8d 5c 08 02 ?? lea ebx, ds:[eax + ecx + 2]
   72 d2 ?? jb basic block L3
  
  L6: 8d 43 01 ?? lea eax, ds:[ebx + 1]
   50 ?? push eax
   e8 d9 64 ff ff ?? call function 0x00407326
  
  L7: 8b f0 ?? mov esi, eax
   59 ?? pop ecx
   89 75 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], esi
   85 f6 ?? test esi, esi
   0f 84 82 00 00 00 ?? je basic block L21
  
  L8: 83 65 fc 00 ?? and dword ss:[ebp + 0xfc<252,-4>], 0
  
  L9: 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
   c6 06 3a ?? mov byte ds:[esi], 0x3a<58>
   ff 34 87 ?? push dword ds:[edi + eax * 4]
   8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   46 ?? inc esi
   2b c6 ?? sub eax, esi
   8d 44 18 01 ?? lea eax, ds:[eax + ebx + 1]
   50 ?? push eax
   56 ?? push esi
   e8 28 77 ff ff ?? call function 0x004085a1
  
  L10: 83 c4 0c ?? add esp, 12
   85 c0 ?? test eax, eax
   74 0f ?? je basic block L13
  
  L11: 33 c0 ?? xor eax, eax
   50 ?? push eax
   50 ?? push eax
   50 ?? push eax
   50 ?? push eax
   50 ?? push eax
   e8 aa 7e ff ff ?? call function 0x00408d36
  
  L12: 83 c4 14 ?? add esp, 0x14<20>
  
  L13: 56 ?? push esi
   e8 7b 77 ff ff ?? call function 0x00408610
  
  L14: 03 f0 ?? add esi, eax
   8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
   c6 06 3a ?? mov byte ds:[esi], 0x3a<58>
   ff 74 87 1c ?? push dword ds:[edi + eax * 4 + 0x1c<28>]
   8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   46 ?? inc esi
   2b c6 ?? sub eax, esi
   8d 44 18 01 ?? lea eax, ds:[eax + ebx + 1]
   50 ?? push eax
   56 ?? push esi
   e8 ef 76 ff ff ?? call function 0x004085a1
  
  L15: 83 c4 10 ?? add esp, 0x10<16>
   85 c0 ?? test eax, eax
   74 0f ?? je basic block L18
  
  L16: 33 c0 ?? xor eax, eax
   50 ?? push eax
   50 ?? push eax
   50 ?? push eax
   50 ?? push eax
   50 ?? push eax
   e8 71 7e ff ff ?? call function 0x00408d36
  
  L17: 83 c4 14 ?? add esp, 0x14<20>
  
  L18: 56 ?? push esi
   e8 42 77 ff ff ?? call function 0x00408610
  
  L19: 03 f0 ?? add esi, eax
   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
   72 85 ?? jb basic block L9
  
  L20: c6 06 00 ?? mov byte ds:[esi], 0
  
  L21: 80 7d f4 00 ?? cmp byte ss:[ebp + 0xf4<244,-12>], 0
   5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   74 07 ?? je basic block L23
  
  L22: 8b 45 f0 ?? mov eax, dword ss:[ebp + 0xf0<240,-16>]
   83 60 70 fd ?? and dword ds:[eax + 0x70<112>], 0xfd<253,-3>
  
  L23: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   c9 ?? leave
   c3 ?? ret
  
  