PopDripsWatchdogCallbackHandler

void __fastcall PopDripsWatchdogCallbackHandler(
        __int16 a1,
        unsigned int a2,
        UINT64 a3,
        unsigned __int64 a4,
        INT64 a5,
        char a6){
  int v7; 
  bool v8; 
  INT64 v10; 
  INT64 v11; 
  INT64 v12; 
  INT64 v13; 
  INT64 *i; 
  unsigned __int64 v15; 
  unsigned __int64 v16; 
  INT64 v17; 
  _LIST_ENTRY v18; 

  v18 = 0i64;
  v7 = a1 & 0x100;
  v8 = 0;
  if( PopDirectedDripsTimeout && a4 / 0x989680 >= (unsigned int)PopDirectedDripsTimeout || a6 )
    v8 = (byte_140C4FD00 & 1) == 0 || (a1 & 1) != 0;
  if( ((a1 & 0x80) != 0 || (a1 & 0x100) != 0 || v8)
    && PopDeviceConstraintsEnforced()
    && (int)PopFxBuildDripsBlockingDeviceList(a3, &v18) >= 0 )
  {
    if( v8 )
    {
      v13 = 4i64;
    }
    else
    {
      if( !v7 )
      {
LABEL_17:
        for( i = (INT64 *)v18.Flink; i != (INT64 *)&v18; i = (INT64 *)*i )
        {
          if( v8
            || v7
            && ((PopDripsWatchdogGetDeviceActiveTime((INT64)(i - 109)),
                 !PopFxIsDirectedPowerTransitionSupported((INT64)(i - 109), 0i64)) ? (v16 = (unsigned int)PopFxDirectedFxDefaultTimeout) : (v16 = *((unsigned int *)i + 10)),
                v15 >= v16) )
          {
            PopDirectedDripsMarkCandidateDevice((INT64)(i - 109));
          }
          else
          {
            PopDripsWatchdogInvokeDeviceCallbacks((INT64)(i - 109), a2);
          }
        }
        if( v8 )
        {
          v17 = 5i64;
        }
        else
        {
          if( !v7 )
          {
LABEL_33:
            PopFxDestroyDripsBlockingDeviceList((INT64)&v18, v10, v11, v12, (INT64)v18.Flink, (INT64)v18.Blink);
            return;
          }
          v17 = 3i64;
        }
        PopDirectedDripsNotify(v17, &a5, v11, v12);
        goto LABEL_33;
      }
      v13 = 2i64;
    }
    PopDirectedDripsNotify(v13, &a5, v11, v12);
    goto LABEL_17;
  }
}

Referenced by:

PopDripsWatchdogCallbackWorker