Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 7c ?? sub esp, 0x7c<124>
   a1 3c 80 42 00 ?? mov eax, dword ds:[0x0042803c]
   33 c5 ?? xor eax, ebp
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   56 ?? push esi
   6a 78 ?? push 0x78<120>
   8d 45 84 ?? lea eax, ss:[ebp + 0x84<132,-124>]
   50 ?? push eax
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   25 ff 03 00 00 ?? and eax, 0x000003ff<1023>
   6a 01 ?? push 1
   0d 00 04 00 00 ?? or eax, 0x00000400<1024>
   50 ?? push eax
   8b f1 ?? mov esi, ecx
   ff 15 a8 a2 42 00 ?? call dword ds:[0x0042a2a8]
  
  L2: 85 c0 ?? test eax, eax
   75 04 ?? jne basic block L4
  
  L3: 33 c0 ?? xor eax, eax
   eb 2e ?? jmp basic block L11
  
  L4: 8d 55 84 ?? lea edx, ss:[ebp + 0x84<132,-124>]
   e8 d8 fe ff ff ?? call function 0x00411c78
  
  L5: 39 45 08 ?? cmp dword ss:[ebp + 8], eax
   74 1e ?? je basic block L10
  
  L6: 83 7d 0c 00 ?? cmp dword ss:[ebp + 12], 0
   74 18 ?? je basic block L10
  
  L7: 8b 36 ?? mov esi, dword ds:[esi]
   57 ?? push edi
   8b d6 ?? mov edx, esi
   e8 f7 fe ff ff ?? call function 0x00411cac
  
  L8: 56 ?? push esi
   8b f8 ?? mov edi, eax
   e8 23 44 ff ff ?? call function 0x004061e0
  
  L9: 59 ?? pop ecx
   3b f8 ?? cmp edi, eax
   5f ?? pop edi
   74 d1 ?? je basic block L3
  
  L10: 33 c0 ?? xor eax, eax
   40 ?? inc eax
  
  L11: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   33 cd ?? xor ecx, ebp
   5e ?? pop esi
   e8 c7 f9 fe ff ?? call function 0x00401798
  
  L12: c9 ?? leave
   c3 ?? ret
  
  