Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   6a ff ?? push 0xff<255,-1>
   68 88 49 40 00 ?? push 0x00404988
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   50 ?? push eax
   56 ?? push esi
   57 ?? push edi
   a1 e8 a0 40 00 ?? mov eax, dword ds:[0x0040a0e8]
   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 f1 ?? mov esi, ecx
   8b 06 ?? mov eax, dword ds:[esi]
   0f af 46 04 ?? imul eax, dword ds:[esi + 4]
   33 ff ?? xor edi, edi
   c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
   85 c0 ?? test eax, eax
   7e 32 ?? jle basic block L6
  
  L2: 8d a4 24 00 00 00 00 ?? lea esp, ss:[esp + 0]
  
  L3: ff 35 48 b2 40 00 ?? push dword ds:[0x0040b248]
   8d 45 08 ?? lea eax, ss:[ebp + 8]
   50 ?? push eax
   ff 35 4c b2 40 00 ?? push dword ds:[0x0040b24c]
   e8 8b e8 ff ff ?? call function 0x00401140
  
  L4: 83 c4 08 ?? add esp, 8
   8b c8 ?? mov ecx, eax
   ff 15 3c b2 40 00 ?? call dword ds:[function 0x0040b23c]
  
  L5: 8b 06 ?? mov eax, dword ds:[esi]
   0f af 46 04 ?? imul eax, dword ds:[esi + 4]
   47 ?? inc edi
   3b f8 ?? cmp edi, eax
   7c d5 ?? jl basic block L3
  
  L6: 83 7d 1c 10 ?? cmp dword ss:[ebp + 0x1c<28>], 0x10<16>
   72 0b ?? jb basic block L9
  
  L7: ff 75 08 ?? push dword ss:[ebp + 8]
   e8 ff 00 00 00 ?? call function 0x004029d8
  
  L8: 83 c4 04 ?? add esp, 4
  
  L9: 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>
  
  