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