def METHOD_NAME(computation: ComputationAPI) -> None:
    (
        mem_start_position,
        calldata_start_position,
        size,
    ) = computation.stack_pop_ints(3)
    computation.extend_memory(mem_start_position, size)
    word_count = ceil32(size) // 32
    copy_gas_cost = word_count * constants.GAS_COPY
    computation.consume_gas(copy_gas_cost, reason="CALLDATACOPY fee")
    value = computation.msg.data_as_bytes[
        calldata_start_position : calldata_start_position + size
    ]
    padded_value = value.ljust(size, b"\x00")
    computation.memory_write(mem_start_position, size, padded_value)