MmGetControlAreaPartition

UINT64 __fastcall MmGetControlAreaPartition(INT64 a1){
  UINT64 *v1; 
  unsigned __int8 CurrentIrql; 
  signed __int32 v4; 
  ULONG_PTR *v5; 
  bool v7; 
  signed __int32 v8; 
  UINT64 SpinCount; 
  CurrentIrql = KeGetCurrentIrql();
  __writecr8(2ui64);
  LODWORD(SpinCount) = 0;
  if( _interlockedbittestandset(&dword_140C4C6C0, 0x1Fu) )
    LODWORD(SpinCount) = ExpWaitForSpinLockExclusiveAndAcquire((RTL_BITMAP *)&dword_140C4C6C0, CurrentIrql, v1);
  v4 = dword_140C4C6C0;
  while( (v4 & 0xBFFFFFFF) != 0x80000000 )
  {
    if( (v4 & 0x40000000) == 0 )
    {
      v8 = _InterlockedCompareExchange(&dword_140C4C6C0, v4 | 0x40000000, v4);
      v7 = v4 == v8;
      v4 = v8;
      if( !v7 )
        continue;
    }
    KeYieldProcessorEx(&SpinCount);
    v4 = dword_140C4C6C0;
  }
  if( *(_QWORD *)a1 )
    v5 = *(ULONG_PTR **)(qword_140C4E388 + 8i64 * (*(_WORD *)(*(_QWORD *)a1 + 60i64) & 0x3FF));
  else
    v5 = &MiSystemPartition;
  dword_140C4C6C0 = 0;
  __writecr8(CurrentIrql);
  return v5[22];
}

Referenced by:

CcChargeDirtyPages
CcDeleteSectionsForPartition
CcGetFlushedValidData
CcMapAndCopyInToCache
CcNotifyOfMappedWriteComplete
CcPurgeCacheSection
CcSetDirtyInMask