KiFreezeSingleThread

VOID __stdcall KiFreezeSingleThread(_KPRCB *Prcb, _ETHREAD *Thread){
  volatile signed __int32 *v2; 

  v2 = (volatile signed __int32 *)Thread->Tcb.gap2E0;
  KiAcquireKobjectLockSafe(Thread->Tcb.gap2E0);
  _interlockedbittestandset((volatile signed __int32 *)&Thread->Tcb.116 + 1, 0xEu);
  if( !KiSuspendThread(&Thread->Tcb, Prcb) )
    _interlockedbittestandreset((volatile signed __int32 *)&Thread->Tcb.116 + 1, 0xEu);
  _InterlockedAnd(v2, 0xFFFFFF7F);
}

Referenced by:

KeFreezeProcess
KeStartThread