RaspDestroySegmentList
INT64 __fastcall RaspDestroySegmentList(__int64 a1, unsigned int a2, _QWORD *a3){
int v3;
char *i;
INT64 *v8;
char v9;
INT64 v11;
INT64 v12;
v3 = 0;
if( a2 )
{
for( i = (char *)(a1 + 24); ; i += 25 )
{
v8 = (INT64 *)(i - 24);
if( i == (char *)24 )
return RaspFreeMemory(a1, a3);
v9 = *i;
if( *i == 3 )
{
v9 = 3;
if( *v8 )
{
RaspFreeMemory(*v8, a3);
v9 = *i;
}
}
if( v9 != 4 )
goto LABEL_6;
v12 = *((_QWORD *)i - 1);
if( v12 )
break;
LABEL_7:
if( ++v3 >= a2 )
return RaspFreeMemory(a1, a3);
}
RaspFreeMemory(v12, a3);
v9 = *i;
LABEL_6:
if( v9 == 5 )
{
if( *v8 )
RaspFreeMemory(*v8, a3);
v11 = *((_QWORD *)i - 1);
if( v11 )
RaspFreeMemory(v11, a3);
}
goto LABEL_7;
}
return RaspFreeMemory(a1, a3);
}Referenced by:
RaspCreateSegmentList
RaspScanConvert