PopPepStartComponentIdleStateChangeActivity
char __fastcall PopPepStartComponentIdleStateChangeActivity(__int64 a1, __int64 a2, __int64 a3){
char v3;
__int64 v7;
int v8;
UINT64 v9;
UINT64 v10;
__int64 v12;
v3 = 0;
if( !a2 )
return v3;
v7 = *(_QWORD *)(a2 + 64);
v8 = *(_DWORD *)(v7 + 12);
if( !v8 )
{
v9 = *(unsigned int *)(a2 + 176);
*(_DWORD *)(a2 + 180) = v9;
v10 = *(unsigned int *)(v7 + 8);
*(_DWORD *)(a2 + 176) = v10;
if( *(_BYTE *)(a1 + 124) )
{
*(_DWORD *)(v7 + 12) = 1;
LABEL_10:
PopPlNotifyDeviceFState(
*(_QWORD *)(a1 + 32),
*(unsigned int *)(a2 + 8),
*(unsigned int *)(a2 + 180),
*(unsigned int *)(a2 + 176),
0);
v12 = *(unsigned int *)(a2 + 176);
PopPepUpdateIdleStateRefCount(
*(unsigned int *)(*(_QWORD *)(a2 + 192) + 24i64 * *(unsigned int *)(a2 + 180) + 16),
*(unsigned int *)(*(_QWORD *)(a2 + 192) + 24 * v12 + 16),
UpdateTypeIncrement);
PopFxUpdateComponentAccountingEnhanced(
*(_POP_FX_DEVICE **)(a1 + 32),
*(unsigned int *)(a2 + 8),
(unsigned int)v12,
PopFxAccountingUpdateStart);
if( PopPluginNotifyIdleState(
*(_POP_FX_DEVICE **)(a1 + 32),
*(unsigned int *)(a2 + 8),
*(unsigned int *)(a2 + 176),
0) == 1 )
*(_DWORD *)(v7 + 12) = 2;
goto LABEL_6;
}
PopPlNotifyDeviceFState(*(_QWORD *)(a1 + 32), *(unsigned int *)(a2 + 8), v9, v10, 0);
v8 = 2;
*(_DWORD *)(v7 + 12) = 2;
}
if( v8 == 1 )
goto LABEL_10;
LABEL_6:
if( *(_DWORD *)(v7 + 12) == 2 )
{
*(_DWORD *)a3 = 1;
v3 = 1;
*(_QWORD *)(a3 + 8) = *(_QWORD *)(a1 + 32);
*(_DWORD *)(a3 + 16) = *(_DWORD *)(a2 + 8);
*(_DWORD *)(a3 + 20) = *(_DWORD *)(a2 + 176);
*(_DWORD *)(v7 + 12) = 3;
}
return v3;
}Referenced by:
No references.