const emlParser = (encoded) => { let decEml = '' , keyInHex = encoded.substr (0, 2) , key = parseInt (keyInHex, 16) for (let n = 2; n < encoded.length; n += 2 ) { let charInHex = encoded.substr (n, 2) , char = parseInt (charInHex, 16) , output = char ^ key decEml += String.fromCharCode (output) } return decEml } function emlDecoder() { const eml = document.getElementsByClassName("eml") for (let i = 0; i < eml.length; i++) { let elEml = eml[i] , encoded = elEml.dataset.encoded, decoded = emlParser(encoded) elEml.textContent = decoded elEml.href = 'mailto:' + decoded } } emlDecoder()