PopFxCompleteDevicePowerRequired

CHAR __fastcall PopFxCompleteDevicePowerRequired(ULONG_PTR BugCheckParameter2, __int64 a2){
  char v2; 
  int v5; 
  v2 = 0;
  v5 = _InterlockedDecrement((volatile signed __int32 *)(BugCheckParameter2 + 36));
  if( v5 < 0 )
    PopFxBugCheck(0x613ui64, BugCheckParameter2, 0i64, 1ui64);
  if( v5 )
  {
    if( a2 )
      PopFxAddLogEntry(*(_QWORD *)(BugCheckParameter2 + 48), 0, 16, 0i64);
  }
  else
  {
    PopDiagTraceFxDevicePowered(*(PVOID *)(BugCheckParameter2 + 48));
    if( !a2 )
      PopFxAddLogEntry(*(_QWORD *)(BugCheckParameter2 + 48), 0, 16, 1i64);
    return PopPluginDevicePower(BugCheckParameter2, 1, a2);
  }
  return v2;
}

Referenced by:

PoFxReportDevicePoweredOn
PopFxDeliverDevicePowerRequired
PopFxProcessWork