// File: /workspace/github_cpp_makefile_star2_O2/f18m[P]boost-intrusive-pool/tests/unit_tests.cpp
// Function: bounded_memory_pool()
void bounded_memory_pool()
{
    BOOST_TEST_MESSAGE("Starting boost_intrusive_pool<> tests when memory pool is bounded");

    struct {
        unsigned int initial_size;
    } testArray[] = {
        { 1 }, // force newline
        { 10 }, // force newline
        { 100000 }, // 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 */, 0 /* enlarge step */);
        std::vector<HDummyInt> helper_container;

        BOOST_REQUIRE(f.is_bounded());

        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();
        }

        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:
        //         m_free_count+m_inuse_count == m_total_count
        BOOST_REQUIRE_EQUAL(f.unused_count() + f.inuse_count(), f.capacity());
        BOOST_REQUIRE_EQUAL(f.inuse_count(), testArray[testIdx].initial_size);
        BOOST_REQUIRE_EQUAL(f.capacity(), testArray[testIdx].initial_size);
        BOOST_REQUIRE(!f.empty());
        BOOST_REQUIRE_EQUAL(f.enlarge_steps_done(), 1); // just the initial one

        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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x308, %rsp            # imm = 0x308
movq 0x5a1b9(%rip), %rdi     # 0x7f830
leaq 0x2d1af(%rip), %rax     # 0x5282d
leaq -0x310(%rbp), %rbx
movq %rax, (%rbx)
leaq 0x2d1b2(%rip), %rax     # 0x52841
movq %rax, 0x8(%rbx)
movq $0xcd, 0x10(%rbx)
movq %rbx, %rsi
callq 0x15faa
callq 0x1bc99
movl $0x2, 0x5c1ae(%rip)     # 0x81860
leaq -0x68(%rbp), %rdi
movb $0x1, (%rdi)
leaq -0x48(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0x59448(%rip), %rax     # 0x7eb10
addq $0x10, %rax
movq %rax, (%rsi)
leaq 0x5a30a(%rip), %rax     # 0x7f9e0
movq %rax, 0x10(%rsi)
leaq 0x2d2d1(%rip), %rax     # 0x529b2
movq %rax, 0x18(%rsi)
callq 0x160d8
leaq -0x68(%rbp), %r13
movq %r13, %rdi
callq 0x1bc7a
movabsq $0xa00000001, %rax      # imm = 0xA00000001
movq %rax, -0xd8(%rbp)
movl $0x186a0, -0xd0(%rbp)   # imm = 0x186A0
leaq 0x59200(%rip), %rax     # 0x7e918
addq $0x10, %rax
movq %rax, -0xe0(%rbp)
leaq -0x48(%rbp), %r15
leaq 0x592e2(%rip), %rax     # 0x7ea10
addq $0x10, %rax
movq %rax, -0xa0(%rbp)
leaq 0x59310(%rip), %rax     # 0x7ea50
addq $0x10, %rax
movq %rax, -0x88(%rbp)
xorl %r12d, %r12d
cmpq $0x3, %r12
je 0x26211
movq 0x5a0d1(%rip), %rdi     # 0x7f830
leaq 0x2d0c7(%rip), %rax     # 0x5282d
movq %rax, -0x80(%rbp)
leaq 0x2d0d0(%rip), %rax     # 0x52841
movq %rax, -0x78(%rbp)
movq $0xd8, -0x70(%rbp)
leaq -0x80(%rbp), %rsi
callq 0x15faa
callq 0x1bc99
movl $0x2, 0x5c0cb(%rip)     # 0x81860
movb $0x1, -0x98(%rbp)
movq %r13, %rdi
leaq 0x2d0e0(%rip), %rsi     # 0x52886
leaq -0x89(%rbp), %rdx
callq 0xf200
leaq -0xc0(%rbp), %r14
movq %r14, %rdi
movl %r12d, %esi
callq 0x322c6
movq %r12, -0xc8(%rbp)
movq %rbx, %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x2bff4
movb $0x0, -0x40(%rbp)
movq -0xe0(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x5a1f1(%rip), %rax     # 0x7f9e0
movq %rax, -0x38(%rbp)
movq %rbx, -0x30(%rbp)
leaq -0x98(%rbp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x160d8
movq %rbx, %r14
movq %rbx, %rdi
callq 0xf9d8
leaq -0xc0(%rbp), %rbx
movq %rbx, %rdi
callq 0xf9d8
movq %r13, %rdi
callq 0xf9d8
movq %r12, %rdi
callq 0x1bc7a
movq -0xc8(%rbp), %rax
movl -0xd8(%rbp,%rax,4), %esi
xorps %xmm0, %xmm0
movaps %xmm0, -0x330(%rbp)
movaps %xmm0, -0x320(%rbp)
movq %rbx, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
leaq -0x330(%rbp), %rbx
movq %rbx, %r9
callq 0x32326
movq %rbx, %rdi
callq 0x332be
xorps %xmm0, %xmm0
movaps %xmm0, -0x310(%rbp)
andq $0x0, -0x300(%rbp)
leaq 0x2cfa1(%rip), %rbx     # 0x5282d
movq %rbx, -0x2f0(%rbp)
leaq 0x2cfa7(%rip), %rax     # 0x52841
movq %rax, -0x2e8(%rbp)
leaq 0x35370(%rip), %rax     # 0x5ac18
movq %rax, -0x2e0(%rbp)
movq %rax, -0x2d8(%rbp)
movl $0xdd, %edx
leaq -0x2f0(%rbp), %rsi
leaq -0x2e0(%rbp), %rcx
callq 0x1c49e
leaq -0xc0(%rbp), %rdi
callq 0x323ba
movb %al, -0x68(%rbp)
leaq -0x68(%rbp), %r13
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r13)
leaq 0x2cfad(%rip), %rax     # 0x5289d
movq %rax, -0x80(%rbp)
leaq 0x2cfb0(%rip), %rax     # 0x528ab
movq %rax, -0x78(%rbp)
movb $0x0, -0x40(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x5a0cb(%rip), %rax     # 0x7f9e0
movq %rax, -0x38(%rbp)
leaq -0x80(%rbp), %rax
movq %rax, -0x30(%rbp)
movq %rbx, -0x2d0(%rbp)
leaq 0x2cf12(%rip), %rax     # 0x52841
movq %rax, -0x2c8(%rbp)
subq $0x8, %rsp
movl $0xdd, %ecx
movq %r13, %rdi
movq %r15, %rsi
leaq -0x2d0(%rbp), %rdx
pushq $0x2
popq %r8
xorl %r9d, %r9d
xorl %eax, %eax
pushq $0x0
callq 0x18e5c
popq %rcx
popq %rdx
movq -0xc8(%rbp), %rax
leaq -0xd8(,%rax,4), %rbx
addq %rbp, %rbx
leaq -0x58(%rbp), %rdi
callq 0x35d22
xorl %r12d, %r12d
cmpl (%rbx), %r12d
jae 0x259c9
movl $0x3, -0x68(%rbp)
movq %r15, %rdi
leaq -0xc0(%rbp), %rsi
movq %r13, %rdx
callq 0x329a8
cmpq $0x0, -0x48(%rbp)
je 0x26223
movq %r14, %rdi
movq %r15, %rsi
callq 0x32a36
leaq -0xc0(%rbp), %rdi
callq 0x323dc
movq %r15, %rdi
callq 0x32584
incl %r12d
jmp 0x2597c
leaq 0x2ce5d(%rip), %r12     # 0x5282d
movq %r12, -0x2c0(%rbp)
leaq 0x2ce63(%rip), %r13     # 0x52841
movq %r13, -0x2b8(%rbp)
leaq 0x3522c(%rip), %rax     # 0x5ac18
movq %rax, -0x2b0(%rbp)
movq %rax, -0x2a8(%rbp)
movl $0xe7, %edx
leaq -0x2c0(%rbp), %rsi
leaq -0x2b0(%rbp), %rcx
callq 0x1c49e
movb $0x0, -0x40(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x59fb8(%rip), %rax     # 0x7f9e0
movq %rax, -0x38(%rbp)
leaq 0x2c466(%rip), %rax     # 0x51e99
movq %rax, -0x30(%rbp)
movq %r12, -0x2a0(%rbp)
movq %r13, -0x298(%rbp)
leaq -0xc0(%rbp), %r13
movq %r13, %rdi
callq 0x326b0
movq %rax, -0x68(%rbp)
andl $0x0, -0x80(%rbp)
subq $0x8, %rsp
movl $0xe7, %edx
movq %r15, %rdi
leaq -0x2a0(%rbp), %rsi
pushq $0x2
popq %rcx
movl %ecx, %r8d
leaq -0x68(%rbp), %r9
leaq 0x31c7f(%rip), %rax     # 0x576ff
pushq %rax
leaq -0x80(%rbp), %rax
pushq %rax
leaq 0x2cf14(%rip), %rax     # 0x529a1
pushq %rax
callq 0x3286b
addq $0x20, %rsp
movl $0x4, -0x48(%rbp)
leaq -0x98(%rbp), %rdi
movq %r13, %rsi
movq %r15, %rdx
callq 0x329a8
movq %r12, -0x290(%rbp)
leaq 0x2cd83(%rip), %r13     # 0x52841
movq %r13, -0x288(%rbp)
leaq 0x3514c(%rip), %rax     # 0x5ac18
movq %rax, -0x280(%rbp)
movq %rax, -0x278(%rbp)
movl $0xeb, %edx
leaq -0x290(%rbp), %rsi
leaq -0x280(%rbp), %rcx
callq 0x1c49e
cmpq $0x0, -0x98(%rbp)
sete -0x68(%rbp)
leaq -0x68(%rbp), %rdi
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rdi)
leaq 0x2ceff(%rip), %rax     # 0x52a0f
movq %rax, -0x80(%rbp)
leaq 0x2cefa(%rip), %rax     # 0x52a15
movq %rax, -0x78(%rbp)
movb $0x0, -0x40(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x59eab(%rip), %rax     # 0x7f9e0
movq %rax, -0x38(%rbp)
leaq -0x80(%rbp), %rax
movq %rax, -0x30(%rbp)
movq %r12, -0x270(%rbp)
movq %r13, -0x268(%rbp)
subq $0x8, %rsp
movl $0xeb, %ecx
movq %r15, %rsi
leaq -0x270(%rbp), %rdx
pushq $0x2
popq %r8
xorl %r9d, %r9d
xorl %eax, %eax
pushq $0x0
callq 0x18e5c
popq %rcx
popq %rdx
leaq -0x58(%rbp), %rdi
callq 0x35d22
movq %r12, -0x260(%rbp)
movq %r13, -0x258(%rbp)
leaq 0x35086(%rip), %rax     # 0x5ac18
movq %rax, -0x250(%rbp)
movq %rax, -0x248(%rbp)
movl $0xef, %edx
leaq -0x260(%rbp), %rsi
leaq -0x250(%rbp), %rcx
callq 0x1c49e
movb $0x0, -0x40(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x59e12(%rip), %rax     # 0x7f9e0
movq %rax, -0x38(%rbp)
leaq 0x2c2c0(%rip), %rax     # 0x51e99
movq %rax, -0x30(%rbp)
movq %r12, -0x240(%rbp)
movq %r13, -0x238(%rbp)
leaq -0xc0(%rbp), %r13
movq %r13, %rdi
callq 0x326b0
movq %rax, %r12
movq %r13, %rdi
callq 0x326ce
addq %r12, %rax
movq %rax, -0x68(%rbp)
movq %r13, %rdi
callq 0x326ec
leaq -0x68(%rbp), %r9
movq %rax, -0x80(%rbp)
subq $0x8, %rsp
movl $0xef, %edx
movq %r15, %rdi
leaq -0x240(%rbp), %rsi
pushq $0x2
popq %rcx
movl %ecx, %r8d
leaq 0x2ccd6(%rip), %rax     # 0x52912
pushq %rax
leaq -0x80(%rbp), %rax
pushq %rax
leaq 0x2cca6(%rip), %rax     # 0x528ef
pushq %rax
callq 0x325c2
addq $0x20, %rsp
leaq 0x2cbd3(%rip), %r12     # 0x5282d
movq %r12, -0x230(%rbp)
leaq 0x2cbd9(%rip), %r13     # 0x52841
movq %r13, -0x228(%rbp)
leaq 0x34fa2(%rip), %rax     # 0x5ac18
movq %rax, -0x220(%rbp)
movq %rax, -0x218(%rbp)
movl $0xf0, %edx
leaq -0x230(%rbp), %rsi
leaq -0x220(%rbp), %rcx
callq 0x1c49e
movb $0x0, -0x40(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x59d2e(%rip), %rax     # 0x7f9e0
movq %rax, -0x38(%rbp)
leaq 0x2c1dc(%rip), %rax     # 0x51e99
movq %rax, -0x30(%rbp)
movq %r12, -0x210(%rbp)
movq %r13, -0x208(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x326ce
movq %rax, -0x68(%rbp)
subq $0x8, %rsp
movl $0xf0, %edx
movq %r15, %rdi
leaq -0x210(%rbp), %rsi
pushq $0x2
popq %rcx
movl %ecx, %r8d
leaq -0x68(%rbp), %r9
leaq 0x2cd13(%rip), %rax     # 0x52a16
pushq %rax
pushq %rbx
leaq 0x2cbf6(%rip), %rax     # 0x52902
pushq %rax
callq 0x32a71
addq $0x20, %rsp
movq %r12, -0x200(%rbp)
leaq 0x2cb1d(%rip), %r13     # 0x52841
movq %r13, -0x1f8(%rbp)
leaq 0x34ee6(%rip), %rax     # 0x5ac18
movq %rax, -0x1f0(%rbp)
movq %rax, -0x1e8(%rbp)
movl $0xf1, %edx
leaq -0x200(%rbp), %rsi
leaq -0x1f0(%rbp), %rcx
callq 0x1c49e
movb $0x0, -0x40(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x59c72(%rip), %rax     # 0x7f9e0
movq %rax, -0x38(%rbp)
leaq 0x2c120(%rip), %rax     # 0x51e99
movq %rax, -0x30(%rbp)
movq %r12, -0x1e0(%rbp)
movq %r13, -0x1d8(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x326ec
movq %rax, -0x68(%rbp)
subq $0x8, %rsp
movl $0xf1, %edx
movq %r15, %rdi
leaq -0x1e0(%rbp), %rsi
pushq $0x2
popq %rcx
movl %ecx, %r8d
leaq -0x68(%rbp), %r9
leaq 0x2cc57(%rip), %rax     # 0x52a16
pushq %rax
pushq %rbx
leaq 0x2cb4a(%rip), %rax     # 0x52912
pushq %rax
callq 0x32a71
addq $0x20, %rsp
movq %r12, -0x1d0(%rbp)
leaq 0x2ca61(%rip), %rax     # 0x52841
movq %rax, -0x1c8(%rbp)
leaq 0x34e2a(%rip), %rax     # 0x5ac18
movq %rax, -0x1c0(%rbp)
movq %rax, -0x1b8(%rbp)
movl $0xf2, %edx
leaq -0x1d0(%rbp), %rsi
leaq -0x1c0(%rbp), %rcx
callq 0x1c49e
leaq -0xc0(%rbp), %rdi
callq 0x3270a
xorb $0x1, %al
movb %al, -0x68(%rbp)
leaq -0x68(%rbp), %rdi
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rdi)
leaq 0x2cb2f(%rip), %rax     # 0x52966
movq %rax, -0x80(%rbp)
leaq 0x2cb2e(%rip), %rax     # 0x52970
movq %rax, -0x78(%rbp)
movb $0x0, -0x40(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x59b84(%rip), %rax     # 0x7f9e0
movq %rax, -0x38(%rbp)
leaq -0x80(%rbp), %rax
movq %rax, -0x30(%rbp)
movq %r12, -0x1b0(%rbp)
leaq 0x2c9cb(%rip), %rbx     # 0x52841
movq %rbx, -0x1a8(%rbp)
subq $0x8, %rsp
movl $0xf2, %ecx
movq %r15, %rsi
leaq -0x1b0(%rbp), %rdx
pushq $0x2
popq %r8
xorl %r9d, %r9d
xorl %eax, %eax
pushq $0x0
callq 0x18e5c
popq %rcx
popq %rdx
leaq -0x58(%rbp), %rdi
callq 0x35d22
movq %r12, -0x1a0(%rbp)
movq %rbx, -0x198(%rbp)
leaq 0x34d58(%rip), %rax     # 0x5ac18
movq %rax, -0x190(%rbp)
movq %rax, -0x188(%rbp)
movl $0xf3, %edx
leaq -0x1a0(%rbp), %rsi
leaq -0x190(%rbp), %rcx
callq 0x1c49e
movb $0x0, -0x40(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x59ae4(%rip), %rax     # 0x7f9e0
movq %rax, -0x38(%rbp)
leaq 0x2bf92(%rip), %rax     # 0x51e99
movq %rax, -0x30(%rbp)
movq %r12, -0x180(%rbp)
movq %rbx, -0x178(%rbp)
leaq -0xc0(%rbp), %rbx
movq %rbx, %rdi
callq 0x3272e
movq %rax, -0x68(%rbp)
movl $0x1, -0x80(%rbp)
subq $0x8, %rsp
movl $0xf3, %edx
movq %r15, %rdi
leaq -0x180(%rbp), %rsi
pushq $0x2
popq %rcx
movl %ecx, %r8d
leaq -0x68(%rbp), %r9
leaq 0x2cbc7(%rip), %rax     # 0x52b1e
pushq %rax
leaq -0x80(%rbp), %rax
pushq %rax
leaq 0x2cad2(%rip), %rax     # 0x52a36
pushq %rax
callq 0x3286b
addq $0x20, %rsp
movq %r14, %rdi
callq 0x32b68
movq %rbx, %rdi
callq 0x3274e
leaq 0x2c8bc(%rip), %rbx     # 0x52841
leaq -0xc0(%rbp), %rdi
callq 0x323dc
movq %r12, -0x170(%rbp)
movq %rbx, -0x168(%rbp)
leaq 0x34c72(%rip), %rax     # 0x5ac18
movq %rax, -0x160(%rbp)
movq %rax, -0x158(%rbp)
movl $0xfa, %edx
leaq -0x170(%rbp), %rsi
leaq -0x160(%rbp), %rcx
callq 0x1c49e
movb $0x0, -0x40(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x599fe(%rip), %rax     # 0x7f9e0
movq %rax, -0x38(%rbp)
leaq 0x2beac(%rip), %rax     # 0x51e99
movq %rax, -0x30(%rbp)
movq %r12, -0x150(%rbp)
movq %rbx, -0x148(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x326ce
movq %rax, -0x68(%rbp)
andl $0x0, -0x80(%rbp)
subq $0x8, %rsp
movl $0xfa, %edx
movq %r15, %rdi
leaq -0x150(%rbp), %rsi
pushq $0x2
popq %rcx
movl %ecx, %r8d
leaq -0x68(%rbp), %r9
leaq 0x316c8(%rip), %rax     # 0x576ff
pushq %rax
leaq -0x80(%rbp), %rax
pushq %rax
leaq 0x2c8be(%rip), %rax     # 0x52902
pushq %rax
callq 0x3286b
addq $0x20, %rsp
movq %r12, -0x140(%rbp)
movq %rbx, -0x138(%rbp)
leaq 0x34bb5(%rip), %rax     # 0x5ac18
movq %rax, -0x130(%rbp)
movq %rax, -0x128(%rbp)
movl $0xfb, %edx
leaq -0x140(%rbp), %rsi
leaq -0x130(%rbp), %rcx
callq 0x1c49e
movb $0x0, -0x40(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x59941(%rip), %rax     # 0x7f9e0
movq %rax, -0x38(%rbp)
leaq 0x2bdef(%rip), %rax     # 0x51e99
movq %rax, -0x30(%rbp)
movq %r12, -0x120(%rbp)
movq %rbx, -0x118(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x326ec
movq %rax, -0x68(%rbp)
andl $0x0, -0x80(%rbp)
subq $0x8, %rsp
movl $0xfb, %edx
movq %r15, %rdi
leaq -0x120(%rbp), %rsi
pushq $0x2
popq %rcx
movl %ecx, %r8d
leaq -0x68(%rbp), %r9
leaq 0x3160b(%rip), %rax     # 0x576ff
pushq %rax
leaq -0x80(%rbp), %rax
pushq %rax
leaq 0x2c811(%rip), %rax     # 0x52912
pushq %rax
callq 0x3286b
addq $0x20, %rsp
movq %r12, -0x110(%rbp)
movq %rbx, -0x108(%rbp)
leaq 0x34af8(%rip), %rax     # 0x5ac18
movq %rax, -0x100(%rbp)
movq %rax, -0xf8(%rbp)
movl $0xfc, %edx
leaq -0x110(%rbp), %rsi
leaq -0x100(%rbp), %rcx
callq 0x1c49e
leaq -0xc0(%rbp), %rdi
callq 0x3270a
movb %al, -0x68(%rbp)
leaq -0x68(%rbp), %r13
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r13)
leaq 0x2c7ff(%rip), %rax     # 0x52967
movq %rax, -0x80(%rbp)
leaq 0x2c7fd(%rip), %rax     # 0x52970
movq %rax, -0x78(%rbp)
movb $0x0, -0x40(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x59853(%rip), %rax     # 0x7f9e0
movq %rax, -0x38(%rbp)
leaq -0x80(%rbp), %rax
movq %rax, -0x30(%rbp)
movq %r12, -0xf0(%rbp)
leaq 0x2c69a(%rip), %rax     # 0x52841
movq %rax, -0xe8(%rbp)
subq $0x8, %rsp
movl $0xfc, %ecx
movq %r13, %rdi
movq %r15, %rsi
leaq -0xf0(%rbp), %rdx
pushq $0x2
popq %r8
xorl %r9d, %r9d
xorl %eax, %eax
pushq $0x0
callq 0x18e5c
popq %rcx
popq %rdx
movq -0xc8(%rbp), %r12
movq %r14, %rbx
leaq -0x58(%rbp), %rdi
callq 0x35d22
leaq -0x98(%rbp), %rdi
callq 0x32584
movq %r14, %rdi
callq 0x32b76
leaq -0xc0(%rbp), %rdi
callq 0x32962
incq %r12
jmp 0x2574e
addq $0x308, %rsp            # imm = 0x308
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2c7e6(%rip), %rdi     # 0x52a10
leaq 0x2c5fc(%rip), %rsi     # 0x5282d
leaq 0x2c7bc(%rip), %rcx     # 0x529f4
movl $0xe1, %edx
callq 0xf340
movq %rax, %rbx
leaq -0x68(%rbp), %rdi
jmp 0x262ef
jmp 0x26300
jmp 0x26300
jmp 0x2627f
jmp 0x26300
jmp 0x26300
jmp 0x26300
jmp 0x2627f
jmp 0x26300
jmp 0x26300
jmp 0x26300
jmp 0x2630c
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x35d22
jmp 0x26303
jmp 0x2630c
jmp 0x2630c
movq %rax, %rbx
leaq -0x330(%rbp), %rdi
callq 0x332be
jmp 0x26335
jmp 0x2630c
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x35d22
jmp 0x2631d
movq %rax, %rbx
jmp 0x262e8
movq %rax, %rbx
jmp 0x262df
movq %rax, %rbx
jmp 0x262d3
movq %rax, %rbx
leaq -0x310(%rbp), %rdi
callq 0xf9d8
leaq -0xc0(%rbp), %rdi
callq 0xf9d8
leaq -0x68(%rbp), %rdi
callq 0xf9d8
leaq -0x98(%rbp), %rdi
callq 0x1bc7a
jmp 0x26335
jmp 0x26300
jmp 0x26300
jmp 0x26300
jmp 0x26300
jmp 0x2630c
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
jmp 0x26318
movq %rax, %rbx
jmp 0x2631d
movq %rax, %rbx
leaq -0x48(%rbp), %rdi
callq 0x32584
leaq -0x310(%rbp), %rdi
callq 0x32b76
leaq -0xc0(%rbp), %rdi
callq 0x32962
movq %rbx, %rdi
callq 0xf8a0