VfInitSystemNoRebootNeeded
VOID __fastcall VfInitSystemNoRebootNeeded(UINT64 KernelVerifierEnabled, UINT64 CalledAtBootTime){
int v2;
int v3;
int v4;
v2 = CalledAtBootTime;
v3 = KernelVerifier;
if( !ViFullyInitialized )
{
if( !(_DWORD)CalledAtBootTime )
{
VfInitializedWithoutReboot = 1;
MmLockPagableDataSection(VfInitVerifierComponents);
MmLockPagableDataSection(&ViLoadedDriversCount);
MmLockPagableDataSection((PVOID)&ViShortTime);
}
if( v3 || !v2 )
ExDisableAllLookasideLists();
VerifierModifyableOptions = 0x1FFF;
v4 = MmVerifyDriverLevel;
if( MmVerifyDriverLevel == -1 )
v4 = 2491;
LODWORD(MmVerifierData) = v4;
if( v3 == 1 )
{
LODWORD(ViVerifyAllDrivers) = 1;
MmVerifyDriverLevel &= ~0x20u;
LODWORD(MmVerifierData) = v4 & 0xFFFFFFDF;
ExSetPoolFlags(8ui64);
}
ViVerifierDriverAddedThunkListHead.Blink = &ViVerifierDriverAddedThunkListHead;
ViVerifierDriverAddedThunkListHead.Flink = &ViVerifierDriverAddedThunkListHead;
qword_140C1CC58 = (__int64)&ViVerifierDriverAddedSpecialThunkListHead;
ViVerifierDriverAddedSpecialThunkListHead = &ViVerifierDriverAddedSpecialThunkListHead;
if( !v2 )
{
VfInitVerifierComponents(
(unsigned int)MmVerifierData,
(unsigned int)ViVerifyAllDrivers,
(unsigned int)KernelVerifier);
VfPoolInitPhase1();
VfSettingsMiscellaneousChecksInitPhase1();
VfPendingInitPhase1();
IoVerifierInit((unsigned int)MmVerifierData);
}
ViFullyInitialized = 1;
}
}Referenced by:
VfAddVerifierEntry
VfSetVerifierInformation
ViInitSystemPhase0