PopPepTriggerActivity

INT64 __fastcall PopPepTriggerActivity(INT64 a1, INT64 a2, INT64 a3, UINT64 a4){
  UINT64 v4; 
  unsigned int v5; 
  BOOL v8; 
  UINT64 v9; 
  int v10; 
  __int64 v11; 
  _DWORD *v12; 
  _DWORD *v13; 
  v4 = (int)a3;
  v5 = a4;
  PopPepCancelActivities(a1, a2, (unsigned int)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(0x666ui64, 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] = v5;
  return(*(__int64(__fastcall **)(INT64, INT64, _QWORD))&ActivityAttributes[136 * v4 + 112])(a1, a2, v5);
}

Referenced by:

PopPepProcessEvent
PopPepSurprisePowerOn
PopPepTryPowerDownDevice
PopPepTryPowerUpComponent
PopPepUpdateIdleState