int __cdecl ImageXorDecodeType4(int i, char *a2, char *a3)
{
int v3; // ecx
int i_1; // edi
char *v5; // eax
int j; // ebx
char v8; // al
int v10; // [esp+4h] [ebp-8h]
v3 = 0;
i_1 = 0;
v10 = 0;
if ( i > 0 )
{
v5 = a2;
do
{
for ( j = 0; j < i; ++j )
{
v8 = *v5;
if ( v8 >= 0 )
{
*a3 = v8 ^ ((((unsigned __int8)(i_1 / 2) + (unsigned __int8)(j / 3)) & 1) == 0);
v3 = v10;
}
else
{
*a3 = v8;
}
v3 += *a3 & 1;
v5 = a2 + 1;
v10 = v3;
++a3;
++a2;
}
++i_1;
}
while ( i_1 < i );
}
return v3;
}