JEB output JAD output
// 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
}