KiSetHardwareSpeculationControlFeatures

_OWORD *__fastcall KiSetHardwareSpeculationControlFeatures(INT64 a1, CHAR a2){
  _OWORD *result; 
  unsigned __int16 v4; 
  __int128 v5; 
  char v6; 
  v6 = 0;
  v5 = 0i64;
  result = KiDetectHardwareSpecControlFeatures(a1, a2, &v5, (UINT64)&v6);
  v4 = v5;
  if( (v5 & 0x20) != 0 )
    *(_BYTE *)(a1 + 249) |= 4u;
  if( *(_DWORD *)(a1 + 36) )
  {
    if( *(_WORD *)((char *)&Mm64BitPhysicalAddress + 3) != v4 )
      KeBugCheckEx(0x5Du, 0x53524249ui64, *(unsigned __int16 *)((char *)&Mm64BitPhysicalAddress + 3), v4, 0i64);
  }
  else
  {
    LOWORD(KiSpeculationFeatures) = 0;
    KiSpeculationFeatures |= v4;
    result = (_OWORD *)*((_QWORD *)&v5 + 1);
    *((_QWORD *)&KiSpeculationFeatures + 1) = *((_QWORD *)&v5 + 1);
    KiSsbdBit = *((_QWORD *)&v5 + 1);
    *(_WORD *)((char *)&Mm64BitPhysicalAddress + 3) = v4;
    *(&KiSpeculationFeatures + 1) = DWORD1(v5);
    KiSsbdMsr = DWORD1(v5);
  }
  if( v6 )
    KiMicrocodeTrackerEnabled = 1;
  return result;
}

Referenced by:

KiInitializeKernel