Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   6a fe ?? push 0xfe<254,-2>
   68 10 92 40 00 ?? push 0x00409210
   68 10 35 40 00 ?? push function 0x00403510
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   50 ?? push eax
   83 c4 f4 ?? add esp, 0xf4<244,-12>
   53 ?? push ebx
   56 ?? push esi
   57 ?? push edi
   a1 84 a0 40 00 ?? mov eax, dword ds:[0x0040a084]
   31 45 f8 ?? xor dword ss:[ebp + 0xf8<248,-8>], eax
   33 c5 ?? xor eax, ebp
   50 ?? push eax
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   64 a3 00 00 00 00 ?? mov dword fs:[0], eax
  
  L2: 33 c0 ?? xor eax, eax
  
  L3: 75 fc ?? jne basic block L2
  
  L4: c7 45 e4 00 00 00 00 ?? mov dword ss:[ebp + 0xe4<228,-28>], 0
   8b 4d 0c ?? mov ecx, dword ss:[ebp + 12]
   0f af 4d 10 ?? imul ecx, dword ss:[ebp + 0x10<16>]
   03 4d 08 ?? add ecx, dword ss:[ebp + 8]
   89 4d 08 ?? mov dword ss:[ebp + 8], ecx
   c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
  
  L5: 8b 55 10 ?? mov edx, dword ss:[ebp + 0x10<16>]
   83 ea 01 ?? sub edx, 1
   89 55 10 ?? mov dword ss:[ebp + 0x10<16>], edx
   78 11 ?? js basic block L8
  
  L6: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   2b 45 0c ?? sub eax, dword ss:[ebp + 12]
   89 45 08 ?? mov dword ss:[ebp + 8], eax
   8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   ff 55 14 ?? call dword ss:[ebp + 0x14<20>]
  
  L7: eb e4 ?? jmp basic block L5
  
  L8: c7 45 e4 01 00 00 00 ?? mov dword ss:[ebp + 0xe4<228,-28>], 1
   c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   e8 02 00 00 00 ?? call function 0x00402d42
  
  L9: eb 1c ?? jmp 0x00402d5e
   8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
   64 89 0d 00 00 00 00 ?? mov dword fs:[0], ecx
   59 ?? pop ecx
   5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c2 10 00 ?? ret 0x0010<16>
  
  