VfNotifyVerifierOfEvent

VOID __stdcall VfNotifyVerifierOfEvent(UINT64 EventType){
  int v1; 
  int v2; 
  int v3; 
  int v4; 
  __int32 v5; 

  if( (_DWORD)EventType )
  {
    v1 = EventType - 1;
    if( v1 )
    {
      v2 = v1 - 1;
      if( !v2 )
      {
        _InterlockedAdd(&dword_140C1CF08, 1u);
        _InterlockedExchange(&ViKeTrackIrqlDisabled, 1);
        VfStopBranchTracing();
        _InterlockedExchange(&ViFaultsDisabled, v5);
        return;
      }
      v3 = v2 - 1;
      if( v3 )
      {
        v4 = v3 - 1;
        if( v4 )
        {
          if( v4 == 1 )
          {
            _InterlockedAdd(&dword_140C1CF14, 1u);
            if( VfStartBranchTracing() < 0 && (MmVerifierData & 0x8000000) != 0 )
              VfUtilDbgPrint((INT8 *)"Failed to start branch tracing. \n");
            if( (VfOptionFlags & 0x10) != 0 )
            {
              VfUtilDbgPrint((INT8 *)"Driver Verifier: VERIFIER_OPTION_ONEBOOT set before boot. Clearing Verifier options"
                                     " from Registry.\n");
              VfClearVerifierSettings();
            }
            VfNotifyVerifierExtensions(XdvInitPhaseEvent, (VOID *)2);
            VfNotifyDifPlugins(0, 0i64);
          }
        }
        else
        {
          _InterlockedAdd(&dword_140C1CF10, 1u);
          VfStartBranchTracing();
        }
        return;
      }
      _InterlockedAdd(&dword_140C1CF0C, 1u);
    }
    else
    {
      _InterlockedAdd(&dword_140C1CF04, 1u);
    }
    VfStopBranchTracing();
    return;
  }
  _InterlockedAdd(&ViNotifyEvent, 1u);
  if( VfInitializeBranchTracing() < 0 && (MmVerifierData & 0x8000000) != 0 )
    VfUtilDbgPrint((INT8 *)"Failed to initialize branch tracing. \n");
}

Referenced by:

IoInitSystem
IoShutdownSystem
KdEnterDebugger
KdExitDebugger
KeBugCheck2
Phase1InitializationIoReady