// File: /workspace/github_c_makefile_star2_O1/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 $0x198, %rsp            # imm = 0x198
xorl %eax, %eax
callq 0xca7b
movq $-0x2, %r14
leaq 0x70(%rsp), %r15
leaq 0xb754(%rip), %r12      # 0x14050
movq 0x156f5(%rip), %r13     # 0x1dff8
leaq 0xe7b3(%rip), %rbx      # 0x170bd
movzbl 0x4(%r14,%r12), %ecx
leal -0x30(%rcx), %ebp
cmpb $0xa, %bpl
jb 0x8931
leal -0x61(%rcx), %eax
cmpb $0x5, %al
ja 0x8925
addb $-0x57, %cl
jmp 0x892f
leal -0x41(%rcx), %eax
cmpb $0x5, %al
ja 0x896f
addb $-0x37, %cl
movl %ecx, %ebp
movzbl 0x5(%r14,%r12), %ecx
leal -0x30(%rcx), %eax
cmpb $0xa, %al
jb 0x8956
leal -0x61(%rcx), %eax
cmpb $0x5, %al
ja 0x894a
addb $-0x57, %cl
jmp 0x8954
leal -0x41(%rcx), %eax
cmpb $0x5, %al
ja 0x8984
addb $-0x37, %cl
movl %ecx, %eax
shlb $0x4, %bpl
addb %al, %bpl
movb %bpl, (%r15)
addq $0x2, %r14
incq %r15
cmpq $0x26, %r14
jb 0x890a
jmp 0x8998
movq (%r13), %rdi
movq %rbx, %rsi
movl %ecx, %edx
xorl %eax, %eax
callq 0x30a0
movb $-0x1, %bpl
jmp 0x8931
movq (%r13), %rdi
movq %rbx, %rsi
movl %ecx, %edx
xorl %eax, %eax
callq 0x30a0
movb $-0x1, %al
jmp 0x8956
leaq 0x84(%rsp), %rdx
movq $0x0, (%rdx)
movl $0x0, 0x8(%rdx)
movups 0xfc7a(%rip), %xmm0     # 0x1862f
leaq 0x140(%rsp), %r8
movups %xmm0, 0xf(%r8)
movaps 0xfc57(%rip), %xmm0     # 0x18620
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 0xd845
cmpq $0x0, 0x10(%rbx)
jne 0x8f58
movl $0x80d9b122, %eax       # imm = 0x80D9B122
cmpq %rax, 0x48(%rsp)
jne 0x8f77
movabsq $-0x23c5e9023be06931, %rax # imm = 0xDC3A16FDC41F96CF
cmpq %rax, 0x50(%rsp)
jne 0x8f96
movabsq $0x10ffe7e38d227c3, %rax # imm = 0x10FFE7E38D227C3
cmpq %rax, 0x58(%rsp)
jne 0x8fb5
cmpq $0x17, 0x30(%rsp)
jne 0x8fd4
movq 0x38(%rsp), %rax
movdqu (%rax), %xmm0
movdqu 0x7(%rax), %xmm1
pcmpeqb 0xb5d1(%rip), %xmm1     # 0x14030
pcmpeqb 0xb5d9(%rip), %xmm0     # 0x14040
pand %xmm1, %xmm0
pmovmskb %xmm0, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
jne 0x8ff3
cmpq $0x0, 0x60(%rsp)
jne 0x9012
movl 0x48(%rsp), %eax
bswapl %eax
movl %eax, 0xa8(%rsp)
movq 0x50(%rsp), %rax
bswapq %rax
movq %rax, 0xac(%rsp)
movq 0x58(%rsp), %rax
bswapq %rax
movq %rax, 0xb4(%rsp)
movaps 0xfbd6(%rip), %xmm0     # 0x18690
leaq 0x160(%rsp), %r8
movaps %xmm0, 0x20(%r8)
movaps 0xfbb2(%rip), %xmm0     # 0x18680
movaps %xmm0, 0x10(%r8)
movaps 0xfb96(%rip), %xmm0     # 0x18670
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 0xc0(%rsp), %rbx
leaq 0x84(%rsp), %rdx
movl $0xf250, %esi           # imm = 0xF250
movl $0x32, %ecx
movq %rbx, %rdi
callq 0xd845
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 0x9031
cmpq $0x47784b21, 0x48(%rsp) # imm = 0x47784B21
jne 0x9050
movabsq $0x780d1e1d5efcd005, %rax # imm = 0x780D1E1D5EFCD005
cmpq %rax, 0x50(%rsp)
jne 0x906f
movabsq $-0x3a01abd7ec4928e2, %rax # imm = 0xC5FE542813B6D71E
cmpq %rax, 0x58(%rsp)
jne 0x908e
cmpq $0x29, 0x30(%rsp)
jne 0x90ad
movq 0x38(%rsp), %rdi
leaq 0xfaa5(%rip), %rsi      # 0x18640
movl $0x29, %edx
callq 0x30d0
testl %eax, %eax
jne 0x90cc
cmpq $0x0, 0x60(%rsp)
jne 0x90eb
movl 0x48(%rsp), %eax
bswapl %eax
movq 0x50(%rsp), %rcx
bswapq %rcx
movl %eax, 0x90(%rsp)
movq 0x58(%rsp), %rax
bswapq %rax
movq %rcx, 0x94(%rsp)
movq %rax, 0x9c(%rsp)
xorps %xmm0, %xmm0
leaq 0xc0(%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)
movups 0x90(%rsp), %xmm0
movups %xmm0, 0x18(%rsp)
movl 0x80(%rsp), %eax
movl %eax, 0x10(%rsp)
movups 0x70(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x100(%rsp), %rbx
leaq 0x84(%rsp), %rdx
movl $0x64c2, %esi           # imm = 0x64C2
movq %rbx, %rdi
xorl %ecx, %ecx
xorl %r9d, %r9d
callq 0xd30c
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 0x910a
cmpq $0x0, 0x48(%rsp)
jne 0x9129
cmpq $0x0, 0x50(%rsp)
jne 0x9148
cmpq $0x1, 0x58(%rsp)
jne 0x9167
cmpq $0x0, 0x30(%rsp)
jne 0x9186
cmpq $0xf, 0x60(%rsp)
jne 0x91a5
movl 0xa0(%rsp), %eax
movl %eax, 0x28(%rsp)
movups 0x90(%rsp), %xmm0
movups %xmm0, 0x18(%rsp)
movl 0x80(%rsp), %eax
movl %eax, 0x10(%rsp)
movups 0x70(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x100(%rsp), %rbx
leaq 0x84(%rsp), %rdx
leaq 0xc0(%rsp), %r8
movl $0x6548, %esi           # imm = 0x6548
movl $0x20, %ecx
movq %rbx, %rdi
xorl %r9d, %r9d
callq 0xd30c
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 0x91c4
cmpq $0x0, 0x48(%rsp)
jne 0x91e3
cmpq $0x0, 0x50(%rsp)
jne 0x9202
cmpq $0x1, 0x58(%rsp)
jne 0x9221
cmpq $0x20, 0x30(%rsp)
jne 0x9240
movq 0x38(%rsp), %rax
movdqu (%rax), %xmm0
movdqu 0x10(%rax), %xmm1
pcmpeqb 0xd0(%rsp), %xmm1
pcmpeqb 0xc0(%rsp), %xmm0
pand %xmm1, %xmm0
pmovmskb %xmm0, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
jne 0x925f
cmpq $0xf, 0x60(%rsp)
jne 0x927e
movl 0xb8(%rsp), %eax
movl %eax, 0x28(%rsp)
movups 0xa8(%rsp), %xmm0
movups %xmm0, 0x18(%rsp)
movl 0x80(%rsp), %eax
movl %eax, 0x10(%rsp)
movups 0x70(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x100(%rsp), %rbx
leaq 0x84(%rsp), %rdx
leaq 0xc0(%rsp), %r8
movl $0x5c25, %esi           # imm = 0x5C25
movl $0x40, %ecx
movq %rbx, %rdi
xorl %r9d, %r9d
callq 0xd30c
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 0x929d
cmpq $0x0, 0x48(%rsp)
jne 0x92bc
cmpq $0x0, 0x50(%rsp)
jne 0x92db
cmpq $0x1, 0x58(%rsp)
jne 0x92fa
cmpq $0x0, 0x30(%rsp)
jne 0x9319
cmpq $0x65, 0x60(%rsp)
jne 0x9338
movl 0xa0(%rsp), %eax
movl %eax, 0x28(%rsp)
movups 0x90(%rsp), %xmm0
movups %xmm0, 0x18(%rsp)
movl 0x80(%rsp), %eax
movl %eax, 0x10(%rsp)
movups 0x70(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x100(%rsp), %rbx
leaq 0x84(%rsp), %rdx
leaq 0xc0(%rsp), %r8
movl $0x10000, %esi          # imm = 0x10000
movl $0x40, %ecx
movq %rbx, %rdi
xorl %r9d, %r9d
callq 0xd30c
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 0x9357
cmpq $0x0, 0x48(%rsp)
jne 0x9376
cmpq $0x0, 0x50(%rsp)
jne 0x9395
cmpq $0x0, 0x58(%rsp)
jne 0x93b4
cmpq $0x40, 0x30(%rsp)
jne 0x93d3
cmpq $0x279, 0x60(%rsp)      # imm = 0x279
jne 0x93f2
xorl %eax, %eax
callq 0xcf29
addq $0x198, %rsp            # imm = 0x198
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xb11c(%rip), %rdi      # 0x1407b
leaq 0xb136(%rip), %rsi      # 0x1409c
leaq 0xc675(%rip), %rcx      # 0x155e2
movl $0x586, %edx            # imm = 0x586
callq 0x3040
leaq 0xb139(%rip), %rdi      # 0x140b7
leaq 0xb117(%rip), %rsi      # 0x1409c
leaq 0xc656(%rip), %rcx      # 0x155e2
movl $0x587, %edx            # imm = 0x587
callq 0x3040
leaq 0xb144(%rip), %rdi      # 0x140e1
leaq 0xb0f8(%rip), %rsi      # 0x1409c
leaq 0xc637(%rip), %rcx      # 0x155e2
movl $0x588, %edx            # imm = 0x588
callq 0x3040
leaq 0xb157(%rip), %rdi      # 0x14113
leaq 0xb0d9(%rip), %rsi      # 0x1409c
leaq 0xc618(%rip), %rcx      # 0x155e2
movl $0x589, %edx            # imm = 0x589
callq 0x3040
leaq 0xc624(%rip), %rdi      # 0x155ff
leaq 0xb0ba(%rip), %rsi      # 0x1409c
leaq 0xc5f9(%rip), %rcx      # 0x155e2
movl $0x58a, %edx            # imm = 0x58A
callq 0x3040
leaq 0xc635(%rip), %rdi      # 0x1562f
leaq 0xb09b(%rip), %rsi      # 0x1409c
leaq 0xc5da(%rip), %rcx      # 0x155e2
movl $0x58b, %edx            # imm = 0x58B
callq 0x3040
leaq 0xb148(%rip), %rdi      # 0x14161
leaq 0xb07c(%rip), %rsi      # 0x1409c
leaq 0xc5bb(%rip), %rcx      # 0x155e2
movl $0x58c, %edx            # imm = 0x58C
callq 0x3040
leaq 0xb043(%rip), %rdi      # 0x1407b
leaq 0xb05d(%rip), %rsi      # 0x1409c
leaq 0xc59c(%rip), %rcx      # 0x155e2
movl $0x5a6, %edx            # imm = 0x5A6
callq 0x3040
leaq 0xb819(%rip), %rdi      # 0x14870
leaq 0xb03e(%rip), %rsi      # 0x1409c
leaq 0xc57d(%rip), %rcx      # 0x155e2
movl $0x5a7, %edx            # imm = 0x5A7
callq 0x3040
leaq 0xb824(%rip), %rdi      # 0x1489a
leaq 0xb01f(%rip), %rsi      # 0x1409c
leaq 0xc55e(%rip), %rcx      # 0x155e2
movl $0x5a8, %edx            # imm = 0x5A8
callq 0x3040
leaq 0xb837(%rip), %rdi      # 0x148cc
leaq 0xb000(%rip), %rsi      # 0x1409c
leaq 0xc53f(%rip), %rcx      # 0x155e2
movl $0x5a9, %edx            # imm = 0x5A9
callq 0x3040
leaq 0xc5c8(%rip), %rdi      # 0x1567c
leaq 0xafe1(%rip), %rsi      # 0x1409c
leaq 0xc520(%rip), %rcx      # 0x155e2
movl $0x5aa, %edx            # imm = 0x5AA
callq 0x3040
leaq 0xc5d8(%rip), %rdi      # 0x156ab
leaq 0xafc2(%rip), %rsi      # 0x1409c
leaq 0xc501(%rip), %rcx      # 0x155e2
movl $0x5ab, %edx            # imm = 0x5AB
callq 0x3040
leaq 0xb06f(%rip), %rdi      # 0x14161
leaq 0xafa3(%rip), %rsi      # 0x1409c
leaq 0xc4e2(%rip), %rcx      # 0x155e2
movl $0x5ac, %edx            # imm = 0x5AC
callq 0x3040
leaq 0xaf6a(%rip), %rdi      # 0x1407b
leaq 0xaf84(%rip), %rsi      # 0x1409c
leaq 0xc4c3(%rip), %rcx      # 0x155e2
movl $0x5b7, %edx            # imm = 0x5B7
callq 0x3040
leaq 0xb4aa(%rip), %rdi      # 0x145da
leaq 0xaf65(%rip), %rsi      # 0x1409c
leaq 0xc4a4(%rip), %rcx      # 0x155e2
movl $0x5b8, %edx            # imm = 0x5B8
callq 0x3040
leaq 0xb46a(%rip), %rdi      # 0x145b9
leaq 0xaf46(%rip), %rsi      # 0x1409c
leaq 0xc485(%rip), %rcx      # 0x155e2
movl $0x5b9, %edx            # imm = 0x5B9
callq 0x3040
leaq 0xb63d(%rip), %rdi      # 0x147ab
leaq 0xaf27(%rip), %rsi      # 0x1409c
leaq 0xc466(%rip), %rcx      # 0x155e2
movl $0x5ba, %edx            # imm = 0x5BA
callq 0x3040
leaq 0xafb8(%rip), %rdi      # 0x14145
leaq 0xaf08(%rip), %rsi      # 0x1409c
leaq 0xc447(%rip), %rcx      # 0x155e2
movl $0x5bb, %edx            # imm = 0x5BB
callq 0x3040
leaq 0xc54a(%rip), %rdi      # 0x156f6
leaq 0xaee9(%rip), %rsi      # 0x1409c
leaq 0xc428(%rip), %rcx      # 0x155e2
movl $0x5bc, %edx            # imm = 0x5BC
callq 0x3040
leaq 0xaeb0(%rip), %rdi      # 0x1407b
leaq 0xaeca(%rip), %rsi      # 0x1409c
leaq 0xc409(%rip), %rcx      # 0x155e2
movl $0x5c2, %edx            # imm = 0x5C2
callq 0x3040
leaq 0xb3f0(%rip), %rdi      # 0x145da
leaq 0xaeab(%rip), %rsi      # 0x1409c
leaq 0xc3ea(%rip), %rcx      # 0x155e2
movl $0x5c3, %edx            # imm = 0x5C3
callq 0x3040
leaq 0xb3b0(%rip), %rdi      # 0x145b9
leaq 0xae8c(%rip), %rsi      # 0x1409c
leaq 0xc3cb(%rip), %rcx      # 0x155e2
movl $0x5c4, %edx            # imm = 0x5C4
callq 0x3040
leaq 0xb583(%rip), %rdi      # 0x147ab
leaq 0xae6d(%rip), %rsi      # 0x1409c
leaq 0xc3ac(%rip), %rcx      # 0x155e2
movl $0x5c5, %edx            # imm = 0x5C5
callq 0x3040
leaq 0xaf4c(%rip), %rdi      # 0x14193
leaq 0xae4e(%rip), %rsi      # 0x1409c
leaq 0xc38d(%rip), %rcx      # 0x155e2
movl $0x5c6, %edx            # imm = 0x5C6
callq 0x3040
leaq 0xc4aa(%rip), %rdi      # 0x15710
leaq 0xae2f(%rip), %rsi      # 0x1409c
leaq 0xc36e(%rip), %rcx      # 0x155e2
movl $0x5c7, %edx            # imm = 0x5C7
callq 0x3040
leaq 0xc471(%rip), %rdi      # 0x156f6
leaq 0xae10(%rip), %rsi      # 0x1409c
leaq 0xc34f(%rip), %rcx      # 0x155e2
movl $0x5c8, %edx            # imm = 0x5C8
callq 0x3040
leaq 0xadd7(%rip), %rdi      # 0x1407b
leaq 0xadf1(%rip), %rsi      # 0x1409c
leaq 0xc330(%rip), %rcx      # 0x155e2
movl $0x5ce, %edx            # imm = 0x5CE
callq 0x3040
leaq 0xb317(%rip), %rdi      # 0x145da
leaq 0xadd2(%rip), %rsi      # 0x1409c
leaq 0xc311(%rip), %rcx      # 0x155e2
movl $0x5cf, %edx            # imm = 0x5CF
callq 0x3040
leaq 0xb2d7(%rip), %rdi      # 0x145b9
leaq 0xadb3(%rip), %rsi      # 0x1409c
leaq 0xc2f2(%rip), %rcx      # 0x155e2
movl $0x5d0, %edx            # imm = 0x5D0
callq 0x3040
leaq 0xb4aa(%rip), %rdi      # 0x147ab
leaq 0xad94(%rip), %rsi      # 0x1409c
leaq 0xc2d3(%rip), %rcx      # 0x155e2
movl $0x5d1, %edx            # imm = 0x5D1
callq 0x3040
leaq 0xae25(%rip), %rdi      # 0x14145
leaq 0xad75(%rip), %rsi      # 0x1409c
leaq 0xc2b4(%rip), %rcx      # 0x155e2
movl $0x5d2, %edx            # imm = 0x5D2
callq 0x3040
leaq 0xc418(%rip), %rdi      # 0x15757
leaq 0xad56(%rip), %rsi      # 0x1409c
leaq 0xc295(%rip), %rcx      # 0x155e2
movl $0x5d3, %edx            # imm = 0x5D3
callq 0x3040
leaq 0xad1d(%rip), %rdi      # 0x1407b
leaq 0xad37(%rip), %rsi      # 0x1409c
leaq 0xc276(%rip), %rcx      # 0x155e2
movl $0x5d8, %edx            # imm = 0x5D8
callq 0x3040
leaq 0xb25d(%rip), %rdi      # 0x145da
leaq 0xad18(%rip), %rsi      # 0x1409c
leaq 0xc257(%rip), %rcx      # 0x155e2
movl $0x5d9, %edx            # imm = 0x5D9
callq 0x3040
leaq 0xb21d(%rip), %rdi      # 0x145b9
leaq 0xacf9(%rip), %rsi      # 0x1409c
leaq 0xc238(%rip), %rcx      # 0x155e2
movl $0x5da, %edx            # imm = 0x5DA
callq 0x3040
leaq 0xb240(%rip), %rdi      # 0x145fb
leaq 0xacda(%rip), %rsi      # 0x1409c
leaq 0xc219(%rip), %rcx      # 0x155e2
movl $0x5db, %edx            # imm = 0x5DB
callq 0x3040
leaq 0xb02d(%rip), %rdi      # 0x14407
leaq 0xacbb(%rip), %rsi      # 0x1409c
leaq 0xc1fa(%rip), %rcx      # 0x155e2
movl $0x5dc, %edx            # imm = 0x5DC
callq 0x3040
leaq 0xc379(%rip), %rdi      # 0x15772
leaq 0xac9c(%rip), %rsi      # 0x1409c
leaq 0xc1db(%rip), %rcx      # 0x155e2
movl $0x5dd, %edx            # imm = 0x5DD
callq 0x3040