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