MiUpdateSystemPdes
INT64 __fastcall MiUpdateSystemPdes(INT64 a1, UINT64 a2, INT64 a3){
UINT64 v4;
unsigned __int64 PxeSelfRef;
__int64 v6;
__int64 v7;
_QWORD *v8;
INT64 result;
UINT8 OldIrql;
OldIrql = 0;
v4 = *(_QWORD *)(a1 + 40) >> 12;
PxeSelfRef = (unsigned __int64)MmGetPxeSelfRef();
v6 = *(_QWORD *)PxeSelfRef ^ (*(_QWORD *)PxeSelfRef ^ (v4 << 12)) & 0xFFFFFFFFF000i64;
LODWORD(v7) = MiMapPageInHyperSpaceWorker(v4, &OldIrql, 0x80000000ui64);
v8 = (_QWORD *)v7;
MiCopyTopLevelMappings(a1, v7);
v8[(PxeSelfRef >> 12) & 0x1FF] = v6;
MiUnmapPageInHyperSpaceWorker(v8, OldIrql, 0x80000000ui64);
return result;
}Referenced by:
KiInSwapProcesses
MiSyncSystemPdes