private Class1090 method_5(Class1090 A_0, string A_1) { if (A_0.string_0 == A_1) { return(A_0); } Class1090 class4 = this.method_6(A_0, A_0.uint_2); if (class4 != null) { Class1090 class5 = this.method_5(class4, A_1); if (class5 != null) { return(class5); } } Class1090 class2 = this.method_6(A_0, A_0.uint_3); if (class2 != null) { Class1090 class3 = this.method_5(class2, A_1); if (class3 != null) { return(class3); } } return(null); }
internal Class1090 method_6(Class1090 A_0, uint A_1) { if (((A_1 != uint.MaxValue) && (A_1 < this.arrayList_0.Count)) && (A_0 != this.method_0(A_1))) { return(this.method_0(A_1)); } return(null); }
public MemoryStream method_11(string A_0) { int num = 0x13; Class1090 class2 = this.class410_0.method_4(A_0); if (class2 == null) { throw new InvalidOperationException(string.Format(BookmarkStart.b("稸娺匼儾⹀㝂敄ⅆ⁈╊⥌潎㕐㩒❔㉖㩘⽚㉜ⵞᡠ䍢d०ᵨᥪᑬ佮ੰ䍲ࡴ奶", num), A_0)); } return(this.method_10(class2.uint_4, (int)class2.long_2, 0x200, false)); }
private void method_13(Class1090 A_0, Class1089 A_1) { int num = 10; if (!A_0.bool_0) { A_0.bool_0 = true; switch (A_0.dirEntryType_0) { case DirEntryType.Invalid: return; case DirEntryType.Storage: case DirEntryType.Root: { Class1089 class2 = new Class1089(A_0.guid_0); if ((A_0.dirEntryType_0 != DirEntryType.Root) || (this.class1089_0 != null)) { A_1.method_3(A_0.string_0, class2); } else { this.class1089_0 = class2; } Class1090 class3 = this.class410_0.method_6(A_0, A_0.uint_1); if (class3 != null) { this.method_13(class3, class2); } break; } case DirEntryType.Stream: A_1.method_2(A_0.string_0, this.method_10(A_0.uint_4, (int)A_0.long_2, (int)A_0.long_2, false)); break; default: throw new InvalidOperationException(BookmarkStart.b("支就弳堵圷䴹刻ḽ㐿㭁㑃⍅桇╉⩋湍㑏㭑♓㍕㭗⹙㍛ⱝᥟ䉡ţࡥᱧᡩᕫ乭ᱱ味ɵၷό屻ൽﲇノﺋ늑ﶛ劣얟財", num)); } Class1090 class5 = this.class410_0.method_6(A_0, A_0.uint_2); if (class5 != null) { this.method_13(class5, A_1); } Class1090 class4 = this.class410_0.method_6(A_0, A_0.uint_3); if (class4 != null) { this.method_13(class4, A_1); } } }
private MemoryStream method_10(uint A_0, int A_1, int A_2, bool A_3) { bool flag; A_2 = Math.Min(A_1, A_2); MemoryStream stream = new MemoryStream(A_2); stream.SetLength((long)A_2); if (!(flag = A_3 || this.class522_0.method_2((long)A_1))) { Class1090 class2 = this.class410_0.method_0(0); if ((class2.uint_4 != uint.MaxValue) && (this.memoryStream_0 == null)) { this.memoryStream_0 = this.method_10(class2.uint_4, (int)class2.long_2, (int)class2.long_2, true); } if ((this.class522_0.method_0() == 0) || (this.memoryStream_0 == null)) { stream.SetLength(0L); return(stream); } } Class916 class3 = flag ? this.class917_0 : this.class916_0; Stream stream2 = flag ? this.stream_0 : this.memoryStream_0; int num6 = flag ? 0x200 : 0x40; int offset = 0; long position = stream2.Position; for (uint i = A_0; i != 0xfffffffe; i = class3.method_0(i)) { if (i == uint.MaxValue) { return(stream); } long num2 = Class967.smethod_0(i, flag); if (position != num2) { stream2.Position = position = num2; } int num5 = A_2 - offset; if (num5 == 0) { return(stream); } int count = Math.Min(num6, num5); stream2.Read(stream.GetBuffer(), offset, count); offset += count; position += count; } return(stream); }
internal MemoryStream method_7() { MemoryStream output = new MemoryStream(); BinaryWriter writer = new BinaryWriter(output, Encoding.Unicode); for (uint i = 0; i < this.arrayList_0.Count; i++) { this.method_0(i).method_0(writer); } Class1090 class2 = new Class1090(); while ((output.Length % 0x200L) != 0L) { class2.method_0(writer); } return(output); }
private void method_6(Class1089 A_0, Class1090 A_1) { int num = 0x13; if (A_1 == null) { A_1 = new Class1090(BookmarkStart.b("欸吺刼䬾慀ق⭄㍆㭈㉊", num), true, A_0.method_0()); this.class410_0.method_3(A_1); } if (A_0.Count > 0) { A_1.uint_1 = (uint)this.class410_0.method_2(); } for (int i = 0; i < A_0.Count; i++) { Class1090 class2; string key = (string)A_0.GetKey(i); object byIndex = A_0.GetByIndex(i); if (byIndex is Class1089) { Class1089 class3 = (Class1089)byIndex; class2 = new Class1090(key, false, class3.method_0()); this.class410_0.method_3(class2); this.method_6(class3, class2); } else { if (!(byIndex is Stream)) { throw new InvalidOperationException(BookmarkStart.b("永唺嘼儾⹀㑂⭄杆♈⥊❌⩎㉐❒畔㹖㝘筚ぜ㩞ౠౢᝤṦ䥨ᡪᥬnͰቲቴቶ坸", num)); } Stream stream = (Stream)byIndex; class2 = new Class1090(key, DirEntryType.Stream, stream.Length); this.class410_0.method_3(class2); class2.uint_4 = this.method_8(stream, false); } if (i < (A_0.Count - 1)) { class2.uint_3 = (uint)this.class410_0.method_2(); } } }
internal Class1090 method_4(string A_0) { Class1090 class2 = this.method_6(this.method_0(0), this.method_0(0).uint_1); return(this.method_5(class2, A_0)); }
internal void method_3(Class1090 A_0) { this.arrayList_0.Add(A_0); }
internal void method_1(uint A_0, Class1090 A_1) { this.arrayList_0[(int)A_0] = A_1; }