// File: /workspace/github_cpp_makefile_star2_O1/nilnilnil[P]autocomplete/./include/suggest.hpp
// Function: suggest::test()
int
    test() {
        PhraseMap pm;
        pm.insert(1, "duckduckgo", "");
        pm.insert(2, "duckduckgeese", "");
        pm.insert(1, "duckduckgoose", "");
        pm.insert(9, "duckduckgoo", "");
        pm.insert(10, "duckgo", "");
        pm.insert(3, "dukgo", "");
        pm.insert(2, "luckkuckgo", "");
        pm.insert(5, "chuckchuckgo", "");
        pm.insert(15, "dilli - no one killed jessica", "");
        pm.insert(11, "aaitbaar - no one killed jessica", "");

        pm.finalize();

        RMQ st;
        vui_t weights;
        for (size_t i = 0; i < pm.repr.size(); ++i) {
            weights.push_back(pm.repr[i].weight);
        }

        st.initialize(weights);

        cout<<"\n";
        cout<<"suggest(\"d\"):\n"<<suggest(pm, st, "d")<<endl;
        cout<<"naive_suggest(\"d\"):\n"<<naive_suggest(pm, st, "d")<<endl;

        cout<<"\n";
        cout<<"suggest(\"a\"):\n"<<suggest(pm, st, "a")<<endl;
        cout<<"naive_suggest(\"a\"):\n"<<naive_suggest(pm, st, "a")<<endl;

        cout<<"\n";
        cout<<"suggest(\"b\"):\n"<<suggest(pm, st, "b")<<endl;
        cout<<"naive_suggest(\"b\"):\n"<<naive_suggest(pm, st, "b")<<endl;

        cout<<"\n";
        cout<<"suggest(\"duck\"):\n"<<suggest(pm, st, "duck")<<endl;
        cout<<"naive_suggest(\"duck\"):\n"<<naive_suggest(pm, st, "duck")<<endl;

        cout<<"\n";
        cout<<"suggest(\"k\"):\n"<<suggest(pm, st, "k")<<endl;
        cout<<"naive_suggest(\"k\"):\n"<<naive_suggest(pm, st, "k")<<endl;

        cout<<"\n";
        cout<<"suggest(\"ka\"):\n"<<suggest(pm, st, "ka")<<endl;
        cout<<"naive_suggest(\"ka\"):\n"<<naive_suggest(pm, st, "ka")<<endl;

        cout<<"\n";
        cout<<"suggest(\"c\"):\n"<<suggest(pm, st, "c")<<endl;
        cout<<"naive_suggest(\"c\"):\n"<<naive_suggest(pm, st, "c")<<endl;

        return 0;
    }

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x228, %rsp            # imm = 0x228
leaq 0x38(%rsp), %rdi
movl $0xe4e1c0, %esi         # imm = 0xE4E1C0
callq 0xbee4
leaq 0x28(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xdd91(%rip), %rsi      # 0x1509f
leaq 0xdd94(%rip), %rdx      # 0x150a9
leaq 0x18(%rsp), %rdi
callq 0xdea6
leaq 0xef1c(%rip), %rbx      # 0x16242
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0x1, %esi
callq 0xbf1c
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x7360
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x18(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xdd3b(%rip), %rsi      # 0x150aa
leaq 0xdd41(%rip), %rdx      # 0x150b7
callq 0xdea6
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0x2, %esi
callq 0xbf1c
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x73b5
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x18(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xdcf4(%rip), %rsi      # 0x150b8
leaq 0xdcfa(%rip), %rdx      # 0x150c5
callq 0xdea6
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0x1, %esi
callq 0xbf1c
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x740a
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x18(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xdcad(%rip), %rsi      # 0x150c6
leaq 0xdcb1(%rip), %rdx      # 0x150d1
callq 0xdea6
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0x9, %esi
callq 0xbf1c
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x745f
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x18(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xdc35(%rip), %rsi      # 0x150a3
leaq 0xdc34(%rip), %rdx      # 0x150a9
callq 0xdea6
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0xa, %esi
callq 0xbf1c
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x74b4
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x18(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xdc0f(%rip), %rsi      # 0x150d2
leaq 0xdc0d(%rip), %rdx      # 0x150d7
callq 0xdea6
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0x3, %esi
callq 0xbf1c
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x7509
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x18(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xdbc0(%rip), %rsi      # 0x150d8
leaq 0xdbc3(%rip), %rdx      # 0x150e2
callq 0xdea6
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0x2, %esi
callq 0xbf1c
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x755e
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x18(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xdb76(%rip), %rsi      # 0x150e3
leaq 0xdb7b(%rip), %rdx      # 0x150ef
callq 0xdea6
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0x5, %esi
callq 0xbf1c
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x75b3
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x18(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xdb2e(%rip), %rsi      # 0x150f0
leaq 0xdb44(%rip), %rdx      # 0x1510d
callq 0xdea6
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0xf, %esi
callq 0xbf1c
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x7608
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x18(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xdaf7(%rip), %rsi      # 0x1510e
leaq 0xdb10(%rip), %rdx      # 0x1512e
callq 0xdea6
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0xb, %esi
callq 0xbf1c
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x765d
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x38(%rsp), %rdi
xorl %esi, %esi
callq 0xbfe2
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0xbb8c
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
movq $0x0, 0x60(%rsp)
movq 0x38(%rsp), %rdx
cmpq %rdx, 0x40(%rsp)
je 0x76ee
xorl %r14d, %r14d
leaq 0x50(%rsp), %rbx
movabsq $0x6db6db6db6db6db7, %r15 # imm = 0x6DB6DB6DB6DB6DB7
xorl %r12d, %r12d
addq %r14, %rdx
movq 0x58(%rsp), %rsi
cmpq 0x60(%rsp), %rsi
je 0x76c5
movl (%rdx), %eax
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x58(%rsp)
jmp 0x76cd
movq %rbx, %rdi
callq 0xe494
incq %r12
movq 0x38(%rsp), %rdx
movq 0x40(%rsp), %rax
subq %rdx, %rax
sarq $0x3, %rax
imulq %r15, %rax
addq $0x38, %r14
cmpq %rax, %r12
jb 0x76a7
leaq 0x18(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0xbbce
movq 0x148c4(%rip), %rdi     # 0x1bfc8
leaq 0xeb36(%rip), %rsi      # 0x16241
movl $0x1, %edx
callq 0x5590
movq 0x148ac(%rip), %rdi     # 0x1bfc8
leaq 0xda1a(%rip), %rsi      # 0x1513d
movl $0xe, %edx
callq 0x5590
leaq 0x218(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xe0aa(%rip), %rsi      # 0x157ea
leaq 0xe0a4(%rip), %rdx      # 0x157eb
leaq 0x208(%rsp), %rdi
callq 0xdea6
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0x208(%rsp), %rcx
movl $0x10, %r8d
callq 0x6f01
movq 0x1484d(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d5
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5480
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5300
movq %rsp, %rdi
callq 0xc17a
movq 0x208(%rsp), %rdi
cmpq %r14, %rdi
je 0x77d2
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x147ef(%rip), %rdi     # 0x1bfc8
leaq 0xd957(%rip), %rsi      # 0x15137
movl $0x14, %edx
callq 0x5590
leaq 0x1f8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xdfed(%rip), %rsi      # 0x157ea
leaq 0xdfe7(%rip), %rdx      # 0x157eb
leaq 0x1e8(%rsp), %rdi
callq 0xdea6
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x1e8(%rsp), %rcx
movl $0x10, %r8d
callq 0x7128
movq 0x14795(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d5
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5480
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5300
movq %rsp, %rdi
callq 0xc17a
movq 0x1e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x788a
movq 0x1f8(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x14737(%rip), %rdi     # 0x1bfc8
leaq 0xe9a9(%rip), %rsi      # 0x16241
movl $0x1, %edx
callq 0x5590
movq 0x1471f(%rip), %rdi     # 0x1bfc8
leaq 0xd8a2(%rip), %rsi      # 0x15152
movl $0xe, %edx
callq 0x5590
leaq 0x1d8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xd83f(%rip), %rsi      # 0x1510c
leaq 0xd839(%rip), %rdx      # 0x1510d
leaq 0x1c8(%rsp), %rdi
callq 0xdea6
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0x1c8(%rsp), %rcx
movl $0x10, %r8d
callq 0x6f01
movq 0x146c0(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d5
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5480
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5300
movq %rsp, %rdi
callq 0xc17a
movq 0x1c8(%rsp), %rdi
cmpq %r14, %rdi
je 0x795f
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x14662(%rip), %rdi     # 0x1bfc8
leaq 0xd7df(%rip), %rsi      # 0x1514c
movl $0x14, %edx
callq 0x5590
leaq 0x1b8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xd782(%rip), %rsi      # 0x1510c
leaq 0xd77c(%rip), %rdx      # 0x1510d
leaq 0x1a8(%rsp), %rdi
callq 0xdea6
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x1a8(%rsp), %rcx
movl $0x10, %r8d
callq 0x7128
movq 0x14608(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d5
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5480
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5300
movq %rsp, %rdi
callq 0xc17a
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x7a17
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x145aa(%rip), %rdi     # 0x1bfc8
leaq 0xe81c(%rip), %rsi      # 0x16241
movl $0x1, %edx
callq 0x5590
movq 0x14592(%rip), %rdi     # 0x1bfc8
leaq 0xd72a(%rip), %rsi      # 0x15167
movl $0xe, %edx
callq 0x5590
leaq 0x198(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xe034(%rip), %rsi      # 0x15a8e
leaq 0xe02e(%rip), %rdx      # 0x15a8f
leaq 0x188(%rsp), %rdi
callq 0xdea6
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0x188(%rsp), %rcx
movl $0x10, %r8d
callq 0x6f01
movq 0x14533(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d5
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5480
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5300
movq %rsp, %rdi
callq 0xc17a
movq 0x188(%rsp), %rdi
cmpq %r14, %rdi
je 0x7aec
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x144d5(%rip), %rdi     # 0x1bfc8
leaq 0xd667(%rip), %rsi      # 0x15161
movl $0x14, %edx
callq 0x5590
leaq 0x178(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xdf77(%rip), %rsi      # 0x15a8e
leaq 0xdf71(%rip), %rdx      # 0x15a8f
leaq 0x168(%rsp), %rdi
callq 0xdea6
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x168(%rsp), %rcx
movl $0x10, %r8d
callq 0x7128
movq 0x1447b(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d5
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5480
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5300
movq %rsp, %rdi
callq 0xc17a
movq 0x168(%rsp), %rdi
cmpq %r14, %rdi
je 0x7ba4
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x1441d(%rip), %rdi     # 0x1bfc8
leaq 0xe68f(%rip), %rsi      # 0x16241
movl $0x1, %edx
callq 0x5590
movq 0x14405(%rip), %rdi     # 0x1bfc8
leaq 0xd5b2(%rip), %rsi      # 0x1517c
movl $0x11, %edx
callq 0x5590
leaq 0x158(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xd548(%rip), %rsi      # 0x1512f
leaq 0xd545(%rip), %rdx      # 0x15133
leaq 0x148(%rsp), %rdi
callq 0xdea6
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0x148(%rsp), %rcx
movl $0x10, %r8d
callq 0x6f01
movq 0x143a6(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d5
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5480
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5300
movq %rsp, %rdi
callq 0xc17a
movq 0x148(%rsp), %rdi
cmpq %r14, %rdi
je 0x7c79
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x14348(%rip), %rdi     # 0x1bfc8
leaq 0xd4ef(%rip), %rsi      # 0x15176
movl $0x17, %edx
callq 0x5590
leaq 0x138(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xd48b(%rip), %rsi      # 0x1512f
leaq 0xd488(%rip), %rdx      # 0x15133
leaq 0x128(%rsp), %rdi
callq 0xdea6
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x128(%rsp), %rcx
movl $0x10, %r8d
callq 0x7128
movq 0x142ee(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d5
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5480
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5300
movq %rsp, %rdi
callq 0xc17a
movq 0x128(%rsp), %rdi
cmpq %r14, %rdi
je 0x7d31
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x14290(%rip), %rdi     # 0x1bfc8
leaq 0xe502(%rip), %rsi      # 0x16241
movl $0x1, %edx
callq 0x5590
movq 0x14278(%rip), %rdi     # 0x1bfc8
leaq 0xd43d(%rip), %rsi      # 0x15194
movl $0xe, %edx
callq 0x5590
leaq 0x118(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xdeb6(%rip), %rsi      # 0x15c2a
leaq 0xdeb0(%rip), %rdx      # 0x15c2b
leaq 0x108(%rsp), %rdi
callq 0xdea6
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0x108(%rsp), %rcx
movl $0x10, %r8d
callq 0x6f01
movq 0x14219(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d5
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5480
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5300
movq %rsp, %rdi
callq 0xc17a
movq 0x108(%rsp), %rdi
cmpq %r14, %rdi
je 0x7e06
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x141bb(%rip), %rdi     # 0x1bfc8
leaq 0xd37a(%rip), %rsi      # 0x1518e
movl $0x14, %edx
callq 0x5590
leaq 0xf8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xddf9(%rip), %rsi      # 0x15c2a
leaq 0xddf3(%rip), %rdx      # 0x15c2b
leaq 0xe8(%rsp), %rdi
callq 0xdea6
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0xe8(%rsp), %rcx
movl $0x10, %r8d
callq 0x7128
movq 0x14161(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d5
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5480
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5300
movq %rsp, %rdi
callq 0xc17a
movq 0xe8(%rsp), %rdi
cmpq %r14, %rdi
je 0x7ebe
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x14103(%rip), %rdi     # 0x1bfc8
leaq 0xe375(%rip), %rsi      # 0x16241
movl $0x1, %edx
callq 0x5590
movq 0x140eb(%rip), %rdi     # 0x1bfc8
leaq 0xd2c5(%rip), %rsi      # 0x151a9
movl $0xf, %edx
callq 0x5590
leaq 0xd8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xd233(%rip), %rsi      # 0x15134
leaq 0xd22e(%rip), %rdx      # 0x15136
leaq 0xc8(%rsp), %rdi
callq 0xdea6
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0xc8(%rsp), %rcx
movl $0x10, %r8d
callq 0x6f01
movq 0x1408c(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d5
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5480
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5300
movq %rsp, %rdi
callq 0xc17a
movq 0xc8(%rsp), %rdi
cmpq %r14, %rdi
je 0x7f93
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x1402e(%rip), %rdi     # 0x1bfc8
leaq 0xd202(%rip), %rsi      # 0x151a3
movl $0x15, %edx
callq 0x5590
leaq 0xb8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xd176(%rip), %rsi      # 0x15134
leaq 0xd171(%rip), %rdx      # 0x15136
leaq 0xa8(%rsp), %rdi
callq 0xdea6
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0xa8(%rsp), %rcx
movl $0x10, %r8d
callq 0x7128
movq 0x13fd4(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d5
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5480
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5300
movq %rsp, %rdi
callq 0xc17a
movq 0xa8(%rsp), %rdi
cmpq %r14, %rdi
je 0x804b
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x13f76(%rip), %rdi     # 0x1bfc8
leaq 0xe1e8(%rip), %rsi      # 0x16241
movl $0x1, %edx
callq 0x5590
movq 0x13f5e(%rip), %rdi     # 0x1bfc8
leaq 0xd14e(%rip), %rsi      # 0x151bf
movl $0xe, %edx
callq 0x5590
leaq 0x98(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xe91c(%rip), %rsi      # 0x169aa
leaq 0xe916(%rip), %rdx      # 0x169ab
leaq 0x88(%rsp), %rdi
callq 0xdea6
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0x88(%rsp), %rcx
movl $0x10, %r8d
callq 0x6f01
movq 0x13eff(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d5
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5480
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5300
movq %rsp, %rdi
callq 0xc17a
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x8120
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x13ea1(%rip), %rdi     # 0x1bfc8
leaq 0xd08b(%rip), %rsi      # 0x151b9
movl $0x14, %edx
callq 0x5590
leaq 0x78(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xe862(%rip), %rsi      # 0x169aa
leaq 0xe85c(%rip), %rdx      # 0x169ab
leaq 0x68(%rsp), %rdi
callq 0xdea6
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x68(%rsp), %rcx
movl $0x10, %r8d
callq 0x7128
movq 0x13e50(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d5
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5480
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5300
movq %rsp, %rdi
callq 0xc17a
movq 0x68(%rsp), %rdi
cmpq %r14, %rdi
je 0x81c9
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x81e0
movq 0x60(%rsp), %rsi
subq %rdi, %rsi
callq 0x54c0
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x81f7
movq 0x28(%rsp), %rsi
subq %rdi, %rsi
callq 0x54c0
leaq 0x38(%rsp), %rdi
callq 0xc17a
xorl %eax, %eax
addq $0x228, %rsp            # imm = 0x228
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %rax, %rbx
jmp 0x8321
jmp 0x853c
movq %rax, %rbx
jmp 0x8344
jmp 0x853c
movq %rax, %rbx
jmp 0x836d
jmp 0x853c
movq %rax, %rbx
jmp 0x8396
jmp 0x853c
movq %rax, %rbx
jmp 0x83bf
jmp 0x853c
movq %rax, %rbx
jmp 0x83e8
jmp 0x853c
movq %rax, %rbx
jmp 0x8411
jmp 0x853c
movq %rax, %rbx
jmp 0x843a
jmp 0x853c
movq %rax, %rbx
jmp 0x8463
jmp 0x853c
movq %rax, %rbx
jmp 0x848c
jmp 0x853c
movq %rax, %rbx
jmp 0x84b5
jmp 0x853c
movq %rax, %rbx
jmp 0x84d7
jmp 0x853c
movq %rax, %rbx
jmp 0x84f9
jmp 0x853c
movq %rax, %rbx
jmp 0x851b
jmp 0x853c
jmp 0x830e
jmp 0x830e
jmp 0x82f0
jmp 0x830e
jmp 0x82f0
jmp 0x830e
jmp 0x82f0
jmp 0x830e
jmp 0x82f0
jmp 0x830e
jmp 0x82f0
jmp 0x830e
jmp 0x82f0
jmp 0x830e
jmp 0x82f0
jmp 0x830e
jmp 0x82f0
jmp 0x830e
jmp 0x82f0
jmp 0x830e
movq %rax, %rbx
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x856d
movq 0x28(%rsp), %rsi
incq %rsi
jmp 0x8568
movq %rax, %rbx
jmp 0x856d
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x68(%rsp), %rdi
cmpq %r14, %rdi
je 0x853f
movq 0x78(%rsp), %rsi
jmp 0x8530
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x853f
movq 0x98(%rsp), %rsi
jmp 0x8530
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0xa8(%rsp), %rdi
cmpq %r14, %rdi
je 0x853f
movq 0xb8(%rsp), %rsi
jmp 0x8530
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0xc8(%rsp), %rdi
cmpq %r14, %rdi
je 0x853f
movq 0xd8(%rsp), %rsi
jmp 0x8530
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0xe8(%rsp), %rdi
cmpq %r14, %rdi
je 0x853f
movq 0xf8(%rsp), %rsi
jmp 0x8530
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x108(%rsp), %rdi
cmpq %r14, %rdi
je 0x853f
movq 0x118(%rsp), %rsi
jmp 0x8530
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x128(%rsp), %rdi
cmpq %r14, %rdi
je 0x853f
movq 0x138(%rsp), %rsi
jmp 0x8530
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x148(%rsp), %rdi
cmpq %r14, %rdi
je 0x853f
movq 0x158(%rsp), %rsi
jmp 0x8530
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x168(%rsp), %rdi
cmpq %r14, %rdi
je 0x853f
movq 0x178(%rsp), %rsi
jmp 0x8530
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x188(%rsp), %rdi
cmpq %r14, %rdi
je 0x853f
movq 0x198(%rsp), %rsi
jmp 0x8530
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x853f
movq 0x1b8(%rsp), %rsi
jmp 0x8530
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x1c8(%rsp), %rdi
cmpq %r14, %rdi
je 0x853f
movq 0x1d8(%rsp), %rsi
jmp 0x8530
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x1e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x853f
movq 0x1f8(%rsp), %rsi
jmp 0x8530
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x208(%rsp), %rdi
cmpq %r14, %rdi
je 0x853f
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x54c0
jmp 0x853f
jmp 0x853c
movq %rax, %rbx
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x8556
movq 0x60(%rsp), %rsi
subq %rdi, %rsi
callq 0x54c0
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x856d
movq 0x28(%rsp), %rsi
subq %rdi, %rsi
callq 0x54c0
leaq 0x38(%rsp), %rdi
callq 0xc17a
movq %rbx, %rdi
callq 0x58e0