1058 lines
25 KiB
Java
1058 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("kc")
|
|
@Implements("Buffer")
|
|
public class Buffer extends Node {
|
|
@ObfuscatedName("o")
|
|
@Export("crc32Table")
|
|
static int[] crc32Table;
|
|
@ObfuscatedName("d")
|
|
@Export("crc64Table")
|
|
static long[] crc64Table;
|
|
@ObfuscatedName("l")
|
|
@Export("array")
|
|
public byte[] array;
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedGetter(
|
|
intValue = -827254609
|
|
)
|
|
@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 ((var4 & 1L) == 1L) {
|
|
var4 = var4 >>> 1 ^ -3932672073523589310L;
|
|
} else {
|
|
var4 >>>= 1;
|
|
}
|
|
}
|
|
|
|
crc64Table[var2] = var4;
|
|
}
|
|
|
|
}
|
|
|
|
public Buffer(int var1) {
|
|
this.array = World.ByteArrayPool_getArray(var1);
|
|
this.offset = 0;
|
|
}
|
|
|
|
public Buffer(byte[] var1) {
|
|
this.array = var1;
|
|
this.offset = 0;
|
|
}
|
|
|
|
@ObfuscatedName("ai")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)V",
|
|
garbageValue = "67"
|
|
)
|
|
@Export("releaseArray")
|
|
public void releaseArray() {
|
|
if (this.array != null) {
|
|
class191.ByteArrayPool_release(this.array);
|
|
}
|
|
|
|
this.array = null;
|
|
}
|
|
|
|
@ObfuscatedName("ac")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-124467030"
|
|
)
|
|
@Export("writeByte")
|
|
public void writeByte(int var1) {
|
|
this.array[++this.offset - 1] = (byte)var1;
|
|
}
|
|
|
|
@ObfuscatedName("at")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-469527659"
|
|
)
|
|
@Export("writeShort")
|
|
public void writeShort(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 8);
|
|
this.array[++this.offset - 1] = (byte)var1;
|
|
}
|
|
|
|
@ObfuscatedName("as")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-1060098226"
|
|
)
|
|
@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("ba")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-1202665318"
|
|
)
|
|
@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("bg")
|
|
@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("bc")
|
|
@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("bd")
|
|
@ObfuscatedSignature(
|
|
signature = "(ZI)V",
|
|
garbageValue = "-802962767"
|
|
)
|
|
@Export("writeBoolean")
|
|
public void writeBoolean(boolean var1) {
|
|
this.writeByte(var1 ? 1 : 0);
|
|
}
|
|
|
|
@ObfuscatedName("bl")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;I)V",
|
|
garbageValue = "1119026352"
|
|
)
|
|
@Export("writeStringCp1252NullTerminated")
|
|
public void writeStringCp1252NullTerminated(String var1) {
|
|
int var2 = var1.indexOf(0);
|
|
if (var2 >= 0) {
|
|
throw new IllegalArgumentException("");
|
|
} else {
|
|
this.offset += GrandExchangeOffer.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset);
|
|
this.array[++this.offset - 1] = 0;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("bu")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;I)V",
|
|
garbageValue = "-1964385686"
|
|
)
|
|
@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 += GrandExchangeOffer.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset);
|
|
this.array[++this.offset - 1] = 0;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("br")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/CharSequence;B)V",
|
|
garbageValue = "8"
|
|
)
|
|
@Export("writeCESU8")
|
|
public void writeCESU8(CharSequence var1) {
|
|
int var2 = Projectile.method2268(var1);
|
|
this.array[++this.offset - 1] = 0;
|
|
this.writeVarInt(var2);
|
|
this.offset += Entity.method3390(this.array, this.offset, var1);
|
|
}
|
|
|
|
@ObfuscatedName("bq")
|
|
@ObfuscatedSignature(
|
|
signature = "([BIIS)V",
|
|
garbageValue = "-9801"
|
|
)
|
|
@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("bi")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)V",
|
|
garbageValue = "4"
|
|
)
|
|
@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("be")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)V",
|
|
garbageValue = "-72"
|
|
)
|
|
@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("bt")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-69272234"
|
|
)
|
|
@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("bs")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "2007891987"
|
|
)
|
|
@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("bj")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)V",
|
|
garbageValue = "97"
|
|
)
|
|
@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("bm")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "29"
|
|
)
|
|
@Export("readUnsignedByte")
|
|
public int readUnsignedByte() {
|
|
return this.array[++this.offset - 1] & 255;
|
|
}
|
|
|
|
@ObfuscatedName("bn")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)B",
|
|
garbageValue = "122"
|
|
)
|
|
@Export("readByte")
|
|
public byte readByte() {
|
|
return this.array[++this.offset - 1];
|
|
}
|
|
|
|
@ObfuscatedName("bz")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "66"
|
|
)
|
|
@Export("readUnsignedShort")
|
|
public int readUnsignedShort() {
|
|
this.offset += 2;
|
|
return (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8);
|
|
}
|
|
|
|
@ObfuscatedName("bo")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "1302638663"
|
|
)
|
|
@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("bk")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "0"
|
|
)
|
|
@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 = "-1932524542"
|
|
)
|
|
@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("bw")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)J",
|
|
garbageValue = "-1857115687"
|
|
)
|
|
@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 = "462936462"
|
|
)
|
|
@Export("readBoolean")
|
|
public boolean readBoolean() {
|
|
return (this.readUnsignedByte() & 1) == 1;
|
|
}
|
|
|
|
@ObfuscatedName("bf")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Ljava/lang/String;",
|
|
garbageValue = "-1021286320"
|
|
)
|
|
@Export("readStringCp1252NullTerminatedOrNull")
|
|
public String readStringCp1252NullTerminatedOrNull() {
|
|
if (this.array[this.offset] == 0) {
|
|
++this.offset;
|
|
return null;
|
|
} else {
|
|
return this.readStringCp1252NullTerminated();
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("by")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Ljava/lang/String;",
|
|
garbageValue = "-63676026"
|
|
)
|
|
@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 ? "" : class160.decodeStringCp1252(this.array, var1, var2);
|
|
}
|
|
|
|
@ObfuscatedName("bp")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Ljava/lang/String;",
|
|
garbageValue = "445274981"
|
|
)
|
|
@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 ? "" : class160.decodeStringCp1252(this.array, var2, var3);
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("cx")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Ljava/lang/String;",
|
|
garbageValue = "1958782178"
|
|
)
|
|
@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 = var5 + var2; 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("cv")
|
|
@ObfuscatedSignature(
|
|
signature = "([BIII)V",
|
|
garbageValue = "-2023216453"
|
|
)
|
|
@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("ce")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "1739180184"
|
|
)
|
|
@Export("readShortSmart")
|
|
public int readShortSmart() {
|
|
int var1 = this.array[this.offset] & 255;
|
|
return var1 < 128 ? this.readUnsignedByte() - 64 : this.readUnsignedShort() - 49152;
|
|
}
|
|
|
|
@ObfuscatedName("cw")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "1284153115"
|
|
)
|
|
@Export("readUShortSmart")
|
|
public int readUShortSmart() {
|
|
int var1 = this.array[this.offset] & 255;
|
|
return var1 < 128 ? this.readUnsignedByte() : this.readUnsignedShort() - 32768;
|
|
}
|
|
|
|
@ObfuscatedName("cd")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-1852913201"
|
|
)
|
|
public int method5623() {
|
|
int var1 = 0;
|
|
|
|
int var2;
|
|
for (var2 = this.readUShortSmart(); var2 == 32767; var2 = this.readUShortSmart()) {
|
|
var1 += 32767;
|
|
}
|
|
|
|
var1 += var2;
|
|
return var1;
|
|
}
|
|
|
|
@ObfuscatedName("cn")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "1135440353"
|
|
)
|
|
public int method5624() {
|
|
return this.array[this.offset] < 0 ? this.readInt() & Integer.MAX_VALUE : this.readUnsignedShort();
|
|
}
|
|
|
|
@ObfuscatedName("cr")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "918113281"
|
|
)
|
|
public int method5638() {
|
|
if (this.array[this.offset] < 0) {
|
|
return this.readInt() & Integer.MAX_VALUE;
|
|
} else {
|
|
int var1 = this.readUnsignedShort();
|
|
return var1 == 32767 ? -1 : var1;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("ci")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "46"
|
|
)
|
|
@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("cy")
|
|
@ObfuscatedSignature(
|
|
signature = "([II)V",
|
|
garbageValue = "-1693681803"
|
|
)
|
|
@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("cl")
|
|
@ObfuscatedSignature(
|
|
signature = "([IB)V",
|
|
garbageValue = "68"
|
|
)
|
|
@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("co")
|
|
@ObfuscatedSignature(
|
|
signature = "([IIII)V",
|
|
garbageValue = "-2013644278"
|
|
)
|
|
@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("cu")
|
|
@ObfuscatedSignature(
|
|
signature = "([IIII)V",
|
|
garbageValue = "-1289996541"
|
|
)
|
|
@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("cz")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/math/BigInteger;Ljava/math/BigInteger;B)V",
|
|
garbageValue = "46"
|
|
)
|
|
@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("cq")
|
|
@ObfuscatedSignature(
|
|
signature = "(IS)I",
|
|
garbageValue = "-12364"
|
|
)
|
|
@Export("writeCrc")
|
|
public int writeCrc(int var1) {
|
|
int var2 = class3.method50(this.array, var1, this.offset);
|
|
this.writeInt(var2);
|
|
return var2;
|
|
}
|
|
|
|
@ObfuscatedName("cj")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)Z",
|
|
garbageValue = "0"
|
|
)
|
|
@Export("checkCrc")
|
|
public boolean checkCrc() {
|
|
this.offset -= 4;
|
|
int var1 = class3.method50(this.array, 0, this.offset);
|
|
int var2 = this.readInt();
|
|
return var1 == var2;
|
|
}
|
|
|
|
@ObfuscatedName("cm")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "274218508"
|
|
)
|
|
public void method5634(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(var1 + 128);
|
|
}
|
|
|
|
@ObfuscatedName("cb")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-1061719400"
|
|
)
|
|
public void method5635(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(0 - var1);
|
|
}
|
|
|
|
@ObfuscatedName("cp")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-1910519130"
|
|
)
|
|
public void method5636(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(128 - var1);
|
|
}
|
|
|
|
@ObfuscatedName("cs")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "21"
|
|
)
|
|
public int method5697() {
|
|
return this.array[++this.offset - 1] - 128 & 255;
|
|
}
|
|
|
|
@ObfuscatedName("ck")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-806225833"
|
|
)
|
|
public int method5622() {
|
|
return 0 - this.array[++this.offset - 1] & 255;
|
|
}
|
|
|
|
@ObfuscatedName("ct")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "6"
|
|
)
|
|
public int method5639() {
|
|
return 128 - this.array[++this.offset - 1] & 255;
|
|
}
|
|
|
|
@ObfuscatedName("cc")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)B",
|
|
garbageValue = "-787549657"
|
|
)
|
|
public byte method5640() {
|
|
return (byte)(this.array[++this.offset - 1] - 128);
|
|
}
|
|
|
|
@ObfuscatedName("ch")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)B",
|
|
garbageValue = "-1656298865"
|
|
)
|
|
public byte method5671() {
|
|
return (byte)(0 - this.array[++this.offset - 1]);
|
|
}
|
|
|
|
@ObfuscatedName("cg")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)B",
|
|
garbageValue = "1929724921"
|
|
)
|
|
public byte method5763() {
|
|
return (byte)(128 - this.array[++this.offset - 1]);
|
|
}
|
|
|
|
@ObfuscatedName("cf")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "1201605899"
|
|
)
|
|
public void method5643(int var1) {
|
|
this.array[++this.offset - 1] = (byte)var1;
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 8);
|
|
}
|
|
|
|
@ObfuscatedName("ca")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-1719673408"
|
|
)
|
|
public void method5644(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 8);
|
|
this.array[++this.offset - 1] = (byte)(var1 + 128);
|
|
}
|
|
|
|
@ObfuscatedName("db")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-1488299936"
|
|
)
|
|
@Export("writeShortLE")
|
|
public void writeShortLE(int var1) {
|
|
this.array[++this.offset - 1] = (byte)(var1 + 128);
|
|
this.array[++this.offset - 1] = (byte)(var1 >> 8);
|
|
}
|
|
|
|
@ObfuscatedName("dq")
|
|
@ObfuscatedSignature(
|
|
signature = "(S)I",
|
|
garbageValue = "-7547"
|
|
)
|
|
public int method5646() {
|
|
this.offset += 2;
|
|
return ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] & 255);
|
|
}
|
|
|
|
@ObfuscatedName("dd")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "96"
|
|
)
|
|
public int method5647() {
|
|
this.offset += 2;
|
|
return (this.array[this.offset - 1] - 128 & 255) + ((this.array[this.offset - 2] & 255) << 8);
|
|
}
|
|
|
|
@ObfuscatedName("dl")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "1001624658"
|
|
)
|
|
public int method5648() {
|
|
this.offset += 2;
|
|
return ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] - 128 & 255);
|
|
}
|
|
|
|
@ObfuscatedName("dm")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "1363257322"
|
|
)
|
|
public int method5649() {
|
|
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("di")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "-11"
|
|
)
|
|
public int method5650() {
|
|
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("dn")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "60"
|
|
)
|
|
public int method5651() {
|
|
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("dr")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "842389221"
|
|
)
|
|
public int method5678() {
|
|
this.offset += 3;
|
|
return (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 3] & 255) << 8) + ((this.array[this.offset - 2] & 255) << 16);
|
|
}
|
|
|
|
@ObfuscatedName("do")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-1296850548"
|
|
)
|
|
public void method5653(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("ds")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-232914500"
|
|
)
|
|
@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("dz")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-1673259479"
|
|
)
|
|
public void method5655(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 = "(B)I",
|
|
garbageValue = "-18"
|
|
)
|
|
public int method5656() {
|
|
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("df")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-1810248535"
|
|
)
|
|
public int method5796() {
|
|
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("da")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)I",
|
|
garbageValue = "-1563321841"
|
|
)
|
|
public int method5603() {
|
|
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("dg")
|
|
@ObfuscatedSignature(
|
|
signature = "([BIII)V",
|
|
garbageValue = "-2008997891"
|
|
)
|
|
public void method5702(byte[] var1, int var2, int var3) {
|
|
for (int var4 = var3 + var2 - 1; var4 >= var2; --var4) {
|
|
var1[var4] = (byte)(this.array[++this.offset - 1] - 128);
|
|
}
|
|
|
|
}
|
|
}
|