Disassembly: 
  L1: 53 ?? push ebx
   56 ?? push esi
   57 ?? push edi
   8b 44 24 10 ?? mov eax, dword ss:[esp + 0x10<16>]
   55 ?? push ebp
   50 ?? push eax
   6a fe ?? push 0xfe<254,-2>
   68 30 8a 40 00 ?? push function 0x00408a30
   64 ff 35 00 00 00 00 ?? push dword fs:[0]
   a1 3c 80 42 00 ?? mov eax, dword ds:[0x0042803c]
   33 c4 ?? xor eax, esp
   50 ?? push eax
   8d 44 24 04 ?? lea eax, ss:[esp + 4]
   64 a3 00 00 00 00 ?? mov dword fs:[0], eax
  
  L2: 8b 44 24 28 ?? mov eax, dword ss:[esp + 0x28<40>]
   8b 58 08 ?? mov ebx, dword ds:[eax + 8]
   8b 70 0c ?? mov esi, dword ds:[eax + 12]
   83 fe ff ?? cmp esi, 0xff<255,-1>
   74 3a ?? je basic block L9
  
  L3: 83 7c 24 2c ff ?? cmp dword ss:[esp + 0x2c<44>], 0xff<255,-1>
   74 06 ?? je basic block L5
  
  L4: 3b 74 24 2c ?? cmp esi, dword ss:[esp + 0x2c<44>]
   76 2d ?? jbe basic block L9
  
  L5: 8d 34 76 ?? lea esi, ds:[esi + esi * 2]
   8b 0c b3 ?? mov ecx, dword ds:[ebx + esi * 4]
   89 4c 24 0c ?? mov dword ss:[esp + 12], ecx
   89 48 0c ?? mov dword ds:[eax + 12], ecx
   83 7c b3 04 00 ?? cmp dword ds:[ebx + esi * 4 + 4], 0
   75 17 ?? jne basic block L8
  
  L6: 68 01 01 00 00 ?? push 0x00000101<257>
   8b 44 b3 08 ?? mov eax, dword ds:[ebx + esi * 4 + 8]
   e8 49 00 00 00 ?? call function 0x00408b25
  
  L7: 8b 44 b3 08 ?? mov eax, dword ds:[ebx + esi * 4 + 8]
   e8 5f 00 00 00 ?? call function 0x00408b44
  
  L8: eb b7 ?? jmp basic block L2
  
  L9: 8b 4c 24 04 ?? mov ecx, dword ss:[esp + 4]
   64 89 0d 00 00 00 00 ?? mov dword fs:[0], ecx
   83 c4 18 ?? add esp, 0x18<24>
   5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   c3 ?? ret
  
  