PopDirectedDripsBuildBroadcastTreePartial
INT64 __fastcall PopDirectedDripsBuildBroadcastTreePartial(INT64 a1, CHAR a2, _DWORD *a3){
CHAR v3;
unsigned int v7;
int v8;
INT64 v9;
int v10;
unsigned int a4;
INT64 a2a;
a2a = 0i64;
v3 = 0;
a4 = 0;
if( (*(_DWORD *)(a1 + 760) & 0x30000) == 0 )
{
PopDirectedDripsDiagBroadcastTreeBegin(a1, a2, &a2a);
v8 = 0;
v9 = a1;
while( (*(_DWORD *)(v9 + 760) & 2) != 0 )
{
if( !*(_QWORD *)(v9 + 8) || (*(_DWORD *)(v9 + 760) & 4) != 0 )
goto LABEL_7;
v9 = *(_QWORD *)(v9 + 8);
LABEL_16:
if( v9 == a1 )
{
LABEL_17:
*a3 |= a4;
v7 = v8 == 0 ? 0xC00000BB : 0;
goto LABEL_18;
}
}
v10 = PopDirectedDripsBuildBroadcastTreeFull(v9, a2a, a2, &a4);
v7 = v10;
if( v10 >= 0 )
{
++v8;
}
else
{
v3 = 1;
if( v10 != -1073741637 )
goto LABEL_18;
}
LABEL_7:
if( v9 == a1 )
goto LABEL_17;
while( !*(_QWORD *)v9 )
{
v9 = *(_QWORD *)(v9 + 16);
if( v9 == a1 )
goto LABEL_16;
}
v9 = *(_QWORD *)v9;
goto LABEL_16;
}
v7 = 0;
LABEL_18:
PopDirectedDripsDiagBroadcastTreeEnd(a2a, v7, a4, v3);
return v7;
}Referenced by:
PopDirectedDripsInitializeBroadcast