PopPepPromoteActivities
char __fastcall PopPepPromoteActivities(__int64 a1, __int64 a2, int a3){
int v3;
__int64 v4;
_DWORD *v6;
unsigned int v7;
unsigned int v8;
int v9;
__int64 v10;
_DWORD *v11;
int v12;
__int64 *v13;
int v14;
if( !a3 )
return v14;
v3 = a3;
v4 = a2;
if( !a2 && a3 == 2 )
v3 = 1;
v6 = *(_DWORD **)(a1 + 72);
if( (*v6 & 1) != 0 )
PopPepAttemptAcitivityPromotion(a1, a2, (__int64)v6, 0, (volatile signed __int32 *)(a1 + 120));
if( v3 == 2 )
{
v7 = *(_DWORD *)(v4 + 8);
v8 = v7;
do
{
LABEL_9:
v9 = 1;
v10 = 64i64;
v4 = 200i64 * v8 + a1 + 184;
do
{
v11 = *(_DWORD **)(v10 + v4);
if( (*v11 & 1) != 0 )
PopPepAttemptAcitivityPromotion(a1, v4, (__int64)v11, v9, (volatile signed __int32 *)(v4 + 104));
++v9;
v10 += 8i64;
}
while( v9 <= 3 );
++v8;
}
while( v8 <= v7 );
goto LABEL_14;
}
v8 = *(_DWORD *)(a1 + 180);
if( v3 == 3 )
{
v7 = v8 - 1;
v8 = 0;
goto LABEL_9;
}
v7 = 0;
if( !v8 )
goto LABEL_9;
LABEL_14:
v12 = 4;
v13 = (__int64 *)(a1 + 104);
do
{
v14 = *(_DWORD *)*v13;
if( (v14 & 1) != 0 )
LOBYTE(v14) = PopPepAttemptAcitivityPromotion(a1, v4, *v13, v12, (volatile signed __int32 *)(a1 + 120));
++v12;
++v13;
}
while( v12 <= 5 );
return v14;
}Referenced by:
PopPepComponentSetLatency
PopPepComponentSetResidency
PopPepComponentSetWakeHint
PopPepIdleTimeoutRoutine
PopPepProcessEvent
PopPepSurprisePowerOn
PopPepTryPowerDownDevice
PopPepUpdateConstraints