// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x2a0, %rsp            # imm = 0x2A0
movb $0x0, %al
callq 0xcfc0
movl 0x19404(%rip), %eax     # 0x1f3bc
movl %eax, -0x7(%rbp)
movw 0x193fe(%rip), %ax      # 0x1f3c0
movw %ax, -0x3(%rbp)
movb 0x193f6(%rip), %al      # 0x1f3c2
movb %al, -0x1(%rbp)
movq 0x193ed(%rip), %rax     # 0x1f3c3
movq %rax, -0x16(%rbp)
movl 0x193eb(%rip), %eax     # 0x1f3cb
movl %eax, -0xe(%rbp)
movw 0x193e5(%rip), %ax      # 0x1f3cf
movw %ax, -0xa(%rbp)
movb 0x193dd(%rip), %al      # 0x1f3d1
movb %al, -0x8(%rbp)
leaq -0x30(%rbp), %rdi
leaq 0x15002(%rip), %rsi     # 0x1b004
addq $0x2, %rsi
callq 0x3380
movq $0xd583, -0x38(%rbp)    # imm = 0xD583
movl $0x0, -0x44(%rbp)
movl $0x0, -0x40(%rbp)
movl $0x0, -0x3c(%rbp)
leaq -0x16(%rbp), %rax
movq %rax, -0x50(%rbp)
movq $0xf, -0x58(%rbp)
movq -0x38(%rbp), %rsi
leaq -0x44(%rbp), %rdx
movq -0x58(%rbp), %rcx
movq -0x50(%rbp), %r8
leaq -0x98(%rbp), %rdi
leaq -0x30(%rbp), %rax
movq (%rax), %r9
movq %r9, (%rsp)
movq 0x8(%rax), %r9
movq %r9, 0x8(%rsp)
movl 0x10(%rax), %eax
movl %eax, 0x10(%rsp)
callq 0xe270
cmpq $0x0, -0x88(%rbp)
jne 0x607b
jmp 0x609a
leaq 0x15855(%rip), %rdi     # 0x1b8d7
leaq 0x14fc7(%rip), %rsi     # 0x1b050
movl $0x41e, %edx            # imm = 0x41E
leaq 0x15869(%rip), %rcx     # 0x1b8fe
callq 0x3040
movl $0x80d9b122, %eax       # imm = 0x80D9B122
cmpq %rax, -0x80(%rbp)
jne 0x60a7
jmp 0x60c6
leaq 0x15868(%rip), %rdi     # 0x1b916
leaq 0x14f9b(%rip), %rsi     # 0x1b050
movl $0x41f, %edx            # imm = 0x41F
leaq 0x1583d(%rip), %rcx     # 0x1b8fe
callq 0x3040
movabsq $-0x23c5e9023be06931, %rax # imm = 0xDC3A16FDC41F96CF
cmpq %rax, -0x78(%rbp)
jne 0x60d8
jmp 0x60f7
leaq 0x15867(%rip), %rdi     # 0x1b946
leaq 0x14f6a(%rip), %rsi     # 0x1b050
movl $0x420, %edx            # imm = 0x420
leaq 0x1580c(%rip), %rcx     # 0x1b8fe
callq 0x3040
movabsq $0x10ffe7e38d227c3, %rax # imm = 0x10FFE7E38D227C3
cmpq %rax, -0x70(%rbp)
jne 0x6109
jmp 0x6128
leaq 0x1586e(%rip), %rdi     # 0x1b97e
leaq 0x14f39(%rip), %rsi     # 0x1b050
movl $0x421, %edx            # imm = 0x421
leaq 0x157db(%rip), %rcx     # 0x1b8fe
callq 0x3040
cmpq $0x7, -0x98(%rbp)
jne 0x6134
jmp 0x6153
leaq 0x1587b(%rip), %rdi     # 0x1b9b6
leaq 0x14f0e(%rip), %rsi     # 0x1b050
movl $0x422, %edx            # imm = 0x422
leaq 0x157b0(%rip), %rcx     # 0x1b8fe
callq 0x3040
movq -0x90(%rbp), %rdi
leaq -0x7(%rbp), %rsi
movl $0x7, %edx
callq 0x3090
cmpl $0x0, %eax
jne 0x616f
jmp 0x618e
leaq 0x1586d(%rip), %rdi     # 0x1b9e3
leaq 0x14ed3(%rip), %rsi     # 0x1b050
movl $0x423, %edx            # imm = 0x423
leaq 0x15775(%rip), %rcx     # 0x1b8fe
callq 0x3040
cmpq $0x0, -0x68(%rbp)
jne 0x6197
jmp 0x61b6
leaq 0x15886(%rip), %rdi     # 0x1ba24
leaq 0x14eab(%rip), %rsi     # 0x1b050
movl $0x424, %edx            # imm = 0x424
leaq 0x1574d(%rip), %rcx     # 0x1b8fe
callq 0x3040
movq $0xdecb, -0x38(%rbp)    # imm = 0xDECB
movq 0x1921b(%rip), %rax     # 0x1f3e0
movq %rax, -0xb0(%rbp)
movq 0x19215(%rip), %rax     # 0x1f3e8
movq %rax, -0xa8(%rbp)
movw 0x1920f(%rip), %ax      # 0x1f3f0
movw %ax, -0xa0(%rbp)
movq 0x19211(%rip), %rax     # 0x1f400
movq %rax, -0xd0(%rbp)
movq 0x1920b(%rip), %rax     # 0x1f408
movq %rax, -0xc8(%rbp)
movq 0x19205(%rip), %rax     # 0x1f410
movq %rax, -0xc0(%rbp)
movw 0x191ff(%rip), %ax      # 0x1f418
movw %ax, -0xb8(%rbp)
movq $0x1a, -0x58(%rbp)
leaq -0xd0(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x38(%rbp), %rsi
leaq -0x44(%rbp), %rdx
movq -0x58(%rbp), %rcx
movq -0x50(%rbp), %r8
leaq -0x110(%rbp), %rdi
leaq -0x30(%rbp), %rax
movq (%rax), %r9
movq %r9, (%rsp)
movq 0x8(%rax), %r9
movq %r9, 0x8(%rsp)
movl 0x10(%rax), %eax
movl %eax, 0x10(%rsp)
callq 0xe270
movq -0x108(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
movl $0x12, %edx
callq 0x3090
cmpl $0x0, %eax
jne 0x6289
jmp 0x62a8
leaq 0x157b3(%rip), %rdi     # 0x1ba43
leaq 0x14db9(%rip), %rsi     # 0x1b050
movl $0x43a, %edx            # imm = 0x43A
leaq 0x1565b(%rip), %rcx     # 0x1b8fe
callq 0x3040
cmpq $0x0, -0x100(%rbp)
jne 0x62b4
jmp 0x62d3
leaq 0x157dd(%rip), %rdi     # 0x1ba98
leaq 0x14d8e(%rip), %rsi     # 0x1b050
movl $0x43b, %edx            # imm = 0x43B
leaq 0x15630(%rip), %rcx     # 0x1b8fe
callq 0x3040
cmpq $0x47784b21, -0xf8(%rbp) # imm = 0x47784B21
jne 0x62e2
jmp 0x6301
leaq 0x157dc(%rip), %rdi     # 0x1bac5
leaq 0x14d60(%rip), %rsi     # 0x1b050
movl $0x43c, %edx            # imm = 0x43C
leaq 0x15602(%rip), %rcx     # 0x1b8fe
callq 0x3040
movabsq $0x780d1e1d5efcd005, %rax # imm = 0x780D1E1D5EFCD005
cmpq %rax, -0xf0(%rbp)
jne 0x6316
jmp 0x6335
leaq 0x157de(%rip), %rdi     # 0x1bafb
leaq 0x14d2c(%rip), %rsi     # 0x1b050
movl $0x43d, %edx            # imm = 0x43D
leaq 0x155ce(%rip), %rcx     # 0x1b8fe
callq 0x3040
movabsq $-0x3a01abd7ec4928e2, %rax # imm = 0xC5FE542813B6D71E
cmpq %rax, -0xe8(%rbp)
jne 0x634a
jmp 0x6369
leaq 0x157e8(%rip), %rdi     # 0x1bb39
leaq 0x14cf8(%rip), %rsi     # 0x1b050
movl $0x43e, %edx            # imm = 0x43E
leaq 0x1559a(%rip), %rcx     # 0x1b8fe
callq 0x3040
cmpq $0x0, -0xe0(%rbp)
jne 0x6375
jmp 0x6394
leaq 0x157fb(%rip), %rdi     # 0x1bb77
leaq 0x14ccd(%rip), %rsi     # 0x1b050
movl $0x43f, %edx            # imm = 0x43F
leaq 0x1556f(%rip), %rcx     # 0x1b8fe
callq 0x3040
leaq -0x160(%rbp), %rdi
xorl %esi, %esi
movl $0x50, %edx
callq 0x3060
leaq -0x98(%rbp), %rsi
addq $0x10, %rsi
leaq -0x188(%rbp), %rdi
callq 0x6b50
movq -0x188(%rbp), %rax
movq %rax, -0x14c(%rbp)
movq -0x180(%rbp), %rax
movq %rax, -0x144(%rbp)
movl -0x178(%rbp), %eax
movl %eax, -0x13c(%rbp)
movq -0x14c(%rbp), %rax
movq %rax, -0x174(%rbp)
movq -0x144(%rbp), %rax
movq %rax, -0x16c(%rbp)
movl -0x13c(%rbp), %eax
movl %eax, -0x164(%rbp)
leaq -0x110(%rbp), %rsi
addq $0x10, %rsi
leaq -0x1b0(%rbp), %rdi
callq 0x6b50
movq -0x1b0(%rbp), %rax
movq %rax, -0x124(%rbp)
movq -0x1a8(%rbp), %rax
movq %rax, -0x11c(%rbp)
movl -0x1a0(%rbp), %eax
movl %eax, -0x114(%rbp)
movq -0x124(%rbp), %rax
movq %rax, -0x19c(%rbp)
movq -0x11c(%rbp), %rax
movq %rax, -0x194(%rbp)
movl -0x114(%rbp), %eax
movl %eax, -0x18c(%rbp)
movq -0x19c(%rbp), %rax
movq %rax, -0x1c8(%rbp)
movq -0x194(%rbp), %rax
movq %rax, -0x1c0(%rbp)
movl -0x18c(%rbp), %eax
movl %eax, -0x1b8(%rbp)
movq $0x20, -0x58(%rbp)
movq $0x5e35, -0x38(%rbp)    # imm = 0x5E35
leaq -0x160(%rbp), %rax
addq $0x14, %rax
addq $-0xc, %rax
movq %rax, -0x50(%rbp)
movq -0x38(%rbp), %rsi
leaq -0x44(%rbp), %rdx
movq -0x58(%rbp), %rcx
movq -0x50(%rbp), %r8
leaq -0x208(%rbp), %rdi
leaq -0x30(%rbp), %r10
leaq -0x1c8(%rbp), %rax
xorl %r9d, %r9d
movq (%r10), %r11
movq %r11, (%rsp)
movq 0x8(%r10), %r11
movq %r11, 0x8(%rsp)
movl 0x10(%r10), %r10d
movl %r10d, 0x10(%rsp)
movq (%rax), %r10
movq %r10, 0x18(%rsp)
movq 0x8(%rax), %r10
movq %r10, 0x20(%rsp)
movl 0x10(%rax), %eax
movl %eax, 0x28(%rsp)
callq 0xdaa0
cmpq $0x0, -0x1f8(%rbp)
jne 0x6527
jmp 0x6546
leaq 0x1566e(%rip), %rdi     # 0x1bb9c
leaq 0x14b1b(%rip), %rsi     # 0x1b050
movl $0x44e, %edx            # imm = 0x44E
leaq 0x153bd(%rip), %rcx     # 0x1b8fe
callq 0x3040
cmpq $0x0, -0x1f0(%rbp)
jne 0x6552
jmp 0x6571
leaq 0x15671(%rip), %rdi     # 0x1bbca
leaq 0x14af0(%rip), %rsi     # 0x1b050
movl $0x44f, %edx            # imm = 0x44F
leaq 0x15392(%rip), %rcx     # 0x1b8fe
callq 0x3040
cmpq $0x0, -0x1e8(%rbp)
jne 0x657d
jmp 0x659c
leaq 0x15674(%rip), %rdi     # 0x1bbf8
leaq 0x14ac5(%rip), %rsi     # 0x1b050
movl $0x450, %edx            # imm = 0x450
leaq 0x15367(%rip), %rcx     # 0x1b8fe
callq 0x3040
cmpq $0x1, -0x1e0(%rbp)
jne 0x65a8
jmp 0x65c7
leaq 0x15677(%rip), %rdi     # 0x1bc26
leaq 0x14a9a(%rip), %rsi     # 0x1b050
movl $0x451, %edx            # imm = 0x451
leaq 0x1533c(%rip), %rcx     # 0x1b8fe
callq 0x3040
cmpq $0x60, -0x208(%rbp)
jne 0x65d3
jmp 0x65f2
leaq 0x1567a(%rip), %rdi     # 0x1bc54
leaq 0x14a6f(%rip), %rsi     # 0x1b050
movl $0x452, %edx            # imm = 0x452
leaq 0x15311(%rip), %rcx     # 0x1b8fe
callq 0x3040
movl $0x0, -0x20c(%rbp)
cmpl $0x1f, -0x20c(%rbp)
jge 0x6650
movq -0x200(%rbp), %rax
movslq -0x20c(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jne 0x661e
jmp 0x663d
leaq 0x15659(%rip), %rdi     # 0x1bc7e
leaq 0x14a24(%rip), %rsi     # 0x1b050
movl $0x454, %edx            # imm = 0x454
leaq 0x152c6(%rip), %rcx     # 0x1b8fe
callq 0x3040
jmp 0x663f
movl -0x20c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20c(%rbp)
jmp 0x65fc
movq -0x200(%rbp), %rax
movzbl 0x1f(%rax), %eax
cmpq $0x12, %rax
jne 0x6663
jmp 0x6682
leaq 0x15643(%rip), %rdi     # 0x1bcad
leaq 0x149df(%rip), %rsi     # 0x1b050
movl $0x456, %edx            # imm = 0x456
leaq 0x15281(%rip), %rcx     # 0x1b8fe
callq 0x3040
movq -0x200(%rbp), %rdi
addq $0x20, %rdi
leaq -0xb0(%rbp), %rsi
movl $0x12, %edx
callq 0x3090
cmpl $0x0, %eax
jne 0x66a5
jmp 0x66c4
leaq 0x15643(%rip), %rdi     # 0x1bcef
leaq 0x1499d(%rip), %rsi     # 0x1b050
movl $0x457, %edx            # imm = 0x457
leaq 0x1523f(%rip), %rcx     # 0x1b8fe
callq 0x3040
movl $0x32, -0x210(%rbp)
cmpl $0x40, -0x210(%rbp)
jge 0x6722
movq -0x200(%rbp), %rax
movslq -0x210(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jne 0x66f0
jmp 0x670f
leaq 0x15587(%rip), %rdi     # 0x1bc7e
leaq 0x14952(%rip), %rsi     # 0x1b050
movl $0x459, %edx            # imm = 0x459
leaq 0x151f4(%rip), %rcx     # 0x1b8fe
callq 0x3040
jmp 0x6711
movl -0x210(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x210(%rbp)
jmp 0x66ce
movq -0x200(%rbp), %rdi
addq $0x40, %rdi
leaq -0x7(%rbp), %rsi
movl $0x7, %edx
callq 0x3090
cmpl $0x0, %eax
jne 0x6742
jmp 0x6761
leaq 0x155ff(%rip), %rdi     # 0x1bd48
leaq 0x14900(%rip), %rsi     # 0x1b050
movl $0x45b, %edx            # imm = 0x45B
leaq 0x151a2(%rip), %rcx     # 0x1b8fe
callq 0x3040
movl $0x47, -0x214(%rbp)
cmpl $0x60, -0x214(%rbp)
jge 0x67bf
movq -0x200(%rbp), %rax
movslq -0x214(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jne 0x678d
jmp 0x67ac
leaq 0x154ea(%rip), %rdi     # 0x1bc7e
leaq 0x148b5(%rip), %rsi     # 0x1b050
movl $0x45d, %edx            # imm = 0x45D
leaq 0x15157(%rip), %rcx     # 0x1b8fe
callq 0x3040
jmp 0x67ae
movl -0x214(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x214(%rbp)
jmp 0x676b
cmpq $0x0, -0x1d8(%rbp)
jne 0x67cb
jmp 0x67ea
leaq 0x155c1(%rip), %rdi     # 0x1bd93
leaq 0x14877(%rip), %rsi     # 0x1b050
movl $0x45f, %edx            # imm = 0x45F
leaq 0x15119(%rip), %rcx     # 0x1b8fe
callq 0x3040
movq $0x5471, -0x38(%rbp)    # imm = 0x5471
leaq -0x160(%rbp), %rax
addq $0x3c, %rax
addq $-0xc, %rax
movq %rax, -0x50(%rbp)
movq -0x38(%rbp), %rsi
leaq -0x44(%rbp), %rdx
movq -0x58(%rbp), %rcx
movq -0x50(%rbp), %r8
leaq -0x258(%rbp), %rdi
leaq -0x30(%rbp), %r10
leaq -0x1c8(%rbp), %rax
xorl %r9d, %r9d
movq (%r10), %r11
movq %r11, (%rsp)
movq 0x8(%r10), %r11
movq %r11, 0x8(%rsp)
movl 0x10(%r10), %r10d
movl %r10d, 0x10(%rsp)
movq (%rax), %r10
movq %r10, 0x18(%rsp)
movq 0x8(%rax), %r10
movq %r10, 0x20(%rsp)
movl 0x10(%rax), %eax
movl %eax, 0x28(%rsp)
callq 0xdaa0
cmpq $0x0, -0x248(%rbp)
jne 0x686c
jmp 0x688b
leaq 0x15546(%rip), %rdi     # 0x1bdb9
leaq 0x147d6(%rip), %rsi     # 0x1b050
movl $0x464, %edx            # imm = 0x464
leaq 0x15078(%rip), %rcx     # 0x1b8fe
callq 0x3040
cmpq $0x0, -0x240(%rbp)
jne 0x6897
jmp 0x68b6
leaq 0x1554a(%rip), %rdi     # 0x1bde8
leaq 0x147ab(%rip), %rsi     # 0x1b050
movl $0x465, %edx            # imm = 0x465
leaq 0x1504d(%rip), %rcx     # 0x1b8fe
callq 0x3040
cmpq $0x0, -0x238(%rbp)
jne 0x68c2
jmp 0x68e1
leaq 0x1554e(%rip), %rdi     # 0x1be17
leaq 0x14780(%rip), %rsi     # 0x1b050
movl $0x466, %edx            # imm = 0x466
leaq 0x15022(%rip), %rcx     # 0x1b8fe
callq 0x3040
cmpq $0x1, -0x230(%rbp)
jne 0x68ed
jmp 0x690c
leaq 0x15552(%rip), %rdi     # 0x1be46
leaq 0x14755(%rip), %rsi     # 0x1b050
movl $0x467, %edx            # imm = 0x467
leaq 0x14ff7(%rip), %rcx     # 0x1b8fe
callq 0x3040
cmpq $0x60, -0x258(%rbp)
jne 0x6918
jmp 0x6937
leaq 0x15556(%rip), %rdi     # 0x1be75
leaq 0x1472a(%rip), %rsi     # 0x1b050
movl $0x468, %edx            # imm = 0x468
leaq 0x14fcc(%rip), %rcx     # 0x1b8fe
callq 0x3040
movl $0x0, -0x25c(%rbp)
cmpl $0x1f, -0x25c(%rbp)
jge 0x6995
movq -0x250(%rbp), %rax
movslq -0x25c(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jne 0x6963
jmp 0x6982
leaq 0x15536(%rip), %rdi     # 0x1bea0
leaq 0x146df(%rip), %rsi     # 0x1b050
movl $0x46a, %edx            # imm = 0x46A
leaq 0x14f81(%rip), %rcx     # 0x1b8fe
callq 0x3040
jmp 0x6984
movl -0x25c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x25c(%rbp)
jmp 0x6941
movq -0x250(%rbp), %rax
movzbl 0x1f(%rax), %eax
cmpq $0x12, %rax
jne 0x69a8
jmp 0x69c7
leaq 0x15521(%rip), %rdi     # 0x1bed0
leaq 0x1469a(%rip), %rsi     # 0x1b050
movl $0x46c, %edx            # imm = 0x46C
leaq 0x14f3c(%rip), %rcx     # 0x1b8fe
callq 0x3040
movq -0x250(%rbp), %rdi
addq $0x20, %rdi
leaq -0xb0(%rbp), %rsi
movl $0x12, %edx
callq 0x3090
cmpl $0x0, %eax
jne 0x69ea
jmp 0x6a09
leaq 0x15522(%rip), %rdi     # 0x1bf13
leaq 0x14658(%rip), %rsi     # 0x1b050
movl $0x46d, %edx            # imm = 0x46D
leaq 0x14efa(%rip), %rcx     # 0x1b8fe
callq 0x3040
movl $0x32, -0x260(%rbp)
cmpl $0x40, -0x260(%rbp)
jge 0x6a67
movq -0x250(%rbp), %rax
movslq -0x260(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jne 0x6a35
jmp 0x6a54
leaq 0x15464(%rip), %rdi     # 0x1bea0
leaq 0x1460d(%rip), %rsi     # 0x1b050
movl $0x46f, %edx            # imm = 0x46F
leaq 0x14eaf(%rip), %rcx     # 0x1b8fe
callq 0x3040
jmp 0x6a56
movl -0x260(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x260(%rbp)
jmp 0x6a13
movq -0x250(%rbp), %rdi
addq $0x40, %rdi
leaq -0xb0(%rbp), %rsi
movl $0x12, %edx
callq 0x3090
cmpl $0x0, %eax
jne 0x6a8a
jmp 0x6aa9
leaq 0x154dc(%rip), %rdi     # 0x1bf6d
leaq 0x145b8(%rip), %rsi     # 0x1b050
movl $0x471, %edx            # imm = 0x471
leaq 0x14e5a(%rip), %rcx     # 0x1b8fe
callq 0x3040
movl $0x52, -0x264(%rbp)
cmpl $0x60, -0x264(%rbp)
jge 0x6b07
movq -0x250(%rbp), %rax
movslq -0x264(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jne 0x6ad5
jmp 0x6af4
leaq 0x153c4(%rip), %rdi     # 0x1bea0
leaq 0x1456d(%rip), %rsi     # 0x1b050
movl $0x473, %edx            # imm = 0x473
leaq 0x14e0f(%rip), %rcx     # 0x1b8fe
callq 0x3040
jmp 0x6af6
movl -0x264(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x264(%rbp)
jmp 0x6ab3
cmpq $0x0, -0x228(%rbp)
jne 0x6b13
jmp 0x6b32
leaq 0x154ad(%rip), %rdi     # 0x1bfc7
leaq 0x1452f(%rip), %rsi     # 0x1b050
movl $0x475, %edx            # imm = 0x475
leaq 0x14dd1(%rip), %rcx     # 0x1b8fe
callq 0x3040
movb $0x0, %al
callq 0xd4d0
addq $0x2a0, %rsp            # imm = 0x2A0
popq %rbp
retq
nopw %cs:(%rax,%rax)