MmStoreFreeVirtualMemory
VOID __stdcall MmStoreFreeVirtualMemory(PVOID VirtualAddress){
INT64 v2;
unsigned __int64 v3;
unsigned __int64 v4;
_EPROCESS *Process;
UINT8 AddressSpaceHeldExclusve;
INT64 v7;
v2 = MiObtainReferencedVadEx((UINT64)VirtualAddress, 0, &v7);
v3 = *(unsigned int *)(v2 + 28) | ((unsigned __int64)*(unsigned __int8 *)(v2 + 33) << 32);
v4 = *(unsigned int *)(v2 + 24) | ((unsigned __int64)*(unsigned __int8 *)(v2 + 32) << 32);
MiUnlockPageTableRange((UINT64 *)VirtualAddress, (UINT64 *)((v3 << 12) | 0xFFF));
Process = (_EPROCESS *)*((_QWORD *)KeGetCurrentThread() + 23);
AddressSpaceHeldExclusve = 0;
MiFreeVadRange((_MMVAD *)v2, &AddressSpaceHeldExclusve, v4, v3, Process);
}Referenced by:
SmKmStoreHelperCommandProcess