PnpDeviceCompletionQueueRemoveCompletedRequest

LIST_ENTRY *__stdcall PnpDeviceCompletionQueueRemoveCompletedRequest(LIST_ENTRY *CompletedEntry, LIST_ENTRY *a2){
  UINT64 v3; 
  _LIST_ENTRY *Flink; 
  unsigned __int8 v5; 
  unsigned __int64 v6; 
  _LIST_ENTRY *Blink; 
  KeWaitForSingleObject(&Semaphore, Executive, 0, 0, 0i64);
  KeAcquireSpinLockRaiseToDpc(&qword_140C448E8, v3);
  Flink = a2->Flink;
  v6 = v5;
  Blink = a2->Blink;
  if( a2->Flink->Blink != a2 || Blink->Flink != a2 )
    __fastfail(3u);
  Blink->Flink = Flink;
  Flink->Blink = Blink;
  KxReleaseSpinLock(&qword_140C448E8);
  __writecr8(v6);
  return a2;
}

Referenced by:

PipEnumerateDevice
PnpStartDeviceNode