private void method_28() { int num2; Class1114 class2 = new Class1114(this.stream_0, true); MemoryStream stream = new MemoryStream(); byte[] buffer = new byte[0x1000]; int num = 0; while ((num2 = class2.method_18(buffer, 0, 0x1000)) > 0) { stream.Write(buffer, 0, num2); num += num2; } if (this.long_1 <= 0L) { this.long_1 = num; } if (this.bool_0) { this.stream_0.Close(); } this.bool_0 = true; this.stream_0 = stream; stream.SetLength(this.long_1); stream.Capacity = (int)this.long_1; if (this.bool_2) { this.method_35(stream.GetBuffer()); } this.stream_0.Position = 0L; }
internal byte[] method_9(byte[] A_0) { byte[] buffer2; try { int num; MemoryStream stream = new MemoryStream(A_0); Class1114 class2 = new Class1114(stream); MemoryStream stream2 = new MemoryStream(); byte[] buffer = new byte[0x1000]; goto Label_002B; Label_0021: stream2.Write(buffer, 0, num); Label_002B: num = class2.method_18(buffer, 0, buffer.Length); if (num > 0) { goto Label_0021; } stream.Close(); stream = null; buffer2 = stream2.ToArray(); stream2.Close(); stream2 = null; } catch { using (GZipStream stream3 = new GZipStream(new MemoryStream(A_0), CompressionMode.Decompress, true)) { byte[] buffer3 = new byte[0x1000]; using (MemoryStream stream4 = new MemoryStream()) { int count = 0; goto Label_0094; Label_007F: if (count > 0) { goto Label_0094; } goto Label_00AB; Label_0086: stream4.Write(buffer3, 0, count); goto Label_007F; Label_0094: count = stream3.Read(buffer3, 0, buffer3.Length); if (count <= 0) { goto Label_007F; } goto Label_0086; Label_00AB: buffer2 = stream4.ToArray(); } return(buffer2); } } return(buffer2); }
public int method_3(Class1114 A_0) { int num2; int index = A_0.method_7(9); if (index >= 0) { num2 = this.short_0[index]; if (num2 >= 0) { A_0.method_8(num2 & 15); return(num2 >> 4); } int num4 = -(num2 >> 4); int num5 = num2 & 15; index = A_0.method_7(num5); if (index >= 0) { num2 = this.short_0[num4 | (index >> 9)]; A_0.method_8(num2 & 15); return(num2 >> 4); } int num6 = A_0.method_0(); index = A_0.method_7(num6); num2 = this.short_0[num4 | (index >> 9)]; if ((num2 & 15) <= num6) { A_0.method_8(num2 & 15); return(num2 >> 4); } return(-1); } int num3 = A_0.method_0(); index = A_0.method_7(num3); num2 = this.short_0[index]; if ((num2 >= 0) && ((num2 & 15) <= num3)) { A_0.method_8(num2 & 15); return(num2 >> 4); } return(-1); }