// File: /workspace/github_cpp_makefile_star2_O2/aalto-speech[P]ftk/test/emtest.cc
// Function: TransitionViterbiTest7::test_method()
BOOST_AUTO_TEST_CASE(TransitionViterbiTest7)
{
    string str1("k"); string str2("i");
    string str3("s"); string str4("a");
    string str5("l"); string str6("kissa");
    string str7("lla"); string str8("kissalla");
    set<string> vocab = {start_end,str1,str2,str3,str4,str5,str6,str7,str8};

    transitions_t transitions;
    transitions[start_end][str1] = -1.0;
    transitions[start_end][str6] = -1.0;
    transitions[start_end][str8] = -6.0;
    transitions[str4][start_end] = -1.0;
    transitions[str7][start_end] = -1.0;
    transitions[str8][start_end] = -6.0;
    transitions[str1][str2] = -1.0;
    transitions[str2][str3] = -1.0;
    transitions[str3][str3] = -1.0;
    transitions[str3][str4] = -1.0;
    transitions[str4][str5] = -1.0;
    transitions[str4][str7] = -1.0;
    transitions[str5][str4] = -1.0;
    transitions[str5][str5] = -1.0;
    transitions[str6][str7] = -1.0;
    transitions[str6][str5] = -1.0;
    string sentence("kissalla");
    int maxlen = 8;
    FactorGraph fg(sentence, start_end, vocab, maxlen);
    vector<string> best_path;

    flt_type lp = viterbi(transitions, fg, best_path);
    BOOST_CHECK_EQUAL(4, (int)best_path.size());
    BOOST_CHECK_EQUAL(start_end, best_path[0]);
    BOOST_CHECK_EQUAL(str6, best_path[1]);
    BOOST_CHECK_EQUAL(str7, best_path[2]);
    BOOST_CHECK_EQUAL(start_end, best_path[3]);
    BOOST_CHECK_CLOSE( -3.0, lp, DBL_ACCURACY );

    transitions[str6][str7] = -10.0;
    lp = viterbi(transitions, fg, best_path);
    BOOST_CHECK_EQUAL(6, (int)best_path.size());
    BOOST_CHECK_EQUAL(start_end, best_path[0]);
    BOOST_CHECK_EQUAL(str6, best_path[1]);
    BOOST_CHECK_EQUAL(str5, best_path[2]);
    BOOST_CHECK_EQUAL(str5, best_path[3]);
    BOOST_CHECK_EQUAL(str4, best_path[4]);
    BOOST_CHECK_EQUAL(start_end, best_path[5]);
    BOOST_CHECK_CLOSE( -5.0, lp, DBL_ACCURACY );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x598, %rsp            # imm = 0x598
leaq 0x18143(%rip), %rsi     # 0x53c52
leaq -0x1b0(%rbp), %rdi
leaq -0x2f0(%rbp), %rdx
callq 0x5160
leaq 0x17c3f(%rip), %rsi     # 0x53768
leaq -0x190(%rbp), %rdi
leaq -0x2f0(%rbp), %rdx
callq 0x5160
leaq 0x174cb(%rip), %rsi     # 0x5300e
leaq -0x150(%rbp), %rdi
leaq -0x2f0(%rbp), %rdx
callq 0x5160
leaq 0x183cf(%rip), %rsi     # 0x53f2c
leaq -0x110(%rbp), %rdi
leaq -0x2f0(%rbp), %rdx
callq 0x5160
leaq 0x183ad(%rip), %rsi     # 0x53f24
leaq -0xd0(%rbp), %rdi
leaq -0x2f0(%rbp), %rdx
callq 0x5160
leaq 0x180c3(%rip), %rsi     # 0x53c54
leaq -0xf0(%rbp), %rdi
leaq -0x2f0(%rbp), %rdx
callq 0x5160
leaq 0x180b4(%rip), %rsi     # 0x53c5f
leaq -0x130(%rbp), %rdi
leaq -0x2f0(%rbp), %rdx
callq 0x5160
leaq 0x18095(%rip), %rsi     # 0x53c5a
leaq -0x170(%rbp), %rdi
leaq -0x2f0(%rbp), %rdx
callq 0x5160
leaq 0x349a9(%rip), %rsi     # 0x70588
leaq -0x2f0(%rbp), %r14
movq %r14, %rdi
callq 0x54f0
leaq -0x2d0(%rbp), %r15
leaq -0x1b0(%rbp), %rsi
movq %r15, %rdi
callq 0x54f0
leaq -0x2b0(%rbp), %r15
leaq -0x190(%rbp), %rsi
movq %r15, %rdi
callq 0x54f0
leaq -0x290(%rbp), %r15
leaq -0x150(%rbp), %rsi
movq %r15, %rdi
callq 0x54f0
leaq -0x270(%rbp), %r15
leaq -0x110(%rbp), %rsi
movq %r15, %rdi
callq 0x54f0
leaq -0x250(%rbp), %r15
leaq -0xd0(%rbp), %rsi
movq %r15, %rdi
callq 0x54f0
leaq -0x230(%rbp), %r15
leaq -0xf0(%rbp), %rsi
movq %r15, %rdi
callq 0x54f0
leaq -0x210(%rbp), %r15
leaq -0x130(%rbp), %rsi
movq %r15, %rdi
callq 0x54f0
leaq -0x1f0(%rbp), %r15
leaq -0x170(%rbp), %rsi
movq %r15, %rdi
callq 0x54f0
leaq -0x320(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
pushq $0x9
popq %rdx
leaq -0x90(%rbp), %rcx
leaq -0x1d0(%rbp), %r8
callq 0x4ed0a
movl $0x100, %ebx            # imm = 0x100
leaq (%rbx,%rbp), %rdi
addq $-0x2f0, %rdi           # imm = 0xFD10
callq 0x57b8
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0x3bcc7
leaq -0x88(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq 0x34884(%rip), %rsi     # 0x70588
leaq -0x90(%rbp), %rdi
callq 0x1b5f0
leaq -0x1b0(%rbp), %rsi
movq %rax, %rdi
callq 0x1b338
movabsq $-0x4010000000000000, %rbx # imm = 0xBFF0000000000000
movq %rbx, (%rax)
leaq 0x34855(%rip), %rsi     # 0x70588
leaq -0x90(%rbp), %rdi
callq 0x1b5f0
leaq -0xf0(%rbp), %rsi
movq %rax, %rdi
callq 0x1b338
movq %rbx, (%rax)
leaq 0x34830(%rip), %rsi     # 0x70588
leaq -0x90(%rbp), %rdi
callq 0x1b5f0
leaq -0x170(%rbp), %rsi
movq %rax, %rdi
callq 0x1b338
movabsq $-0x3fe8000000000000, %r14 # imm = 0xC018000000000000
movq %r14, (%rax)
leaq -0x90(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x1b5f0
leaq 0x347ee(%rip), %rsi     # 0x70588
movq %rax, %rdi
callq 0x1b338
movq %rbx, (%rax)
leaq -0x90(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x1b5f0
leaq 0x347c9(%rip), %rsi     # 0x70588
movq %rax, %rdi
callq 0x1b338
movq %rbx, (%rax)
leaq -0x90(%rbp), %rdi
leaq -0x170(%rbp), %rsi
callq 0x1b5f0
leaq 0x347a4(%rip), %rsi     # 0x70588
movq %rax, %rdi
callq 0x1b338
movq %r14, (%rax)
leaq -0x90(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x1b5f0
leaq -0x190(%rbp), %rsi
movq %rax, %rdi
callq 0x1b338
movq %rbx, (%rax)
leaq -0x90(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x1b5f0
leaq -0x150(%rbp), %rsi
movq %rax, %rdi
callq 0x1b338
movq %rbx, (%rax)
leaq -0x90(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x1b5f0
leaq -0x150(%rbp), %rsi
movq %rax, %rdi
callq 0x1b338
movq %rbx, (%rax)
leaq -0x90(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x1b5f0
leaq -0x110(%rbp), %rsi
movq %rax, %rdi
callq 0x1b338
movq %rbx, (%rax)
leaq -0x90(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x1b5f0
leaq -0xd0(%rbp), %rsi
movq %rax, %rdi
callq 0x1b338
movq %rbx, (%rax)
leaq -0x90(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x1b5f0
leaq -0x130(%rbp), %rsi
movq %rax, %rdi
callq 0x1b338
movq %rbx, (%rax)
leaq -0x90(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x1b5f0
leaq -0x110(%rbp), %rsi
movq %rax, %rdi
callq 0x1b338
movq %rbx, (%rax)
leaq -0x90(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x1b5f0
leaq -0xd0(%rbp), %rsi
movq %rax, %rdi
callq 0x1b338
movq %rbx, (%rax)
leaq -0x90(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x1b5f0
leaq -0x130(%rbp), %rsi
movq %rax, %rdi
callq 0x1b338
movq %rbx, (%rax)
leaq -0x90(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x1b5f0
leaq -0xd0(%rbp), %rsi
movq %rax, %rdi
callq 0x1b338
movq %rbx, (%rax)
leaq 0x17cf2(%rip), %rsi     # 0x53c5a
leaq -0x1d0(%rbp), %rdi
leaq -0x2f0(%rbp), %rdx
callq 0x5160
leaq 0x34606(%rip), %rdx     # 0x70588
leaq -0x2f0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
leaq -0x320(%rbp), %rcx
pushq $0x8
popq %r8
xorl %r9d, %r9d
callq 0xf742
xorps %xmm0, %xmm0
leaq -0x50(%rbp), %rdx
movaps %xmm0, (%rdx)
andq $0x0, 0x10(%rdx)
leaq -0x90(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
pushq $0x1
popq %rcx
callq 0x18633
movsd %xmm0, -0x60(%rbp)
movq 0x3456c(%rip), %rdi     # 0x70540
leaq 0x17ba5(%rip), %rbx     # 0x53b80
leaq -0x5c0(%rbp), %rsi
movq %rbx, (%rsi)
leaq 0x17ba2(%rip), %r14     # 0x53b8e
movq %r14, 0x8(%rsi)
leaq 0x17a1e(%rip), %r12     # 0x53a15
leaq -0x5b0(%rbp), %rcx
movq %r12, (%rcx)
movq %r12, 0x8(%rcx)
movl $0x303, %edx            # imm = 0x303
callq 0x5710
leaq -0xb0(%rbp), %rdi
movb $0x0, 0x8(%rdi)
leaq 0x33abf(%rip), %rax     # 0x6fae0
movq %rax, (%rdi)
movq 0x33f85(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rdi)
leaq 0x17321(%rip), %rax     # 0x53357
movq %rax, 0x18(%rdi)
leaq -0x5a0(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
leaq -0x58(%rbp), %r9
movq -0x48(%rbp), %rax
subq -0x50(%rbp), %rax
movl $0x4, (%r9)
shrq $0x5, %rax
leaq -0x30(%rbp), %r10
movl %eax, (%r10)
subq $0x8, %rsp
leaq 0x18084(%rip), %r13     # 0x540f5
leaq 0x185ea(%rip), %rax     # 0x54662
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
movl $0x303, %edx            # imm = 0x303
pushq %r13
pushq %r10
pushq %rax
callq 0x4ea09
addq $0x20, %rsp
movq 0x344a7(%rip), %rdi     # 0x70540
leaq -0x590(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
leaq -0x580(%rbp), %rcx
movq %r12, (%rcx)
movq %r12, 0x8(%rcx)
movl $0x304, %edx            # imm = 0x304
callq 0x5710
leaq -0xb0(%rbp), %rdi
movb $0x0, 0x8(%rdi)
leaq 0x33a0f(%rip), %rax     # 0x6fae0
movq %rax, (%rdi)
movq 0x33ed5(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rdi)
leaq 0x17271(%rip), %rax     # 0x53357
movq %rax, 0x18(%rdi)
leaq -0x570(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
subq $0x8, %rsp
leaq 0x18012(%rip), %r10     # 0x54115
leaq 0x18001(%rip), %rax     # 0x5410b
leaq 0x34477(%rip), %r9      # 0x70588
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
movl $0x304, %edx            # imm = 0x304
pushq %r10
pushq -0x50(%rbp)
pushq %rax
callq 0x4e913
addq $0x20, %rsp
movq 0x3440d(%rip), %rdi     # 0x70540
leaq -0x560(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
leaq -0x550(%rbp), %rcx
movq %r12, (%rcx)
movq %r12, 0x8(%rcx)
movl $0x305, %edx            # imm = 0x305
callq 0x5710
leaq -0xb0(%rbp), %rdi
movb $0x0, 0x8(%rdi)
leaq 0x33975(%rip), %rax     # 0x6fae0
movq %rax, (%rdi)
movq 0x33e3b(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rdi)
leaq 0x171d7(%rip), %rax     # 0x53357
movq %rax, 0x18(%rdi)
leaq -0x540(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
movq -0x50(%rbp), %rax
addq $0x20, %rax
subq $0x8, %rsp
leaq 0x17f82(%rip), %r11     # 0x54127
leaq 0x1803b(%rip), %r10     # 0x541e7
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
leaq -0xf0(%rbp), %r9
movl $0x305, %edx            # imm = 0x305
pushq %r11
pushq %rax
pushq %r10
callq 0x4e913
addq $0x20, %rsp
movq 0x3436c(%rip), %rdi     # 0x70540
leaq -0x530(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
leaq -0x520(%rbp), %rcx
movq %r12, (%rcx)
movq %r12, 0x8(%rcx)
movl $0x306, %edx            # imm = 0x306
callq 0x5710
leaq -0xb0(%rbp), %rdi
movb $0x0, 0x8(%rdi)
leaq 0x338d4(%rip), %rax     # 0x6fae0
movq %rax, (%rdi)
movq 0x33d9a(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rdi)
leaq 0x17136(%rip), %rax     # 0x53357
movq %rax, 0x18(%rdi)
leaq -0x510(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
movq -0x50(%rbp), %rax
addq $0x40, %rax
subq $0x8, %rsp
leaq 0x17ef3(%rip), %r11     # 0x54139
leaq 0x17f9f(%rip), %r10     # 0x541ec
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
leaq -0x130(%rbp), %r9
movl $0x306, %edx            # imm = 0x306
pushq %r11
pushq %rax
pushq %r10
callq 0x4e913
addq $0x20, %rsp
movq 0x342cb(%rip), %rdi     # 0x70540
leaq -0x500(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
leaq -0x4f0(%rbp), %rcx
movq %r12, (%rcx)
movq %r12, 0x8(%rcx)
movl $0x307, %edx            # imm = 0x307
callq 0x5710
leaq -0xb0(%rbp), %rdi
movb $0x0, 0x8(%rdi)
leaq 0x33833(%rip), %rax     # 0x6fae0
movq %rax, (%rdi)
movq 0x33cf9(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rdi)
leaq 0x17095(%rip), %rax     # 0x53357
movq %rax, 0x18(%rdi)
leaq -0x4e0(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
movq -0x50(%rbp), %rax
addq $0x60, %rax
subq $0x8, %rsp
leaq 0x17e5f(%rip), %r10     # 0x54146
leaq 0x3429a(%rip), %r9      # 0x70588
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
movl $0x307, %edx            # imm = 0x307
pushq %r10
pushq %rax
leaq 0x17e07(%rip), %rax     # 0x5410b
pushq %rax
callq 0x4e913
addq $0x20, %rsp
movq 0x3422b(%rip), %rdi     # 0x70540
leaq -0x4d0(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
leaq -0x4c0(%rbp), %rcx
movq %r12, (%rcx)
movq %r12, 0x8(%rcx)
movl $0x308, %edx            # imm = 0x308
callq 0x5710
leaq -0xb0(%rbp), %rdi
movb $0x0, 0x8(%rdi)
leaq 0x33793(%rip), %rax     # 0x6fae0
movq %rax, (%rdi)
movq 0x33c59(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rdi)
leaq 0x16ff5(%rip), %rax     # 0x53357
movq %rax, 0x18(%rdi)
leaq -0x4b0(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
movabsq $-0x3ff8000000000000, %rax # imm = 0xC008000000000000
leaq -0x58(%rbp), %r9
movq %rax, (%r9)
movsd 0x34073(%rip), %xmm0    # 0x70400
movsd %xmm0, -0x30(%rbp)
subq $0x8, %rsp
leaq 0x17960(%rip), %r10     # 0x53cfd
leaq 0x183ea(%rip), %r11     # 0x5478e
leaq -0x60(%rbp), %r15
leaq 0x174ce(%rip), %rax     # 0x5387d
pushq $0x1
popq %rcx
pushq $0x8
popq %r8
movl $0x308, %edx            # imm = 0x308
pushq %r10
leaq -0x30(%rbp), %r10
pushq %r10
pushq %r11
pushq %r15
pushq %rax
callq 0x4eaf1
addq $0x30, %rsp
leaq -0x90(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x1b5f0
leaq -0x130(%rbp), %rsi
movq %rax, %rdi
callq 0x1b338
movabsq $-0x3fdc000000000000, %rcx # imm = 0xC024000000000000
movq %rcx, (%rax)
leaq -0x90(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
leaq -0x50(%rbp), %rdx
pushq $0x1
popq %rcx
callq 0x18633
movsd %xmm0, -0x60(%rbp)
movq 0x3411a(%rip), %rdi     # 0x70540
leaq -0x4a0(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
leaq -0x490(%rbp), %rcx
movq %r12, (%rcx)
movq %r12, 0x8(%rcx)
movl $0x30c, %edx            # imm = 0x30C
callq 0x5710
leaq -0xb0(%rbp), %rdi
movb $0x0, 0x8(%rdi)
leaq 0x33682(%rip), %rax     # 0x6fae0
movq %rax, (%rdi)
movq 0x33b48(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rdi)
leaq 0x16ee4(%rip), %rax     # 0x53357
movq %rax, 0x18(%rdi)
leaq -0x480(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
leaq -0x58(%rbp), %r9
movl $0x6, (%r9)
movq -0x48(%rbp), %rax
subq -0x50(%rbp), %rax
shrq $0x5, %rax
movl %eax, -0x30(%rbp)
subq $0x8, %rsp
leaq 0x1822b(%rip), %rax     # 0x546d5
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
movl $0x30c, %edx            # imm = 0x30C
pushq %r13
leaq -0x30(%rbp), %r10
pushq %r10
pushq %rax
callq 0x4ea09
addq $0x20, %rsp
movq 0x34071(%rip), %rdi     # 0x70540
leaq -0x470(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
leaq -0x460(%rbp), %rcx
movq %r12, (%rcx)
movq %r12, 0x8(%rcx)
movl $0x30d, %edx            # imm = 0x30D
callq 0x5710
leaq -0xb0(%rbp), %rdi
movb $0x0, 0x8(%rdi)
leaq 0x335d9(%rip), %rax     # 0x6fae0
movq %rax, (%rdi)
movq 0x33a9f(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rdi)
leaq 0x16e3b(%rip), %rax     # 0x53357
movq %rax, 0x18(%rdi)
leaq -0x450(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
subq $0x8, %rsp
leaq 0x3404f(%rip), %r9      # 0x70588
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
movl $0x30d, %edx            # imm = 0x30D
leaq 0x17bc9(%rip), %rax     # 0x54115
pushq %rax
pushq -0x50(%rbp)
leaq 0x17bb4(%rip), %rax     # 0x5410b
pushq %rax
callq 0x4e913
addq $0x20, %rsp
movq 0x33fd8(%rip), %rdi     # 0x70540
leaq -0x440(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
leaq -0x430(%rbp), %rcx
movq %r12, (%rcx)
movq %r12, 0x8(%rcx)
movl $0x30e, %edx            # imm = 0x30E
callq 0x5710
leaq -0xb0(%rbp), %rdi
movb $0x0, 0x8(%rdi)
leaq 0x33540(%rip), %rax     # 0x6fae0
movq %rax, (%rdi)
movq 0x33a06(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rdi)
leaq 0x16da2(%rip), %rax     # 0x53357
movq %rax, 0x18(%rdi)
leaq -0x420(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
movq -0x50(%rbp), %rax
addq $0x20, %rax
subq $0x8, %rsp
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
leaq -0xf0(%rbp), %r9
movl $0x30e, %edx            # imm = 0x30E
leaq 0x17b3a(%rip), %r10     # 0x54127
pushq %r10
pushq %rax
leaq 0x17bf0(%rip), %rax     # 0x541e7
pushq %rax
callq 0x4e913
addq $0x20, %rsp
movq 0x33f38(%rip), %rdi     # 0x70540
leaq -0x410(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
leaq -0x400(%rbp), %rcx
movq %r12, (%rcx)
movq %r12, 0x8(%rcx)
movl $0x30f, %edx            # imm = 0x30F
callq 0x5710
leaq -0xb0(%rbp), %rdi
movb $0x0, 0x8(%rdi)
leaq 0x334a0(%rip), %rax     # 0x6fae0
movq %rax, (%rdi)
movq 0x33966(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rdi)
leaq 0x16d02(%rip), %rax     # 0x53357
movq %rax, 0x18(%rdi)
leaq -0x3f0(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
movq -0x50(%rbp), %rax
addq $0x40, %rax
subq $0x8, %rsp
leaq 0x17b77(%rip), %r15     # 0x541f1
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
leaq -0xd0(%rbp), %r9
movl $0x30f, %edx            # imm = 0x30F
leaq 0x17aa5(%rip), %r10     # 0x54139
pushq %r10
pushq %rax
pushq %r15
callq 0x4e913
addq $0x20, %rsp
movq 0x33e97(%rip), %rdi     # 0x70540
leaq -0x3e0(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
leaq -0x3d0(%rbp), %rcx
movq %r12, (%rcx)
movq %r12, 0x8(%rcx)
movl $0x310, %edx            # imm = 0x310
callq 0x5710
leaq -0xb0(%rbp), %rdi
movb $0x0, 0x8(%rdi)
leaq 0x333ff(%rip), %rax     # 0x6fae0
movq %rax, (%rdi)
movq 0x338c5(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rdi)
leaq 0x16c61(%rip), %rax     # 0x53357
movq %rax, 0x18(%rdi)
leaq -0x3c0(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
movq -0x50(%rbp), %rax
addq $0x60, %rax
subq $0x8, %rsp
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
leaq -0xd0(%rbp), %r9
movl $0x310, %edx            # imm = 0x310
leaq 0x17a18(%rip), %r10     # 0x54146
pushq %r10
pushq %rax
pushq %r15
callq 0x4e913
addq $0x20, %rsp
movq 0x33dfd(%rip), %rdi     # 0x70540
leaq -0x3b0(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
leaq -0x3a0(%rbp), %rcx
movq %r12, (%rcx)
movq %r12, 0x8(%rcx)
movl $0x311, %edx            # imm = 0x311
callq 0x5710
leaq -0xb0(%rbp), %rdi
movb $0x0, 0x8(%rdi)
leaq 0x33365(%rip), %rax     # 0x6fae0
movq %rax, (%rdi)
movq 0x3382b(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rdi)
leaq 0x16bc7(%rip), %rax     # 0x53357
movq %rax, 0x18(%rdi)
leaq -0x390(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
movq -0x50(%rbp), %rax
subq $-0x80, %rax
subq $0x8, %rsp
leaq 0x17a41(%rip), %r10     # 0x541f6
leaq 0x179b3(%rip), %r11     # 0x5416f
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
leaq -0x110(%rbp), %r9
movl $0x311, %edx            # imm = 0x311
pushq %r10
pushq %rax
pushq %r11
callq 0x4e913
addq $0x20, %rsp
movq 0x33d5c(%rip), %rdi     # 0x70540
leaq -0x380(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
leaq -0x370(%rbp), %rcx
movq %r12, (%rcx)
movq %r12, 0x8(%rcx)
movl $0x312, %edx            # imm = 0x312
callq 0x5710
leaq -0xb0(%rbp), %rdi
movb $0x0, 0x8(%rdi)
leaq 0x332c4(%rip), %rax     # 0x6fae0
movq %rax, (%rdi)
movq 0x3378a(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rdi)
leaq 0x16b26(%rip), %rax     # 0x53357
movq %rax, 0x18(%rdi)
leaq -0x360(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
movl $0xa0, %eax
addq -0x50(%rbp), %rax
subq $0x8, %rsp
leaq 0x179ac(%rip), %r10     # 0x54203
leaq 0x33d2a(%rip), %r9      # 0x70588
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
movl $0x312, %edx            # imm = 0x312
pushq %r10
pushq %rax
leaq 0x17897(%rip), %rax     # 0x5410b
pushq %rax
callq 0x4e913
addq $0x20, %rsp
movq 0x33cbb(%rip), %rdi     # 0x70540
leaq -0x350(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
leaq -0x340(%rbp), %rcx
movq %r12, (%rcx)
movq %r12, 0x8(%rcx)
movl $0x313, %edx            # imm = 0x313
callq 0x5710
leaq -0xb0(%rbp), %rdi
movb $0x0, 0x8(%rdi)
leaq 0x33223(%rip), %rax     # 0x6fae0
movq %rax, (%rdi)
movq 0x336e9(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rdi)
leaq 0x16a85(%rip), %rax     # 0x53357
movq %rax, 0x18(%rdi)
leaq -0x330(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
movabsq $-0x3fec000000000000, %rax # imm = 0xC014000000000000
leaq -0x58(%rbp), %r9
movq %rax, (%r9)
movsd 0x33b03(%rip), %xmm0    # 0x70400
movsd %xmm0, -0x30(%rbp)
subq $0x8, %rsp
leaq 0x16fa5(%rip), %rax     # 0x538b2
pushq $0x1
popq %rcx
pushq $0x8
popq %r8
movl $0x313, %edx            # imm = 0x313
leaq 0x173dd(%rip), %r10     # 0x53cfd
pushq %r10
leaq -0x30(%rbp), %r10
pushq %r10
leaq 0x17e5f(%rip), %r10     # 0x5478e
pushq %r10
leaq -0x60(%rbp), %r10
pushq %r10
pushq %rax
callq 0x4eaf1
addq $0x30, %rsp
leaq -0x50(%rbp), %rdi
callq 0x9574
leaq -0x2f0(%rbp), %rdi
callq 0x10c24
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq -0x90(%rbp), %rdi
callq 0x1bb0c
leaq -0x320(%rbp), %rdi
callq 0x200e8
leaq -0x170(%rbp), %rdi
callq 0x57b8
leaq -0x130(%rbp), %rdi
callq 0x57b8
leaq -0xf0(%rbp), %rdi
callq 0x57b8
leaq -0xd0(%rbp), %rdi
callq 0x57b8
leaq -0x110(%rbp), %rdi
callq 0x57b8
leaq -0x150(%rbp), %rdi
callq 0x57b8
leaq -0x190(%rbp), %rdi
callq 0x57b8
leaq -0x1b0(%rbp), %rdi
callq 0x57b8
addq $0x598, %rsp            # imm = 0x598
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3cabd
jmp 0x3cabd
jmp 0x3cabd
jmp 0x3cabd
jmp 0x3cabd
jmp 0x3cabd
jmp 0x3cabd
jmp 0x3cabd
jmp 0x3cabd
jmp 0x3cabd
jmp 0x3cabd
jmp 0x3cabd
jmp 0x3cabd
jmp 0x3cabd
movq %rax, %rbx
jmp 0x3cad5
jmp 0x3cae3
movq %rax, %rbx
movl $0x100, %r14d           # imm = 0x100
leaq (%r14,%rbp), %rdi
addq $-0x2f0, %rdi           # imm = 0xFD10
callq 0x57b8
addq $-0x20, %r14
cmpq $-0x20, %r14
jne 0x3ca48
jmp 0x3cafe
movq %rax, %rbx
jmp 0x3cafe
movq %rax, %rbx
jmp 0x3cb0a
movq %rax, %rbx
jmp 0x3cb16
movq %rax, %rbx
jmp 0x3cb22
movq %rax, %rbx
jmp 0x3cb2e
movq %rax, %rbx
jmp 0x3cb3a
movq %rax, %rbx
jmp 0x3cb46
movq %rax, %rbx
jmp 0x3cb52
movq %rax, %rbx
addq $-0x20, %r15
movq %r15, %rdi
callq 0x57b8
cmpq %r14, %r15
jne 0x3caaa
jmp 0x3cafe
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x9574
leaq -0x2f0(%rbp), %rdi
callq 0x10c24
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
jmp 0x3cae6
movq %rax, %rbx
leaq -0x90(%rbp), %rdi
callq 0x1bb0c
leaq -0x320(%rbp), %rdi
callq 0x200e8
leaq -0x170(%rbp), %rdi
callq 0x57b8
leaq -0x130(%rbp), %rdi
callq 0x57b8
leaq -0xf0(%rbp), %rdi
callq 0x57b8
leaq -0xd0(%rbp), %rdi
callq 0x57b8
leaq -0x110(%rbp), %rdi
callq 0x57b8
leaq -0x150(%rbp), %rdi
callq 0x57b8
leaq -0x190(%rbp), %rdi
callq 0x57b8
leaq -0x1b0(%rbp), %rdi
callq 0x57b8
movq %rbx, %rdi
callq 0x56b0