IovpCheckIrpForCriticalTracking

NTSTATUS __stdcall IovpCheckIrpForCriticalTracking(
        UNICODE_STRING *pAttributes,
        UINT64 AttributeCount,
        INT8 RequestorMode,
        UNICODE_STRING **ppCapturedAttributes){
  NTSTATUS v4; 
  volatile signed __int32 *v6; 
  int v7; 
  v4 = 0;
  if( (*(_DWORD *)&pAttributes[1].Length & 0xC0000000) == 0 )
  {
    v6 = VfIrpDatabaseEntryFindAndLock((unsigned __int64)pAttributes);
    v7 = *(_DWORD *)&pAttributes[1].Length;
    if( v6 )
    {
      *(_DWORD *)&pAttributes[1].Length = v7 | 0x40000000;
      goto LABEL_6;
    }
    *(_DWORD *)&pAttributes[1].Length = v7 | 0x80000000;
    return 0;
  }
  if( (*(_DWORD *)&pAttributes[1].Length & 0xC0000000) != 0x40000000 )
    return 0;
  v6 = VfIrpDatabaseEntryFindAndLock((unsigned __int64)pAttributes);
LABEL_6:
  if( *((_QWORD *)v6 + 30) )
    v4 = 1;
  else
    *((_DWORD *)v6 + 14) |= 0x80000u;
  VfIrpDatabaseEntryReleaseLock(v6);
  return v4;
}

Referenced by:

VfIrpAllocateCallDriverData