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.