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

    address_t from = AddressFromHex42("0x4a6f6B9fF1fc974096f9063a45Fd12bD5B928AD1");
    uint64_t gas = 58103;
    val_t value;
    value[0] = 0;
    value[1] = 0;
    value[2] = 0;


    // 60213610600e576020355f3555005b5f35545f52595ff3
#define PROGRAM_STORAGE \
        PUSH1, 33, CALLDATASIZE, LT, PUSH1, 14, JUMPI, \
        PUSH1, 32, CALLDATALOAD, PUSH0, CALLDATALOAD, SSTORE, \
        STOP, \
        JUMPDEST, \
        PUSH0, CALLDATALOAD, SLOAD, PUSH0, MSTORE, \
        MSIZE, PUSH0, RETURN
    op_t storageTester[] = {
        PROGRAM_STORAGE
    };

    // 7660213610600e576020355f3555005b5f35545f52595ff33d5260176009f3
    op_t constructStorageTester[] = {
        PUSH23, PROGRAM_STORAGE, RETURNDATASIZE, MSTORE,
        PUSH1, 23, PUSH1, 9, RETURN
    };
#undef PROGRAM_STORAGE

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

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

    address_t storageTest = AddressFromUint256(&result.status);

    // 365f5f37595f365f7380d9b122dc3a16fdc41f96cf010ffe7e38d227c35afa602557595ffd5b595ff3
#define PROGRAM_STATICCALL \
        CALLDATASIZE, PUSH0, PUSH0, CALLDATACOPY, \
        MSIZE, PUSH0, CALLDATASIZE, PUSH0, PUSH20, ACCOUNT0, GAS, STATICCALL, \
        PUSH1, 37, JUMPI, \
        MSIZE, PUSH0, REVERT, \
        JUMPDEST, MSIZE, PUSH0, RETURN

    op_t staticCaller[] = {
        PROGRAM_STATICCALL
    };
    // 60298060093d393df3365f5f37595f365f7380d9b122dc3a16fdc41f96cf010ffe7e38d227c35afa602557595ffd5b595ff3
    op_t createStaticCaller[] = {
        PUSH1, 41, DUP1, PUSH1, 9, RETURNDATASIZE, CODECOPY, RETURNDATASIZE, RETURN,
        PROGRAM_STATICCALL
    };

    input.size = sizeof(createStaticCaller);
    input.content = createStaticCaller;
    gas = 0xf250;
    result = txCreate(from, gas, value, input);
    // 0x47784b21780d1e1d5efcd005c5fe542813b6d71e
    assert(UPPER(UPPER(result.status)) == 0);
    assert(LOWER(UPPER(result.status)) == 0x47784b21);
    assert(UPPER(LOWER(result.status)) == 0x780d1e1d5efcd005);
    assert(LOWER(LOWER(result.status)) == 0xc5fe542813b6d71e);
    assert(result.returnData.size == sizeof(staticCaller));
    assert(memcmp(result.returnData.content, staticCaller, sizeof(staticCaller)) == 0);
    assert(result.gasRemaining == 0);

    address_t staticCall = AddressFromUint256(&result.status);
    op_t params[64];
    bzero(params, 64);
    input.content = params;

    // STATICCALL into SLOAD, returning 0
    input.size = 0;
    gas = 0x64c2;
    result = txCall(from, gas, staticCall, value, input, NULL);
    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 == 15);

    // STATICCALL into SLOAD, returning 32
    input.size = 32;
    gas = 25928;
    result = txCall(from, gas, staticCall, value, input, NULL);
    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 == 32);
    assert(memcmp(result.returnData.content, params, result.returnData.size) == 0);
    assert(result.gasRemaining == 15);

    // SSTORE directly; success
    input.size = 64;
    gas = 23589;
    result = txCall(from, gas, storageTest, value, input, NULL);
    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 == 101);

    // STATICCALL into SSTORE; forbidden
    gas = 0x10000;
    result = txCall(from, gas, staticCall, value, input, NULL);
    assert(UPPER(UPPER(result.status)) == 0);
    assert(LOWER(UPPER(result.status)) == 0);
    assert(UPPER(LOWER(result.status)) == 0);
    assert(LOWER(LOWER(result.status)) == 0);
    assert(result.returnData.size == 64);
    assert(result.gasRemaining == 633);

    evmFinalize();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1a8, %rsp            # imm = 0x1A8
xorl %eax, %eax
callq 0xca4d
movq $-0x2, %r14
leaq 0x70(%rsp), %r15
leaq 0xb76a(%rip), %r12      # 0x14070
movq 0x156eb(%rip), %r13     # 0x1dff8
leaq 0xe7c9(%rip), %rbx      # 0x170dd
movzbl 0x4(%r14,%r12), %ecx
leal -0x30(%rcx), %ebp
cmpb $0xa, %bpl
jb 0x893b
leal -0x61(%rcx), %eax
cmpb $0x5, %al
ja 0x892f
addb $-0x57, %cl
jmp 0x8939
leal -0x41(%rcx), %eax
cmpb $0x5, %al
ja 0x8979
addb $-0x37, %cl
movl %ecx, %ebp
movzbl 0x5(%r14,%r12), %ecx
leal -0x30(%rcx), %eax
cmpb $0xa, %al
jb 0x8960
leal -0x61(%rcx), %eax
cmpb $0x5, %al
ja 0x8954
addb $-0x57, %cl
jmp 0x895e
leal -0x41(%rcx), %eax
cmpb $0x5, %al
ja 0x898e
addb $-0x37, %cl
movl %ecx, %eax
shlb $0x4, %bpl
addb %al, %bpl
movb %bpl, (%r15)
addq $0x2, %r14
incq %r15
cmpq $0x26, %r14
jb 0x8914
jmp 0x89a2
movq (%r13), %rdi
movq %rbx, %rsi
movl %ecx, %edx
xorl %eax, %eax
callq 0x30a0
movb $-0x1, %bpl
jmp 0x893b
movq (%r13), %rdi
movq %rbx, %rsi
movl %ecx, %edx
xorl %eax, %eax
callq 0x30a0
movb $-0x1, %al
jmp 0x8960
leaq 0x84(%rsp), %rdx
movq $0x0, (%rdx)
movl $0x0, 0x8(%rdx)
movups 0xfc90(%rip), %xmm0     # 0x1864f
leaq 0x150(%rsp), %r8
movups %xmm0, 0xf(%r8)
movaps 0xfc6d(%rip), %xmm0     # 0x18640
movaps %xmm0, (%r8)
movl 0x80(%rsp), %eax
movl %eax, 0x10(%rsp)
movups 0x70(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x30(%rsp), %rbx
movl $0xe2f7, %esi           # imm = 0xE2F7
movl $0x1f, %ecx
movq %rbx, %rdi
callq 0xd683
cmpq $0x0, 0x10(%rbx)
jne 0x8f3c
movl $0x80d9b122, %eax       # imm = 0x80D9B122
cmpq %rax, 0x48(%rsp)
jne 0x8f5b
movabsq $-0x23c5e9023be06931, %rax # imm = 0xDC3A16FDC41F96CF
cmpq %rax, 0x50(%rsp)
jne 0x8f7a
movabsq $0x10ffe7e38d227c3, %rax # imm = 0x10FFE7E38D227C3
cmpq %rax, 0x58(%rsp)
jne 0x8f99
cmpq $0x17, 0x30(%rsp)
jne 0x8fb8
movq 0x38(%rsp), %rax
movdqu (%rax), %xmm0
movdqu 0x7(%rax), %xmm1
pcmpeqb 0xb5d7(%rip), %xmm1     # 0x14040
pcmpeqb 0xb5df(%rip), %xmm0     # 0x14050
pand %xmm1, %xmm0
pmovmskb %xmm0, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
jne 0x8fd7
cmpq $0x0, 0x60(%rsp)
jne 0x8ff6
movaps 0xb599(%rip), %xmm0     # 0x14030
movaps %xmm0, 0xb0(%rsp)
movl $0xc327d238, 0xc0(%rsp) # imm = 0xC327D238
movaps 0xfbff(%rip), %xmm0     # 0x186b0
leaq 0x170(%rsp), %r8
movaps %xmm0, 0x20(%r8)
movaps 0xfbdb(%rip), %xmm0     # 0x186a0
movaps %xmm0, 0x10(%r8)
movaps 0xfbbf(%rip), %xmm0     # 0x18690
movaps %xmm0, (%r8)
movw $0xf35f, 0x30(%r8)      # imm = 0xF35F
movl 0x80(%rsp), %eax
movl %eax, 0x10(%rsp)
movups 0x70(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0xd0(%rsp), %rbx
leaq 0x84(%rsp), %rdx
movl $0xf250, %esi           # imm = 0xF250
movl $0x32, %ecx
movq %rbx, %rdi
callq 0xd683
movups (%rbx), %xmm0
movups 0x10(%rbx), %xmm1
movups 0x20(%rbx), %xmm2
movups 0x30(%rbx), %xmm3
movaps %xmm3, 0x60(%rsp)
movaps %xmm2, 0x50(%rsp)
movaps %xmm1, 0x40(%rsp)
movaps %xmm0, 0x30(%rsp)
cmpq $0x0, 0x40(%rsp)
jne 0x9015
cmpq $0x47784b21, 0x48(%rsp) # imm = 0x47784B21
jne 0x9034
movabsq $0x780d1e1d5efcd005, %rax # imm = 0x780D1E1D5EFCD005
cmpq %rax, 0x50(%rsp)
jne 0x9053
movabsq $-0x3a01abd7ec4928e2, %rax # imm = 0xC5FE542813B6D71E
cmpq %rax, 0x58(%rsp)
jne 0x9072
cmpq $0x29, 0x30(%rsp)
jne 0x9091
movq 0x38(%rsp), %rdi
leaq 0xface(%rip), %rsi      # 0x18660
movl $0x29, %edx
callq 0x30d0
testl %eax, %eax
jne 0x90b0
cmpq $0x0, 0x60(%rsp)
jne 0x90cf
movaps 0xb4a9(%rip), %xmm0     # 0x14060
movaps %xmm0, 0x90(%rsp)
movl $0x1ed7b613, 0xa0(%rsp) # imm = 0x1ED7B613
xorps %xmm0, %xmm0
leaq 0xd0(%rsp), %r8
movaps %xmm0, 0x30(%r8)
movaps %xmm0, 0x20(%r8)
movaps %xmm0, 0x10(%r8)
movaps %xmm0, (%r8)
movl 0xa0(%rsp), %eax
movl %eax, 0x28(%rsp)
movaps 0x90(%rsp), %xmm0
movups %xmm0, 0x18(%rsp)
movl 0x80(%rsp), %eax
movl %eax, 0x10(%rsp)
movups 0x70(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x110(%rsp), %rbx
leaq 0x84(%rsp), %rdx
movl $0x64c2, %esi           # imm = 0x64C2
movq %rbx, %rdi
xorl %ecx, %ecx
xorl %r9d, %r9d
callq 0xd126
movups (%rbx), %xmm0
movups 0x10(%rbx), %xmm1
movups 0x20(%rbx), %xmm2
movups 0x30(%rbx), %xmm3
movaps %xmm3, 0x60(%rsp)
movaps %xmm2, 0x50(%rsp)
movaps %xmm1, 0x40(%rsp)
movaps %xmm0, 0x30(%rsp)
cmpq $0x0, 0x40(%rsp)
jne 0x90ee
cmpq $0x0, 0x48(%rsp)
jne 0x910d
cmpq $0x0, 0x50(%rsp)
jne 0x912c
cmpq $0x1, 0x58(%rsp)
jne 0x914b
cmpq $0x0, 0x30(%rsp)
jne 0x916a
cmpq $0xf, 0x60(%rsp)
jne 0x9189
movl 0xa0(%rsp), %eax
movl %eax, 0x28(%rsp)
movaps 0x90(%rsp), %xmm0
movups %xmm0, 0x18(%rsp)
movl 0x80(%rsp), %eax
movl %eax, 0x10(%rsp)
movups 0x70(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x110(%rsp), %rbx
leaq 0x84(%rsp), %rdx
leaq 0xd0(%rsp), %r8
movl $0x6548, %esi           # imm = 0x6548
movl $0x20, %ecx
movq %rbx, %rdi
xorl %r9d, %r9d
callq 0xd126
movups (%rbx), %xmm0
movups 0x10(%rbx), %xmm1
movups 0x20(%rbx), %xmm2
movups 0x30(%rbx), %xmm3
movaps %xmm3, 0x60(%rsp)
movaps %xmm2, 0x50(%rsp)
movaps %xmm1, 0x40(%rsp)
movaps %xmm0, 0x30(%rsp)
cmpq $0x0, 0x40(%rsp)
jne 0x91a8
cmpq $0x0, 0x48(%rsp)
jne 0x91c7
cmpq $0x0, 0x50(%rsp)
jne 0x91e6
cmpq $0x1, 0x58(%rsp)
jne 0x9205
cmpq $0x20, 0x30(%rsp)
jne 0x9224
movq 0x38(%rsp), %rax
movdqu (%rax), %xmm0
movdqu 0x10(%rax), %xmm1
pcmpeqb 0xe0(%rsp), %xmm1
pcmpeqb 0xd0(%rsp), %xmm0
pand %xmm1, %xmm0
pmovmskb %xmm0, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
jne 0x9243
cmpq $0xf, 0x60(%rsp)
jne 0x9262
movl 0xc0(%rsp), %eax
movl %eax, 0x28(%rsp)
movaps 0xb0(%rsp), %xmm0
movups %xmm0, 0x18(%rsp)
movl 0x80(%rsp), %eax
movl %eax, 0x10(%rsp)
movups 0x70(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x110(%rsp), %rbx
leaq 0x84(%rsp), %rdx
leaq 0xd0(%rsp), %r8
movl $0x5c25, %esi           # imm = 0x5C25
movl $0x40, %ecx
movq %rbx, %rdi
xorl %r9d, %r9d
callq 0xd126
movups (%rbx), %xmm0
movups 0x10(%rbx), %xmm1
movups 0x20(%rbx), %xmm2
movups 0x30(%rbx), %xmm3
movaps %xmm3, 0x60(%rsp)
movaps %xmm2, 0x50(%rsp)
movaps %xmm1, 0x40(%rsp)
movaps %xmm0, 0x30(%rsp)
cmpq $0x0, 0x40(%rsp)
jne 0x9281
cmpq $0x0, 0x48(%rsp)
jne 0x92a0
cmpq $0x0, 0x50(%rsp)
jne 0x92bf
cmpq $0x1, 0x58(%rsp)
jne 0x92de
cmpq $0x0, 0x30(%rsp)
jne 0x92fd
cmpq $0x65, 0x60(%rsp)
jne 0x931c
movl 0xa0(%rsp), %eax
movl %eax, 0x28(%rsp)
movaps 0x90(%rsp), %xmm0
movups %xmm0, 0x18(%rsp)
movl 0x80(%rsp), %eax
movl %eax, 0x10(%rsp)
movups 0x70(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x110(%rsp), %rbx
leaq 0x84(%rsp), %rdx
leaq 0xd0(%rsp), %r8
movl $0x10000, %esi          # imm = 0x10000
movl $0x40, %ecx
movq %rbx, %rdi
xorl %r9d, %r9d
callq 0xd126
movups (%rbx), %xmm0
movups 0x10(%rbx), %xmm1
movups 0x20(%rbx), %xmm2
movups 0x30(%rbx), %xmm3
movaps %xmm3, 0x60(%rsp)
movaps %xmm2, 0x50(%rsp)
movaps %xmm1, 0x40(%rsp)
movaps %xmm0, 0x30(%rsp)
cmpq $0x0, 0x40(%rsp)
jne 0x933b
cmpq $0x0, 0x48(%rsp)
jne 0x935a
cmpq $0x0, 0x50(%rsp)
jne 0x9379
cmpq $0x0, 0x58(%rsp)
jne 0x9398
cmpq $0x40, 0x30(%rsp)
jne 0x93b7
cmpq $0x279, 0x60(%rsp)      # imm = 0x279
jne 0x93d6
xorl %eax, %eax
callq 0xcd49
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xb158(%rip), %rdi      # 0x1409b
leaq 0xb172(%rip), %rsi      # 0x140bc
leaq 0xc6b1(%rip), %rcx      # 0x15602
movl $0x586, %edx            # imm = 0x586
callq 0x3040
leaq 0xb175(%rip), %rdi      # 0x140d7
leaq 0xb153(%rip), %rsi      # 0x140bc
leaq 0xc692(%rip), %rcx      # 0x15602
movl $0x587, %edx            # imm = 0x587
callq 0x3040
leaq 0xb180(%rip), %rdi      # 0x14101
leaq 0xb134(%rip), %rsi      # 0x140bc
leaq 0xc673(%rip), %rcx      # 0x15602
movl $0x588, %edx            # imm = 0x588
callq 0x3040
leaq 0xb193(%rip), %rdi      # 0x14133
leaq 0xb115(%rip), %rsi      # 0x140bc
leaq 0xc654(%rip), %rcx      # 0x15602
movl $0x589, %edx            # imm = 0x589
callq 0x3040
leaq 0xc660(%rip), %rdi      # 0x1561f
leaq 0xb0f6(%rip), %rsi      # 0x140bc
leaq 0xc635(%rip), %rcx      # 0x15602
movl $0x58a, %edx            # imm = 0x58A
callq 0x3040
leaq 0xc671(%rip), %rdi      # 0x1564f
leaq 0xb0d7(%rip), %rsi      # 0x140bc
leaq 0xc616(%rip), %rcx      # 0x15602
movl $0x58b, %edx            # imm = 0x58B
callq 0x3040
leaq 0xb184(%rip), %rdi      # 0x14181
leaq 0xb0b8(%rip), %rsi      # 0x140bc
leaq 0xc5f7(%rip), %rcx      # 0x15602
movl $0x58c, %edx            # imm = 0x58C
callq 0x3040
leaq 0xb07f(%rip), %rdi      # 0x1409b
leaq 0xb099(%rip), %rsi      # 0x140bc
leaq 0xc5d8(%rip), %rcx      # 0x15602
movl $0x5a6, %edx            # imm = 0x5A6
callq 0x3040
leaq 0xb855(%rip), %rdi      # 0x14890
leaq 0xb07a(%rip), %rsi      # 0x140bc
leaq 0xc5b9(%rip), %rcx      # 0x15602
movl $0x5a7, %edx            # imm = 0x5A7
callq 0x3040
leaq 0xb860(%rip), %rdi      # 0x148ba
leaq 0xb05b(%rip), %rsi      # 0x140bc
leaq 0xc59a(%rip), %rcx      # 0x15602
movl $0x5a8, %edx            # imm = 0x5A8
callq 0x3040
leaq 0xb873(%rip), %rdi      # 0x148ec
leaq 0xb03c(%rip), %rsi      # 0x140bc
leaq 0xc57b(%rip), %rcx      # 0x15602
movl $0x5a9, %edx            # imm = 0x5A9
callq 0x3040
leaq 0xc604(%rip), %rdi      # 0x1569c
leaq 0xb01d(%rip), %rsi      # 0x140bc
leaq 0xc55c(%rip), %rcx      # 0x15602
movl $0x5aa, %edx            # imm = 0x5AA
callq 0x3040
leaq 0xc614(%rip), %rdi      # 0x156cb
leaq 0xaffe(%rip), %rsi      # 0x140bc
leaq 0xc53d(%rip), %rcx      # 0x15602
movl $0x5ab, %edx            # imm = 0x5AB
callq 0x3040
leaq 0xb0ab(%rip), %rdi      # 0x14181
leaq 0xafdf(%rip), %rsi      # 0x140bc
leaq 0xc51e(%rip), %rcx      # 0x15602
movl $0x5ac, %edx            # imm = 0x5AC
callq 0x3040
leaq 0xafa6(%rip), %rdi      # 0x1409b
leaq 0xafc0(%rip), %rsi      # 0x140bc
leaq 0xc4ff(%rip), %rcx      # 0x15602
movl $0x5b7, %edx            # imm = 0x5B7
callq 0x3040
leaq 0xb4e6(%rip), %rdi      # 0x145fa
leaq 0xafa1(%rip), %rsi      # 0x140bc
leaq 0xc4e0(%rip), %rcx      # 0x15602
movl $0x5b8, %edx            # imm = 0x5B8
callq 0x3040
leaq 0xb4a6(%rip), %rdi      # 0x145d9
leaq 0xaf82(%rip), %rsi      # 0x140bc
leaq 0xc4c1(%rip), %rcx      # 0x15602
movl $0x5b9, %edx            # imm = 0x5B9
callq 0x3040
leaq 0xb679(%rip), %rdi      # 0x147cb
leaq 0xaf63(%rip), %rsi      # 0x140bc
leaq 0xc4a2(%rip), %rcx      # 0x15602
movl $0x5ba, %edx            # imm = 0x5BA
callq 0x3040
leaq 0xaff4(%rip), %rdi      # 0x14165
leaq 0xaf44(%rip), %rsi      # 0x140bc
leaq 0xc483(%rip), %rcx      # 0x15602
movl $0x5bb, %edx            # imm = 0x5BB
callq 0x3040
leaq 0xc586(%rip), %rdi      # 0x15716
leaq 0xaf25(%rip), %rsi      # 0x140bc
leaq 0xc464(%rip), %rcx      # 0x15602
movl $0x5bc, %edx            # imm = 0x5BC
callq 0x3040
leaq 0xaeec(%rip), %rdi      # 0x1409b
leaq 0xaf06(%rip), %rsi      # 0x140bc
leaq 0xc445(%rip), %rcx      # 0x15602
movl $0x5c2, %edx            # imm = 0x5C2
callq 0x3040
leaq 0xb42c(%rip), %rdi      # 0x145fa
leaq 0xaee7(%rip), %rsi      # 0x140bc
leaq 0xc426(%rip), %rcx      # 0x15602
movl $0x5c3, %edx            # imm = 0x5C3
callq 0x3040
leaq 0xb3ec(%rip), %rdi      # 0x145d9
leaq 0xaec8(%rip), %rsi      # 0x140bc
leaq 0xc407(%rip), %rcx      # 0x15602
movl $0x5c4, %edx            # imm = 0x5C4
callq 0x3040
leaq 0xb5bf(%rip), %rdi      # 0x147cb
leaq 0xaea9(%rip), %rsi      # 0x140bc
leaq 0xc3e8(%rip), %rcx      # 0x15602
movl $0x5c5, %edx            # imm = 0x5C5
callq 0x3040
leaq 0xaf88(%rip), %rdi      # 0x141b3
leaq 0xae8a(%rip), %rsi      # 0x140bc
leaq 0xc3c9(%rip), %rcx      # 0x15602
movl $0x5c6, %edx            # imm = 0x5C6
callq 0x3040
leaq 0xc4e6(%rip), %rdi      # 0x15730
leaq 0xae6b(%rip), %rsi      # 0x140bc
leaq 0xc3aa(%rip), %rcx      # 0x15602
movl $0x5c7, %edx            # imm = 0x5C7
callq 0x3040
leaq 0xc4ad(%rip), %rdi      # 0x15716
leaq 0xae4c(%rip), %rsi      # 0x140bc
leaq 0xc38b(%rip), %rcx      # 0x15602
movl $0x5c8, %edx            # imm = 0x5C8
callq 0x3040
leaq 0xae13(%rip), %rdi      # 0x1409b
leaq 0xae2d(%rip), %rsi      # 0x140bc
leaq 0xc36c(%rip), %rcx      # 0x15602
movl $0x5ce, %edx            # imm = 0x5CE
callq 0x3040
leaq 0xb353(%rip), %rdi      # 0x145fa
leaq 0xae0e(%rip), %rsi      # 0x140bc
leaq 0xc34d(%rip), %rcx      # 0x15602
movl $0x5cf, %edx            # imm = 0x5CF
callq 0x3040
leaq 0xb313(%rip), %rdi      # 0x145d9
leaq 0xadef(%rip), %rsi      # 0x140bc
leaq 0xc32e(%rip), %rcx      # 0x15602
movl $0x5d0, %edx            # imm = 0x5D0
callq 0x3040
leaq 0xb4e6(%rip), %rdi      # 0x147cb
leaq 0xadd0(%rip), %rsi      # 0x140bc
leaq 0xc30f(%rip), %rcx      # 0x15602
movl $0x5d1, %edx            # imm = 0x5D1
callq 0x3040
leaq 0xae61(%rip), %rdi      # 0x14165
leaq 0xadb1(%rip), %rsi      # 0x140bc
leaq 0xc2f0(%rip), %rcx      # 0x15602
movl $0x5d2, %edx            # imm = 0x5D2
callq 0x3040
leaq 0xc454(%rip), %rdi      # 0x15777
leaq 0xad92(%rip), %rsi      # 0x140bc
leaq 0xc2d1(%rip), %rcx      # 0x15602
movl $0x5d3, %edx            # imm = 0x5D3
callq 0x3040
leaq 0xad59(%rip), %rdi      # 0x1409b
leaq 0xad73(%rip), %rsi      # 0x140bc
leaq 0xc2b2(%rip), %rcx      # 0x15602
movl $0x5d8, %edx            # imm = 0x5D8
callq 0x3040
leaq 0xb299(%rip), %rdi      # 0x145fa
leaq 0xad54(%rip), %rsi      # 0x140bc
leaq 0xc293(%rip), %rcx      # 0x15602
movl $0x5d9, %edx            # imm = 0x5D9
callq 0x3040
leaq 0xb259(%rip), %rdi      # 0x145d9
leaq 0xad35(%rip), %rsi      # 0x140bc
leaq 0xc274(%rip), %rcx      # 0x15602
movl $0x5da, %edx            # imm = 0x5DA
callq 0x3040
leaq 0xb27c(%rip), %rdi      # 0x1461b
leaq 0xad16(%rip), %rsi      # 0x140bc
leaq 0xc255(%rip), %rcx      # 0x15602
movl $0x5db, %edx            # imm = 0x5DB
callq 0x3040
leaq 0xb069(%rip), %rdi      # 0x14427
leaq 0xacf7(%rip), %rsi      # 0x140bc
leaq 0xc236(%rip), %rcx      # 0x15602
movl $0x5dc, %edx            # imm = 0x5DC
callq 0x3040
leaq 0xc3b5(%rip), %rdi      # 0x15792
leaq 0xacd8(%rip), %rsi      # 0x140bc
leaq 0xc217(%rip), %rcx      # 0x15602
movl $0x5dd, %edx            # imm = 0x5DD
callq 0x3040