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