// File: /workspace/github_c_makefile_star2_O2/wjmelements[P]evm/tst/evm.c
// Function: test_callEmpty
void test_callEmpty() {
    // 70a082310000000000000000000000004a6f6b9ff1fc974096f9063a45fd12bd5b928ad1
    evmInit();
    op_t callData[] = {
        0x70, 0xa0, 0x82, 0x31,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x4a, 0x6f, 0x6b, 0x9f, 0xf1,
        0xfc, 0x97, 0x40, 0x96, 0xf9,
        0x06, 0x3a, 0x45, 0xfd, 0x12,
        0xbd, 0x5b, 0x92, 0x8a, 0xd1,
    };
    address_t from = AddressFromHex42("0x4a6f6B9fF1fc974096f9063a45Fd12bD5B928AD1");
    address_t to = AddressFromHex42("0x4a6f6B9fF1fc974096f9063a45Fd12bD5B928AD1");
    uint64_t gas = 21432;
    val_t value;
    value[0] = 0;
    value[1] = 0;
    value[2] = 0;
    data_t input;
    input.content = callData;
    input.size = sizeof(callData);

    result_t result = txCall(from, gas, to, value, input, NULL);
    evmFinalize();

    assert(UPPER(UPPER(result.status)) == 0);
    assert(LOWER(UPPER(result.status)) == 0);
    assert(UPPER(LOWER(result.status)) == 0);
    assert(LOWER(LOWER(result.status)) == 1);
    assert(result.returnData.size == 0);
    assert(result.gasRemaining == 0);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0xe0, %rsp
xorl %eax, %eax
callq 0xaa8d
movaps 0x10404(%rip), %xmm0    # 0x15380
leaq 0xb0(%rsp), %rbx
movaps %xmm0, 0x10(%rbx)
movaps 0x103e1(%rip), %xmm0    # 0x15370
movaps %xmm0, (%rbx)
movl $0xd18a925b, 0x20(%rbx) # imm = 0xD18A925B
leaq 0x98(%rsp), %r14
movq %r14, %rdi
callq 0x332c
leaq 0x80(%rsp), %r15
movq %r15, %rdi
callq 0x332c
leaq 0x74(%rsp), %rdx
andq $0x0, (%rdx)
andl $0x0, 0x8(%rdx)
movl 0x10(%r15), %eax
movl %eax, 0x28(%rsp)
movups (%r15), %xmm0
movups %xmm0, 0x18(%rsp)
movl 0x10(%r14), %eax
movl %eax, 0x10(%rsp)
movups (%r14), %xmm0
movups %xmm0, (%rsp)
leaq 0x30(%rsp), %r14
pushq $0x24
popq %rcx
movl $0x53b8, %esi           # imm = 0x53B8
movq %r14, %rdi
movq %rbx, %r8
xorl %r9d, %r9d
callq 0xb135
xorl %eax, %eax
callq 0xada8
cmpq $0x0, 0x10(%r14)
jne 0x5051
cmpq $0x0, 0x48(%rsp)
jne 0x5070
cmpq $0x0, 0x50(%rsp)
jne 0x508f
cmpq $0x1, 0x58(%rsp)
jne 0x50ae
cmpq $0x0, 0x30(%rsp)
jne 0x50cd
cmpq $0x0, 0x60(%rsp)
jne 0x50ec
addq $0xe0, %rsp
popq %rbx
popq %r14
popq %r15
retq
leaq 0xbfd7(%rip), %rdi      # 0x1102f
leaq 0xbff1(%rip), %rsi      # 0x11050
leaq 0xc6e3(%rip), %rcx      # 0x11749
movl $0x3a2, %edx            # imm = 0x3A2
callq 0x3040
leaq 0xc517(%rip), %rdi      # 0x1158e
leaq 0xbfd2(%rip), %rsi      # 0x11050
leaq 0xc6c4(%rip), %rcx      # 0x11749
movl $0x3a3, %edx            # imm = 0x3A3
callq 0x3040
leaq 0xc4d7(%rip), %rdi      # 0x1156d
leaq 0xbfb3(%rip), %rsi      # 0x11050
leaq 0xc6a5(%rip), %rcx      # 0x11749
movl $0x3a4, %edx            # imm = 0x3A4
callq 0x3040
leaq 0xc6aa(%rip), %rdi      # 0x1175f
leaq 0xbf94(%rip), %rsi      # 0x11050
leaq 0xc686(%rip), %rcx      # 0x11749
movl $0x3a5, %edx            # imm = 0x3A5
callq 0x3040
leaq 0xc025(%rip), %rdi      # 0x110f9
leaq 0xbf75(%rip), %rsi      # 0x11050
leaq 0xc667(%rip), %rcx      # 0x11749
movl $0x3a6, %edx            # imm = 0x3A6
callq 0x3040
leaq 0xc022(%rip), %rdi      # 0x11115
leaq 0xbf56(%rip), %rsi      # 0x11050
leaq 0xc648(%rip), %rcx      # 0x11749
movl $0x3a7, %edx            # imm = 0x3A7
callq 0x3040