Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   8b 45 10 ?? mov eax, dword ss:[ebp + 0x10<16>]
   8b 4d 0c ?? mov ecx, dword ss:[ebp + 12]
   25 ff ff f7 ff ?? and eax, 0xfff7ffff
   23 c8 ?? and ecx, eax
   56 ?? push esi
   f7 c1 e0 fc f0 fc ?? test ecx, 0xfcf0fce0
   74 31 ?? je basic block L8
  
  L2: 57 ?? push edi
   8b 7d 08 ?? mov edi, dword ss:[ebp + 8]
   33 f6 ?? xor esi, esi
   3b fe ?? cmp edi, esi
   74 0b ?? je basic block L5
  
  L3: 56 ?? push esi
   56 ?? push esi
   e8 c6 5f 00 00 ?? call function 0x0042b67a
  
  L4: 59 ?? pop ecx
   59 ?? pop ecx
   89 07 ?? mov dword ds:[edi], eax
  
  L5: e8 da 89 fe ff ?? call function 0x0040e097
  
  L6: 6a 16 ?? push 0x16<22>
   5f ?? pop edi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   89 38 ?? mov dword ds:[eax], edi
   e8 0b 4b fe ff ?? call function 0x0040a1d7
  
  L7: 83 c4 14 ?? add esp, 0x14<20>
   8b c7 ?? mov eax, edi
   5f ?? pop edi
   eb 1d ?? jmp basic block L13
  
  L8: 8b 75 08 ?? mov esi, dword ss:[ebp + 8]
   50 ?? push eax
   ff 75 0c ?? push dword ss:[ebp + 12]
   85 f6 ?? test esi, esi
   74 09 ?? je basic block L11
  
  L9: e8 96 5f 00 00 ?? call function 0x0042b67a
  
  L10: 89 06 ?? mov dword ds:[esi], eax
   eb 05 ?? jmp basic block L12
  
  L11: e8 8d 5f 00 00 ?? call function 0x0042b67a
  
  L12: 59 ?? pop ecx
   59 ?? pop ecx
   33 c0 ?? xor eax, eax
  
  L13: 5e ?? pop esi
   5d ?? pop ebp
   c3 ?? ret
  
  