private void method_19() { if (String1 != null) { Class3180 = new ZzPakNode2(String1, false); } using (var stream = new Stream26(File.Open(String0, FileMode.Open, FileAccess.Read, FileShare.Read))) { var num = 0; var num2 = (int)stream.Length; if (num2 == 0) { throw new Exception("Pak File is empty!"); } var int_ = stream.ReadInt(); stream.ReverseEndianness = (Bool2 = (!QbSongClass1.ContainsKey(int_) || !QbSongClass1.GetDictString(int_).StartsWith("."))); Bool3 = (stream.ReadInt() < stream.Length); var @enum = (Enum35)stream.ReadIntAt(28); Bool1 = ((@enum & Enum35.Flag3) == Enum35.Flag0); Int0 = stream.ReadIntAt(Bool1 ? 12 : 16, Bool2 && (@enum & Enum35.Flag4) == Enum35.Flag0 && (@enum & Enum35.Flag5) == Enum35.Flag0); while (true) { var enum2 = (Enum35)stream.ReadIntAt(num + 28, false); var bool_ = Bool2 && (enum2 & Enum35.Flag4) == Enum35.Flag0 && (enum2 & Enum35.Flag5) == Enum35.Flag0; var num3 = stream.ReadIntAt(num, bool_); if (QbSongClass1.ContainsKey(num3) && (QbSongClass1.GetDictString(num3).Equals(".last") || QbSongClass1.GetDictString(num3).Equals("last"))) { break; } var num4 = stream.ReadInt(bool_); if (!Bool3) { num4 = num4 - num2 + num; } if (num4 < 0) { num4 = 0; } var int2 = stream.ReadInt(bool_); var num5 = stream.ReadIntAt(num + (Bool1 ? 16 : 12), bool_); var num6 = stream.ReadIntAt(num + 20, bool_); var int3 = stream.ReadInt(bool_); stream.Position += 4L; if ((enum2 & Enum35.Flag3) != Enum35.Flag0) { Bool1 = false; var text = Stream260.ReadString(160); var num7 = text.IndexOf('\0'); if (num7 >= 0) { text = text.Substring(0, num7); } if (QbSongClass1.ContainsKey(num3) && !QbSongClass1.GetDictString(num3).EndsWith(".qb.ngc") && !QbSongClass1.GetDictString(num3).EndsWith(".qb.ps2")) { if (!Bool2) { if (num5 == KeyGenerator.GetQbKey(text = text.Replace("/", "\\").Replace(".ps2", ""), true)) { QbSongClass1.AddKeyToDictionary(text); } else if (num5 == KeyGenerator.GetQbKey( text = text.Replace("/", "\\").Replace(".qb", ""), true)) { QbSongClass1.AddKeyToDictionary(text); } } else if (num5 == KeyGenerator.GetQbKey(text = text.Replace("/", "\\").Replace(".ngc", ""), true)) { QbSongClass1.AddKeyToDictionary(text); } else if (num5 == KeyGenerator.GetQbKey(text = text.Replace("/", "\\").Replace(".qb", ""), true)) { QbSongClass1.AddKeyToDictionary(text); } } else { var text2 = "abcdefghijklmnopqrstuvwxyz"; for (var i = 0; i < text2.Length; i++) { var c = text2[i]; if (num5 == KeyGenerator.GetQbKey(c + text, true)) { QbSongClass1.AddKeyToDictionary(c + text); } } } if (num6 == KeyGenerator.GetQbKey(text = KeyGenerator.GetFileNameNoExt(text), true)) { QbSongClass1.AddKeyToDictionary(text); } } TreeNode treeNode; if (QbSongClass1.ContainsKey(num3) && QbSongClass1.GetDictString(num3).EndsWith("qb")) { treeNode = new Class309(num3, num4, int2, num5, num6, int3, enum2); } else if (QbSongClass1.ContainsKey(num3) && QbSongClass1.GetDictString(num3).Contains("qs")) { treeNode = new Class328(num3, num4, int2, num5, num6, int3, enum2); } else { treeNode = new ZzCocoaNode12(num3, num4, int2, num5, num6, int3, enum2); } if (QbSongClass1.ContainsKey(num5)) { method_1(QbSongClass1.GetDictString(num5), treeNode); } else { method_5(num5, (INterface12)treeNode); } num += (((enum2 & Enum35.Flag3) != Enum35.Flag0) ? 192 : 32); } } Stream260 = new Stream26(File.Open(String2, FileMode.Open, FileAccess.Read, FileShare.Read)); if (Stream260.Length == 0L) { throw new Exception("Pab File is empty!"); } }
private void method_4() { if (Stream260 == null) { Stream260 = new Stream26(File.Open(String0, FileMode.Open, FileAccess.Read, FileShare.Read)); } Class3180 = ((String1 != null) ? new ZzPakNode2(String1, false) : this); if (Stream260.Length == 0L) { throw new Exception("Pak File is empty!"); } var num = 0; var num2 = Stream260.ReadInt(); Stream260.ReverseEndianness = (Bool2 = (!QbSongClass1.ContainsKey(num2) || !QbSongClass1.GetDictString(num2).StartsWith("."))); var @enum = (Enum35)Stream260.ReadIntAt(28); Bool1 = ((@enum & Enum35.Flag3) == Enum35.Flag0); Int0 = Stream260.ReadIntAt(Bool1 ? 12 : 16, Bool2 && (@enum & Enum35.Flag4) == Enum35.Flag0 && (@enum & Enum35.Flag5) == Enum35.Flag0); if (Bool4 && String0 != null) { var text = KeyGenerator.GetFileName(String0); if (text.Contains("_song")) { QbSongClass1.GenerateSongTrackStuff(text.Substring(0, text.LastIndexOf("_song.pak")).ToLower()); } else if (!Bool1) { QbSongClass1.GenerateSongTrackStuff(text.Substring(0, text.LastIndexOf(".pak")).ToLower()); } } while (true) { var enum2 = (Enum35)Stream260.ReadIntAt(num + 28); var flag = Bool2 && (enum2 & Enum35.Flag4) == Enum35.Flag0 && (enum2 & Enum35.Flag5) == Enum35.Flag0; var int_ = Stream260.ReadIntAt(num, flag); if (QbSongClass1.ContainsKey(int_)) { if (QbSongClass1.GetDictString(int_).Equals(".last")) { return; } if (QbSongClass1.GetDictString(int_).Equals("last")) { break; } } var int2 = Stream260.ReadInt(flag) + num; var int3 = Stream260.ReadInt(flag); var num3 = Stream260.ReadIntAt(num + (Bool1 ? 16 : 12), flag); var num4 = Stream260.ReadIntAt(num + 20, flag); var int4 = Stream260.ReadInt(flag); Stream260.Position += 4L; if ((enum2 & Enum35.Flag3) != Enum35.Flag0) { Bool1 = false; var text2 = Stream260.ReadString(160); var num5 = text2.IndexOf('\0'); if (num5 >= 0) { text2 = text2.Substring(0, num5); } if (QbSongClass1.ContainsKey(int_) && !QbSongClass1.GetDictString(int_).EndsWith(".qb.ngc") && !QbSongClass1.GetDictString(int_).EndsWith(".qb.ps2")) { if (!Bool2) { if (num3 == KeyGenerator.GetQbKey(text2 = text2.Replace("/", "\\").Replace(".ps2", ""), true)) { QbSongClass1.AddKeyToDictionary(text2); } else if (num3 == KeyGenerator.GetQbKey(text2 = text2.Replace("/", "\\").Replace(".qb", ""), true)) { QbSongClass1.AddKeyToDictionary(text2); } } else if (num3 == KeyGenerator.GetQbKey(text2 = text2.Replace("/", "\\").Replace(".ngc", ""), true)) { QbSongClass1.AddKeyToDictionary(text2); } else if (num3 == KeyGenerator.GetQbKey(text2 = text2.Replace("/", "\\").Replace(".qb", ""), true)) { QbSongClass1.AddKeyToDictionary(text2); } } else { var text3 = "abcdefghijklmnopqrstuvwxyz"; for (var i = 0; i < text3.Length; i++) { var c = text3[i]; if (num3 == KeyGenerator.GetQbKey(c + text2, true)) { QbSongClass1.AddKeyToDictionary(c + text2); } } } if (num4 == KeyGenerator.GetQbKey(text2 = KeyGenerator.GetFileNameNoExt(text2), true)) { QbSongClass1.AddKeyToDictionary(text2); } } TreeNode treeNode; if (QbSongClass1.ContainsKey(int_) && QbSongClass1.GetDictString(int_).Contains("qb")) { treeNode = new Class309(int_, int2, int3, num3, num4, int4, enum2); } else if (QbSongClass1.ContainsKey(int_) && QbSongClass1.GetDictString(int_).Contains("qs")) { treeNode = new Class328(int_, int2, int3, num3, num4, int4, enum2); } else { treeNode = new ZzCocoaNode12(int_, int2, int3, num3, num4, int4, enum2); } if (Bool4) { if (QbSongClass1.ContainsKey(num3)) { method_1(QbSongClass1.GetDictString(num3), treeNode); } else { method_5(num3, (INterface12)treeNode); } } else { List0.Add((INterface12)treeNode); } num += (((enum2 & Enum35.Flag3) != Enum35.Flag0) ? 192 : 32); } }