예제 #1
0
    // Token: 0x060005E2 RID: 1506 RVA: 0x000294B0 File Offset: 0x000276B0
    private static bool smethod_19(Struct8 struct8_0, out long long_1, out TimeSpan timeSpan_0, out DateTimeKind dateTimeKind_0)
    {
        dateTimeKind_0 = DateTimeKind.Utc;
        int num = struct8_0.smethod_0('+', 7, struct8_0.method_2() - 8);

        if (num == -1)
        {
            num = struct8_0.smethod_0('-', 7, struct8_0.method_2() - 8);
        }
        if (num != -1)
        {
            dateTimeKind_0 = DateTimeKind.Local;
            if (!Class25.smethod_23(struct8_0, num + struct8_0.method_1(), out timeSpan_0))
            {
                long_1 = 0L;
                return(false);
            }
        }
        else
        {
            timeSpan_0 = TimeSpan.Zero;
            num        = struct8_0.method_2() - 2;
        }
        return(Class23.smethod_15(struct8_0.method_0(), 6 + struct8_0.method_1(), num - 6, out long_1) == (Enum4)1);
    }
예제 #2
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);
            }
        }
예제 #3
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);
            }
        }