import java.io.File; import java.io.InputStream; import java.io.OutputStreamWriter; import java.net.URL; import java.net.URLConnection; import java.util.concurrent.Callable; import java.util.concurrent.ScheduledExecutorService; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import net.runelite.rs.ScriptOpcodes; @ObfuscatedName("bl") @Implements("SecureRandomCallable") public class SecureRandomCallable implements Callable { @ObfuscatedName("rw") @ObfuscatedGetter( intValue = 693781825 ) static int field510; @ObfuscatedName("q") @Export("JagexCache_locationFile") static File JagexCache_locationFile; @ObfuscatedName("l") @Export("SpriteBuffer_spriteWidths") public static int[] SpriteBuffer_spriteWidths; @ObfuscatedName("o") @Export("soundSystemExecutor") static ScheduledExecutorService soundSystemExecutor; SecureRandomCallable() { } public Object call() { return Language.method3800(); } @ObfuscatedName("a") @ObfuscatedSignature( signature = "(I)[Lga;", garbageValue = "-1086153483" ) @Export("ServerPacket_values") public static ServerPacket[] ServerPacket_values() { return new ServerPacket[]{ServerPacket.field2146, ServerPacket.field2172, ServerPacket.field2093, ServerPacket.field2113, ServerPacket.field2095, ServerPacket.field2096, ServerPacket.field2156, ServerPacket.field2173, ServerPacket.field2091, ServerPacket.field2174, ServerPacket.field2101, ServerPacket.field2126, ServerPacket.field2103, ServerPacket.field2104, ServerPacket.field2105, ServerPacket.field2147, ServerPacket.field2107, ServerPacket.field2102, ServerPacket.field2099, ServerPacket.field2110, ServerPacket.field2111, ServerPacket.field2112, ServerPacket.field2123, ServerPacket.field2114, ServerPacket.field2115, ServerPacket.field2116, ServerPacket.field2117, ServerPacket.field2106, ServerPacket.field2119, ServerPacket.field2120, ServerPacket.field2108, ServerPacket.field2122, ServerPacket.field2092, ServerPacket.field2124, ServerPacket.field2125, ServerPacket.field2097, ServerPacket.field2137, ServerPacket.field2128, ServerPacket.field2129, ServerPacket.field2130, ServerPacket.field2131, ServerPacket.field2135, ServerPacket.field2142, ServerPacket.field2134, ServerPacket.field2118, ServerPacket.field2136, ServerPacket.field2167, ServerPacket.field2094, ServerPacket.field2158, ServerPacket.field2140, ServerPacket.field2141, ServerPacket.field2166, ServerPacket.field2143, ServerPacket.field2144, ServerPacket.field2145, ServerPacket.field2154, ServerPacket.field2098, ServerPacket.field2148, ServerPacket.field2149, ServerPacket.field2109, ServerPacket.field2155, ServerPacket.field2152, ServerPacket.field2153, ServerPacket.field2133, ServerPacket.field2162, ServerPacket.field2150, ServerPacket.field2157, ServerPacket.field2139, ServerPacket.field2159, ServerPacket.field2160, ServerPacket.field2161, ServerPacket.field2127, ServerPacket.field2163, ServerPacket.field2164, ServerPacket.field2165, ServerPacket.field2121, ServerPacket.field2151, ServerPacket.field2168, ServerPacket.field2169, ServerPacket.field2170, ServerPacket.field2171, ServerPacket.field2138, ServerPacket.field2100, ServerPacket.field2132, ServerPacket.field2175, ServerPacket.field2176}; } @ObfuscatedName("a") @ObfuscatedSignature( signature = "(I)J", garbageValue = "-1989467818" ) static long method1225() { try { URL var0 = new URL(WorldMapElement.method4547("services", false) + "m=accountappeal/login.ws"); URLConnection var1 = var0.openConnection(); var1.setRequestProperty("connection", "close"); var1.setDoInput(true); var1.setDoOutput(true); var1.setConnectTimeout(5000); OutputStreamWriter var2 = new OutputStreamWriter(var1.getOutputStream()); var2.write("data1=req"); var2.flush(); InputStream var3 = var1.getInputStream(); Buffer var4 = new Buffer(new byte[1000]); do { int var5 = var3.read(var4.array, var4.offset, 1000 - var4.offset); if (var5 == -1) { var4.offset = 0; long var7 = var4.readLong(); return var7; } var4.offset += var5; } while(var4.offset < 1000); return 0L; } catch (Exception var9) { return 0L; } } @ObfuscatedName("t") @ObfuscatedSignature( signature = "(II)Lit;", garbageValue = "-1052410200" ) @Export("getNpcDefinition") public static NPCDefinition getNpcDefinition(int var0) { NPCDefinition var1 = (NPCDefinition)NPCDefinition.NpcDefinition_cached.get((long)var0); if (var1 != null) { return var1; } else { byte[] var2 = NPCDefinition.NpcDefinition_archive.takeFile(9, var0); var1 = new NPCDefinition(); var1.id = var0; if (var2 != null) { var1.decode(new Buffer(var2)); } var1.postDecode(); NPCDefinition.NpcDefinition_cached.put(var1, (long)var0); return var1; } } @ObfuscatedName("t") @ObfuscatedSignature( signature = "(Lkc;Ljava/lang/String;B)I", garbageValue = "15" ) public static int method1229(Buffer var0, String var1) { int var2 = var0.offset; int var4 = var1.length(); byte[] var5 = new byte[var4]; for (int var6 = 0; var6 < var4; ++var6) { char var7 = var1.charAt(var6); if (var7 > 0 && var7 < 128 || var7 >= 160 && var7 <= 255) { var5[var6] = (byte)var7; } else if (var7 == 8364) { var5[var6] = -128; } else if (var7 == 8218) { var5[var6] = -126; } else if (var7 == 402) { var5[var6] = -125; } else if (var7 == 8222) { var5[var6] = -124; } else if (var7 == 8230) { var5[var6] = -123; } else if (var7 == 8224) { var5[var6] = -122; } else if (var7 == 8225) { var5[var6] = -121; } else if (var7 == 710) { var5[var6] = -120; } else if (var7 == 8240) { var5[var6] = -119; } else if (var7 == 352) { var5[var6] = -118; } else if (var7 == 8249) { var5[var6] = -117; } else if (var7 == 338) { var5[var6] = -116; } else if (var7 == 381) { var5[var6] = -114; } else if (var7 == 8216) { var5[var6] = -111; } else if (var7 == 8217) { var5[var6] = -110; } else if (var7 == 8220) { var5[var6] = -109; } else if (var7 == 8221) { var5[var6] = -108; } else if (var7 == 8226) { var5[var6] = -107; } else if (var7 == 8211) { var5[var6] = -106; } else if (var7 == 8212) { var5[var6] = -105; } else if (var7 == 732) { var5[var6] = -104; } else if (var7 == 8482) { var5[var6] = -103; } else if (var7 == 353) { var5[var6] = -102; } else if (var7 == 8250) { var5[var6] = -101; } else if (var7 == 339) { var5[var6] = -100; } else if (var7 == 382) { var5[var6] = -98; } else if (var7 == 376) { var5[var6] = -97; } else { var5[var6] = 63; } } var0.writeSmartByteShort(var5.length); var0.offset += class210.huffman.compress(var5, 0, var5.length, var0.array, var0.offset); return var0.offset - var2; } @ObfuscatedName("ab") @ObfuscatedSignature( signature = "(ILcj;ZB)I", garbageValue = "90" ) static int method1226(int var0, Script var1, boolean var2) { int var3; int var4; if (var0 == ScriptOpcodes.ADD) { Interpreter.Interpreter_intStackSize -= 2; var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4 + var3; return 1; } else if (var0 == ScriptOpcodes.SUB) { Interpreter.Interpreter_intStackSize -= 2; var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 - var4; return 1; } else if (var0 == ScriptOpcodes.MULTIPLY) { Interpreter.Interpreter_intStackSize -= 2; var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 * var4; return 1; } else if (var0 == ScriptOpcodes.DIV) { Interpreter.Interpreter_intStackSize -= 2; var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 / var4; return 1; } else if (var0 == ScriptOpcodes.RANDOM) { var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)var3); return 1; } else if (var0 == ScriptOpcodes.RANDOMINC) { var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)(var3 + 1)); return 1; } else if (var0 == ScriptOpcodes.INTERPOLATE) { Interpreter.Interpreter_intStackSize -= 5; var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; int var5 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; int var6 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3]; int var7 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 4]; Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 + (var7 - var5) * (var4 - var3) / (var6 - var5); return 1; } else if (var0 == ScriptOpcodes.ADDPERCENT) { Interpreter.Interpreter_intStackSize -= 2; var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 + var4 * var3 / 100; return 1; } else if (var0 == ScriptOpcodes.SETBIT) { Interpreter.Interpreter_intStackSize -= 2; var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 | 1 << var4; return 1; } else if (var0 == ScriptOpcodes.CLEARBIT) { Interpreter.Interpreter_intStackSize -= 2; var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 & -1 - (1 << var4); return 1; } else if (var0 == ScriptOpcodes.TESTBIT) { Interpreter.Interpreter_intStackSize -= 2; var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (var3 & 1 << var4) != 0 ? 1 : 0; return 1; } else if (var0 == ScriptOpcodes.MOD) { Interpreter.Interpreter_intStackSize -= 2; var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 % var4; return 1; } else if (var0 == ScriptOpcodes.POW) { Interpreter.Interpreter_intStackSize -= 2; var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; if (var3 == 0) { Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; } else { Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)Math.pow((double)var3, (double)var4); } return 1; } else if (var0 == ScriptOpcodes.INVPOW) { Interpreter.Interpreter_intStackSize -= 2; var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; if (var3 == 0) { Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; return 1; } else { switch(var4) { case 0: Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Integer.MAX_VALUE; break; case 1: Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3; break; case 2: Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)Math.sqrt((double)var3); break; case 3: Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)Math.cbrt((double)var3); break; case 4: Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)Math.sqrt(Math.sqrt((double)var3)); break; default: Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)Math.pow((double)var3, 1.0D / (double)var4); } return 1; } } else if (var0 == ScriptOpcodes.AND) { Interpreter.Interpreter_intStackSize -= 2; var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 & var4; return 1; } else if (var0 == ScriptOpcodes.OR) { Interpreter.Interpreter_intStackSize -= 2; var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 | var4; return 1; } else if (var0 == ScriptOpcodes.SCALE) { Interpreter.Interpreter_intStackSize -= 3; long var9 = (long)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; long var11 = (long)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; long var13 = (long)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)(var13 * var9 / var11); return 1; } else { return 2; } } @ObfuscatedName("je") @ObfuscatedSignature( signature = "(Lhi;S)Z", garbageValue = "9365" ) @Export("runCs1") static final boolean runCs1(Widget var0) { if (var0.cs1Comparisons == null) { return false; } else { for (int var1 = 0; var1 < var0.cs1Comparisons.length; ++var1) { int var2 = class4.method73(var0, var1); int var3 = var0.cs1ComparisonValues[var1]; if (var0.cs1Comparisons[var1] == 2) { if (var2 >= var3) { return false; } } else if (var0.cs1Comparisons[var1] == 3) { if (var2 <= var3) { return false; } } else if (var0.cs1Comparisons[var1] == 4) { if (var3 == var2) { return false; } } else if (var2 != var3) { return false; } } return true; } } }