import java.io.EOFException; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; 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("df") @Implements("Varcs") public class Varcs { @ObfuscatedName("be") @ObfuscatedSignature( descriptor = "[Loa;" ) @Export("worldSelectBackSprites") static SpritePixels[] worldSelectBackSprites; @ObfuscatedName("da") @ObfuscatedSignature( descriptor = "Ljf;" ) @Export("archive12") static Archive archive12; @ObfuscatedName("v") @Export("intsPersistence") boolean[] intsPersistence; @ObfuscatedName("y") @Export("map") Map map; @ObfuscatedName("j") @Export("strings") String[] strings; @ObfuscatedName("o") @Export("unwrittenChanges") boolean unwrittenChanges; @ObfuscatedName("m") @ObfuscatedGetter( longValue = -4374446863144258723L ) long field1382; Varcs() { this.unwrittenChanges = false; // L: 22 int var1 = SecureRandomFuture.archive2.getGroupFileCount(19); // L: 26 this.map = new HashMap(); // L: 27 this.intsPersistence = new boolean[var1]; // L: 28 int var2; for (var2 = 0; var2 < var1; ++var2) { // L: 29 VarcInt var3 = Interpreter.method2009(var2); // L: 30 this.intsPersistence[var2] = var3.persist; // L: 31 } var2 = 0; // L: 33 if (SecureRandomFuture.archive2.method5031(15)) { // L: 34 var2 = SecureRandomFuture.archive2.getGroupFileCount(15); // L: 35 } this.strings = new String[var2]; // L: 37 this.read(); // L: 38 } // L: 39 @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(IIB)V", garbageValue = "88" ) @Export("setInt") void setInt(int var1, int var2) { this.map.put(var1, var2); // L: 42 if (this.intsPersistence[var1]) { this.unwrittenChanges = true; // L: 43 } } // L: 44 @ObfuscatedName("e") @ObfuscatedSignature( descriptor = "(IB)I", garbageValue = "-43" ) @Export("getInt") int getInt(int var1) { Object var2 = this.map.get(var1); // L: 47 return var2 instanceof Integer ? (Integer)var2 : -1; // L: 48 49 51 } @ObfuscatedName("v") @ObfuscatedSignature( descriptor = "(ILjava/lang/String;B)V", garbageValue = "-105" ) @Export("setString") void setString(int var1, String var2) { this.map.put(var1, var2); // L: 55 } // L: 56 @ObfuscatedName("y") @ObfuscatedSignature( descriptor = "(IB)Ljava/lang/String;", garbageValue = "30" ) @Export("getString") String getString(int var1) { Object var2 = this.map.get(var1); // L: 59 return var2 instanceof String ? (String)var2 : ""; // L: 60 61 63 } @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(ILjava/lang/String;I)V", garbageValue = "1842220205" ) @Export("setStringOld") void setStringOld(int var1, String var2) { this.strings[var1] = var2; // L: 67 } // L: 68 @ObfuscatedName("o") @ObfuscatedSignature( descriptor = "(II)Ljava/lang/String;", garbageValue = "921484764" ) @Export("getStringOld") String getStringOld(int var1) { return this.strings[var1]; // L: 71 } @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(I)V", garbageValue = "1804190455" ) @Export("clearTransient") void clearTransient() { int var1; for (var1 = 0; var1 < this.intsPersistence.length; ++var1) { // L: 75 if (!this.intsPersistence[var1]) { // L: 76 this.map.remove(var1); // L: 77 } } for (var1 = 0; var1 < this.strings.length; ++var1) { // L: 80 this.strings[var1] = null; // L: 81 } } // L: 83 @ObfuscatedName("r") @ObfuscatedSignature( descriptor = "(ZI)Lnp;", garbageValue = "609461646" ) @Export("getPreferencesFile") AccessFile getPreferencesFile(boolean var1) { return class262.getPreferencesFile("2", class182.field2114.name, var1); // L: 86 } @ObfuscatedName("h") @ObfuscatedSignature( descriptor = "(I)V", garbageValue = "-1876168838" ) @Export("write") void write() { AccessFile var1 = this.getPreferencesFile(true); // L: 90 try { int var2 = 3; // L: 92 int var3 = 0; // L: 93 Iterator var4 = this.map.entrySet().iterator(); // L: 94 while (var4.hasNext()) { Entry var5 = (Entry)var4.next(); // L: 95 int var6 = (Integer)var5.getKey(); // L: 97 if (this.intsPersistence[var6]) { // L: 98 Object var7 = var5.getValue(); // L: 99 var2 += 3; // L: 100 if (var7 instanceof Integer) { // L: 101 var2 += 4; } else if (var7 instanceof String) { // L: 102 var2 += class44.stringCp1252NullTerminatedByteSize((String)var7); } ++var3; // L: 103 } } Buffer var23 = new Buffer(var2); // L: 107 var23.writeByte(2); // L: 108 var23.writeShort(var3); // L: 109 Iterator var24 = this.map.entrySet().iterator(); // L: 110 while (var24.hasNext()) { Entry var12 = (Entry)var24.next(); // L: 111 int var13 = (Integer)var12.getKey(); if (this.intsPersistence[var13]) { // L: 114 var23.writeShort(var13); Object var8 = var12.getValue(); class375 var9 = class375.method6511(var8.getClass()); var23.writeByte(var9.field4137); class375.method6512(var8, var23); // L: 119 } } var1.write(var23.array, 0, var23.offset); // L: 123 } catch (Exception var21) { } finally { try { var1.close(); } catch (Exception var20) { } } this.unwrittenChanges = false; this.field1382 = ClientPacket.currentTimeMillis(); } @ObfuscatedName("d") @ObfuscatedSignature( descriptor = "(B)V", garbageValue = "124" ) @Export("read") void read() { AccessFile var1 = this.getPreferencesFile(false); // L: 137 label228: { try { byte[] var2 = new byte[(int)var1.length()]; int var4; for (int var3 = 0; var3 < var2.length; var3 += var4) { var4 = var1.read(var2, var3, var2.length - var3); if (var4 == -1) { throw new EOFException(); } } Buffer var15 = new Buffer(var2); if (var15.array.length - var15.offset >= 1) { int var16 = var15.readUnsignedByte(); if (var16 >= 0 && var16 <= 2) { int var7; int var8; int var9; int var17; if (var16 >= 2) { var17 = var15.readUnsignedShort(); var7 = 0; while (true) { if (var7 >= var17) { break label228; } var8 = var15.readUnsignedShort(); var9 = var15.readUnsignedByte(); class375[] var10 = new class375[]{class375.field4128, class375.field4134, class375.field4127}; class375 var11 = (class375)Clock.findEnumerated(var10, var9); Object var12 = var11.method6510(var15); // L: 160 if (this.intsPersistence[var8]) { // L: 161 this.map.put(var8, var12); // L: 162 } ++var7; } } else { var17 = var15.readUnsignedShort(); for (var7 = 0; var7 < var17; ++var7) { var8 = var15.readUnsignedShort(); var9 = var15.readInt(); if (this.intsPersistence[var8]) { // L: 171 this.map.put(var8, var9); // L: 172 } } var7 = var15.readUnsignedShort(); var8 = 0; while (true) { if (var8 >= var7) { break label228; } var15.readUnsignedShort(); // L: 177 var15.readStringCp1252NullTerminated(); ++var8; // L: 176 } } } return; // L: 187 } } catch (Exception var26) { // L: 182 break label228; } finally { try { var1.close(); } catch (Exception var25) { } } return; } this.unwrittenChanges = false; } // L: 190 @ObfuscatedName("z") @ObfuscatedSignature( descriptor = "(I)V", garbageValue = "1424878016" ) @Export("tryWrite") void tryWrite() { if (this.unwrittenChanges && this.field1382 < ClientPacket.currentTimeMillis() - 60000L) { this.write(); } } // L: 196 @ObfuscatedName("b") @ObfuscatedSignature( descriptor = "(I)Z", garbageValue = "262947682" ) @Export("hasUnwrittenChanges") boolean hasUnwrittenChanges() { return this.unwrittenChanges; } @ObfuscatedName("e") @ObfuscatedSignature( descriptor = "(Lcs;IIB)V", garbageValue = "-123" ) @Export("runScript") static void runScript(ScriptEvent var0, int var1, int var2) { Object[] var3 = var0.args; // L: 113 Script var4; int var20; if (Message.isWorldMapEvent(var0.type)) { // L: 115 Occluder.worldMapEvent = (WorldMapEvent)var3[0]; // L: 116 WorldMapElement var5 = Archive.WorldMapElement_get(Occluder.worldMapEvent.mapElement); // L: 117 var4 = StructComposition.getWorldMapScript(var0.type, var5.objectId, var5.category); // L: 118 } else { var20 = (Integer)var3[0]; // L: 121 var4 = class375.getScript(var20); // L: 122 } if (var4 != null) { // L: 124 ChatChannel.Interpreter_intStackSize = 0; // L: 127 UserComparator9.Interpreter_stringStackSize = 0; // L: 128 var20 = -1; // L: 129 int[] var6 = var4.opcodes; // L: 130 int[] var7 = var4.intOperands; // L: 131 byte var8 = -1; // L: 132 Interpreter.Interpreter_frameDepth = 0; // L: 133 Interpreter.field963 = false; // L: 134 boolean var9 = false; // L: 135 int var10 = 0; // L: 136 boolean var30 = false; label985: { label986: { try { int var13; try { var30 = true; // L: 138 class231.Interpreter_intLocals = new int[var4.localIntCount]; // L: 139 int var11 = 0; // L: 140 UrlRequester.Interpreter_stringLocals = new String[var4.localStringCount]; // L: 141 int var12 = 0; int var14; String var21; for (var13 = 1; var13 < var3.length; ++var13) { // L: 142 if (var3[var13] instanceof Integer) { // L: 143 var14 = (Integer)var3[var13]; // L: 144 if (var14 == -2147483647) { // L: 145 var14 = var0.mouseX; } if (var14 == -2147483646) { // L: 146 var14 = var0.mouseY; } if (var14 == -2147483645) { // L: 147 var14 = var0.widget != null ? var0.widget.id * -464746545 * 363798319 : -1; } if (var14 == -2147483644) { // L: 148 var14 = var0.opIndex; } if (var14 == -2147483643) { // L: 149 var14 = var0.widget != null ? var0.widget.childIndex * 1482836169 * 576999801 : -1; } if (var14 == -2147483642) { // L: 150 var14 = var0.dragTarget != null ? var0.dragTarget.id * -464746545 * 363798319 : -1; } if (var14 == -2147483641) { // L: 151 var14 = var0.dragTarget != null ? var0.dragTarget.childIndex * 1482836169 * 576999801 : -1; } if (var14 == -2147483640) { // L: 152 var14 = var0.keyTyped; } if (var14 == -2147483639) { // L: 153 var14 = var0.keyPressed; } class231.Interpreter_intLocals[var11++] = var14; // L: 154 } else if (var3[var13] instanceof String) { // L: 156 var21 = (String)var3[var13]; // L: 157 if (var21.equals("event_opbase")) { // L: 158 var21 = var0.targetName; } UrlRequester.Interpreter_stringLocals[var12++] = var21; // L: 159 } } Interpreter.field966 = var0.field1154; // L: 163 while (true) { ++var10; // L: 165 if (var10 > var1) { // L: 166 throw new RuntimeException(); } ++var20; // L: 167 int var33 = var6[var20]; if (var33 >= 100) { // L: 168 boolean var35; if (var4.intOperands[var20] == 1) { // L: 386 var35 = true; } else { var35 = false; // L: 387 } var14 = class7.method88(var33, var4, var35); // L: 388 switch(var14) { // L: 389 case 0: var30 = false; break label985; case 1: default: break; case 2: throw new IllegalStateException(); // L: 392 } } else if (var33 == 0) { // L: 169 Interpreter.Interpreter_intStack[++ChatChannel.Interpreter_intStackSize - 1] = var7[var20]; // L: 170 } else if (var33 == ScriptOpcodes.GET_VARP) { // L: 173 var13 = var7[var20]; // L: 174 Interpreter.Interpreter_intStack[++ChatChannel.Interpreter_intStackSize - 1] = Varps.Varps_main[var13]; // L: 175 } else if (var33 == ScriptOpcodes.SET_VARP) { // L: 178 var13 = var7[var20]; // L: 179 Varps.Varps_main[var13] = Interpreter.Interpreter_intStack[--ChatChannel.Interpreter_intStackSize]; // L: 180 class6.changeGameOptions(var13); // L: 181 } else if (var33 == ScriptOpcodes.SCONST) { // L: 184 Interpreter.Interpreter_stringStack[++UserComparator9.Interpreter_stringStackSize - 1] = var4.stringOperands[var20]; // L: 185 } else if (var33 == ScriptOpcodes.JUMP) { // L: 188 var20 += var7[var20]; // L: 189 } else if (var33 == ScriptOpcodes.IF_ICMPNE) { // L: 192 ChatChannel.Interpreter_intStackSize -= 2; // L: 193 if (Interpreter.Interpreter_intStack[ChatChannel.Interpreter_intStackSize] != Interpreter.Interpreter_intStack[ChatChannel.Interpreter_intStackSize + 1]) { // L: 194 var20 += var7[var20]; } } else if (var33 == ScriptOpcodes.IF_ICMPEQ) { // L: 197 ChatChannel.Interpreter_intStackSize -= 2; // L: 198 if (Interpreter.Interpreter_intStack[ChatChannel.Interpreter_intStackSize] == Interpreter.Interpreter_intStack[ChatChannel.Interpreter_intStackSize + 1]) { // L: 199 var20 += var7[var20]; } } else if (var33 == ScriptOpcodes.IF_ICMPLT) { // L: 202 ChatChannel.Interpreter_intStackSize -= 2; // L: 203 if (Interpreter.Interpreter_intStack[ChatChannel.Interpreter_intStackSize] < Interpreter.Interpreter_intStack[ChatChannel.Interpreter_intStackSize + 1]) { // L: 204 var20 += var7[var20]; } } else if (var33 == ScriptOpcodes.IF_ICMPGT) { // L: 207 ChatChannel.Interpreter_intStackSize -= 2; // L: 208 if (Interpreter.Interpreter_intStack[ChatChannel.Interpreter_intStackSize] > Interpreter.Interpreter_intStack[ChatChannel.Interpreter_intStackSize + 1]) { // L: 209 var20 += var7[var20]; } } else if (var33 == ScriptOpcodes.RETURN) { // L: 212 if (Interpreter.Interpreter_frameDepth == 0) { // L: 213 var30 = false; break; } ScriptFrame var40 = Interpreter.Interpreter_frames[--Interpreter.Interpreter_frameDepth]; // L: 214 var4 = var40.script; // L: 215 var6 = var4.opcodes; // L: 216 var7 = var4.intOperands; // L: 217 var20 = var40.pc; // L: 218 class231.Interpreter_intLocals = var40.intLocals; // L: 219 UrlRequester.Interpreter_stringLocals = var40.stringLocals; // L: 220 } else if (var33 == ScriptOpcodes.GET_VARBIT) { // L: 223 var13 = var7[var20]; // L: 224 Interpreter.Interpreter_intStack[++ChatChannel.Interpreter_intStackSize - 1] = ScriptFrame.getVarbit(var13); // L: 225 } else if (var33 == ScriptOpcodes.SET_VARBIT) { // L: 228 var13 = var7[var20]; // L: 229 Archive.method5060(var13, Interpreter.Interpreter_intStack[--ChatChannel.Interpreter_intStackSize]); // L: 230 } else if (var33 == ScriptOpcodes.IF_ICMPLE) { // L: 233 ChatChannel.Interpreter_intStackSize -= 2; // L: 234 if (Interpreter.Interpreter_intStack[ChatChannel.Interpreter_intStackSize] <= Interpreter.Interpreter_intStack[ChatChannel.Interpreter_intStackSize + 1]) { // L: 235 var20 += var7[var20]; } } else if (var33 == ScriptOpcodes.IF_ICMPGE) { // L: 238 ChatChannel.Interpreter_intStackSize -= 2; // L: 239 if (Interpreter.Interpreter_intStack[ChatChannel.Interpreter_intStackSize] >= Interpreter.Interpreter_intStack[ChatChannel.Interpreter_intStackSize + 1]) { // L: 240 var20 += var7[var20]; } } else if (var33 == ScriptOpcodes.ILOAD) { // L: 243 Interpreter.Interpreter_intStack[++ChatChannel.Interpreter_intStackSize - 1] = class231.Interpreter_intLocals[var7[var20]]; // L: 244 } else if (var33 == ScriptOpcodes.ISTORE) { // L: 247 class231.Interpreter_intLocals[var7[var20]] = Interpreter.Interpreter_intStack[--ChatChannel.Interpreter_intStackSize]; // L: 248 } else if (var33 == ScriptOpcodes.SLOAD) { // L: 251 Interpreter.Interpreter_stringStack[++UserComparator9.Interpreter_stringStackSize - 1] = UrlRequester.Interpreter_stringLocals[var7[var20]]; // L: 252 } else if (var33 == ScriptOpcodes.SSTORE) { // L: 255 UrlRequester.Interpreter_stringLocals[var7[var20]] = Interpreter.Interpreter_stringStack[--UserComparator9.Interpreter_stringStackSize]; // L: 256 } else if (var33 == ScriptOpcodes.JOIN_STRING) { // L: 259 var13 = var7[var20]; // L: 260 UserComparator9.Interpreter_stringStackSize -= var13; // L: 261 var21 = MouseRecorder.method2203(Interpreter.Interpreter_stringStack, UserComparator9.Interpreter_stringStackSize, var13); // L: 262 Interpreter.Interpreter_stringStack[++UserComparator9.Interpreter_stringStackSize - 1] = var21; // L: 263 } else if (var33 == ScriptOpcodes.POP_INT) { // L: 266 --ChatChannel.Interpreter_intStackSize; // L: 267 } else if (var33 == ScriptOpcodes.POP_STRING) { // L: 270 --UserComparator9.Interpreter_stringStackSize; // L: 271 } else { int var17; if (var33 != ScriptOpcodes.INVOKE) { // L: 274 if (var33 == ScriptOpcodes.GET_VARC_INT) { // L: 297 Interpreter.Interpreter_intStack[++ChatChannel.Interpreter_intStackSize - 1] = class20.varcs.getInt(var7[var20]); // L: 298 } else if (var33 == ScriptOpcodes.SET_VARC_INT) { // L: 301 class20.varcs.setInt(var7[var20], Interpreter.Interpreter_intStack[--ChatChannel.Interpreter_intStackSize]); // L: 302 } else if (var33 == ScriptOpcodes.DEFINE_ARRAY) { // L: 305 var13 = var7[var20] >> 16; // L: 306 var14 = var7[var20] & 65535; // L: 307 int var24 = Interpreter.Interpreter_intStack[--ChatChannel.Interpreter_intStackSize]; // L: 308 if (var24 < 0 || var24 > 5000) { // L: 309 throw new RuntimeException(); // L: 310 } Interpreter.Interpreter_arrayLengths[var13] = var24; // L: 312 byte var25 = -1; // L: 313 if (var14 == 105) { // L: 314 var25 = 0; } for (var17 = 0; var17 < var24; ++var17) { // L: 315 Interpreter.Interpreter_arrays[var13][var17] = var25; } } else if (var33 == ScriptOpcodes.GET_ARRAY_INT) { // L: 318 var13 = var7[var20]; // L: 319 var14 = Interpreter.Interpreter_intStack[--ChatChannel.Interpreter_intStackSize]; // L: 320 if (var14 < 0 || var14 >= Interpreter.Interpreter_arrayLengths[var13]) { // L: 321 throw new RuntimeException(); // L: 322 } Interpreter.Interpreter_intStack[++ChatChannel.Interpreter_intStackSize - 1] = Interpreter.Interpreter_arrays[var13][var14]; // L: 324 } else if (var33 == ScriptOpcodes.SET_ARRAY_INT) { // L: 327 var13 = var7[var20]; // L: 328 ChatChannel.Interpreter_intStackSize -= 2; // L: 329 var14 = Interpreter.Interpreter_intStack[ChatChannel.Interpreter_intStackSize]; // L: 330 if (var14 < 0 || var14 >= Interpreter.Interpreter_arrayLengths[var13]) { // L: 331 throw new RuntimeException(); // L: 332 } Interpreter.Interpreter_arrays[var13][var14] = Interpreter.Interpreter_intStack[ChatChannel.Interpreter_intStackSize + 1]; // L: 334 } else { String var22; if (var33 == ScriptOpcodes.GET_VARC_STRING_OLD) { // L: 337 var22 = class20.varcs.getStringOld(var7[var20]); // L: 338 if (var22 == null) { // L: 339 var22 = "null"; } Interpreter.Interpreter_stringStack[++UserComparator9.Interpreter_stringStackSize - 1] = var22; // L: 340 } else if (var33 == ScriptOpcodes.SET_VARC_STRING_OLD) { // L: 343 class20.varcs.setStringOld(var7[var20], Interpreter.Interpreter_stringStack[--UserComparator9.Interpreter_stringStackSize]); // L: 344 } else if (var33 == ScriptOpcodes.GET_VARC_STRING) { // L: 347 var22 = class20.varcs.getString(var7[var20]); // L: 348 Interpreter.Interpreter_stringStack[++UserComparator9.Interpreter_stringStackSize - 1] = var22; // L: 349 } else if (var33 == ScriptOpcodes.SET_VARC_STRING) { // L: 352 class20.varcs.setString(var7[var20], Interpreter.Interpreter_stringStack[--UserComparator9.Interpreter_stringStackSize]); // L: 353 } else if (var33 == ScriptOpcodes.SWITCH) { // L: 356 IterableNodeHashTable var38 = var4.switches[var7[var20]]; // L: 357 IntegerNode var37 = (IntegerNode)var38.get((long)Interpreter.Interpreter_intStack[--ChatChannel.Interpreter_intStackSize]); // L: 358 if (var37 != null) { // L: 359 var20 += var37.integer; } } else { Integer var39; if (var33 == ScriptOpcodes.GET_VARCLANSETTING) { // L: 362 var39 = DirectByteArrayCopier.field3128.getTitleGroupValue(var7[var20]); // L: 363 if (var39 == null) { // L: 364 Interpreter.Interpreter_intStack[++ChatChannel.Interpreter_intStackSize - 1] = -1; // L: 365 } else { Interpreter.Interpreter_intStack[++ChatChannel.Interpreter_intStackSize - 1] = var39; // L: 368 } } else { if (var33 != ScriptOpcodes.GET_VARCLAN) { // L: 372 throw new IllegalStateException(); // L: 382 } var39 = class10.field74.method6047(var7[var20]); // L: 373 if (var39 == null) { // L: 374 Interpreter.Interpreter_intStack[++ChatChannel.Interpreter_intStackSize - 1] = -1; // L: 375 } else { Interpreter.Interpreter_intStack[++ChatChannel.Interpreter_intStackSize - 1] = var39; // L: 378 } } } } } else { var13 = var7[var20]; // L: 275 Script var36 = class375.getScript(var13); // L: 276 int[] var15 = new int[var36.localIntCount]; // L: 277 String[] var16 = new String[var36.localStringCount]; // L: 278 for (var17 = 0; var17 < var36.intArgumentCount; ++var17) { // L: 279 var15[var17] = Interpreter.Interpreter_intStack[var17 + (ChatChannel.Interpreter_intStackSize - var36.intArgumentCount)]; } for (var17 = 0; var17 < var36.stringArgumentCount; ++var17) { // L: 280 var16[var17] = Interpreter.Interpreter_stringStack[var17 + (UserComparator9.Interpreter_stringStackSize - var36.stringArgumentCount)]; } ChatChannel.Interpreter_intStackSize -= var36.intArgumentCount; // L: 281 UserComparator9.Interpreter_stringStackSize -= var36.stringArgumentCount; // L: 282 ScriptFrame var23 = new ScriptFrame(); // L: 283 var23.script = var4; // L: 284 var23.pc = var20; // L: 285 var23.intLocals = class231.Interpreter_intLocals; // L: 286 var23.stringLocals = UrlRequester.Interpreter_stringLocals; // L: 287 Interpreter.Interpreter_frames[++Interpreter.Interpreter_frameDepth - 1] = var23; // L: 288 var4 = var36; // L: 289 var6 = var36.opcodes; // L: 290 var7 = var36.intOperands; // L: 291 var20 = -1; // L: 292 class231.Interpreter_intLocals = var15; // L: 293 UrlRequester.Interpreter_stringLocals = var16; // L: 294 } } } } catch (Exception var31) { // L: 402 var9 = true; // L: 403 StringBuilder var27 = new StringBuilder(30); // L: 405 var27.append("").append(var4.key).append(" "); // L: 406 for (var13 = Interpreter.Interpreter_frameDepth - 1; var13 >= 0; --var13) { // L: 407 var27.append("").append(Interpreter.Interpreter_frames[var13].script.key).append(" "); } var27.append("").append(var8); // L: 408 FriendsChat.RunException_sendStackTrace(var27.toString(), var31); // L: 409 var30 = false; break label986; } } finally { if (var30) { if (Interpreter.field963) { // L: 413 Interpreter.field951 = true; // L: 414 } while (Interpreter.field965.size() > 0) { // L: 416 class106 var19 = (class106)Interpreter.field965.remove(0); // L: 417 MouseHandler.widgetDefaultMenuAction(var19.method2375(), var19.method2360(), var19.method2367(), var19.method2363(), ""); } if (Interpreter.field951) { // L: 420 class20.method288(); // L: 421 Interpreter.field951 = false; // L: 422 Interpreter.field963 = false; // L: 423 } if (!var9 && var2 > 0 && var10 >= var2) { FriendsChat.RunException_sendStackTrace("Warning: Script " + var4.field1069 + " finished at op count " + var10 + " of max " + var1, (Throwable)null); } } } if (Interpreter.field963) { Interpreter.field951 = true; } while (Interpreter.field965.size() > 0) { class106 var41 = (class106)Interpreter.field965.remove(0); MouseHandler.widgetDefaultMenuAction(var41.method2375(), var41.method2360(), var41.method2367(), var41.method2363(), ""); } if (Interpreter.field951) { class20.method288(); Interpreter.field951 = false; Interpreter.field963 = false; } if (!var9 && var2 > 0 && var10 >= var2) { FriendsChat.RunException_sendStackTrace("Warning: Script " + var4.field1069 + " finished at op count " + var10 + " of max " + var1, (Throwable)null); } return; } if (Interpreter.field963) { Interpreter.field951 = true; } while (Interpreter.field965.size() > 0) { class106 var26 = (class106)Interpreter.field965.remove(0); MouseHandler.widgetDefaultMenuAction(var26.method2375(), var26.method2360(), var26.method2367(), var26.method2363(), ""); } if (Interpreter.field951) { class20.method288(); Interpreter.field951 = false; Interpreter.field963 = false; } if (!var9 && var2 > 0 && var10 >= var2) { FriendsChat.RunException_sendStackTrace("Warning: Script " + var4.field1069 + " finished at op count " + var10 + " of max " + var1, (Throwable)null); } return; // L: 429 } if (Interpreter.field963) { Interpreter.field951 = true; } while (Interpreter.field965.size() > 0) { class106 var34 = (class106)Interpreter.field965.remove(0); MouseHandler.widgetDefaultMenuAction(var34.method2375(), var34.method2360(), var34.method2367(), var34.method2363(), ""); // L: 418 } if (Interpreter.field951) { class20.method288(); Interpreter.field951 = false; Interpreter.field963 = false; } if (!var9 && var2 > 0 && var10 >= var2) { // L: 425 FriendsChat.RunException_sendStackTrace("Warning: Script " + var4.field1069 + " finished at op count " + var10 + " of max " + var1, (Throwable)null); // L: 426 } } } // L: 125 }