PopPepTriggerActivity

__int64 __fastcall PopPepTriggerActivity(__int64 a1, __int64 a2, int a3, unsigned int a4){
  __int64 v4; 
  _BOOL4 v8; 
  __int64 v9; 
  signed int v10; 
  __int64 v11; 
  _DWORD *v12; 
  _DWORD *v13; 

  v4 = a3;
  PopPepCancelActivities(a1, a2, a3);
  v8 = (unsigned int)v4 <= 5 && ActivityAttributes[136 * v4] == 1;
  v9 = a1 + 72;
  if( !v8 )
    v9 = a2 + 56;
  v10 = 0;
  v11 = 0i64;
  do
  {
    v12 = *(_DWORD **)(v9 + 8 * v11);
    if( v12 && (*(_DWORD *)&ActivityAttributes[136 * v4 + 16 + 4 * v11] & *v12) != 0 )
      PopFxBugCheck(0x666u, v9, v4, v10);
    ++v10;
    ++v11;
  }
  while( v10 < 6 );
  if( a2 )
    v13 = *(_DWORD **)(a2 + 8 * v4 + 56);
  else
    v13 = *(_DWORD **)(a1 + 8 * v4 + 72);
  *v13 |= 1u;
  v13[1] = a4;
  return(*(__int64(__fastcall **)(__int64, __int64, _QWORD))&ActivityAttributes[136 * v4 + 112])(a1, a2, a4);
}

Referenced by:

PopPepProcessEvent
PopPepSurprisePowerOn
PopPepTryPowerDownDevice
PopPepTryPowerUpComponent
PopPepUpdateIdleState