private int method_11(byte[] byte_0, int int_2, int int_3) { if (!this.method_4()) { throw new ZipException("Library cannot extract this entry. Version required is (" + this.class193_0.method_11().ToString() + ")"); } if (this.class193_0.method_0()) { if (this.password == null) { throw new ZipException("No password set."); } Class208 @class = new Class208(); byte[] rgbKey = Class207.smethod_0(Class186.smethod_3(this.password)); this.class201_0.method_12(@class.CreateDecryptor(rgbKey, null)); byte[] array = new byte[12]; this.class201_0.method_7(array, 0, 12); if (array[11] != this.class193_0.method_2()) { throw new ZipException("Invalid password"); } if (this.long_0 >= 12L) { this.long_0 -= 12L; } else if ((this.class193_0.method_4() & 8) == 0) { throw new ZipException(string.Format("Entry compressed size {0} too small for encryption", this.long_0)); } } else { this.class201_0.method_12(null); } if (this.int_0 == 8 && this.class201_0.method_1() > 0) { this.class201_0.method_3(this.class196_0); } this.delegate5_0 = new ZIPCompressor.Delegate5(this.method_12); return this.method_12(byte_0, int_2, int_3); }
public void method_4(string string_1) { Class208 @class = new Class208(); byte[] rgbKey = Class207.smethod_0(Class186.smethod_3(string_1)); this.icryptoTransform_0 = @class.CreateEncryptor(rgbKey, null); }