Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   8b 55 08 ?? mov edx, dword ss:[ebp + 8]
   85 d2 ?? test edx, edx
   74 3c ?? je basic block L16
  
  L2: 9b ?? wait
   dd 7d 08 ?? fnstsw word ss:[ebp + 8]
   8a 45 08 ?? mov al, byte ss:[ebp + 8]
   33 c9 ?? xor ecx, ecx
   a8 3f ?? test al, 0x3f<63>
   74 2d ?? je basic block L15
  
  L3: a8 01 ?? test al, 1
   74 03 ?? je basic block L5
  
  L4: 6a 10 ?? push 0x10<16>
   59 ?? pop ecx
  
  L5: a8 04 ?? test al, 4
   74 03 ?? je basic block L7
  
  L6: 83 c9 08 ?? or ecx, 8
  
  L7: a8 08 ?? test al, 8
   74 03 ?? je basic block L9
  
  L8: 83 c9 04 ?? or ecx, 4
  
  L9: a8 10 ?? test al, 0x10<16>
   74 03 ?? je basic block L11
  
  L10: 83 c9 02 ?? or ecx, 2
  
  L11: a8 20 ?? test al, 0x20<32>
   74 03 ?? je basic block L13
  
  L12: 83 c9 01 ?? or ecx, 1
  
  L13: a8 02 ?? test al, 2
   74 06 ?? je basic block L15
  
  L14: 81 c9 00 00 08 00 ?? or ecx, 0x00080000
  
  L15: 89 0a ?? mov dword ds:[edx], ecx
  
  L16: 56 ?? push esi
   8b 75 0c ?? mov esi, dword ss:[ebp + 12]
   85 f6 ?? test esi, esi
   74 07 ?? je basic block L19
  
  L17: e8 aa fd ff ff ?? call function 0x0042b032
  
  L18: 89 06 ?? mov dword ds:[esi], eax
  
  L19: 5e ?? pop esi
   5d ?? pop ebp
   c3 ?? ret
  
  