Disassembly: 
  L1: 53 ?? push ebx
   56 ?? push esi
   57 ?? push edi
   8b 54 24 10 ?? mov edx, dword ss:[esp + 0x10<16>]
   8b 44 24 14 ?? mov eax, dword ss:[esp + 0x14<20>]
   8b 4c 24 18 ?? mov ecx, dword ss:[esp + 0x18<24>]
   55 ?? push ebp
   52 ?? push edx
   50 ?? push eax
   51 ?? push ecx
   51 ?? push ecx
   68 e0 e2 40 00 ?? push function 0x0040e2e0
   64 ff 35 00 00 00 00 ?? push dword fs:[0]
   a1 88 80 42 00 ?? mov eax, dword ds:[0x00428088]
   33 c4 ?? xor eax, esp
   89 44 24 08 ?? mov dword ss:[esp + 8], eax
   64 89 25 00 00 00 00 ?? mov dword fs:[0], esp
  
  L2: 8b 44 24 30 ?? mov eax, dword ss:[esp + 0x30<48>]
   8b 58 08 ?? mov ebx, dword ds:[eax + 8]
   8b 4c 24 2c ?? mov ecx, dword ss:[esp + 0x2c<44>]
   33 19 ?? xor ebx, dword ds:[ecx]
   8b 70 0c ?? mov esi, dword ds:[eax + 12]
   83 fe fe ?? cmp esi, 0xfe<254,-2>
   74 3b ?? je basic block L9
  
  L3: 8b 54 24 34 ?? mov edx, dword ss:[esp + 0x34<52>]
   83 fa fe ?? cmp edx, 0xfe<254,-2>
   74 04 ?? je basic block L5
  
  L4: 3b f2 ?? cmp esi, edx
   76 2e ?? jbe basic block L9
  
  L5: 8d 34 76 ?? lea esi, ds:[esi + esi * 2]
   8d 5c b3 10 ?? lea ebx, ds:[ebx + esi * 4 + 0x10<16>]
   8b 0b ?? mov ecx, dword ds:[ebx]
   89 48 0c ?? mov dword ds:[eax + 12], ecx
   83 7b 04 00 ?? cmp dword ds:[ebx + 4], 0
   75 cc ?? jne basic block L2
  
  L6: 68 01 01 00 00 ?? push 0x00000101<257>
   8b 43 08 ?? mov eax, dword ds:[ebx + 8]
   e8 3a aa ff ff ?? call function 0x00408cfd
  
  L7: b9 01 00 00 00 ?? mov ecx, 1
   8b 43 08 ?? mov eax, dword ds:[ebx + 8]
   e8 4c aa ff ff ?? call function 0x00408d1c
  
  L8: eb b0 ?? jmp basic block L2
  
  L9: 64 8f 05 00 00 00 00 ?? pop dword fs:[0]
   83 c4 18 ?? add esp, 0x18<24>
   5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   c3 ?? ret
  
  