KeQuerySecureSpeculationInformation
NTSTATUS __stdcall KeQuerySecureSpeculationInformation(VOID *a1, size_t Size){
_DWORD *v2;
_DWORD *v3;
__int16 SecureSpeculationControlInformation;
unsigned int v8;
v3 = v2;
SecureSpeculationControlInformation = VslGetSecureSpeculationControlInformation();
*v3 = 8;
if( Size < 4 )
return -1073741820;
memset(a1, 0i64, Size);
if( (SecureSpeculationControlInformation & 1) != 0 )
*(_DWORD *)a1 |= 1u;
if( (SecureSpeculationControlInformation & 2) != 0 )
*(_DWORD *)a1 |= 2u;
if( (SecureSpeculationControlInformation & 4) != 0 )
{
*(_DWORD *)a1 |= 4u;
v8 = *(_DWORD *)a1 & 0xFFFFFFF7;
LABEL_11:
*(_DWORD *)a1 = v8;
goto LABEL_12;
}
if( (SecureSpeculationControlInformation & 8) != 0 )
{
*(_DWORD *)a1 |= 8u;
v8 = *(_DWORD *)a1 & 0xFFFFFFFB;
goto LABEL_11;
}
LABEL_12:
if( (SecureSpeculationControlInformation & 0x2000) != 0 )
*(_DWORD *)a1 |= 0x10u;
return 0;
}Referenced by:
ExpQuerySystemInformation