// File: /workspace/github_c_makefile_star2_O1/wjmelements[P]evm/tst/evm.c
// Function: test_extcodecopy
void test_extcodecopy() {
    evmInit();


    // 363d3d37363df3
#define PROGRAM_ECHO \
        CALLDATASIZE, RETURNDATASIZE, RETURNDATASIZE, CALLDATACOPY, \
        CALLDATASIZE, RETURNDATASIZE, RETURN
    op_t echo[] = {
        PROGRAM_ECHO
    };
    // 66363d3d37363df33d5260076019f3
    op_t createEcho[] = {
        PUSH7, PROGRAM_ECHO, RETURNDATASIZE, MSTORE,
        PUSH1, 7, PUSH1, 25, RETURN
    };
#undef PROGRAM_ECHO
    address_t from = AddressFromHex42("0x4a6f6B9fF1fc974096f9063a45Fd12bD5B928AD1");
    uint64_t gas = 54659;
    val_t value;
    value[0] = 0;
    value[1] = 0;
    value[2] = 0;

    data_t input;
    input.content = createEcho;
    input.size = sizeof(createEcho);

    result_t createResult = txCreate(from, gas, value, input);
    assert(UPPER(UPPER(createResult.status)) == 0);
    assert(LOWER(UPPER(createResult.status)) == 0x80d9b122);
    assert(UPPER(LOWER(createResult.status)) == 0xdc3a16fdc41f96cf);
    assert(LOWER(LOWER(createResult.status)) == 0x010ffe7e38d227c3);
    assert(createResult.returnData.size == sizeof(echo));
    assert(memcmp(createResult.returnData.content, echo, sizeof(echo)) == 0);
    assert(createResult.gasRemaining == 0);

    gas = 57035;
    // 385952385f59395f353b5f595f353c595ff3
#define PROGRAM_EXTCODECOPY \
    CODESIZE, MSIZE, MSTORE, \
    CODESIZE, PUSH0, MSIZE, CODECOPY, \
    PUSH0, CALLDATALOAD, EXTCODESIZE, PUSH0, MSIZE, PUSH0, CALLDATALOAD, EXTCODECOPY, \
    MSIZE, PUSH0, RETURN
    op_t extcodecopy[] = {
        PROGRAM_EXTCODECOPY
    };
    // 71385952385f59395f353b5f595f353c595ff33d526012600ef3
    op_t createExtCodeCopy[] = {
        PUSH18, PROGRAM_EXTCODECOPY,
        RETURNDATASIZE, MSTORE,
        PUSH1, 18, PUSH1, 14, RETURN
    };
#undef PROGRAM_EXTCODECOPY
    input.size = sizeof(createExtCodeCopy);
    input.content = createExtCodeCopy;
    result_t secondCreateResult = txCreate(from, gas, value, input);
    assert(memcmp(secondCreateResult.returnData.content, extcodecopy, sizeof(extcodecopy)) == 0);
    assert(UPPER(UPPER(secondCreateResult.status)) == 0);
    assert(LOWER(UPPER(secondCreateResult.status)) == 0x47784b21);
    assert(UPPER(LOWER(secondCreateResult.status)) == 0x780d1e1d5efcd005);
    assert(LOWER(LOWER(secondCreateResult.status)) == 0xc5fe542813b6d71e);
    assert(secondCreateResult.gasRemaining == 0);

    // ensure upper bytes of upcoming calldata are zero
    address_t locations[4];
    bzero(locations, sizeof(locations));
    address_t echoAddress = locations[1] = AddressFromUint256(&createResult.status);
    address_t extcodecopyAddress = locations[3] = AddressFromUint256(&secondCreateResult.status);

    address_t to = extcodecopyAddress;

    input.size = 32;

    gas = 24117;
    input.content = locations[1].address - 12;
    result_t examineFirstAccount = txCall(from, gas, to, value, input, NULL);
    assert(UPPER(UPPER(examineFirstAccount.status)) == 0);
    assert(LOWER(UPPER(examineFirstAccount.status)) == 0);
    assert(UPPER(LOWER(examineFirstAccount.status)) == 0);
    assert(LOWER(LOWER(examineFirstAccount.status)) == 1);
    assert(examineFirstAccount.returnData.size == 96);
    for (int i = 0; i < 31; i++) {
        assert(examineFirstAccount.returnData.content[i] == 0);
    }
    assert(examineFirstAccount.returnData.content[31] == sizeof(extcodecopy));
    assert(memcmp(examineFirstAccount.returnData.content+32, extcodecopy, sizeof(extcodecopy)) == 0);
    for (int i = 32 + sizeof(extcodecopy); i < 64; i++) {
        assert(examineFirstAccount.returnData.content[i] == 0);
    }
    assert(memcmp(examineFirstAccount.returnData.content+64, echo, sizeof(echo)) == 0);
    for (int i = 64 + sizeof(echo); i < 96; i++) {
        assert(examineFirstAccount.returnData.content[i] == 0);
    }
    assert(examineFirstAccount.gasRemaining == 0);

    gas = 21617;
    input.content = locations[3].address - 12;
    result_t examineSecondAccount = txCall(from, gas, to, value, input, NULL);
    assert(UPPER(UPPER(examineSecondAccount.status)) == 0);
    assert(LOWER(UPPER(examineSecondAccount.status)) == 0);
    assert(UPPER(LOWER(examineSecondAccount.status)) == 0);
    assert(LOWER(LOWER(examineSecondAccount.status)) == 1);
    assert(examineSecondAccount.returnData.size == 96);
    for (int i = 0; i < 31; i++) {
        assert(examineSecondAccount.returnData.content[i] == 0);
    }
    assert(examineSecondAccount.returnData.content[31] == sizeof(extcodecopy));
    assert(memcmp(examineSecondAccount.returnData.content+32, extcodecopy, sizeof(extcodecopy)) == 0);
    for (int i = 32 + sizeof(extcodecopy); i < 64; i++) {
        assert(examineSecondAccount.returnData.content[i] == 0);
    }
    assert(memcmp(examineSecondAccount.returnData.content+64, extcodecopy, sizeof(extcodecopy)) == 0);
    for (int i = 64 + sizeof(extcodecopy); i < 96; i++) {
        assert(examineSecondAccount.returnData.content[i] == 0);
    }
    assert(examineSecondAccount.gasRemaining == 0);

    evmFinalize();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
xorl %eax, %eax
callq 0xca7b
movabsq $-0xce69ff89fadc20d, %rax # imm = 0xF319600760523DF3
movq %rax, 0x77(%rsp)
movabsq $-0xcc2c9c8c2c2c99a, %rax # imm = 0xF33D36373D3D3666
movq %rax, 0x70(%rsp)
movq $-0x2, %r14
leaq 0x50(%rsp), %r15
leaq 0xd2c9(%rip), %r12      # 0x14050
movq 0x1726a(%rip), %r13     # 0x1dff8
leaq 0x10328(%rip), %rbx     # 0x170bd
movzbl 0x4(%r14,%r12), %ecx
leal -0x30(%rcx), %ebp
cmpb $0xa, %bpl
jb 0x6dbc
leal -0x61(%rcx), %eax
cmpb $0x5, %al
ja 0x6db0
addb $-0x57, %cl
jmp 0x6dba
leal -0x41(%rcx), %eax
cmpb $0x5, %al
ja 0x6dfa
addb $-0x37, %cl
movl %ecx, %ebp
movzbl 0x5(%r14,%r12), %ecx
leal -0x30(%rcx), %eax
cmpb $0xa, %al
jb 0x6de1
leal -0x61(%rcx), %eax
cmpb $0x5, %al
ja 0x6dd5
addb $-0x57, %cl
jmp 0x6ddf
leal -0x41(%rcx), %eax
cmpb $0x5, %al
ja 0x6e0f
addb $-0x37, %cl
movl %ecx, %eax
shlb $0x4, %bpl
addb %al, %bpl
movb %bpl, (%r15)
addq $0x2, %r14
incq %r15
cmpq $0x26, %r14
jb 0x6d95
jmp 0x6e23
movq (%r13), %rdi
movq %rbx, %rsi
movl %ecx, %edx
xorl %eax, %eax
callq 0x30a0
movb $-0x1, %bpl
jmp 0x6dbc
movq (%r13), %rdi
movq %rbx, %rsi
movl %ecx, %edx
xorl %eax, %eax
callq 0x30a0
movb $-0x1, %al
jmp 0x6de1
leaq 0x64(%rsp), %rdx
movq $0x0, (%rdx)
movl $0x0, 0x8(%rdx)
movl 0x60(%rsp), %eax
movl %eax, 0x10(%rsp)
movups 0x50(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x80(%rsp), %rbx
leaq 0x70(%rsp), %r8
movl $0xd583, %esi           # imm = 0xD583
movl $0xf, %ecx
movq %rbx, %rdi
callq 0xd845
cmpq $0x0, 0x10(%rbx)
jne 0x7595
movl $0x80d9b122, %eax       # imm = 0x80D9B122
cmpq %rax, 0x98(%rsp)
jne 0x75b4
movabsq $-0x23c5e9023be06931, %rax # imm = 0xDC3A16FDC41F96CF
cmpq %rax, 0xa0(%rsp)
jne 0x75d3
movabsq $0x10ffe7e38d227c3, %rax # imm = 0x10FFE7E38D227C3
cmpq %rax, 0xa8(%rsp)
jne 0x75f2
cmpq $0x7, 0x80(%rsp)
jne 0x7611
movq 0x88(%rsp), %rax
movl $0x373d3d36, %ecx       # imm = 0x373D3D36
xorl (%rax), %ecx
movl $0xf33d3637, %edx       # imm = 0xF33D3637
xorl 0x3(%rax), %edx
orl %ecx, %edx
jne 0x7630
cmpq $0x0, 0xb0(%rsp)
jne 0x764f
movups 0x11552(%rip), %xmm0    # 0x1844a
leaq 0x1e0(%rsp), %r8
movups %xmm0, 0xa(%r8)
movaps 0x11534(%rip), %xmm0    # 0x18440
movaps %xmm0, (%r8)
movl 0x60(%rsp), %eax
movl %eax, 0x10(%rsp)
movups 0x50(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0xc0(%rsp), %rbx
leaq 0x64(%rsp), %rdx
movl $0xdecb, %esi           # imm = 0xDECB
movl $0x1a, %ecx
movq %rbx, %rdi
callq 0xd845
movq 0x8(%rbx), %rax
movdqu (%rax), %xmm0
movzwl 0x10(%rax), %eax
movd %eax, %xmm1
pcmpeqb 0xd0b8(%rip), %xmm0     # 0x14010
pcmpeqb 0xd0c0(%rip), %xmm1     # 0x14020
pand %xmm0, %xmm1
pmovmskb %xmm1, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
jne 0x766e
cmpq $0x0, 0xd0(%rsp)
jne 0x768d
cmpq $0x47784b21, 0xd8(%rsp) # imm = 0x47784B21
jne 0x76ac
movabsq $0x780d1e1d5efcd005, %rax # imm = 0x780D1E1D5EFCD005
cmpq %rax, 0xe0(%rsp)
jne 0x76cb
movabsq $-0x3a01abd7ec4928e2, %rax # imm = 0xC5FE542813B6D71E
cmpq %rax, 0xe8(%rsp)
jne 0x76ea
cmpq $0x0, 0xf0(%rsp)
jne 0x7709
pxor %xmm0, %xmm0
leaq 0x198(%rsp), %r8
movdqa %xmm0, 0x8(%r8)
movdqa %xmm0, 0x18(%r8)
movdqa %xmm0, 0x38(%r8)
movdqa %xmm0, 0x28(%r8)
movdqa %xmm0, -0x8(%r8)
movq 0x98(%rsp), %rax
movl %eax, %ecx
shrl $0x18, %ecx
movb %cl, 0xc(%r8)
movl %eax, %ecx
shrl $0x10, %ecx
movb %cl, 0xd(%r8)
movq 0xa0(%rsp), %rcx
movb %ah, 0x1a6(%rsp)
movb %al, 0xf(%r8)
movq %rcx, %rax
shrq $0x38, %rax
movb %al, 0x10(%r8)
movq %rcx, %rax
shrq $0x30, %rax
movb %al, 0x11(%r8)
movq %rcx, %rax
shrq $0x28, %rax
movb %al, 0x12(%r8)
movq %rcx, %rax
shrq $0x20, %rax
movb %al, 0x13(%r8)
movl %ecx, %eax
shrl $0x18, %eax
movb %al, 0x14(%r8)
movl %ecx, %eax
shrl $0x10, %eax
movb %al, 0x15(%r8)
movq 0xa8(%rsp), %rax
movb %ch, 0x1ae(%rsp)
movb %cl, 0x17(%r8)
movq %rax, %rcx
shrq $0x38, %rcx
movb %cl, 0x18(%r8)
movq %rax, %rcx
shrq $0x30, %rcx
movb %cl, 0x19(%r8)
movq %rax, %rcx
shrq $0x28, %rcx
movb %cl, 0x1a(%r8)
movq %rax, %rcx
shrq $0x20, %rcx
movb %cl, 0x1b(%r8)
movl %eax, %ecx
shrl $0x18, %ecx
movb %cl, 0x1c(%r8)
movl %eax, %ecx
shrl $0x10, %ecx
movb %cl, 0x1d(%r8)
movb %ah, 0x1b6(%rsp)
movb %al, 0x1f(%r8)
movq 0xd8(%rsp), %rax
movl %eax, %ecx
shrl $0x18, %ecx
movb %cl, 0x34(%r8)
movl %eax, %ecx
shrl $0x10, %ecx
movb %cl, 0x35(%r8)
movq 0xe0(%rsp), %rcx
movb %ah, 0x1ce(%rsp)
movb %al, 0x37(%r8)
movq %rcx, %rax
shrq $0x38, %rax
movb %al, 0x38(%r8)
movq %rcx, %rax
shrq $0x30, %rax
movb %al, 0x39(%r8)
movq %rcx, %rax
shrq $0x28, %rax
movb %al, 0x3a(%r8)
movq %rcx, %rax
shrq $0x20, %rax
movb %al, 0x3b(%r8)
movl %ecx, %eax
shrl $0x18, %eax
movb %al, 0x3c(%r8)
movl %ecx, %eax
shrl $0x10, %eax
movb %al, 0x3d(%r8)
movq 0xe8(%rsp), %rax
movb %ch, 0x1d6(%rsp)
movb %cl, 0x3f(%r8)
movq %rax, %rcx
shrq $0x38, %rcx
movb %cl, 0x40(%r8)
movq %rax, %rcx
shrq $0x30, %rcx
movb %cl, 0x41(%r8)
movq %rax, %rcx
shrq $0x28, %rcx
movb %cl, 0x42(%r8)
movq %rax, %rcx
shrq $0x20, %rcx
movb %cl, 0x43(%r8)
movl %eax, %ecx
shrl $0x18, %ecx
movb %cl, 0x44(%r8)
movl %eax, %ecx
shrl $0x10, %ecx
movb %cl, 0x45(%r8)
movb %ah, 0x1de(%rsp)
movb %al, 0x47(%r8)
movl 0x44(%r8), %eax
movl %eax, 0x40(%rsp)
movl 0x34(%r8), %eax
movl %eax, 0x30(%rsp)
movb 0x38(%r8), %al
movb %al, 0x34(%rsp)
movb 0x39(%r8), %al
movb %al, 0x35(%rsp)
movb 0x3a(%r8), %al
movb %al, 0x36(%rsp)
movb 0x3b(%r8), %al
movb %al, 0x37(%rsp)
movb 0x3c(%r8), %al
movb %al, 0x38(%rsp)
movb 0x3d(%r8), %al
movb %al, 0x39(%rsp)
movb 0x3e(%r8), %al
movb %al, 0x3a(%rsp)
movb 0x3f(%r8), %al
movb %al, 0x3b(%rsp)
movb 0x40(%r8), %al
movb %al, 0x3c(%rsp)
movb 0x41(%r8), %al
movb %al, 0x3d(%rsp)
movb 0x42(%r8), %al
movb %al, 0x3e(%rsp)
movb 0x43(%r8), %al
movb %al, 0x3f(%rsp)
movl 0x40(%rsp), %eax
movl %eax, 0x28(%rsp)
movaps 0x30(%rsp), %xmm0
movups %xmm0, 0x18(%rsp)
movl 0x60(%rsp), %eax
movl %eax, 0x10(%rsp)
movups 0x50(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x150(%rsp), %rbx
leaq 0x64(%rsp), %rdx
movl $0x5e35, %esi           # imm = 0x5E35
movl $0x20, %ecx
movq %rbx, %rdi
xorl %r9d, %r9d
callq 0xd30c
cmpq $0x0, 0x10(%rbx)
jne 0x7728
cmpq $0x0, 0x168(%rsp)
jne 0x7747
cmpq $0x0, 0x170(%rsp)
jne 0x7766
cmpq $0x1, 0x178(%rsp)
jne 0x7785
cmpq $0x60, 0x150(%rsp)
jne 0x77a4
movabsq $0x593c355f595f3b35, %rcx # imm = 0x593C355F595F3B35
movabsq $0x5f39595f38525938, %rdx # imm = 0x5F39595F38525938
movq 0x158(%rsp), %rax
xorl %esi, %esi
cmpb $0x0, (%rax,%rsi)
jne 0x74db
incq %rsi
cmpq $0x1f, %rsi
jne 0x72a5
movq 0x158(%rsp), %rax
cmpb $0x12, 0x1f(%rax)
jne 0x77c3
movdqu 0x20(%rax), %xmm0
movq %rdx, %xmm2
movq %rcx, %xmm1
punpcklqdq %xmm1, %xmm2    # xmm2 = xmm2[0],xmm1[0]
movzwl 0x30(%rax), %ecx
movd %ecx, %xmm1
pcmpeqb 0xcd33(%rip), %xmm1     # 0x14020
pcmpeqb %xmm2, %xmm0
pand %xmm0, %xmm1
pmovmskb %xmm1, %ecx
cmpl $0xffff, %ecx           # imm = 0xFFFF
jne 0x77e2
xorl %ecx, %ecx
cmpb $0x0, 0x32(%rax,%rcx)
jne 0x74fa
incq %rcx
cmpq $0xe, %rcx
jne 0x7307
movl $0x373d3d36, %ecx       # imm = 0x373D3D36
xorl 0x40(%rax), %ecx
movl $0xf33d3637, %edx       # imm = 0xF33D3637
xorl 0x43(%rax), %edx
orl %ecx, %edx
jne 0x7801
xorl %ecx, %ecx
cmpb $0x0, 0x47(%rax,%rcx)
jne 0x7519
incq %rcx
cmpq $0x19, %rcx
jne 0x7335
movdqa %xmm2, 0x100(%rsp)
cmpq $0x0, 0x180(%rsp)
jne 0x7820
leaq 0x1c0(%rsp), %r8
movl 0x40(%rsp), %eax
movl %eax, 0x28(%rsp)
movaps 0x30(%rsp), %xmm0
movups %xmm0, 0x18(%rsp)
movl 0x60(%rsp), %eax
movl %eax, 0x10(%rsp)
movups 0x50(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x110(%rsp), %rbx
leaq 0x64(%rsp), %rdx
movl $0x5471, %esi           # imm = 0x5471
movl $0x20, %ecx
movq %rbx, %rdi
xorl %r9d, %r9d
callq 0xd30c
cmpq $0x0, 0x10(%rbx)
jne 0x783f
cmpq $0x0, 0x128(%rsp)
jne 0x785e
cmpq $0x0, 0x130(%rsp)
movdqa 0x100(%rsp), %xmm2
jne 0x787d
cmpq $0x1, 0x138(%rsp)
jne 0x789c
cmpq $0x60, 0x110(%rsp)
jne 0x78bb
movq 0x118(%rsp), %rax
xorl %ecx, %ecx
cmpb $0x0, (%rax,%rcx)
jne 0x7538
incq %rcx
cmpq $0x1f, %rcx
jne 0x7408
movq 0x118(%rsp), %rax
cmpb $0x12, 0x1f(%rax)
jne 0x78da
movdqu 0x20(%rax), %xmm0
movzwl 0x30(%rax), %ecx
movd %ecx, %xmm1
pcmpeqb 0xcbde(%rip), %xmm1     # 0x14020
pcmpeqb %xmm2, %xmm0
pand %xmm0, %xmm1
pmovmskb %xmm1, %ecx
cmpl $0xffff, %ecx           # imm = 0xFFFF
jne 0x78f9
xorl %ecx, %ecx
cmpb $0x0, 0x32(%rax,%rcx)
jne 0x7557
incq %rcx
cmpq $0xe, %rcx
jne 0x745c
movdqu 0x40(%rax), %xmm0
movzwl 0x50(%rax), %ecx
movd %ecx, %xmm1
pcmpeqb 0xcb9b(%rip), %xmm1     # 0x14020
pcmpeqb %xmm2, %xmm0
pand %xmm0, %xmm1
pmovmskb %xmm1, %ecx
cmpl $0xffff, %ecx           # imm = 0xFFFF
jne 0x7918
xorl %ecx, %ecx
cmpb $0x0, 0x52(%rax,%rcx)
jne 0x7576
incq %rcx
cmpq $0xe, %rcx
jne 0x749f
cmpq $0x0, 0x140(%rsp)
jne 0x7937
xorl %eax, %eax
callq 0xcf29
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xd7e8(%rip), %rdi      # 0x14cca
leaq 0xcbb3(%rip), %rsi      # 0x1409c
leaq 0xd45a(%rip), %rcx      # 0x1494a
movl $0x454, %edx            # imm = 0x454
callq 0x3040
leaq 0xd7c9(%rip), %rdi      # 0x14cca
leaq 0xcb94(%rip), %rsi      # 0x1409c
leaq 0xd43b(%rip), %rcx      # 0x1494a
movl $0x459, %edx            # imm = 0x459
callq 0x3040
leaq 0xd7aa(%rip), %rdi      # 0x14cca
leaq 0xcb75(%rip), %rsi      # 0x1409c
leaq 0xd41c(%rip), %rcx      # 0x1494a
movl $0x45d, %edx            # imm = 0x45D
callq 0x3040
leaq 0xd9ad(%rip), %rdi      # 0x14eec
leaq 0xcb56(%rip), %rsi      # 0x1409c
leaq 0xd3fd(%rip), %rcx      # 0x1494a
movl $0x46a, %edx            # imm = 0x46A
callq 0x3040
leaq 0xd98e(%rip), %rdi      # 0x14eec
leaq 0xcb37(%rip), %rsi      # 0x1409c
leaq 0xd3de(%rip), %rcx      # 0x1494a
movl $0x46f, %edx            # imm = 0x46F
callq 0x3040
leaq 0xd96f(%rip), %rdi      # 0x14eec
leaq 0xcb18(%rip), %rsi      # 0x1409c
leaq 0xd3bf(%rip), %rcx      # 0x1494a
movl $0x473, %edx            # imm = 0x473
callq 0x3040
leaq 0xd387(%rip), %rdi      # 0x14923
leaq 0xcaf9(%rip), %rsi      # 0x1409c
leaq 0xd3a0(%rip), %rcx      # 0x1494a
movl $0x41e, %edx            # imm = 0x41E
callq 0x3040
leaq 0xd3a7(%rip), %rdi      # 0x14962
leaq 0xcada(%rip), %rsi      # 0x1409c
leaq 0xd381(%rip), %rcx      # 0x1494a
movl $0x41f, %edx            # imm = 0x41F
callq 0x3040
leaq 0xd3b8(%rip), %rdi      # 0x14992
leaq 0xcabb(%rip), %rsi      # 0x1409c
leaq 0xd362(%rip), %rcx      # 0x1494a
movl $0x420, %edx            # imm = 0x420
callq 0x3040
leaq 0xd3d1(%rip), %rdi      # 0x149ca
leaq 0xca9c(%rip), %rsi      # 0x1409c
leaq 0xd343(%rip), %rcx      # 0x1494a
movl $0x421, %edx            # imm = 0x421
callq 0x3040
leaq 0xd3ea(%rip), %rdi      # 0x14a02
leaq 0xca7d(%rip), %rsi      # 0x1409c
leaq 0xd324(%rip), %rcx      # 0x1494a
movl $0x422, %edx            # imm = 0x422
callq 0x3040
leaq 0xd3f8(%rip), %rdi      # 0x14a2f
leaq 0xca5e(%rip), %rsi      # 0x1409c
leaq 0xd305(%rip), %rcx      # 0x1494a
movl $0x423, %edx            # imm = 0x423
callq 0x3040
leaq 0xd41a(%rip), %rdi      # 0x14a70
leaq 0xca3f(%rip), %rsi      # 0x1409c
leaq 0xd2e6(%rip), %rcx      # 0x1494a
movl $0x424, %edx            # imm = 0x424
callq 0x3040
leaq 0xd41a(%rip), %rdi      # 0x14a8f
leaq 0xca20(%rip), %rsi      # 0x1409c
leaq 0xd2c7(%rip), %rcx      # 0x1494a
movl $0x43a, %edx            # imm = 0x43A
callq 0x3040
leaq 0xd450(%rip), %rdi      # 0x14ae4
leaq 0xca01(%rip), %rsi      # 0x1409c
leaq 0xd2a8(%rip), %rcx      # 0x1494a
movl $0x43b, %edx            # imm = 0x43B
callq 0x3040
leaq 0xd45e(%rip), %rdi      # 0x14b11
leaq 0xc9e2(%rip), %rsi      # 0x1409c
leaq 0xd289(%rip), %rcx      # 0x1494a
movl $0x43c, %edx            # imm = 0x43C
callq 0x3040
leaq 0xd475(%rip), %rdi      # 0x14b47
leaq 0xc9c3(%rip), %rsi      # 0x1409c
leaq 0xd26a(%rip), %rcx      # 0x1494a
movl $0x43d, %edx            # imm = 0x43D
callq 0x3040
leaq 0xd494(%rip), %rdi      # 0x14b85
leaq 0xc9a4(%rip), %rsi      # 0x1409c
leaq 0xd24b(%rip), %rcx      # 0x1494a
movl $0x43e, %edx            # imm = 0x43E
callq 0x3040
leaq 0xd4b3(%rip), %rdi      # 0x14bc3
leaq 0xc985(%rip), %rsi      # 0x1409c
leaq 0xd22c(%rip), %rcx      # 0x1494a
movl $0x43f, %edx            # imm = 0x43F
callq 0x3040
leaq 0xd4b9(%rip), %rdi      # 0x14be8
leaq 0xc966(%rip), %rsi      # 0x1409c
leaq 0xd20d(%rip), %rcx      # 0x1494a
movl $0x44e, %edx            # imm = 0x44E
callq 0x3040
leaq 0xd4c8(%rip), %rdi      # 0x14c16
leaq 0xc947(%rip), %rsi      # 0x1409c
leaq 0xd1ee(%rip), %rcx      # 0x1494a
movl $0x44f, %edx            # imm = 0x44F
callq 0x3040
leaq 0xd4d7(%rip), %rdi      # 0x14c44
leaq 0xc928(%rip), %rsi      # 0x1409c
leaq 0xd1cf(%rip), %rcx      # 0x1494a
movl $0x450, %edx            # imm = 0x450
callq 0x3040
leaq 0xd4e6(%rip), %rdi      # 0x14c72
leaq 0xc909(%rip), %rsi      # 0x1409c
leaq 0xd1b0(%rip), %rcx      # 0x1494a
movl $0x451, %edx            # imm = 0x451
callq 0x3040
leaq 0xd4f5(%rip), %rdi      # 0x14ca0
leaq 0xc8ea(%rip), %rsi      # 0x1409c
leaq 0xd191(%rip), %rcx      # 0x1494a
movl $0x452, %edx            # imm = 0x452
callq 0x3040
leaq 0xd52f(%rip), %rdi      # 0x14cf9
leaq 0xc8cb(%rip), %rsi      # 0x1409c
leaq 0xd172(%rip), %rcx      # 0x1494a
movl $0x456, %edx            # imm = 0x456
callq 0x3040
leaq 0xd552(%rip), %rdi      # 0x14d3b
leaq 0xc8ac(%rip), %rsi      # 0x1409c
leaq 0xd153(%rip), %rcx      # 0x1494a
movl $0x457, %edx            # imm = 0x457
callq 0x3040
leaq 0xd58c(%rip), %rdi      # 0x14d94
leaq 0xc88d(%rip), %rsi      # 0x1409c
leaq 0xd134(%rip), %rcx      # 0x1494a
movl $0x45b, %edx            # imm = 0x45B
callq 0x3040
leaq 0xd5b8(%rip), %rdi      # 0x14ddf
leaq 0xc86e(%rip), %rsi      # 0x1409c
leaq 0xd115(%rip), %rcx      # 0x1494a
movl $0x45f, %edx            # imm = 0x45F
callq 0x3040
leaq 0xd5bf(%rip), %rdi      # 0x14e05
leaq 0xc84f(%rip), %rsi      # 0x1409c
leaq 0xd0f6(%rip), %rcx      # 0x1494a
movl $0x464, %edx            # imm = 0x464
callq 0x3040
leaq 0xd5cf(%rip), %rdi      # 0x14e34
leaq 0xc830(%rip), %rsi      # 0x1409c
leaq 0xd0d7(%rip), %rcx      # 0x1494a
movl $0x465, %edx            # imm = 0x465
callq 0x3040
leaq 0xd5df(%rip), %rdi      # 0x14e63
leaq 0xc811(%rip), %rsi      # 0x1409c
leaq 0xd0b8(%rip), %rcx      # 0x1494a
movl $0x466, %edx            # imm = 0x466
callq 0x3040
leaq 0xd5ef(%rip), %rdi      # 0x14e92
leaq 0xc7f2(%rip), %rsi      # 0x1409c
leaq 0xd099(%rip), %rcx      # 0x1494a
movl $0x467, %edx            # imm = 0x467
callq 0x3040
leaq 0xd5ff(%rip), %rdi      # 0x14ec1
leaq 0xc7d3(%rip), %rsi      # 0x1409c
leaq 0xd07a(%rip), %rcx      # 0x1494a
movl $0x468, %edx            # imm = 0x468
callq 0x3040
leaq 0xd63b(%rip), %rdi      # 0x14f1c
leaq 0xc7b4(%rip), %rsi      # 0x1409c
leaq 0xd05b(%rip), %rcx      # 0x1494a
movl $0x46c, %edx            # imm = 0x46C
callq 0x3040
leaq 0xd65f(%rip), %rdi      # 0x14f5f
leaq 0xc795(%rip), %rsi      # 0x1409c
leaq 0xd03c(%rip), %rcx      # 0x1494a
movl $0x46d, %edx            # imm = 0x46D
callq 0x3040
leaq 0xd69a(%rip), %rdi      # 0x14fb9
leaq 0xc776(%rip), %rsi      # 0x1409c
leaq 0xd01d(%rip), %rcx      # 0x1494a
movl $0x471, %edx            # imm = 0x471
callq 0x3040
leaq 0xd6d5(%rip), %rdi      # 0x15013
leaq 0xc757(%rip), %rsi      # 0x1409c
leaq 0xcffe(%rip), %rcx      # 0x1494a
movl $0x475, %edx            # imm = 0x475
callq 0x3040