Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   56 ?? push esi
   e8 cf 54 00 00 ?? call function 0x0040e5b3
  
  L2: 8b 40 04 ?? mov eax, dword ds:[eax + 4]
   8b 75 08 ?? mov esi, dword ss:[ebp + 8]
   89 06 ?? mov dword ds:[esi], eax
   e8 76 54 00 00 ?? call function 0x0040e567
  
  L3: 6a 02 ?? push 2
   68 00 01 00 00 ?? push 0x00000100<256>
   89 46 04 ?? mov dword ds:[esi + 4], eax
   e8 05 64 00 00 ?? call function 0x0040f505
  
  L4: 59 ?? pop ecx
   59 ?? pop ecx
   89 46 08 ?? mov dword ds:[esi + 8], eax
   85 c0 ?? test eax, eax
   74 1f ?? je basic block L8
  
  L5: 68 00 02 00 00 ?? push 0x00000200<512>
   e8 a2 59 00 00 ?? call function 0x0040eab5
  
  L6: 50 ?? push eax
   ff 76 08 ?? push dword ds:[esi + 8]
   e8 04 60 00 00 ?? call function 0x0040f120
  
  L7: 83 c4 0c ?? add esp, 12
   c7 46 0c 01 00 00 00 ?? mov dword ds:[esi + 12], 1
   eb 0c ?? jmp basic block L10
  
  L8: e8 88 59 00 00 ?? call function 0x0040eab5
  
  L9: 83 66 0c 00 ?? and dword ds:[esi + 12], 0
   89 46 08 ?? mov dword ds:[esi + 8], eax
  
  L10: 8b c6 ?? mov eax, esi
   5e ?? pop esi
   5d ?? pop ebp
   c3 ?? ret
  
  