private void aTwo(UnknownB0 A_0) { UnknownDH dh = A_0.a(VLTOtherValue.TABLE_START) as UnknownDH; for (int i = 0; i < dh.asa1.Length; ++i) { TableEntry @as = dh.asa1[i]; switch (@as.entryType) { case EntryType.ROOT: this.av.am(@as.di1.asRootEntry(), A_0); break; case EntryType.CLASS: this.av.a(@as.di1.asClassEntry(), A_0); break; case EntryType.ROW: RowRecord c = @as.di1.asRowEntry(); if (this.av.genht2 == null) // attempted to load a file with a parent before db.vlt { } VLTClass dq = this.av.genht2[c.ui2]; dq.dqb1.a(c, A_0); break; } } }
private UnknownC0 a(BinaryReader A_0) { if (A_0.BaseStream.Position == A_0.BaseStream.Length) { return(null); } UnknownE e = new UnknownE(); e.read(A_0); if (!e.isBlank()) { VLTOtherValue ce = e.ce1; UnknownC0 c; switch (ce) { case VLTOtherValue.VLTMAGIC: c = new UnknownBA(); break; case VLTOtherValue.TABLE_START: c = new UnknownDH(); break; case VLTOtherValue.TABLE_END: c = new UnknownA8(); break; case VLTOtherValue.d: case VLTOtherValue.e: default: c = new UnknownA4(); break; } c.e1 = e; c.read(A_0); e.seekToNextBlock(A_0.BaseStream); return(c); } return(null); }
public void a(Stream A_0, Stream A_1) { byte[] array = new byte[A_0.Length]; A_0.Read(array, 0, array.Length); // array.Length --> .vlt FileSize this.ms2 = new MemoryStream(array); this.genc0list = new List <UnknownC0>(); BinaryReader a_ = new BinaryReader(this.ms2); UnknownC0 c; while ((c = this.a(a_)) != null) { this.genc0list.Add(c); } this.Trim(); UnknownDH dh = this.a(VLTOtherValue.TABLE_START) as UnknownDH; for (int i = 0; i < dh.asa1.Length; ++i) { dh.asa1[i].b(a_); // TODO read vs b? b, DEFINITELY b } if (A_1 == null) { DirectoryInfo directoryInfo = new DirectoryInfo(this.directory); UnknownBA ba = this.a(VLTOtherValue.VLTMAGIC) as UnknownBA; string text = ba.sa1[1]; FileInfo[] files = directoryInfo.GetFiles(text); if (files.Length == 0) { throw new Exception("Required file " + text + " was not found."); } A_1 = new FileStream(files[0].FullName, FileMode.Open, FileAccess.ReadWrite); array = new byte[A_1.Length]; A_1.Read(array, 0, array.Length); A_1.Close(); } else { array = new byte[A_1.Length]; A_1.Read(array, 0, array.Length); } this.ms1 = new MemoryStream(array); a_ = new BinaryReader(this.ms1); this.ms1.Seek(0L, SeekOrigin.Begin); c = this.a(a_); c.e1.seekToDataStart(this.ms1); if (c.e1.ce1 == VLTOtherValue.BINMAGIC) { long num = this.ms1.Position + c.e1.dataSize(); while (this.ms1.Position < num) { string text2 = UnknownAP.a(a_); if (text2 != "") { HashTracker.addHashFromVLTDB(text2); } } } UnknownA8 a = this.a(VLTOtherValue.TABLE_END) as UnknownA8; a.a(this.ms1); }