PopPepCompleteComponentIdleStateChangeActivity
VOID __fastcall PopPepCompleteComponentIdleStateChangeActivity(INT64 a1, INT64 a2){
__int64 v4;
__int64 v5;
int v6;
if( !a2 )
return;
*(_DWORD *)(*(_QWORD *)(a2 + 64) + 12i64) = 0;
*(_BYTE *)(*(_QWORD *)(a2 + 64) + 16i64) = 0;
if( *(_BYTE *)(a2 + 184) && *(_BYTE *)(a1 + 124) )
{
v5 = *(_QWORD *)(a2 + 24);
if( (v5 & 4) != 0 )
{
v6 = *(_DWORD *)(a2 + 176);
LABEL_13:
PopFxUpdateComponentPerfStateNominalChange(*(_QWORD *)(a1 + 32), *(_DWORD *)(a2 + 8), 0, v6);
goto LABEL_3;
}
if( *(_DWORD *)(a2 + 180) )
{
v6 = *(_DWORD *)(a2 + 176);
if( !v6 && (v5 & 2) != 0 )
goto LABEL_13;
}
}
LABEL_3:
if( !*(_DWORD *)(a2 + 176) )
KeSetEvent((PRKEVENT)(a2 + 32), 0);
PopPepUpdateIdleState(a1, (_DWORD *)a2, 0);
PopPepTryPowerDownComponent(a1, (_DWORD *)a2);
v4 = *(unsigned int *)(a2 + 176);
PopPepUpdateIdleStateRefCount(
*(unsigned int *)(*(_QWORD *)(a2 + 192) + 24i64 * *(unsigned int *)(a2 + 180) + 16),
*(unsigned int *)(*(_QWORD *)(a2 + 192) + 24 * v4 + 16),
0i64);
PopFxUpdateComponentAccountingEnhanced(*(_QWORD *)(a1 + 32), *(unsigned int *)(a2 + 8), (unsigned int)v4, 1i64);
}Referenced by:
No references.