public void method_10(Class193 class193_1) { if (class193_1 == null) { throw new ArgumentNullException("entry"); } if (this.arrayList_0 == null) { throw new InvalidOperationException("ZipOutputStream was finished"); } if (this.class193_0 != null) { this.method_11(); } if (this.arrayList_0.Count == 2147483647) { throw new ZipException("Too many entries for Zip file"); } Enum31 @enum = class193_1.method_27(); int int_ = this.int_0; class193_1.method_5(class193_1.method_4() & 2048); this.bool_2 = false; bool flag = true; if (@enum == Enum31.const_0) { class193_1.method_5(class193_1.method_4() & -9); if (class193_1.method_23() >= 0L) { if (class193_1.method_21() < 0L) { class193_1.method_22(class193_1.method_23()); } else if (class193_1.method_21() != class193_1.method_23()) { throw new ZipException("Method STORED, but compressed size != size"); } } else if (class193_1.method_21() >= 0L) { class193_1.method_24(class193_1.method_21()); } if (class193_1.method_21() < 0L || class193_1.method_25() < 0L) { if (base.method_0()) { flag = false; } else { @enum = Enum31.const_1; int_ = 0; } } } if (@enum == Enum31.const_1) { if (class193_1.method_21() == 0L) { class193_1.method_24(class193_1.method_21()); class193_1.method_26(0L); @enum = Enum31.const_0; } else if (class193_1.method_23() < 0L || class193_1.method_21() < 0L || class193_1.method_25() < 0L) { flag = false; } } if (!flag) { if (!base.method_0()) { class193_1.method_5(class193_1.method_4() | 8); } else { this.bool_2 = true; } } if (base.method_1() != null) { class193_1.method_1(true); if (class193_1.method_25() < 0L) { class193_1.method_5(class193_1.method_4() | 8); } } class193_1.method_7(this.long_1); class193_1.method_28(@enum); this.enum31_0 = @enum; this.long_3 = -1L; if (this.enum30_0 == Enum30.const_1 || (class193_1.method_21() < 0L && this.enum30_0 == Enum30.const_2)) { class193_1.method_13(); } this.method_8(67324752); this.method_7(class193_1.method_11()); this.method_7(class193_1.method_4()); this.method_7((int)((byte)@enum)); this.method_8((int)class193_1.method_17()); if (flag) { this.method_8((int)class193_1.method_25()); if (class193_1.method_15()) { this.method_8(-1); this.method_8(-1); } else { this.method_8(class193_1.method_0() ? ((int)class193_1.method_23() + 12) : ((int)class193_1.method_23())); this.method_8((int)class193_1.method_21()); } } else { if (this.bool_2) { this.long_2 = this.stream_0.Position; } this.method_8(0); if (this.bool_2) { this.long_3 = this.stream_0.Position; } if (class193_1.method_15() && this.bool_2) { this.method_8(-1); this.method_8(-1); } else { this.method_8(0); this.method_8(0); } } byte[] array = Class186.smethod_4(class193_1.method_4(), class193_1.method_20()); if (array.Length > 65535) { throw new ZipException("Entry name too long."); } Class202 @class = new Class202(class193_1.method_29()); if (class193_1.method_15() && (flag || this.bool_2)) { @class.method_8(); if (flag) { @class.method_12(class193_1.method_21()); @class.method_12(class193_1.method_23()); } else { @class.method_12(-1L); @class.method_12(-1L); } @class.method_9(1); if ([email protected]_6(1)) { throw new ZipException("Internal error cant find extra data"); } if (this.bool_2) { this.long_3 = (long)@class.method_4(); } } else { @class.method_13(1); } byte[] array2 = @class.method_0(); this.method_7(array.Length); this.method_7(array2.Length); if (array.Length > 0) { this.stream_0.Write(array, 0, array.Length); } if (class193_1.method_15() && this.bool_2) { this.long_3 += this.stream_0.Position; } if (array2.Length > 0) { this.stream_0.Write(array2, 0, array2.Length); } this.long_1 += (long)(30 + array.Length + array2.Length); this.class193_0 = class193_1; this.class192_0.vmethod_1(); if (@enum == Enum31.const_1) { this.class194_0.method_0(); this.class194_0.method_7(int_); } this.long_0 = 0L; if (class193_1.method_0()) { if (class193_1.method_25() < 0L) { this.method_12(class193_1.method_17() << 16); return; } this.method_12(class193_1.method_25()); } }
public override void vmethod_0() { if (this.arrayList_0 == null) { return; } if (this.class193_0 != null) { this.method_11(); } long num = (long)this.arrayList_0.Count; long num2 = 0L; foreach (Class193 @class in this.arrayList_0) { this.method_8(33639248); this.method_7(45); this.method_7(@class.method_11()); this.method_7(@class.method_4()); this.method_7((int)((short)@class.method_27())); this.method_8((int)@class.method_17()); this.method_8((int)@class.method_25()); if ([email protected]_14() && @class.method_23() < 4294967295L) { this.method_8((int)@class.method_23()); } else { this.method_8(-1); } if ([email protected]_14() && @class.method_21() < 4294967295L) { this.method_8((int)@class.method_21()); } else { this.method_8(-1); } byte[] array = Class186.smethod_4(@class.method_4(), @class.method_20()); if (array.Length > 65535) { throw new ZipException("Name too long."); } Class202 class2 = new Class202(@class.method_29()); if (@class.method_16()) { class2.method_8(); if (@class.method_14() || @class.method_21() >= 4294967295L) { class2.method_12(@class.method_21()); } if (@class.method_14() || @class.method_23() >= 4294967295L) { class2.method_12(@class.method_23()); } if (@class.method_6() >= 4294967295L) { class2.method_12(@class.method_6()); } class2.method_9(1); } else { class2.method_13(1); } byte[] array2 = class2.method_0(); byte[] array3 = (@class.method_32() != null) ? Class186.smethod_4(@class.method_4(), @class.method_32()) : new byte[0]; if (array3.Length > 65535) { throw new ZipException("Comment too long."); } this.method_7(array.Length); this.method_7(array2.Length); this.method_7(array3.Length); this.method_7(0); this.method_7(0); if (@class.method_8() != -1) { this.method_8(@class.method_8()); } else if (@class.method_33()) { this.method_8(16); } else { this.method_8(0); } if (@class.method_6() >= 4294967295L) { this.method_8(-1); } else { this.method_8((int)@class.method_6()); } if (array.Length > 0) { this.stream_0.Write(array, 0, array.Length); } if (array2.Length > 0) { this.stream_0.Write(array2, 0, array2.Length); } if (array3.Length > 0) { this.stream_0.Write(array3, 0, array3.Length); } num2 += (long)(46 + array.Length + array2.Length + array3.Length); } using (Stream25 stream = new Stream25(this.stream_0)) { stream.method_1(num, num2, this.long_1, this.byte_1); } this.arrayList_0 = null; }