Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 18 ?? sub esp, 0x18<24>
   33 c0 ?? xor eax, eax
   53 ?? push ebx
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
   89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
   53 ?? push ebx
   9c ?? pushfd
   58 ?? pop eax
   8b c8 ?? mov ecx, eax
   35 00 00 20 00 ?? xor eax, 0x00200000
   50 ?? push eax
   9d ?? popfd
   9c ?? pushfd
   5a ?? pop edx
   2b d1 ?? sub edx, ecx
   74 1f ?? je basic block L3
  
  L2: 51 ?? push ecx
   9d ?? popfd
   33 c0 ?? xor eax, eax
   0f a2 ?? cpuid
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
   89 5d e8 ?? mov dword ss:[ebp + 0xe8<232,-24>], ebx
   89 55 ec ?? mov dword ss:[ebp + 0xec<236,-20>], edx
   89 4d f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], ecx
   b8 01 00 00 00 ?? mov eax, 1
   0f a2 ?? cpuid
   89 55 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edx
   89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
  
  L3: 5b ?? pop ebx
   f7 45 fc 00 00 00 04 ?? test dword ss:[ebp + 0xfc<252,-4>], 0x04000000
   74 0e ?? je basic block L7
  
  L4: e8 5c ff ff ff ?? call function 0x00409d65
  
  L5: 85 c0 ?? test eax, eax
   74 05 ?? je basic block L7
  
  L6: 33 c0 ?? xor eax, eax
   40 ?? inc eax
   eb 02 ?? jmp basic block L8
  
  L7: 33 c0 ?? xor eax, eax
  
  L8: 5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  