Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   6a ff ?? push 0xff<255,-1>
   68 e8 47 40 00 ?? push 0x004047e8
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   50 ?? push eax
   56 ?? push esi
   57 ?? push edi
   a1 04 80 40 00 ?? mov eax, dword ds:[0x00408004]
   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
   8b f9 ?? mov edi, ecx
   8b 07 ?? mov eax, dword ds:[edi]
   33 f6 ?? xor esi, esi
   0f af 47 04 ?? imul eax, dword ds:[edi + 4]
   c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
   85 c0 ?? test eax, eax
   7e 31 ?? jle basic block L6
  
  L2: 0f 1f 80 00 00 00 00 ?? nop dword ds:[eax + 0]
  
  L3: 68 4b 10 40 00 ?? push 0x0040104b
   8d 45 08 ?? lea eax, ss:[ebp + 8]
   50 ?? push eax
   ff 35 68 90 40 00 ?? push dword ds:[0x00409068]
   e8 42 f0 ff ff ?? call function 0x00401046
  
  L4: 83 c4 08 ?? add esp, 8
   8b c8 ?? mov ecx, eax
   ff 15 78 90 40 00 ?? call dword ds:[function 0x00409078]
  
  L5: 8b 07 ?? mov eax, dword ds:[edi]
   46 ?? inc esi
   0f af 47 04 ?? imul eax, dword ds:[edi + 4]
   3b f0 ?? cmp esi, eax
   7c d6 ?? jl basic block L3
  
  L6: 8b 45 1c ?? mov eax, dword ss:[ebp + 0x1c<28>]
   83 f8 10 ?? cmp eax, 0x10<16>
   72 46 ?? jb basic block L19
  
  L7: 8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   40 ?? inc eax
   3d 00 10 00 00 ?? cmp eax, 0x00001000<4096>
   72 32 ?? jb basic block L17
  
  L8: f6 c1 1f ?? test cl, 0x1f<31>
   74 06 ?? je basic block L10
  
  L9: ff 15 00 92 40 00 ?? call dword ds:[0x00409200]
  
  L10: 8b 41 fc ?? mov eax, dword ds:[ecx + 0xfc<252,-4>]
   3b c1 ?? cmp eax, ecx
   72 06 ?? jb basic block L12
  
  L11: ff 15 00 92 40 00 ?? call dword ds:[0x00409200]
  
  L12: 2b c8 ?? sub ecx, eax
   83 f9 04 ?? cmp ecx, 4
   73 06 ?? jae basic block L14
  
  L13: ff 15 00 92 40 00 ?? call dword ds:[0x00409200]
  
  L14: 83 f9 23 ?? cmp ecx, 0x23<35>
   76 06 ?? jbe basic block L16
  
  L15: ff 15 00 92 40 00 ?? call dword ds:[0x00409200]
  
  L16: 8b c8 ?? mov ecx, eax
  
  L17: 51 ?? push ecx
   e8 b9 ef ff ff ?? call function 0x0040101e
  
  L18: 83 c4 04 ?? add esp, 4
  
  L19: 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
   8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c2 18 00 ?? ret 0x0018<24>
  
  