body cipher decode

@function __decode
@param {Buffer} raw - data
@param {Array} key - user key
@return {Buffer}
function __decode(raw, key) {

  var res = []; // output buffer
  var len = _.size(key);
  var cc = len; // key switch counter
  for (var i = 0, ii = _.size(raw); i < ii; ++i) {
    if (cc-- > 0) {
      res[i] = (raw[i] - key.shift()) % 256;
    } else {
      res[i] = (raw[i] - res[i - len]) % 256;
    }
  }
  return new Buffer(res);
}