// File: /workspace/github_cpp_makefile_star2_O3/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 0xbee6
leaq 0x28(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xdd66(%rip), %rsi      # 0x1509f
leaq 0xdd69(%rip), %rdx      # 0x150a9
leaq 0x18(%rsp), %rdi
callq 0xde28
leaq 0xeeee(%rip), %rbx      # 0x1623f
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0x1, %esi
callq 0xbf1e
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x738b
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x18(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xdd10(%rip), %rsi      # 0x150aa
leaq 0xdd16(%rip), %rdx      # 0x150b7
callq 0xde28
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0x2, %esi
callq 0xbf1e
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x73e0
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x18(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xdcc9(%rip), %rsi      # 0x150b8
leaq 0xdccf(%rip), %rdx      # 0x150c5
callq 0xde28
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0x1, %esi
callq 0xbf1e
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x7435
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x18(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xdc82(%rip), %rsi      # 0x150c6
leaq 0xdc86(%rip), %rdx      # 0x150d1
callq 0xde28
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0x9, %esi
callq 0xbf1e
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x748a
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x18(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xdc0a(%rip), %rsi      # 0x150a3
leaq 0xdc09(%rip), %rdx      # 0x150a9
callq 0xde28
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0xa, %esi
callq 0xbf1e
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x74df
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x18(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xdbe4(%rip), %rsi      # 0x150d2
leaq 0xdbe2(%rip), %rdx      # 0x150d7
callq 0xde28
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0x3, %esi
callq 0xbf1e
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x7534
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x18(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xdb95(%rip), %rsi      # 0x150d8
leaq 0xdb98(%rip), %rdx      # 0x150e2
callq 0xde28
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0x2, %esi
callq 0xbf1e
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x7589
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x18(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xdb4b(%rip), %rsi      # 0x150e3
leaq 0xdb50(%rip), %rdx      # 0x150ef
callq 0xde28
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0x5, %esi
callq 0xbf1e
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x75de
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x18(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xdb03(%rip), %rsi      # 0x150f0
leaq 0xdb19(%rip), %rdx      # 0x1510d
callq 0xde28
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0xf, %esi
callq 0xbf1e
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x7633
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x18(%rsp), %rdi
movq %r14, (%rdi)
leaq 0xdacc(%rip), %rsi      # 0x1510e
leaq 0xdae5(%rip), %rdx      # 0x1512e
callq 0xde28
leaq 0x50(%rsp), %rcx
movq %rbx, (%rcx)
movl $0x0, 0x8(%rcx)
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
movl $0xb, %esi
callq 0xbf1e
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x7688
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x54c0
leaq 0x38(%rsp), %rdi
xorl %esi, %esi
callq 0xbfe4
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0xbba8
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
movq $0x0, 0x60(%rsp)
movq 0x38(%rsp), %rax
movq 0x40(%rsp), %rcx
cmpq %rax, %rcx
je 0x7720
xorl %r14d, %r14d
leaq 0x50(%rsp), %rbx
movabsq $0x6db6db6db6db6db7, %r15 # imm = 0x6DB6DB6DB6DB6DB7
xorl %r12d, %r12d
leaq (%rax,%r14), %rdx
movq 0x58(%rsp), %rsi
cmpq 0x60(%rsp), %rsi
je 0x76f4
movl (%rdx), %edx
movl %edx, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x58(%rsp)
jmp 0x7706
movq %rbx, %rdi
callq 0xe3ee
movq 0x38(%rsp), %rax
movq 0x40(%rsp), %rcx
incq %r12
movq %rcx, %rdx
subq %rax, %rdx
sarq $0x3, %rdx
imulq %r15, %rdx
addq $0x38, %r14
cmpq %rdx, %r12
jb 0x76d5
leaq 0x18(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0xbbea
movq 0x14892(%rip), %rdi     # 0x1bfc8
leaq 0xeb01(%rip), %rsi      # 0x1623e
movl $0x1, %edx
callq 0x5590
movq 0x1487a(%rip), %rdi     # 0x1bfc8
leaq 0xd9e8(%rip), %rsi      # 0x1513d
movl $0xe, %edx
callq 0x5590
leaq 0x218(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xe078(%rip), %rsi      # 0x157ea
leaq 0xe072(%rip), %rdx      # 0x157eb
leaq 0x208(%rsp), %rdi
callq 0xde28
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0x208(%rsp), %rcx
movl $0x10, %r8d
callq 0x6f06
movq 0x1481b(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d8
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 0x7804
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x147bd(%rip), %rdi     # 0x1bfc8
leaq 0xd925(%rip), %rsi      # 0x15137
movl $0x14, %edx
callq 0x5590
leaq 0x1f8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xdfbb(%rip), %rsi      # 0x157ea
leaq 0xdfb5(%rip), %rdx      # 0x157eb
leaq 0x1e8(%rsp), %rdi
callq 0xde28
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x1e8(%rsp), %rcx
movl $0x10, %r8d
callq 0x7133
movq 0x14763(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d8
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 0x78bc
movq 0x1f8(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x14705(%rip), %rdi     # 0x1bfc8
leaq 0xe974(%rip), %rsi      # 0x1623e
movl $0x1, %edx
callq 0x5590
movq 0x146ed(%rip), %rdi     # 0x1bfc8
leaq 0xd870(%rip), %rsi      # 0x15152
movl $0xe, %edx
callq 0x5590
leaq 0x1d8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xd80d(%rip), %rsi      # 0x1510c
leaq 0xd807(%rip), %rdx      # 0x1510d
leaq 0x1c8(%rsp), %rdi
callq 0xde28
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0x1c8(%rsp), %rcx
movl $0x10, %r8d
callq 0x6f06
movq 0x1468e(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d8
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 0x7991
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x14630(%rip), %rdi     # 0x1bfc8
leaq 0xd7ad(%rip), %rsi      # 0x1514c
movl $0x14, %edx
callq 0x5590
leaq 0x1b8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xd750(%rip), %rsi      # 0x1510c
leaq 0xd74a(%rip), %rdx      # 0x1510d
leaq 0x1a8(%rsp), %rdi
callq 0xde28
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x1a8(%rsp), %rcx
movl $0x10, %r8d
callq 0x7133
movq 0x145d6(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d8
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 0x7a49
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x14578(%rip), %rdi     # 0x1bfc8
leaq 0xe7e7(%rip), %rsi      # 0x1623e
movl $0x1, %edx
callq 0x5590
movq 0x14560(%rip), %rdi     # 0x1bfc8
leaq 0xd6f8(%rip), %rsi      # 0x15167
movl $0xe, %edx
callq 0x5590
leaq 0x198(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xe002(%rip), %rsi      # 0x15a8e
leaq 0xdffc(%rip), %rdx      # 0x15a8f
leaq 0x188(%rsp), %rdi
callq 0xde28
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0x188(%rsp), %rcx
movl $0x10, %r8d
callq 0x6f06
movq 0x14501(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d8
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 0x7b1e
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x144a3(%rip), %rdi     # 0x1bfc8
leaq 0xd635(%rip), %rsi      # 0x15161
movl $0x14, %edx
callq 0x5590
leaq 0x178(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xdf45(%rip), %rsi      # 0x15a8e
leaq 0xdf3f(%rip), %rdx      # 0x15a8f
leaq 0x168(%rsp), %rdi
callq 0xde28
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x168(%rsp), %rcx
movl $0x10, %r8d
callq 0x7133
movq 0x14449(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d8
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 0x7bd6
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x143eb(%rip), %rdi     # 0x1bfc8
leaq 0xe65a(%rip), %rsi      # 0x1623e
movl $0x1, %edx
callq 0x5590
movq 0x143d3(%rip), %rdi     # 0x1bfc8
leaq 0xd580(%rip), %rsi      # 0x1517c
movl $0x11, %edx
callq 0x5590
leaq 0x158(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xd516(%rip), %rsi      # 0x1512f
leaq 0xd513(%rip), %rdx      # 0x15133
leaq 0x148(%rsp), %rdi
callq 0xde28
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0x148(%rsp), %rcx
movl $0x10, %r8d
callq 0x6f06
movq 0x14374(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d8
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 0x7cab
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x14316(%rip), %rdi     # 0x1bfc8
leaq 0xd4bd(%rip), %rsi      # 0x15176
movl $0x17, %edx
callq 0x5590
leaq 0x138(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xd459(%rip), %rsi      # 0x1512f
leaq 0xd456(%rip), %rdx      # 0x15133
leaq 0x128(%rsp), %rdi
callq 0xde28
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x128(%rsp), %rcx
movl $0x10, %r8d
callq 0x7133
movq 0x142bc(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d8
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 0x7d63
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x1425e(%rip), %rdi     # 0x1bfc8
leaq 0xe4cd(%rip), %rsi      # 0x1623e
movl $0x1, %edx
callq 0x5590
movq 0x14246(%rip), %rdi     # 0x1bfc8
leaq 0xd40b(%rip), %rsi      # 0x15194
movl $0xe, %edx
callq 0x5590
leaq 0x118(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xde84(%rip), %rsi      # 0x15c2a
leaq 0xde7e(%rip), %rdx      # 0x15c2b
leaq 0x108(%rsp), %rdi
callq 0xde28
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0x108(%rsp), %rcx
movl $0x10, %r8d
callq 0x6f06
movq 0x141e7(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d8
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 0x7e38
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x14189(%rip), %rdi     # 0x1bfc8
leaq 0xd348(%rip), %rsi      # 0x1518e
movl $0x14, %edx
callq 0x5590
leaq 0xf8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xddc7(%rip), %rsi      # 0x15c2a
leaq 0xddc1(%rip), %rdx      # 0x15c2b
leaq 0xe8(%rsp), %rdi
callq 0xde28
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0xe8(%rsp), %rcx
movl $0x10, %r8d
callq 0x7133
movq 0x1412f(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d8
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 0x7ef0
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x140d1(%rip), %rdi     # 0x1bfc8
leaq 0xe340(%rip), %rsi      # 0x1623e
movl $0x1, %edx
callq 0x5590
movq 0x140b9(%rip), %rdi     # 0x1bfc8
leaq 0xd293(%rip), %rsi      # 0x151a9
movl $0xf, %edx
callq 0x5590
leaq 0xd8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xd201(%rip), %rsi      # 0x15134
leaq 0xd1fc(%rip), %rdx      # 0x15136
leaq 0xc8(%rsp), %rdi
callq 0xde28
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0xc8(%rsp), %rcx
movl $0x10, %r8d
callq 0x6f06
movq 0x1405a(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d8
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 0x7fc5
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x13ffc(%rip), %rdi     # 0x1bfc8
leaq 0xd1d0(%rip), %rsi      # 0x151a3
movl $0x15, %edx
callq 0x5590
leaq 0xb8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xd144(%rip), %rsi      # 0x15134
leaq 0xd13f(%rip), %rdx      # 0x15136
leaq 0xa8(%rsp), %rdi
callq 0xde28
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0xa8(%rsp), %rcx
movl $0x10, %r8d
callq 0x7133
movq 0x13fa2(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d8
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 0x807d
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x13f44(%rip), %rdi     # 0x1bfc8
leaq 0xe1b3(%rip), %rsi      # 0x1623e
movl $0x1, %edx
callq 0x5590
movq 0x13f2c(%rip), %rdi     # 0x1bfc8
leaq 0xd11c(%rip), %rsi      # 0x151bf
movl $0xe, %edx
callq 0x5590
leaq 0x98(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xe8e7(%rip), %rsi      # 0x169a7
leaq 0xe8e1(%rip), %rdx      # 0x169a8
leaq 0x88(%rsp), %rdi
callq 0xde28
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0x88(%rsp), %rcx
movl $0x10, %r8d
callq 0x6f06
movq 0x13ecd(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d8
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 0x8152
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x13e6f(%rip), %rdi     # 0x1bfc8
leaq 0xd059(%rip), %rsi      # 0x151b9
movl $0x14, %edx
callq 0x5590
leaq 0x78(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xe82d(%rip), %rsi      # 0x169a7
leaq 0xe827(%rip), %rdx      # 0x169a8
leaq 0x68(%rsp), %rdi
callq 0xde28
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
leaq 0x68(%rsp), %rcx
movl $0x10, %r8d
callq 0x7133
movq 0x13e1e(%rip), %rdi     # 0x1bfc8
movq %rsp, %rsi
callq 0xc1d8
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 0x81fb
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x54c0
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x8212
movq 0x60(%rsp), %rsi
subq %rdi, %rsi
callq 0x54c0
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x8229
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 0x8353
jmp 0x856e
movq %rax, %rbx
jmp 0x8376
jmp 0x856e
movq %rax, %rbx
jmp 0x839f
jmp 0x856e
movq %rax, %rbx
jmp 0x83c8
jmp 0x856e
movq %rax, %rbx
jmp 0x83f1
jmp 0x856e
movq %rax, %rbx
jmp 0x841a
jmp 0x856e
movq %rax, %rbx
jmp 0x8443
jmp 0x856e
movq %rax, %rbx
jmp 0x846c
jmp 0x856e
movq %rax, %rbx
jmp 0x8495
jmp 0x856e
movq %rax, %rbx
jmp 0x84be
jmp 0x856e
movq %rax, %rbx
jmp 0x84e7
jmp 0x856e
movq %rax, %rbx
jmp 0x8509
jmp 0x856e
movq %rax, %rbx
jmp 0x852b
jmp 0x856e
movq %rax, %rbx
jmp 0x854d
jmp 0x856e
jmp 0x8340
jmp 0x8340
jmp 0x8322
jmp 0x8340
jmp 0x8322
jmp 0x8340
jmp 0x8322
jmp 0x8340
jmp 0x8322
jmp 0x8340
jmp 0x8322
jmp 0x8340
jmp 0x8322
jmp 0x8340
jmp 0x8322
jmp 0x8340
jmp 0x8322
jmp 0x8340
jmp 0x8322
jmp 0x8340
movq %rax, %rbx
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x859f
movq 0x28(%rsp), %rsi
incq %rsi
jmp 0x859a
movq %rax, %rbx
jmp 0x859f
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x68(%rsp), %rdi
cmpq %r14, %rdi
je 0x8571
movq 0x78(%rsp), %rsi
jmp 0x8562
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x8571
movq 0x98(%rsp), %rsi
jmp 0x8562
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0xa8(%rsp), %rdi
cmpq %r14, %rdi
je 0x8571
movq 0xb8(%rsp), %rsi
jmp 0x8562
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0xc8(%rsp), %rdi
cmpq %r14, %rdi
je 0x8571
movq 0xd8(%rsp), %rsi
jmp 0x8562
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0xe8(%rsp), %rdi
cmpq %r14, %rdi
je 0x8571
movq 0xf8(%rsp), %rsi
jmp 0x8562
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x108(%rsp), %rdi
cmpq %r14, %rdi
je 0x8571
movq 0x118(%rsp), %rsi
jmp 0x8562
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x128(%rsp), %rdi
cmpq %r14, %rdi
je 0x8571
movq 0x138(%rsp), %rsi
jmp 0x8562
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x148(%rsp), %rdi
cmpq %r14, %rdi
je 0x8571
movq 0x158(%rsp), %rsi
jmp 0x8562
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x168(%rsp), %rdi
cmpq %r14, %rdi
je 0x8571
movq 0x178(%rsp), %rsi
jmp 0x8562
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x188(%rsp), %rdi
cmpq %r14, %rdi
je 0x8571
movq 0x198(%rsp), %rsi
jmp 0x8562
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x1a8(%rsp), %rdi
cmpq %r14, %rdi
je 0x8571
movq 0x1b8(%rsp), %rsi
jmp 0x8562
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x1c8(%rsp), %rdi
cmpq %r14, %rdi
je 0x8571
movq 0x1d8(%rsp), %rsi
jmp 0x8562
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x1e8(%rsp), %rdi
cmpq %r14, %rdi
je 0x8571
movq 0x1f8(%rsp), %rsi
jmp 0x8562
movq %rax, %rbx
movq %rsp, %rdi
callq 0xc17a
movq 0x208(%rsp), %rdi
cmpq %r14, %rdi
je 0x8571
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x54c0
jmp 0x8571
jmp 0x856e
movq %rax, %rbx
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x8588
movq 0x60(%rsp), %rsi
subq %rdi, %rsi
callq 0x54c0
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x859f
movq 0x28(%rsp), %rsi
subq %rdi, %rsi
callq 0x54c0
leaq 0x38(%rsp), %rdi
callq 0xc17a
movq %rbx, %rdi
callq 0x58e0