VfFaultsSetParameters

__int64 __fastcall VfFaultsSetParameters(__int64 a1){
  int v2; 
  int v3; 
  unsigned int v4; 
  unsigned int v5; 
  int SystemInformation; 
  SystemInformation = MmVerifierData | 4;
  v2 = VfSetVerifierInformation(&SystemInformation, 4ui64, 1u);
  if( v2 >= 0 )
  {
    if( !ViFaultsProcessNotifyRoutineSet )
    {
      PsSetCreateProcessNotifyRoutine(ViCreateProcessCallback, 0);
      ViFaultsProcessNotifyRoutineSet = 1;
    }
    if( *(_DWORD *)(a1 + 4) )
      LODWORD(VfFaultInjectionMaxProbability) = *(_DWORD *)(a1 + 4);
    v3 = *(_DWORD *)a1;
    if( !*(_DWORD *)a1 )
    {
      LODWORD(VfFaultInjectionMaxProbability) = 10000;
      v3 = 600;
    }
    VfFaultInjectionProbability = v3;
    ViFaultsRemoveAllTags();
    ViFaultsRemoveAllApps();
    v4 = *(unsigned __int16 *)(a1 + 24);
    if( (_WORD)v4 )
      v2 = ViFaultsAddAllApps(*(PWCHAR *)(a1 + 32), v4 >> 1);
    if( v2 >= 0 )
    {
      v5 = *(unsigned __int16 *)(a1 + 8);
      if( (_WORD)v5 )
        return(unsigned int)ViFaultsAddAllTags(*(WCHAR **)(a1 + 16), v5 >> 1);
    }
  }
  return(unsigned int)v2;
}

Referenced by:

NtSetSystemInformation