whole_func_string: function (runState) {
      const [offset, length] = runState.stack.popN(2)
      subMemUsage(runState, offset, length)
      let data = Buffer.alloc(0)
      if (!length.isZero()) {
        data = runState.memory.read(offset.toNumber(), length.toNumber())
      }
      // copy fee
      subGas(runState, new BN(runState._common.param('gasPrices', 'sha3Word')).imul(length.divCeil(new BN(32))))
      const r = new BN(utils.keccak256(data))
      runState.stack.push(r)
    }
func_code_string: function (runState) {
      const [offset, length] = runState.stack.popN(2)
      subMemUsage(runState, offset, length)
      let data = Buffer.alloc(0)
      if (!length.isZero()) {
        data = runState.memory.read(offset.toNumber(), length.toNumber())
      }
      // copy fee
      subGas(runState, new BN(runState._common.param('gasPrices', 'sha3Word')).imul(length.divCeil(new BN(32))))
      const r = new BN(utils.keccak256(data))
      runState.stack.push(r)
    }
func_documentation_string: 0x20 range - crypto