// File: f18m[P]boost-intrusive-pool/tests/unit_tests.cpp
// Function: max_size_memory_pool()
void max_size_memory_pool()
{
    BOOST_TEST_MESSAGE("Starting boost_intrusive_pool<> tests when memory pool has max size");

    struct {
        unsigned int initial_size;
        unsigned int enlarge_step;
        unsigned int max_size;
    } testArray[] = {
        { 1, 1, 10 }, // force newline
        { 10, 2, 21 }, // force newline
        { 100000, 1, 100010 }, // force newline
        { 128, 4096, 5000 }, // force newline
    };

    for (int testIdx = 0; testIdx < sizeof(testArray) / sizeof(testArray[0]); testIdx++) {
        BOOST_TEST_MESSAGE(std::string("Starting test entry #") + std::to_string(testIdx));

        boost_intrusive_pool<DummyInt> f(testArray[testIdx].initial_size /* initial size */,
            testArray[testIdx].enlarge_step /* enlarge step */, testArray[testIdx].max_size /* max size */);
        std::vector<HDummyInt> helper_container;

        BOOST_REQUIRE(f.is_limited());
        BOOST_REQUIRE_EQUAL(f.max_size(), testArray[testIdx].max_size);

        for (unsigned int j = 0; j < testArray[testIdx].initial_size; j++) {
            HDummyInt myInt = f.allocate_through_init(3);
            assert(myInt);
            helper_container.push_back(myInt);

            f.check();
        }

        // When initial_size items are allocated, the memory pool will try to pre-allocate enlarge_step items.
        // At that point, unused_count will be equal to enlarge_step.
        // But if initial_size + enlarge_step exceeds max_size, the enlarge_step will be the remaining to max_size.
        size_t enlarge_step = testArray[testIdx].enlarge_step;
        if (testArray[testIdx].initial_size + testArray[testIdx].enlarge_step > testArray[testIdx].max_size)
            enlarge_step = testArray[testIdx].max_size - testArray[testIdx].initial_size;
        BOOST_REQUIRE_EQUAL(f.unused_count(), enlarge_step);

        for (unsigned int j = testArray[testIdx].initial_size; j < testArray[testIdx].max_size; j++) {
            HDummyInt myInt = f.allocate_through_init(3);
            assert(myInt);
            helper_container.push_back(myInt);

            f.check();
        }

        BOOST_REQUIRE_EQUAL(f.unused_count(), 0);

        // now if we allocate more we should fail gracefully:
        HDummyInt myInt = f.allocate_through_init(4);
        BOOST_REQUIRE(!myInt);

        // This should hold always:
        BOOST_REQUIRE_EQUAL(f.unused_count() + f.inuse_count(), f.capacity());
        BOOST_REQUIRE_EQUAL(f.inuse_count(), testArray[testIdx].max_size);
        BOOST_REQUIRE_EQUAL(f.capacity(), testArray[testIdx].max_size);
        BOOST_REQUIRE(!f.empty());
        BOOST_REQUIRE(f.enlarge_steps_done() > 0);

        helper_container.clear();
        f.clear();

        f.check();

        BOOST_REQUIRE_EQUAL(f.inuse_count(), 0);
        BOOST_REQUIRE_EQUAL(f.capacity(), 0);
        BOOST_REQUIRE(f.empty());
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x980, %rsp            # imm = 0x980
movq 0xec486(%rip), %rax     # 0x11f9e8
movq %rax, -0x768(%rbp)
leaq 0x91371(%rip), %rsi     # 0xc48e1
leaq -0x30(%rbp), %rdi
movq %rdi, -0x770(%rbp)
movl $0x14, %edx
callq 0x4cbe0
movq -0x770(%rbp), %rsi
leaq -0x20(%rbp), %rdi
movq %rdi, -0x760(%rbp)
movl $0x102, %edx            # imm = 0x102
callq 0x50ea0
movq -0x768(%rbp), %rdi
movq -0x760(%rbp), %rsi
callq 0x1d4c0
movq %rax, %rsi
leaq -0x1(%rbp), %rdi
movl $0x2, %edx
callq 0x1d630
callq 0x50f60
movq %rax, -0x758(%rbp)
jmp 0x335d3
movq -0x758(%rbp), %rsi
leaq 0x91520(%rip), %rdx     # 0xc4b01
leaq -0x50(%rbp), %rdi
callq 0x5d3b0
jmp 0x335ec
leaq -0x1(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1d670
jmp 0x335fb
leaq -0x50(%rbp), %rdi
callq 0x5d3f0
leaq -0x1(%rbp), %rdi
callq 0x28760
leaq -0x90(%rbp), %rdi
leaq 0x8ebf5(%rip), %rsi     # 0xc2210
movl $0x30, %edx
callq 0x104f0
movl $0x0, -0x94(%rbp)
movslq -0x94(%rbp), %rax
cmpq $0x4, %rax
jae 0x34f1f
movq 0xec3a1(%rip), %rax     # 0x11f9e8
movq %rax, -0x788(%rbp)
leaq 0x9128c(%rip), %rsi     # 0xc48e1
leaq -0xc0(%rbp), %rdi
movq %rdi, -0x790(%rbp)
movl $0x14, %edx
callq 0x4cbe0
movq -0x790(%rbp), %rsi
leaq -0xb0(%rbp), %rdi
movq %rdi, -0x780(%rbp)
movl $0x110, %edx            # imm = 0x110
callq 0x50ea0
movq -0x788(%rbp), %rdi
movq -0x780(%rbp), %rsi
callq 0x1d4c0
movq %rax, %rsi
leaq -0x95(%rbp), %rdi
movl $0x2, %edx
callq 0x1d630
callq 0x50f60
movq %rax, -0x778(%rbp)
jmp 0x336c1
leaq -0x121(%rbp), %rdi
movq %rdi, -0x798(%rbp)
callq 0x10ac0
movq -0x798(%rbp), %rdx
leaq 0x91258(%rip), %rsi     # 0xc493a
leaq -0x120(%rbp), %rdi
callq 0x108c0
jmp 0x336f0
movl -0x94(%rbp), %esi
leaq -0x148(%rbp), %rdi
callq 0x5d450
jmp 0x33704
leaq -0x100(%rbp), %rdi
leaq -0x120(%rbp), %rsi
leaq -0x148(%rbp), %rdx
callq 0x4ca60
jmp 0x33720
movq -0x778(%rbp), %rsi
leaq -0xe0(%rbp), %rdi
leaq -0x100(%rbp), %rdx
callq 0x5d410
jmp 0x3373c
leaq -0x95(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x1d670
jmp 0x33751
leaq -0xe0(%rbp), %rdi
callq 0x5d570
leaq -0x100(%rbp), %rdi
callq 0x10c38
leaq -0x148(%rbp), %rdi
callq 0x10c38
leaq -0x120(%rbp), %rdi
callq 0x10c38
leaq -0x121(%rbp), %rdi
callq 0x106b0
leaq -0x95(%rbp), %rdi
callq 0x28760
movslq -0x94(%rbp), %rax
leaq (%rax,%rax,2), %rax
movl -0x90(%rbp,%rax,4), %edx
movl -0x8c(%rbp,%rax,4), %ecx
movq %rdx, -0x7c0(%rbp)
movq %rcx, -0x7b8(%rbp)
movl -0x88(%rbp,%rax,4), %eax
movq %rax, -0x7b0(%rbp)
xorl %eax, %eax
movl %eax, -0x7a4(%rbp)
movl %eax, %esi
leaq -0x178(%rbp), %rdi
movq %rdi, -0x7a0(%rbp)
callq 0x5d590
movq -0x7c0(%rbp), %rsi
movq -0x7b8(%rbp), %rdx
movq -0x7b0(%rbp), %rcx
movl -0x7a4(%rbp), %r8d
movq -0x7a0(%rbp), %r9
leaq -0x158(%rbp), %rdi
callq 0x5d5d0
jmp 0x3381c
leaq -0x178(%rbp), %rdi
callq 0x5d6c0
leaq -0x190(%rbp), %rdi
callq 0x5e5f0
movq 0xec1ad(%rip), %rax     # 0x11f9e8
movq %rax, -0x7c8(%rbp)
leaq 0x91098(%rip), %rsi     # 0xc48e1
leaq -0x1a0(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x3385c
leaq -0x1b0(%rbp), %rdi
callq 0x4ecc0
jmp 0x3386a
movq -0x7c8(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
movl $0x116, %edx            # imm = 0x116
leaq -0x1b0(%rbp), %rcx
callq 0x294a0
jmp 0x3388b
leaq -0x158(%rbp), %rdi
callq 0x5ea50
movb %al, -0x7c9(%rbp)
jmp 0x3389f
movb -0x7c9(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x1c8(%rbp), %rdi
callq 0x56ea0
jmp 0x338b9
callq 0x50f60
movq %rax, -0x7d8(%rbp)
jmp 0x338c7
leaq 0x91277(%rip), %rsi     # 0xc4b45
leaq -0x1f8(%rbp), %rdi
movl $0xe, %edx
callq 0x4cbe0
jmp 0x338e1
movq -0x7d8(%rbp), %rsi
leaq -0x1e8(%rbp), %rdi
leaq -0x1f8(%rbp), %rdx
callq 0x5d730
jmp 0x338fd
leaq 0x90fdd(%rip), %rsi     # 0xc48e1
leaq -0x208(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x33917
movq %rsp, %rax
movq $0x0, (%rax)
xorl %r9d, %r9d
movb %r9b, %al
leaq -0x1c8(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
leaq -0x208(%rbp), %rdx
movl $0x116, %ecx            # imm = 0x116
movl $0x2, %r8d
callq 0x22f50
jmp 0x3394e
leaq -0x1e8(%rbp), %rdi
callq 0x5d770
leaq -0x1c8(%rbp), %rdi
callq 0x56fc0
callq 0x5d790
movb %al, -0x7d9(%rbp)
jmp 0x33973
movb -0x7d9(%rbp), %al
testb $0x1, %al
jne 0x33834
jmp 0x33983
jmp 0x33985
movq 0xec05c(%rip), %rax     # 0x11f9e8
movq %rax, -0x7e8(%rbp)
leaq 0x90f47(%rip), %rsi     # 0xc48e1
leaq -0x218(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x339ad
leaq -0x228(%rbp), %rdi
callq 0x4ecc0
jmp 0x339bb
movq -0x7e8(%rbp), %rdi
leaq -0x218(%rbp), %rsi
movl $0x117, %edx            # imm = 0x117
leaq -0x228(%rbp), %rcx
callq 0x294a0
jmp 0x339dc
callq 0x50f60
movq %rax, -0x7f0(%rbp)
jmp 0x339ea
movq -0x7f0(%rbp), %rsi
leaq 0x90555(%rip), %rdx     # 0xc3f4d
leaq -0x250(%rbp), %rdi
callq 0x5dee0
jmp 0x33a06
leaq 0x90ed4(%rip), %rsi     # 0xc48e1
leaq -0x260(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x33a20
leaq -0x158(%rbp), %rdi
callq 0x5eaa0
movq %rax, -0x7f8(%rbp)
jmp 0x33a35
movq -0x7f8(%rbp), %rax
movq %rax, -0x268(%rbp)
movslq -0x94(%rbp), %rax
leaq (%rax,%rax,2), %rax
leaq -0x88(%rbp,%rax,4), %rcx
leaq 0x91104(%rip), %rdx     # 0xc4b61
movq %rsp, %rax
movq %rdx, 0x10(%rax)
movq %rcx, 0x8(%rax)
leaq 0x910e5(%rip), %rcx     # 0xc4b54
movq %rcx, (%rax)
leaq -0x250(%rbp), %rdi
leaq -0x260(%rbp), %rsi
movl $0x117, %edx            # imm = 0x117
movl $0x2, %r8d
leaq -0x268(%rbp), %r9
movl %r8d, %ecx
callq 0x5e7b0
jmp 0x33a9c
leaq -0x250(%rbp), %rdi
callq 0x5e010
callq 0x5d790
movb %al, -0x7f9(%rbp)
jmp 0x33ab5
movb -0x7f9(%rbp), %al
testb $0x1, %al
jne 0x33985
jmp 0x33ac5
movl $0x0, -0x26c(%rbp)
movl -0x26c(%rbp), %eax
movslq -0x94(%rbp), %rdx
leaq -0x90(%rbp), %rcx
imulq $0xc, %rdx, %rdx
addq %rdx, %rcx
cmpl (%rcx), %eax
jae 0x33d03
movl $0x3, -0x27c(%rbp)
leaq -0x278(%rbp), %rdi
leaq -0x158(%rbp), %rsi
leaq -0x27c(%rbp), %rdx
callq 0x5e610
jmp 0x33b18
leaq -0x278(%rbp), %rdi
callq 0x5d910
testb $0x1, %al
jne 0x33b2a
jmp 0x33b2f
jmp 0x33ca3
leaq 0x90f8e(%rip), %rdi     # 0xc4ac4
leaq 0x90da4(%rip), %rsi     # 0xc48e1
movl $0x11b, %edx            # imm = 0x11B
leaq 0x91034(%rip), %rcx     # 0xc4b7d
callq 0x103d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x33b71
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5d3f0
leaq -0x1(%rbp), %rdi
callq 0x28760
jmp 0x34f28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x33c10
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x33c04
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x33bf8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x33bec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x33be0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x5d570
leaq -0x100(%rbp), %rdi
callq 0x10c38
leaq -0x148(%rbp), %rdi
callq 0x10c38
leaq -0x120(%rbp), %rdi
callq 0x10c38
leaq -0x121(%rbp), %rdi
callq 0x106b0
leaq -0x95(%rbp), %rdi
callq 0x28760
jmp 0x34f28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x178(%rbp), %rdi
callq 0x5d6c0
jmp 0x34f28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x34f05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x33c75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x1e8(%rbp), %rdi
callq 0x5d770
leaq -0x1c8(%rbp), %rdi
callq 0x56fc0
jmp 0x34f05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x250(%rbp), %rdi
callq 0x5e010
jmp 0x34f05
leaq -0x190(%rbp), %rdi
leaq -0x278(%rbp), %rsi
callq 0x5e720
jmp 0x33cb8
leaq -0x158(%rbp), %rdi
callq 0x5d7a0
jmp 0x33cc6
leaq -0x278(%rbp), %rdi
callq 0x5dc30
movl -0x26c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x26c(%rbp)
jmp 0x33acf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x278(%rbp), %rdi
callq 0x5dc30
jmp 0x34f05
movslq -0x94(%rbp), %rcx
leaq -0x90(%rbp), %rax
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movl 0x4(%rax), %eax
movq %rax, -0x288(%rbp)
movslq -0x94(%rbp), %rcx
leaq -0x90(%rbp), %rax
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %eax
movslq -0x94(%rbp), %rdx
leaq -0x90(%rbp), %rcx
imulq $0xc, %rdx, %rdx
addq %rdx, %rcx
addl 0x4(%rcx), %eax
movslq -0x94(%rbp), %rdx
leaq -0x90(%rbp), %rcx
imulq $0xc, %rdx, %rdx
addq %rdx, %rcx
cmpl 0x8(%rcx), %eax
jbe 0x33da3
movslq -0x94(%rbp), %rcx
leaq -0x90(%rbp), %rax
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movl 0x8(%rax), %eax
movslq -0x94(%rbp), %rdx
leaq -0x90(%rbp), %rcx
imulq $0xc, %rdx, %rdx
addq %rdx, %rcx
subl (%rcx), %eax
movl %eax, %eax
movq %rax, -0x288(%rbp)
jmp 0x33da5
movq 0xebc3c(%rip), %rax     # 0x11f9e8
movq %rax, -0x808(%rbp)
leaq 0x90b27(%rip), %rsi     # 0xc48e1
leaq -0x298(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x33dcd
leaq -0x2a8(%rbp), %rdi
callq 0x4ecc0
jmp 0x33ddb
movq -0x808(%rbp), %rdi
leaq -0x298(%rbp), %rsi
movl $0x127, %edx            # imm = 0x127
leaq -0x2a8(%rbp), %rcx
callq 0x294a0
jmp 0x33dfc
callq 0x50f60
movq %rax, -0x810(%rbp)
jmp 0x33e0a
movq -0x810(%rbp), %rsi
leaq 0x90135(%rip), %rdx     # 0xc3f4d
leaq -0x2d0(%rbp), %rdi
callq 0x5dee0
jmp 0x33e26
leaq 0x90ab4(%rip), %rsi     # 0xc48e1
leaq -0x2e0(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x33e40
leaq -0x158(%rbp), %rdi
callq 0x5df20
movq %rax, -0x818(%rbp)
jmp 0x33e55
movq -0x818(%rbp), %rax
movq %rax, -0x2e8(%rbp)
leaq 0x90d2f(%rip), %rcx     # 0xc4b99
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x288(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x90bd2(%rip), %rcx     # 0xc4a55
movq %rcx, (%rax)
leaq -0x2d0(%rbp), %rdi
leaq -0x2e0(%rbp), %rsi
movl $0x127, %edx            # imm = 0x127
movl $0x2, %r8d
leaq -0x2e8(%rbp), %r9
movl %r8d, %ecx
callq 0x5dcc0
jmp 0x33eb0
leaq -0x2d0(%rbp), %rdi
callq 0x5e010
callq 0x5d790
movb %al, -0x819(%rbp)
jmp 0x33ec9
movb -0x819(%rbp), %al
testb $0x1, %al
jne 0x33da5
jmp 0x33ed9
movslq -0x94(%rbp), %rcx
leaq -0x90(%rbp), %rax
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %eax
movl %eax, -0x2ec(%rbp)
movl -0x2ec(%rbp), %eax
movslq -0x94(%rbp), %rdx
leaq -0x90(%rbp), %rcx
imulq $0xc, %rdx, %rdx
addq %rdx, %rcx
cmpl 0x8(%rcx), %eax
jae 0x33ff0
movl $0x3, -0x2fc(%rbp)
leaq -0x2f8(%rbp), %rdi
leaq -0x158(%rbp), %rsi
leaq -0x2fc(%rbp), %rdx
callq 0x5e610
jmp 0x33f40
leaq -0x2f8(%rbp), %rdi
callq 0x5d910
testb $0x1, %al
jne 0x33f52
jmp 0x33f54
jmp 0x33f90
leaq 0x90b69(%rip), %rdi     # 0xc4ac4
leaq 0x9097f(%rip), %rsi     # 0xc48e1
movl $0x12b, %edx            # imm = 0x12B
leaq 0x90c0f(%rip), %rcx     # 0xc4b7d
callq 0x103d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x2d0(%rbp), %rdi
callq 0x5e010
jmp 0x34f05
leaq -0x190(%rbp), %rdi
leaq -0x2f8(%rbp), %rsi
callq 0x5e720
jmp 0x33fa5
leaq -0x158(%rbp), %rdi
callq 0x5d7a0
jmp 0x33fb3
leaq -0x2f8(%rbp), %rdi
callq 0x5dc30
movl -0x2ec(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2ec(%rbp)
jmp 0x33ef6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x2f8(%rbp), %rdi
callq 0x5dc30
jmp 0x34f05
jmp 0x33ff2
movq 0xeb9ef(%rip), %rax     # 0x11f9e8
movq %rax, -0x828(%rbp)
leaq 0x908da(%rip), %rsi     # 0xc48e1
leaq -0x310(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x3401a
leaq -0x320(%rbp), %rdi
callq 0x4ecc0
jmp 0x34028
movq -0x828(%rbp), %rdi
leaq -0x310(%rbp), %rsi
movl $0x131, %edx            # imm = 0x131
leaq -0x320(%rbp), %rcx
callq 0x294a0
jmp 0x34049
callq 0x50f60
movq %rax, -0x830(%rbp)
jmp 0x34057
movq -0x830(%rbp), %rsi
leaq 0x8fee8(%rip), %rdx     # 0xc3f4d
leaq -0x348(%rbp), %rdi
callq 0x5dee0
jmp 0x34073
leaq 0x90867(%rip), %rsi     # 0xc48e1
leaq -0x358(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x3408d
leaq -0x158(%rbp), %rdi
callq 0x5df20
movq %rax, -0x838(%rbp)
jmp 0x340a2
movq -0x838(%rbp), %rax
movq %rax, -0x360(%rbp)
movl $0x0, -0x364(%rbp)
leaq 0x95721(%rip), %rcx     # 0xc97e2
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x364(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x9097b(%rip), %rcx     # 0xc4a55
movq %rcx, (%rax)
leaq -0x348(%rbp), %rdi
leaq -0x358(%rbp), %rsi
movl $0x131, %edx            # imm = 0x131
movl $0x2, %r8d
leaq -0x360(%rbp), %r9
movl %r8d, %ecx
callq 0x5e2e0
jmp 0x34107
leaq -0x348(%rbp), %rdi
callq 0x5e010
callq 0x5d790
movb %al, -0x839(%rbp)
jmp 0x34120
movb -0x839(%rbp), %al
testb $0x1, %al
jne 0x33ff2
jmp 0x34130
movl $0x4, -0x374(%rbp)
leaq -0x370(%rbp), %rdi
leaq -0x158(%rbp), %rsi
leaq -0x374(%rbp), %rdx
callq 0x5e610
jmp 0x34156
jmp 0x34158
movq 0xeb889(%rip), %rax     # 0x11f9e8
movq %rax, -0x848(%rbp)
leaq 0x90774(%rip), %rsi     # 0xc48e1
leaq -0x388(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x34180
leaq -0x398(%rbp), %rdi
callq 0x4ecc0
jmp 0x3418e
movq -0x848(%rbp), %rdi
leaq -0x388(%rbp), %rsi
movl $0x135, %edx            # imm = 0x135
leaq -0x398(%rbp), %rcx
callq 0x294a0
jmp 0x341af
leaq -0x370(%rbp), %rdi
callq 0x5e790
movzbl %al, %esi
leaq -0x3b0(%rbp), %rdi
callq 0x56ea0
jmp 0x341cc
callq 0x50f60
movq %rax, -0x850(%rbp)
jmp 0x341da
leaq 0x908e2(%rip), %rsi     # 0xc4ac3
leaq -0x3e0(%rbp), %rdi
movl $0x6, %edx
callq 0x4cbe0
jmp 0x341f4
movq -0x850(%rbp), %rsi
leaq -0x3d0(%rbp), %rdi
leaq -0x3e0(%rbp), %rdx
callq 0x5d730
jmp 0x34210
leaq 0x906ca(%rip), %rsi     # 0xc48e1
leaq -0x3f0(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x3422a
movq %rsp, %rax
movq $0x0, (%rax)
xorl %r9d, %r9d
movb %r9b, %al
leaq -0x3b0(%rbp), %rdi
leaq -0x3d0(%rbp), %rsi
leaq -0x3f0(%rbp), %rdx
movl $0x135, %ecx            # imm = 0x135
movl $0x2, %r8d
callq 0x22f50
jmp 0x34261
leaq -0x3d0(%rbp), %rdi
callq 0x5d770
leaq -0x3b0(%rbp), %rdi
callq 0x56fc0
callq 0x5d790
movb %al, -0x851(%rbp)
jmp 0x34286
movb -0x851(%rbp), %al
testb $0x1, %al
jne 0x34158
jmp 0x34296
jmp 0x34298
movq 0xeb749(%rip), %rax     # 0x11f9e8
movq %rax, -0x860(%rbp)
leaq 0x90634(%rip), %rsi     # 0xc48e1
leaq -0x400(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x342c0
leaq -0x410(%rbp), %rdi
callq 0x4ecc0
jmp 0x342ce
movq -0x860(%rbp), %rdi
leaq -0x400(%rbp), %rsi
movl $0x138, %edx            # imm = 0x138
leaq -0x410(%rbp), %rcx
callq 0x294a0
jmp 0x342ef
callq 0x50f60
movq %rax, -0x868(%rbp)
jmp 0x342fd
movq -0x868(%rbp), %rsi
leaq 0x8fc42(%rip), %rdx     # 0xc3f4d
leaq -0x438(%rbp), %rdi
callq 0x5dee0
jmp 0x34319
leaq 0x905c1(%rip), %rsi     # 0xc48e1
leaq -0x448(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x34333
leaq -0x158(%rbp), %rdi
callq 0x5df20
movq %rax, -0x870(%rbp)
jmp 0x34348
leaq -0x158(%rbp), %rdi
callq 0x5df70
movq %rax, -0x878(%rbp)
jmp 0x3435d
movq -0x878(%rbp), %rcx
movq -0x870(%rbp), %rax
addq %rcx, %rax
movq %rax, -0x450(%rbp)
leaq -0x158(%rbp), %rdi
callq 0x5dfc0
movq %rax, -0x880(%rbp)
jmp 0x3438a
movq -0x880(%rbp), %rax
movq %rax, -0x458(%rbp)
leaq 0x90627(%rip), %rcx     # 0xc49c6
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x458(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x905eb(%rip), %rcx     # 0xc49a3
movq %rcx, (%rax)
leaq -0x438(%rbp), %rdi
leaq -0x448(%rbp), %rsi
movl $0x138, %edx            # imm = 0x138
movl $0x2, %r8d
leaq -0x450(%rbp), %r9
movl %r8d, %ecx
callq 0x5dcc0
jmp 0x343e5
leaq -0x438(%rbp), %rdi
callq 0x5e010
callq 0x5d790
movb %al, -0x881(%rbp)
jmp 0x343fe
movb -0x881(%rbp), %al
testb $0x1, %al
jne 0x34298
jmp 0x3440e
jmp 0x34410
movq 0xeb5d1(%rip), %rax     # 0x11f9e8
movq %rax, -0x890(%rbp)
leaq 0x904bc(%rip), %rsi     # 0xc48e1
leaq -0x468(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x34438
leaq -0x478(%rbp), %rdi
callq 0x4ecc0
jmp 0x34446
movq -0x890(%rbp), %rdi
leaq -0x468(%rbp), %rsi
movl $0x139, %edx            # imm = 0x139
leaq -0x478(%rbp), %rcx
callq 0x294a0
jmp 0x34467
callq 0x50f60
movq %rax, -0x898(%rbp)
jmp 0x34475
movq -0x898(%rbp), %rsi
leaq 0x8faca(%rip), %rdx     # 0xc3f4d
leaq -0x4a0(%rbp), %rdi
callq 0x5dee0
jmp 0x34491
leaq 0x90449(%rip), %rsi     # 0xc48e1
leaq -0x4b0(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x344ab
leaq -0x158(%rbp), %rdi
callq 0x5df70
movq %rax, -0x8a0(%rbp)
jmp 0x344c0
movq -0x8a0(%rbp), %rax
movq %rax, -0x4b8(%rbp)
movslq -0x94(%rbp), %rax
leaq (%rax,%rax,2), %rax
leaq -0x88(%rbp,%rax,4), %rcx
leaq 0x90679(%rip), %rdx     # 0xc4b61
movq %rsp, %rax
movq %rdx, 0x10(%rax)
movq %rcx, 0x8(%rax)
leaq 0x904bc(%rip), %rcx     # 0xc49b6
movq %rcx, (%rax)
leaq -0x4a0(%rbp), %rdi
leaq -0x4b0(%rbp), %rsi
movl $0x139, %edx            # imm = 0x139
movl $0x2, %r8d
leaq -0x4b8(%rbp), %r9
movl %r8d, %ecx
callq 0x5e7b0
jmp 0x34527
leaq -0x4a0(%rbp), %rdi
callq 0x5e010
callq 0x5d790
movb %al, -0x8a1(%rbp)
jmp 0x34540
movb -0x8a1(%rbp), %al
testb $0x1, %al
jne 0x34410
jmp 0x34550
jmp 0x34552
movq 0xeb48f(%rip), %rax     # 0x11f9e8
movq %rax, -0x8b0(%rbp)
leaq 0x9037a(%rip), %rsi     # 0xc48e1
leaq -0x4c8(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x3457a
leaq -0x4d8(%rbp), %rdi
callq 0x4ecc0
jmp 0x34588
movq -0x8b0(%rbp), %rdi
leaq -0x4c8(%rbp), %rsi
movl $0x13a, %edx            # imm = 0x13A
leaq -0x4d8(%rbp), %rcx
callq 0x294a0
jmp 0x345a9
callq 0x50f60
movq %rax, -0x8b8(%rbp)
jmp 0x345b7
movq -0x8b8(%rbp), %rsi
leaq 0x8f988(%rip), %rdx     # 0xc3f4d
leaq -0x500(%rbp), %rdi
callq 0x5dee0
jmp 0x345d3
leaq 0x90307(%rip), %rsi     # 0xc48e1
leaq -0x510(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x345ed
leaq -0x158(%rbp), %rdi
callq 0x5dfc0
movq %rax, -0x8c0(%rbp)
jmp 0x34602
movq -0x8c0(%rbp), %rax
movq %rax, -0x518(%rbp)
movslq -0x94(%rbp), %rax
leaq (%rax,%rax,2), %rax
leaq -0x88(%rbp,%rax,4), %rcx
leaq 0x90537(%rip), %rdx     # 0xc4b61
movq %rsp, %rax
movq %rdx, 0x10(%rax)
movq %rcx, 0x8(%rax)
leaq 0x9038a(%rip), %rcx     # 0xc49c6
movq %rcx, (%rax)
leaq -0x500(%rbp), %rdi
leaq -0x510(%rbp), %rsi
movl $0x13a, %edx            # imm = 0x13A
movl $0x2, %r8d
leaq -0x518(%rbp), %r9
movl %r8d, %ecx
callq 0x5e7b0
jmp 0x34669
leaq -0x500(%rbp), %rdi
callq 0x5e010
callq 0x5d790
movb %al, -0x8c1(%rbp)
jmp 0x34682
movb -0x8c1(%rbp), %al
testb $0x1, %al
jne 0x34552
jmp 0x34692
jmp 0x34694
movq 0xeb34d(%rip), %rax     # 0x11f9e8
movq %rax, -0x8d0(%rbp)
leaq 0x90238(%rip), %rsi     # 0xc48e1
leaq -0x528(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x346bc
leaq -0x538(%rbp), %rdi
callq 0x4ecc0
jmp 0x346ca
movq -0x8d0(%rbp), %rdi
leaq -0x528(%rbp), %rsi
movl $0x13b, %edx            # imm = 0x13B
leaq -0x538(%rbp), %rcx
callq 0x294a0
jmp 0x346eb
leaq -0x158(%rbp), %rdi
callq 0x5e030
movb %al, -0x8d1(%rbp)
jmp 0x346ff
movb -0x8d1(%rbp), %al
notb %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x550(%rbp), %rdi
callq 0x56ea0
jmp 0x3471b
callq 0x50f60
movq %rax, -0x8e0(%rbp)
jmp 0x34729
leaq 0x902ea(%rip), %rsi     # 0xc4a1a
leaq -0x580(%rbp), %rdi
movl $0xa, %edx
callq 0x4cbe0
jmp 0x34743
movq -0x8e0(%rbp), %rsi
leaq -0x570(%rbp), %rdi
leaq -0x580(%rbp), %rdx
callq 0x5d730
jmp 0x3475f
leaq 0x9017b(%rip), %rsi     # 0xc48e1
leaq -0x590(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x34779
movq %rsp, %rax
movq $0x0, (%rax)
xorl %r9d, %r9d
movb %r9b, %al
leaq -0x550(%rbp), %rdi
leaq -0x570(%rbp), %rsi
leaq -0x590(%rbp), %rdx
movl $0x13b, %ecx            # imm = 0x13B
movl $0x2, %r8d
callq 0x22f50
jmp 0x347b0
leaq -0x570(%rbp), %rdi
callq 0x5d770
leaq -0x550(%rbp), %rdi
callq 0x56fc0
callq 0x5d790
movb %al, -0x8e1(%rbp)
jmp 0x347d5
movb -0x8e1(%rbp), %al
testb $0x1, %al
jne 0x34694
jmp 0x347e5
jmp 0x347e7
movq 0xeb1fa(%rip), %rax     # 0x11f9e8
movq %rax, -0x8f0(%rbp)
leaq 0x900e5(%rip), %rsi     # 0xc48e1
leaq -0x5a0(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x3480f
leaq -0x5b0(%rbp), %rdi
callq 0x4ecc0
jmp 0x3481d
movq -0x8f0(%rbp), %rdi
leaq -0x5a0(%rbp), %rsi
movl $0x13c, %edx            # imm = 0x13C
leaq -0x5b0(%rbp), %rcx
callq 0x294a0
jmp 0x3483e
leaq -0x158(%rbp), %rdi
callq 0x5e080
movq %rax, -0x8f8(%rbp)
jmp 0x34853
movq -0x8f8(%rbp), %rax
testq %rax, %rax
setne %al
movzbl %al, %esi
leaq -0x5c8(%rbp), %rdi
callq 0x56ea0
jmp 0x34871
callq 0x50f60
movq %rax, -0x900(%rbp)
jmp 0x3487f
leaq 0x901b4(%rip), %rsi     # 0xc4a3a
leaq -0x5f8(%rbp), %rdi
movl $0x1a, %edx
callq 0x4cbe0
jmp 0x34899
movq -0x900(%rbp), %rsi
leaq -0x5e8(%rbp), %rdi
leaq -0x5f8(%rbp), %rdx
callq 0x5d730
jmp 0x348b5
leaq 0x90025(%rip), %rsi     # 0xc48e1
leaq -0x608(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x348cf
movq %rsp, %rax
movq $0x0, (%rax)
xorl %r9d, %r9d
movb %r9b, %al
leaq -0x5c8(%rbp), %rdi
leaq -0x5e8(%rbp), %rsi
leaq -0x608(%rbp), %rdx
movl $0x13c, %ecx            # imm = 0x13C
movl $0x2, %r8d
callq 0x22f50
jmp 0x34906
leaq -0x5e8(%rbp), %rdi
callq 0x5d770
leaq -0x5c8(%rbp), %rdi
callq 0x56fc0
callq 0x5d790
movb %al, -0x901(%rbp)
jmp 0x3492b
movb -0x901(%rbp), %al
testb $0x1, %al
jne 0x347e7
jmp 0x3493b
leaq -0x190(%rbp), %rdi
callq 0x5e9d0
leaq -0x158(%rbp), %rdi
callq 0x5e0f0
jmp 0x34955
leaq -0x158(%rbp), %rdi
callq 0x5d7a0
jmp 0x34963
jmp 0x34965
movq 0xeb07c(%rip), %rax     # 0x11f9e8
movq %rax, -0x910(%rbp)
leaq 0x8ff67(%rip), %rsi     # 0xc48e1
leaq -0x618(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x3498d
leaq -0x628(%rbp), %rdi
callq 0x4ecc0
jmp 0x3499b
movq -0x910(%rbp), %rdi
leaq -0x618(%rbp), %rsi
movl $0x143, %edx            # imm = 0x143
leaq -0x628(%rbp), %rcx
callq 0x294a0
jmp 0x349bc
callq 0x50f60
movq %rax, -0x918(%rbp)
jmp 0x349ca
movq -0x918(%rbp), %rsi
leaq 0x8f575(%rip), %rdx     # 0xc3f4d
leaq -0x650(%rbp), %rdi
callq 0x5dee0
jmp 0x349e6
leaq 0x8fef4(%rip), %rsi     # 0xc48e1
leaq -0x660(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x34a00
leaq -0x158(%rbp), %rdi
callq 0x5df70
movq %rax, -0x920(%rbp)
jmp 0x34a15
movq -0x920(%rbp), %rax
movq %rax, -0x668(%rbp)
movl $0x0, -0x66c(%rbp)
leaq 0x94dae(%rip), %rcx     # 0xc97e2
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x66c(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x8ff69(%rip), %rcx     # 0xc49b6
movq %rcx, (%rax)
leaq -0x650(%rbp), %rdi
leaq -0x660(%rbp), %rsi
movl $0x143, %edx            # imm = 0x143
movl $0x2, %r8d
leaq -0x668(%rbp), %r9
movl %r8d, %ecx
callq 0x5e2e0
jmp 0x34a7a
leaq -0x650(%rbp), %rdi
callq 0x5e010
callq 0x5d790
movb %al, -0x921(%rbp)
jmp 0x34a93
movb -0x921(%rbp), %al
testb $0x1, %al
jne 0x34965
jmp 0x34aa3
jmp 0x34aa5
movq 0xeaf3c(%rip), %rax     # 0x11f9e8
movq %rax, -0x930(%rbp)
leaq 0x8fe27(%rip), %rsi     # 0xc48e1
leaq -0x680(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x34acd
leaq -0x690(%rbp), %rdi
callq 0x4ecc0
jmp 0x34adb
movq -0x930(%rbp), %rdi
leaq -0x680(%rbp), %rsi
movl $0x144, %edx            # imm = 0x144
leaq -0x690(%rbp), %rcx
callq 0x294a0
jmp 0x34afc
callq 0x50f60
movq %rax, -0x938(%rbp)
jmp 0x34b0a
movq -0x938(%rbp), %rsi
leaq 0x8f435(%rip), %rdx     # 0xc3f4d
leaq -0x6b8(%rbp), %rdi
callq 0x5dee0
jmp 0x34b26
leaq 0x8fdb4(%rip), %rsi     # 0xc48e1
leaq -0x6c8(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x34b40
leaq -0x158(%rbp), %rdi
callq 0x5dfc0
movq %rax, -0x940(%rbp)
jmp 0x34b55
movq -0x940(%rbp), %rax
movq %rax, -0x6d0(%rbp)
movl $0x0, -0x6d4(%rbp)
leaq 0x94c6e(%rip), %rcx     # 0xc97e2
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x6d4(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x8fe39(%rip), %rcx     # 0xc49c6
movq %rcx, (%rax)
leaq -0x6b8(%rbp), %rdi
leaq -0x6c8(%rbp), %rsi
movl $0x144, %edx            # imm = 0x144
movl $0x2, %r8d
leaq -0x6d0(%rbp), %r9
movl %r8d, %ecx
callq 0x5e2e0
jmp 0x34bba
leaq -0x6b8(%rbp), %rdi
callq 0x5e010
callq 0x5d790
movb %al, -0x941(%rbp)
jmp 0x34bd3
movb -0x941(%rbp), %al
testb $0x1, %al
jne 0x34aa5
jmp 0x34be3
jmp 0x34be5
movq 0xeadfc(%rip), %rax     # 0x11f9e8
movq %rax, -0x950(%rbp)
leaq 0x8fce7(%rip), %rsi     # 0xc48e1
leaq -0x6e8(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x34c0d
leaq -0x6f8(%rbp), %rdi
callq 0x4ecc0
jmp 0x34c1b
movq -0x950(%rbp), %rdi
leaq -0x6e8(%rbp), %rsi
movl $0x145, %edx            # imm = 0x145
leaq -0x6f8(%rbp), %rcx
callq 0x294a0
jmp 0x34c3c
leaq -0x158(%rbp), %rdi
callq 0x5e030
movb %al, -0x951(%rbp)
jmp 0x34c50
movb -0x951(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x710(%rbp), %rdi
callq 0x56ea0
jmp 0x34c6a
callq 0x50f60
movq %rax, -0x960(%rbp)
jmp 0x34c78
leaq 0x8fd9c(%rip), %rsi     # 0xc4a1b
leaq -0x740(%rbp), %rdi
movl $0x9, %edx
callq 0x4cbe0
jmp 0x34c92
movq -0x960(%rbp), %rsi
leaq -0x730(%rbp), %rdi
leaq -0x740(%rbp), %rdx
callq 0x5d730
jmp 0x34cae
leaq 0x8fc2c(%rip), %rsi     # 0xc48e1
leaq -0x750(%rbp), %rdi
movl $0x14, %edx
callq 0x4cbe0
jmp 0x34cc8
movq %rsp, %rax
movq $0x0, (%rax)
xorl %r9d, %r9d
movb %r9b, %al
leaq -0x710(%rbp), %rdi
leaq -0x730(%rbp), %rsi
leaq -0x750(%rbp), %rdx
movl $0x145, %ecx            # imm = 0x145
movl $0x2, %r8d
callq 0x22f50
jmp 0x34cff
leaq -0x730(%rbp), %rdi
callq 0x5d770
leaq -0x710(%rbp), %rdi
callq 0x56fc0
callq 0x5d790
movb %al, -0x961(%rbp)
jmp 0x34d24
movb -0x961(%rbp), %al
testb $0x1, %al
jne 0x34be5
jmp 0x34d34
leaq -0x370(%rbp), %rdi
callq 0x5dc30
leaq -0x190(%rbp), %rdi
callq 0x5e9f0
leaq -0x158(%rbp), %rdi
callq 0x5e520
movl -0x94(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x94(%rbp)
jmp 0x3362f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x348(%rbp), %rdi
callq 0x5e010
jmp 0x34f05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x34ef9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x34dc0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x3d0(%rbp), %rdi
callq 0x5d770
leaq -0x3b0(%rbp), %rdi
callq 0x56fc0
jmp 0x34ef9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x438(%rbp), %rdi
callq 0x5e010
jmp 0x34ef9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x4a0(%rbp), %rdi
callq 0x5e010
jmp 0x34ef9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x500(%rbp), %rdi
callq 0x5e010
jmp 0x34ef9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x34e4e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x570(%rbp), %rdi
callq 0x5d770
leaq -0x550(%rbp), %rdi
callq 0x56fc0
jmp 0x34ef9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x34e85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x5e8(%rbp), %rdi
callq 0x5d770
leaq -0x5c8(%rbp), %rdi
callq 0x56fc0
jmp 0x34ef9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x650(%rbp), %rdi
callq 0x5e010
jmp 0x34ef9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x6b8(%rbp), %rdi
callq 0x5e010
jmp 0x34ef9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x34eed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x730(%rbp), %rdi
callq 0x5d770
leaq -0x710(%rbp), %rdi
callq 0x56fc0
leaq -0x370(%rbp), %rdi
callq 0x5dc30
leaq -0x190(%rbp), %rdi
callq 0x5e9f0
leaq -0x158(%rbp), %rdi
callq 0x5e520
jmp 0x34f28
addq $0x980, %rsp            # imm = 0x980
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0x10aa0
nopw %cs:(%rax,%rax)