Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 7d 18 00 ?? cmp dword ss:[ebp + 0x18<24>], 0
   74 10 ?? je basic block L4
  
  L2: ff 75 18 ?? push dword ss:[ebp + 0x18<24>]
   53 ?? push ebx
   56 ?? push esi
   ff 75 08 ?? push dword ss:[ebp + 8]
   e8 11 fe ff ff ?? call function 0x00402bd8
  
  L3: 83 c4 10 ?? add esp, 0x10<16>
  
  L4: 83 7d 20 00 ?? cmp dword ss:[ebp + 0x20<32>], 0
   ff 75 08 ?? push dword ss:[ebp + 8]
   75 03 ?? jne basic block L6
  
  L5: 56 ?? push esi
   eb 03 ?? jmp basic block L7
  
  L6: ff 75 20 ?? push dword ss:[ebp + 0x20<32>]
  
  L7: e8 82 e5 ff ff ?? call function 0x00401360
  
  L8: ff 37 ?? push dword ds:[edi]
   ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
   ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   56 ?? push esi
   e8 80 f4 ff ff ?? call function 0x0040226c
  
  L9: 8b 47 04 ?? mov eax, dword ds:[edi + 4]
   68 00 01 00 00 ?? push 0x00000100<256>
   ff 75 1c ?? push dword ss:[ebp + 0x1c<28>]
   40 ?? inc eax
   ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
   89 46 08 ?? mov dword ds:[esi + 8], eax
   ff 75 0c ?? push dword ss:[ebp + 12]
   8b 4b 0c ?? mov ecx, dword ds:[ebx + 12]
   56 ?? push esi
   ff 75 08 ?? push dword ss:[ebp + 8]
   e8 b0 fa ff ff ?? call function 0x004028bd
  
  L10: 83 c4 28 ?? add esp, 0x28<40>
   85 c0 ?? test eax, eax
   74 07 ?? je basic block L12
  
  L11: 56 ?? push esi
   50 ?? push eax
   e8 fe e4 ff ff ?? call function 0x00401319
  
  L12: 5d ?? pop ebp
   c3 ?? ret
  
  