project: Rev 202

This commit is contained in:
Owain van Brakel
2021-12-14 18:20:58 +01:00
parent e974585ce8
commit 7c7bf0901a
406 changed files with 39725 additions and 39842 deletions

View File

@@ -27,87 +27,87 @@ public class Huffman {
int[] keys;
public Huffman(byte[] var1) {
int var2 = var1.length; // L: 9
this.masks = new int[var2]; // L: 10
this.bits = var1; // L: 11
int[] var3 = new int[33]; // L: 12
this.keys = new int[8]; // L: 13
int var4 = 0; // L: 14
int var2 = var1.length;
this.masks = new int[var2];
this.bits = var1;
int[] var3 = new int[33];
this.keys = new int[8];
int var4 = 0;
for (int var5 = 0; var5 < var2; ++var5) { // L: 15
byte var6 = var1[var5]; // L: 16
if (var6 != 0) { // L: 17
int var7 = 1 << 32 - var6; // L: 18
int var8 = var3[var6]; // L: 19
this.masks[var5] = var8; // L: 20
for (int var5 = 0; var5 < var2; ++var5) {
byte var6 = var1[var5];
if (var6 != 0) {
int var7 = 1 << 32 - var6;
int var8 = var3[var6];
this.masks[var5] = var8;
int var9;
int var10;
int var11;
int var12;
if ((var8 & var7) != 0) { // L: 22
if ((var8 & var7) != 0) {
var9 = var3[var6 - 1];
} else {
var9 = var8 | var7; // L: 24
var9 = var8 | var7;
for (var10 = var6 - 1; var10 >= 1; --var10) { // L: 25
var11 = var3[var10]; // L: 26
if (var8 != var11) { // L: 27
for (var10 = var6 - 1; var10 >= 1; --var10) {
var11 = var3[var10];
if (var8 != var11) {
break;
}
var12 = 1 << 32 - var10; // L: 28
if ((var11 & var12) != 0) { // L: 29
var3[var10] = var3[var10 - 1]; // L: 30
var12 = 1 << 32 - var10;
if ((var11 & var12) != 0) {
var3[var10] = var3[var10 - 1];
break;
}
var3[var10] = var11 | var12; // L: 33
var3[var10] = var11 | var12;
}
}
var3[var6] = var9; // L: 38
var3[var6] = var9;
for (var10 = var6 + 1; var10 <= 32; ++var10) { // L: 39
if (var8 == var3[var10]) { // L: 40
for (var10 = var6 + 1; var10 <= 32; ++var10) {
if (var8 == var3[var10]) {
var3[var10] = var9;
}
}
var10 = 0; // L: 42
var10 = 0;
for (var11 = 0; var11 < var6; ++var11) { // L: 43
var12 = Integer.MIN_VALUE >>> var11; // L: 44
if ((var8 & var12) != 0) { // L: 45
if (this.keys[var10] == 0) { // L: 46
for (var11 = 0; var11 < var6; ++var11) {
var12 = Integer.MIN_VALUE >>> var11;
if ((var8 & var12) != 0) {
if (this.keys[var10] == 0) {
this.keys[var10] = var4;
}
var10 = this.keys[var10]; // L: 47
var10 = this.keys[var10];
} else {
++var10; // L: 49
++var10;
}
if (var10 >= this.keys.length) { // L: 50
int[] var13 = new int[this.keys.length * 2]; // L: 51
if (var10 >= this.keys.length) {
int[] var13 = new int[this.keys.length * 2];
for (int var14 = 0; var14 < this.keys.length; ++var14) { // L: 52
for (int var14 = 0; var14 < this.keys.length; ++var14) {
var13[var14] = this.keys[var14];
}
this.keys = var13; // L: 53
this.keys = var13;
}
var12 >>>= 1; // L: 55
var12 >>>= 1;
}
this.keys[var10] = ~var5; // L: 57
if (var10 >= var4) { // L: 58
this.keys[var10] = ~var5;
if (var10 >= var4) {
var4 = var10 + 1;
}
}
}
} // L: 60
}
@ObfuscatedName("c")
@ObfuscatedSignature(
@@ -116,48 +116,48 @@ public class Huffman {
)
@Export("compress")
int compress(byte[] var1, int var2, int var3, byte[] var4, int var5) {
int var6 = 0; // L: 63
int var7 = var5 << 3; // L: 64
int var6 = 0;
int var7 = var5 << 3;
for (var3 += var2; var2 < var3; ++var2) { // L: 65 66
int var8 = var1[var2] & 255; // L: 67
int var9 = this.masks[var8]; // L: 68
byte var10 = this.bits[var8]; // L: 69
if (var10 == 0) { // L: 70
for (var3 += var2; var2 < var3; ++var2) {
int var8 = var1[var2] & 255;
int var9 = this.masks[var8];
byte var10 = this.bits[var8];
if (var10 == 0) {
throw new RuntimeException("" + var8);
}
int var11 = var7 >> 3; // L: 71
int var12 = var7 & 7; // L: 72
var6 &= -var12 >> 31; // L: 73
int var13 = (var10 + var12 - 1 >> 3) + var11; // L: 74
var12 += 24; // L: 76
var4[var11] = (byte)(var6 |= var9 >>> var12); // L: 77
if (var11 < var13) { // L: 78
++var11; // L: 79
var12 -= 8; // L: 80
var4[var11] = (byte)(var6 = var9 >>> var12); // L: 81
if (var11 < var13) { // L: 82
++var11; // L: 83
var12 -= 8; // L: 84
var4[var11] = (byte)(var6 = var9 >>> var12); // L: 85
if (var11 < var13) { // L: 86
++var11; // L: 87
var12 -= 8; // L: 88
var4[var11] = (byte)(var6 = var9 >>> var12); // L: 89
if (var11 < var13) { // L: 90
++var11; // L: 91
var12 -= 8; // L: 92
var4[var11] = (byte)(var6 = var9 << -var12); // L: 93
int var11 = var7 >> 3;
int var12 = var7 & 7;
var6 &= -var12 >> 31;
int var13 = (var10 + var12 - 1 >> 3) + var11;
var12 += 24;
var4[var11] = (byte)(var6 |= var9 >>> var12);
if (var11 < var13) {
++var11;
var12 -= 8;
var4[var11] = (byte)(var6 = var9 >>> var12);
if (var11 < var13) {
++var11;
var12 -= 8;
var4[var11] = (byte)(var6 = var9 >>> var12);
if (var11 < var13) {
++var11;
var12 -= 8;
var4[var11] = (byte)(var6 = var9 >>> var12);
if (var11 < var13) {
++var11;
var12 -= 8;
var4[var11] = (byte)(var6 = var9 << -var12);
}
}
}
}
var7 += var10; // L: 95
var7 += var10;
}
return (var7 + 7 >> 3) - var5; // L: 97
return (var7 + 7 >> 3) - var5;
}
@ObfuscatedName("b")
@@ -167,140 +167,140 @@ public class Huffman {
)
@Export("decompress")
int decompress(byte[] var1, int var2, byte[] var3, int var4, int var5) {
if (var5 == 0) { // L: 101
if (var5 == 0) {
return 0;
} else {
int var6 = 0; // L: 102
var5 += var4; // L: 103
int var6 = 0;
var5 += var4;
int var7 = var2;
while (true) {
byte var8 = var1[var7]; // L: 106
if (var8 < 0) { // L: 108
byte var8 = var1[var7];
if (var8 < 0) {
var6 = this.keys[var6];
} else {
++var6; // L: 109
++var6;
}
int var9;
if ((var9 = this.keys[var6]) < 0) { // L: 110
var3[var4++] = (byte)(~var9); // L: 111
if (var4 >= var5) { // L: 112
if ((var9 = this.keys[var6]) < 0) {
var3[var4++] = (byte)(~var9);
if (var4 >= var5) {
break;
}
var6 = 0; // L: 113
var6 = 0;
}
if ((var8 & 64) != 0) { // L: 115
if ((var8 & 64) != 0) {
var6 = this.keys[var6];
} else {
++var6; // L: 116
++var6;
}
if ((var9 = this.keys[var6]) < 0) { // L: 117
var3[var4++] = (byte)(~var9); // L: 118
if (var4 >= var5) { // L: 119
if ((var9 = this.keys[var6]) < 0) {
var3[var4++] = (byte)(~var9);
if (var4 >= var5) {
break;
}
var6 = 0; // L: 120
var6 = 0;
}
if ((var8 & 32) != 0) { // L: 122
if ((var8 & 32) != 0) {
var6 = this.keys[var6];
} else {
++var6; // L: 123
++var6;
}
if ((var9 = this.keys[var6]) < 0) { // L: 124
var3[var4++] = (byte)(~var9); // L: 125
if (var4 >= var5) { // L: 126
if ((var9 = this.keys[var6]) < 0) {
var3[var4++] = (byte)(~var9);
if (var4 >= var5) {
break;
}
var6 = 0; // L: 127
var6 = 0;
}
if ((var8 & 16) != 0) { // L: 129
if ((var8 & 16) != 0) {
var6 = this.keys[var6];
} else {
++var6; // L: 130
++var6;
}
if ((var9 = this.keys[var6]) < 0) { // L: 131
var3[var4++] = (byte)(~var9); // L: 132
if (var4 >= var5) { // L: 133
if ((var9 = this.keys[var6]) < 0) {
var3[var4++] = (byte)(~var9);
if (var4 >= var5) {
break;
}
var6 = 0; // L: 134
var6 = 0;
}
if ((var8 & 8) != 0) { // L: 136
if ((var8 & 8) != 0) {
var6 = this.keys[var6];
} else {
++var6; // L: 137
++var6;
}
if ((var9 = this.keys[var6]) < 0) { // L: 138
var3[var4++] = (byte)(~var9); // L: 139
if (var4 >= var5) { // L: 140
if ((var9 = this.keys[var6]) < 0) {
var3[var4++] = (byte)(~var9);
if (var4 >= var5) {
break;
}
var6 = 0; // L: 141
var6 = 0;
}
if ((var8 & 4) != 0) { // L: 143
if ((var8 & 4) != 0) {
var6 = this.keys[var6];
} else {
++var6; // L: 144
++var6;
}
if ((var9 = this.keys[var6]) < 0) { // L: 145
var3[var4++] = (byte)(~var9); // L: 146
if (var4 >= var5) { // L: 147
if ((var9 = this.keys[var6]) < 0) {
var3[var4++] = (byte)(~var9);
if (var4 >= var5) {
break;
}
var6 = 0; // L: 148
var6 = 0;
}
if ((var8 & 2) != 0) { // L: 150
if ((var8 & 2) != 0) {
var6 = this.keys[var6];
} else {
++var6; // L: 151
++var6;
}
if ((var9 = this.keys[var6]) < 0) { // L: 152
var3[var4++] = (byte)(~var9); // L: 153
if (var4 >= var5) { // L: 154
if ((var9 = this.keys[var6]) < 0) {
var3[var4++] = (byte)(~var9);
if (var4 >= var5) {
break;
}
var6 = 0; // L: 155
var6 = 0;
}
if ((var8 & 1) != 0) {
var6 = this.keys[var6]; // L: 157
var6 = this.keys[var6];
} else {
++var6; // L: 158
++var6;
}
if ((var9 = this.keys[var6]) < 0) { // L: 159
var3[var4++] = (byte)(~var9); // L: 160
if (var4 >= var5) { // L: 161
if ((var9 = this.keys[var6]) < 0) {
var3[var4++] = (byte)(~var9);
if (var4 >= var5) {
break;
}
var6 = 0; // L: 162
var6 = 0;
}
++var7; // L: 105
++var7;
}
return var7 + 1 - var2; // L: 165
return var7 + 1 - var2;
}
}
}