MiIsPageSecured
BOOL __fastcall MiIsPageSecured(INT64 a1){
UNICODE_STRING *v1;
UINT8 v2;
WCHAR *v3;
int v4;
INT64 v5;
unsigned __int64 v6;
_MMPTE *PteBase;
BOOL result;
result = 0;
if( (MiFlags & 0x8000) != 0 && ((*(_QWORD *)(a1 + 40) >> 60) & 7) == 3 )
{
LOBYTE(v4) = MI_PFN_IS_PROTO((UNICODE_STRING *)a1, v1, v2, v3);
if( !v4 )
{
if( !*(_QWORD *)(v5 + 8) || MiIsFreeSlabPage(v5) && v6 == -2i64 )
return 1;
PteBase = MmGetPteBase();
if( v6 <= (unsigned __int64)PteBase + 0x3FFFFFFF78i64 && v6 >= (unsigned __int64)PteBase )
return 1;
}
}
return result;
}Referenced by:
MiAddNonSecuredPagesToDump
MiAddRangeToCrashDump
MiCopySinglePage
MmTryIdentifyPage