Here you can find the source of decrypt(String arg0)
static byte[] decrypt(String arg0) throws Exception
//package com.java2s; //License from project: Open Source License public class Main { static int[] p; static byte[] decrypt(String arg0) throws Exception { int j1 = 0; int i;//from w w w . java 2 s .c om int j; int k; int l; byte[] abyte0; char c1; int i1; char c2; try { i = arg0.length(); if (0 == i) return new byte[0]; } catch (RuntimeException runtimeexception) { throw new Exception(""); } label0: { label1: { label2: { label3: { label4: { j = -4 & i + 3; k = 3 * (j / 4); if (~i >= ~(-2 + j)) break label1; c1 = arg0.charAt(j - 2); if ('\0' <= c1 && c1 < p.length) { l = p[c1]; if (j1 == 0) break label4; } l = -1; } if (~l == 0) break label1; if (i <= j - 1) break label2; c2 = arg0.charAt(-1 + j); if (~c2 <= -1 && ~p.length < ~c2) { i1 = p[c2]; if (j1 == 0) break label3; } i1 = -1; } if (0 != ~i1 && j1 == 0) break label0; } k--; if (j1 == 0) break label0; } k -= 2; } abyte0 = new byte[k]; decrypt2(abyte0, 0, arg0, (byte) -75); return abyte0; } static int decrypt2(byte[] arg0, int arg1, String arg2, byte arg3) throws Exception { int var17 = 0; try { int var4 = arg1; int var5 = arg2.length(); int var6 = 0; int var10000; while (true) { if (var5 > var6) { char var8 = arg2.charAt(var6); var10000 = var8; if (var17 != 0) { break; } int var7; label128: { if (var8 >= 0 && ~p.length < ~var8) { var7 = p[var8]; if (var17 == 0) { break label128; } } var7 = -1; } int var10; label140: { if (var5 <= 1 + var6) { var10 = -1; if (var17 == 0) { break label140; } } int var11; label117: { char var12 = arg2.charAt(var6 + 1); if (0 <= var12 && var12 < p.length) { var11 = p[var12]; if (var17 == 0) { break label117; } } var11 = -1; } var10 = var11; } int var19; label141: { if (~(2 + var6) <= ~var5) { var19 = -1; if (var17 == 0) { break label141; } } int var13; label106: { char var14 = arg2.charAt(2 + var6); if (0 <= var14 && p.length > var14) { var13 = p[var14]; if (var17 == 0) { break label106; } } var13 = -1; } var19 = var13; } int var20; label142: { if (3 + var6 >= var5) { var20 = -1; if (var17 == 0) { break label142; } } int var15; label95: { char var16 = arg2.charAt(3 + var6); if (0 <= var16 && ~var16 > ~p.length) { var15 = p[var16]; if (var17 == 0) { break label95; } } var15 = -1; } var20 = var15; } arg0[arg1++] = (byte) (var7 << 2 | var10 >>> 4); if (var19 != -1 || var17 != 0) { arg0[arg1++] = (byte) (var19 >>> 2 | 240 & var10 << 4); if (~var20 != 0) { arg0[arg1++] = (byte) (var20 | var19 << 6 & 192); var6 += 4; if (var17 == 0) { continue; } } } } var10000 = arg3; break; } return var10000 > -45 ? 45 : arg1 + -var4; } catch (RuntimeException var18) { throw new Exception(""); } } }