VfIrpDatabaseEntryFindAndLock

volatile signed __int32 *__fastcall VfIrpDatabaseEntryFindAndLock(unsigned __int64 a1){
  volatile signed __int32 *v1; 
  volatile signed __int32 *Pointer; 
  UINT8 v4; 
  UINT64 v5; 
  UINT8 OldIrql; 
  v1 = 0i64;
  OldIrql = 0;
  if( VfIrpDatabaseInitialized
    && VfUtilAddressRangeFitNoLock(
         (__m128i *)(ViIrpDatabaseAddressRanges + 16i64 * (unsigned __int8)(-125 * (a1 >> 12))),
         a1,
         a1 + 208) )
  {
    ViIrpDatabaseAcquireLockShared(&OldIrql);
    Pointer = (volatile signed __int32 *)ViIrpDatabaseFindPointer(a1);
    v1 = Pointer;
    if( Pointer )
    {
      _InterlockedIncrement(Pointer + 5);
      v4 = OldIrql;
      ViIrpDatabaseReleaseLockShared(OldIrql);
      KeAcquireSpinLockRaiseToDpc((UINT64 *)v1 + 1, v5);
      *((_BYTE *)v1 + 16) = v4;
      _InterlockedDecrement(v1 + 5);
      if( !*((_DWORD *)v1 + 6) )
      {
        VfIrpDatabaseEntryReleaseLock(v1);
        return 0i64;
      }
    }
    else
    {
      ViIrpDatabaseReleaseLockShared(OldIrql);
    }
  }
  return v1;
}

Referenced by:

IovCancelIrp
IovpCallDriver1
IovpCheckIrpForCriticalTracking
IovpCompleteRequest1
VfIoFreeIrp
VfIoInitializeIrp
VfIrpDatabaseEntryInsertAndLock
VfIrpWatermark
VfPendingMoreProcessingRequired
VfSetIoBuildRequest