KeRemoveQueueApc

UINT8 __stdcall KeRemoveQueueApc(_KAPC *Apc){
  _ETHREAD *Thread; 
  unsigned __int8 CurrentIrql; 
  UINT8 v4; 
  UINT64 SpinCount; 
  Thread = Apc->Thread;
  CurrentIrql = KeGetCurrentIrql();
  __writecr8(2ui64);
  LODWORD(SpinCount) = 0;
  while( _interlockedbittestandset64((volatile signed __int32 *)Thread + 16, 0i64) )
  {
    do
      KeYieldProcessorEx(&SpinCount);
    while( *((_QWORD *)Thread + 8) );
  }
  v4 = KiRemoveQueueApc(Apc);
  KiReleaseThreadLockSafe((INT64)Thread);
  __writecr8(CurrentIrql);
  return v4;
}

Referenced by:

CmNotifyRunDown
EtwpCancelPendingStackwalkApcs
EtwpCovSampCaptureCancelApcs
EtwpQueueStackWalkApc
EtwpTraceThreadRundownWithStack
ExpCancelTimer
ExpSetTimerObject