code: function otherVarIntDecode (reader, startWith) {
    let result = startWith
    let shift = 4
    let byte = null
    do {
      byte = reader.readUInt8()
      result |= (byte & 0b01111111) << shift
      shift += 7
    } while (byte & 0b10000000)
    return result
  }
docs: I'm pretty much copying this one from the git C source code, because it makes no sense.