MiRevokeExecutePte
NTSTATUS __stdcall MiRevokeExecutePte(INT64 a1, INT64 a2){
unsigned __int64 v4;
INT64 v5;
INT64 v6;
char v7;
INT64 v9;
v4 = ((a2 << 25) - ((_QWORD)MmGetPteBase() << 25)) >> 16;
if( v4 <= 0x7FFFFFFEFFFFi64 )
{
LODWORD(v5) = MI_READ_PTE_LOCK_FREE(a2);
v9 = v5;
v6 = v5;
if( v5 >= 0 )
{
MI_READ_PTE_LOCK_FREE((INT64)&v9);
MiGetPfnProtection((_MMPFN *)0xFFFFFFFFFi64, (_MMWSLE *)v4);
if( (v7 & 2) == 0 )
{
MiWriteValidPteNewProtection((INT64 *)a2, v6 | 0x8000000000000000ui64);
MiInsertTbFlushEntry(*(_MI_TB_FLUSH_LIST **)(a1 + 168), (VOID *)v4, 1ui64, 0i64);
}
}
}
return 0;
}Referenced by:
No references.