CcReEngageWorkerThreads

VOID __stdcall CcReEngageWorkerThreads(UINT64 NormalThreadsToActivate, UINT64 ExtraWriteBehindThreadsToActivate){
  unsigned int v2; 
  unsigned int v3; 
  unsigned int v4; 
  unsigned int v5; 
  _QWORD **v7; 
  _QWORD *v8; 
  _QWORD *v9; 
  unsigned int v10; 
  _QWORD **v11; 
  _QWORD *v12; 
  _QWORD *v13; 

  v3 = 0;
  v4 = v2;
  v5 = ExtraWriteBehindThreadsToActivate;
  if( (_DWORD)ExtraWriteBehindThreadsToActivate )
  {
    v7 = (_QWORD **)(NormalThreadsToActivate + 208);
    do
    {
      v8 = *v7;
      if( *v7 == v7 )
        break;
      if( (_QWORD **)v8[1] == v7 )
      {
        v9 = (_QWORD *)*v8;
        if( *(_QWORD **)(*v8 + 8i64) == v8 )
          continue;
      }
LABEL_17:
      __fastfail(3u);
      *v7 = v9;
      v9[1] = v7;
      ++*(_DWORD *)(NormalThreadsToActivate + 204);
      if( _InterlockedIncrement64((volatile signed __int64 *)(NormalThreadsToActivate + 968)) <= 1 )
        __fastfail(0xEu);
      *v8 = 0i64;
      ExQueueWorkItemToPartition(v8);
      ++v3;
    }
    while( v3 < v5 );
  }
  v10 = 0;
  if( v4 )
  {
    v11 = (_QWORD **)(NormalThreadsToActivate + 304);
    do
    {
      v12 = *v11;
      if( *v11 == v11 )
        break;
      if( (_QWORD **)v12[1] != v11 )
        goto LABEL_17;
      v13 = (_QWORD *)*v12;
      if( *(_QWORD **)(*v12 + 8i64) != v12 )
        goto LABEL_17;
      *v11 = v13;
      v13[1] = v11;
      ++*(_DWORD *)(NormalThreadsToActivate + 320);
      if( _InterlockedIncrement64((volatile signed __int64 *)(NormalThreadsToActivate + 968)) <= 1 )
        __fastfail(0xEu);
      *v12 = 0i64;
      ExQueueWorkItemToPartition(v12);
      ++v10;
    }
    while( v10 < v4 );
  }
}

Referenced by:

CcAdjustWriteBehindThreadPool
CcWorkerThread