                 }
                 if self.diskNumberStart == 0xFFFF {
                     self.diskNumberStart = pointerData.uint32FromAlignedBytes(count: 4)
+                }
+            case 0x5455: // Extended Timestamp
+                let flags = pointerData.alignedByte()
+                guard flags & 0xF8 == 0 else { break }
+                if flags & 0x01 != 0 {
+                    self.modificationTimestamp = pointerData.intFromAlignedBytes(count: 4)
                 }
             default:
                 pointerData.index += size

            let headerID = pointerData.intFromAlignedBytes(count: 2)
            let size = pointerData.intFromAlignedBytes(count: 2)
            switch headerID {
            case 0x0001:
                if self.uncompSize == 0xFFFFFFFF {
                    self.uncompSize = pointerData.uint64FromAlignedBytes(count: 8)
                }

            attributesDict[FileAttributeKey.modificationDate] = mtime
        }

        // Extended Timestamp
        if let mtimestamp = cdEntry.modificationTimestamp {
            attributesDict[FileAttributeKey.modificationDate] = Date(timeIntervalSince1970: TimeInterval(mtimestamp))
        }

        // Size
        attributesDict[FileAttributeKey.size] = cdEntry.uncompSize

