private void SetTimeStamp(DateTime dateTime, int timeOffset)
 {
     EnsureDataBlock();
     byte[] timeStampBytes = GetTimeStampBytes(dateTime);
     byte[] rawFileTimes   = HeaderCrypto.Decrypt(GetDataBlockBytesReference());
     Array.Copy(timeStampBytes, 0, rawFileTimes, timeOffset, timeStampBytes.Length);
     SetDataBlockBytesReference(HeaderCrypto.Encrypt(rawFileTimes));
 }
        private DateTime GetTimeStamp(int timeOffset)
        {
            EnsureDataBlock();
            byte[] rawFileTimes = HeaderCrypto.Decrypt(GetDataBlockBytesReference());
            uint   lowDateTime  = (uint)rawFileTimes.GetLittleEndianValue(timeOffset, 4);
            uint   hiDateTime   = (uint)rawFileTimes.GetLittleEndianValue(timeOffset + 4, 4);
            long   filetime     = ((long)hiDateTime << 32) | lowDateTime;

            DateTime timeStampUtc = new DateTime(WindowsTimeTicksStart + filetime, DateTimeKind.Utc);

            return(timeStampUtc);
        }