// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: packimports(3) // Source File Name: m.java public final class m { public m(int ai[]) { label0: { boolean flag = q.d; super(); c = new int[256]; b = new int[256]; int i = 0; do { if(i >= ai.length) break; b[i] = ai[i]; i++; if(flag) break label0; } while(!flag); c(); } } public final int a() { a--; if(q.d) goto _L2; else goto _L1 _L1: JVM INSTR ifne 31; goto _L3 _L4 _L3: break MISSING_BLOCK_LABEL_20; _L4: break MISSING_BLOCK_LABEL_31; b(); a = 255; b[a]; _L2: return; } private final void b() { boolean flag1 = q.d; boolean flag = false; e += ++f; int i = 0; do { if(i >= 256) break; int j = c[i]; if(!flag1) { switch(i & 3) { default: break; case 0: // '\0' d ^= d << 13; if(!flag1) break; // fall through case 1: // '\001' d ^= d >>> 6; if(!flag1) break; // fall through case 2: // '\002' d ^= d << 2; if(!flag1) break; // fall through case 3: // '\003' d ^= d >>> 16; break; } d += c[i + 128 & 0xff]; } int k; c[i] = k = c[(j & 0x3fc) >> 2] + d + e; b[i] = e = c[(k >> 8 & 0x3fc) >> 2] + j; i++; } while(!flag1); } private final void c() { int i; int j; int k; int l; int i1; int j1; int k1; int l1; int i2; boolean flag1; label0: { flag1 = q.d; boolean flag = false; l1 = i = j = k = l = i1 = j1 = k1 = 0x9e3779b9; i2 = 0; do { if(i2 >= 4) break; l1 ^= i << 11; k += l1; i += j; i ^= j >>> 2; l += i; j += k; j ^= k << 8; i1 += j; k += l; k ^= l >>> 16; j1 += k; l += i1; l ^= i1 << 10; k1 += l; i1 += j1; i1 ^= j1 >>> 4; l1 += i1; j1 += k1; j1 ^= k1 << 8; i += j1; k1 += l1; k1 ^= l1 >>> 9; j += k1; l1 += i; i2++; if(flag1) break label0; } while(!flag1); i2 = 0; } label1: { do { if(i2 >= 256) break; l1 += b[i2]; i += b[i2 + 1]; j += b[i2 + 2]; k += b[i2 + 3]; l += b[i2 + 4]; i1 += b[i2 + 5]; j1 += b[i2 + 6]; k1 += b[i2 + 7]; l1 ^= i << 11; k += l1; i += j; i ^= j >>> 2; l += i; j += k; j ^= k << 8; i1 += j; k += l; k ^= l >>> 16; j1 += k; l += i1; l ^= i1 << 10; k1 += l; i1 += j1; i1 ^= j1 >>> 4; l1 += i1; j1 += k1; j1 ^= k1 << 8; i += j1; k1 += l1; k1 ^= l1 >>> 9; j += k1; l1 += i; c[i2] = l1; c[i2 + 1] = i; c[i2 + 2] = j; c[i2 + 3] = k; c[i2 + 4] = l; c[i2 + 5] = i1; c[i2 + 6] = j1; c[i2 + 7] = k1; i2 += 8; if(flag1) break label1; } while(!flag1); i2 = 0; } label2: { do { if(i2 >= 256) break; l1 += c[i2]; i += c[i2 + 1]; j += c[i2 + 2]; k += c[i2 + 3]; l += c[i2 + 4]; i1 += c[i2 + 5]; j1 += c[i2 + 6]; k1 += c[i2 + 7]; l1 ^= i << 11; k += l1; i += j; i ^= j >>> 2; l += i; j += k; j ^= k << 8; i1 += j; k += l; k ^= l >>> 16; j1 += k; l += i1; l ^= i1 << 10; k1 += l; i1 += j1; i1 ^= j1 >>> 4; l1 += i1; j1 += k1; j1 ^= k1 << 8; i += j1; k1 += l1; k1 ^= l1 >>> 9; j += k1; l1 += i; c[i2] = l1; c[i2 + 1] = i; c[i2 + 2] = j; c[i2 + 3] = k; c[i2 + 4] = l; c[i2 + 5] = i1; c[i2 + 6] = j1; c[i2 + 7] = k1; i2 += 8; if(flag1) break label2; } while(!flag1); b(); a = 256; } } private int a; private int b[]; private int c[]; private int d; private int e; private int f; }