-
Member
Mu Ex902 Blue Main Packet C1 C3
char *__stdcall Packet(char *data, signed int length)
{
char v2; // ST0E_1@5
char v3; // ST09_1@9
char v4; // ST08_1@9
char v5; // ST07_1@9
char *result; // eax@9
char v7; // ST09_1@13
char v8; // ST08_1@13
char v9; // ST07_1@13
char v10; // ST12_1@14
char v11; // ST11_1@14
char v12; // ST19_1@20
char v13; // ST18_1@20
char v14; // ST13_1@30
char v15; // ST13_1@31
char v16; // ST1F_1@32
char v17; // ST1A_1@42
char v18; // ST1A_1@43
char v19; // [sp+Ah] [bp-16h]@7
char v20; // [sp+Ch] [bp-14h]@5
char v21; // [sp+Fh] [bp-11h]@14
char v22; // [sp+14h] [bp-Ch]@24
char v23; // [sp+16h] [bp-Ah]@20
char v24; // [sp+1Bh] [bp-5h]@36
char v25; // [sp+1Dh] [bp-3h]@32
if ( length >= 4 )
{
if ( length >= 8 )
{
if ( length >= 16 )
{
if ( length >= 32 )
{
data[12] ^= 0xF8u;
v2 = data[17];
data[17] = data[15];
data[15] = v2;
v20 = ((signed int)(unsigned __int8)data[16] >> 5) & 1;
if ( ((signed int)(unsigned __int8)data[16] >> 1) & 1 )
{
data[16] |= 0x20u;
if ( v20 )
{
LABEL_7:
data[16] |= 2u;
data[10] ^= 0x31u;
data[17] ^= 0x6Cu;
data[5] ^= 0x37u;
data[30] ^= 0x66u;
v19 = ((signed int)(unsigned __int8)data[5] >> 2) & 1;
if ( ((signed int)(unsigned __int8)data[5] >> 4) & 1 )
goto LABEL_8;
goto LABEL_12;
}
}
else
{
data[16] &= 0xDFu;
if ( v20 )
goto LABEL_7;
}
data[16] &= 0xFDu;
data[10] ^= 0x31u;
data[17] ^= 0x6Cu;
data[5] ^= 0x37u;
data[30] ^= 0x66u;
v19 = ((signed int)(unsigned __int8)data[5] >> 2) & 1;
if ( ((signed int)(unsigned __int8)data[5] >> 4) & 1 )
{
LABEL_8:
data[5] |= 4u;
if ( v19 )
{
LABEL_9:
data[5] |= 0x10u;
data[29] ^= 0x6Au;
v3 = data[6];
data[6] = data[6];
data[6] = v3;
v4 = (signed int)(unsigned __int8)data[13] >> 7;
data[13] *= 2;
data[13] |= v4;
v5 = data[12];
data[12] = data[2];
result = data;
data[2] = v5;
return result;
}
goto LABEL_13;
}
LABEL_12:
data[5] &= 0xFBu;
if ( v19 )
goto LABEL_9;
LABEL_13:
data[5] &= 0xEFu;
data[29] ^= 0x6Au;
v7 = data[6];
data[6] = data[6];
data[6] = v7;
v8 = (signed int)(unsigned __int8)data[13] >> 7;
data[13] *= 2;
data[13] |= v8;
v9 = data[12];
data[12] = data[2];
result = data;
data[2] = v9;
return result;
}
v10 = (signed int)(unsigned __int8)data[6] >> 1;
data[6] <<= 7;
data[6] |= v10;
data[15] ^= 0x81u;
data[11] ^= 0xCAu;
v11 = (signed int)(unsigned __int8)*data >> 4;
*data *= 16;
*data |= v11;
*data ^= 0xC1u;
*data ^= 0x53u;
data[10] ^= 0x17u;
v21 = ((signed int)(unsigned __int8)data[4] >> 4) & 1;
if ( ((signed int)(unsigned __int8)data[4] >> 7) & 1 )
{
data[4] |= 0x10u;
if ( v21 )
{
LABEL_19:
result = (char *)((unsigned __int8)data[4] | 0x80);
data[4] = (char)result;
return result;
}
}
else
{
data[4] &= 0xEFu;
if ( v21 )
goto LABEL_19;
}
result = (char *)(data[4] & 0x7F);
data[4] = (char)result;
return result;
}
v12 = data[4];
data[4] = data[4];
data[4] = v12;
v13 = *data;
*data = data[1];
data[1] = v13;
v23 = ((signed int)(unsigned __int8)data[2] >> 3) & 1;
if ( ((signed int)(unsigned __int8)data[2] >> 1) & 1 )
{
data[2] |= 8u;
if ( v23 )
goto LABEL_26;
}
else
{
data[2] &= 0xF7u;
if ( v23 )
{
LABEL_26:
data[2] |= 2u;
v22 = ((signed int)(unsigned __int8)data[1] >> 2) & 1;
if ( !(((signed int)(unsigned __int8)data[1] >> 7) & 1) )
{
LABEL_27:
data[1] &= 0xFBu;
if ( v22 )
goto LABEL_31;
goto LABEL_30;
}
LABEL_29:
data[1] |= 4u;
if ( v22 )
{
LABEL_31:
data[1] |= 0x80u;
v15 = (signed int)(unsigned __int8)*data >> 1;
*data <<= 7;
result = (char *)(unsigned __int8)(v15 | *data);
*data = (char)result;
return result;
}
LABEL_30:
data[1] &= 0x7Fu;
v14 = (signed int)(unsigned __int8)*data >> 1;
*data <<= 7;
result = (char *)(unsigned __int8)(v14 | *data);
*data = (char)result;
return result;
}
}
data[2] &= 0xFDu;
v22 = ((signed int)(unsigned __int8)data[1] >> 2) & 1;
if ( !(((signed int)(unsigned __int8)data[1] >> 7) & 1) )
goto LABEL_27;
goto LABEL_29;
}
v16 = data[3];
data[3] = data[2];
data[2] = v16;
data[2] ^= 0x48u;
v25 = ((signed int)(unsigned __int8)data[2] >> 3) & 1;
if ( ((signed int)(unsigned __int8)data[2] >> 1) & 1 )
{
data[2] |= 8u;
if ( v25 )
goto LABEL_38;
}
else
{
data[2] &= 0xF7u;
if ( v25 )
{
LABEL_38:
data[2] |= 2u;
v24 = ((signed int)(unsigned __int8)data[1] >> 3) & 1;
if ( !(((signed int)(unsigned __int8)data[1] >> 1) & 1) )
{
LABEL_39:
data[1] &= 0xF7u;
if ( v24 )
goto LABEL_43;
goto LABEL_42;
}
LABEL_41:
data[1] |= 8u;
if ( v24 )
{
LABEL_43:
data[1] |= 2u;
v18 = (signed int)(unsigned __int8)data[3] >> 7;
data[3] *= 2;
result = (char *)(unsigned __int8)(v18 | data[3]);
data[3] = (char)result;
return result;
}
LABEL_42:
data[1] &= 0xFDu;
v17 = (signed int)(unsigned __int8)data[3] >> 7;
data[3] *= 2;
result = (char *)(unsigned __int8)(v17 | data[3]);
data[3] = (char)result;
return result;
}
}
data[2] &= 0xFDu;
v24 = ((signed int)(unsigned __int8)data[1] >> 3) & 1;
if ( !(((signed int)(unsigned __int8)data[1] >> 1) & 1) )
goto LABEL_39;
goto LABEL_41;
}
return result;
}
Normal use EX902 client
-