Ejemplo n.º 1
0
    internal int method_38(byte[] A_0)
    {
        int num         = 0;
        int length      = A_0.Length;
        int sourceIndex = 0;

        if ((A_0 == null) || (this.int_55 != 0x2a))
        {
            throw new Exception0(BookmarkStart.b("甥尧堩䤫伭崯ሱ儳䐵䨷唹主ွ", num));
        }
        this.class1068_0.long_2 = Class603.smethod_0(this.class1068_0.long_2, A_0, 0, A_0.Length);
        if (length >= 3)
        {
            if (length > (this.int_59 - int_25))
            {
                length      = this.int_59 - int_25;
                sourceIndex = A_0.Length - length;
            }
            Array.Copy(A_0, sourceIndex, this.byte_1, 0, length);
            this.int_56 = length;
            this.int_31 = length;
            this.int_39 = this.byte_1[0] & 0xff;
            this.int_39 = ((this.int_39 << this.int_34) ^ (this.byte_1[1] & 0xff)) & this.int_33;
            for (int i = 0; i <= (length - 3); i++)
            {
                this.int_39 = ((this.int_39 << this.int_34) ^ (this.byte_1[i + 2] & 0xff)) & this.int_33;
                this.short_6[i & this.int_58] = this.short_5[this.int_39];
                this.short_5[this.int_39]     = (short)i;
            }
        }
        return(0);
    }
Ejemplo n.º 2
0
    internal int method_5(int A_0)
    {
        int destinationIndex = this.class1068_0.int_2;
        int num2             = this.int_23;
        int num3             = ((num2 <= this.int_26) ? this.int_26 : this.int_17) - num2;

        if (num3 > this.class1068_0.int_3)
        {
            num3 = this.class1068_0.int_3;
        }
        if (A_0 == -5)
        {
            A_0 = 0;
        }
        this.class1068_0.int_3  -= num3;
        this.class1068_0.long_1 += num3;
        if (this.object_0 != null)
        {
            this.class1068_0.long_2 = this.long_0 = Class603.smethod_0(this.long_0, this.byte_0, num2, num3);
        }
        Array.Copy(this.byte_0, num2, this.class1068_0.byte_1, destinationIndex, num3);
        destinationIndex += num3;
        num2             += num3;
        if (num2 == this.int_17)
        {
            num2 = 0;
            if (this.int_26 == this.int_17)
            {
                this.int_26 = 0;
            }
            num3 = this.int_26 - num2;
            if (num3 > this.class1068_0.int_3)
            {
                num3 = this.class1068_0.int_3;
            }
            if ((num3 != 0) && (A_0 == -5))
            {
                A_0 = 0;
            }
            this.class1068_0.int_3  -= num3;
            this.class1068_0.long_1 += num3;
            if (this.object_0 != null)
            {
                this.class1068_0.long_2 = this.long_0 = Class603.smethod_0(this.long_0, this.byte_0, num2, num3);
            }
            Array.Copy(this.byte_0, num2, this.class1068_0.byte_1, destinationIndex, num3);
            destinationIndex += num3;
            num2             += num3;
        }
        this.class1068_0.int_2 = destinationIndex;
        this.int_23            = num2;
        return(A_0);
    }
Ejemplo n.º 3
0
 internal void method_35()
 {
     this.class1068_0.long_1   = 0L;
     this.class1068_0.long_0   = 0L;
     this.class1068_0.string_0 = null;
     this.int_51             = 0;
     this.int_49             = 0;
     this.bool_0             = false;
     this.int_55             = this.method_0() ? 0x2a : 0x71;
     this.class1068_0.long_2 = Class603.smethod_0(0L, null, 0, 0);
     this.int_41             = 0;
     this.method_3();
     this.method_2();
 }
Ejemplo n.º 4
0
 internal void method_0(long[] A_0)
 {
     if (A_0 != null)
     {
         A_0[0] = this.long_0;
     }
     if (this.int_22 != 4)
     {
     }
     this.int_22 = 0;
     this.int_15 = 0;
     this.int_14 = 0;
     this.int_26 = 0;
     this.int_23 = 0;
     if (this.object_0 != null)
     {
         this.class1068_0.long_2 = this.long_0 = Class603.smethod_0(0L, null, 0, 0);
     }
 }
Ejemplo n.º 5
0
    internal int method_20(byte[] A_0, int A_1, int A_2)
    {
        int num = this.int_1;

        if (num > A_2)
        {
            num = A_2;
        }
        if (num == 0)
        {
            return(0);
        }
        this.int_1 -= num;
        if (this.class935_0.method_0())
        {
            this.long_2 = Class603.smethod_0(this.long_2, this.byte_0, this.int_0, num);
        }
        Array.Copy(this.byte_0, this.int_0, A_0, A_1, num);
        this.int_0  += num;
        this.long_0 += num;
        return(num);
    }
Ejemplo n.º 6
0
    internal int method_6(byte[] A_0)
    {
        int num    = 1;
        int num2   = 0;
        int length = A_0.Length;

        if (this.int_18 != 6)
        {
            throw new Exception0(BookmarkStart.b("琦崨太䠬丮尰ጲ倴䔶䬸吺似ᄾ", num));
        }
        if (Class603.smethod_0(1L, A_0, 0, A_0.Length) != this.class1068_0.long_2)
        {
            return(-3);
        }
        this.class1068_0.long_2 = Class603.smethod_0(0L, null, 0, 0);
        if (length >= (((int)1) << this.int_19))
        {
            length = (((int)1) << this.int_19) - 1;
            num2   = A_0.Length - length;
        }
        this.class607_0.method_3(A_0, num2, length);
        this.int_18 = 7;
        return(0);
    }
Ejemplo n.º 7
0
    internal int method_39(FlushType A_0)
    {
        int num = 11;

        if (((this.class1068_0.byte_1 == null) || ((this.class1068_0.byte_0 == null) && (this.class1068_0.int_1 != 0))) || ((this.int_55 == 0x29a) && (A_0 != FlushType.Finish)))
        {
            this.class1068_0.string_0 = string_0[4];
            throw new Exception0(string.Format(BookmarkStart.b("戰尲場制䴸区吼儾♀捂ⱄ㑆楈ⵊ⑌㱎㥐⩒答睖ɘ⁚浜≞㱠", num), this.class1068_0.string_0));
        }
        if (this.class1068_0.int_3 == 0)
        {
            this.class1068_0.string_0 = string_0[7];
            throw new Exception0(BookmarkStart.b("縰䘲䄴䜶䰸伺缼䨾❀╂⁄㕆楈≊㹌潎㝐♒㥔㭖祘獚ᱜ⥞`੢।٦୨ݪ࡬⵮ࡰݲၴѶ㙸๺ॼ彾벀뺂ꖄ랆ꂈ", num));
        }
        int num4 = this.int_41;

        this.int_41 = (int)A_0;
        if (this.int_55 == 0x2a)
        {
            int num2 = (8 + ((this.int_57 - 8) << 4)) << 8;
            int num5 = ((int)((this.compressionLevel_0 - 1) & 0xff)) >> 1;
            if (num5 > 3)
            {
                num5 = 3;
            }
            num2 |= num5 << 6;
            if (this.int_56 != 0)
            {
                num2 |= 0x20;
            }
            num2       += 0x1f - (num2 % 0x1f);
            this.int_55 = 0x71;
            this.method_13(num2);
            if (this.int_56 != 0)
            {
                this.method_13((int)Class604.smethod_1(this.class1068_0.long_2, 0x10));
                this.method_13((int)(this.class1068_0.long_2 & 0xffffL));
            }
            this.class1068_0.long_2 = Class603.smethod_0(0L, null, 0, 0);
        }
        if (this.int_51 != 0)
        {
            this.class1068_0.method_19();
            if (this.class1068_0.int_3 == 0)
            {
                this.int_41 = -1;
                return(0);
            }
        }
        else if (((this.class1068_0.int_1 == 0) && (A_0 <= num4)) && (A_0 != FlushType.Finish))
        {
            return(0);
        }
        if ((this.int_55 == 0x29a) && (this.class1068_0.int_1 != 0))
        {
            this.class1068_0.string_0 = string_0[7];
            throw new Exception0(BookmarkStart.b("䈰䜲吴䌶䰸䠺ᴼȾ籀捂̈́ๆ݈ɊṌݎ๐RŔᙖ൘Ṛ絜神䝠䍢㩤Ѧ٨ཪ࡬౮彰㉲ʹᙶၸ᝺ᱼᵾ임ﺆﶈﺌ욎ミ뎒뒔ꪖ릘ꮚ", num));
        }
        if (((this.class1068_0.int_1 != 0) || (this.int_44 != 0)) || ((A_0 != FlushType.None) && (this.int_55 != 0x29a)))
        {
            BlockState state;
            switch (this.deflateFlavor_0)
            {
            case DeflateFlavor.Store:
                state = this.method_24(A_0);
                break;

            case DeflateFlavor.Fast:
                state = this.method_28(A_0);
                break;

            default:
                state = this.method_29(A_0);
                break;
            }
            switch (state)
            {
            case BlockState.FinishStarted:
            case BlockState.FinishDone:
                this.int_55 = 0x29a;
                break;
            }
            switch (state)
            {
            case BlockState.NeedMore:
            case BlockState.FinishStarted:
                if (this.class1068_0.int_3 == 0)
                {
                    this.int_41 = -1;
                }
                return(0);

            default:
                if (state == BlockState.BlockDone)
                {
                    if (A_0 == FlushType.Partial)
                    {
                        this.method_16();
                    }
                    else
                    {
                        this.method_25(0, 0, false);
                        if (A_0 == FlushType.Full)
                        {
                            for (int i = 0; i < this.int_35; i++)
                            {
                                this.short_5[i] = 0;
                            }
                        }
                    }
                    this.class1068_0.method_19();
                    if (this.class1068_0.int_3 == 0)
                    {
                        this.int_41 = -1;
                        return(0);
                    }
                }
                break;
            }
        }
        if (A_0 == FlushType.Finish)
        {
            if (!this.method_0() || this.bool_0)
            {
                return(1);
            }
            this.method_13((int)Class604.smethod_1(this.class1068_0.long_2, 0x10));
            this.method_13((int)(this.class1068_0.long_2 & 0xffffL));
            this.class1068_0.method_19();
            this.bool_0 = true;
            if (this.int_51 == 0)
            {
                return(1);
            }
        }
        return(0);
    }