MiInitializeBootDefaults
VOID __stdcall MiInitializeBootDefaults(_LOADER_PARAMETER_BLOCK *LoaderBlock){
CHAR v1;
__int64 v2;
int v3;
int v5;
int v6;
int v7;
strstr((UINT8 *)LoaderBlock->LoadOptions, (UINT8 *)"SAFEBOOT:", v1);
if( v2 )
{
MmLargePageDriverBufferLength = -1;
LODWORD(MmSpecialPoolTag) = 0;
MmProtectFreedNonPagedPool = 0;
*(&stru_140C4DB30 + 4333) = 1;
dword_140CFA17C = 0;
KUSER_SHARED_DATA.SafeBootMode = 1;
}
else
{
v3 = MmPageValidationFrequency;
if( _BitScanReverse((unsigned int *)&v5, MmPageValidationFrequency) )
v3 = 1 << v5;
MmPageValidationFrequency = v3;
if( v3 )
{
MiFlags |= 0x80u;
MmPageValidationFrequency = v3 - 1;
}
if( (_DWORD)MmVerifierData )
{
v7 = MiFlags | 1;
MiFlags |= 1u;
if( (_DWORD)KernelVerifier == 1 )
MiFlags = v7 | 2;
}
if( (_DWORD)MmSpecialPoolTag )
MmProtectFreedNonPagedPool = 1;
if( (MiFlags & 1) != 0 && (MmVerifierData & 0x400000) == 0 )
{
MmLargePageDriverBufferLength = -1;
MmProtectFreedNonPagedPool = 1;
}
}
v6 = MiFlags | 8;
MiFlags |= 8u;
if( (NtGlobalFlag & 0x80000) == 0 )
MiFlags = v6 | 0x40;
*(&stru_140C4DB30 + 758) = 275;
*(&stru_140C4DB30 + 382) = MiAllocatePfnRepurposeLogDispatch;
*(&stru_140C4DB30 + 383) = 0i64;
*(&stru_140C4DB30 + 8) = (char *)&stru_140C4DB30 + 56;
*(&stru_140C4DB30 + 7) = (char *)&stru_140C4DB30 + 56;
*(&stru_140C4DB30 + 6) = -10000000i64 * dword_140CFA194;
*(&stru_140C4DB30 + 386) = 0i64;
*(&stru_140C4DB30 + 381) = 0i64;
stru_140C4CA10._bf_0 = 0i64;
PushLock._bf_0 = 0i64;
*(&stru_140C4DB30 + 655) = 5;
*(&stru_140C4DB30 + 330) = 0i64;
*(&stru_140C4DB30 + 522) = 0i64;
stru_140C4C6D0._bf_0 = 0i64;
Base = (VOID **)0x7FF5FFFFFFFFi64;
Base = (VOID **)(0xFFFFFFFDFF800000ui64
- ((unsigned __int8)ExGenRandom(ExGenRandomDomainUserVisible) << 16)
+ 0x7FF5FFFFFFFFi64);
}Referenced by:
MiInitNucleus