KiIsHyperVCr3RspErrataPresent

BOOL __fastcall KiIsHyperVCr3RspErrataPresent(INT64 a1){
  bool v1; 
  BOOL result; 
  INT32 v3[4]; 
  INT32 v4[4]; 
  v1 = *(_BYTE *)(a1 + 141) == 1;
  *(_OWORD *)v3 = 0i64;
  result = 0;
  if( v1 )
  {
    if( HviIsHypervisorVendorMicrosoft() )
    {
      *(_OWORD *)v4 = 0i64;
      HviGetHypervisorFeatures(v4);
      if( (*(_QWORD *)v4 & 0x100000000000i64) == 0 )
      {
        HviGetHypervisorVersion(v3);
        if( v3[0] < 0x429Du && (v3[0] != 14393 || (v3[3] & 0xFFFFFFu) < 0x1479) )
          return 1;
      }
    }
  }
  return result;
}

Referenced by:

KiIsBranchConfusionMitigationSupported