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, (unsigned __int64)&v6);
  v4 = v5;
  if( (v5 & 0x20) != 0 )
    *(_BYTE *)(a1 + 249) |= 4u;
  if( *(_DWORD *)(a1 + 36) )
  {
    if( *(_WORD *)((char *)&Mm64BitPhysicalAddress + 3) != v4 )
      KeBugCheckEx(
        0x5Du,
        (PVOID)0x53524249,
        (PVOID)*(unsigned __int16 *)((char *)&Mm64BitPhysicalAddress + 3),
        (PVOID)v4,
        0i64);
  }
  else
  {
    LOWORD(KiSpeculationFeatures) = 0;
    LODWORD(KiSpeculationFeatures) = v4 | (unsigned int)KiSpeculationFeatures;
    result = (_OWORD *)*((_QWORD *)&v5 + 1);
    *((_QWORD *)&KiSpeculationFeatures + 1) = *((_QWORD *)&v5 + 1);
    KiSsbdBit = *((_QWORD *)&v5 + 1);
    *(_WORD *)((char *)&Mm64BitPhysicalAddress + 3) = v4;
    DWORD1(KiSpeculationFeatures) = DWORD1(v5);
    KiSsbdMsr = DWORD1(v5);
  }
  if( v6 )
    KiMicrocodeTrackerEnabled = 1;
  return result;
}

Referenced by:

KiInitializeKernel