PopPluginDevicePower

UINT8 __stdcall PopPluginDevicePower(
        POP_FX_DEVICE *FxDevice,
        UINT8 PowerRequired,
        PEP_WORK_INFORMATION *WorkInformation){
  __int64 v3; 
  POP_PEP_ACTIVITY_TYPE v5; 
  UINT8 result; 
  UINT64 v7; 

  v3 = *((_QWORD *)FxDevice + 7);
  if( PowerRequired )
  {
    v5 = FirstToStart;
    if( *(int *)(v3 + 132) > 0 && _InterlockedExchangeAdd((volatile signed __int32 *)(v3 + 132), 0xFFFFFFFF) == 1 )
      PopPepUpdateConstraints((_POP_PEP_DEVICE *)v3, ComponentDx, 1u);
  }
  else
  {
    v5 = DevicePowerOff;
  }
  result = PopPepProcessEvent((POP_PEP_DEVICE *)v3, 0i64, v5, MaximumActivities, v7, WorkInformation);
  if( result )
  {
    if( !WorkInformation )
      PopFxBugCheck(0x612u, 0, 0, 0);
  }
  return result;
}

Referenced by:

PopFxCompleteDevicePowerRequired
PopFxProcessWork