CcUpdateSharedCacheMapFlag

VOID __stdcall CcUpdateSharedCacheMapFlag(_SHARED_CACHE_MAP *SharedCacheMap, UINT64 Flag, UINT8 Set){
  int v4; 
  unsigned __int64 *Partition; 
  int v7; 
  int v8; 
  _KLOCK_QUEUE_HANDLE LockHandle; 

  memset(&LockHandle, 0, sizeof(LockHandle));
  v4 = Flag;
  Partition = (unsigned __int64 *)CcGetPartition(SharedCacheMap);
  KeAcquireInStackQueuedSpinLock(Partition + 16, &LockHandle);
  v7 = *((_DWORD *)SharedCacheMap + 38);
  if( Set )
    v8 = v4 | v7;
  else
    v8 = ~v4 & v7;
  *((_DWORD *)SharedCacheMap + 38) = v8;
  KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
  __writecr8(LockHandle.OldIrql);
}

Referenced by:

CcApplyLowIoPriorityToThread
CcBoostLowPriorityWorkerThread
CcCopyReadEx
CcMapAndCopyFromCache
CcMdlRead
CcPurgeAndClearCacheSection
CcUnmapVacb
CcUpdateReadHistory