Public feed
#890844
int __cdecl sub_10004E30(int a1, int a2)
{
int result; // eax@1
int v3; // ecx@1
int v4; // eax@2
int v5; // edx@2
int v6; // ecx@3
int v7; // edi@3
unsigned int v8; // edx@4
v3 = *(_DWORD *)(a1 + 4);
result = *(_DWORD *)(a1 + 4) - *(_DWORD *)(a2 + 4);
if ( !result )
{
v4 = v3 - 1;
v5 = *(_DWORD *)a2;
if ( v3 - 1 < 0 )
{
LABEL_6:
result = 0;
}
else
{
v6 = v5 + 4 * v4;
v7 = *(_DWORD *)a1 - v5;
while ( 1 )
{
v8 = *(_DWORD *)(v7 + v6);
if ( *(_DWORD *)v6 != v8 )
break;
--v4;
v6 -= 4;
if ( v4 < 0 )
goto LABEL_6;
}
result = (-(*(_DWORD *)v6 < v8) & 2) - 1;
}
}
return result;
}
signed int __cdecl sub_1000CC60(int a1, int a2, int a3)
{
int v3; // eax@1
int v4; // ecx@1
int v5; // ebx@3
int v6; // ebp@3
int v7; // edi@3
int v8; // esi@3
signed int result; // eax@4
int v10; // edi@8
int v11; // esi@8
int v12; // eax@12
int *v13; // eax@8
int v14; // edi@8
int v15; // esi@8
int v16; // eax@8
int v17; // eax@10
v4 = a2;
v3 = a3;
if ( *(_DWORD *)(a2 + 4) < *(_DWORD *)(a3 + 4) )
{
a2 = a3;
a3 = v4;
v3 = v4;
v4 = a2;
}
v6 = *(_DWORD *)(v3 + 4);
v8 = a1;
v7 = *(_DWORD *)(v4 + 4);
v5 = v7 - v6;
if ( v7 + 1 > *(_DWORD *)(a1 + 8) )
{
result = sub_10004AA0(a1, v7 + 1);
v4 = a2;
}
else
{
result = a1;
}
if ( result )
{
v13 = (int *)a3;
*(_DWORD *)(v8 + 4) = v7;
v14 = *(_DWORD *)v4;
v15 = *(_DWORD *)v8;
v16 = sub_10010CEF(v15, *(_DWORD *)v4, *v13, v6);
v11 = 4 * v6 + v15;
v10 = 4 * v6 + v14;
if ( v16 )
{
if ( !v5 )
{
LABEL_12:
v12 = a1;
*(_DWORD *)v11 = 1;
++*(_DWORD *)(v12 + 4);
LABEL_14:
if ( v5 )
{
if ( v11 != v10 )
{
do
{
--v5;
*(_DWORD *)v11 = *(_DWORD *)v10;
v11 += 4;
v10 += 4;
}
while ( v5 );
}
}
*(_DWORD *)(v12 + 12) = 0;
return 1;
}
while ( 1 )
{
v17 = *(_DWORD *)v10 + 1;
*(_DWORD *)v11 = v17;
--v5;
v10 += 4;
v11 += 4;
if ( v17 )
break;
if ( !v5 )
goto LABEL_12;
}
}
v12 = a1;
goto LABEL_14;
}
return result;
}
case 41:
sub_1000CF70(*(_DWORD *)(a2 + 120), *(_DWORD *)(a2 + 120), *(_DWORD *)(a2 + 124));
v10 = *(_DWORD *)(v5 + 204);
v11 = __SETO__(v10, 2);
v12 = v10 == 2;
v13 = v10 < 2;
v7 = 5 * v10;
if ( !((unsigned __int8)(v13 ^ v11) | v12) )
v7 = 2 * v7 - 10;
*(_DWORD *)(v5 + 112) = v7 + 500;
result = v16;
break;