KiIntSteerLogStatus

VOID __stdcall KiIntSteerLogStatus(UINT8 Rundown){
  const _EVENT_DESCRIPTOR *v2; 
  const _EVENT_DESCRIPTOR *v3; 
  const _EVENT_DESCRIPTOR *v4; 
  int v5; 
  __int64 *v6; 
  ULONG_PTR *i; 
  __int64 *j; 
  UINT64 ProcIndex; 
  _KAFFINITY_ENUMERATION_CONTEXT Context; 
  _EVENT_DATA_DESCRIPTOR v11; 
  unsigned int *p_DeviceInterrupts; 
  __int64 v13; 
  _EVENT_DATA_DESCRIPTOR UserData; 
  int *v15; 
  __int64 v16; 
  int *v17; 
  __int64 v18; 
  _KAFFINITY_EX *v19; 
  __int64 v20; 
  unsigned __int64 *Bitmap; 
  int v22; 
  int v23; 

  v2 = &PPM_ETW_INTERRUPT_STEERING_MASK_CHANGE;
  if( Rundown )
    v2 = &KMPnPRundownEvt_SleepStudy_ConnectionResource;
  if( KiIntSteerEtwEventEnabled((__int64)v2) )
  {
    *(_QWORD *)&UserData.Size = 4i64;
    UserData.Ptr = (unsigned __int64)&KiIntSteerLoadPercent;
    v16 = 4i64;
    v15 = &KiIntTrackRootCount;
    v18 = 4i64;
    v17 = &KiIntSteerMaskCount;
    v20 = 2i64;
    v19 = &KiIntSteerMask;
    v23 = 0;
    Bitmap = KiIntSteerMask.Bitmap;
    v22 = 160 * KiIntSteerMask.Count;
    EtwWriteEx(qword_140CEC788[0], v3, 0i64, 0, 0, 0, 5u, &UserData);
  }
  *(_DWORD *)(&Context.CurrentIndex + 1) = 0;
  *(&Context.CurrentIndex + 3) = 0;
  v4 = &PPM_ETW_INTERRUPT_STEERING_PROC_CHANGE;
  LODWORD(ProcIndex) = 0;
  if( Rundown )
    v4 = &PPM_ETW_INTERRUPT_STEERING_PROC_RUNDOWN;
  if( KiIntSteerEtwEventEnabled((__int64)v4) )
  {
    Context.CurrentMask = KeActiveProcessors.Bitmap[0];
    Context.Affinity = &KeActiveProcessors;
    Context.CurrentIndex = 0;
    while( 1 )
    {
      KeEnumerateNextProcessor(&ProcIndex, &Context);
      if( v5 )
        break;
      *(_QWORD *)&v11.Size = 4i64;
      v11.Ptr = (unsigned __int64)&ProcIndex;
      v13 = 4i64;
      p_DeviceInterrupts = &(*(&KiProcessorBlock + (unsigned int)ProcIndex))->DeviceInterrupts;
      EtwWriteEx(qword_140CEC788[0], v4, 0i64, 0, 0, 0, 2u, &v11);
    }
  }
  v6 = PPM_ETW_INTERRUPT_STEERING_STATE_RETARGET;
  if( Rundown )
    v6 = PPM_ETW_INTERRUPT_STEERING_STATE_RUNDOWN;
  if( KiIntSteerEtwEventEnabled((__int64)v6) )
  {
    for( i = *(ULONG_PTR **)&KiIntTrackRootList; i != &KiIntTrackRootList; i = *(ULONG_PTR **)i )
    {
      if( Rundown || *((_QWORD *)i + 22) != *((_QWORD *)i + 20) )
      {
        for( j = (__int64 *)*((_QWORD *)i + 2); j != (__int64 *)(i + 4); j = (__int64 *)*j )
          KiIntSteerLogState((__int64)j, (__int64)v6);
      }
    }
  }
}

Referenced by:

KiIntSteerEventTraceControlCallback