PopPowerAggregatorDisengageModernStandby

void __fastcall PopPowerAggregatorDisengageModernStandby(__int64 a1){
  unsigned int v1; 
  unsigned int v2; 
  int v3; 
  INT64 v4; 
  INT64 v5; 
  INT64 v6; 
  _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(v4);
  PopSleepstudySnapModernStandbySessionData();
  if( v3 == 1 )
    PopSleepstudyStartNextSession(1i64, v1);
  v9 = 0i64;
  PopDirectedDripsNotify(7i64, &v9, v5, v6);
  PopAcquirePolicyLock();
  PopNetClearConnectivityConstraint(1);
  PopNetClearConnectivityConstraint(7);
  PopAggressiveStandbyAppliedActions = 0;
  PopReleasePolicyLock();
  ((void(__fastcall *)(_QWORD))qword_140C54188)(v2);
  PopPowerAggregatorLockAcquire();
}

Referenced by:

PopPowerAggregatorModernStandbyEnterStateHandler
PopPowerAggregatorModernStandbyExitStateHandler