KeQuerySecureSpeculationInformation

INT64 __stdcall KeQuerySecureSpeculationInformation(UINT8 *dst, UINT64 count, _DWORD *a3){
  unsigned int v4; 
  __int16 SecureSpeculationControlInformation; 
  unsigned int v8; 
  v4 = count;
  SecureSpeculationControlInformation = VslGetSecureSpeculationControlInformation();
  *a3 = 8;
  if( v4 < 4 )
    return 3221225476i64;
  memset((INT64)dst, 0i64);
  if( (SecureSpeculationControlInformation & 1) != 0 )
    *(_DWORD *)dst |= 1u;
  if( (SecureSpeculationControlInformation & 2) != 0 )
    *(_DWORD *)dst |= 2u;
  if( (SecureSpeculationControlInformation & 4) != 0 )
  {
    *(_DWORD *)dst |= 4u;
    v8 = *(_DWORD *)dst & 0xFFFFFFF7;
LABEL_11:
    *(_DWORD *)dst = v8;
    goto LABEL_12;
  }
  if( (SecureSpeculationControlInformation & 8) != 0 )
  {
    *(_DWORD *)dst |= 8u;
    v8 = *(_DWORD *)dst & 0xFFFFFFFB;
    goto LABEL_11;
  }
LABEL_12:
  if( (SecureSpeculationControlInformation & 0x2000) != 0 )
    *(_DWORD *)dst |= 0x10u;
  return 0i64;
}

Referenced by:

ExpQuerySystemInformation