PoPauseStopWatch

CHAR __stdcall PoPauseStopWatch(INT64 a1){
  bool v1; 
  signed __int32 v2; 
  INT64 *v3; 
  INT64 v4; 
  unsigned int v5; 

  v2 = _InterlockedExchangeAdd((volatile signed __int32 *)(a1 + 40), 0xFFFFFFFF);
  v1 = v2 == 1;
  LOBYTE(v2) = v2 - 1;
  if( v1 )
  {
    PopInternalUpdateStopWatchState(a1);
    v4 = *v3;
    v2 = v5 + _InterlockedExchangeAdd((volatile signed __int32 *)(*v3 + 48), v5);
    if( !v2 )
      LOBYTE(v2) = PopInternalUpdateActiveStopWatchesCollectionState(v4);
  }
  return v2;
}

Referenced by:

PopPausePowerRequestStats
PopStatsMarkPowerRequestInactive
PopStatsScenarioStateChange