PopPowerAggregatorSetCurrentState

INT64 __fastcall PopPowerAggregatorSetCurrentState(INT64 a1, INT64 a2){
  int v2; 
  _OWORD *v3; 
  INT64 result; 
  __int128 v7; 
  struct _EVENT_DATA_DESCRIPTOR v8; 
  INT64 v9; 
  int v10; 
  int v11; 
  v2 = *(_DWORD *)(a1 + 32);
  v3 = (_OWORD *)(a1 + 72);
  v8.Ptr = a1 + 72;
  v8.Reserved = 0;
  *(_DWORD *)(a2 + 4) = v2;
  *(_QWORD *)(a2 + 8) = *(_QWORD *)(a1 + 40);
  v8.Size = 4;
  v9 = a2;
  v11 = 0;
  v10 = 4;
  PopPowerAggregatorDiagTraceEvent(&POP_ETW_EVENT_POWER_AGGREGATOR_INTERNAL_STATE_CHANGE, 2u, &v8);
  result = PopPowerAggregatorAllocateLogEntry(a1, 2i64);
  *(_OWORD *)(result + 24) = *v3;
  *(_OWORD *)(result + 40) = v3[1];
  *(_OWORD *)(result + 56) = *(_OWORD *)a2;
  *(_OWORD *)(result + 72) = *(_OWORD *)(a2 + 16);
  *v3 = *(_OWORD *)a2;
  v7 = *(_OWORD *)(a2 + 16);
  *(_DWORD *)(a1 + 20) |= 2u;
  v3[1] = v7;
  return result;
}

Referenced by:

PopPowerAggregatorActiveToScreenOffStateHandler
PopPowerAggregatorDisengageModernStandby
PopPowerAggregatorDisplayPoweringOnStateHandler
PopPowerAggregatorScreenOffActiveToActiveStateHandler
PopPowerAggregatorScreenOffEnterStateHandler
PopPowerAggregatorScreenOffExitStateHandler
PopPowerAggregatorSystemTransitionEnterStateHandler
PopPowerAggregatorSystemTransitionExitStateHandler