1056 lines
25 KiB
Java
1056 lines
25 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("ky")
|
|
@Implements("Buffer")
|
|
public class Buffer extends Node {
|
|
@ObfuscatedName("q")
|
|
@Export("crc32Table")
|
|
public static int[] crc32Table;
|
|
@ObfuscatedName("d")
|
|
@Export("crc64Table")
|
|
static long[] crc64Table;
|
|
@ObfuscatedName("n")
|
|
@Export("array")
|
|
public byte[] array;
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedGetter(
|
|
intValue = -823557765
|
|
)
|
|
@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 = class60.ByteArrayPool_getArray(var1);
|
|
this.offset = 0;
|
|
}
|
|
|
|
public Buffer(byte[] var1) {
|
|
this.array = var1;
|
|
this.offset = 0;
|
|
}
|
|
|
|
@ObfuscatedName("aq")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)V",
|
|
garbageValue = "1"
|
|
)
|
|
@Export("releaseArray")
|
|
public void releaseArray() {
|
|
if (this.array != null) {
|
|
WorldMapElement.ByteArrayPool_release(this.array);
|
|
}
|
|
|
|
this.array = null;
|
|
}
|
|
|
|
@ObfuscatedName("ay")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "26222460"
|
|
)
|
|
@Export("writeByte")
|
|
public void writeByte(int var1) {
|
|
this.array[++this.offset - 1] = (byte)var1;
|
|
}
|
|
|
|
@ObfuscatedName("ad")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "1309375768"
|
|
)
|
|
@Export("writeShort")
|
|
public void writeShort(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 8);
|
|
this.array[++this.offset - 1] = (byte)var1;
|
|
}
|
|
|
|
@ObfuscatedName("al")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "1866078389"
|
|
)
|
|
@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("ah")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "1393781479"
|
|
)
|
|
@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("ab")
|
|
@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("aw")
|
|
@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("ae")
|
|
@ObfuscatedSignature(
|
|
signature = "(ZB)V",
|
|
garbageValue = "15"
|
|
)
|
|
@Export("writeBoolean")
|
|
public void writeBoolean(boolean var1) {
|
|
this.writeByte(var1 ? 1 : 0);
|
|
}
|
|
|
|
@ObfuscatedName("bw")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;B)V",
|
|
garbageValue = "-97"
|
|
)
|
|
@Export("writeStringCp1252NullTerminated")
|
|
public void writeStringCp1252NullTerminated(String var1) {
|
|
int var2 = var1.indexOf(0);
|
|
if (var2 >= 0) {
|
|
throw new IllegalArgumentException("");
|
|
} else {
|
|
this.offset += ChatChannel.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset);
|
|
this.array[++this.offset - 1] = 0;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("bn")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;I)V",
|
|
garbageValue = "1644174948"
|
|
)
|
|
@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 += ChatChannel.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset);
|
|
this.array[++this.offset - 1] = 0;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("bp")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/CharSequence;S)V",
|
|
garbageValue = "6886"
|
|
)
|
|
@Export("writeCESU8")
|
|
public void writeCESU8(CharSequence var1) {
|
|
int var3 = var1.length();
|
|
int var4 = 0;
|
|
|
|
int var5;
|
|
for (var5 = 0; var5 < var3; ++var5) {
|
|
char var6 = var1.charAt(var5);
|
|
if (var6 <= 127) {
|
|
++var4;
|
|
} else if (var6 <= 2047) {
|
|
var4 += 2;
|
|
} else {
|
|
var4 += 3;
|
|
}
|
|
}
|
|
|
|
this.array[++this.offset - 1] = 0;
|
|
this.writeVarInt(var4);
|
|
var4 = this.offset;
|
|
byte[] var12 = this.array;
|
|
int var7 = this.offset;
|
|
int var8 = var1.length();
|
|
int var9 = var7;
|
|
|
|
for (int var10 = 0; var10 < var8; ++var10) {
|
|
char var11 = var1.charAt(var10);
|
|
if (var11 <= 127) {
|
|
var12[var9++] = (byte)var11;
|
|
} else if (var11 <= 2047) {
|
|
var12[var9++] = (byte)(192 | var11 >> 6);
|
|
var12[var9++] = (byte)(128 | var11 & '?');
|
|
} else {
|
|
var12[var9++] = (byte)(224 | var11 >> '\f');
|
|
var12[var9++] = (byte)(128 | var11 >> 6 & 63);
|
|
var12[var9++] = (byte)(128 | var11 & '?');
|
|
}
|
|
}
|
|
|
|
var5 = var9 - var7;
|
|
this.offset = var5 + var4;
|
|
}
|
|
|
|
@ObfuscatedName("bz")
|
|
@ObfuscatedSignature(
|
|
signature = "([BIII)V",
|
|
garbageValue = "-2063630322"
|
|
)
|
|
@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("bh")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "1257286815"
|
|
)
|
|
@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("bv")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)V",
|
|
garbageValue = "50"
|
|
)
|
|
@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("bj")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "380591196"
|
|
)
|
|
@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("bq")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-2115031789"
|
|
)
|
|
@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("by")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "2105291599"
|
|
)
|
|
@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 = "-1804591207"
|
|
)
|
|
@Export("readUnsignedByte")
|
|
public int readUnsignedByte() {
|
|
return this.array[++this.offset - 1] & 255;
|
|
}
|
|
|
|
@ObfuscatedName("bi")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)B",
|
|
garbageValue = "2067539630"
|
|
)
|
|
@Export("readByte")
|
|
public byte readByte() {
|
|
return this.array[++this.offset - 1];
|
|
}
|
|
|
|
@ObfuscatedName("bf")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "15"
|
|
)
|
|
@Export("readUnsignedShort")
|
|
public int readUnsignedShort() {
|
|
this.offset += 2;
|
|
return (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8);
|
|
}
|
|
|
|
@ObfuscatedName("bd")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-861597845"
|
|
)
|
|
@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("br")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-598726421"
|
|
)
|
|
@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("bm")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "3"
|
|
)
|
|
@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 = "(I)J",
|
|
garbageValue = "1115582555"
|
|
)
|
|
@Export("readLong")
|
|
public long readLong() {
|
|
long var1 = (long)this.readInt() & 4294967295L;
|
|
long var3 = (long)this.readInt() & 4294967295L;
|
|
return (var1 << 32) + var3;
|
|
}
|
|
|
|
@ObfuscatedName("bb")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Z",
|
|
garbageValue = "2141139990"
|
|
)
|
|
@Export("readBoolean")
|
|
public boolean readBoolean() {
|
|
return (this.readUnsignedByte() & 1) == 1;
|
|
}
|
|
|
|
@ObfuscatedName("bl")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Ljava/lang/String;",
|
|
garbageValue = "-373862586"
|
|
)
|
|
@Export("readStringCp1252NullTerminatedOrNull")
|
|
public String readStringCp1252NullTerminatedOrNull() {
|
|
if (this.array[this.offset] == 0) {
|
|
++this.offset;
|
|
return null;
|
|
} else {
|
|
return this.readStringCp1252NullTerminated();
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("bt")
|
|
@ObfuscatedSignature(
|
|
signature = "(S)Ljava/lang/String;",
|
|
garbageValue = "-25708"
|
|
)
|
|
@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 ? "" : ViewportMouse.decodeStringCp1252(this.array, var1, var2);
|
|
}
|
|
|
|
@ObfuscatedName("bx")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Ljava/lang/String;",
|
|
garbageValue = "1244023154"
|
|
)
|
|
@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 ? "" : ViewportMouse.decodeStringCp1252(this.array, var2, var3);
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("ba")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Ljava/lang/String;",
|
|
garbageValue = "812121562"
|
|
)
|
|
@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 {
|
|
String var3 = KeyHandler.method786(this.array, this.offset, var2);
|
|
this.offset += var2;
|
|
return var3;
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("bg")
|
|
@ObfuscatedSignature(
|
|
signature = "([BIII)V",
|
|
garbageValue = "1127647987"
|
|
)
|
|
@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("be")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "8"
|
|
)
|
|
@Export("readShortSmart")
|
|
public int readShortSmart() {
|
|
int var1 = this.array[this.offset] & 255;
|
|
return var1 < 128 ? this.readUnsignedByte() - 64 : this.readUnsignedShort() - 49152;
|
|
}
|
|
|
|
@ObfuscatedName("bc")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-1325782569"
|
|
)
|
|
@Export("readUShortSmart")
|
|
public int readUShortSmart() {
|
|
int var1 = this.array[this.offset] & 255;
|
|
return var1 < 128 ? this.readUnsignedByte() : this.readUnsignedShort() - 32768;
|
|
}
|
|
|
|
@ObfuscatedName("ce")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "-121"
|
|
)
|
|
public int method5565() {
|
|
int var1 = 0;
|
|
|
|
int var2;
|
|
for (var2 = this.readUShortSmart(); var2 == 32767; var2 = this.readUShortSmart()) {
|
|
var1 += 32767;
|
|
}
|
|
|
|
var1 += var2;
|
|
return var1;
|
|
}
|
|
|
|
@ObfuscatedName("ci")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-572319792"
|
|
)
|
|
public int method5423() {
|
|
return this.array[this.offset] < 0 ? this.readInt() & Integer.MAX_VALUE : this.readUnsignedShort();
|
|
}
|
|
|
|
@ObfuscatedName("ck")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-551220605"
|
|
)
|
|
public int method5602() {
|
|
if (this.array[this.offset] < 0) {
|
|
return this.readInt() & Integer.MAX_VALUE;
|
|
} else {
|
|
int var1 = this.readUnsignedShort();
|
|
return var1 == 32767 ? -1 : var1;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("cc")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "1421419631"
|
|
)
|
|
@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("cd")
|
|
@ObfuscatedSignature(
|
|
signature = "([II)V",
|
|
garbageValue = "-1793126662"
|
|
)
|
|
@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 = "([IB)V",
|
|
garbageValue = "-13"
|
|
)
|
|
@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("cw")
|
|
@ObfuscatedSignature(
|
|
signature = "([IIII)V",
|
|
garbageValue = "-364788606"
|
|
)
|
|
@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("cj")
|
|
@ObfuscatedSignature(
|
|
signature = "([IIII)V",
|
|
garbageValue = "1445467920"
|
|
)
|
|
@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("cp")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/math/BigInteger;Ljava/math/BigInteger;I)V",
|
|
garbageValue = "-1886495382"
|
|
)
|
|
@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("cu")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)I",
|
|
garbageValue = "6"
|
|
)
|
|
@Export("writeCrc")
|
|
public int writeCrc(int var1) {
|
|
byte[] var3 = this.array;
|
|
int var4 = this.offset;
|
|
int var5 = -1;
|
|
|
|
for (int var6 = var1; var6 < var4; ++var6) {
|
|
var5 = var5 >>> 8 ^ crc32Table[(var5 ^ var3[var6]) & 255];
|
|
}
|
|
|
|
var5 = ~var5;
|
|
this.writeInt(var5);
|
|
return var5;
|
|
}
|
|
|
|
@ObfuscatedName("cm")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Z",
|
|
garbageValue = "-11685633"
|
|
)
|
|
@Export("checkCrc")
|
|
public boolean checkCrc() {
|
|
this.offset -= 4;
|
|
byte[] var2 = this.array;
|
|
int var3 = this.offset;
|
|
int var4 = -1;
|
|
|
|
int var5;
|
|
for (var5 = 0; var5 < var3; ++var5) {
|
|
var4 = var4 >>> 8 ^ crc32Table[(var4 ^ var2[var5]) & 255];
|
|
}
|
|
|
|
var4 = ~var4;
|
|
var5 = this.readInt();
|
|
return var5 == var4;
|
|
}
|
|
|
|
@ObfuscatedName("cb")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)V",
|
|
garbageValue = "12"
|
|
)
|
|
public void method5433(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(var1 + 128);
|
|
}
|
|
|
|
@ObfuscatedName("ch")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-1332263426"
|
|
)
|
|
public void method5545(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(0 - var1);
|
|
}
|
|
|
|
@ObfuscatedName("cn")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)V",
|
|
garbageValue = "10"
|
|
)
|
|
public void method5435(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(128 - var1);
|
|
}
|
|
|
|
@ObfuscatedName("cr")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "-34"
|
|
)
|
|
public int method5436() {
|
|
return this.array[++this.offset - 1] - 128 & 255;
|
|
}
|
|
|
|
@ObfuscatedName("cl")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "1565223364"
|
|
)
|
|
@Export("readUnsignedByteNegate")
|
|
public int readUnsignedByteNegate() {
|
|
return 0 - this.array[++this.offset - 1] & 255;
|
|
}
|
|
|
|
@ObfuscatedName("cg")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "-121"
|
|
)
|
|
public int method5438() {
|
|
return 128 - this.array[++this.offset - 1] & 255;
|
|
}
|
|
|
|
@ObfuscatedName("cy")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)B",
|
|
garbageValue = "-1467076143"
|
|
)
|
|
public byte method5616() {
|
|
return (byte)(this.array[++this.offset - 1] - 128);
|
|
}
|
|
|
|
@ObfuscatedName("cz")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)B",
|
|
garbageValue = "1466744800"
|
|
)
|
|
public byte method5421() {
|
|
return (byte)(0 - this.array[++this.offset - 1]);
|
|
}
|
|
|
|
@ObfuscatedName("cv")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)B",
|
|
garbageValue = "-1597148556"
|
|
)
|
|
public byte method5441() {
|
|
return (byte)(128 - this.array[++this.offset - 1]);
|
|
}
|
|
|
|
@ObfuscatedName("cq")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-785731883"
|
|
)
|
|
@Export("writeShortLE")
|
|
public void writeShortLE(int var1) {
|
|
this.array[++this.offset - 1] = (byte)var1;
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 8);
|
|
}
|
|
|
|
@ObfuscatedName("ct")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "1047736204"
|
|
)
|
|
public void method5443(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 8);
|
|
this.array[++this.offset - 1] = (byte)(var1 + 128);
|
|
}
|
|
|
|
@ObfuscatedName("cx")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "1307961550"
|
|
)
|
|
public void method5432(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(var1 + 128);
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 8);
|
|
}
|
|
|
|
@ObfuscatedName("ca")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "34"
|
|
)
|
|
public int method5445() {
|
|
this.offset += 2;
|
|
return ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] & 255);
|
|
}
|
|
|
|
@ObfuscatedName("cs")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "52"
|
|
)
|
|
public int method5446() {
|
|
this.offset += 2;
|
|
return (this.array[this.offset - 1] - 128 & 255) + ((this.array[this.offset - 2] & 255) << 8);
|
|
}
|
|
|
|
@ObfuscatedName("co")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "203510338"
|
|
)
|
|
public int method5447() {
|
|
this.offset += 2;
|
|
return ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] - 128 & 255);
|
|
}
|
|
|
|
@ObfuscatedName("dr")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-823557765"
|
|
)
|
|
public int method5448() {
|
|
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("dd")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-1479368922"
|
|
)
|
|
public int method5434() {
|
|
this.offset += 2;
|
|
int var1 = ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] - 128 & 255);
|
|
if (var1 > 32767) {
|
|
var1 -= 65536;
|
|
}
|
|
|
|
return var1;
|
|
}
|
|
|
|
@ObfuscatedName("dv")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-1804428572"
|
|
)
|
|
public int method5449() {
|
|
this.offset += 3;
|
|
return (this.array[this.offset - 3] & 255) + ((this.array[this.offset - 2] & 255) << 8) + ((this.array[this.offset - 1] & 255) << 16);
|
|
}
|
|
|
|
@ObfuscatedName("da")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "997752481"
|
|
)
|
|
@Export("writeIntLE")
|
|
public void writeIntLE(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("dh")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)V",
|
|
garbageValue = "94"
|
|
)
|
|
@Export("writeIntME")
|
|
public void writeIntME(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("dm")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "742164705"
|
|
)
|
|
@Export("writeIntLE16")
|
|
public void writeIntLE16(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("dj")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-1937988665"
|
|
)
|
|
public int method5505() {
|
|
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("dc")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "98"
|
|
)
|
|
public int method5455() {
|
|
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("db")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "-33"
|
|
)
|
|
public int method5414() {
|
|
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("dx")
|
|
@ObfuscatedSignature(
|
|
signature = "([BIII)V",
|
|
garbageValue = "1071281288"
|
|
)
|
|
public void method5457(byte[] var1, int var2, int var3) {
|
|
for (int var4 = var2; var4 < var3 + var2; ++var4) {
|
|
var1[var4] = (byte)(this.array[++this.offset - 1] - 128);
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("s")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Lgq;",
|
|
garbageValue = "-1208544567"
|
|
)
|
|
static PacketBufferNode method5567() {
|
|
return PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0 ? new PacketBufferNode() : PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount];
|
|
}
|
|
}
|