VfIrpDatabaseEntryFindAndLock

_IOV_DATABASE_HEADER *__stdcall VfIrpDatabaseEntryFindAndLock(_IRP *Irp){
  _LIST_ENTRY *v1; 
  _LIST_ENTRY *Pointer; 
  UINT8 v4; 
  UINT8 OldIrql; 

  v1 = 0i64;
  OldIrql = 0;
  if( VfIrpDatabaseInitialized
    && (unsigned int)VfUtilAddressRangeFitNoLock(
                       (_VF_ADDRESS_RANGE *)(ViIrpDatabaseAddressRanges
                                           + 16i64 * (unsigned __int8)(-125 * ((unsigned __int64)Irp >> 12))),
                       (UINT8 *)Irp,
                       (UINT8 *)&Irp[1]) )
  {
    ViIrpDatabaseAcquireLockShared(&OldIrql);
    Pointer = ViIrpDatabaseFindPointer(Irp);
    v1 = Pointer;
    if( Pointer )
    {
      _InterlockedIncrement((volatile signed __int32 *)&Pointer[1].Flink + 1);
      v4 = OldIrql;
      ViIrpDatabaseReleaseLockShared(OldIrql);
      KeAcquireSpinLockRaiseToDpc((UINT64 *)&v1->Blink);
      LOBYTE(v1[1].Flink) = v4;
      _InterlockedDecrement((volatile signed __int32 *)&v1[1].Flink + 1);
      if( !LODWORD(v1[1].Blink) )
      {
        VfIrpDatabaseEntryReleaseLock((_IOV_DATABASE_HEADER *)v1);
        return 0i64;
      }
    }
    else
    {
      ViIrpDatabaseReleaseLockShared(OldIrql);
    }
  }
  return(_IOV_DATABASE_HEADER *)v1;
}

Referenced by:

IovCancelIrp
IovpCallDriver1
IovpCheckIrpForCriticalTracking
IovpCompleteRequest1
VfIoFreeIrp
VfIoInitializeIrp
VfIrpDatabaseEntryInsertAndLock
VfIrpWatermark
VfPendingMoreProcessingRequired
VfSetIoBuildRequest