VfPendingShouldForce

NTSTATUS __stdcall VfPendingShouldForce(
        UINT64 VerifierSettings,
        UINT8 CallDriverIrql,
        _IRP *Irp,
        _IO_STACK_LOCATION *NextStackLocation,
        _IOV_REQUEST_PACKET *IovPacket,
        VOID *CallerAddress){
  NTSTATUS v6; 
  VOID *v9; 
  int MajorFunction; 
  int MinorFunction; 
  int v12; 
  int v13; 
  int v14; 
  bool v15; 
  int v16; 

  v6 = 0;
  if( (VerifierSettings & 0x200) != 0
    && CallDriverIrql < 2u
    && !*((_QWORD *)IovPacket + 27)
    && !VfDriverIsKernelImageAddress(CallerAddress)
    && (unsigned int)VfTargetDriversIsEnabled(v9)
    && (Irp->Flags & 0xC0) == 0
    && !Irp->PendingReturned
    && (unsigned int)VfRandomGetNumber(0i64, 0x64ui64) < ViPendingProbability )
  {
    MajorFunction = NextStackLocation->MajorFunction;
    if( MajorFunction == 13 )
      MinorFunction = *(_DWORD *)&NextStackLocation->Parameters.FileAttributes;
    else
      MinorFunction = NextStackLocation->MinorFunction;
    v12 = MajorFunction - 12;
    if( v12 )
    {
      v13 = v12 - 1;
      if( v13 )
      {
        v14 = v13 - 4;
        if( !v14 )
        {
          v15 = MinorFunction == 1;
          goto LABEL_17;
        }
        if( v14 == 10 )
        {
          v15 = MinorFunction == 2;
LABEL_17:
          LOBYTE(v6) = !v15;
          return v6;
        }
        return 1;
      }
      if( MinorFunction != 589916 && MinorFunction != 589904 )
      {
        if( (unsigned int)(MinorFunction - 589824) > 0x14 || (v16 = 1118481, !_bittest(&v16, MinorFunction - 589824)) )
        {
          if( MinorFunction != 590400 )
            return 1;
        }
      }
    }
    else if( MinorFunction != 2 )
    {
      return 1;
    }
  }
  return v6;
}

Referenced by:

IovpCallDriver1