1093 lines
26 KiB
Java
1093 lines
26 KiB
Java
import java.math.BigInteger;
|
|
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("kq")
|
|
@Implements("Buffer")
|
|
public class Buffer extends Node {
|
|
@ObfuscatedName("x")
|
|
@Export("crc32Table")
|
|
static int[] crc32Table;
|
|
@ObfuscatedName("d")
|
|
@Export("crc64Table")
|
|
static long[] crc64Table;
|
|
@ObfuscatedName("b")
|
|
@Export("array")
|
|
public byte[] array;
|
|
@ObfuscatedName("e")
|
|
@ObfuscatedGetter(
|
|
intValue = -974427465
|
|
)
|
|
@Export("offset")
|
|
public int offset;
|
|
|
|
static {
|
|
crc32Table = new int[256];
|
|
|
|
int var2;
|
|
for (int var1 = 0; var1 < 256; ++var1) {
|
|
int var0 = var1;
|
|
|
|
for (var2 = 0; var2 < 8; ++var2) {
|
|
if ((var0 & 1) == 1) {
|
|
var0 = var0 >>> 1 ^ -306674912;
|
|
} else {
|
|
var0 >>>= 1;
|
|
}
|
|
}
|
|
|
|
crc32Table[var1] = var0;
|
|
}
|
|
|
|
crc64Table = new long[256];
|
|
|
|
for (var2 = 0; var2 < 256; ++var2) {
|
|
long var4 = (long)var2;
|
|
|
|
for (int var3 = 0; var3 < 8; ++var3) {
|
|
if (1L == (var4 & 1L)) {
|
|
var4 = var4 >>> 1 ^ -3932672073523589310L;
|
|
} else {
|
|
var4 >>>= 1;
|
|
}
|
|
}
|
|
|
|
crc64Table[var2] = var4;
|
|
}
|
|
|
|
}
|
|
|
|
public Buffer(int var1) {
|
|
this.array = class218.ByteArrayPool_getArray(var1);
|
|
this.offset = 0;
|
|
}
|
|
|
|
public Buffer(byte[] var1) {
|
|
this.array = var1;
|
|
this.offset = 0;
|
|
}
|
|
|
|
@ObfuscatedName("ax")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)V",
|
|
garbageValue = "-1"
|
|
)
|
|
@Export("releaseArray")
|
|
public void releaseArray() {
|
|
if (this.array != null) {
|
|
GraphicsDefaults.ByteArrayPool_release(this.array);
|
|
}
|
|
|
|
this.array = null;
|
|
}
|
|
|
|
@ObfuscatedName("at")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-1741213473"
|
|
)
|
|
@Export("writeByte")
|
|
public void writeByte(int var1) {
|
|
this.array[++this.offset - 1] = (byte)var1;
|
|
}
|
|
|
|
@ObfuscatedName("af")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)V",
|
|
garbageValue = "2"
|
|
)
|
|
@Export("writeShort")
|
|
public void writeShort(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 8);
|
|
this.array[++this.offset - 1] = (byte)var1;
|
|
}
|
|
|
|
@ObfuscatedName("ap")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-2091001139"
|
|
)
|
|
@Export("writeMedium")
|
|
public void writeMedium(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 16);
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 8);
|
|
this.array[++this.offset - 1] = (byte)var1;
|
|
}
|
|
|
|
@ObfuscatedName("ai")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "49619739"
|
|
)
|
|
@Export("writeInt")
|
|
public void writeInt(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 24);
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 16);
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 8);
|
|
this.array[++this.offset - 1] = (byte)var1;
|
|
}
|
|
|
|
@ObfuscatedName("am")
|
|
@Export("writeLongMedium")
|
|
public void writeLongMedium(long var1) {
|
|
this.array[++this.offset - 1] = (byte)((int)(var1 >> 40));
|
|
this.array[++this.offset - 1] = (byte)((int)(var1 >> 32));
|
|
this.array[++this.offset - 1] = (byte)((int)(var1 >> 24));
|
|
this.array[++this.offset - 1] = (byte)((int)(var1 >> 16));
|
|
this.array[++this.offset - 1] = (byte)((int)(var1 >> 8));
|
|
this.array[++this.offset - 1] = (byte)((int)var1);
|
|
}
|
|
|
|
@ObfuscatedName("ab")
|
|
@Export("writeLong")
|
|
public void writeLong(long var1) {
|
|
this.array[++this.offset - 1] = (byte)((int)(var1 >> 56));
|
|
this.array[++this.offset - 1] = (byte)((int)(var1 >> 48));
|
|
this.array[++this.offset - 1] = (byte)((int)(var1 >> 40));
|
|
this.array[++this.offset - 1] = (byte)((int)(var1 >> 32));
|
|
this.array[++this.offset - 1] = (byte)((int)(var1 >> 24));
|
|
this.array[++this.offset - 1] = (byte)((int)(var1 >> 16));
|
|
this.array[++this.offset - 1] = (byte)((int)(var1 >> 8));
|
|
this.array[++this.offset - 1] = (byte)((int)var1);
|
|
}
|
|
|
|
@ObfuscatedName("bj")
|
|
@ObfuscatedSignature(
|
|
signature = "(ZB)V",
|
|
garbageValue = "52"
|
|
)
|
|
@Export("writeBoolean")
|
|
public void writeBoolean(boolean var1) {
|
|
this.writeByte(var1 ? 1 : 0);
|
|
}
|
|
|
|
@ObfuscatedName("bw")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;I)V",
|
|
garbageValue = "2103649600"
|
|
)
|
|
@Export("writeStringCp1252NullTerminated")
|
|
public void writeStringCp1252NullTerminated(String var1) {
|
|
int var2 = var1.indexOf(0);
|
|
if (var2 >= 0) {
|
|
throw new IllegalArgumentException("");
|
|
} else {
|
|
this.offset += class32.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset);
|
|
this.array[++this.offset - 1] = 0;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("bl")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;I)V",
|
|
garbageValue = "1339106309"
|
|
)
|
|
@Export("writeStringCp1252NullCircumfixed")
|
|
public void writeStringCp1252NullCircumfixed(String var1) {
|
|
int var2 = var1.indexOf(0);
|
|
if (var2 >= 0) {
|
|
throw new IllegalArgumentException("");
|
|
} else {
|
|
this.array[++this.offset - 1] = 0;
|
|
this.offset += class32.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset);
|
|
this.array[++this.offset - 1] = 0;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("bq")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/CharSequence;I)V",
|
|
garbageValue = "104360038"
|
|
)
|
|
@Export("writeCESU8")
|
|
public void writeCESU8(CharSequence var1) {
|
|
int var2 = class3.method35(var1);
|
|
this.array[++this.offset - 1] = 0;
|
|
this.writeVarInt(var2);
|
|
this.offset += Strings.method4095(this.array, this.offset, var1);
|
|
}
|
|
|
|
@ObfuscatedName("bx")
|
|
@ObfuscatedSignature(
|
|
signature = "([BIII)V",
|
|
garbageValue = "1871386509"
|
|
)
|
|
@Export("writeBytes")
|
|
public void writeBytes(byte[] var1, int var2, int var3) {
|
|
for (int var4 = var2; var4 < var3 + var2; ++var4) {
|
|
this.array[++this.offset - 1] = var1[var4];
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("bc")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)V",
|
|
garbageValue = "10"
|
|
)
|
|
@Export("writeLengthInt")
|
|
public void writeLengthInt(int var1) {
|
|
if (var1 < 0) {
|
|
throw new IllegalArgumentException();
|
|
} else {
|
|
this.array[this.offset - var1 - 4] = (byte)(var1 >> 24);
|
|
this.array[this.offset - var1 - 3] = (byte)(var1 >> 16);
|
|
this.array[this.offset - var1 - 2] = (byte)(var1 >> 8);
|
|
this.array[this.offset - var1 - 1] = (byte)var1;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("by")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)V",
|
|
garbageValue = "-119"
|
|
)
|
|
@Export("writeLengthShort")
|
|
public void writeLengthShort(int var1) {
|
|
if (var1 >= 0 && var1 <= 65535) {
|
|
this.array[this.offset - var1 - 2] = (byte)(var1 >> 8);
|
|
this.array[this.offset - var1 - 1] = (byte)var1;
|
|
} else {
|
|
throw new IllegalArgumentException();
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("bz")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "600259384"
|
|
)
|
|
@Export("writeLengthByte")
|
|
public void writeLengthByte(int var1) {
|
|
if (var1 >= 0 && var1 <= 255) {
|
|
this.array[this.offset - var1 - 1] = (byte)var1;
|
|
} else {
|
|
throw new IllegalArgumentException();
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("bm")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-1935597490"
|
|
)
|
|
@Export("writeSmartByteShort")
|
|
public void writeSmartByteShort(int var1) {
|
|
if (var1 >= 0 && var1 < 128) {
|
|
this.writeByte(var1);
|
|
} else if (var1 >= 0 && var1 < 32768) {
|
|
this.writeShort(var1 + 32768);
|
|
} else {
|
|
throw new IllegalArgumentException();
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("bo")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "1722354173"
|
|
)
|
|
@Export("writeVarInt")
|
|
public void writeVarInt(int var1) {
|
|
if ((var1 & -128) != 0) {
|
|
if ((var1 & -16384) != 0) {
|
|
if ((var1 & -2097152) != 0) {
|
|
if ((var1 & -268435456) != 0) {
|
|
this.writeByte(var1 >>> 28 | 128);
|
|
}
|
|
|
|
this.writeByte(var1 >>> 21 | 128);
|
|
}
|
|
|
|
this.writeByte(var1 >>> 14 | 128);
|
|
}
|
|
|
|
this.writeByte(var1 >>> 7 | 128);
|
|
}
|
|
|
|
this.writeByte(var1 & 127);
|
|
}
|
|
|
|
@ObfuscatedName("bs")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-465262399"
|
|
)
|
|
@Export("readUnsignedByte")
|
|
public int readUnsignedByte() {
|
|
return this.array[++this.offset - 1] & 255;
|
|
}
|
|
|
|
@ObfuscatedName("ba")
|
|
@ObfuscatedSignature(
|
|
signature = "(S)B",
|
|
garbageValue = "-9846"
|
|
)
|
|
@Export("readByte")
|
|
public byte readByte() {
|
|
return this.array[++this.offset - 1];
|
|
}
|
|
|
|
@ObfuscatedName("bn")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "252196330"
|
|
)
|
|
@Export("readUnsignedShort")
|
|
public int readUnsignedShort() {
|
|
this.offset += 2;
|
|
return (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8);
|
|
}
|
|
|
|
@ObfuscatedName("bb")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "-76"
|
|
)
|
|
@Export("readShort")
|
|
public int readShort() {
|
|
this.offset += 2;
|
|
int var1 = (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8);
|
|
if (var1 > 32767) {
|
|
var1 -= 65536;
|
|
}
|
|
|
|
return var1;
|
|
}
|
|
|
|
@ObfuscatedName("bh")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "70"
|
|
)
|
|
@Export("readMedium")
|
|
public int readMedium() {
|
|
this.offset += 3;
|
|
return ((this.array[this.offset - 3] & 255) << 16) + (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8);
|
|
}
|
|
|
|
@ObfuscatedName("bv")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "1030598931"
|
|
)
|
|
@Export("readInt")
|
|
public int readInt() {
|
|
this.offset += 4;
|
|
return ((this.array[this.offset - 3] & 255) << 16) + (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8) + ((this.array[this.offset - 4] & 255) << 24);
|
|
}
|
|
|
|
@ObfuscatedName("bu")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)J",
|
|
garbageValue = "-108"
|
|
)
|
|
@Export("readLong")
|
|
public long readLong() {
|
|
long var1 = (long)this.readInt() & 4294967295L;
|
|
long var3 = (long)this.readInt() & 4294967295L;
|
|
return (var1 << 32) + var3;
|
|
}
|
|
|
|
@ObfuscatedName("be")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Z",
|
|
garbageValue = "-1652642398"
|
|
)
|
|
@Export("readBoolean")
|
|
public boolean readBoolean() {
|
|
return (this.readUnsignedByte() & 1) == 1;
|
|
}
|
|
|
|
@ObfuscatedName("bd")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Ljava/lang/String;",
|
|
garbageValue = "1889291164"
|
|
)
|
|
@Export("readStringCp1252NullTerminatedOrNull")
|
|
public String readStringCp1252NullTerminatedOrNull() {
|
|
if (this.array[this.offset] == 0) {
|
|
++this.offset;
|
|
return null;
|
|
} else {
|
|
return this.readStringCp1252NullTerminated();
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("bf")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Ljava/lang/String;",
|
|
garbageValue = "-1443383745"
|
|
)
|
|
@Export("readStringCp1252NullTerminated")
|
|
public String readStringCp1252NullTerminated() {
|
|
int var1 = this.offset;
|
|
|
|
while (this.array[++this.offset - 1] != 0) {
|
|
}
|
|
|
|
int var2 = this.offset - var1 - 1;
|
|
return var2 == 0 ? "" : class225.decodeStringCp1252(this.array, var1, var2);
|
|
}
|
|
|
|
@ObfuscatedName("bi")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)Ljava/lang/String;",
|
|
garbageValue = "9"
|
|
)
|
|
@Export("readStringCp1252NullCircumfixed")
|
|
public String readStringCp1252NullCircumfixed() {
|
|
byte var1 = this.array[++this.offset - 1];
|
|
if (var1 != 0) {
|
|
throw new IllegalStateException("");
|
|
} else {
|
|
int var2 = this.offset;
|
|
|
|
while (this.array[++this.offset - 1] != 0) {
|
|
}
|
|
|
|
int var3 = this.offset - var2 - 1;
|
|
return var3 == 0 ? "" : class225.decodeStringCp1252(this.array, var2, var3);
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("br")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)Ljava/lang/String;",
|
|
garbageValue = "-7"
|
|
)
|
|
@Export("readCESU8")
|
|
public String readCESU8() {
|
|
byte var1 = this.array[++this.offset - 1];
|
|
if (var1 != 0) {
|
|
throw new IllegalStateException("");
|
|
} else {
|
|
int var2 = this.readVarInt();
|
|
if (var2 + this.offset > this.array.length) {
|
|
throw new IllegalStateException("");
|
|
} else {
|
|
byte[] var4 = this.array;
|
|
int var5 = this.offset;
|
|
char[] var6 = new char[var2];
|
|
int var7 = 0;
|
|
int var8 = var5;
|
|
|
|
int var11;
|
|
for (int var9 = var2 + var5; var8 < var9; var6[var7++] = (char)var11) {
|
|
int var10 = var4[var8++] & 255;
|
|
if (var10 < 128) {
|
|
if (var10 == 0) {
|
|
var11 = 65533;
|
|
} else {
|
|
var11 = var10;
|
|
}
|
|
} else if (var10 < 192) {
|
|
var11 = 65533;
|
|
} else if (var10 < 224) {
|
|
if (var8 < var9 && (var4[var8] & 192) == 128) {
|
|
var11 = (var10 & 31) << 6 | var4[var8++] & 63;
|
|
if (var11 < 128) {
|
|
var11 = 65533;
|
|
}
|
|
} else {
|
|
var11 = 65533;
|
|
}
|
|
} else if (var10 < 240) {
|
|
if (var8 + 1 < var9 && (var4[var8] & 192) == 128 && (var4[var8 + 1] & 192) == 128) {
|
|
var11 = (var10 & 15) << 12 | (var4[var8++] & 63) << 6 | var4[var8++] & 63;
|
|
if (var11 < 2048) {
|
|
var11 = 65533;
|
|
}
|
|
} else {
|
|
var11 = 65533;
|
|
}
|
|
} else if (var10 < 248) {
|
|
if (var8 + 2 < var9 && (var4[var8] & 192) == 128 && (var4[var8 + 1] & 192) == 128 && (var4[var8 + 2] & 192) == 128) {
|
|
var11 = (var10 & 7) << 18 | (var4[var8++] & 63) << 12 | (var4[var8++] & 63) << 6 | var4[var8++] & 63;
|
|
if (var11 >= 65536 && var11 <= 1114111) {
|
|
var11 = 65533;
|
|
} else {
|
|
var11 = 65533;
|
|
}
|
|
} else {
|
|
var11 = 65533;
|
|
}
|
|
} else {
|
|
var11 = 65533;
|
|
}
|
|
}
|
|
|
|
String var3 = new String(var6, 0, var7);
|
|
this.offset += var2;
|
|
return var3;
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("bt")
|
|
@ObfuscatedSignature(
|
|
signature = "([BIII)V",
|
|
garbageValue = "-991608538"
|
|
)
|
|
@Export("readBytes")
|
|
public void readBytes(byte[] var1, int var2, int var3) {
|
|
for (int var4 = var2; var4 < var3 + var2; ++var4) {
|
|
var1[var4] = this.array[++this.offset - 1];
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("bp")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "53"
|
|
)
|
|
@Export("readShortSmart")
|
|
public int readShortSmart() {
|
|
int var1 = this.array[this.offset] & 255;
|
|
return var1 < 128 ? this.readUnsignedByte() - 64 : this.readUnsignedShort() - 49152;
|
|
}
|
|
|
|
@ObfuscatedName("co")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-1683950502"
|
|
)
|
|
@Export("readUShortSmart")
|
|
public int readUShortSmart() {
|
|
int var1 = this.array[this.offset] & 255;
|
|
return var1 < 128 ? this.readUnsignedByte() : this.readUnsignedShort() - 32768;
|
|
}
|
|
|
|
@ObfuscatedName("cp")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-1533459014"
|
|
)
|
|
public int method5558() {
|
|
int var1 = 0;
|
|
|
|
int var2;
|
|
for (var2 = this.readUShortSmart(); var2 == 32767; var2 = this.readUShortSmart()) {
|
|
var1 += 32767;
|
|
}
|
|
|
|
var1 += var2;
|
|
return var1;
|
|
}
|
|
|
|
@ObfuscatedName("cd")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-1600881896"
|
|
)
|
|
public int method5559() {
|
|
return this.array[this.offset] < 0 ? this.readInt() & Integer.MAX_VALUE : this.readUnsignedShort();
|
|
}
|
|
|
|
@ObfuscatedName("cj")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "406513070"
|
|
)
|
|
public int method5560() {
|
|
if (this.array[this.offset] < 0) {
|
|
return this.readInt() & Integer.MAX_VALUE;
|
|
} else {
|
|
int var1 = this.readUnsignedShort();
|
|
return var1 == 32767 ? -1 : var1;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("cq")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "2058260314"
|
|
)
|
|
@Export("readVarInt")
|
|
public int readVarInt() {
|
|
byte var1 = this.array[++this.offset - 1];
|
|
|
|
int var2;
|
|
for (var2 = 0; var1 < 0; var1 = this.array[++this.offset - 1]) {
|
|
var2 = (var2 | var1 & 127) << 7;
|
|
}
|
|
|
|
return var2 | var1;
|
|
}
|
|
|
|
@ObfuscatedName("cb")
|
|
@ObfuscatedSignature(
|
|
signature = "([II)V",
|
|
garbageValue = "-1596114237"
|
|
)
|
|
@Export("xteaEncryptAll")
|
|
public void xteaEncryptAll(int[] var1) {
|
|
int var2 = this.offset / 8;
|
|
this.offset = 0;
|
|
|
|
for (int var3 = 0; var3 < var2; ++var3) {
|
|
int var4 = this.readInt();
|
|
int var5 = this.readInt();
|
|
int var6 = 0;
|
|
int var7 = -1640531527;
|
|
|
|
for (int var8 = 32; var8-- > 0; var5 += var4 + (var4 << 4 ^ var4 >>> 5) ^ var1[var6 >>> 11 & 3] + var6) {
|
|
var4 += var5 + (var5 << 4 ^ var5 >>> 5) ^ var6 + var1[var6 & 3];
|
|
var6 += var7;
|
|
}
|
|
|
|
this.offset -= 8;
|
|
this.writeInt(var4);
|
|
this.writeInt(var5);
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("cf")
|
|
@ObfuscatedSignature(
|
|
signature = "([II)V",
|
|
garbageValue = "1737935822"
|
|
)
|
|
@Export("xteaDecryptAll")
|
|
public void xteaDecryptAll(int[] var1) {
|
|
int var2 = this.offset / 8;
|
|
this.offset = 0;
|
|
|
|
for (int var3 = 0; var3 < var2; ++var3) {
|
|
int var4 = this.readInt();
|
|
int var5 = this.readInt();
|
|
int var6 = -957401312;
|
|
int var7 = -1640531527;
|
|
|
|
for (int var8 = 32; var8-- > 0; var4 -= var5 + (var5 << 4 ^ var5 >>> 5) ^ var6 + var1[var6 & 3]) {
|
|
var5 -= var4 + (var4 << 4 ^ var4 >>> 5) ^ var1[var6 >>> 11 & 3] + var6;
|
|
var6 -= var7;
|
|
}
|
|
|
|
this.offset -= 8;
|
|
this.writeInt(var4);
|
|
this.writeInt(var5);
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("cs")
|
|
@ObfuscatedSignature(
|
|
signature = "([IIII)V",
|
|
garbageValue = "1065285661"
|
|
)
|
|
@Export("xteaEncrypt")
|
|
public void xteaEncrypt(int[] var1, int var2, int var3) {
|
|
int var4 = this.offset;
|
|
this.offset = var2;
|
|
int var5 = (var3 - var2) / 8;
|
|
|
|
for (int var6 = 0; var6 < var5; ++var6) {
|
|
int var7 = this.readInt();
|
|
int var8 = this.readInt();
|
|
int var9 = 0;
|
|
int var10 = -1640531527;
|
|
|
|
for (int var11 = 32; var11-- > 0; var8 += var7 + (var7 << 4 ^ var7 >>> 5) ^ var1[var9 >>> 11 & 3] + var9) {
|
|
var7 += var8 + (var8 << 4 ^ var8 >>> 5) ^ var9 + var1[var9 & 3];
|
|
var9 += var10;
|
|
}
|
|
|
|
this.offset -= 8;
|
|
this.writeInt(var7);
|
|
this.writeInt(var8);
|
|
}
|
|
|
|
this.offset = var4;
|
|
}
|
|
|
|
@ObfuscatedName("ch")
|
|
@ObfuscatedSignature(
|
|
signature = "([IIIB)V",
|
|
garbageValue = "1"
|
|
)
|
|
@Export("xteaDecrypt")
|
|
public void xteaDecrypt(int[] var1, int var2, int var3) {
|
|
int var4 = this.offset;
|
|
this.offset = var2;
|
|
int var5 = (var3 - var2) / 8;
|
|
|
|
for (int var6 = 0; var6 < var5; ++var6) {
|
|
int var7 = this.readInt();
|
|
int var8 = this.readInt();
|
|
int var9 = -957401312;
|
|
int var10 = -1640531527;
|
|
|
|
for (int var11 = 32; var11-- > 0; var7 -= var8 + (var8 << 4 ^ var8 >>> 5) ^ var9 + var1[var9 & 3]) {
|
|
var8 -= var7 + (var7 << 4 ^ var7 >>> 5) ^ var1[var9 >>> 11 & 3] + var9;
|
|
var9 -= var10;
|
|
}
|
|
|
|
this.offset -= 8;
|
|
this.writeInt(var7);
|
|
this.writeInt(var8);
|
|
}
|
|
|
|
this.offset = var4;
|
|
}
|
|
|
|
@ObfuscatedName("ca")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/math/BigInteger;Ljava/math/BigInteger;B)V",
|
|
garbageValue = "1"
|
|
)
|
|
@Export("encryptRsa")
|
|
public void encryptRsa(BigInteger var1, BigInteger var2) {
|
|
int var3 = this.offset;
|
|
this.offset = 0;
|
|
byte[] var4 = new byte[var3];
|
|
this.readBytes(var4, 0, var3);
|
|
BigInteger var5 = new BigInteger(var4);
|
|
BigInteger var6 = var5.modPow(var1, var2);
|
|
byte[] var7 = var6.toByteArray();
|
|
this.offset = 0;
|
|
this.writeShort(var7.length);
|
|
this.writeBytes(var7, 0, var7.length);
|
|
}
|
|
|
|
@ObfuscatedName("cn")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)I",
|
|
garbageValue = "-1528934542"
|
|
)
|
|
@Export("writeCrc")
|
|
public int writeCrc(int var1) {
|
|
int var2 = Timer.method5033(this.array, var1, this.offset);
|
|
this.writeInt(var2);
|
|
return var2;
|
|
}
|
|
|
|
@ObfuscatedName("cx")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Z",
|
|
garbageValue = "1162985517"
|
|
)
|
|
@Export("checkCrc")
|
|
public boolean checkCrc() {
|
|
this.offset -= 4;
|
|
int var1 = Timer.method5033(this.array, 0, this.offset);
|
|
int var2 = this.readInt();
|
|
return var1 == var2;
|
|
}
|
|
|
|
@ObfuscatedName("ck")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "1226995915"
|
|
)
|
|
public void method5569(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(var1 + 128);
|
|
}
|
|
|
|
@ObfuscatedName("ce")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-532797740"
|
|
)
|
|
public void method5720(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(0 - var1);
|
|
}
|
|
|
|
@ObfuscatedName("cu")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-1575926021"
|
|
)
|
|
public void method5696(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(128 - var1);
|
|
}
|
|
|
|
@ObfuscatedName("cg")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "1475390763"
|
|
)
|
|
public int method5572() {
|
|
return this.array[++this.offset - 1] - 128 & 255;
|
|
}
|
|
|
|
@ObfuscatedName("ct")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "25"
|
|
)
|
|
public int method5675() {
|
|
return 0 - this.array[++this.offset - 1] & 255;
|
|
}
|
|
|
|
@ObfuscatedName("cr")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-997591738"
|
|
)
|
|
public int method5628() {
|
|
return 128 - this.array[++this.offset - 1] & 255;
|
|
}
|
|
|
|
@ObfuscatedName("cy")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)B",
|
|
garbageValue = "2082648513"
|
|
)
|
|
public byte method5575() {
|
|
return (byte)(this.array[++this.offset - 1] - 128);
|
|
}
|
|
|
|
@ObfuscatedName("cz")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)B",
|
|
garbageValue = "768698766"
|
|
)
|
|
public byte method5576() {
|
|
return (byte)(0 - this.array[++this.offset - 1]);
|
|
}
|
|
|
|
@ObfuscatedName("cm")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)B",
|
|
garbageValue = "-1982248202"
|
|
)
|
|
public byte method5577() {
|
|
return (byte)(128 - this.array[++this.offset - 1]);
|
|
}
|
|
|
|
@ObfuscatedName("cl")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "829423539"
|
|
)
|
|
@Export("writeIntME")
|
|
public void writeIntME(int var1) {
|
|
this.array[++this.offset - 1] = (byte)var1;
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 8);
|
|
}
|
|
|
|
@ObfuscatedName("ci")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-1832241296"
|
|
)
|
|
public void method5579(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 8);
|
|
this.array[++this.offset - 1] = (byte)(var1 + 128);
|
|
}
|
|
|
|
@ObfuscatedName("cc")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "375556310"
|
|
)
|
|
public void method5746(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(var1 + 128);
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 8);
|
|
}
|
|
|
|
@ObfuscatedName("cv")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "26"
|
|
)
|
|
public int method5723() {
|
|
this.offset += 2;
|
|
return ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] & 255);
|
|
}
|
|
|
|
@ObfuscatedName("cw")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "989740563"
|
|
)
|
|
public int method5582() {
|
|
this.offset += 2;
|
|
return (this.array[this.offset - 1] - 128 & 255) + ((this.array[this.offset - 2] & 255) << 8);
|
|
}
|
|
|
|
@ObfuscatedName("do")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "1"
|
|
)
|
|
public int method5583() {
|
|
this.offset += 2;
|
|
return ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] - 128 & 255);
|
|
}
|
|
|
|
@ObfuscatedName("dk")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "572488175"
|
|
)
|
|
public int method5584() {
|
|
this.offset += 2;
|
|
int var1 = ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] & 255);
|
|
if (var1 > 32767) {
|
|
var1 -= 65536;
|
|
}
|
|
|
|
return var1;
|
|
}
|
|
|
|
@ObfuscatedName("dx")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "1271070909"
|
|
)
|
|
public int method5565() {
|
|
this.offset += 2;
|
|
int var1 = (this.array[this.offset - 1] - 128 & 255) + ((this.array[this.offset - 2] & 255) << 8);
|
|
if (var1 > 32767) {
|
|
var1 -= 65536;
|
|
}
|
|
|
|
return var1;
|
|
}
|
|
|
|
@ObfuscatedName("de")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)V",
|
|
garbageValue = "-22"
|
|
)
|
|
public void method5586(int var1) {
|
|
this.array[++this.offset - 1] = (byte)var1;
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 8);
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 16);
|
|
}
|
|
|
|
@ObfuscatedName("df")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "1666942102"
|
|
)
|
|
public void method5744(int var1) {
|
|
this.array[++this.offset - 1] = (byte)var1;
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 8);
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 16);
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 24);
|
|
}
|
|
|
|
@ObfuscatedName("di")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-1515627566"
|
|
)
|
|
@Export("writeShortLE")
|
|
public void writeShortLE(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 8);
|
|
this.array[++this.offset - 1] = (byte)var1;
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 24);
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 16);
|
|
}
|
|
|
|
@ObfuscatedName("dr")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-511439532"
|
|
)
|
|
public void method5587(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 16);
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 24);
|
|
this.array[++this.offset - 1] = (byte)var1;
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 8);
|
|
}
|
|
|
|
@ObfuscatedName("dg")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-154665051"
|
|
)
|
|
public int method5590() {
|
|
this.offset += 4;
|
|
return (this.array[this.offset - 4] & 255) + ((this.array[this.offset - 3] & 255) << 8) + ((this.array[this.offset - 2] & 255) << 16) + ((this.array[this.offset - 1] & 255) << 24);
|
|
}
|
|
|
|
@ObfuscatedName("dh")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "1197658984"
|
|
)
|
|
public int method5591() {
|
|
this.offset += 4;
|
|
return ((this.array[this.offset - 2] & 255) << 24) + ((this.array[this.offset - 4] & 255) << 8) + (this.array[this.offset - 3] & 255) + ((this.array[this.offset - 1] & 255) << 16);
|
|
}
|
|
|
|
@ObfuscatedName("dl")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "84"
|
|
)
|
|
public int method5592() {
|
|
this.offset += 4;
|
|
return ((this.array[this.offset - 1] & 255) << 8) + ((this.array[this.offset - 4] & 255) << 16) + (this.array[this.offset - 2] & 255) + ((this.array[this.offset - 3] & 255) << 24);
|
|
}
|
|
|
|
@ObfuscatedName("da")
|
|
@ObfuscatedSignature(
|
|
signature = "([BIII)V",
|
|
garbageValue = "1567135679"
|
|
)
|
|
public void method5593(byte[] var1, int var2, int var3) {
|
|
for (int var4 = var3 + var2 - 1; var4 >= var2; --var4) {
|
|
var1[var4] = this.array[++this.offset - 1];
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("dp")
|
|
@ObfuscatedSignature(
|
|
signature = "([BIII)V",
|
|
garbageValue = "-448986261"
|
|
)
|
|
public void method5740(byte[] var1, int var2, int var3) {
|
|
for (int var4 = var2; var4 < var3 + var2; ++var4) {
|
|
var1[var4] = (byte)(this.array[++this.offset - 1] - 128);
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Lls;",
|
|
garbageValue = "-2068256812"
|
|
)
|
|
static Sprite method5689() {
|
|
Sprite var0 = new Sprite();
|
|
var0.width = class325.SpriteBuffer_spriteWidth;
|
|
var0.height = class325.SpriteBuffer_spriteHeight;
|
|
var0.xOffset = class325.SpriteBuffer_xOffsets[0];
|
|
var0.yOffset = class325.SpriteBuffer_yOffsets[0];
|
|
var0.subWidth = UserComparator1.SpriteBuffer_spriteWidths[0];
|
|
var0.subHeight = class325.SpriteBuffer_spriteHeights[0];
|
|
int var1 = var0.subHeight * var0.subWidth;
|
|
byte[] var2 = class290.SpriteBuffer_pixels[0];
|
|
var0.pixels = new int[var1];
|
|
|
|
for (int var3 = 0; var3 < var1; ++var3) {
|
|
var0.pixels[var3] = class268.SpriteBuffer_spritePalette[var2[var3] & 255];
|
|
}
|
|
|
|
Message.method1223();
|
|
return var0;
|
|
}
|
|
|
|
@ObfuscatedName("je")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIIIIIII)V",
|
|
garbageValue = "946172281"
|
|
)
|
|
@Export("updateRootInterface")
|
|
static final void updateRootInterface(int var0, int var1, int var2, int var3, int var4, int var5, int var6) {
|
|
if (MusicPatch.loadInterface(var0)) {
|
|
WorldMapAreaData.updateInterface(UserComparator7.Widget_interfaceComponents[var0], -1, var1, var2, var3, var4, var5, var6);
|
|
}
|
|
}
|
|
}
|