public static void processFile(IEnumerable<string> fileNameList, Stream zipFile, int compressionAmount, string password, Stream[] fileStreamList) { if (compressionAmount >= 0 && compressionAmount <= 9) { Class192 @class = new Class192(); Stream23 stream = new Stream23(zipFile); stream.method_6(compressionAmount); if (password != null) { stream.method_2(password); } int num = 0; using (IEnumerator<string> enumerator = fileNameList.GetEnumerator()) { while (enumerator.MoveNext()) { string current = enumerator.Current; Class193 class2 = new Class193(current); class2.method_19(DateTime.Now); Stream stream2 = fileStreamList[num++]; byte[] array; if (stream2 is MemoryStream) { array = (stream2 as MemoryStream).ToArray(); } else { array = new byte[stream2.Length]; int num2 = stream2.Read(array, 0, array.Length); if (num2 < array.Length) { Array.Resize<byte>(ref array, num2); } } class2.method_22((long)array.Length); @class.vmethod_1(); @class.vmethod_2(array); class2.method_26(@class.vmethod_0()); stream.method_10(class2); stream.Write(array, 0, array.Length); } goto IL_10D; } goto IL_102; IL_10D: stream.vmethod_0(); stream.Close(); return; } IL_102: throw new ArgumentException("Invalid compression rate."); }
public static void processFile(IEnumerable <string> fileNameList, Stream zipFile, int compressionAmount, string password, Stream[] fileStreamList) { if (compressionAmount >= 0 && compressionAmount <= 9) { Class192 @class = new Class192(); Stream23 stream = new Stream23(zipFile); stream.method_6(compressionAmount); if (password != null) { stream.method_2(password); } int num = 0; using (IEnumerator <string> enumerator = fileNameList.GetEnumerator()) { while (enumerator.MoveNext()) { string current = enumerator.Current; Class193 class2 = new Class193(current); class2.method_19(DateTime.Now); Stream stream2 = fileStreamList[num++]; byte[] array; if (stream2 is MemoryStream) { array = (stream2 as MemoryStream).ToArray(); } else { array = new byte[stream2.Length]; int num2 = stream2.Read(array, 0, array.Length); if (num2 < array.Length) { Array.Resize <byte>(ref array, num2); } } class2.method_22((long)array.Length); @class.vmethod_1(); @class.vmethod_2(array); class2.method_26(@class.vmethod_0()); stream.method_10(class2); stream.Write(array, 0, array.Length); } goto IL_10D; } goto IL_102; IL_10D: stream.vmethod_0(); stream.Close(); return; } IL_102: throw new ArgumentException("Invalid compression rate."); }
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()); } }