MmStoreFreeVirtualMemory
VOID __stdcall MmStoreFreeVirtualMemory(VOID *VirtualAddress){
__int64 v2;
void *v3;
unsigned __int64 v4;
unsigned __int64 v5;
_EPROCESS *Process;
UINT8 AddressSpaceHeldExclusve;
INT64 v8;
LODWORD(v2) = MiObtainReferencedVadEx((UINT64)VirtualAddress, 0, &v8);
v3 = (void *)v2;
v4 = *(unsigned int *)(v2 + 28) | ((unsigned __int64)*(unsigned __int8 *)(v2 + 33) << 32);
v5 = *(unsigned int *)(v2 + 24) | ((unsigned __int64)*(unsigned __int8 *)(v2 + 32) << 32);
MiUnlockPageTableRange(VirtualAddress, (VOID *)((v4 << 12) | 0xFFF));
Process = KeGetCurrentThread()->ApcState.Process;
AddressSpaceHeldExclusve = 0;
MiFreeVadRange(v3, &AddressSpaceHeldExclusve, v5, v4, Process);
}Referenced by:
SmKmStoreHelperCommandProcess