PopPowerAggregatorDisengageModernStandby

_ETHREAD *__stdcall PopPowerAggregatorDisengageModernStandby(INT64 a1){
  unsigned int v1; 
  unsigned int v2; 
  int v3; 
  INT64 v4; 
  INT64 v5; 
  _DWORD v7[6]; 
  __int64 v8; 
  INT64 v9; 

  v1 = 47;
  v2 = *(_DWORD *)(a1 + 100);
  v3 = *(_DWORD *)(a1 + 24);
  if( *(_QWORD *)(a1 + 40) != *(_QWORD *)(a1 + 80) )
    v1 = *(_DWORD *)(a1 + 32);
  *(_QWORD *)&v7[1] = 0i64;
  v7[3] = 0;
  v8 = 0i64;
  v7[0] = 4;
  v7[4] = 4;
  v7[5] = *(_DWORD *)(a1 + 92);
  PopPowerAggregatorSetCurrentState(a1, (INT64)v7);
  PopPowerAggregatorLockRelease();
  PopSleepstudySnapModernStandbySessionData();
  if( v3 == 1 )
    PopSleepstudyStartNextSession(1i64, v1);
  v9 = 0i64;
  PopDirectedDripsNotify(7i64, &v9, v4, v5);
  PopAcquirePolicyLock();
  PopNetClearConnectivityConstraint(PopNetStandbyReasonSettingPolicy);
  PopNetClearConnectivityConstraint(PopNetStandbyReasonMaximum);
  PopAggressiveStandbyAppliedActions = 0;
  PopReleasePolicyLock();
  ((void(__fastcall *)(_QWORD))qword_140C54188)(v2);
  return PopPowerAggregatorLockAcquire();
}

Referenced by:

PopPowerAggregatorModernStandbyEnterStateHandler
PopPowerAggregatorModernStandbyExitStateHandler