PpmPerfResizeHistoryAll

VOID __stdcall PpmPerfResizeHistoryAll(){
  int v0; 
  _KPRCB *Prcb; 
  INT64 i; 
  unsigned int v3; 
  __int64 v4; 
  _KAFFINITY_ENUMERATION_CONTEXT Context; 
  UINT64 ProcIndex; 

  *(_DWORD *)(&Context.CurrentIndex + 1) = 0;
  *(&Context.CurrentIndex + 3) = 0;
  Context.CurrentIndex = 0;
  LODWORD(ProcIndex) = 0;
  Context.CurrentMask = PpmCheckRegistered.Bitmap[0];
  Context.Affinity = &PpmCheckRegistered;
  while( 1 )
  {
    KeEnumerateNextProcessor(&ProcIndex, &Context);
    if( v0 )
      break;
    Prcb = KeGetPrcb((unsigned int)ProcIndex);
    PpmPerfResizeHistory((_KPRCB *)&Prcb->PowerState.CheckContext);
  }
  for( i = PpmPerfDomainHead; (INT64 *)i != &PpmPerfDomainHead; i = *(_QWORD *)i )
  {
    if( *(_DWORD *)(i + 200) )
    {
      v3 = 0;
      do
      {
        v4 = *(_QWORD *)(i + 216) + 136i64 * v3;
        if( *(_DWORD *)(v4 + 16) == 1 )
          PpmPerfResizeHistory(*(_KPRCB **)v4);
        ++v3;
      }
      while( v3 < *(_DWORD *)(i + 200) );
    }
  }
}

Referenced by:

PpmReapplyPerfPolicy