// Decompiled by JEB v0.9.0 alpha
public static void rc4_crypt(byte[] arg11, byte[] arg12) {
int v10 = 0x100;
int v5 = arg11.length;
int v0 = arg12.length;
byte[] v6 = new byte[v10];
int v1 = 0;
while(v1 < v10) {
v6[v1] = ((byte)v1);
++v1;
}
int v3 = 0;
v1 = 0;
while(v1 < v10) {
v3 = (v6[v1] + v3 + arg11[v1 % v5]) % 0x100 & 0xFF;
byte v7 = v6[v1];
v6[v1] = v6[v3];
v6[v3] = v7;
++v1;
}
v1 = 0;
v3 = 0;
int v2 = 0;
while(v2 < v0) {
v1 = (v1 + 1) % 0x100 & 0xFF;
v3 = (v6[v1] + v3) % 0x100 & 0xFF;
v7 = v6[v1];
v6[v1] = v6[v3];
v6[v3] = v7;
arg12[v2] = ((byte)(arg12[v2] ^ v6[(v6[v1] + v6[v3]) % 0x100 & 0xFF]));
++v2;
}
} |
// Decompiled by JD-GUI v0.3.5
public static void rc4_crypt(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2)
{
int i = paramArrayOfByte1.length;
int j = paramArrayOfByte2.length;
byte[] arrayOfByte = new byte[256];
int k = 0;
int m;
int n;
label30: int i2;
int i3;
if (k >= 256)
{
m = 0;
n = 0;
if (n < 256)
break label68;
i2 = 0;
i3 = 0;
}
for (int i4 = 0; ; i4++)
{
if (i4 >= j)
{
return;
arrayOfByte[k] = ((byte)k);
k++;
break;
label68: m = 0xFF & (m + arrayOfByte[n] + paramArrayOfByte1[(n % i)]) % 256;
int i1 = arrayOfByte[n];
arrayOfByte[n] = arrayOfByte[m];
arrayOfByte[m] = i1;
n++;
break label30;
}
i2 = 0xFF & (i2 + 1) % 256;
i3 = 0xFF & (i3 + arrayOfByte[i2]) % 256;
int i5 = arrayOfByte[i2];
arrayOfByte[i2] = arrayOfByte[i3];
arrayOfByte[i3] = i5;
paramArrayOfByte2[i4] = ((byte)(arrayOfByte[(0xFF & (arrayOfByte[i2] + arrayOfByte[i3]) % 256)] ^ paramArrayOfByte2[i4]));
}
} |