PopFxAddLogEntry

VOID __fastcall PopFxAddLogEntry(INT64 a1, CHAR a2, CHAR a3, INT64 a4){
  __int64 v4; 
  __int64 v7; 
  __int64 v8; 
  __int64 v9; 
  __int16 v10; 
  if( a1 )
  {
    v4 = *(_QWORD *)(a1 + 80);
    if( v4 )
    {
      v7 = (unsigned int)_InterlockedExchangeAdd((volatile signed __int32 *)(v4 + 856), 1u) % *(_DWORD *)(v4 + 840);
      v8 = *(_QWORD *)(v4 + 848);
      v9 = 3 * v7;
      *(_QWORD *)(v8 + 8 * v9) = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
      *(_BYTE *)(v8 + 8 * v9 + 8) = a3;
      *(_BYTE *)(v8 + 8 * v9 + 9) = a2;
      KeGetCurrentProcessorNumberEx(0i64);
      *(_WORD *)(v8 + 8 * v9 + 10) = v10;
      *(_WORD *)(v8 + 8 * v9 + 12) = *((_WORD *)KeGetCurrentThread() + 572);
      *(_WORD *)(v8 + 8 * v9 + 14) = *((_WORD *)KeGetCurrentThread() + 576);
      *(_QWORD *)(v8 + 8 * v9 + 16) = a4;
    }
  }
}

Referenced by:

PoFxCompleteDevicePowerNotRequired
PoFxCompleteIdleCondition
PoFxCompleteIdleState
PopDiagTraceFxComponentIdleState
PopDiagTraceFxComponentLatency
PopDiagTraceFxComponentResidency
PopDiagTraceFxComponentWake
PopDiagTraceFxDeviceDirectedCompletion
PopDiagTraceFxDeviceDirectedTransition
PopDiagTraceFxDevicePowerRequirement
PopDiagTraceFxDevicePowerState
PopDiagTraceFxDevicePowered
PopDiagTraceFxDeviceStartPowerManagement
PopDiagTraceIrpFinish
PopDiagTraceIrpStart
PopFxAllocatePowerIrp
PopFxCompleteComponentPerfState
PopFxCompleteDevicePowerRequired
PopFxCompleteDirectedPowerTransition
PopFxHandleDirectedPowerTransition
PopFxIdleTimeoutDpcRoutine
PopFxIdleWorker
PopFxIssueComponentPerfStateChanges
PopFxProcessWork
PopFxTraceDeviceRegistration
PopFxTracePerfRegistration
PopFxUnregisterDevice
PopFxUpdateDeviceIdleTimer
PopPluginNotifyIdleState