private void WriteArchiveHeaders(BinaryWriter writer) { FileEntries.Sort((x, y) => x.PathHash.CompareTo(y.PathHash)); Header.FileEntryCount = (uint)FileEntries.Count; BlockEntries.Sort((x, y) => x.DecompressedOffset.CompareTo(y.DecompressedOffset)); Header.BlockEntryCount = (uint)BlockEntries.Count; Header.ToData(writer); foreach (var entry in FileEntries) { entry.ToData(writer, Header); } foreach (var entry in BlockEntries) { entry.ToData(writer, Header); } }