PopPepProcessEvent

CHAR __fastcall PopPepProcessEvent(INT64 a1, volatile INT64 *a2, INT64 a3, UINT64 a4, INT64 a5, INT64 a6){
  __int64 v6; 
  unsigned int v7; 
  CHAR v10; 
  unsigned int v11; 
  unsigned int ready; 
  CHAR Work; 
  unsigned int v14; 
  bool v15; 
  UINT8 v17; 
  v6 = (int)a3;
  v7 = a4;
  v17 = 0;
  v10 = PopPepLockActivityLink(a1, a2, (unsigned int)a3, a4, &v17);
  if( (_DWORD)v6 == 6 || (v11 = dword_14000293C[34 * v6], (int)v11 < 2) )
    v11 = 2;
  ready = PopPepCountReadyActivities((UINT64 *)a1, (INT64)a2, v11);
  if( (_DWORD)v6 != 6 )
    PopPepCompleteActivity(a1, (INT64)a2, (unsigned int)v6);
  if( v7 != 6 )
    PopPepTriggerActivity(a1, (INT64)a2, v7, 0i64);
  PopPepPromoteActivities(a1, (INT64)a2, v11);
  Work = PopPepComponentGetWork(a1, (INT64)a2, a6);
  v14 = PopPepCountReadyActivities((UINT64 *)a1, (INT64)a2, v11);
  v15 = 0;
  if( (*(_BYTE *)(a1 + 24) & 1) == 0 && !v14 && !Work && !*(_DWORD *)(a1 + 140) )
    v15 = *(_BYTE *)(a1 + 136) != 0;
  PopPepRequestWork(ready, v14);
  PopPepReleaseActivityLink(a1, a2, v10, v17);
  if( v15 )
    return PopPepTryPowerDownDevice(a1, a6);
  return Work;
}

Referenced by:

PopFxProcessWork
PopPepCompleteComponentIdleState
PopPepNotifyIdleState
PopPepUnregisterDevice
PopPluginComponentActive
PopPluginDevicePower