// 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); }
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); } }
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); } }