PopDripsWatchdogCallbackHandler

VOID __fastcall PopDripsWatchdogCallbackHandler(INT16 a1, UINT64 a2, UINT64 a3, UINT64 a4, INT64 a5, CHAR a6){
  unsigned int v6; 
  int v7; 
  bool v8; 
  INT64 v10; 
  INT64 v11; 
  INT64 v12; 
  __int128 *i; 
  unsigned __int64 v14; 
  unsigned __int64 v15; 
  INT64 v16; 
  __int128 v17[2]; 
  v6 = a2;
  v17[0] = 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, v17) >= 0 )
  {
    if( v8 )
    {
      v12 = 4i64;
    }
    else
    {
      if( !v7 )
      {
LABEL_17:
        for( i = *(__int128 **)&v17[0]; i != v17; i = *(__int128 **)i )
        {
          if( v8
            || v7
            && ((PopDripsWatchdogGetDeviceActiveTime((INT64)i - 872),
                 !PopFxIsDirectedPowerTransitionSupported((INT64)i - 872, 0i64)) ? (v15 = (unsigned int)PopFxDirectedFxDefaultTimeout) : (v15 = *((unsigned int *)i + 10)),
                v14 >= v15) )
          {
            PopDirectedDripsMarkCandidateDevice((INT64)i - 872);
          }
          else
          {
            PopDripsWatchdogInvokeDeviceCallbacks((INT64)i - 872, v6);
          }
        }
        if( v8 )
        {
          v16 = 5i64;
        }
        else
        {
          if( !v7 )
          {
LABEL_33:
            PopFxDestroyDripsBlockingDeviceList(v17);
            return;
          }
          v16 = 3i64;
        }
        PopDirectedDripsNotify(v16, &a5, v10, v11);
        goto LABEL_33;
      }
      v12 = 2i64;
    }
    PopDirectedDripsNotify(v12, &a5, v10, v11);
    goto LABEL_17;
  }
}

Referenced by:

PopDripsWatchdogCallbackWorker