readInt53() {
    const { low32, high32 } = this.readInt64()
    if (
      high32 < -0x200000 ||
      (high32 === -0x200000 && low32 === 0) ||
      high32 > 0x1fffff
    ) {
      throw new RangeError("number out of range")
    }
    return high32 * 0x100000000 + low32
  }
Reads a LEB128-encoded signed integer from the current position in the
buffer. Allows any integer that can be safely represented by JavaScript
(between -(2^53 - 1) and 2^53 - 1), throws an exception outside of that range.