CcDereferencePartition

CHAR __fastcall CcDereferencePartition(INT64 a1){
  signed __int64 v1; 
  CHAR v2; 
  bool v3; 
  bool v4; 
  bool v5; 
  signed __int64 v6; 
  v1 = _InterlockedExchangeAdd64((volatile signed __int64 *)(a1 + 968), 0xFFFFFFFFFFFFFFFFui64);
  v2 = 0;
  v5 = __OFSUB__(v1, 1i64);
  v3 = v1 == 1;
  v4 = v1 - 1 < 0;
  v6 = v1 - 1;
  if( v4 ^ v5 | v3 )
  {
    if( v6 )
      __fastfail(0xEu);
    v2 = 1;
    KeSetEvent((PRKEVENT)(a1 + 1000), 0);
  }
  return v2;
}

Referenced by:

CcAsyncReadWorker
CcAsyncReadWorkerThread
CcCompleteAsyncReadWorker
CcDeferWrite
CcDeletePartition
CcDeleteSharedCacheMap
CcForEachPartition
CcFreeWorkQueueEntry
CcPostDeferredWrites
CcQueueLazyWriteScanThread
CcUninitializeCacheMap
CcUnmapInactiveViews
CcWorkerThread
CcZeroData