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