Exemple #1
0
 public virtual long vmethod_9(long long_0)
 {
     while (this.int_3 <= 0)
     {
         this.method_0();
     }
     long_0 <<= 1;
     long_0  |= ((((int)this.byte_1[this.int_1] & 128 >> this.int_2) != 0) ? 1L : 0L);
     this.int_2++;
     if (this.int_2 == 8)
     {
         this.short_0 = Class150.smethod_0(this.byte_1[this.int_1], this.short_0);
         this.int_1++;
         this.int_2 = 0;
     }
     this.int_3--;
     this.int_4++;
     return(long_0);
 }
Exemple #2
0
        public virtual int vmethod_6()
        {
            while (this.int_3 <= 0)
            {
                this.method_0();
            }
            int result = (((int)this.byte_1[this.int_1] & 128 >> this.int_2) != 0) ? 1 : 0;

            this.int_2++;
            if (this.int_2 == 8)
            {
                this.short_0 = Class150.smethod_0(this.byte_1[this.int_1], this.short_0);
                this.int_1++;
                this.int_2 = 0;
            }
            this.int_3--;
            this.int_4++;
            return(result);
        }
Exemple #3
0
 public virtual int vmethod_7(int int_5)
 {
     while (this.int_3 <= 0)
     {
         this.method_0();
     }
     int_5 <<= 1;
     int_5  |= ((((int)this.byte_1[this.int_1] & 128 >> this.int_2) != 0) ? 1 : 0);
     this.int_2++;
     if (this.int_2 == 8)
     {
         this.short_0 = Class150.smethod_0(this.byte_1[this.int_1], this.short_0);
         this.int_1++;
         this.int_2 = 0;
     }
     this.int_3--;
     this.int_4++;
     return(int_5);
 }
Exemple #4
0
        public virtual void vmethod_17(int[] int_5, int int_6, int int_7, int int_8)
        {
            int i    = 0;
            int num  = 0;
            int num2 = 0;
            int num3 = 0;
            int num4 = 0;
            int num5 = 0;

            if (int_7 == 0)
            {
                return;
            }
            int  num6 = this.int_1;
            long num7 = (long)(this.int_1 * 8 + this.int_2);

            if (this.int_2 > 0)
            {
                byte b2;
                byte b = b2 = this.byte_1[num6];
                num = this.int_2;
                b   = (byte)(b << (int)((byte)num));
                int num9;
                while (true)
                {
                    if (num5 == 0)
                    {
                        if (b == 0)
                        {
                            goto IL_13D;
                        }
                        int num8 = 0;
                        while ((b & Class144.byte_0) == 0)
                        {
                            b = (byte)(b << 1);
                            num8++;
                        }
                        num3 += num8;
                        b     = (byte)(b << 1);
                        num8++;
                        num += num8;
                        num2 = 0;
                        num4 = int_8;
                        num5++;
                        if (num == 8)
                        {
                            goto Block_8;
                        }
                    }
                    else
                    {
                        num9 = 8 - num;
                        if (num4 >= num9)
                        {
                            goto IL_15C;
                        }
                        num2 <<= num4;
                        num2  |= (b & 255) >> 8 - num4;
                        b      = (byte)(b << (int)((byte)num4));
                        num   += num4;
                        num2  |= num3 << int_8;
                        if ((num2 & 1) != 0)
                        {
                            int_5[int_6 + i++] = -(num2 >> 1) - 1;
                        }
                        else
                        {
                            int_5[int_6 + i++] = num2 >> 1;
                        }
                        if (i == int_7)
                        {
                            break;
                        }
                        num3 = 0;
                        num5 = 0;
                    }
                }
                num6--;
                goto IL_1D5;
Block_8:
                num          = 0;
                this.short_0 = Class150.smethod_0(b2, this.short_0);
                goto IL_1D5;
IL_13D:
                num3        += 8 - num;
                num          = 0;
                this.short_0 = Class150.smethod_0(b2, this.short_0);
                goto IL_1D5;
IL_15C:
                num2       <<= num9;
                num2        |= (b & 255) >> num;
                num          = 0;
                this.short_0 = Class150.smethod_0(b2, this.short_0);
                if (num4 == num9)
                {
                    num2 |= num3 << int_8;
                    if ((num2 & 1) != 0)
                    {
                        int_5[int_6 + i++] = -(num2 >> 1) - 1;
                    }
                    else
                    {
                        int_5[int_6 + i++] = num2 >> 1;
                    }
                    if (i == int_7)
                    {
                        goto IL_1D5;
                    }
                    num3 = 0;
                    num5 = 0;
                }
                num4 -= num9;
IL_1D5:
                num6++;
                this.int_1 = num6;
                this.int_2 = num;
            }
            while (i < int_7)
            {
                while (num6 < this.int_0 && i < int_7)
                {
                    byte b2;
                    byte b = b2 = this.byte_1[num6];
                    num = 0;
                    int num10;
                    while (true)
                    {
                        if (num5 == 0)
                        {
                            if (b == 0)
                            {
                                goto IL_2EA;
                            }
                            int num8 = 0;
                            while ((b & Class144.byte_0) == 0)
                            {
                                b = (byte)(b << 1);
                                num8++;
                            }
                            num3 += num8;
                            b     = (byte)(b << 1);
                            num8++;
                            num += num8;
                            num2 = 0;
                            num4 = int_8;
                            num5++;
                            if (num == 8)
                            {
                                goto Block_19;
                            }
                        }
                        else
                        {
                            num10 = 8 - num;
                            if (num4 >= num10)
                            {
                                goto IL_309;
                            }
                            num2 <<= num4;
                            num2  |= (b & 255) >> 8 - num4;
                            b      = (byte)(b << (int)((byte)num4));
                            num   += num4;
                            num2  |= num3 << int_8;
                            if ((num2 & 1) != 0)
                            {
                                int_5[int_6 + i++] = -(num2 >> 1) - 1;
                            }
                            else
                            {
                                int_5[int_6 + i++] = num2 >> 1;
                            }
                            if (i == int_7)
                            {
                                goto Block_16;
                            }
                            num3 = 0;
                            num5 = 0;
                        }
                    }
IL_382:
                    num6++;
                    continue;
Block_16:
                    num6--;
                    goto IL_382;
Block_19:
                    num          = 0;
                    this.short_0 = Class150.smethod_0(b2, this.short_0);
                    goto IL_382;
IL_2EA:
                    num3        += 8 - num;
                    num          = 0;
                    this.short_0 = Class150.smethod_0(b2, this.short_0);
                    goto IL_382;
IL_309:
                    num2       <<= num10;
                    num2        |= (b & 255) >> num;
                    num          = 0;
                    this.short_0 = Class150.smethod_0(b2, this.short_0);
                    if (num4 == num10)
                    {
                        num2 |= num3 << int_8;
                        if ((num2 & 1) != 0)
                        {
                            int_5[int_6 + i++] = -(num2 >> 1) - 1;
                        }
                        else
                        {
                            int_5[int_6 + i++] = num2 >> 1;
                        }
                        if (i == int_7)
                        {
                            goto IL_382;
                        }
                        num3 = 0;
                        num5 = 0;
                    }
                    num4 -= num10;
                    goto IL_382;
                }
                this.int_1 = num6;
                this.int_2 = num;
                if (i < int_7)
                {
                    long num11 = (long)(this.int_1 * 8 + this.int_2);
                    this.int_4 = (int)((long)this.int_4 + num11 - num7);
                    this.int_3 = (int)((long)this.int_3 - (num11 - num7));
                    this.method_0();
                    num6 = 0;
                    num7 = (long)(this.int_1 * 8 + this.int_2);
                }
            }
            long num12 = (long)(this.int_1 * 8 + this.int_2);

            this.int_4 = (int)((long)this.int_4 + num12 - num7);
            this.int_3 = (int)((long)this.int_3 - (num12 - num7));
        }
Exemple #5
0
        private void method_8()
        {
            short num = Class150.smethod_0(this.byte_1[0], 0);

            num = Class150.smethod_0(this.byte_1[1], num);
            this.class144_0.vmethod_3(num);
            try
            {
                this.class151_0.class140_0 = new Class140(this.class144_0, this.byte_1, this.class122_0);
            }
            catch (BadHeaderException arg)
            {
                Console.WriteLine("Found bad header: " + arg);
                throw new FrameDecodeException("Bad Frame Header: " + arg);
            }
            this.method_6(this.class151_0.class140_0.int_0, this.class151_0.class140_0.int_2);
            for (int i = 0; i < this.class151_0.class140_0.int_2; i++)
            {
                int num2 = this.class151_0.class140_0.int_4;
                switch (this.class151_0.class140_0.int_3)
                {
                case 1:
                    if (i == 1)
                    {
                        num2++;
                    }
                    break;

                case 2:
                    if (i == 0)
                    {
                        num2++;
                    }
                    break;

                case 3:
                    if (i == 1)
                    {
                        num2++;
                    }
                    break;
                }
                try
                {
                    this.method_9(i, num2);
                }
                catch (IOException ex)
                {
                    Console.WriteLine("ReadSubframe: " + ex);
                    throw ex;
                }
            }
            this.method_10();
            num = this.class144_0.vmethod_0();
            this.class151_0.vmethod_1((short)this.class144_0.vmethod_10(16));
            if (num == this.class151_0.vmethod_0())
            {
                switch (this.class151_0.class140_0.int_3)
                {
                case 1:
                    for (int j = 0; j < this.class151_0.class140_0.int_0; j++)
                    {
                        this.class136_0[1].vmethod_0()[j] = this.class136_0[0].vmethod_0()[j] - this.class136_0[1].vmethod_0()[j];
                    }
                    break;

                case 2:
                    for (int j = 0; j < this.class151_0.class140_0.int_0; j++)
                    {
                        this.class136_0[0].vmethod_0()[j] += this.class136_0[1].vmethod_0()[j];
                    }
                    break;

                case 3:
                    for (int j = 0; j < this.class151_0.class140_0.int_0; j++)
                    {
                        int num3 = this.class136_0[0].vmethod_0()[j];
                        int num4 = this.class136_0[1].vmethod_0()[j];
                        num3 <<= 1;
                        if ((num4 & 1) != 0)
                        {
                            num3++;
                        }
                        int num5 = num3 + num4;
                        int num6 = num3 - num4;
                        this.class136_0[0].vmethod_0()[j] = num5 >> 1;
                        this.class136_0[1].vmethod_0()[j] = num6 >> 1;
                    }
                    break;
                }
            }
            else
            {
                Console.WriteLine("CRC Error: " + Convert.ToString((int)num & 65535, 16) + " vs " + Convert.ToString((int)this.class151_0.vmethod_0() & 65535, 16));
                for (int i = 0; i < this.class151_0.class140_0.int_2; i++)
                {
                    for (int k = 0; k < this.class151_0.class140_0.int_0; k++)
                    {
                        this.class136_0[i].vmethod_0()[k] = 0;
                    }
                }
            }
            this.int_5   = this.class151_0.class140_0.int_2;
            this.int_6   = this.class151_0.class140_0.int_3;
            this.int_7   = this.class151_0.class140_0.int_4;
            this.int_8   = this.class151_0.class140_0.int_1;
            this.int_9   = this.class151_0.class140_0.int_0;
            this.long_0 += (long)this.class151_0.class140_0.int_0;
        }