KiAttemptFastRemovePriQueue

_LIST_ENTRY *__stdcall KiAttemptFastRemovePriQueue(_KPRIQUEUE *Queue, INT64 *WorkPriority, INT64 PriorityBias){
  unsigned int v3; 
  __int64 v4; 
  int v5; 
  volatile int *CurrentCount; 
  _LIST_ENTRY *Flink; 
  unsigned int *p_MaximumCount; 
  __int64 v9; 
  int v11; 
  unsigned int v12; 
  _LIST_ENTRY *v13; 
  _LIST_ENTRY *Blink; 
  v3 = 0;
  v4 = (int)PriorityBias;
  v5 = 32;
  CurrentCount = Queue->CurrentCount;
  Flink = 0i64;
  p_MaximumCount = &Queue->MaximumCount;
  v9 = 32i64;
  do
  {
    v11 = *--p_MaximumCount;
    v12 = v3 + v11;
    --v5;
    --v9;
    CurrentCount -= 4;
    v3 = v12 - 1;
    if( v9 != v4 )
      v3 = v12;
    if( v3 >= Queue->MaximumCount )
      break;
    if( *(volatile int **)CurrentCount != CurrentCount )
    {
      Flink = Queue->EntryListHead[v5].Flink;
      if( !Flink->Flink )
        KeBugCheckEx(0x96u, (ULONG_PTR)Flink, (ULONG_PTR)Queue, ExWorkerQueue, (ULONG_PTR)Flink[1].Flink);
      --Queue->Header.SignalState;
      v13 = Flink->Flink;
      if( Flink->Flink->Blink != Flink || (Blink = Flink->Blink, Blink->Flink != Flink) )
        __fastfail(3u);
      Blink->Flink = v13;
      v13->Blink = Blink;
      Flink->Flink = 0i64;
      *(_DWORD *)WorkPriority = v5;
      return Flink;
    }
  }
  while( v9 > 0 );
  return Flink;
}

Referenced by:

KeRemovePriQueue
KiActivateWaiterPriQueue