MiValidateKernelHalLargePageRange
INT64 __stdcall MiValidateKernelHalLargePageRange(UINT64 a1, UINT64 a2, INT64 a3){
_MMPTE *PdeBase;
unsigned __int64 v5;
unsigned __int64 v6;
char *v7;
char *v8;
UINT64 v10;
if( (a3 & 0x20000000) != 0 )
{
PdeBase = MmGetPdeBase();
v5 = (unsigned __int64)PdeBase + ((a2 >> 18) & 0x3FFFFFF8);
v6 = (unsigned __int64)PdeBase + ((a1 >> 18) & 0x3FFFFFF8);
if( v6 < v5 )
{
MiPteInShadowRange((UINT64)&v10);
do
{
v10 = MI_READ_PTE_LOCK_FREE(v6);
v7 = (char *)MmGetPfnDb() + 48 * ((v10 >> 12) & 0xFFFFFFFFFi64);
v8 = v7 + 24576;
while( v7 < v8 )
{
*((_QWORD *)v7 + 2) = *((_QWORD *)v7 + 2) & 0xFFFFFFFFFFFFFC1Fui64 | 0x60;
MiMarkPfnVerified((UINT64)v7, 0);
v7 += 48;
}
v6 += 8i64;
}
while( v6 < v5 );
}
}
return 0i64;
}Referenced by:
No references.