internal int method_38(byte[] A_0) { int num = 0; int length = A_0.Length; int sourceIndex = 0; if ((A_0 == null) || (this.int_55 != 0x2a)) { throw new Exception0(BookmarkStart.b("甥尧堩䤫伭崯ሱ儳䐵䨷唹主ွ", num)); } this.class1068_0.long_2 = Class603.smethod_0(this.class1068_0.long_2, A_0, 0, A_0.Length); if (length >= 3) { if (length > (this.int_59 - int_25)) { length = this.int_59 - int_25; sourceIndex = A_0.Length - length; } Array.Copy(A_0, sourceIndex, this.byte_1, 0, length); this.int_56 = length; this.int_31 = length; this.int_39 = this.byte_1[0] & 0xff; this.int_39 = ((this.int_39 << this.int_34) ^ (this.byte_1[1] & 0xff)) & this.int_33; for (int i = 0; i <= (length - 3); i++) { this.int_39 = ((this.int_39 << this.int_34) ^ (this.byte_1[i + 2] & 0xff)) & this.int_33; this.short_6[i & this.int_58] = this.short_5[this.int_39]; this.short_5[this.int_39] = (short)i; } } return(0); }
internal int method_5(int A_0) { int destinationIndex = this.class1068_0.int_2; int num2 = this.int_23; int num3 = ((num2 <= this.int_26) ? this.int_26 : this.int_17) - num2; if (num3 > this.class1068_0.int_3) { num3 = this.class1068_0.int_3; } if (A_0 == -5) { A_0 = 0; } this.class1068_0.int_3 -= num3; this.class1068_0.long_1 += num3; if (this.object_0 != null) { this.class1068_0.long_2 = this.long_0 = Class603.smethod_0(this.long_0, this.byte_0, num2, num3); } Array.Copy(this.byte_0, num2, this.class1068_0.byte_1, destinationIndex, num3); destinationIndex += num3; num2 += num3; if (num2 == this.int_17) { num2 = 0; if (this.int_26 == this.int_17) { this.int_26 = 0; } num3 = this.int_26 - num2; if (num3 > this.class1068_0.int_3) { num3 = this.class1068_0.int_3; } if ((num3 != 0) && (A_0 == -5)) { A_0 = 0; } this.class1068_0.int_3 -= num3; this.class1068_0.long_1 += num3; if (this.object_0 != null) { this.class1068_0.long_2 = this.long_0 = Class603.smethod_0(this.long_0, this.byte_0, num2, num3); } Array.Copy(this.byte_0, num2, this.class1068_0.byte_1, destinationIndex, num3); destinationIndex += num3; num2 += num3; } this.class1068_0.int_2 = destinationIndex; this.int_23 = num2; return(A_0); }
internal void method_35() { this.class1068_0.long_1 = 0L; this.class1068_0.long_0 = 0L; this.class1068_0.string_0 = null; this.int_51 = 0; this.int_49 = 0; this.bool_0 = false; this.int_55 = this.method_0() ? 0x2a : 0x71; this.class1068_0.long_2 = Class603.smethod_0(0L, null, 0, 0); this.int_41 = 0; this.method_3(); this.method_2(); }
internal void method_0(long[] A_0) { if (A_0 != null) { A_0[0] = this.long_0; } if (this.int_22 != 4) { } this.int_22 = 0; this.int_15 = 0; this.int_14 = 0; this.int_26 = 0; this.int_23 = 0; if (this.object_0 != null) { this.class1068_0.long_2 = this.long_0 = Class603.smethod_0(0L, null, 0, 0); } }
internal int method_20(byte[] A_0, int A_1, int A_2) { int num = this.int_1; if (num > A_2) { num = A_2; } if (num == 0) { return(0); } this.int_1 -= num; if (this.class935_0.method_0()) { this.long_2 = Class603.smethod_0(this.long_2, this.byte_0, this.int_0, num); } Array.Copy(this.byte_0, this.int_0, A_0, A_1, num); this.int_0 += num; this.long_0 += num; return(num); }
internal int method_6(byte[] A_0) { int num = 1; int num2 = 0; int length = A_0.Length; if (this.int_18 != 6) { throw new Exception0(BookmarkStart.b("琦崨太䠬丮尰ጲ倴䔶䬸吺似ᄾ", num)); } if (Class603.smethod_0(1L, A_0, 0, A_0.Length) != this.class1068_0.long_2) { return(-3); } this.class1068_0.long_2 = Class603.smethod_0(0L, null, 0, 0); if (length >= (((int)1) << this.int_19)) { length = (((int)1) << this.int_19) - 1; num2 = A_0.Length - length; } this.class607_0.method_3(A_0, num2, length); this.int_18 = 7; return(0); }
internal int method_39(FlushType A_0) { int num = 11; if (((this.class1068_0.byte_1 == null) || ((this.class1068_0.byte_0 == null) && (this.class1068_0.int_1 != 0))) || ((this.int_55 == 0x29a) && (A_0 != FlushType.Finish))) { this.class1068_0.string_0 = string_0[4]; throw new Exception0(string.Format(BookmarkStart.b("戰尲場制䴸区吼儾♀捂ⱄ㑆楈ⵊ㱎㥐⩒答睖ɘ⁚浜≞㱠", num), this.class1068_0.string_0)); } if (this.class1068_0.int_3 == 0) { this.class1068_0.string_0 = string_0[7]; throw new Exception0(BookmarkStart.b("縰䘲䄴䜶䰸伺缼䨾❀╂⁄㕆楈≊㹌潎㝐♒㥔㭖祘獚ᱜ⥞`।٦୨ݪࡰݲၴѶ㙸ॼ彾벀뺂ꖄ랆ꂈ", num)); } int num4 = this.int_41; this.int_41 = (int)A_0; if (this.int_55 == 0x2a) { int num2 = (8 + ((this.int_57 - 8) << 4)) << 8; int num5 = ((int)((this.compressionLevel_0 - 1) & 0xff)) >> 1; if (num5 > 3) { num5 = 3; } num2 |= num5 << 6; if (this.int_56 != 0) { num2 |= 0x20; } num2 += 0x1f - (num2 % 0x1f); this.int_55 = 0x71; this.method_13(num2); if (this.int_56 != 0) { this.method_13((int)Class604.smethod_1(this.class1068_0.long_2, 0x10)); this.method_13((int)(this.class1068_0.long_2 & 0xffffL)); } this.class1068_0.long_2 = Class603.smethod_0(0L, null, 0, 0); } if (this.int_51 != 0) { this.class1068_0.method_19(); if (this.class1068_0.int_3 == 0) { this.int_41 = -1; return(0); } } else if (((this.class1068_0.int_1 == 0) && (A_0 <= num4)) && (A_0 != FlushType.Finish)) { return(0); } if ((this.int_55 == 0x29a) && (this.class1068_0.int_1 != 0)) { this.class1068_0.string_0 = string_0[7]; throw new Exception0(BookmarkStart.b("䈰䜲吴䌶䰸䠺ᴼȾ籀捂̈́ๆ݈ɊṌݎ๐RŔᙖ൘Ṛ絜神䝠䍢㩤Ѧ٨ཪ౮彰㉲ʹᙶၸᱼᵾ임ﺆﶈﺌ욎ミ뎒뒔ꪖ릘ꮚ", num)); } if (((this.class1068_0.int_1 != 0) || (this.int_44 != 0)) || ((A_0 != FlushType.None) && (this.int_55 != 0x29a))) { BlockState state; switch (this.deflateFlavor_0) { case DeflateFlavor.Store: state = this.method_24(A_0); break; case DeflateFlavor.Fast: state = this.method_28(A_0); break; default: state = this.method_29(A_0); break; } switch (state) { case BlockState.FinishStarted: case BlockState.FinishDone: this.int_55 = 0x29a; break; } switch (state) { case BlockState.NeedMore: case BlockState.FinishStarted: if (this.class1068_0.int_3 == 0) { this.int_41 = -1; } return(0); default: if (state == BlockState.BlockDone) { if (A_0 == FlushType.Partial) { this.method_16(); } else { this.method_25(0, 0, false); if (A_0 == FlushType.Full) { for (int i = 0; i < this.int_35; i++) { this.short_5[i] = 0; } } } this.class1068_0.method_19(); if (this.class1068_0.int_3 == 0) { this.int_41 = -1; return(0); } } break; } } if (A_0 == FlushType.Finish) { if (!this.method_0() || this.bool_0) { return(1); } this.method_13((int)Class604.smethod_1(this.class1068_0.long_2, 0x10)); this.method_13((int)(this.class1068_0.long_2 & 0xffffL)); this.class1068_0.method_19(); this.bool_0 = true; if (this.int_51 == 0) { return(1); } } return(0); }