Esempio n. 1
0
        public void method_2(byte[] byte_1)
        {
            int num;

            if (this.enum3_0 == Enum3.const_1)
            {
                num = ((this.enum5_0 == Enum5.const_3) ? 17 : 32);
            }
            else
            {
                num = ((this.enum5_0 == Enum5.const_3) ? 9 : 17);
            }
            try
            {
                string @string = Encoding.UTF8.GetString(byte_1, num, 4);
                if (@string.Equals("Xing") || @string.Equals("Info"))
                {
                    this.bool_2 = true;
                    this.int_9  = -1;
                    this.int_11 = -1;
                    this.int_10 = -1;
                    byte[] array = new byte[100];
                    int    num2  = zzSoundClass.smethod_0(BitConverter.ToInt32(byte_1, num + 4));
                    int    num3  = 8;
                    if ((num2 & 1) != 0)
                    {
                        this.int_9 = zzSoundClass.smethod_0(BitConverter.ToInt32(byte_1, num + num3));
                        num3      += 4;
                    }
                    if ((num2 & 2) != 0)
                    {
                        this.int_11 = zzSoundClass.smethod_0(BitConverter.ToInt32(byte_1, num + num3));
                        num3       += 4;
                    }
                    if ((num2 & 4) != 0)
                    {
                        Buffer.BlockCopy(byte_1, num + num3, array, 0, array.Length);
                        num3          += array.Length;
                        this.class83_0 = new Class83(array, this.int_11);
                    }
                    if ((num2 & 8) != 0)
                    {
                        this.int_10 = zzSoundClass.smethod_0(BitConverter.ToInt32(byte_1, num + num3));
                        num3       += 4;
                    }
                }
            }
            catch (IndexOutOfRangeException exception_)
            {
                throw new BitstreamException("Xing Header Corrupted", exception_);
            }
            num = 32;
            try
            {
                if (Encoding.UTF8.GetString(byte_1, num, 4).Equals("VBRI"))
                {
                    this.bool_2 = true;
                    this.int_9  = -1;
                    this.int_11 = -1;
                    this.int_10 = -1;
                    this.int_10 = (int)zzSoundClass.smethod_1(BitConverter.ToInt16(byte_1, num + 8));
                    this.int_11 = zzSoundClass.smethod_0(BitConverter.ToInt32(byte_1, num + 10));
                    this.int_9  = zzSoundClass.smethod_0(BitConverter.ToInt32(byte_1, num + 14));
                    int[] array2 = new int[(int)zzSoundClass.smethod_1(BitConverter.ToInt16(byte_1, num + 18))];
                    short num4   = zzSoundClass.smethod_1(BitConverter.ToInt16(byte_1, num + 20));
                    short num5   = zzSoundClass.smethod_1(BitConverter.ToInt16(byte_1, num + 22));
                    short num6   = zzSoundClass.smethod_1(BitConverter.ToInt16(byte_1, num + 24));
                    int   num7   = 26;
                    switch (num5)
                    {
                    case 1:
                    {
                        int i = 0;
                        while (i < array2.Length)
                        {
                            array2[i] = (int)((short)byte_1[num + num7] * num4);
                            i++;
                            num7++;
                        }
                        break;
                    }

                    case 2:
                    {
                        int j = 0;
                        while (j < array2.Length)
                        {
                            array2[j] = (int)(zzSoundClass.smethod_1(BitConverter.ToInt16(byte_1, num + num7)) * num4);
                            j++;
                            num7 += 2;
                        }
                        break;
                    }

                    case 3:
                    {
                        int k = 0;
                        while (k < array2.Length)
                        {
                            array2[k] = Struct8.smethod_0(Struct8.smethod_3(byte_1, num + num7, true)) * (int)num4;
                            k++;
                            num7 += 3;
                        }
                        break;
                    }

                    case 4:
                    {
                        int l = 0;
                        while (l < array2.Length)
                        {
                            array2[l] = zzSoundClass.smethod_0(BitConverter.ToInt32(byte_1, num + num7)) * (int)num4;
                            l++;
                            num7 += 4;
                        }
                        break;
                    }

                    default:
                        throw new Exception("Size per table entry in bytes - is bigger then 4: " + num5);
                    }
                    this.class83_0 = new Class83(array2, num6);
                }
            }
            catch (IndexOutOfRangeException exception_2)
            {
                throw new BitstreamException("VBRI Header Corrupted", exception_2);
            }
        }
Esempio n. 2
0
        public void method_2(byte[] byte1)
        {
            int num;

            if (_enum30 == Enum3.Const1)
            {
                num = ((_enum50 == Enum5.Const3) ? 17 : 32);
            }
            else
            {
                num = ((_enum50 == Enum5.Const3) ? 9 : 17);
            }
            try
            {
                var @string = Encoding.UTF8.GetString(byte1, num, 4);
                if (@string.Equals("Xing") || @string.Equals("Info"))
                {
                    _bool2 = true;
                    _int9  = -1;
                    _int11 = -1;
                    _int10 = -1;
                    var array = new byte[100];
                    var num2  = smethod_0(BitConverter.ToInt32(byte1, num + 4));
                    var num3  = 8;
                    if ((num2 & 1) != 0)
                    {
                        _int9 = smethod_0(BitConverter.ToInt32(byte1, num + num3));
                        num3 += 4;
                    }
                    if ((num2 & 2) != 0)
                    {
                        _int11 = smethod_0(BitConverter.ToInt32(byte1, num + num3));
                        num3  += 4;
                    }
                    if ((num2 & 4) != 0)
                    {
                        Buffer.BlockCopy(byte1, num + num3, array, 0, array.Length);
                        num3     += array.Length;
                        _class830 = new Class83(array, _int11);
                    }
                    if ((num2 & 8) != 0)
                    {
                        _int10 = smethod_0(BitConverter.ToInt32(byte1, num + num3));
                        num3  += 4;
                    }
                }
            }
            catch (IndexOutOfRangeException exception)
            {
                throw new BitstreamException("Xing Header Corrupted", exception);
            }
            num = 32;
            try
            {
                if (Encoding.UTF8.GetString(byte1, num, 4).Equals("VBRI"))
                {
                    _bool2 = true;
                    _int9  = -1;
                    _int11 = -1;
                    _int10 = -1;
                    _int10 = smethod_1(BitConverter.ToInt16(byte1, num + 8));
                    _int11 = smethod_0(BitConverter.ToInt32(byte1, num + 10));
                    _int9  = smethod_0(BitConverter.ToInt32(byte1, num + 14));
                    var array2 = new int[smethod_1(BitConverter.ToInt16(byte1, num + 18))];
                    var num4   = smethod_1(BitConverter.ToInt16(byte1, num + 20));
                    var num5   = smethod_1(BitConverter.ToInt16(byte1, num + 22));
                    var num6   = smethod_1(BitConverter.ToInt16(byte1, num + 24));
                    var num7   = 26;
                    switch (num5)
                    {
                    case 1:
                    {
                        var i = 0;
                        while (i < array2.Length)
                        {
                            array2[i] = byte1[num + num7] * num4;
                            i++;
                            num7++;
                        }
                        break;
                    }

                    case 2:
                    {
                        var j = 0;
                        while (j < array2.Length)
                        {
                            array2[j] = smethod_1(BitConverter.ToInt16(byte1, num + num7)) * num4;
                            j++;
                            num7 += 2;
                        }
                        break;
                    }

                    case 3:
                    {
                        var k = 0;
                        while (k < array2.Length)
                        {
                            array2[k] = Struct8.smethod_0(Struct8.smethod_3(byte1, num + num7, true)) * num4;
                            k++;
                            num7 += 3;
                        }
                        break;
                    }

                    case 4:
                    {
                        var l = 0;
                        while (l < array2.Length)
                        {
                            array2[l] = smethod_0(BitConverter.ToInt32(byte1, num + num7)) * num4;
                            l++;
                            num7 += 4;
                        }
                        break;
                    }

                    default:
                        throw new Exception("Size per table entry in bytes - is bigger then 4: " + num5);
                    }
                    _class830 = new Class83(array2, num6);
                }
            }
            catch (IndexOutOfRangeException exception2)
            {
                throw new BitstreamException("VBRI Header Corrupted", exception2);
            }
        }