private void WriteCentralDirRecord(ZipStorer.ZipFileEntry zipFileEntry)
{
Encoding encoding = zipFileEntry.EncodeUTF8 ? Encoding.UTF8 : ZipStorer.defaultEncoding;
byte[] bytes = encoding.GetBytes(zipFileEntry.FilenameInZip);
byte[] bytes2 = encoding.GetBytes(zipFileEntry.Comment);
this.zipFileStream.Write(new byte[]
{
80,
75,
1,
2,
23,
11,
20,
0
}, 0, 8);
this.zipFileStream.Write(BitConverter.GetBytes(zipFileEntry.EncodeUTF8 ? 2048 : 0), 0, 2);
this.zipFileStream.Write(BitConverter.GetBytes((ushort)zipFileEntry.Method), 0, 2);
this.zipFileStream.Write(BitConverter.GetBytes(ZipStorer.DateTimeToDosTime(zipFileEntry.ModifyTime)), 0, 4);
this.zipFileStream.Write(BitConverter.GetBytes(zipFileEntry.Crc32), 0, 4);
this.zipFileStream.Write(BitConverter.GetBytes(zipFileEntry.CompressedSize), 0, 4);
this.zipFileStream.Write(BitConverter.GetBytes(zipFileEntry.FileSize), 0, 4);
this.zipFileStream.Write(BitConverter.GetBytes((ushort)bytes.Length), 0, 2);
this.zipFileStream.Write(BitConverter.GetBytes(0), 0, 2);
this.zipFileStream.Write(BitConverter.GetBytes((ushort)bytes2.Length), 0, 2);
this.zipFileStream.Write(BitConverter.GetBytes(0), 0, 2);
this.zipFileStream.Write(BitConverter.GetBytes(0), 0, 2);
this.zipFileStream.Write(BitConverter.GetBytes(0), 0, 2);
this.zipFileStream.Write(BitConverter.GetBytes(33024), 0, 2);
this.zipFileStream.Write(BitConverter.GetBytes(zipFileEntry.HeaderOffset), 0, 4);
this.zipFileStream.Write(bytes, 0, bytes.Length);
this.zipFileStream.Write(bytes2, 0, bytes2.Length);
}