PopPepCompleteComponentIdleStateChangeActivity
void __fastcall PopPepCompleteComponentIdleStateChangeActivity(__int64 a1, __int64 a2){
__int64 v4;
__int64 v5;
UINT64 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 = *(unsigned int *)(a2 + 176);
LABEL_13:
PopFxUpdateComponentPerfStateNominalChange(*(_POP_FX_DEVICE **)(a1 + 32), *(unsigned int *)(a2 + 8), 0, v6);
goto LABEL_3;
}
if( *(_DWORD *)(a2 + 180) )
{
v6 = *(unsigned int *)(a2 + 176);
if( !(_DWORD)v6 && (v5 & 2) != 0 )
goto LABEL_13;
}
}
LABEL_3:
if( !*(_DWORD *)(a2 + 176) )
KeSetEvent((PRKEVENT)(a2 + 32), 0, 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),
UpdateTypeDecrement);
PopFxUpdateComponentAccountingEnhanced(
*(_POP_FX_DEVICE **)(a1 + 32),
*(unsigned int *)(a2 + 8),
(unsigned int)v4,
PopFxAccountingUpdateComplete);
}Referenced by:
No references.