HvipApertureDetectParameters

INT64 __stdcall HvipApertureDetectParameters(){
  __int32 v0; 
  __int32 v1; 
  __int64 v2; 
  bool v3; 
  char v4; 
  INT64 result; 
  __int64 v6; 
  char v7; 
  __int128 v8; 
  INT32 v9[4]; 
  INT64 v10[2]; 
  v2 = __cpuid(0, 0);
  v1 = ECX(v2);
  v0 = EDX(v2);
  v3 = 0;
  *(_OWORD *)v10 = 0i64;
  if( EBX(v2) != 1970169159 || v0 != 1231384169 || (v4 = 1, v1 != 1818588270) )
    v4 = 0;
  v8 = 0i64;
  *(_OWORD *)v9 = 0i64;
  HviGetHypervisorFeatures(v9);
  result = *(_QWORD *)v9 >> 44;
  if( (*(_QWORD *)v9 & 0x100000000000i64) != 0 )
  {
    LODWORD(result) = HviIsHypervisorVendorMicrosoft();
    if( (_BYTE)result )
    {
      v6 = __cpuid(1073741831, 0);
      result = (unsigned int)EAX(v6);
      BYTE8(v8) = ECX(v6);
    }
  }
  if( (BYTE8(v8) & 1) != 0 )
  {
    v7 = 0;
    LODWORD(result) = HviGetHardwareFeatures((INT64)v10);
    v3 = (v10[0] & 0x8000) != 0;
  }
  else
  {
    v7 = 1;
  }
  byte_140CF9D4C = v4;
  byte_140C12B42 = v7;
  byte_140CF9D4E = v3;
  byte_140CF9D4D = 1;
  return result;
}

Referenced by:

HviEnterKernelAperture