// 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 Jad v1.5.8g
public static void rc4_crypt(byte abyte0[], byte abyte1[])
{
int i;
int j;
byte abyte2[];
int k;
i = abyte0.length;
j = abyte1.length;
abyte2 = new byte[256];
k = 0;
_L5:
if(k < 256) goto _L2; else goto _L1
_L1:
int l;
int i1;
l = 0;
i1 = 0;
_L6:
if(i1 < 256) goto _L4; else goto _L3
_L3:
int j1;
int k1;
int l1;
j1 = 0;
k1 = 0;
l1 = 0;
_L7:
if(l1 >= j)
return;
break MISSING_BLOCK_LABEL_123;
_L2:
abyte2[k] = (byte)k;
k++;
goto _L5
_L4:
l = 0xff & (l + abyte2[i1] + abyte0[i1 % i]) % 256;
byte byte0 = abyte2[i1];
abyte2[i1] = abyte2[l];
abyte2[l] = byte0;
i1++;
goto _L6
j1 = 0xff & (j1 + 1) % 256;
k1 = 0xff & (k1 + abyte2[j1]) % 256;
byte byte1 = abyte2[j1];
abyte2[j1] = abyte2[k1];
abyte2[k1] = byte1;
abyte1[l1] = (byte)(abyte2[0xff & (abyte2[j1] + abyte2[k1]) % 256] ^ abyte1[l1]);
l1++;
goto _L7
}
|