ViWdIrpBeforeCompletionRoutine

VOID __stdcall ViWdIrpBeforeCompletionRoutine(_VF_WATCHDOG_IRP **WdIrp){
  _VF_WATCHDOG_IRP *v1; 
  _LIST_ENTRY *Flink; 
  _LIST_ENTRY *Blink; 
  v1 = *WdIrp;
  if( *((_BYTE *)(*WdIrp)->Irp + 67) >= (*WdIrp)->TrackedStackLocation )
  {
    KxAcquireSpinLock(&VfWdIrpListLock);
    if( v1->Inserted )
    {
      Flink = v1->ListEntry.Flink;
      if( (_VF_WATCHDOG_IRP *)v1->ListEntry.Flink->Blink != v1
        || (Blink = v1->ListEntry.Blink, (_VF_WATCHDOG_IRP *)Blink->Flink != v1) )
      {
        __fastfail(3u);
      }
      Blink->Flink = Flink;
      Flink->Blink = Blink;
      v1->Inserted = 0;
      --ViWdIrpListLength;
    }
    KxReleaseSpinLock(&VfWdIrpListLock);
    ExFreeToNPagedLookasideList((NPAGED_LOOKASIDE_LIST *)ViWdIrpLookasideList, v1);
    *WdIrp = 0i64;
  }
}

Referenced by:

IovpCompleteRequest2