KiSetSpecCtrlNmi

VOID __stdcall KiSetSpecCtrlNmi(){
  __int64 v0; 
  unsigned __int64 v1; 

  if( KeGetPcr()->Prcb.BpbKernelSpecCtrl )
  {
    v1 = __readmsr(0x48u);
    *(_BYTE *)(v0 - 86) = v1;
    LOBYTE(v1) = KeGetPcr()->Prcb.BpbKernelSpecCtrl;
    __writemsr(0x48u, (unsigned __int8)v1);
    if( (v1 & 1) != 0 )
      goto LABEL_5;
  }
  if( (KeGetPcr()->Prcb.BpbFeatures & 2) != 0 )
  {
    __writemsr(0x49u, 1ui64);
LABEL_5:
    __flush_rsb();
  }
  _mm_lfence();
  *(_BYTE *)(v0 - 88) = KeGetPcr()->Prcb.BpbRetpolineState;
  __writegsbyte(0x853u, KeGetPcr()->Prcb.BpbRetpolineState | 2);
}

Referenced by:

KiMcheckAbort
KiNmiInterruptStart