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