KiSetDebuggerOwner

VOID __stdcall KiSetDebuggerOwner(_KPRCB *Prcb){
  _KPRCB *v1; 

  if( *(&stru_140CF2E80 + 1878) || !Prcb || (_DWORD)KeNumberProcessors_0 == 1 || KUSER_SHARED_DATA.QpcBypassEnabled )
  {
    v1 = Prcb;
  }
  else
  {
    v1 = (_KPRCB *)qword_140CFCCC8;
    if( Prcb->Number )
      v1 = KiProcessorBlock;
  }
  KiFreezeStallOwner = (__int64)v1;
  _InterlockedExchange64(&KiDebuggerOwner, (__int64)Prcb);
}

Referenced by:

KeBugCheck2
KeFreezeExecution
KeSwitchFrozenProcessor
KiFreezeTargetExecution
KiSendThawExecution