fork(9) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. /* The class name doesn't have to be Main, as long as the class is not public. */
  4. class Main
  5. {
  6. public static void main (String[] args) throws java.lang.Exception
  7. {
  8. String str = new String(Base64.decode("LyJwNh9iPil3MyMSGRhWCCpXBExXAWZBGg1eFjNcShpSCmZxCwJSAC9TBDxbBTRfCw9KRDNbHkxHCzISBwNBAyNcRkxJAWZfBQlHASgSDgkTEilAAwtWRCRTHg9bATUSBANURCRXHg1fASg="));
  9. String message ="test";
  10. String paramString = "paramTest";
  11. int paramInt= 2;
  12. String str= "";
  13.  
  14. System.out.println("----------------- START ---------------------");
  15. for (int i = 0; i < message.length(); i++)
  16. {
  17. int k = paramString.charAt(i % paramString.length());
  18. System.out.println("k-mod:" + k);
  19.  
  20. int j = message.charAt(i);
  21. System.out.println("j:" + j);
  22. k &= 1 << paramInt;
  23. System.out.println("k Paramint:" + k);
  24. str = str + (k ^ j);
  25. System.out.println("j end:" + j);
  26. System.out.println(str);
  27. System.out.println("--------------");
  28.  
  29.  
  30. }
  31. }
  32. public class Base64
  33. {
  34. public static final int DECODE = 0;
  35. public static final int DONT_GUNZIP = 4;
  36. public static final int DO_BREAK_LINES = 8;
  37. public static final int ENCODE = 1;
  38. private static final byte EQUALS_SIGN = 61;
  39. private static final byte EQUALS_SIGN_ENC = -1;
  40. public static final int GZIP = 2;
  41. private static final int MAX_LINE_LENGTH = 76;
  42. private static final byte NEW_LINE = 10;
  43. public static final int NO_OPTIONS = 0;
  44. public static final int ORDERED = 32;
  45. private static final String PREFERRED_ENCODING = "US-ASCII";
  46. public static final int URL_SAFE = 16;
  47. private static final byte WHITE_SPACE_ENC = -5;
  48. private static final byte[] _ORDERED_ALPHABET;
  49. private static final byte[] _ORDERED_DECODABET;
  50. private static final byte[] _STANDARD_ALPHABET;
  51. private static final byte[] _STANDARD_DECODABET;
  52. private static final byte[] _URL_SAFE_ALPHABET;
  53. private static final byte[] _URL_SAFE_DECODABET;
  54.  
  55. static
  56. {
  57. boolean bool;
  58. if (Base64.class.desiredAssertionStatus())
  59. bool = false;
  60. else
  61. bool = true;
  62. $assertionsDisabled = bool;
  63. byte[] arrayOfByte = new byte[64];
  64. arrayOfByte[0] = 65;
  65. arrayOfByte[1] = 66;
  66. arrayOfByte[2] = 67;
  67. arrayOfByte[3] = 68;
  68. arrayOfByte[4] = 69;
  69. arrayOfByte[5] = 70;
  70. arrayOfByte[6] = 71;
  71. arrayOfByte[7] = 72;
  72. arrayOfByte[8] = 73;
  73. arrayOfByte[9] = 74;
  74. arrayOfByte[10] = 75;
  75. arrayOfByte[11] = 76;
  76. arrayOfByte[12] = 77;
  77. arrayOfByte[13] = 78;
  78. arrayOfByte[14] = 79;
  79. arrayOfByte[15] = 80;
  80. arrayOfByte[16] = 81;
  81. arrayOfByte[17] = 82;
  82. arrayOfByte[18] = 83;
  83. arrayOfByte[19] = 84;
  84. arrayOfByte[20] = 85;
  85. arrayOfByte[21] = 86;
  86. arrayOfByte[22] = 87;
  87. arrayOfByte[23] = 88;
  88. arrayOfByte[24] = 89;
  89. arrayOfByte[25] = 90;
  90. arrayOfByte[26] = 97;
  91. arrayOfByte[27] = 98;
  92. arrayOfByte[28] = 99;
  93. arrayOfByte[29] = 100;
  94. arrayOfByte[30] = 101;
  95. arrayOfByte[31] = 102;
  96. arrayOfByte[32] = 103;
  97. arrayOfByte[33] = 104;
  98. arrayOfByte[34] = 105;
  99. arrayOfByte[35] = 106;
  100. arrayOfByte[36] = 107;
  101. arrayOfByte[37] = 108;
  102. arrayOfByte[38] = 109;
  103. arrayOfByte[39] = 110;
  104. arrayOfByte[40] = 111;
  105. arrayOfByte[41] = 112;
  106. arrayOfByte[42] = 113;
  107. arrayOfByte[43] = 114;
  108. arrayOfByte[44] = 115;
  109. arrayOfByte[45] = 116;
  110. arrayOfByte[46] = 117;
  111. arrayOfByte[47] = 118;
  112. arrayOfByte[48] = 119;
  113. arrayOfByte[49] = 120;
  114. arrayOfByte[50] = 121;
  115. arrayOfByte[51] = 122;
  116. arrayOfByte[52] = 48;
  117. arrayOfByte[53] = 49;
  118. arrayOfByte[54] = 50;
  119. arrayOfByte[55] = 51;
  120. arrayOfByte[56] = 52;
  121. arrayOfByte[57] = 53;
  122. arrayOfByte[58] = 54;
  123. arrayOfByte[59] = 55;
  124. arrayOfByte[60] = 56;
  125. arrayOfByte[61] = 57;
  126. arrayOfByte[62] = 43;
  127. arrayOfByte[63] = 47;
  128. _STANDARD_ALPHABET = arrayOfByte;
  129. arrayOfByte = new byte[256];
  130. arrayOfByte[0] = -9;
  131. arrayOfByte[1] = -9;
  132. arrayOfByte[2] = -9;
  133. arrayOfByte[3] = -9;
  134. arrayOfByte[4] = -9;
  135. arrayOfByte[5] = -9;
  136. arrayOfByte[6] = -9;
  137. arrayOfByte[7] = -9;
  138. arrayOfByte[8] = -9;
  139. arrayOfByte[9] = -5;
  140. arrayOfByte[10] = -5;
  141. arrayOfByte[11] = -9;
  142. arrayOfByte[12] = -9;
  143. arrayOfByte[13] = -5;
  144. arrayOfByte[14] = -9;
  145. arrayOfByte[15] = -9;
  146. arrayOfByte[16] = -9;
  147. arrayOfByte[17] = -9;
  148. arrayOfByte[18] = -9;
  149. arrayOfByte[19] = -9;
  150. arrayOfByte[20] = -9;
  151. arrayOfByte[21] = -9;
  152. arrayOfByte[22] = -9;
  153. arrayOfByte[23] = -9;
  154. arrayOfByte[24] = -9;
  155. arrayOfByte[25] = -9;
  156. arrayOfByte[26] = -9;
  157. arrayOfByte[27] = -9;
  158. arrayOfByte[28] = -9;
  159. arrayOfByte[29] = -9;
  160. arrayOfByte[30] = -9;
  161. arrayOfByte[31] = -9;
  162. arrayOfByte[32] = -5;
  163. arrayOfByte[33] = -9;
  164. arrayOfByte[34] = -9;
  165. arrayOfByte[35] = -9;
  166. arrayOfByte[36] = -9;
  167. arrayOfByte[37] = -9;
  168. arrayOfByte[38] = -9;
  169. arrayOfByte[39] = -9;
  170. arrayOfByte[40] = -9;
  171. arrayOfByte[41] = -9;
  172. arrayOfByte[42] = -9;
  173. arrayOfByte[43] = 62;
  174. arrayOfByte[44] = -9;
  175. arrayOfByte[45] = -9;
  176. arrayOfByte[46] = -9;
  177. arrayOfByte[47] = 63;
  178. arrayOfByte[48] = 52;
  179. arrayOfByte[49] = 53;
  180. arrayOfByte[50] = 54;
  181. arrayOfByte[51] = 55;
  182. arrayOfByte[52] = 56;
  183. arrayOfByte[53] = 57;
  184. arrayOfByte[54] = 58;
  185. arrayOfByte[55] = 59;
  186. arrayOfByte[56] = 60;
  187. arrayOfByte[57] = 61;
  188. arrayOfByte[58] = -9;
  189. arrayOfByte[59] = -9;
  190. arrayOfByte[60] = -9;
  191. arrayOfByte[61] = -1;
  192. arrayOfByte[62] = -9;
  193. arrayOfByte[63] = -9;
  194. arrayOfByte[64] = -9;
  195. arrayOfByte[66] = 1;
  196. arrayOfByte[67] = 2;
  197. arrayOfByte[68] = 3;
  198. arrayOfByte[69] = 4;
  199. arrayOfByte[70] = 5;
  200. arrayOfByte[71] = 6;
  201. arrayOfByte[72] = 7;
  202. arrayOfByte[73] = 8;
  203. arrayOfByte[74] = 9;
  204. arrayOfByte[75] = 10;
  205. arrayOfByte[76] = 11;
  206. arrayOfByte[77] = 12;
  207. arrayOfByte[78] = 13;
  208. arrayOfByte[79] = 14;
  209. arrayOfByte[80] = 15;
  210. arrayOfByte[81] = 16;
  211. arrayOfByte[82] = 17;
  212. arrayOfByte[83] = 18;
  213. arrayOfByte[84] = 19;
  214. arrayOfByte[85] = 20;
  215. arrayOfByte[86] = 21;
  216. arrayOfByte[87] = 22;
  217. arrayOfByte[88] = 23;
  218. arrayOfByte[89] = 24;
  219. arrayOfByte[90] = 25;
  220. arrayOfByte[91] = -9;
  221. arrayOfByte[92] = -9;
  222. arrayOfByte[93] = -9;
  223. arrayOfByte[94] = -9;
  224. arrayOfByte[95] = -9;
  225. arrayOfByte[96] = -9;
  226. arrayOfByte[97] = 26;
  227. arrayOfByte[98] = 27;
  228. arrayOfByte[99] = 28;
  229. arrayOfByte[100] = 29;
  230. arrayOfByte[101] = 30;
  231. arrayOfByte[102] = 31;
  232. arrayOfByte[103] = 32;
  233. arrayOfByte[104] = 33;
  234. arrayOfByte[105] = 34;
  235. arrayOfByte[106] = 35;
  236. arrayOfByte[107] = 36;
  237. arrayOfByte[108] = 37;
  238. arrayOfByte[109] = 38;
  239. arrayOfByte[110] = 39;
  240. arrayOfByte[111] = 40;
  241. arrayOfByte[112] = 41;
  242. arrayOfByte[113] = 42;
  243. arrayOfByte[114] = 43;
  244. arrayOfByte[115] = 44;
  245. arrayOfByte[116] = 45;
  246. arrayOfByte[117] = 46;
  247. arrayOfByte[118] = 47;
  248. arrayOfByte[119] = 48;
  249. arrayOfByte[120] = 49;
  250. arrayOfByte[121] = 50;
  251. arrayOfByte[122] = 51;
  252. arrayOfByte[123] = -9;
  253. arrayOfByte[124] = -9;
  254. arrayOfByte[125] = -9;
  255. arrayOfByte[126] = -9;
  256. arrayOfByte[127] = -9;
  257. arrayOfByte['€'] = -9;
  258. arrayOfByte[''] = -9;
  259. arrayOfByte['‚'] = -9;
  260. arrayOfByte['ƒ'] = -9;
  261. arrayOfByte['„'] = -9;
  262. arrayOfByte['…'] = -9;
  263. arrayOfByte['†'] = -9;
  264. arrayOfByte['‡'] = -9;
  265. arrayOfByte['ˆ'] = -9;
  266. arrayOfByte['‰'] = -9;
  267. arrayOfByte['Š'] = -9;
  268. arrayOfByte['‹'] = -9;
  269. arrayOfByte['Œ'] = -9;
  270. arrayOfByte[''] = -9;
  271. arrayOfByte['Ž'] = -9;
  272. arrayOfByte[''] = -9;
  273. arrayOfByte[''] = -9;
  274. arrayOfByte['‘'] = -9;
  275. arrayOfByte['’'] = -9;
  276. arrayOfByte['“'] = -9;
  277. arrayOfByte['”'] = -9;
  278. arrayOfByte['•'] = -9;
  279. arrayOfByte['–'] = -9;
  280. arrayOfByte['—'] = -9;
  281. arrayOfByte['˜'] = -9;
  282. arrayOfByte['™'] = -9;
  283. arrayOfByte['š'] = -9;
  284. arrayOfByte['›'] = -9;
  285. arrayOfByte['œ'] = -9;
  286. arrayOfByte[''] = -9;
  287. arrayOfByte['ž'] = -9;
  288. arrayOfByte['Ÿ'] = -9;
  289. arrayOfByte[' '] = -9;
  290. arrayOfByte['¡'] = -9;
  291. arrayOfByte['¢'] = -9;
  292. arrayOfByte['£'] = -9;
  293. arrayOfByte['¤'] = -9;
  294. arrayOfByte['¥'] = -9;
  295. arrayOfByte['¦'] = -9;
  296. arrayOfByte['§'] = -9;
  297. arrayOfByte['¨'] = -9;
  298. arrayOfByte['©'] = -9;
  299. arrayOfByte['ª'] = -9;
  300. arrayOfByte['«'] = -9;
  301. arrayOfByte['¬'] = -9;
  302. arrayOfByte['­'] = -9;
  303. arrayOfByte['®'] = -9;
  304. arrayOfByte['¯'] = -9;
  305. arrayOfByte['°'] = -9;
  306. arrayOfByte['±'] = -9;
  307. arrayOfByte['²'] = -9;
  308. arrayOfByte['³'] = -9;
  309. arrayOfByte['´'] = -9;
  310. arrayOfByte['µ'] = -9;
  311. arrayOfByte['¶'] = -9;
  312. arrayOfByte['·'] = -9;
  313. arrayOfByte['¸'] = -9;
  314. arrayOfByte['¹'] = -9;
  315. arrayOfByte['º'] = -9;
  316. arrayOfByte['»'] = -9;
  317. arrayOfByte['¼'] = -9;
  318. arrayOfByte['½'] = -9;
  319. arrayOfByte['¾'] = -9;
  320. arrayOfByte['¿'] = -9;
  321. arrayOfByte['À'] = -9;
  322. arrayOfByte['Á'] = -9;
  323. arrayOfByte['Â'] = -9;
  324. arrayOfByte['Ã'] = -9;
  325. arrayOfByte['Ä'] = -9;
  326. arrayOfByte['Å'] = -9;
  327. arrayOfByte['Æ'] = -9;
  328. arrayOfByte['Ç'] = -9;
  329. arrayOfByte['È'] = -9;
  330. arrayOfByte['É'] = -9;
  331. arrayOfByte['Ê'] = -9;
  332. arrayOfByte['Ë'] = -9;
  333. arrayOfByte['Ì'] = -9;
  334. arrayOfByte['Í'] = -9;
  335. arrayOfByte['Î'] = -9;
  336. arrayOfByte['Ï'] = -9;
  337. arrayOfByte['Ð'] = -9;
  338. arrayOfByte['Ñ'] = -9;
  339. arrayOfByte['Ò'] = -9;
  340. arrayOfByte['Ó'] = -9;
  341. arrayOfByte['Ô'] = -9;
  342. arrayOfByte['Õ'] = -9;
  343. arrayOfByte['Ö'] = -9;
  344. arrayOfByte['×'] = -9;
  345. arrayOfByte['Ø'] = -9;
  346. arrayOfByte['Ù'] = -9;
  347. arrayOfByte['Ú'] = -9;
  348. arrayOfByte['Û'] = -9;
  349. arrayOfByte['Ü'] = -9;
  350. arrayOfByte['Ý'] = -9;
  351. arrayOfByte['Þ'] = -9;
  352. arrayOfByte['ß'] = -9;
  353. arrayOfByte['à'] = -9;
  354. arrayOfByte['á'] = -9;
  355. arrayOfByte['â'] = -9;
  356. arrayOfByte['ã'] = -9;
  357. arrayOfByte['ä'] = -9;
  358. arrayOfByte['å'] = -9;
  359. arrayOfByte['æ'] = -9;
  360. arrayOfByte['ç'] = -9;
  361. arrayOfByte['è'] = -9;
  362. arrayOfByte['é'] = -9;
  363. arrayOfByte['ê'] = -9;
  364. arrayOfByte['ë'] = -9;
  365. arrayOfByte['ì'] = -9;
  366. arrayOfByte['í'] = -9;
  367. arrayOfByte['î'] = -9;
  368. arrayOfByte['ï'] = -9;
  369. arrayOfByte['ð'] = -9;
  370. arrayOfByte['ñ'] = -9;
  371. arrayOfByte['ò'] = -9;
  372. arrayOfByte['ó'] = -9;
  373. arrayOfByte['ô'] = -9;
  374. arrayOfByte['õ'] = -9;
  375. arrayOfByte['ö'] = -9;
  376. arrayOfByte['÷'] = -9;
  377. arrayOfByte['ø'] = -9;
  378. arrayOfByte['ù'] = -9;
  379. arrayOfByte['ú'] = -9;
  380. arrayOfByte['û'] = -9;
  381. arrayOfByte['ü'] = -9;
  382. arrayOfByte['ý'] = -9;
  383. arrayOfByte['þ'] = -9;
  384. arrayOfByte['ÿ'] = -9;
  385. _STANDARD_DECODABET = arrayOfByte;
  386. arrayOfByte = new byte[64];
  387. arrayOfByte[0] = 65;
  388. arrayOfByte[1] = 66;
  389. arrayOfByte[2] = 67;
  390. arrayOfByte[3] = 68;
  391. arrayOfByte[4] = 69;
  392. arrayOfByte[5] = 70;
  393. arrayOfByte[6] = 71;
  394. arrayOfByte[7] = 72;
  395. arrayOfByte[8] = 73;
  396. arrayOfByte[9] = 74;
  397. arrayOfByte[10] = 75;
  398. arrayOfByte[11] = 76;
  399. arrayOfByte[12] = 77;
  400. arrayOfByte[13] = 78;
  401. arrayOfByte[14] = 79;
  402. arrayOfByte[15] = 80;
  403. arrayOfByte[16] = 81;
  404. arrayOfByte[17] = 82;
  405. arrayOfByte[18] = 83;
  406. arrayOfByte[19] = 84;
  407. arrayOfByte[20] = 85;
  408. arrayOfByte[21] = 86;
  409. arrayOfByte[22] = 87;
  410. arrayOfByte[23] = 88;
  411. arrayOfByte[24] = 89;
  412. arrayOfByte[25] = 90;
  413. arrayOfByte[26] = 97;
  414. arrayOfByte[27] = 98;
  415. arrayOfByte[28] = 99;
  416. arrayOfByte[29] = 100;
  417. arrayOfByte[30] = 101;
  418. arrayOfByte[31] = 102;
  419. arrayOfByte[32] = 103;
  420. arrayOfByte[33] = 104;
  421. arrayOfByte[34] = 105;
  422. arrayOfByte[35] = 106;
  423. arrayOfByte[36] = 107;
  424. arrayOfByte[37] = 108;
  425. arrayOfByte[38] = 109;
  426. arrayOfByte[39] = 110;
  427. arrayOfByte[40] = 111;
  428. arrayOfByte[41] = 112;
  429. arrayOfByte[42] = 113;
  430. arrayOfByte[43] = 114;
  431. arrayOfByte[44] = 115;
  432. arrayOfByte[45] = 116;
  433. arrayOfByte[46] = 117;
  434. arrayOfByte[47] = 118;
  435. arrayOfByte[48] = 119;
  436. arrayOfByte[49] = 120;
  437. arrayOfByte[50] = 121;
  438. arrayOfByte[51] = 122;
  439. arrayOfByte[52] = 48;
  440. arrayOfByte[53] = 49;
  441. arrayOfByte[54] = 50;
  442. arrayOfByte[55] = 51;
  443. arrayOfByte[56] = 52;
  444. arrayOfByte[57] = 53;
  445. arrayOfByte[58] = 54;
  446. arrayOfByte[59] = 55;
  447. arrayOfByte[60] = 56;
  448. arrayOfByte[61] = 57;
  449. arrayOfByte[62] = 45;
  450. arrayOfByte[63] = 95;
  451. _URL_SAFE_ALPHABET = arrayOfByte;
  452. arrayOfByte = new byte[256];
  453. arrayOfByte[0] = -9;
  454. arrayOfByte[1] = -9;
  455. arrayOfByte[2] = -9;
  456. arrayOfByte[3] = -9;
  457. arrayOfByte[4] = -9;
  458. arrayOfByte[5] = -9;
  459. arrayOfByte[6] = -9;
  460. arrayOfByte[7] = -9;
  461. arrayOfByte[8] = -9;
  462. arrayOfByte[9] = -5;
  463. arrayOfByte[10] = -5;
  464. arrayOfByte[11] = -9;
  465. arrayOfByte[12] = -9;
  466. arrayOfByte[13] = -5;
  467. arrayOfByte[14] = -9;
  468. arrayOfByte[15] = -9;
  469. arrayOfByte[16] = -9;
  470. arrayOfByte[17] = -9;
  471. arrayOfByte[18] = -9;
  472. arrayOfByte[19] = -9;
  473. arrayOfByte[20] = -9;
  474. arrayOfByte[21] = -9;
  475. arrayOfByte[22] = -9;
  476. arrayOfByte[23] = -9;
  477. arrayOfByte[24] = -9;
  478. arrayOfByte[25] = -9;
  479. arrayOfByte[26] = -9;
  480. arrayOfByte[27] = -9;
  481. arrayOfByte[28] = -9;
  482. arrayOfByte[29] = -9;
  483. arrayOfByte[30] = -9;
  484. arrayOfByte[31] = -9;
  485. arrayOfByte[32] = -5;
  486. arrayOfByte[33] = -9;
  487. arrayOfByte[34] = -9;
  488. arrayOfByte[35] = -9;
  489. arrayOfByte[36] = -9;
  490. arrayOfByte[37] = -9;
  491. arrayOfByte[38] = -9;
  492. arrayOfByte[39] = -9;
  493. arrayOfByte[40] = -9;
  494. arrayOfByte[41] = -9;
  495. arrayOfByte[42] = -9;
  496. arrayOfByte[43] = -9;
  497. arrayOfByte[44] = -9;
  498. arrayOfByte[45] = 62;
  499. arrayOfByte[46] = -9;
  500. arrayOfByte[47] = -9;
  501. arrayOfByte[48] = 52;
  502. arrayOfByte[49] = 53;
  503. arrayOfByte[50] = 54;
  504. arrayOfByte[51] = 55;
  505. arrayOfByte[52] = 56;
  506. arrayOfByte[53] = 57;
  507. arrayOfByte[54] = 58;
  508. arrayOfByte[55] = 59;
  509. arrayOfByte[56] = 60;
  510. arrayOfByte[57] = 61;
  511. arrayOfByte[58] = -9;
  512. arrayOfByte[59] = -9;
  513. arrayOfByte[60] = -9;
  514. arrayOfByte[61] = -1;
  515. arrayOfByte[62] = -9;
  516. arrayOfByte[63] = -9;
  517. arrayOfByte[64] = -9;
  518. arrayOfByte[66] = 1;
  519. arrayOfByte[67] = 2;
  520. arrayOfByte[68] = 3;
  521. arrayOfByte[69] = 4;
  522. arrayOfByte[70] = 5;
  523. arrayOfByte[71] = 6;
  524. arrayOfByte[72] = 7;
  525. arrayOfByte[73] = 8;
  526. arrayOfByte[74] = 9;
  527. arrayOfByte[75] = 10;
  528. arrayOfByte[76] = 11;
  529. arrayOfByte[77] = 12;
  530. arrayOfByte[78] = 13;
  531. arrayOfByte[79] = 14;
  532. arrayOfByte[80] = 15;
  533. arrayOfByte[81] = 16;
  534. arrayOfByte[82] = 17;
  535. arrayOfByte[83] = 18;
  536. arrayOfByte[84] = 19;
  537. arrayOfByte[85] = 20;
  538. arrayOfByte[86] = 21;
  539. arrayOfByte[87] = 22;
  540. arrayOfByte[88] = 23;
  541. arrayOfByte[89] = 24;
  542. arrayOfByte[90] = 25;
  543. arrayOfByte[91] = -9;
  544. arrayOfByte[92] = -9;
  545. arrayOfByte[93] = -9;
  546. arrayOfByte[94] = -9;
  547. arrayOfByte[95] = 63;
  548. arrayOfByte[96] = -9;
  549. arrayOfByte[97] = 26;
  550. arrayOfByte[98] = 27;
  551. arrayOfByte[99] = 28;
  552. arrayOfByte[100] = 29;
  553. arrayOfByte[101] = 30;
  554. arrayOfByte[102] = 31;
  555. arrayOfByte[103] = 32;
  556. arrayOfByte[104] = 33;
  557. arrayOfByte[105] = 34;
  558. arrayOfByte[106] = 35;
  559. arrayOfByte[107] = 36;
  560. arrayOfByte[108] = 37;
  561. arrayOfByte[109] = 38;
  562. arrayOfByte[110] = 39;
  563. arrayOfByte[111] = 40;
  564. arrayOfByte[112] = 41;
  565. arrayOfByte[113] = 42;
  566. arrayOfByte[114] = 43;
  567. arrayOfByte[115] = 44;
  568. arrayOfByte[116] = 45;
  569. arrayOfByte[117] = 46;
  570. arrayOfByte[118] = 47;
  571. arrayOfByte[119] = 48;
  572. arrayOfByte[120] = 49;
  573. arrayOfByte[121] = 50;
  574. arrayOfByte[122] = 51;
  575. arrayOfByte[123] = -9;
  576. arrayOfByte[124] = -9;
  577. arrayOfByte[125] = -9;
  578. arrayOfByte[126] = -9;
  579. arrayOfByte[127] = -9;
  580. arrayOfByte['€'] = -9;
  581. arrayOfByte[''] = -9;
  582. arrayOfByte['‚'] = -9;
  583. arrayOfByte['ƒ'] = -9;
  584. arrayOfByte['„'] = -9;
  585. arrayOfByte['…'] = -9;
  586. arrayOfByte['†'] = -9;
  587. arrayOfByte['‡'] = -9;
  588. arrayOfByte['ˆ'] = -9;
  589. arrayOfByte['‰'] = -9;
  590. arrayOfByte['Š'] = -9;
  591. arrayOfByte['‹'] = -9;
  592. arrayOfByte['Œ'] = -9;
  593. arrayOfByte[''] = -9;
  594. arrayOfByte['Ž'] = -9;
  595. arrayOfByte[''] = -9;
  596. arrayOfByte[''] = -9;
  597. arrayOfByte['‘'] = -9;
  598. arrayOfByte['’'] = -9;
  599. arrayOfByte['“'] = -9;
  600. arrayOfByte['”'] = -9;
  601. arrayOfByte['•'] = -9;
  602. arrayOfByte['–'] = -9;
  603. arrayOfByte['—'] = -9;
  604. arrayOfByte['˜'] = -9;
  605. arrayOfByte['™'] = -9;
  606. arrayOfByte['š'] = -9;
  607. arrayOfByte['›'] = -9;
  608. arrayOfByte['œ'] = -9;
  609. arrayOfByte[''] = -9;
  610. arrayOfByte['ž'] = -9;
  611. arrayOfByte['Ÿ'] = -9;
  612. arrayOfByte[' '] = -9;
  613. arrayOfByte['¡'] = -9;
  614. arrayOfByte['¢'] = -9;
  615. arrayOfByte['£'] = -9;
  616. arrayOfByte['¤'] = -9;
  617. arrayOfByte['¥'] = -9;
  618. arrayOfByte['¦'] = -9;
  619. arrayOfByte['§'] = -9;
  620. arrayOfByte['¨'] = -9;
  621. arrayOfByte['©'] = -9;
  622. arrayOfByte['ª'] = -9;
  623. arrayOfByte['«'] = -9;
  624. arrayOfByte['¬'] = -9;
  625. arrayOfByte['­'] = -9;
  626. arrayOfByte['®'] = -9;
  627. arrayOfByte['¯'] = -9;
  628. arrayOfByte['°'] = -9;
  629. arrayOfByte['±'] = -9;
  630. arrayOfByte['²'] = -9;
  631. arrayOfByte['³'] = -9;
  632. arrayOfByte['´'] = -9;
  633. arrayOfByte['µ'] = -9;
  634. arrayOfByte['¶'] = -9;
  635. arrayOfByte['·'] = -9;
  636. arrayOfByte['¸'] = -9;
  637. arrayOfByte['¹'] = -9;
  638. arrayOfByte['º'] = -9;
  639. arrayOfByte['»'] = -9;
  640. arrayOfByte['¼'] = -9;
  641. arrayOfByte['½'] = -9;
  642. arrayOfByte['¾'] = -9;
  643. arrayOfByte['¿'] = -9;
  644. arrayOfByte['À'] = -9;
  645. arrayOfByte['Á'] = -9;
  646. arrayOfByte['Â'] = -9;
  647. arrayOfByte['Ã'] = -9;
  648. arrayOfByte['Ä'] = -9;
  649. arrayOfByte['Å'] = -9;
  650. arrayOfByte['Æ'] = -9;
  651. arrayOfByte['Ç'] = -9;
  652. arrayOfByte['È'] = -9;
  653. arrayOfByte['É'] = -9;
  654. arrayOfByte['Ê'] = -9;
  655. arrayOfByte['Ë'] = -9;
  656. arrayOfByte['Ì'] = -9;
  657. arrayOfByte['Í'] = -9;
  658. arrayOfByte['Î'] = -9;
  659. arrayOfByte['Ï'] = -9;
  660. arrayOfByte['Ð'] = -9;
  661. arrayOfByte['Ñ'] = -9;
  662. arrayOfByte['Ò'] = -9;
  663. arrayOfByte['Ó'] = -9;
  664. arrayOfByte['Ô'] = -9;
  665. arrayOfByte['Õ'] = -9;
  666. arrayOfByte['Ö'] = -9;
  667. arrayOfByte['×'] = -9;
  668. arrayOfByte['Ø'] = -9;
  669. arrayOfByte['Ù'] = -9;
  670. arrayOfByte['Ú'] = -9;
  671. arrayOfByte['Û'] = -9;
  672. arrayOfByte['Ü'] = -9;
  673. arrayOfByte['Ý'] = -9;
  674. arrayOfByte['Þ'] = -9;
  675. arrayOfByte['ß'] = -9;
  676. arrayOfByte['à'] = -9;
  677. arrayOfByte['á'] = -9;
  678. arrayOfByte['â'] = -9;
  679. arrayOfByte['ã'] = -9;
  680. arrayOfByte['ä'] = -9;
  681. arrayOfByte['å'] = -9;
  682. arrayOfByte['æ'] = -9;
  683. arrayOfByte['ç'] = -9;
  684. arrayOfByte['è'] = -9;
  685. arrayOfByte['é'] = -9;
  686. arrayOfByte['ê'] = -9;
  687. arrayOfByte['ë'] = -9;
  688. arrayOfByte['ì'] = -9;
  689. arrayOfByte['í'] = -9;
  690. arrayOfByte['î'] = -9;
  691. arrayOfByte['ï'] = -9;
  692. arrayOfByte['ð'] = -9;
  693. arrayOfByte['ñ'] = -9;
  694. arrayOfByte['ò'] = -9;
  695. arrayOfByte['ó'] = -9;
  696. arrayOfByte['ô'] = -9;
  697. arrayOfByte['õ'] = -9;
  698. arrayOfByte['ö'] = -9;
  699. arrayOfByte['÷'] = -9;
  700. arrayOfByte['ø'] = -9;
  701. arrayOfByte['ù'] = -9;
  702. arrayOfByte['ú'] = -9;
  703. arrayOfByte['û'] = -9;
  704. arrayOfByte['ü'] = -9;
  705. arrayOfByte['ý'] = -9;
  706. arrayOfByte['þ'] = -9;
  707. arrayOfByte['ÿ'] = -9;
  708. _URL_SAFE_DECODABET = arrayOfByte;
  709. arrayOfByte = new byte[64];
  710. arrayOfByte[0] = 45;
  711. arrayOfByte[1] = 48;
  712. arrayOfByte[2] = 49;
  713. arrayOfByte[3] = 50;
  714. arrayOfByte[4] = 51;
  715. arrayOfByte[5] = 52;
  716. arrayOfByte[6] = 53;
  717. arrayOfByte[7] = 54;
  718. arrayOfByte[8] = 55;
  719. arrayOfByte[9] = 56;
  720. arrayOfByte[10] = 57;
  721. arrayOfByte[11] = 65;
  722. arrayOfByte[12] = 66;
  723. arrayOfByte[13] = 67;
  724. arrayOfByte[14] = 68;
  725. arrayOfByte[15] = 69;
  726. arrayOfByte[16] = 70;
  727. arrayOfByte[17] = 71;
  728. arrayOfByte[18] = 72;
  729. arrayOfByte[19] = 73;
  730. arrayOfByte[20] = 74;
  731. arrayOfByte[21] = 75;
  732. arrayOfByte[22] = 76;
  733. arrayOfByte[23] = 77;
  734. arrayOfByte[24] = 78;
  735. arrayOfByte[25] = 79;
  736. arrayOfByte[26] = 80;
  737. arrayOfByte[27] = 81;
  738. arrayOfByte[28] = 82;
  739. arrayOfByte[29] = 83;
  740. arrayOfByte[30] = 84;
  741. arrayOfByte[31] = 85;
  742. arrayOfByte[32] = 86;
  743. arrayOfByte[33] = 87;
  744. arrayOfByte[34] = 88;
  745. arrayOfByte[35] = 89;
  746. arrayOfByte[36] = 90;
  747. arrayOfByte[37] = 95;
  748. arrayOfByte[38] = 97;
  749. arrayOfByte[39] = 98;
  750. arrayOfByte[40] = 99;
  751. arrayOfByte[41] = 100;
  752. arrayOfByte[42] = 101;
  753. arrayOfByte[43] = 102;
  754. arrayOfByte[44] = 103;
  755. arrayOfByte[45] = 104;
  756. arrayOfByte[46] = 105;
  757. arrayOfByte[47] = 106;
  758. arrayOfByte[48] = 107;
  759. arrayOfByte[49] = 108;
  760. arrayOfByte[50] = 109;
  761. arrayOfByte[51] = 110;
  762. arrayOfByte[52] = 111;
  763. arrayOfByte[53] = 112;
  764. arrayOfByte[54] = 113;
  765. arrayOfByte[55] = 114;
  766. arrayOfByte[56] = 115;
  767. arrayOfByte[57] = 116;
  768. arrayOfByte[58] = 117;
  769. arrayOfByte[59] = 118;
  770. arrayOfByte[60] = 119;
  771. arrayOfByte[61] = 120;
  772. arrayOfByte[62] = 121;
  773. arrayOfByte[63] = 122;
  774. _ORDERED_ALPHABET = arrayOfByte;
  775. arrayOfByte = new byte[257];
  776. arrayOfByte[0] = -9;
  777. arrayOfByte[1] = -9;
  778. arrayOfByte[2] = -9;
  779. arrayOfByte[3] = -9;
  780. arrayOfByte[4] = -9;
  781. arrayOfByte[5] = -9;
  782. arrayOfByte[6] = -9;
  783. arrayOfByte[7] = -9;
  784. arrayOfByte[8] = -9;
  785. arrayOfByte[9] = -5;
  786. arrayOfByte[10] = -5;
  787. arrayOfByte[11] = -9;
  788. arrayOfByte[12] = -9;
  789. arrayOfByte[13] = -5;
  790. arrayOfByte[14] = -9;
  791. arrayOfByte[15] = -9;
  792. arrayOfByte[16] = -9;
  793. arrayOfByte[17] = -9;
  794. arrayOfByte[18] = -9;
  795. arrayOfByte[19] = -9;
  796. arrayOfByte[20] = -9;
  797. arrayOfByte[21] = -9;
  798. arrayOfByte[22] = -9;
  799. arrayOfByte[23] = -9;
  800. arrayOfByte[24] = -9;
  801. arrayOfByte[25] = -9;
  802. arrayOfByte[26] = -9;
  803. arrayOfByte[27] = -9;
  804. arrayOfByte[28] = -9;
  805. arrayOfByte[29] = -9;
  806. arrayOfByte[30] = -9;
  807. arrayOfByte[31] = -9;
  808. arrayOfByte[32] = -5;
  809. arrayOfByte[33] = -9;
  810. arrayOfByte[34] = -9;
  811. arrayOfByte[35] = -9;
  812. arrayOfByte[36] = -9;
  813. arrayOfByte[37] = -9;
  814. arrayOfByte[38] = -9;
  815. arrayOfByte[39] = -9;
  816. arrayOfByte[40] = -9;
  817. arrayOfByte[41] = -9;
  818. arrayOfByte[42] = -9;
  819. arrayOfByte[43] = -9;
  820. arrayOfByte[44] = -9;
  821. arrayOfByte[46] = -9;
  822. arrayOfByte[47] = -9;
  823. arrayOfByte[48] = 1;
  824. arrayOfByte[49] = 2;
  825. arrayOfByte[50] = 3;
  826. arrayOfByte[51] = 4;
  827. arrayOfByte[52] = 5;
  828. arrayOfByte[53] = 6;
  829. arrayOfByte[54] = 7;
  830. arrayOfByte[55] = 8;
  831. arrayOfByte[56] = 9;
  832. arrayOfByte[57] = 10;
  833. arrayOfByte[58] = -9;
  834. arrayOfByte[59] = -9;
  835. arrayOfByte[60] = -9;
  836. arrayOfByte[61] = -1;
  837. arrayOfByte[62] = -9;
  838. arrayOfByte[63] = -9;
  839. arrayOfByte[64] = -9;
  840. arrayOfByte[65] = 11;
  841. arrayOfByte[66] = 12;
  842. arrayOfByte[67] = 13;
  843. arrayOfByte[68] = 14;
  844. arrayOfByte[69] = 15;
  845. arrayOfByte[70] = 16;
  846. arrayOfByte[71] = 17;
  847. arrayOfByte[72] = 18;
  848. arrayOfByte[73] = 19;
  849. arrayOfByte[74] = 20;
  850. arrayOfByte[75] = 21;
  851. arrayOfByte[76] = 22;
  852. arrayOfByte[77] = 23;
  853. arrayOfByte[78] = 24;
  854. arrayOfByte[79] = 25;
  855. arrayOfByte[80] = 26;
  856. arrayOfByte[81] = 27;
  857. arrayOfByte[82] = 28;
  858. arrayOfByte[83] = 29;
  859. arrayOfByte[84] = 30;
  860. arrayOfByte[85] = 31;
  861. arrayOfByte[86] = 32;
  862. arrayOfByte[87] = 33;
  863. arrayOfByte[88] = 34;
  864. arrayOfByte[89] = 35;
  865. arrayOfByte[90] = 36;
  866. arrayOfByte[91] = -9;
  867. arrayOfByte[92] = -9;
  868. arrayOfByte[93] = -9;
  869. arrayOfByte[94] = -9;
  870. arrayOfByte[95] = 37;
  871. arrayOfByte[96] = -9;
  872. arrayOfByte[97] = 38;
  873. arrayOfByte[98] = 39;
  874. arrayOfByte[99] = 40;
  875. arrayOfByte[100] = 41;
  876. arrayOfByte[101] = 42;
  877. arrayOfByte[102] = 43;
  878. arrayOfByte[103] = 44;
  879. arrayOfByte[104] = 45;
  880. arrayOfByte[105] = 46;
  881. arrayOfByte[106] = 47;
  882. arrayOfByte[107] = 48;
  883. arrayOfByte[108] = 49;
  884. arrayOfByte[109] = 50;
  885. arrayOfByte[110] = 51;
  886. arrayOfByte[111] = 52;
  887. arrayOfByte[112] = 53;
  888. arrayOfByte[113] = 54;
  889. arrayOfByte[114] = 55;
  890. arrayOfByte[115] = 56;
  891. arrayOfByte[116] = 57;
  892. arrayOfByte[117] = 58;
  893. arrayOfByte[118] = 59;
  894. arrayOfByte[119] = 60;
  895. arrayOfByte[120] = 61;
  896. arrayOfByte[121] = 62;
  897. arrayOfByte[122] = 63;
  898. arrayOfByte[123] = -9;
  899. arrayOfByte[124] = -9;
  900. arrayOfByte[125] = -9;
  901. arrayOfByte[126] = -9;
  902. arrayOfByte[127] = -9;
  903. arrayOfByte['€'] = -9;
  904. arrayOfByte[''] = -9;
  905. arrayOfByte['‚'] = -9;
  906. arrayOfByte['ƒ'] = -9;
  907. arrayOfByte['„'] = -9;
  908. arrayOfByte['…'] = -9;
  909. arrayOfByte['†'] = -9;
  910. arrayOfByte['‡'] = -9;
  911. arrayOfByte['ˆ'] = -9;
  912. arrayOfByte['‰'] = -9;
  913. arrayOfByte['Š'] = -9;
  914. arrayOfByte['‹'] = -9;
  915. arrayOfByte['Œ'] = -9;
  916. arrayOfByte[''] = -9;
  917. arrayOfByte['Ž'] = -9;
  918. arrayOfByte[''] = -9;
  919. arrayOfByte[''] = -9;
  920. arrayOfByte['‘'] = -9;
  921. arrayOfByte['’'] = -9;
  922. arrayOfByte['“'] = -9;
  923. arrayOfByte['”'] = -9;
  924. arrayOfByte['•'] = -9;
  925. arrayOfByte['–'] = -9;
  926. arrayOfByte['—'] = -9;
  927. arrayOfByte['˜'] = -9;
  928. arrayOfByte['™'] = -9;
  929. arrayOfByte['š'] = -9;
  930. arrayOfByte['›'] = -9;
  931. arrayOfByte['œ'] = -9;
  932. arrayOfByte[''] = -9;
  933. arrayOfByte['ž'] = -9;
  934. arrayOfByte['Ÿ'] = -9;
  935. arrayOfByte[' '] = -9;
  936. arrayOfByte['¡'] = -9;
  937. arrayOfByte['¢'] = -9;
  938. arrayOfByte['£'] = -9;
  939. arrayOfByte['¤'] = -9;
  940. arrayOfByte['¥'] = -9;
  941. arrayOfByte['¦'] = -9;
  942. arrayOfByte['§'] = -9;
  943. arrayOfByte['¨'] = -9;
  944. arrayOfByte['©'] = -9;
  945. arrayOfByte['ª'] = -9;
  946. arrayOfByte['«'] = -9;
  947. arrayOfByte['¬'] = -9;
  948. arrayOfByte['­'] = -9;
  949. arrayOfByte['®'] = -9;
  950. arrayOfByte['¯'] = -9;
  951. arrayOfByte['°'] = -9;
  952. arrayOfByte['±'] = -9;
  953. arrayOfByte['²'] = -9;
  954. arrayOfByte['³'] = -9;
  955. arrayOfByte['´'] = -9;
  956. arrayOfByte['µ'] = -9;
  957. arrayOfByte['¶'] = -9;
  958. arrayOfByte['·'] = -9;
  959. arrayOfByte['¸'] = -9;
  960. arrayOfByte['¹'] = -9;
  961. arrayOfByte['º'] = -9;
  962. arrayOfByte['»'] = -9;
  963. arrayOfByte['¼'] = -9;
  964. arrayOfByte['½'] = -9;
  965. arrayOfByte['¾'] = -9;
  966. arrayOfByte['¿'] = -9;
  967. arrayOfByte['À'] = -9;
  968. arrayOfByte['Á'] = -9;
  969. arrayOfByte['Â'] = -9;
  970. arrayOfByte['Ã'] = -9;
  971. arrayOfByte['Ä'] = -9;
  972. arrayOfByte['Å'] = -9;
  973. arrayOfByte['Æ'] = -9;
  974. arrayOfByte['Ç'] = -9;
  975. arrayOfByte['È'] = -9;
  976. arrayOfByte['É'] = -9;
  977. arrayOfByte['Ê'] = -9;
  978. arrayOfByte['Ë'] = -9;
  979. arrayOfByte['Ì'] = -9;
  980. arrayOfByte['Í'] = -9;
  981. arrayOfByte['Î'] = -9;
  982. arrayOfByte['Ï'] = -9;
  983. arrayOfByte['Ð'] = -9;
  984. arrayOfByte['Ñ'] = -9;
  985. arrayOfByte['Ò'] = -9;
  986. arrayOfByte['Ó'] = -9;
  987. arrayOfByte['Ô'] = -9;
  988. arrayOfByte['Õ'] = -9;
  989. arrayOfByte['Ö'] = -9;
  990. arrayOfByte['×'] = -9;
  991. arrayOfByte['Ø'] = -9;
  992. arrayOfByte['Ù'] = -9;
  993. arrayOfByte['Ú'] = -9;
  994. arrayOfByte['Û'] = -9;
  995. arrayOfByte['Ü'] = -9;
  996. arrayOfByte['Ý'] = -9;
  997. arrayOfByte['Þ'] = -9;
  998. arrayOfByte['ß'] = -9;
  999. arrayOfByte['à'] = -9;
  1000. arrayOfByte['á'] = -9;
  1001. arrayOfByte['â'] = -9;
  1002. arrayOfByte['ã'] = -9;
  1003. arrayOfByte['ä'] = -9;
  1004. arrayOfByte['å'] = -9;
  1005. arrayOfByte['æ'] = -9;
  1006. arrayOfByte['ç'] = -9;
  1007. arrayOfByte['è'] = -9;
  1008. arrayOfByte['é'] = -9;
  1009. arrayOfByte['ê'] = -9;
  1010. arrayOfByte['ë'] = -9;
  1011. arrayOfByte['ì'] = -9;
  1012. arrayOfByte['í'] = -9;
  1013. arrayOfByte['î'] = -9;
  1014. arrayOfByte['ï'] = -9;
  1015. arrayOfByte['ð'] = -9;
  1016. arrayOfByte['ñ'] = -9;
  1017. arrayOfByte['ò'] = -9;
  1018. arrayOfByte['ó'] = -9;
  1019. arrayOfByte['ô'] = -9;
  1020. arrayOfByte['õ'] = -9;
  1021. arrayOfByte['ö'] = -9;
  1022. arrayOfByte['÷'] = -9;
  1023. arrayOfByte['ø'] = -9;
  1024. arrayOfByte['ù'] = -9;
  1025. arrayOfByte['ú'] = -9;
  1026. arrayOfByte['û'] = -9;
  1027. arrayOfByte['ü'] = -9;
  1028. arrayOfByte['ý'] = -9;
  1029. arrayOfByte['þ'] = -9;
  1030. arrayOfByte['ÿ'] = -9;
  1031. arrayOfByte[256] = -9;
  1032. _ORDERED_DECODABET = arrayOfByte;
  1033. }
  1034.  
  1035. public static byte[] decode(String paramString)
  1036. throws IOException
  1037. {
  1038. return decode(paramString, 0);
  1039. }
  1040.  
  1041. // ERROR //
  1042. public static byte[] decode(String paramString, int paramInt)
  1043. throws IOException
  1044. {
  1045. // Byte code:
  1046. // 0: aload_0
  1047. // 1: ifnonnull +13 -> 14
  1048. // 4: new 174 java/lang/NullPointerException
  1049. // 7: dup
  1050. // 8: ldc 176
  1051. // 10: invokespecial 179 java/lang/NullPointerException:<init> (Ljava/lang/String;)V
  1052. // 13: athrow
  1053. // 14: aload_0
  1054. // 15: ldc 41
  1055. // 17: invokevirtual 184 java/lang/String:getBytes (Ljava/lang/String;)[B
  1056. // 20: astore_2
  1057. // 21: aload_2
  1058. // 22: astore_2
  1059. // 23: aload_2
  1060. // 24: iconst_0
  1061. // 25: aload_2
  1062. // 26: arraylength
  1063. // 27: iload_1
  1064. // 28: invokestatic 187 com/botnet/offtheplatter/Base64:decode ([BIII)[B
  1065. // 31: astore_2
  1066. // 32: iload_1
  1067. // 33: iconst_4
  1068. // 34: iand
  1069. // 35: ifeq +131 -> 166
  1070. // 38: iconst_1
  1071. // 39: istore_3
  1072. // 40: aload_2
  1073. // 41: ifnull +114 -> 155
  1074. // 44: aload_2
  1075. // 45: arraylength
  1076. // 46: iconst_4
  1077. // 47: if_icmplt +108 -> 155
  1078. // 50: iload_3
  1079. // 51: ifne +104 -> 155
  1080. // 54: ldc 188
  1081. // 56: sipush 255
  1082. // 59: aload_2
  1083. // 60: iconst_0
  1084. // 61: baload
  1085. // 62: iand
  1086. // 63: ldc 189
  1087. // 65: aload_2
  1088. // 66: iconst_1
  1089. // 67: baload
  1090. // 68: bipush 8
  1091. // 70: ishl
  1092. // 71: iand
  1093. // 72: ior
  1094. // 73: if_icmpne +82 -> 155
  1095. // 76: aconst_null
  1096. // 77: astore 4
  1097. // 79: aconst_null
  1098. // 80: astore 5
  1099. // 82: aconst_null
  1100. // 83: astore_3
  1101. // 84: sipush 2048
  1102. // 87: newarray byte
  1103. // 89: astore 6
  1104. // 91: new 191 java/io/ByteArrayOutputStream
  1105. // 94: dup
  1106. // 95: invokespecial 192 java/io/ByteArrayOutputStream:<init> ()V
  1107. // 98: astore_3
  1108. // 99: new 194 java/io/ByteArrayInputStream
  1109. // 102: dup
  1110. // 103: aload_2
  1111. // 104: invokespecial 197 java/io/ByteArrayInputStream:<init> ([B)V
  1112. // 107: astore 4
  1113. // 109: new 199 java/util/zip/GZIPInputStream
  1114. // 112: dup
  1115. // 113: aload 4
  1116. // 115: invokespecial 202 java/util/zip/GZIPInputStream:<init> (Ljava/io/InputStream;)V
  1117. // 118: astore 5
  1118. // 120: aload 5
  1119. // 122: aload 6
  1120. // 124: invokevirtual 206 java/util/zip/GZIPInputStream:read ([B)I
  1121. // 127: istore 7
  1122. // 129: iload 7
  1123. // 131: ifge +40 -> 171
  1124. // 134: aload_3
  1125. // 135: invokevirtual 210 java/io/ByteArrayOutputStream:toByteArray ()[B
  1126. // 138: astore_2
  1127. // 139: aload_2
  1128. // 140: astore_2
  1129. // 141: aload_3
  1130. // 142: invokevirtual 213 java/io/ByteArrayOutputStream:close ()V
  1131. // 145: aload 5
  1132. // 147: invokevirtual 214 java/util/zip/GZIPInputStream:close ()V
  1133. // 150: aload 4
  1134. // 152: invokevirtual 215 java/io/ByteArrayInputStream:close ()V
  1135. // 155: aload_2
  1136. // 156: areturn
  1137. // 157: pop
  1138. // 158: aload_0
  1139. // 159: invokevirtual 217 java/lang/String:getBytes ()[B
  1140. // 162: astore_2
  1141. // 163: goto -140 -> 23
  1142. // 166: iconst_0
  1143. // 167: istore_3
  1144. // 168: goto -128 -> 40
  1145. // 171: aload_3
  1146. // 172: aload 6
  1147. // 174: iconst_0
  1148. // 175: iload 7
  1149. // 177: invokevirtual 221 java/io/ByteArrayOutputStream:write ([BII)V
  1150. // 180: goto -60 -> 120
  1151. // 183: astore 6
  1152. // 185: aload_3
  1153. // 186: astore_3
  1154. // 187: aload 5
  1155. // 189: astore 5
  1156. // 191: aload 4
  1157. // 193: astore 4
  1158. // 195: aload 6
  1159. // 197: invokevirtual 224 java/io/IOException:printStackTrace ()V
  1160. // 200: aload_3
  1161. // 201: invokevirtual 213 java/io/ByteArrayOutputStream:close ()V
  1162. // 204: aload 5
  1163. // 206: invokevirtual 214 java/util/zip/GZIPInputStream:close ()V
  1164. // 209: aload 4
  1165. // 211: invokevirtual 215 java/io/ByteArrayInputStream:close ()V
  1166. // 214: goto -59 -> 155
  1167. // 217: pop
  1168. // 218: goto -63 -> 155
  1169. // 221: astore_2
  1170. // 222: aload_3
  1171. // 223: invokevirtual 213 java/io/ByteArrayOutputStream:close ()V
  1172. // 226: aload 5
  1173. // 228: invokevirtual 214 java/util/zip/GZIPInputStream:close ()V
  1174. // 231: aload 4
  1175. // 233: invokevirtual 215 java/io/ByteArrayInputStream:close ()V
  1176. // 236: aload_2
  1177. // 237: athrow
  1178. // 238: pop
  1179. // 239: goto -35 -> 204
  1180. // 242: pop
  1181. // 243: goto -34 -> 209
  1182. // 246: pop
  1183. // 247: goto -21 -> 226
  1184. // 250: pop
  1185. // 251: goto -20 -> 231
  1186. // 254: pop
  1187. // 255: goto -19 -> 236
  1188. // 258: pop
  1189. // 259: goto -114 -> 145
  1190. // 262: pop
  1191. // 263: goto -113 -> 150
  1192. // 266: pop
  1193. // 267: goto -112 -> 155
  1194. // 270: astore_2
  1195. // 271: aload_3
  1196. // 272: astore_3
  1197. // 273: goto -51 -> 222
  1198. // 276: astore_2
  1199. // 277: aload_3
  1200. // 278: astore_3
  1201. // 279: aload 4
  1202. // 281: astore 4
  1203. // 283: goto -61 -> 222
  1204. // 286: astore_2
  1205. // 287: aload_3
  1206. // 288: astore_3
  1207. // 289: aload 5
  1208. // 291: astore 5
  1209. // 293: aload 4
  1210. // 295: astore 4
  1211. // 297: goto -75 -> 222
  1212. // 300: astore 6
  1213. // 302: goto -107 -> 195
  1214. // 305: astore 6
  1215. // 307: aload_3
  1216. // 308: astore_3
  1217. // 309: goto -114 -> 195
  1218. // 312: astore 6
  1219. // 314: aload_3
  1220. // 315: astore_3
  1221. // 316: aload 4
  1222. // 318: astore 4
  1223. // 320: goto -125 -> 195
  1224. //
  1225. // Exception table:
  1226. // from to target type
  1227. // 14 21 157 java/io/UnsupportedEncodingException
  1228. // 120 139 183 java/io/IOException
  1229. // 171 180 183 java/io/IOException
  1230. // 209 214 217 java/lang/Exception
  1231. // 91 99 221 finally
  1232. // 195 200 221 finally
  1233. // 200 204 238 java/lang/Exception
  1234. // 204 209 242 java/lang/Exception
  1235. // 222 226 246 java/lang/Exception
  1236. // 226 231 250 java/lang/Exception
  1237. // 231 236 254 java/lang/Exception
  1238. // 141 145 258 java/lang/Exception
  1239. // 145 150 262 java/lang/Exception
  1240. // 150 155 266 java/lang/Exception
  1241. // 99 109 270 finally
  1242. // 109 120 276 finally
  1243. // 120 139 286 finally
  1244. // 171 180 286 finally
  1245. // 91 99 300 java/io/IOException
  1246. // 99 109 305 java/io/IOException
  1247. // 109 120 312 java/io/IOException
  1248. }
  1249.  
  1250. public static byte[] decode(byte[] paramArrayOfByte)
  1251. throws IOException
  1252. {
  1253. ((byte[])null);
  1254. return decode(paramArrayOfByte, 0, paramArrayOfByte.length, 0);
  1255. }
  1256.  
  1257. public static byte[] decode(byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3)
  1258. throws IOException
  1259. {
  1260. if (paramArrayOfByte != null)
  1261. {
  1262. if ((paramInt1 >= 0) && (paramInt1 + paramInt2 <= paramArrayOfByte.length))
  1263. {
  1264. label203: byte[] arrayOfByte1;
  1265. if (paramInt2 != 0)
  1266. {
  1267. if (paramInt2 >= 4)
  1268. {
  1269. byte[] arrayOfByte4 = getDecodabet(paramInt3);
  1270. byte[] arrayOfByte2 = new byte[paramInt2 * 3 / 4];
  1271. int i = 0;
  1272. byte[] arrayOfByte3 = new byte[4];
  1273. int k = paramInt1;
  1274. int n;
  1275. int j;
  1276. for (int m = 0; k < paramInt1 + paramInt2; m = n)
  1277. {
  1278. n = arrayOfByte4[(0xFF & paramArrayOfByte[k])];
  1279. Object[] arrayOfObject1;
  1280. if (n < -5)
  1281. {
  1282. arrayOfObject1 = new Object[2];
  1283. arrayOfObject1[0] = Integer.valueOf(0xFF & paramArrayOfByte[k]);
  1284. arrayOfObject1[1] = Integer.valueOf(k);
  1285. throw new IOException(String.format("Bad Base64 input character decimal %d in array position %d", arrayOfObject1));
  1286. }
  1287. if (n < -1)
  1288. {
  1289. n = m;
  1290. }
  1291. else
  1292. {
  1293. n = m + 1;
  1294. arrayOfByte3[m] = paramArrayOfByte[k];
  1295. if (n > 3)
  1296. {
  1297. arrayOfObject1 += decode4to3(arrayOfByte3, 0, arrayOfByte2, arrayOfObject1, paramInt3);
  1298. n = 0;
  1299. if (paramArrayOfByte[k] == 61)
  1300. break label203;
  1301. }
  1302. }
  1303. k++;
  1304. }
  1305. arrayOfByte1 = new byte[j];
  1306. System.arraycopy(arrayOfByte2, 0, arrayOfByte1, 0, j);
  1307. }
  1308. else
  1309. {
  1310. throw new IllegalArgumentException("Base64-encoded string must have at least four characters, but length specified was " + paramInt2);
  1311. }
  1312. }
  1313. else
  1314. arrayOfByte1 = new byte[0];
  1315. return arrayOfByte1;
  1316. }
  1317. Object[] arrayOfObject2 = new Object[3];
  1318. arrayOfObject2[0] = Integer.valueOf(paramArrayOfByte.length);
  1319. arrayOfObject2[1] = Integer.valueOf(paramInt1);
  1320. arrayOfObject2[2] = Integer.valueOf(paramInt2);
  1321. throw new IllegalArgumentException(String.format("Source array with length %d cannot have offset of %d and process %d bytes.", arrayOfObject2));
  1322. }
  1323. throw new NullPointerException("Cannot decode null source array.");
  1324. }
  1325.  
  1326. private static int decode4to3(byte[] paramArrayOfByte1, int paramInt1, byte[] paramArrayOfByte2, int paramInt2, int paramInt3)
  1327. {
  1328. int i = 1;
  1329. if (paramArrayOfByte1 != null)
  1330. {
  1331. if (paramArrayOfByte2 != null)
  1332. {
  1333. if ((paramInt1 >= 0) && (paramInt1 + 3 < paramArrayOfByte1.length))
  1334. {
  1335. if ((paramInt2 >= 0) && (paramInt2 + 2 < paramArrayOfByte2.length))
  1336. {
  1337. localObject = getDecodabet(paramInt3);
  1338. if (paramArrayOfByte1[(paramInt1 + 2)] != 61)
  1339. {
  1340. if (paramArrayOfByte1[(paramInt1 + 3)] != 61)
  1341. {
  1342. i = (0xFF & localObject[paramArrayOfByte1[paramInt1]]) << 18 | (0xFF & localObject[paramArrayOfByte1[(paramInt1 + 1)]]) << 12 | (0xFF & localObject[paramArrayOfByte1[(paramInt1 + 2)]]) << 6 | 0xFF & localObject[paramArrayOfByte1[(paramInt1 + 3)]];
  1343. paramArrayOfByte2[paramInt2] = (byte)(i >> 16);
  1344. paramArrayOfByte2[(paramInt2 + 1)] = (byte)(i >> 8);
  1345. paramArrayOfByte2[(paramInt2 + 2)] = (byte)i;
  1346. i = 3;
  1347. }
  1348. else
  1349. {
  1350. i = (0xFF & localObject[paramArrayOfByte1[paramInt1]]) << 18 | (0xFF & localObject[paramArrayOfByte1[(paramInt1 + 1)]]) << 12 | (0xFF & localObject[paramArrayOfByte1[(paramInt1 + 2)]]) << 6;
  1351. paramArrayOfByte2[paramInt2] = (byte)(i >>> 16);
  1352. paramArrayOfByte2[(paramInt2 + 1)] = (byte)(i >>> 8);
  1353. i = 2;
  1354. }
  1355. }
  1356. else
  1357. paramArrayOfByte2[paramInt2] = (byte)(((0xFF & localObject[paramArrayOfByte1[paramInt1]]) << 18 | (0xFF & localObject[paramArrayOfByte1[(paramInt1 + 1)]]) << 12) >>> 16);
  1358. return i;
  1359. }
  1360. localObject = new Object[2];
  1361. localObject[0] = Integer.valueOf(paramArrayOfByte2.length);
  1362. localObject[i] = Integer.valueOf(paramInt2);
  1363. throw new IllegalArgumentException(String.format("Destination array with length %d cannot have offset of %d and still store three bytes.", localObject));
  1364. }
  1365. Object localObject = new Object[2];
  1366. localObject[0] = Integer.valueOf(paramArrayOfByte1.length);
  1367. localObject[i] = Integer.valueOf(paramInt1);
  1368. throw new IllegalArgumentException(String.format("Source array with length %d cannot have offset of %d and still process four bytes.", localObject));
  1369. }
  1370. throw new NullPointerException("Destination array was null.");
  1371. }
  1372. throw new NullPointerException("Source array was null.");
  1373. }
  1374.  
  1375. // ERROR //
  1376. public static void decodeFileToFile(String paramString1, String paramString2)
  1377. throws IOException
  1378. {
  1379. // Byte code:
  1380. // 0: aload_0
  1381. // 1: invokestatic 278 com/botnet/offtheplatter/Base64:decodeFromFile (Ljava/lang/String;)[B
  1382. // 4: astore_3
  1383. // 5: aconst_null
  1384. // 6: astore_2
  1385. // 7: new 280 java/io/BufferedOutputStream
  1386. // 10: dup
  1387. // 11: new 282 java/io/FileOutputStream
  1388. // 14: dup
  1389. // 15: aload_1
  1390. // 16: invokespecial 283 java/io/FileOutputStream:<init> (Ljava/lang/String;)V
  1391. // 19: invokespecial 286 java/io/BufferedOutputStream:<init> (Ljava/io/OutputStream;)V
  1392. // 22: astore_2
  1393. // 23: aload_2
  1394. // 24: aload_3
  1395. // 25: invokevirtual 290 java/io/OutputStream:write ([B)V
  1396. // 28: aload_2
  1397. // 29: invokevirtual 291 java/io/OutputStream:close ()V
  1398. // 32: return
  1399. // 33: astore_3
  1400. // 34: aload_3
  1401. // 35: athrow
  1402. // 36: astore_3
  1403. // 37: aload_2
  1404. // 38: invokevirtual 291 java/io/OutputStream:close ()V
  1405. // 41: aload_3
  1406. // 42: athrow
  1407. // 43: pop
  1408. // 44: goto -3 -> 41
  1409. // 47: pop
  1410. // 48: goto -16 -> 32
  1411. // 51: astore_3
  1412. // 52: aload_2
  1413. // 53: astore_2
  1414. // 54: goto -17 -> 37
  1415. // 57: astore_3
  1416. // 58: aload_2
  1417. // 59: astore_2
  1418. // 60: goto -26 -> 34
  1419. //
  1420. // Exception table:
  1421. // from to target type
  1422. // 7 23 33 java/io/IOException
  1423. // 7 23 36 finally
  1424. // 34 36 36 finally
  1425. // 37 41 43 java/lang/Exception
  1426. // 28 32 47 java/lang/Exception
  1427. // 23 28 51 finally
  1428. // 23 28 57 java/io/IOException
  1429. }
  1430.  
  1431. // ERROR //
  1432. public static byte[] decodeFromFile(String paramString)
  1433. throws IOException
  1434. {
  1435. // Byte code:
  1436. // 0: aconst_null
  1437. // 1: checkcast 226 [B
  1438. // 4: pop
  1439. // 5: aconst_null
  1440. // 6: astore_1
  1441. // 7: new 293 java/io/File
  1442. // 10: dup
  1443. // 11: aload_0
  1444. // 12: invokespecial 294 java/io/File:<init> (Ljava/lang/String;)V
  1445. // 15: astore 4
  1446. // 17: aconst_null
  1447. // 18: checkcast 226 [B
  1448. // 21: pop
  1449. // 22: iconst_0
  1450. // 23: istore_2
  1451. // 24: aload 4
  1452. // 26: invokevirtual 298 java/io/File:length ()J
  1453. // 29: ldc2_w 299
  1454. // 32: lcmp
  1455. // 33: ifle +48 -> 81
  1456. // 36: new 165 java/io/IOException
  1457. // 39: dup
  1458. // 40: new 249 java/lang/StringBuilder
  1459. // 43: dup
  1460. // 44: ldc_w 302
  1461. // 47: invokespecial 252 java/lang/StringBuilder:<init> (Ljava/lang/String;)V
  1462. // 50: aload 4
  1463. // 52: invokevirtual 298 java/io/File:length ()J
  1464. // 55: invokevirtual 305 java/lang/StringBuilder:append (J)Ljava/lang/StringBuilder;
  1465. // 58: ldc_w 307
  1466. // 61: invokevirtual 310 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  1467. // 64: invokevirtual 260 java/lang/StringBuilder:toString ()Ljava/lang/String;
  1468. // 67: invokespecial 239 java/io/IOException:<init> (Ljava/lang/String;)V
  1469. // 70: athrow
  1470. // 71: astore_2
  1471. // 72: aload_2
  1472. // 73: athrow
  1473. // 74: astore_2
  1474. // 75: aload_1
  1475. // 76: invokevirtual 311 com/botnet/offtheplatter/Base64$InputStream:close ()V
  1476. // 79: aload_2
  1477. // 80: athrow
  1478. // 81: aload 4
  1479. // 83: invokevirtual 298 java/io/File:length ()J
  1480. // 86: l2i
  1481. // 87: newarray byte
  1482. // 89: astore_3
  1483. // 90: new 8 com/botnet/offtheplatter/Base64$InputStream
  1484. // 93: dup
  1485. // 94: new 313 java/io/BufferedInputStream
  1486. // 97: dup
  1487. // 98: new 315 java/io/FileInputStream
  1488. // 101: dup
  1489. // 102: aload 4
  1490. // 104: invokespecial 318 java/io/FileInputStream:<init> (Ljava/io/File;)V
  1491. // 107: invokespecial 319 java/io/BufferedInputStream:<init> (Ljava/io/InputStream;)V
  1492. // 110: iconst_0
  1493. // 111: invokespecial 322 com/botnet/offtheplatter/Base64$InputStream:<init> (Ljava/io/InputStream;I)V
  1494. // 114: astore_1
  1495. // 115: aload_1
  1496. // 116: aload_3
  1497. // 117: iload_2
  1498. // 118: sipush 4096
  1499. // 121: invokevirtual 325 com/botnet/offtheplatter/Base64$InputStream:read ([BII)I
  1500. // 124: istore 4
  1501. // 126: iload 4
  1502. // 128: ifge +24 -> 152
  1503. // 131: iload_2
  1504. // 132: newarray byte
  1505. // 134: astore 4
  1506. // 136: aload_3
  1507. // 137: iconst_0
  1508. // 138: aload 4
  1509. // 140: iconst_0
  1510. // 141: iload_2
  1511. // 142: invokestatic 245 java/lang/System:arraycopy (Ljava/lang/Object;ILjava/lang/Object;II)V
  1512. // 145: aload_1
  1513. // 146: invokevirtual 311 com/botnet/offtheplatter/Base64$InputStream:close ()V
  1514. // 149: aload 4
  1515. // 151: areturn
  1516. // 152: iload_2
  1517. // 153: iload 4
  1518. // 155: iadd
  1519. // 156: istore_2
  1520. // 157: goto -42 -> 115
  1521. // 160: pop
  1522. // 161: goto -82 -> 79
  1523. // 164: pop
  1524. // 165: goto -16 -> 149
  1525. // 168: astore_2
  1526. // 169: aload_1
  1527. // 170: astore_1
  1528. // 171: goto -96 -> 75
  1529. // 174: astore_2
  1530. // 175: aload_1
  1531. // 176: astore_1
  1532. // 177: goto -105 -> 72
  1533. //
  1534. // Exception table:
  1535. // from to target type
  1536. // 7 71 71 java/io/IOException
  1537. // 81 115 71 java/io/IOException
  1538. // 7 71 74 finally
  1539. // 72 74 74 finally
  1540. // 81 115 74 finally
  1541. // 75 79 160 java/lang/Exception
  1542. // 145 149 164 java/lang/Exception
  1543. // 115 145 168 finally
  1544. // 115 145 174 java/io/IOException
  1545. }
  1546.  
  1547. // ERROR //
  1548. public static void decodeToFile(String paramString1, String paramString2)
  1549. throws IOException
  1550. {
  1551. // Byte code:
  1552. // 0: aconst_null
  1553. // 1: astore_2
  1554. // 2: new 11 com/botnet/offtheplatter/Base64$OutputStream
  1555. // 5: dup
  1556. // 6: new 282 java/io/FileOutputStream
  1557. // 9: dup
  1558. // 10: aload_1
  1559. // 11: invokespecial 283 java/io/FileOutputStream:<init> (Ljava/lang/String;)V
  1560. // 14: iconst_0
  1561. // 15: invokespecial 329 com/botnet/offtheplatter/Base64$OutputStream:<init> (Ljava/io/OutputStream;I)V
  1562. // 18: astore_2
  1563. // 19: aload_2
  1564. // 20: aload_0
  1565. // 21: ldc 41
  1566. // 23: invokevirtual 184 java/lang/String:getBytes (Ljava/lang/String;)[B
  1567. // 26: invokevirtual 330 com/botnet/offtheplatter/Base64$OutputStream:write ([B)V
  1568. // 29: aload_2
  1569. // 30: invokevirtual 331 com/botnet/offtheplatter/Base64$OutputStream:close ()V
  1570. // 33: return
  1571. // 34: astore_3
  1572. // 35: aload_3
  1573. // 36: athrow
  1574. // 37: astore_3
  1575. // 38: aload_2
  1576. // 39: invokevirtual 331 com/botnet/offtheplatter/Base64$OutputStream:close ()V
  1577. // 42: aload_3
  1578. // 43: athrow
  1579. // 44: pop
  1580. // 45: goto -3 -> 42
  1581. // 48: pop
  1582. // 49: goto -16 -> 33
  1583. // 52: astore_3
  1584. // 53: aload_2
  1585. // 54: astore_2
  1586. // 55: goto -17 -> 38
  1587. // 58: astore_3
  1588. // 59: aload_2
  1589. // 60: astore_2
  1590. // 61: goto -26 -> 35
  1591. //
  1592. // Exception table:
  1593. // from to target type
  1594. // 2 19 34 java/io/IOException
  1595. // 2 19 37 finally
  1596. // 35 37 37 finally
  1597. // 38 42 44 java/lang/Exception
  1598. // 29 33 48 java/lang/Exception
  1599. // 19 29 52 finally
  1600. // 19 29 58 java/io/IOException
  1601. }
  1602.  
  1603. public static Object decodeToObject(String paramString)
  1604. {
  1605. return decodeToObject(paramString, 0, null);
  1606. }
  1607.  
  1608. // ERROR //
  1609. public static Object decodeToObject(String paramString, int paramInt, ClassLoader paramClassLoader)
  1610. {
  1611. // Byte code:
  1612. // 0: aload_0
  1613. // 1: iload_1
  1614. // 2: invokestatic 168 com/botnet/offtheplatter/Base64:decode (Ljava/lang/String;I)[B
  1615. // 5: astore 5
  1616. // 7: aconst_null
  1617. // 8: astore 4
  1618. // 10: aconst_null
  1619. // 11: astore_3
  1620. // 12: new 194 java/io/ByteArrayInputStream
  1621. // 15: dup
  1622. // 16: aload 5
  1623. // 18: invokespecial 197 java/io/ByteArrayInputStream:<init> ([B)V
  1624. // 21: astore 4
  1625. // 23: aload_2
  1626. // 24: ifnonnull +31 -> 55
  1627. // 27: new 340 java/io/ObjectInputStream
  1628. // 30: dup
  1629. // 31: aload 4
  1630. // 33: invokespecial 341 java/io/ObjectInputStream:<init> (Ljava/io/InputStream;)V
  1631. // 36: astore_3
  1632. // 37: aload_3
  1633. // 38: invokevirtual 345 java/io/ObjectInputStream:readObject ()Ljava/lang/Object;
  1634. // 41: astore 5
  1635. // 43: aload 4
  1636. // 45: invokevirtual 215 java/io/ByteArrayInputStream:close ()V
  1637. // 48: aload_3
  1638. // 49: invokevirtual 346 java/io/ObjectInputStream:close ()V
  1639. // 52: aload 5
  1640. // 54: areturn
  1641. // 55: new 6 com/botnet/offtheplatter/Base64$1
  1642. // 58: dup
  1643. // 59: aload 4
  1644. // 61: aload_2
  1645. // 62: invokespecial 349 com/botnet/offtheplatter/Base64$1:<init> (Ljava/io/InputStream;Ljava/lang/ClassLoader;)V
  1646. // 65: astore_3
  1647. // 66: aload_3
  1648. // 67: astore_3
  1649. // 68: goto -31 -> 37
  1650. // 71: astore 5
  1651. // 73: aload 5
  1652. // 75: athrow
  1653. // 76: astore 5
  1654. // 78: aload 4
  1655. // 80: invokevirtual 215 java/io/ByteArrayInputStream:close ()V
  1656. // 83: aload_3
  1657. // 84: invokevirtual 346 java/io/ObjectInputStream:close ()V
  1658. // 87: aload 5
  1659. // 89: athrow
  1660. // 90: astore 5
  1661. // 92: aload 5
  1662. // 94: athrow
  1663. // 95: pop
  1664. // 96: goto -13 -> 83
  1665. // 99: pop
  1666. // 100: goto -13 -> 87
  1667. // 103: pop
  1668. // 104: goto -56 -> 48
  1669. // 107: pop
  1670. // 108: goto -56 -> 52
  1671. // 111: astore 5
  1672. // 113: aload 4
  1673. // 115: astore 4
  1674. // 117: goto -39 -> 78
  1675. // 120: astore 5
  1676. // 122: aload 4
  1677. // 124: astore 4
  1678. // 126: goto -34 -> 92
  1679. // 129: astore 5
  1680. // 131: aload 4
  1681. // 133: astore 4
  1682. // 135: goto -62 -> 73
  1683. //
  1684. // Exception table:
  1685. // from to target type
  1686. // 12 23 71 java/io/IOException
  1687. // 12 23 76 finally
  1688. // 73 76 76 finally
  1689. // 92 95 76 finally
  1690. // 12 23 90 java/lang/ClassNotFoundException
  1691. // 78 83 95 java/lang/Exception
  1692. // 83 87 99 java/lang/Exception
  1693. // 43 48 103 java/lang/Exception
  1694. // 48 52 107 java/lang/Exception
  1695. // 27 43 111 finally
  1696. // 55 66 111 finally
  1697. // 27 43 120 java/lang/ClassNotFoundException
  1698. // 55 66 120 java/lang/ClassNotFoundException
  1699. // 27 43 129 java/io/IOException
  1700. // 55 66 129 java/io/IOException
  1701. }
  1702.  
  1703. public static void encode(ByteBuffer paramByteBuffer1, ByteBuffer paramByteBuffer2)
  1704. {
  1705. byte[] arrayOfByte1 = new byte[3];
  1706. byte[] arrayOfByte2 = new byte[4];
  1707. while (paramByteBuffer1.hasRemaining())
  1708. {
  1709. int i = Math.min(3, paramByteBuffer1.remaining());
  1710. paramByteBuffer1.get(arrayOfByte1, 0, i);
  1711. encode3to4(arrayOfByte2, arrayOfByte1, i, 0);
  1712. paramByteBuffer2.put(arrayOfByte2);
  1713. }
  1714. }
  1715.  
  1716. public static void encode(ByteBuffer paramByteBuffer, CharBuffer paramCharBuffer)
  1717. {
  1718. byte[] arrayOfByte2 = new byte[3];
  1719. byte[] arrayOfByte1 = new byte[4];
  1720. while (paramByteBuffer.hasRemaining())
  1721. {
  1722. int i = Math.min(3, paramByteBuffer.remaining());
  1723. paramByteBuffer.get(arrayOfByte2, 0, i);
  1724. encode3to4(arrayOfByte1, arrayOfByte2, i, 0);
  1725. for (i = 0; i < 4; i++)
  1726. paramCharBuffer.put((char)(0xFF & arrayOfByte1[i]));
  1727. }
  1728. }
  1729.  
  1730. private static byte[] encode3to4(byte[] paramArrayOfByte1, int paramInt1, int paramInt2, byte[] paramArrayOfByte2, int paramInt3, int paramInt4)
  1731. {
  1732. int i = 0;
  1733. byte[] arrayOfByte = getAlphabet(paramInt4);
  1734. int k;
  1735. if (paramInt2 <= 0)
  1736. k = 0;
  1737. else
  1738. k = paramArrayOfByte1[paramInt1] << 24 >>> 8;
  1739. int j;
  1740. if (paramInt2 <= 1)
  1741. j = 0;
  1742. else
  1743. j = paramArrayOfByte1[(paramInt1 + 1)] << 24 >>> 16;
  1744. j |= k;
  1745. if (paramInt2 > 2)
  1746. i = paramArrayOfByte1[(paramInt1 + 2)] << 24 >>> 24;
  1747. i = j | i;
  1748. switch (paramInt2)
  1749. {
  1750. case 1:
  1751. paramArrayOfByte2[paramInt3] = arrayOfByte[(i >>> 18)];
  1752. paramArrayOfByte2[(paramInt3 + 1)] = arrayOfByte[(0x3F & i >>> 12)];
  1753. paramArrayOfByte2[(paramInt3 + 2)] = 61;
  1754. paramArrayOfByte2[(paramInt3 + 3)] = 61;
  1755. break;
  1756. case 2:
  1757. paramArrayOfByte2[paramInt3] = arrayOfByte[(i >>> 18)];
  1758. paramArrayOfByte2[(paramInt3 + 1)] = arrayOfByte[(0x3F & i >>> 12)];
  1759. paramArrayOfByte2[(paramInt3 + 2)] = arrayOfByte[(0x3F & i >>> 6)];
  1760. paramArrayOfByte2[(paramInt3 + 3)] = 61;
  1761. break;
  1762. case 3:
  1763. paramArrayOfByte2[paramInt3] = arrayOfByte[(i >>> 18)];
  1764. paramArrayOfByte2[(paramInt3 + 1)] = arrayOfByte[(0x3F & i >>> 12)];
  1765. paramArrayOfByte2[(paramInt3 + 2)] = arrayOfByte[(0x3F & i >>> 6)];
  1766. paramArrayOfByte2[(paramInt3 + 3)] = arrayOfByte[(i & 0x3F)];
  1767. }
  1768. return paramArrayOfByte2;
  1769. }
  1770.  
  1771. private static byte[] encode3to4(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, int paramInt1, int paramInt2)
  1772. {
  1773. encode3to4(paramArrayOfByte2, 0, paramInt1, paramArrayOfByte1, 0, paramInt2);
  1774. return paramArrayOfByte1;
  1775. }
  1776.  
  1777. public static String encodeBytes(byte[] paramArrayOfByte)
  1778. {
  1779. String str = null;
  1780. try
  1781. {
  1782. str = encodeBytes(paramArrayOfByte, 0, paramArrayOfByte.length, 0);
  1783. str = str;
  1784. if ((!$assertionsDisabled) && (str == null))
  1785. throw new AssertionError();
  1786. }
  1787. catch (IOException localIOException)
  1788. {
  1789. while ($assertionsDisabled);
  1790. throw new AssertionError(localIOException.getMessage());
  1791. }
  1792. return str;
  1793. }
  1794.  
  1795. public static String encodeBytes(byte[] paramArrayOfByte, int paramInt)
  1796. throws IOException
  1797. {
  1798. return encodeBytes(paramArrayOfByte, 0, paramArrayOfByte.length, paramInt);
  1799. }
  1800.  
  1801. public static String encodeBytes(byte[] paramArrayOfByte, int paramInt1, int paramInt2)
  1802. {
  1803. String str = null;
  1804. try
  1805. {
  1806. str = encodeBytes(paramArrayOfByte, paramInt1, paramInt2, 0);
  1807. str = str;
  1808. if ((!$assertionsDisabled) && (str == null))
  1809. throw new AssertionError();
  1810. }
  1811. catch (IOException localIOException)
  1812. {
  1813. while ($assertionsDisabled);
  1814. throw new AssertionError(localIOException.getMessage());
  1815. }
  1816. return str;
  1817. }
  1818.  
  1819. public static String encodeBytes(byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3)
  1820. throws IOException
  1821. {
  1822. Object localObject = encodeBytesToBytes(paramArrayOfByte, paramInt1, paramInt2, paramInt3);
  1823. try
  1824. {
  1825. localObject = new String(localObject, "US-ASCII");
  1826. return localObject;
  1827. }
  1828. catch (UnsupportedEncodingException localUnsupportedEncodingException)
  1829. {
  1830. while (true)
  1831. localObject = new String(localObject);
  1832. }
  1833. }
  1834.  
  1835. public static byte[] encodeBytesToBytes(byte[] paramArrayOfByte)
  1836. {
  1837. Object localObject = (byte[])null;
  1838. try
  1839. {
  1840. byte[] arrayOfByte = encodeBytesToBytes(paramArrayOfByte, 0, paramArrayOfByte.length, 0);
  1841. localObject = arrayOfByte;
  1842. return localObject;
  1843. }
  1844. catch (IOException localIOException)
  1845. {
  1846. while ($assertionsDisabled);
  1847. }
  1848. throw new AssertionError("IOExceptions only come from GZipping, which is turned off: " + localIOException.getMessage());
  1849. }
  1850.  
  1851. // ERROR //
  1852. public static byte[] encodeBytesToBytes(byte[] paramArrayOfByte, int paramInt1, int paramInt2, int paramInt3)
  1853. throws IOException
  1854. {
  1855. // Byte code:
  1856. // 0: aload_0
  1857. // 1: ifnonnull +14 -> 15
  1858. // 4: new 174 java/lang/NullPointerException
  1859. // 7: dup
  1860. // 8: ldc_w 410
  1861. // 11: invokespecial 179 java/lang/NullPointerException:<init> (Ljava/lang/String;)V
  1862. // 14: athrow
  1863. // 15: iload_1
  1864. // 16: ifge +28 -> 44
  1865. // 19: new 247 java/lang/IllegalArgumentException
  1866. // 22: dup
  1867. // 23: new 249 java/lang/StringBuilder
  1868. // 26: dup
  1869. // 27: ldc_w 412
  1870. // 30: invokespecial 252 java/lang/StringBuilder:<init> (Ljava/lang/String;)V
  1871. // 33: iload_1
  1872. // 34: invokevirtual 256 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder;
  1873. // 37: invokevirtual 260 java/lang/StringBuilder:toString ()Ljava/lang/String;
  1874. // 40: invokespecial 261 java/lang/IllegalArgumentException:<init> (Ljava/lang/String;)V
  1875. // 43: athrow
  1876. // 44: iload_2
  1877. // 45: ifge +28 -> 73
  1878. // 48: new 247 java/lang/IllegalArgumentException
  1879. // 51: dup
  1880. // 52: new 249 java/lang/StringBuilder
  1881. // 55: dup
  1882. // 56: ldc_w 414
  1883. // 59: invokespecial 252 java/lang/StringBuilder:<init> (Ljava/lang/String;)V
  1884. // 62: iload_2
  1885. // 63: invokevirtual 256 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder;
  1886. // 66: invokevirtual 260 java/lang/StringBuilder:toString ()Ljava/lang/String;
  1887. // 69: invokespecial 261 java/lang/IllegalArgumentException:<init> (Ljava/lang/String;)V
  1888. // 72: athrow
  1889. // 73: iload_1
  1890. // 74: iload_2
  1891. // 75: iadd
  1892. // 76: aload_0
  1893. // 77: arraylength
  1894. // 78: if_icmple +50 -> 128
  1895. // 81: iconst_3
  1896. // 82: anewarray 4 java/lang/Object
  1897. // 85: astore 4
  1898. // 87: aload 4
  1899. // 89: iconst_0
  1900. // 90: iload_1
  1901. // 91: invokestatic 232 java/lang/Integer:valueOf (I)Ljava/lang/Integer;
  1902. // 94: aastore
  1903. // 95: aload 4
  1904. // 97: iconst_1
  1905. // 98: iload_2
  1906. // 99: invokestatic 232 java/lang/Integer:valueOf (I)Ljava/lang/Integer;
  1907. // 102: aastore
  1908. // 103: aload 4
  1909. // 105: iconst_2
  1910. // 106: aload_0
  1911. // 107: arraylength
  1912. // 108: invokestatic 232 java/lang/Integer:valueOf (I)Ljava/lang/Integer;
  1913. // 111: aastore
  1914. // 112: new 247 java/lang/IllegalArgumentException
  1915. // 115: dup
  1916. // 116: ldc_w 416
  1917. // 119: aload 4
  1918. // 121: invokestatic 238 java/lang/String:format (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
  1919. // 124: invokespecial 261 java/lang/IllegalArgumentException:<init> (Ljava/lang/String;)V
  1920. // 127: athrow
  1921. // 128: iload_3
  1922. // 129: iconst_2
  1923. // 130: iand
  1924. // 131: ifeq +109 -> 240
  1925. // 134: aconst_null
  1926. // 135: astore 5
  1927. // 137: aconst_null
  1928. // 138: astore 7
  1929. // 140: aconst_null
  1930. // 141: astore 6
  1931. // 143: new 191 java/io/ByteArrayOutputStream
  1932. // 146: dup
  1933. // 147: invokespecial 192 java/io/ByteArrayOutputStream:<init> ()V
  1934. // 150: astore 5
  1935. // 152: new 11 com/botnet/offtheplatter/Base64$OutputStream
  1936. // 155: dup
  1937. // 156: aload 5
  1938. // 158: iload_3
  1939. // 159: iconst_1
  1940. // 160: ior
  1941. // 161: invokespecial 329 com/botnet/offtheplatter/Base64$OutputStream:<init> (Ljava/io/OutputStream;I)V
  1942. // 164: astore 6
  1943. // 166: new 418 java/util/zip/GZIPOutputStream
  1944. // 169: dup
  1945. // 170: aload 6
  1946. // 172: invokespecial 419 java/util/zip/GZIPOutputStream:<init> (Ljava/io/OutputStream;)V
  1947. // 175: astore 7
  1948. // 177: aload 7
  1949. // 179: aload_0
  1950. // 180: iload_1
  1951. // 181: iload_2
  1952. // 182: invokevirtual 420 java/util/zip/GZIPOutputStream:write ([BII)V
  1953. // 185: aload 7
  1954. // 187: invokevirtual 421 java/util/zip/GZIPOutputStream:close ()V
  1955. // 190: aload 7
  1956. // 192: invokevirtual 421 java/util/zip/GZIPOutputStream:close ()V
  1957. // 195: aload 6
  1958. // 197: invokevirtual 331 com/botnet/offtheplatter/Base64$OutputStream:close ()V
  1959. // 200: aload 5
  1960. // 202: invokevirtual 213 java/io/ByteArrayOutputStream:close ()V
  1961. // 205: aload 5
  1962. // 207: invokevirtual 210 java/io/ByteArrayOutputStream:toByteArray ()[B
  1963. // 210: astore 4
  1964. // 212: aload 4
  1965. // 214: areturn
  1966. // 215: astore 4
  1967. // 217: aload 4
  1968. // 219: athrow
  1969. // 220: astore 4
  1970. // 222: aload 7
  1971. // 224: invokevirtual 421 java/util/zip/GZIPOutputStream:close ()V
  1972. // 227: aload 6
  1973. // 229: invokevirtual 331 com/botnet/offtheplatter/Base64$OutputStream:close ()V
  1974. // 232: aload 5
  1975. // 234: invokevirtual 213 java/io/ByteArrayOutputStream:close ()V
  1976. // 237: aload 4
  1977. // 239: athrow
  1978. // 240: iload_3
  1979. // 241: bipush 8
  1980. // 243: iand
  1981. // 244: ifeq +129 -> 373
  1982. // 247: iconst_1
  1983. // 248: istore 4
  1984. // 250: iconst_4
  1985. // 251: iload_2
  1986. // 252: iconst_3
  1987. // 253: idiv
  1988. // 254: imul
  1989. // 255: istore 5
  1990. // 257: iload_2
  1991. // 258: iconst_3
  1992. // 259: irem
  1993. // 260: ifle +119 -> 379
  1994. // 263: iconst_4
  1995. // 264: istore 6
  1996. // 266: iload 5
  1997. // 268: iload 6
  1998. // 270: iadd
  1999. // 271: istore 5
  2000. // 273: iload 4
  2001. // 275: ifeq +13 -> 288
  2002. // 278: iload 5
  2003. // 280: iload 5
  2004. // 282: bipush 76
  2005. // 284: idiv
  2006. // 285: iadd
  2007. // 286: istore 5
  2008. // 288: iload 5
  2009. // 290: newarray byte
  2010. // 292: astore 5
  2011. // 294: iconst_0
  2012. // 295: istore 7
  2013. // 297: iconst_0
  2014. // 298: istore 6
  2015. // 300: iload_2
  2016. // 301: iconst_2
  2017. // 302: isub
  2018. // 303: istore 9
  2019. // 305: iconst_0
  2020. // 306: istore 8
  2021. // 308: iload 7
  2022. // 310: iload 9
  2023. // 312: if_icmplt +73 -> 385
  2024. // 315: iload 7
  2025. // 317: iload_2
  2026. // 318: if_icmpge +24 -> 342
  2027. // 321: aload_0
  2028. // 322: iload 7
  2029. // 324: iload_1
  2030. // 325: iadd
  2031. // 326: iload_2
  2032. // 327: iload 7
  2033. // 329: isub
  2034. // 330: aload 5
  2035. // 332: iload 6
  2036. // 334: iload_3
  2037. // 335: invokestatic 152 com/botnet/offtheplatter/Base64:encode3to4 ([BII[BII)[B
  2038. // 338: pop
  2039. // 339: iinc 6 4
  2040. // 342: iload 6
  2041. // 344: bipush 255
  2042. // 346: aload 5
  2043. // 348: arraylength
  2044. // 349: iadd
  2045. // 350: if_icmpgt +89 -> 439
  2046. // 353: iload 6
  2047. // 355: newarray byte
  2048. // 357: astore 4
  2049. // 359: aload 5
  2050. // 361: iconst_0
  2051. // 362: aload 4
  2052. // 364: iconst_0
  2053. // 365: iload 6
  2054. // 367: invokestatic 245 java/lang/System:arraycopy (Ljava/lang/Object;ILjava/lang/Object;II)V
  2055. // 370: goto -158 -> 212
  2056. // 373: iconst_0
  2057. // 374: istore 4
  2058. // 376: goto -126 -> 250
  2059. // 379: iconst_0
  2060. // 380: istore 6
  2061. // 382: goto -116 -> 266
  2062. // 385: aload_0
  2063. // 386: iload 7
  2064. // 388: iload_1
  2065. // 389: iadd
  2066. // 390: iconst_3
  2067. // 391: aload 5
  2068. // 393: iload 6
  2069. // 395: iload_3
  2070. // 396: invokestatic 152 com/botnet/offtheplatter/Base64:encode3to4 ([BII[BII)[B
  2071. // 399: pop
  2072. // 400: iinc 8 4
  2073. // 403: iload 4
  2074. // 405: ifeq +25 -> 430
  2075. // 408: iload 8
  2076. // 410: bipush 76
  2077. // 412: if_icmplt +18 -> 430
  2078. // 415: aload 5
  2079. // 417: iload 6
  2080. // 419: iconst_4
  2081. // 420: iadd
  2082. // 421: bipush 10
  2083. // 423: bastore
  2084. // 424: iinc 6 1
  2085. // 427: iconst_0
  2086. // 428: istore 8
  2087. // 430: iinc 7 3
  2088. // 433: iinc 6 4
  2089. // 436: goto -128 -> 308
  2090. // 439: aload 5
  2091. // 441: astore 4
  2092. // 443: goto -231 -> 212
  2093. // 446: pop
  2094. // 447: goto -220 -> 227
  2095. // 450: pop
  2096. // 451: goto -219 -> 232
  2097. // 454: pop
  2098. // 455: goto -218 -> 237
  2099. // 458: pop
  2100. // 459: goto -264 -> 195
  2101. // 462: pop
  2102. // 463: goto -263 -> 200
  2103. // 466: pop
  2104. // 467: goto -262 -> 205
  2105. // 470: astore 4
  2106. // 472: aload 5
  2107. // 474: astore 5
  2108. // 476: goto -254 -> 222
  2109. // 479: astore 4
  2110. // 481: aload 6
  2111. // 483: astore 6
  2112. // 485: aload 5
  2113. // 487: astore 5
  2114. // 489: goto -267 -> 222
  2115. // 492: astore 4
  2116. // 494: aload 6
  2117. // 496: astore 6
  2118. // 498: aload 7
  2119. // 500: astore 7
  2120. // 502: aload 5
  2121. // 504: astore 5
  2122. // 506: goto -284 -> 222
  2123. // 509: astore 4
  2124. // 511: aload 5
  2125. // 513: astore 5
  2126. // 515: goto -298 -> 217
  2127. // 518: astore 4
  2128. // 520: aload 6
  2129. // 522: astore 6
  2130. // 524: aload 5
  2131. // 526: astore 5
  2132. // 528: goto -311 -> 217
  2133. // 531: astore 4
  2134. // 533: aload 6
  2135. // 535: astore 6
  2136. // 537: aload 7
  2137. // 539: astore 7
  2138. // 541: aload 5
  2139. // 543: astore 5
  2140. // 545: goto -328 -> 217
  2141. //
  2142. // Exception table:
  2143. // from to target type
  2144. // 143 152 215 java/io/IOException
  2145. // 143 152 220 finally
  2146. // 217 220 220 finally
  2147. // 222 227 446 java/lang/Exception
  2148. // 227 232 450 java/lang/Exception
  2149. // 232 237 454 java/lang/Exception
  2150. // 190 195 458 java/lang/Exception
  2151. // 195 200 462 java/lang/Exception
  2152. // 200 205 466 java/lang/Exception
  2153. // 152 166 470 finally
  2154. // 166 177 479 finally
  2155. // 177 190 492 finally
  2156. // 152 166 509 java/io/IOException
  2157. // 166 177 518 java/io/IOException
  2158. // 177 190 531 java/io/IOException
  2159. }
  2160.  
  2161. // ERROR //
  2162. public static void encodeFileToFile(String paramString1, String paramString2)
  2163. throws IOException
  2164. {
  2165. // Byte code:
  2166. // 0: aload_0
  2167. // 1: invokestatic 426 com/botnet/offtheplatter/Base64:encodeFromFile (Ljava/lang/String;)Ljava/lang/String;
  2168. // 4: astore_3
  2169. // 5: aconst_null
  2170. // 6: astore_2
  2171. // 7: new 280 java/io/BufferedOutputStream
  2172. // 10: dup
  2173. // 11: new 282 java/io/FileOutputStream
  2174. // 14: dup
  2175. // 15: aload_1
  2176. // 16: invokespecial 283 java/io/FileOutputStream:<init> (Ljava/lang/String;)V
  2177. // 19: invokespecial 286 java/io/BufferedOutputStream:<init> (Ljava/io/OutputStream;)V
  2178. // 22: astore_2
  2179. // 23: aload_2
  2180. // 24: aload_3
  2181. // 25: ldc 41
  2182. // 27: invokevirtual 184 java/lang/String:getBytes (Ljava/lang/String;)[B
  2183. // 30: invokevirtual 290 java/io/OutputStream:write ([B)V
  2184. // 33: aload_2
  2185. // 34: invokevirtual 291 java/io/OutputStrea
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:1253: not a statement
    ((byte[])null);
    ^
Main.java:1264: '.class' expected
        label203: byte[] arrayOfByte1;
                         ^
Main.java:1264: not a statement
        label203: byte[] arrayOfByte1;
                      ^
Main.java:2166: reached end of file while parsing
  {
   ^
Main.java:2187: reached end of file while parsing
    //   34: invokevirtual 291	java/io/OutputStrea
                              	                   ^
5 errors
stdout
Standard output is empty