MiGetImageProtoProtection
VOID __stdcall MiGetImageProtoProtection(_MMVAD_SHORT *Vad, _MMPTE *ProtoPte){
__int64 i;
unsigned __int64 v4;
__int64 v5;
unsigned int SessionId;
for( i = *((_QWORD *)Vad + 9); i; i = *(_QWORD *)(i + 16) )
{
if( (*(_BYTE *)(i + 34) & 2) != 0 && (v5 = *(_QWORD *)i, (*(_DWORD *)(*(_QWORD *)i + 56i64) & 0x4000000) != 0) )
{
SessionId = MmGetSessionIdEx(*((_QWORD *)KeGetCurrentThread() + 23));
v4 = MiGetSharedProtos(v5, SessionId, i)[9];
}
else
{
v4 = *(_QWORD *)(i + 8);
}
if( (unsigned __int64)ProtoPte >= v4 && (unsigned __int64)ProtoPte < v4 + 8i64 * *(unsigned int *)(i + 44) )
break;
}
}Referenced by:
MiGetPageProtection