MmRemoveSystemCacheFromDump

VOID __stdcall MmRemoveSystemCacheFromDump(_MM_KERNEL_DUMP_CONTEXT *Context){
  VOID *v2; 
  _MMSUPPORT_INSTANCE *AnyMultiplexedVm; 
  _MMSUPPORT_INSTANCE *v4; 
  char v5; 
  UINT64 v6; 
  _MMSUPPORT_SHARED *v7; 
  _MMSUPPORT_SHARED *SharedVm; 
  INT64 v9[22]; 

  memset(v9, 0i64, sizeof(v9));
  v9[5] = -1i64;
  v9[19] = (INT64)MiCrashdumpRemovePte;
  v9[21] = (INT64)Context;
  AnyMultiplexedVm = MiGetAnyMultiplexedVm(MiWorkingSetTypeSystemCache, v2);
  v4 = AnyMultiplexedVm;
  v9[3] = (INT64)AnyMultiplexedVm;
  if( (KiBugCheckActive & 3) != 0 || (struct _KTHREAD *)*(&stru_140C4DB30 + 291) == KeGetCurrentThread() )
  {
    BYTE6(v9[0]) = 17;
    SharedVm = MiGetSharedVm(AnyMultiplexedVm);
    if( !(unsigned int)ExTryAcquireSpinLockExclusiveAtDpcLevel((INT64 *)&SharedVm->WorkingSetLock) )
      KeBugCheckEx(0x1Au, (PVOID)0x50000, Context, 0i64, 0i64);
  }
  else
  {
    LOWORD(v9[0]) = 6;
    MiLockWorkingSetShared();
    BYTE6(v9[0]) = v5;
  }
  MiWalkPageTables((INT64)v9);
  LOBYTE(v6) = BYTE6(v9[0]);
  if( BYTE6(v9[0]) == 17 )
  {
    MiCheckProcessShadow();
    v7 = MiGetSharedVm(v4);
    ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&v7->WorkingSetLock);
  }
  else
  {
    MiUnlockWorkingSetShared(v4, v6);
  }
}

Referenced by:

IopLiveDumpRemoveSystemCacheFromDump
MmGetDumpRange