CcFreeWorkQueueEntry

INT8 __stdcall CcFreeWorkQueueEntry(INT64 ListEntry){
  struct _KPRCB *CurrentPrcb; 
  INT64 v3; 
  __int64 v4; 
  CurrentPrcb = KeGetCurrentPrcb();
  v3 = *(_QWORD *)(ListEntry + 128);
  v4 = *((_QWORD *)CurrentPrcb + 268);
  ++*(_DWORD *)(v4 + 28);
  if( *(_WORD *)v4 < *(_WORD *)(v4 + 16)
    || (++*(_DWORD *)(v4 + 32),
        v4 = *((_QWORD *)CurrentPrcb + 269),
        ++*(_DWORD *)(v4 + 28),
        *(_WORD *)v4 < *(_WORD *)(v4 + 16)) )
  {
    RtlpInterlockedPushEntrySList((PSLIST_HEADER)v4, (PSLIST_ENTRY)ListEntry);
  }
  else
  {
    ++*(_DWORD *)(v4 + 32);
    (*(void(__fastcall **)(INT64))(v4 + 56))(ListEntry);
  }
  return CcDereferencePartition(v3);
}

Referenced by:

CcAsyncReadWorker
CcCompleteAsyncReadWorker
CcMapAndCopyInToCache
CcPostWorkQueueAsyncRead
CcSerializeWithLazyWriter
CcUninitializeCacheMap
CcWaitForUninitializeCacheMap
CcWorkerThread
CcWriteBehind