MiDeleteSessionPdes
VOID __stdcall MiDeleteSessionPdes(MMPTE *PointerPde, MMPTE *LastPde){
__int64 SessionVm;
_MI_PARTITION *v3;
__int64 v4;
__int64 v5;
__int64 v6;
UINT64 v7;
__int128 QuotaCharge[3];
memset(QuotaCharge, 0, sizeof(QuotaCharge));
SessionVm = MiGetSessionVm();
v3 = *(_MI_PARTITION **)(qword_140C4E388 + 8i64 * *(unsigned __int16 *)(SessionVm + 174));
v5 = (_QWORD)MmGetPteBase() << 25;
MiDeletePagablePteRange(
SessionVm,
0x11u,
((((v6 << 25) - v5) >> 16 << 25) - v5) >> 16,
((((v4 << 25) - v5) >> 16 << 25) - v5) >> 16,
1,
0,
QuotaCharge);
v7 = *(_QWORD *)&QuotaCharge[0];
MiReturnCommit(v3, *(UINT64 *)&QuotaCharge[0]);
MiReturnSystemCharges((INT64)v3, v7, 1i64);
}Referenced by:
MiUnloadSystemImage