Mea

by rgthree

HTML

<pre id="console"></pre>

CSS

pre {
  font-size: 10px;
}

JavaScript

// http://puzzling.stackexchange.com/questions/41756/meatsacks-please-help-us-decipher-this-code
let console = document.getElementById('console');
let divider1 = '=========================';
let divider2 = '------------------------';
let log = function(msg) {
  console.innerHTML += '\n' + msg;
};
let rot13 = function(s)
 {
    return (s ? s : this).split('').map(function(_)
     {
        if (!_.match(/[A-Za-z]/)) return _;
        c = Math.floor(_.charCodeAt(0) / 97);
        k = (_.toLowerCase().charCodeAt(0) - 83) % 26 || 26;
        return String.fromCharCode(k + ((c == 0) ? 64 : 96));
     }).join('');
 }
let alpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
let message = '260504040140406302560010302560010303020560501604013025600404001030256001056001302560401300302560501404010302605040401404063020560604040130256050401401030302605040401404063025604013002560504014010303025605014040103025605040140103025600103025600404001030260404063020560060606013030256050140103025600404001030302560010560013020560604040130';

let substitute = function(code, opt_num, opt_sum, opt_alpha) {
  let num = (opt_num || 0) + 1;
  let str = '';
  let ms = String(code).match(new RegExp(`.{1,${num}}`, 'g'));
  (ms || []).forEach((l) => {
    str += handleLetter(l, opt_sum, opt_alpha);
  });
  return str;
};

let handleLetter = function(part, opt_sum, opt_alpha) {
  let sum = !!opt_sum;
	let n = 0;
  let abc = opt_alpha || alpha;
  if (sum) {
    let ms = part.match(new RegExp(`.`, 'g'));
    (ms || []).forEach((ns) => {
      n += parseInt(ns, 10);
    });
  } else {
    n = parseInt(part, 10);
  }
  if(n > abc.length - 1) {
    //log(`[WARNING] ${n} at is over ${alpha.length}`);
    n = n % abc.length;
  }
  return abc[n]
}

log(divider1);
log('Splitting message');
log(divider1);

let i = 0;
for (i = 1; i < message.length; i++) {
  if (message.length % i !== 0) {
    //log (`Skipping ${i} -- Does not divide equally`);
    //log(divider2);
    continue;
  }
  log(`Splitting by ${i}`);
  matches =...