ExInterlockedRemoveHeadList

LIST_ENTRY *__stdcall ExInterlockedRemoveHeadList(LIST_ENTRY *ListHead, UINT64 *Lock){
  _LIST_ENTRY *Flink; 
  UINT8 v5; 
  _LIST_ENTRY *v7; 
  Flink = 0i64;
  v5 = ExpAcquireSpinLockDisabled(Lock);
  if( ListHead->Flink != ListHead )
  {
    Flink = ListHead->Flink;
    v7 = ListHead->Flink->Flink;
    if( ListHead->Flink->Blink != ListHead || v7->Blink != Flink )
      __fastfail(3u);
    ListHead->Flink = v7;
    v7->Blink = ListHead;
  }
  _InterlockedAnd64((volatile signed __int64 *)Lock, 0i64);
  if( v5 )
    _enable();
  return Flink;
}

Referenced by:

PopFxProcessWorkPool
WheapWorkQueueWorkerRoutine
WmipEventNotification