private void method_0()
 {
     this.int_26 = 2 * this.int_23;
     Array.Clear(this.short_1, 0, this.int_28);
     this.class1_0 = Class0.Class1.smethod_0(this.compressionLevel_0);
     this.method_27();
     this.int_36 = 0;
     this.int_32 = 0;
     this.int_38 = 0;
     this.int_33 = (this.int_39 = Class0.int_14 - 1);
     this.int_35 = 0;
     this.int_27 = 0;
 }
        internal int method_28(CompressionLevel compressionLevel_1, CompressionStrategy compressionStrategy_1)
        {
            int result = 0;

            if (this.compressionLevel_0 != compressionLevel_1)
            {
                Class0.Class1 @class = Class0.Class1.smethod_0(compressionLevel_1);
                if (@class.enum1_0 != this.class1_0.enum1_0 && this.zlibCodec_0.TotalBytesIn != 0L)
                {
                    result = this.zlibCodec_0.Deflate(FlushType.Partial);
                }
                this.compressionLevel_0 = compressionLevel_1;
                this.class1_0           = @class;
                this.method_27();
            }
            this.compressionStrategy_0 = compressionStrategy_1;
            return(result);
        }
Beispiel #3
0
        public static byte[] smethod_0(byte[] byte_0)
        {
            Class0.Stream0 stream = new Class0.Stream0(byte_0);
            byte[]         array  = new byte[0];
            int            num    = stream.method_1();

            if (num == 67324752)
            {
                short num2 = (short)stream.method_0();
                int   num3 = stream.method_0();
                int   num4 = stream.method_0();
                if (num == 67324752 && num2 == 20 && num3 == 0)
                {
                    if (num4 == 8)
                    {
                        stream.method_1();
                        stream.method_1();
                        stream.method_1();
                        int num5 = stream.method_1();
                        int num6 = stream.method_0();
                        int num7 = stream.method_0();
                        if (num6 > 0)
                        {
                            byte[] buffer = new byte[num6];
                            stream.Read(buffer, 0, num6);
                        }
                        if (num7 > 0)
                        {
                            byte[] buffer2 = new byte[num7];
                            stream.Read(buffer2, 0, num7);
                        }
                        byte[] array2 = new byte[stream.Length - stream.Position];
                        stream.Read(array2, 0, array2.Length);
                        Class0.Class1 @class = new Class0.Class1(array2);
                        array = new byte[num5];
                        @class.method_2(array, 0, array.Length);
                        goto IL_182;
                    }
                }
                throw new FormatException("Wrong Header Signature");
            }
            if (num != 25000571)
            {
                throw new FormatException("Unknown Header");
            }
            int num8 = stream.method_1();

            array = new byte[num8];
            int num10;

            for (int i = 0; i < num8; i += num10)
            {
                int num9 = stream.method_1();
                num10 = stream.method_1();
                byte[] array3 = new byte[num9];
                stream.Read(array3, 0, array3.Length);
                Class0.Class1 class2 = new Class0.Class1(array3);
                class2.method_2(array, i, num10);
            }
IL_182:
            stream.Close();
            return(array);
        }