HviGetHardwareFeatures

INT32 __fastcall HviGetHardwareFeatures(INT64 a1){
  INT32 result; 
  __int64 v3; 
  INT32 v4[4]; 
  *(_OWORD *)v4 = 0i64;
  HviGetHypervisorVendorAndMaxFunction(v4);
  if( v4[0] < 0x40000006u )
  {
    result = 0;
    *(_QWORD *)a1 = 0i64;
    *(_QWORD *)(a1 + 8) = 0i64;
  }
  else
  {
    v3 = __cpuid(1073741830, 0);
    result = EAX(v3);
    *(_DWORD *)a1 = result;
    *(_DWORD *)(a1 + 4) = EBX(v3);
    *(_DWORD *)(a1 + 8) = ECX(v3);
    *(_DWORD *)(a1 + 12) = EDX(v3);
  }
  return result;
}

Referenced by:

EtwpTraceSystemInitialization
HalpInterruptInitDiscard
HalpIommuInitDiscard
HviIsIommuInUse
HvipApertureDetectParameters
HvlQueryDetailInfo
HvlQueryVsmProtectionInfo
HvlpDetermineEnlightenments