MiEmptyKernelStackCache

VOID __stdcall MiEmptyKernelStackCache(){
  unsigned int i; 
  _KPRCB *Prcb; 
  INT64 v2; 
  unsigned int j; 
  __int64 v4; 
  __int64 v5; 
  _SLIST_HEADER *v6; 
  PSLIST_ENTRY v7; 

  if( (MiFlags & 0x800) != 0 )
  {
    for( i = 0; i < (unsigned int)KeNumberProcessors_0; ++i )
    {
      Prcb = KeGetPrcb(i);
      if( Prcb->CachedStack )
      {
        v2 = _InterlockedExchange64((volatile __int64 *)&Prcb->CachedStack, 0i64);
        if( v2 )
          MiDeleteCachedKernelStack(v2);
      }
    }
    for( j = 0; j < (unsigned __int16)KeNumberNodes; ++j )
    {
      v4 = 2i64;
      v5 = 176i64 * j;
      do
      {
        v6 = (_SLIST_HEADER *)(v5 + *(&stru_140C4DB30 + 22));
        while( 1 )
        {
          v7 = RtlpInterlockedPopEntrySList(v6);
          if( !v7 )
            break;
          MiDeleteCachedKernelStack((INT64)v7);
        }
        v5 += 32i64;
        --v4;
      }
      while( v4 );
    }
  }
}

Referenced by:

MiFindContiguousPages
MiScrubNode
MmRelocatePfnList