MiAdjustCachedStacks

VOID __stdcall MiAdjustCachedStacks(){
  unsigned int i; 
  __int64 v1; 
  unsigned int v2; 
  unsigned int v3; 
  __int64 v4; 
  __int64 v5; 
  unsigned __int16 *v6; 
  unsigned int v7; 
  int v8; 
  unsigned int v9; 
  int v10; 
  int v11; 
  int v12; 
  INT64 v13; 
  int v14; 
  __int64 v15; 
  int v16; 
  int v17; 
  PSLIST_ENTRY v18; 
  for( i = 0; i < (unsigned int)KeNumberProcessors_0; ++i )
  {
    KeGetPrcb(i);
    if( *(_QWORD *)(v1 + 32520) )
    {
      v13 = _InterlockedExchange64((volatile __int64 *)(v1 + 32520), 0i64);
      if( v13 )
        MiDeleteCachedKernelStack(v13);
    }
  }
  v2 = (unsigned __int16)KeNumberNodes;
  v3 = 0;
  do
  {
    v4 = 0i64;
    v5 = 176i64 * v3;
    do
    {
      v6 = (unsigned __int16 *)((char *)SListHead + v5);
      v7 = *(_DWORD *)((char *)SListHead + v5 + 20) - *(_DWORD *)((char *)SListHead + v5 + 24);
      if( v7 )
      {
        v8 = *((_DWORD *)v6 + 4);
        if( v8 < 16 || v7 >= 0x10 )
        {
          v17 = 4;
          v9 = *((_DWORD *)v6 + 4);
          v10 = v8 >> 31;
        }
        else
        {
          v9 = *((_DWORD *)v6 + 4);
          v10 = v8 >> 31;
          if( v8 >= 64 )
          {
            v11 = v8 / 16;
LABEL_11:
            *((_DWORD *)v6 + 6) = *(_DWORD *)((char *)SListHead + v5 + 20);
            if( !v11 )
              v11 = 1;
            v12 = v11 + v8;
            if( v12 > 256 )
              v12 = 256;
            *((_DWORD *)v6 + 4) = v12;
            goto LABEL_16;
          }
          v17 = 8;
        }
        v11 = __SPAIR64__(v10, v9) / v17;
        goto LABEL_11;
      }
      if( !*((_DWORD *)v6 + 7) )
      {
        v14 = *((_DWORD *)v6 + 4);
        LODWORD(v15) = v14 / 20;
        if( !(v14 / 20) )
          v15 = v14 != 0;
        v16 = v14 - v15;
        if( v4 != 1 && v16 < 5 )
          v16 = 5;
        *((_DWORD *)v6 + 4) = v16;
        while( *v6 > v16 )
        {
          v18 = RtlpInterlockedPopEntrySList((PSLIST_HEADER)v6);
          if( v18 )
            MiDeleteCachedKernelStack((INT64)v18);
        }
      }
LABEL_16:
      *((_DWORD *)v6 + 7) = 0;
      ++v4;
      v5 += 32i64;
    }
    while( v4 <= 1 );
    ++v3;
  }
  while( v3 < v2 );
}

Referenced by:

MiWorkingSetManager