internal static StringFileInfo ReadStringFileInfo(this PeReader reader) { var orgPos = reader.GetPosition(); var info = new StringFileInfo(); if (!reader.ReadFileInfo(info, "StringFileInfo")) { return(null); } // Read all children (StringTables) var children = new List <StringTable>(); while (reader.GetPosition() < orgPos + info.Length) { children.Add(reader.ReadStringTable()); } info.Children = children.ToImmutableList(); return(info); }