MiInitializeBootDefaults
VOID __fastcall MiInitializeBootDefaults(_LOADER_PARAMETER_BLOCK *LoaderBlock){
int v1;
int v3;
int v4;
int v5;
if( strstr(*((CHAR **)LoaderBlock + 27), "SAFEBOOT:") )
{
MmLargePageDriverBufferLength = -1;
LODWORD(MmSpecialPoolTag) = 0;
MmProtectFreedNonPagedPool = 0;
byte_140C4EC1D = 1;
dword_140CFA17C = 0;
KUSER_SHARED_DATA.SafeBootMode = 1;
}
else
{
v1 = MmPageValidationFrequency;
if( _BitScanReverse((unsigned int *)&v3, MmPageValidationFrequency) )
v1 = 1 << v3;
MmPageValidationFrequency = v1;
if( v1 )
{
MiFlags |= 0x80u;
MmPageValidationFrequency = v1 - 1;
}
if( (_DWORD)MmVerifierData )
{
v5 = MiFlags | 1;
MiFlags |= 1u;
if( (_DWORD)KernelVerifier == 1 )
MiFlags = v5 | 2;
}
if( (_DWORD)MmSpecialPoolTag )
MmProtectFreedNonPagedPool = 1;
if( (MiFlags & 1) != 0 && (MmVerifierData & 0x400000) == 0 )
{
MmLargePageDriverBufferLength = -1;
MmProtectFreedNonPagedPool = 1;
}
}
v4 = MiFlags | 8;
MiFlags |= 8u;
if( (NtGlobalFlag & 0x80000) == 0 )
MiFlags = v4 | 0x40;
stru_140C4E708.TargetInfoAsUlong = 275;
stru_140C4E708.DeferredRoutine = (void(__fastcall *)(_KDPC *, void *, void *, void *))MiAllocatePfnRepurposeLogDispatch;
stru_140C4E708.DeferredContext = 0i64;
qword_140C4DB70 = (__int64)&qword_140C4DB68;
qword_140C4DB68 = (__int64)&qword_140C4DB68;
qword_140C4DB60 = -10000000i64 * dword_140CFA194;
stru_140C4E708.DpcData = 0i64;
stru_140C4E708.ProcessorHistory = 0i64;
qword_140C4CA10 = 0i64;
PushLock.0 = 0i64;
dword_140C4E56C = 5;
qword_140C4E580 = 0i64;
WorkerRoutine = 0i64;
qword_140C4C6D0 = 0i64;
qword_140C4C6E8 = 0x7FF5FFFFFFFFi64;
qword_140C4C6E8 = 0xFFFFFFFDFF800000ui64 - ((unsigned __int8)ExGenRandom(1i64) << 16) + 0x7FF5FFFFFFFFi64;
}Referenced by:
MiInitNucleus