Example #1
0
        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);
        }
Example #2
0
    // Token: 0x0600106D RID: 4205 RVA: 0x0004AC80 File Offset: 0x00048E80
    private int method_10(Class191 class191_0)
    {
        switch (class191_0.Type)
        {
        case (Enum13)1:
            return(8);

        case (Enum13)2:
        {
            Class197 @class = (Class197)class191_0;
            string   text   = (string)@class.Value;
            @class.method_5((text != null) ? Class189.utf8Encoding_0.GetByteCount(text) : 0);
            @class.method_3(this.method_9(@class.method_4(), @class.method_6()));
            return(@class.method_2());
        }

        case (Enum13)3:
        {
            Class192 class2 = (Class192)class191_0;
            int      num    = 4;
            foreach (Class200 class3 in class2)
            {
                int num2 = 1 + this.method_10(class3.Name);
                num2 += this.method_10(class3.Value);
                num  += num2;
            }
            num++;
            class2.method_3(num);
            return(num);
        }

        case (Enum13)4:
        {
            Class193 class4 = (Class193)class191_0;
            int      num3   = 4;
            ulong    num4   = 0UL;
            foreach (Class191 class191_ in class4)
            {
                num3++;
                num3 += this.method_8(Class79.smethod_0(num4));
                num3 += this.method_10(class191_);
                num4 += 1UL;
            }
            num3++;
            class4.method_3(num3);
            return(class4.method_2());
        }

        case (Enum13)5:
        {
            Class198 class5 = (Class198)class191_0;
            byte[]   array  = (byte[])class5.Value;
            class5.method_3(5 + array.Length);
            return(class5.method_2());
        }

        case (Enum13)6:
        case (Enum13)10:
            return(0);

        case (Enum13)7:
            return(12);

        case (Enum13)8:
            return(1);

        case (Enum13)9:
            return(8);

        case (Enum13)11:
        {
            Class199 class6 = (Class199)class191_0;
            int      num5   = 0 + this.method_10(class6.Pattern);
            num5 += this.method_10(class6.Options);
            class6.method_3(num5);
            return(class6.method_2());
        }

        case (Enum13)16:
            return(4);

        case (Enum13)18:
            return(8);
        }
        throw new ArgumentOutOfRangeException("t", "Unexpected token when writing BSON: {0}".smethod_0(CultureInfo.InvariantCulture, class191_0.Type));
    }