VfSetVerifierInformation

INT64 __fastcall VfSetVerifierInformation(
        VOID *SystemInformation,
        UINT64 SystemInformationLength,
        UINT8 ParametersCaptured){
  int v5; 
  UINT64 v6; 
  UINT64 v7; 
  unsigned int v8; 
  unsigned int v9; 
  if( (unsigned int)SystemInformationLength < 4 )
    return 3221225476i64;
  if( VfSafeMode )
    return 3221226335i64;
  v5 = *(_DWORD *)SystemInformation;
  VfDriverLock((INT64)SystemInformation, SystemInformationLength, ParametersCaptured);
  if( !(_DWORD)MmVerifierData )
    MmVerifyDriverLevel = 0;
  VfInitSystemNoRebootNeeded(v6, 0i64);
  v7 = v5 & (unsigned int)VerifierModifyableOptions;
  v8 = VerifierModifyableOptions & ~v5;
  v9 = ~v8 & (v7 | MmVerifierData);
  if( v9 != (_DWORD)MmVerifierData )
  {
    VfSettingsCheckForChanges((unsigned int)MmVerifierData, v7, v8, v9);
    ++dword_140C2A698;
    LODWORD(MmVerifierData) = v9;
    *(_DWORD *)SystemInformation = v9;
  }
  ViDriversLoadLockOwner = 0i64;
  KeReleaseMutex(&ViDriversLoadLock, 0);
  return 0i64;
}

Referenced by:

NtSetSystemInformation
VfFaultsSetParameters