private int method_11(byte[] byte0, int int2, int int3) { if (!method_4()) { throw new ZipException("Library cannot extract this entry. Version required is (" + _class1930.method_11() + ")"); } if (_class1930.method_0()) { if (_password == null) { throw new ZipException("No password set."); } var @class = new Class208(); var rgbKey = Class207.smethod_0(Class186.smethod_3(_password)); Class2010.method_12(@class.CreateDecryptor(rgbKey, null)); var array = new byte[12]; Class2010.method_7(array, 0, 12); if (array[11] != _class1930.method_2()) { throw new ZipException("Invalid password"); } if (Long0 >= 12L) { Long0 -= 12L; } else if ((_class1930.method_4() & 8) == 0) { throw new ZipException(string.Format("Entry compressed size {0} too small for encryption", Long0)); } } else { Class2010.method_12(null); } if (_int0 == 8 && Class2010.method_1() > 0) { Class2010.method_3(Class1960); } _delegate50 = method_12; return(method_12(byte0, int2, int3)); }
public Class193 method_5() { if (_class1920 == null) { throw new InvalidOperationException("Closed."); } if (_class1930 != null) { method_8(); } var num = Class2010.method_10(); if (num != 33639248 && num != 101010256 && num != 84233040 && num != 117853008) { if (num != 101075792) { if (num == 808471376 || num == 134695760) { num = Class2010.method_10(); } if (num != 67324752) { throw new ZipException("Wrong Local header signature: 0x" + string.Format("{0:X}", num)); } var int_ = (short)Class2010.method_9(); _int1 = Class2010.method_9(); _int0 = Class2010.method_9(); var num2 = (uint)Class2010.method_10(); var num3 = Class2010.method_10(); Long0 = Class2010.method_10(); _long1 = Class2010.method_10(); var num4 = Class2010.method_9(); var num5 = Class2010.method_9(); var flag = (_int1 & 1) == 1; var array = new byte[num4]; Class2010.method_5(array); var string_ = Class186.smethod_2(_int1, array); _class1930 = new Class193(string_, int_); _class1930.method_5(_int1); _class1930.method_28((Enum31)_int0); if ((_int1 & 8) == 0) { _class1930.method_26(num3 & 4294967295L); _class1930.method_22(_long1 & 4294967295L); _class1930.method_24(Long0 & 4294967295L); _class1930.method_3((byte)(num3 >> 24 & 255)); } else { if (num3 != 0) { _class1930.method_26(num3 & 4294967295L); } if (_long1 != 0L) { _class1930.method_22(_long1 & 4294967295L); } if (Long0 != 0L) { _class1930.method_24(Long0 & 4294967295L); } _class1930.method_3((byte)(num2 >> 8 & 255u)); } _class1930.method_18(num2); if (num5 > 0) { var array2 = new byte[num5]; Class2010.method_5(array2); _class1930.method_30(array2); } _class1930.method_31(true); if (_class1930.method_23() >= 0L) { Long0 = _class1930.method_23(); } if (_class1930.method_21() >= 0L) { _long1 = _class1930.method_21(); } if (_int0 == 0 && ((!flag && Long0 != _long1) || (flag && Long0 - 12L != _long1))) { throw new ZipException("Stored, but compressed != uncompressed"); } if (_class1930.method_34()) { _delegate50 = method_11; } else { _delegate50 = method_10; } return(_class1930); } } Close(); return(null); }