Beispiel #1
0
    private void method_28()
    {
        int          num2;
        Class1114    class2 = new Class1114(this.stream_0, true);
        MemoryStream stream = new MemoryStream();

        byte[] buffer = new byte[0x1000];
        int    num    = 0;

        while ((num2 = class2.method_18(buffer, 0, 0x1000)) > 0)
        {
            stream.Write(buffer, 0, num2);
            num += num2;
        }
        if (this.long_1 <= 0L)
        {
            this.long_1 = num;
        }
        if (this.bool_0)
        {
            this.stream_0.Close();
        }
        this.bool_0   = true;
        this.stream_0 = stream;
        stream.SetLength(this.long_1);
        stream.Capacity = (int)this.long_1;
        if (this.bool_2)
        {
            this.method_35(stream.GetBuffer());
        }
        this.stream_0.Position = 0L;
    }
Beispiel #2
0
    internal byte[] method_9(byte[] A_0)
    {
        byte[] buffer2;
        try
        {
            int          num;
            MemoryStream stream  = new MemoryStream(A_0);
            Class1114    class2  = new Class1114(stream);
            MemoryStream stream2 = new MemoryStream();
            byte[]       buffer  = new byte[0x1000];
            goto Label_002B;
Label_0021:
            stream2.Write(buffer, 0, num);
Label_002B:
            num = class2.method_18(buffer, 0, buffer.Length);
            if (num > 0)
            {
                goto Label_0021;
            }
            stream.Close();
            stream  = null;
            buffer2 = stream2.ToArray();
            stream2.Close();
            stream2 = null;
        }
        catch
        {
            using (GZipStream stream3 = new GZipStream(new MemoryStream(A_0), CompressionMode.Decompress, true))
            {
                byte[] buffer3 = new byte[0x1000];
                using (MemoryStream stream4 = new MemoryStream())
                {
                    int count = 0;
                    goto Label_0094;
Label_007F:
                    if (count > 0)
                    {
                        goto Label_0094;
                    }
                    goto Label_00AB;
Label_0086:
                    stream4.Write(buffer3, 0, count);
                    goto Label_007F;
Label_0094:
                    count = stream3.Read(buffer3, 0, buffer3.Length);
                    if (count <= 0)
                    {
                        goto Label_007F;
                    }
                    goto Label_0086;
Label_00AB:
                    buffer2 = stream4.ToArray();
                }
                return(buffer2);
            }
        }
        return(buffer2);
    }
    public int method_3(Class1114 A_0)
    {
        int num2;
        int index = A_0.method_7(9);

        if (index >= 0)
        {
            num2 = this.short_0[index];
            if (num2 >= 0)
            {
                A_0.method_8(num2 & 15);
                return(num2 >> 4);
            }
            int num4 = -(num2 >> 4);
            int num5 = num2 & 15;
            index = A_0.method_7(num5);
            if (index >= 0)
            {
                num2 = this.short_0[num4 | (index >> 9)];
                A_0.method_8(num2 & 15);
                return(num2 >> 4);
            }
            int num6 = A_0.method_0();
            index = A_0.method_7(num6);
            num2  = this.short_0[num4 | (index >> 9)];
            if ((num2 & 15) <= num6)
            {
                A_0.method_8(num2 & 15);
                return(num2 >> 4);
            }
            return(-1);
        }
        int num3 = A_0.method_0();

        index = A_0.method_7(num3);
        num2  = this.short_0[index];
        if ((num2 >= 0) && ((num2 & 15) <= num3))
        {
            A_0.method_8(num2 & 15);
            return(num2 >> 4);
        }
        return(-1);
    }