import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; import java.net.URL; import java.net.URLConnection; import java.util.Random; 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; @ObfuscatedName("w") @Implements("DevicePcmPlayerProvider") public class DevicePcmPlayerProvider implements class45 { @ObfuscatedName("bo") @ObfuscatedSignature( descriptor = "[Loc;" ) @Export("worldSelectBackSprites") static SpritePixels[] worldSelectBackSprites; @ObfuscatedName("in") @ObfuscatedGetter( intValue = -1460804085 ) @Export("cameraZ") static int cameraZ; DevicePcmPlayerProvider() { } @ObfuscatedName("n") @ObfuscatedSignature( descriptor = "(I)Lab;", garbageValue = "286200074" ) @Export("player") public PcmPlayer player() { return new DevicePcmPlayer(); } @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(IIS)Lbc;", garbageValue = "32017" ) @Export("Messages_getByChannelAndID") static Message Messages_getByChannelAndID(int var0, int var1) { ChatChannel var2 = (ChatChannel)Messages.Messages_channels.get(var0); return var2.getMessage(var1); } @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "(I)V", garbageValue = "-127022477" ) @Export("savePreferences") static void savePreferences() { AccessFile var0 = null; try { var0 = class4.getPreferencesFile("", class16.field83.name, true); Buffer var1 = VarbitComposition.clientPreferences.toBuffer(); var0.write(var1.array, 0, var1.offset); } catch (Exception var3) { } try { if (var0 != null) { var0.closeSync(true); } } catch (Exception var2) { } } @ObfuscatedName("o") @ObfuscatedSignature( descriptor = "(Lat;Llu;I)V", garbageValue = "139853738" ) static void method366(GameEngine var0, Font var1) { int var3; int var4; int var5; if (Login.worldSelectOpen) { while (true) { if (!KitDefinition.isKeyDown()) { if (MouseHandler.MouseHandler_lastButton != 1 && (Script.mouseCam || MouseHandler.MouseHandler_lastButton != 4)) { break; } int var2 = Login.xPadding + 280; if (MouseHandler.MouseHandler_lastPressedX >= var2 && MouseHandler.MouseHandler_lastPressedX <= var2 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { StructComposition.changeWorldSelectSorting(0, 0); break; } if (MouseHandler.MouseHandler_lastPressedX >= var2 + 15 && MouseHandler.MouseHandler_lastPressedX <= var2 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { StructComposition.changeWorldSelectSorting(0, 1); break; } var3 = Login.xPadding + 390; if (MouseHandler.MouseHandler_lastPressedX >= var3 && MouseHandler.MouseHandler_lastPressedX <= var3 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { StructComposition.changeWorldSelectSorting(1, 0); break; } if (MouseHandler.MouseHandler_lastPressedX >= var3 + 15 && MouseHandler.MouseHandler_lastPressedX <= var3 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { StructComposition.changeWorldSelectSorting(1, 1); break; } var4 = Login.xPadding + 500; if (MouseHandler.MouseHandler_lastPressedX >= var4 && MouseHandler.MouseHandler_lastPressedX <= var4 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { StructComposition.changeWorldSelectSorting(2, 0); break; } if (MouseHandler.MouseHandler_lastPressedX >= var4 + 15 && MouseHandler.MouseHandler_lastPressedX <= var4 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { StructComposition.changeWorldSelectSorting(2, 1); break; } var5 = Login.xPadding + 610; if (MouseHandler.MouseHandler_lastPressedX >= var5 && MouseHandler.MouseHandler_lastPressedX <= var5 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { StructComposition.changeWorldSelectSorting(3, 0); break; } if (MouseHandler.MouseHandler_lastPressedX >= var5 + 15 && MouseHandler.MouseHandler_lastPressedX <= var5 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { StructComposition.changeWorldSelectSorting(3, 1); break; } if (MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 708 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedX <= Login.xPadding + 708 + 50 && MouseHandler.MouseHandler_lastPressedY <= 20) { Login.worldSelectOpen = false; class318.leftTitleSprite.drawAt(Login.xPadding, 0); Login.rightTitleSprite.drawAt(Login.xPadding + 382, 0); class394.logoSprite.drawAt(Login.xPadding + 382 - class394.logoSprite.subWidth / 2, 18); break; } if (Login.hoveredWorldIndex != -1) { World var6 = class393.World_worlds[Login.hoveredWorldIndex]; ScriptFrame.changeWorld(var6); Login.worldSelectOpen = false; class318.leftTitleSprite.drawAt(Login.xPadding, 0); Login.rightTitleSprite.drawAt(Login.xPadding + 382, 0); class394.logoSprite.drawAt(Login.xPadding + 382 - class394.logoSprite.subWidth / 2, 18); } else { if (Login.worldSelectPage > 0 && class184.worldSelectLeftSprite != null && MouseHandler.MouseHandler_lastPressedX >= 0 && MouseHandler.MouseHandler_lastPressedX <= class184.worldSelectLeftSprite.subWidth && MouseHandler.MouseHandler_lastPressedY >= GameEngine.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= GameEngine.canvasHeight / 2 + 50) { --Login.worldSelectPage; } if (Login.worldSelectPage < Login.worldSelectPagesCount && FriendsChat.worldSelectRightSprite != null && MouseHandler.MouseHandler_lastPressedX >= InvDefinition.canvasWidth - FriendsChat.worldSelectRightSprite.subWidth - 5 && MouseHandler.MouseHandler_lastPressedX <= InvDefinition.canvasWidth && MouseHandler.MouseHandler_lastPressedY >= GameEngine.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= GameEngine.canvasHeight / 2 + 50) { ++Login.worldSelectPage; } } break; } if (SpriteMask.field2994 == 13) { Login.worldSelectOpen = false; class318.leftTitleSprite.drawAt(Login.xPadding, 0); Login.rightTitleSprite.drawAt(Login.xPadding + 382, 0); class394.logoSprite.drawAt(Login.xPadding + 382 - class394.logoSprite.subWidth / 2, 18); break; } if (SpriteMask.field2994 == 96) { if (Login.worldSelectPage > 0 && class184.worldSelectLeftSprite != null) { --Login.worldSelectPage; } } else if (SpriteMask.field2994 == 97 && Login.worldSelectPage < Login.worldSelectPagesCount && FriendsChat.worldSelectRightSprite != null) { ++Login.worldSelectPage; } } } else { if ((MouseHandler.MouseHandler_lastButton == 1 || !Script.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 765 - 50 && MouseHandler.MouseHandler_lastPressedY >= 453) { VarbitComposition.clientPreferences.titleMusicDisabled = !VarbitComposition.clientPreferences.titleMusicDisabled; savePreferences(); if (!VarbitComposition.clientPreferences.titleMusicDisabled) { Archive var30 = class276.archive6; var3 = var30.getGroupId("scape main"); var4 = var30.getFileId(var3, ""); Decimator.method1051(var30, var3, var4, 255, false); } else { Canvas.method371(); } } if (Client.gameState != 5) { if (-1L == Login.field902) { Login.field902 = Occluder.method4335() + 1000L; } long var31 = Occluder.method4335(); boolean var54; if (Client.archiveLoaders != null && Client.archiveLoadersDone < Client.archiveLoaders.size()) { while (true) { if (Client.archiveLoadersDone >= Client.archiveLoaders.size()) { var54 = true; break; } ArchiveLoader var33 = (ArchiveLoader)Client.archiveLoaders.get(Client.archiveLoadersDone); if (!var33.isLoaded()) { var54 = false; break; } ++Client.archiveLoadersDone; } } else { var54 = true; } if (var54 && Login.field875 == -1L) { Login.field875 = var31; if (Login.field875 > Login.field902) { Login.field902 = Login.field875; } } if (Client.gameState == 10 || Client.gameState == 11) { if (Language.Language_EN == class323.clientLanguage) { if (MouseHandler.MouseHandler_lastButton == 1 || !Script.mouseCam && MouseHandler.MouseHandler_lastButton == 4) { var5 = Login.xPadding + 5; short var34 = 463; byte var7 = 100; byte var8 = 35; if (MouseHandler.MouseHandler_lastPressedX >= var5 && MouseHandler.MouseHandler_lastPressedX <= var7 + var5 && MouseHandler.MouseHandler_lastPressedY >= var34 && MouseHandler.MouseHandler_lastPressedY <= var34 + var8) { if (ObjectComposition.loadWorlds()) { Login.worldSelectOpen = true; Login.worldSelectPage = 0; Login.worldSelectPagesCount = 0; } return; } } if (WorldMapArchiveLoader.World_request != null && ObjectComposition.loadWorlds()) { Login.worldSelectOpen = true; Login.worldSelectPage = 0; Login.worldSelectPagesCount = 0; } } var5 = MouseHandler.MouseHandler_lastButton; int var67 = MouseHandler.MouseHandler_lastPressedX; int var55 = MouseHandler.MouseHandler_lastPressedY; if (var5 == 0) { var67 = MouseHandler.MouseHandler_x; var55 = MouseHandler.MouseHandler_y; } if (!Script.mouseCam && var5 == 4) { var5 = 1; } short var58; int var61; if (Login.loginIndex == 0) { boolean var64 = false; while (KitDefinition.isKeyDown()) { if (SpriteMask.field2994 == 84) { var64 = true; } } var61 = class11.loginBoxCenter - 80; var58 = 291; if (var5 == 1 && var67 >= var61 - 75 && var67 <= var61 + 75 && var55 >= var58 - 20 && var55 <= var58 + 20) { Interpreter.openURL(WorldMapManager.method3679("secure", true) + "m=account-creation/g=oldscape/create_account_funnel.ws", true, false); } var61 = class11.loginBoxCenter + 80; if (var5 == 1 && var67 >= var61 - 75 && var67 <= var61 + 75 && var55 >= var58 - 20 && var55 <= var58 + 20 || var64) { if ((Client.worldProperties & 33554432) != 0) { Login.Login_response0 = ""; Login.Login_response1 = "This is a Beta world."; Login.Login_response2 = "Your normal account will not be affected."; Login.Login_response3 = ""; Message.method1113(1); if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { Login.currentLoginField = 1; } else { Login.currentLoginField = 0; } } else if ((Client.worldProperties & 4) != 0) { if ((Client.worldProperties & 1024) != 0) { Login.Login_response1 = "This is a High Risk PvP world."; Login.Login_response2 = "Players can attack each other almost everywhere"; Login.Login_response3 = "and the Protect Item prayer won't work."; } else { Login.Login_response1 = "This is a PvP world."; Login.Login_response2 = "Players can attack each other"; Login.Login_response3 = "almost everywhere."; } Login.Login_response0 = "Warning!"; Message.method1113(1); if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { Login.currentLoginField = 1; } else { Login.currentLoginField = 0; } } else if ((Client.worldProperties & 1024) != 0) { Login.Login_response1 = "This is a High Risk world."; Login.Login_response2 = "The Protect Item prayer will"; Login.Login_response3 = "not work on this world."; Login.Login_response0 = "Warning!"; Message.method1113(1); if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { Login.currentLoginField = 1; } else { Login.currentLoginField = 0; } } else { SecureRandomFuture.Login_promptCredentials(false); } } } else { short var9; int var56; if (Login.loginIndex == 1) { while (true) { if (!KitDefinition.isKeyDown()) { var56 = class11.loginBoxCenter - 80; var9 = 321; if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { SecureRandomFuture.Login_promptCredentials(false); } var56 = class11.loginBoxCenter + 80; if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { Message.method1113(0); } break; } if (SpriteMask.field2994 == 84) { SecureRandomFuture.Login_promptCredentials(false); } else if (SpriteMask.field2994 == 13) { Message.method1113(0); } } } else { short var57; if (Login.loginIndex == 2) { var57 = 201; var56 = var57 + 52; if (var5 == 1 && var55 >= var56 - 12 && var55 < var56 + 2) { Login.currentLoginField = 0; } var56 += 15; if (var5 == 1 && var55 >= var56 - 12 && var55 < var56 + 2) { Login.currentLoginField = 1; } var56 += 15; var57 = 361; if (WorldMapSectionType.field2125 != null) { var61 = WorldMapSectionType.field2125.highX / 2; if (var5 == 1 && var67 >= WorldMapSectionType.field2125.lowX - var61 && var67 <= var61 + WorldMapSectionType.field2125.lowX && var55 >= var57 - 15 && var55 < var57) { switch(Login.field883) { case 1: PlatformInfo.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); Message.method1113(5); return; case 2: Interpreter.openURL("https://support.runescape.com/hc/en-gb", true, false); } } } var61 = class11.loginBoxCenter - 80; var58 = 321; if (var5 == 1 && var67 >= var61 - 75 && var67 <= var61 + 75 && var55 >= var58 - 20 && var55 <= var58 + 20) { Login.Login_username = Login.Login_username.trim(); if (Login.Login_username.length() == 0) { PlatformInfo.setLoginResponseString("", "Please enter your username/email address.", ""); return; } if (Login.Login_password.length() == 0) { PlatformInfo.setLoginResponseString("", "Please enter your password.", ""); return; } PlatformInfo.setLoginResponseString("", "Connecting to server...", ""); Varcs.method2303(false); HealthBarUpdate.updateGameState(20); return; } var61 = Login.loginBoxX + 180 + 80; if (var5 == 1 && var67 >= var61 - 75 && var67 <= var61 + 75 && var55 >= var58 - 20 && var55 <= var58 + 20) { Message.method1113(0); Login.Login_username = ""; Login.Login_password = ""; class274.field3274 = 0; AbstractWorldMapIcon.otp = ""; Login.field893 = true; } var61 = class11.loginBoxCenter + -117; var58 = 277; Login.field891 = var67 >= var61 && var67 < var61 + class1.field3 && var55 >= var58 && var55 < var58 + class280.field3323; if (var5 == 1 && Login.field891) { Client.Login_isUsernameRemembered = !Client.Login_isUsernameRemembered; if (!Client.Login_isUsernameRemembered && VarbitComposition.clientPreferences.rememberedUsername != null) { VarbitComposition.clientPreferences.rememberedUsername = null; savePreferences(); } } var61 = class11.loginBoxCenter + 24; var58 = 277; Login.field904 = var67 >= var61 && var67 < var61 + class1.field3 && var55 >= var58 && var55 < var58 + class280.field3323; if (var5 == 1 && Login.field904) { VarbitComposition.clientPreferences.hideUsername = !VarbitComposition.clientPreferences.hideUsername; if (!VarbitComposition.clientPreferences.hideUsername) { Login.Login_username = ""; VarbitComposition.clientPreferences.rememberedUsername = null; if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { Login.currentLoginField = 1; } else { Login.currentLoginField = 0; } } savePreferences(); } while (true) { int var13; Transferable var62; do { while (true) { label1433: do { while (true) { while (KitDefinition.isKeyDown()) { if (SpriteMask.field2994 != 13) { if (Login.currentLoginField != 0) { continue label1433; } HitSplatDefinition.method3108(class78.field1010); if (SpriteMask.field2994 == 85 && Login.Login_username.length() > 0) { Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); } if (SpriteMask.field2994 == 84 || SpriteMask.field2994 == 80) { Login.currentLoginField = 1; } if (PendingSpawn.method2118(class78.field1010) && Login.Login_username.length() < 320) { Login.Login_username = Login.Login_username + class78.field1010; } } else { Message.method1113(0); Login.Login_username = ""; Login.Login_password = ""; class274.field3274 = 0; AbstractWorldMapIcon.otp = ""; Login.field893 = true; } } return; } } while(Login.currentLoginField != 1); if (SpriteMask.field2994 == 85 && Login.Login_password.length() > 0) { Login.Login_password = Login.Login_password.substring(0, Login.Login_password.length() - 1); } else if (SpriteMask.field2994 == 84 || SpriteMask.field2994 == 80) { Login.currentLoginField = 0; if (SpriteMask.field2994 == 84) { Login.Login_username = Login.Login_username.trim(); if (Login.Login_username.length() == 0) { PlatformInfo.setLoginResponseString("", "Please enter your username/email address.", ""); return; } if (Login.Login_password.length() == 0) { PlatformInfo.setLoginResponseString("", "Please enter your password.", ""); return; } PlatformInfo.setLoginResponseString("", "Connecting to server...", ""); Varcs.method2303(false); HealthBarUpdate.updateGameState(20); return; } } if ((KeyHandler.KeyHandler_pressedKeys[82] || KeyHandler.KeyHandler_pressedKeys[87]) && SpriteMask.field2994 == 67) { Clipboard var60 = Toolkit.getDefaultToolkit().getSystemClipboard(); var62 = var60.getContents(ArchiveDiskActionHandler.client); var13 = 20 - Login.Login_password.length(); break; } if (class391.method6716(class78.field1010) && PendingSpawn.method2118(class78.field1010) && Login.Login_password.length() < 20) { Login.Login_password = Login.Login_password + class78.field1010; } } } while(var13 <= 0); try { String var63 = (String)var62.getTransferData(DataFlavor.stringFlavor); int var66 = Math.min(var13, var63.length()); for (int var16 = 0; var16 < var66; ++var16) { if (!class391.method6716(var63.charAt(var16)) || !PendingSpawn.method2118(var63.charAt(var16))) { Message.method1113(3); return; } } Login.Login_password = Login.Login_password + var63.substring(0, var66); } catch (UnsupportedFlavorException var52) { } catch (IOException var53) { } } } else if (Login.loginIndex == 3) { var56 = Login.loginBoxX + 180; var9 = 276; if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { MenuAction.method1876(false); } var56 = Login.loginBoxX + 180; var9 = 326; if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { PlatformInfo.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); Message.method1113(5); return; } } else { int var35; if (Login.loginIndex == 4) { var56 = Login.loginBoxX + 180 - 80; var9 = 321; if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { AbstractWorldMapIcon.otp.trim(); if (AbstractWorldMapIcon.otp.length() != 6) { PlatformInfo.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); return; } class274.field3274 = Integer.parseInt(AbstractWorldMapIcon.otp); AbstractWorldMapIcon.otp = ""; Varcs.method2303(true); PlatformInfo.setLoginResponseString("", "Connecting to server...", ""); HealthBarUpdate.updateGameState(20); return; } if (var5 == 1 && var67 >= Login.loginBoxX + 180 - 9 && var67 <= Login.loginBoxX + 180 + 130 && var55 >= 263 && var55 <= 296) { Login.field893 = !Login.field893; } if (var5 == 1 && var67 >= Login.loginBoxX + 180 - 34 && var67 <= Login.loginBoxX + 34 + 180 && var55 >= 351 && var55 <= 363) { Interpreter.openURL(WorldMapManager.method3679("secure", true) + "m=totp-authenticator/disableTOTPRequest", true, false); } var56 = Login.loginBoxX + 180 + 80; if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { Message.method1113(0); Login.Login_username = ""; Login.Login_password = ""; class274.field3274 = 0; AbstractWorldMapIcon.otp = ""; } while (KitDefinition.isKeyDown()) { boolean var10 = false; for (var35 = 0; var35 < "1234567890".length(); ++var35) { if (class78.field1010 == "1234567890".charAt(var35)) { var10 = true; break; } } if (SpriteMask.field2994 == 13) { Message.method1113(0); Login.Login_username = ""; Login.Login_password = ""; class274.field3274 = 0; AbstractWorldMapIcon.otp = ""; } else { if (SpriteMask.field2994 == 85 && AbstractWorldMapIcon.otp.length() > 0) { AbstractWorldMapIcon.otp = AbstractWorldMapIcon.otp.substring(0, AbstractWorldMapIcon.otp.length() - 1); } if (SpriteMask.field2994 == 84) { AbstractWorldMapIcon.otp.trim(); if (AbstractWorldMapIcon.otp.length() != 6) { PlatformInfo.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); return; } class274.field3274 = Integer.parseInt(AbstractWorldMapIcon.otp); AbstractWorldMapIcon.otp = ""; Varcs.method2303(true); PlatformInfo.setLoginResponseString("", "Connecting to server...", ""); HealthBarUpdate.updateGameState(20); return; } if (var10 && AbstractWorldMapIcon.otp.length() < 6) { AbstractWorldMapIcon.otp = AbstractWorldMapIcon.otp + class78.field1010; } } } } else if (Login.loginIndex == 5) { var56 = Login.loginBoxX + 180 - 80; var9 = 321; if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { Login.Login_username = Login.Login_username.trim(); if (Login.Login_username.length() == 0) { PlatformInfo.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); } else { long var39; try { URL var36 = new URL(WorldMapManager.method3679("services", false) + "m=accountappeal/login.ws"); URLConnection var14 = var36.openConnection(); var14.setRequestProperty("connection", "close"); var14.setDoInput(true); var14.setDoOutput(true); var14.setConnectTimeout(5000); OutputStreamWriter var37 = new OutputStreamWriter(var14.getOutputStream()); var37.write("data1=req"); var37.flush(); InputStream var38 = var14.getInputStream(); Buffer var17 = new Buffer(new byte[1000]); while (true) { int var18 = var38.read(var17.array, var17.offset, 1000 - var17.offset); if (var18 == -1) { var17.offset = 0; long var41 = var17.readLong(); var39 = var41; break; } var17.offset += var18; if (var17.offset >= 1000) { var39 = 0L; break; } } } catch (Exception var51) { var39 = 0L; } byte var59; if (0L == var39) { var59 = 5; } else { String var70 = Login.Login_username; Random var65 = new Random(); Buffer var45 = new Buffer(128); Buffer var19 = new Buffer(128); int[] var20 = new int[]{var65.nextInt(), var65.nextInt(), (int)(var39 >> 32), (int)var39}; var45.writeByte(10); int var21; for (var21 = 0; var21 < 4; ++var21) { var45.writeInt(var65.nextInt()); } var45.writeInt(var20[0]); var45.writeInt(var20[1]); var45.writeLong(var39); var45.writeLong(0L); for (var21 = 0; var21 < 4; ++var21) { var45.writeInt(var65.nextInt()); } var45.encryptRsa(class65.field849, class65.field853); var19.writeByte(10); for (var21 = 0; var21 < 3; ++var21) { var19.writeInt(var65.nextInt()); } var19.writeLong(var65.nextLong()); var19.writeLongMedium(var65.nextLong()); ClientPreferences.method2195(var19); var19.writeLong(var65.nextLong()); var19.encryptRsa(class65.field849, class65.field853); var21 = BufferedSink.stringCp1252NullTerminatedByteSize(var70); if (var21 % 8 != 0) { var21 += 8 - var21 % 8; } Buffer var22 = new Buffer(var21); var22.writeStringCp1252NullTerminated(var70); var22.offset = var21; var22.xteaEncryptAll(var20); Buffer var23 = new Buffer(var45.offset + var19.offset + var22.offset + 5); var23.writeByte(2); var23.writeByte(var45.offset); var23.writeBytes(var45.array, 0, var45.offset); var23.writeByte(var19.offset); var23.writeBytes(var19.array, 0, var19.offset); var23.writeShort(var22.offset); var23.writeBytes(var22.array, 0, var22.offset); String var24 = Message.method1104(var23.array); byte var15; try { URL var25 = new URL(WorldMapManager.method3679("services", false) + "m=accountappeal/login.ws"); URLConnection var26 = var25.openConnection(); var26.setDoInput(true); var26.setDoOutput(true); var26.setConnectTimeout(5000); OutputStreamWriter var27 = new OutputStreamWriter(var26.getOutputStream()); var27.write("data2=" + VertexNormal.method4478(var24) + "&dest=" + VertexNormal.method4478("passwordchoice.ws")); var27.flush(); InputStream var28 = var26.getInputStream(); var23 = new Buffer(new byte[1000]); while (true) { int var29 = var28.read(var23.array, var23.offset, 1000 - var23.offset); if (var29 == -1) { var27.close(); var28.close(); String var46 = new String(var23.array); if (var46.startsWith("OFFLINE")) { var15 = 4; } else if (var46.startsWith("WRONG")) { var15 = 7; } else if (var46.startsWith("RELOAD")) { var15 = 3; } else if (var46.startsWith("Not permitted for social network accounts.")) { var15 = 6; } else { var23.xteaDecryptAll(var20); while (var23.offset > 0 && var23.array[var23.offset - 1] == 0) { --var23.offset; } var46 = new String(var23.array, 0, var23.offset); if (WorldMapScaleHandler.method3907(var46)) { Interpreter.openURL(var46, true, false); var15 = 2; } else { var15 = 5; } } break; } var23.offset += var29; if (var23.offset >= 1000) { var15 = 5; break; } } } catch (Throwable var50) { var50.printStackTrace(); var15 = 5; } var59 = var15; } switch(var59) { case 2: PlatformInfo.setLoginResponseString(Strings.field3609, Strings.field3610, Strings.field3611); Message.method1113(6); break; case 3: PlatformInfo.setLoginResponseString("", "Error connecting to server.", ""); break; case 4: PlatformInfo.setLoginResponseString("The part of the website you are trying", "to connect to is offline at the moment.", "Please try again later."); break; case 5: PlatformInfo.setLoginResponseString("Sorry, there was an error trying to", "log you in to this part of the website.", "Please try again later."); break; case 6: PlatformInfo.setLoginResponseString("", "Error connecting to server.", ""); break; case 7: PlatformInfo.setLoginResponseString("You must enter a valid login to proceed. For accounts", "created after 24th November 2010, please use your", "email address. Otherwise please use your username."); } } return; } var56 = Login.loginBoxX + 180 + 80; if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { SecureRandomFuture.Login_promptCredentials(true); } var58 = 361; if (PcmPlayer.field287 != null) { var35 = PcmPlayer.field287.highX / 2; if (var5 == 1 && var67 >= PcmPlayer.field287.lowX - var35 && var67 <= var35 + PcmPlayer.field287.lowX && var55 >= var58 - 15 && var55 < var58) { Interpreter.openURL(WorldMapManager.method3679("secure", true) + "m=weblogin/g=oldscape/cant_log_in", true, false); } } while (KitDefinition.isKeyDown()) { boolean var68 = false; for (int var47 = 0; var47 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"�$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var47) { if (class78.field1010 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"�$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var47)) { var68 = true; break; } } if (SpriteMask.field2994 == 13) { SecureRandomFuture.Login_promptCredentials(true); } else { if (SpriteMask.field2994 == 85 && Login.Login_username.length() > 0) { Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); } if (SpriteMask.field2994 == 84) { ScriptFrame.method1085(); return; } if (var68 && Login.Login_username.length() < 320) { Login.Login_username = Login.Login_username + class78.field1010; } } } } else if (Login.loginIndex != 6) { if (Login.loginIndex == 7) { var56 = Login.loginBoxX + 180 - 80; var9 = 321; if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { Interpreter.openURL(WorldMapManager.method3679("secure", true) + "m=dob/set_dob.ws", true, false); PlatformInfo.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); Message.method1113(6); return; } var56 = Login.loginBoxX + 180 + 80; if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { SecureRandomFuture.Login_promptCredentials(true); } } else if (Login.loginIndex == 8) { var56 = Login.loginBoxX + 180 - 80; var9 = 321; if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { Interpreter.openURL("https://www.jagex.com/terms/privacy", true, false); PlatformInfo.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); Message.method1113(6); return; } var56 = Login.loginBoxX + 180 + 80; if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { SecureRandomFuture.Login_promptCredentials(true); } } else if (Login.loginIndex == 9) { var56 = Login.loginBoxX + 180; var9 = 311; if (SpriteMask.field2994 == 84 || SpriteMask.field2994 == 13 || var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { MenuAction.method1876(false); } } else if (Login.loginIndex == 10) { var56 = Login.loginBoxX + 180; var9 = 209; if (SpriteMask.field2994 == 84 || var5 == 1 && var67 >= var56 - 109 && var67 <= var56 + 109 && var55 >= var9 && var55 <= var9 + 68) { PlatformInfo.setLoginResponseString("", "Connecting to server...", ""); Client.field519 = class403.field4323; Varcs.method2303(false); HealthBarUpdate.updateGameState(20); } } else if (Login.loginIndex == 12) { var56 = class11.loginBoxCenter; var9 = 233; Bounds var48 = var1.method5657(0, 30, "terms of use, privacy policy, and end user licence", var56, var9); Bounds var11 = var1.method5657(32, 32, "terms of use, privacy policy, and end user licence", var56, var9); Bounds var12 = var1.method5657(70, 34, "terms of use, privacy policy, and end user licence", var56, var9); var61 = var9 + 17; Bounds var69 = var1.method5657(0, 34, "agreement (EULA).", var56, var61); if (var5 == 1) { if (var48.method6186(var67, var55)) { Interpreter.openURL("https://www.jagex.com/terms", true, false); } else if (var11.method6186(var67, var55)) { Interpreter.openURL("https://www.jagex.com/terms/privacy", true, false); } else if (var12.method6186(var67, var55) || var69.method6186(var67, var55)) { Interpreter.openURL("https://www.jagex.com/en-GB/legal/eula-runescape-oldschool", true, false); } } var56 = class11.loginBoxCenter - 80; var9 = 311; if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { class123.method2534(); if (!WorldMapAreaData.method3903()) { Login.loginIndex = 12; } else { Login.loginIndex = 0; } } var56 = class11.loginBoxCenter + 80; if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { Login.loginIndex = 13; } } else if (Login.loginIndex == 13) { var56 = class11.loginBoxCenter; var9 = 321; if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { if (!WorldMapAreaData.method3903()) { Login.loginIndex = 12; } else { Login.loginIndex = 0; } } } else if (Login.loginIndex == 14) { String var49 = ""; switch(Login.field874) { case 0: var49 = "https://support.runescape.com/hc/en-gb/articles/115002238729-Account-Bans"; break; case 1: var49 = "https://support.runescape.com/hc/en-gb/articles/206103939-My-account-is-locked"; break; default: SecureRandomFuture.Login_promptCredentials(false); } var61 = Login.loginBoxX + 180; var58 = 276; if (var5 == 1 && var67 >= var61 - 75 && var67 <= var61 + 75 && var55 >= var58 - 20 && var55 <= var58 + 20) { Interpreter.openURL(var49, true, false); PlatformInfo.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); Message.method1113(6); return; } var61 = Login.loginBoxX + 180; var58 = 326; if (var5 == 1 && var67 >= var61 - 75 && var67 <= var61 + 75 && var55 >= var58 - 20 && var55 <= var58 + 20) { SecureRandomFuture.Login_promptCredentials(false); } } else if (Login.loginIndex == 24) { var56 = Login.loginBoxX + 180; var9 = 301; if (var5 == 1 && var67 >= var56 - 75 && var67 <= var56 + 75 && var55 >= var9 - 20 && var55 <= var9 + 20) { MenuAction.method1876(false); } } } else { while (true) { do { if (!KitDefinition.isKeyDown()) { var57 = 321; if (var5 == 1 && var55 >= var57 - 20 && var55 <= var57 + 20) { SecureRandomFuture.Login_promptCredentials(true); } return; } } while(SpriteMask.field2994 != 84 && SpriteMask.field2994 != 13); SecureRandomFuture.Login_promptCredentials(true); } } } } } } } } } @ObfuscatedName("ij") @ObfuscatedSignature( descriptor = "(III)V", garbageValue = "-1081213203" ) @Export("resumePauseWidget") static void resumePauseWidget(int var0, int var1) { PacketBufferNode var2 = FriendSystem.getPacketBufferNode(ClientPacket.field2690, Client.packetWriter.isaacCipher); var2.packetBuffer.method6951(var1); var2.packetBuffer.writeIntME(var0); Client.packetWriter.addNode(var2); } }