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