Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   51 ?? push ecx
   56 ?? push esi
   e8 ed ef ff ff ?? call function 0x00403762
  
  L2: 8b f0 ?? mov esi, eax
   85 f6 ?? test esi, esi
   0f 84 46 01 00 00 ?? je basic block L42
  
  L3: 8b 56 5c ?? mov edx, dword ds:[esi + 0x5c<92>]
   a1 2c 82 42 00 ?? mov eax, dword ds:[0x0042822c<"\n">]
   57 ?? push edi
   8b 7d 08 ?? mov edi, dword ss:[ebp + 8]
   8b ca ?? mov ecx, edx
   53 ?? push ebx
  
  L4: 39 39 ?? cmp dword ds:[ecx], edi
   74 0e ?? je basic block L6
  
  L5: 8b d8 ?? mov ebx, eax
   6b db 0c ?? imul ebx, ebx, 12
   83 c1 0c ?? add ecx, 12
   03 da ?? add ebx, edx
   3b cb ?? cmp ecx, ebx
   72 ee ?? jb basic block L4
  
  L6: 6b c0 0c ?? imul eax, eax, 12
   03 c2 ?? add eax, edx
   3b c8 ?? cmp ecx, eax
   73 08 ?? jae basic block L9
  
  L7: 39 39 ?? cmp dword ds:[ecx], edi
   75 04 ?? jne basic block L9
  
  L8: 8b c1 ?? mov eax, ecx
   eb 02 ?? jmp basic block L10
  
  L9: 33 c0 ?? xor eax, eax
  
  L10: 85 c0 ?? test eax, eax
   74 0a ?? je basic block L12
  
  L11: 8b 58 08 ?? mov ebx, dword ds:[eax + 8]
   89 5d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], ebx
   85 db ?? test ebx, ebx
   75 07 ?? jne basic block L13
  
  L12: 33 c0 ?? xor eax, eax
   e9 fb 00 00 00 ?? jmp basic block L41
  
  L13: 83 fb 05 ?? cmp ebx, 5
   75 0c ?? jne basic block L15
  
  L14: 83 60 08 00 ?? and dword ds:[eax + 8], 0
   33 c0 ?? xor eax, eax
   40 ?? inc eax
   e9 ea 00 00 00 ?? jmp basic block L41
  
  L15: 83 fb 01 ?? cmp ebx, 1
   0f 84 de 00 00 00 ?? je basic block L40
  
  L16: 8b 4e 60 ?? mov ecx, dword ds:[esi + 0x60<96>]
   89 4d f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], ecx
   8b 4d 0c ?? mov ecx, dword ss:[ebp + 12]
   89 4e 60 ?? mov dword ds:[esi + 0x60<96>], ecx
   8b 48 04 ?? mov ecx, dword ds:[eax + 4]
   83 f9 08 ?? cmp ecx, 8
   0f 85 b8 00 00 00 ?? jne basic block L38
  
  L17: 8b 0d 20 82 42 00 ?? mov ecx, dword ds:[0x00428220]
   8b 3d 24 82 42 00 ?? mov edi, dword ds:[0x00428224]
   8b d1 ?? mov edx, ecx
   03 f9 ?? add edi, ecx
   3b d7 ?? cmp edx, edi
   7d 24 ?? jge basic block L22
  
  L18: 6b c9 0c ?? imul ecx, ecx, 12
  
  L19: 8b 7e 5c ?? mov edi, dword ds:[esi + 0x5c<92>]
   83 64 39 08 00 ?? and dword ds:[ecx + edi + 8], 0
   8b 3d 20 82 42 00 ?? mov edi, dword ds:[0x00428220]
   8b 1d 24 82 42 00 ?? mov ebx, dword ds:[0x00428224]
   42 ?? inc edx
   03 df ?? add ebx, edi
   83 c1 0c ?? add ecx, 12
   3b d3 ?? cmp edx, ebx
  
  L20: 7c e2 ?? jl basic block L19
  
  L21: 8b 5d fc ?? mov ebx, dword ss:[ebp + 0xfc<252,-4>]
  
  L22: 8b 00 ?? mov eax, dword ds:[eax]
   8b 7e 64 ?? mov edi, dword ds:[esi + 0x64<100>]
   3d 8e 00 00 c0 ?? cmp eax, 0xc000008e
   75 09 ?? jne basic block L24
  
  L23: c7 46 64 83 00 00 00 ?? mov dword ds:[esi + 0x64<100>], 0x00000083<131>
   eb 5e ?? jmp basic block L36
  
  L24: 3d 90 00 00 c0 ?? cmp eax, 0xc0000090
   75 09 ?? jne basic block L26
  
  L25: c7 46 64 81 00 00 00 ?? mov dword ds:[esi + 0x64<100>], 0x00000081<129>
   eb 4e ?? jmp basic block L36
  
  L26: 3d 91 00 00 c0 ?? cmp eax, 0xc0000091
   75 09 ?? jne basic block L28
  
  L27: c7 46 64 84 00 00 00 ?? mov dword ds:[esi + 0x64<100>], 0x00000084<132>
   eb 3e ?? jmp basic block L36
  
  L28: 3d 93 00 00 c0 ?? cmp eax, 0xc0000093
   75 09 ?? jne basic block L30
  
  L29: c7 46 64 85 00 00 00 ?? mov dword ds:[esi + 0x64<100>], 0x00000085<133>
   eb 2e ?? jmp basic block L36
  
  L30: 3d 8d 00 00 c0 ?? cmp eax, 0xc000008d
   75 09 ?? jne basic block L32
  
  L31: c7 46 64 82 00 00 00 ?? mov dword ds:[esi + 0x64<100>], 0x00000082<130>
   eb 1e ?? jmp basic block L36
  
  L32: 3d 8f 00 00 c0 ?? cmp eax, 0xc000008f
   75 09 ?? jne basic block L34
  
  L33: c7 46 64 86 00 00 00 ?? mov dword ds:[esi + 0x64<100>], 0x00000086<134>
   eb 0e ?? jmp basic block L36
  
  L34: 3d 92 00 00 c0 ?? cmp eax, 0xc0000092
   75 07 ?? jne basic block L36
  
  L35: c7 46 64 8a 00 00 00 ?? mov dword ds:[esi + 0x64<100>], 0x0000008a<138>
  
  L36: ff 76 64 ?? push dword ds:[esi + 0x64<100>]
   6a 08 ?? push 8
   ff d3 ?? call ebx
  
  L37: 59 ?? pop ecx
   89 7e 64 ?? mov dword ds:[esi + 0x64<100>], edi
   eb 07 ?? jmp basic block L39
  
  L38: 83 60 08 00 ?? and dword ds:[eax + 8], 0
   51 ?? push ecx
   ff d3 ?? call ebx
  
  L39: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   59 ?? pop ecx
   89 46 60 ?? mov dword ds:[esi + 0x60<96>], eax
  
  L40: 83 c8 ff ?? or eax, 0xff<255,-1>
  
  L41: 5b ?? pop ebx
   5f ?? pop edi
  
  L42: 5e ?? pop esi
   c9 ?? leave
   c3 ?? ret
  
  