PopDirectedDripsVisitPs4Device

NTSTATUS __stdcall PopDirectedDripsVisitPs4Device(INT64 a1, INT64 a2, INT64 a3, INT64 a4){
  INT64 v5; 
  NTSTATUS v7; 
  INT64 v10; 
  INT64 v11; 
  INT64 v12; 
  _QWORD *i; 
  __int64 v14; 
  INT64 v16; 

  v5 = a1 + 728;
  v7 = 0;
  LODWORD(v16) = 0;
  PopDirectedDripsVisitDevice(a3, a1 + 728, a4, 5i64);
  if( PopDirectedDripsIsLikelySpecialDevice(a1, &v16) )
  {
    v11 = (unsigned int)v16;
LABEL_3:
    PopDirectedDripsDiagTraceProblemDevice(v10, a4, v11);
    return -1073741637;
  }
  if( (*(_DWORD *)(v5 + 32) & 8) != 0 )
  {
    v11 = 3i64;
    goto LABEL_3;
  }
  v12 = a1 + 176;
  *(_DWORD *)(v5 + 32) |= 0x20000u;
  for( i = *(_QWORD **)(a1 + 176); i != (_QWORD *)v12; i = (_QWORD *)*i )
  {
    v14 = *(i - 1);
    PopDirectedDripsVisitDevice(a3, v14 + 568, a4, 6i64);
    PopDirectedDripsInsertQueueDevice(a2, (_QWORD *)(v14 + 568));
  }
  return v7;
}

Referenced by:

PopDirectedDripsBuildPs4BroadcastTree