VfReportIssueWithOptions

VOID __stdcall VfReportIssueWithOptions(
        UINT64 Code,
        UINT64 Param1,
        UINT64 Param2,
        UINT64 Param3,
        UINT64 Param4,
        UINT64 *Action){
  UINT64 *v6; 
  UINT64 v9; 
  int v11; 
  UINT64 v12; 
  v6 = Action;
  v9 = (unsigned int)Code;
  v11 = *(_DWORD *)Action;
  if( *(_DWORD *)Action && (v11 & 2) == 0 )
  {
    if( (((v11 & 8) == 0) & !_bittest(&VfOptionFlags, 9u)) != 0 && (_BYTE)KdDebuggerEnabled )
    {
      if( (v11 & 4) != 0 )
      {
        while( 1 )
        {
          VfUtilDbgPrint((INT8 *)"\n*** Verifier assertion failed ***\n");
          DbgPrompt((PSTR)"(B)reak, (I)gnore, (W)arn only, (R)emove assert? ", (PSTR)&Action, 2ui64);
          switch( (_BYTE)Action )
          {
            case 'B':
              goto LABEL_15;
            case 'I':
              return;
            case 'R':
              goto LABEL_16;
            case 'W':
              goto LABEL_14;
            case 'b':
LABEL_15:
              VfErrorStoreTriageInformation(v9, Param1, Param2, Param3, Param4);
              __debugbreak();
            case 'i':
              return;
          }
          if( (_BYTE)Action == 114 )
            break;
          if( (_BYTE)Action == 119 )
          {
LABEL_14:
            *(_DWORD *)v6 = 2;
            return;
          }
        }
LABEL_16:
        *(_DWORD *)v6 = 0;
      }
    }
    else
    {
      VerifierBugCheckIfAppropriate((unsigned int)Code, Param1, Param2, Param3, Param4, v12);
    }
  }
}

Referenced by:

ADD_MAP_REGISTERS
DECREMENT_ADAPTER_CHANNELS
DECREMENT_COMMON_BUFFERS
DECREMENT_SCATTER_GATHER_LISTS
INCREASE_MAPPED_TRANSFER_BYTE_COUNT
INCREMENT_ADAPTER_CHANNELS
SUBTRACT_MAP_REGISTERS
VERIFY_BUFFER_LOCKED
VF_ASSERT_IRQL
VF_ASSERT_MAX_IRQL
VfBuildScatterGatherList
VfBuildScatterGatherListEx
VfCheckImageCompliance
VfCheckPagePriority
VfCheckPageProtection
VfCheckPoolType
VfDeadlockAcquireResource
VfDeadlockReleaseResource
VfFlushAdapterBuffers
VfGetScatterGatherList
VfGetScatterGatherListEx
VfMapTransfer
VfMapTransferEx
VfPutDmaAdapter
ViAllocateMapRegistersFromFile
ViCheckPadding
ViCheckTag
ViCopyDeviceDescription
ViDeadlockAddResource
ViDeadlockAnalyze
ViDeadlockRemoveResource
ViDeadlockRemoveThread
ViFlushDoubleBuffer
ViGetAdapterInformationInternal
ViGetMdlBufferSa
ViGetRealDmaOperation
ViMapDoubleBuffer
ViReleaseDmaAdapter