// File: /workspace/github_cpp_makefile_star2_O2/aalto-speech[P]ftk/test/emtest.cc
// Function: MSFGViterbiTest1::test_method()
BOOST_AUTO_TEST_CASE(MSFGViterbiTest1)
{
    set<string> vocab = {"k","i","s","a","sa","ki","kis","kissa"};

    transitions_t transitions;
    transitions[start_end]["k"] = log(0.5);
    transitions[start_end]["ki"] = log(0.25);
    transitions[start_end]["kis"] = log(0.4);
    transitions[start_end]["kissa"] = log(0.1);
    transitions["a"][start_end] = log(0.5);
    transitions["kissa"][start_end] = log(0.10);
    transitions["sa"][start_end] = log(0.4);
    transitions["ki"]["s"] = log(0.25);
    transitions["k"]["i"] = log(0.5);
    transitions["i"]["s"] = log(0.5);
    transitions["s"]["s"] = log(0.5);
    transitions["s"]["sa"] = log(0.5);
    transitions["s"]["a"] = log(0.5);
    transitions["kis"]["sa"] = log(0.4);
    transitions["kis"]["s"] = log(0.4);

    transitions["i"]["sa"] = log(0.8);
    transitions["a"]["a"] = log(0.8);
    transitions["ki"]["sa"] = log(0.8);
    transitions["kis"]["a"] = log(0.8);
    transitions["kissa"]["a"] = log(0.8);
    transitions["sa"]["a"] = log(0.8);

    string sentence("kissa");
    FactorGraph fg(sentence, start_end, vocab, 5);

    MultiStringFactorGraph msfg(start_end);
    msfg.add(fg);
    FactorGraph fg2("kisa", start_end, vocab, 5);
    msfg.add(fg2);
    FactorGraph fg3("kissaa", start_end, vocab, 5);
    msfg.add(fg3);
    msfg.update_factor_node_map();
    assign_scores(transitions, msfg);

    transitions_t stats;
    vector<string> viterbi_path;
    flt_type lp = viterbi(transitions, fg, viterbi_path);
    lp = viterbi(transitions, fg, stats);

    transitions_t msfg_stats;
    vector<string> msfg_viterbi_path;
    flt_type msfg_lp = viterbi(msfg, sentence, msfg_viterbi_path);
    msfg_lp = viterbi(msfg, sentence, msfg_stats);

    BOOST_CHECK_CLOSE( lp, msfg_lp, DBL_ACCURACY );
    BOOST_CHECK( viterbi_path == msfg_viterbi_path );
    BOOST_CHECK( stats == msfg_stats );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x498, %rsp            # imm = 0x498
leaq 0x7a1d(%rip), %rsi      # 0x53c52
leaq -0x1d0(%rbp), %r14
leaq -0xa0(%rbp), %rdx
movq %r14, %rdi
callq 0x5160
leaq -0x1b0(%rbp), %r15
leaq 0x750f(%rip), %rsi      # 0x53768
leaq -0x380(%rbp), %rdx
movq %r15, %rdi
callq 0x5160
leaq -0x190(%rbp), %r15
leaq 0x6d98(%rip), %rsi      # 0x5300e
leaq -0x2f8(%rbp), %rdx
movq %r15, %rdi
callq 0x5160
leaq -0x170(%rbp), %r15
leaq 0x7c99(%rip), %rsi      # 0x53f2c
leaq -0xd0(%rbp), %rdx
movq %r15, %rdi
callq 0x5160
leaq -0x150(%rbp), %r15
leaq 0x8510(%rip), %rsi      # 0x547c0
leaq -0x228(%rbp), %rdx
movq %r15, %rdi
callq 0x5160
leaq -0x130(%rbp), %r15
leaq 0x7ab7(%rip), %rsi      # 0x53d84
leaq -0x3b0(%rbp), %rdx
movq %r15, %rdi
callq 0x5160
leaq -0x110(%rbp), %r15
leaq 0x7a9d(%rip), %rsi      # 0x53d87
leaq -0x248(%rbp), %rdx
movq %r15, %rdi
callq 0x5160
leaq -0xf0(%rbp), %r15
leaq 0x794d(%rip), %rsi      # 0x53c54
leaq -0x3d0(%rbp), %rdx
movq %r15, %rdi
callq 0x5160
leaq -0x400(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
pushq $0x8
popq %rdx
leaq -0x280(%rbp), %rcx
leaq -0x260(%rbp), %r8
callq 0x4ed0a
movl $0xe0, %ebx
leaq (%rbx,%rbp), %rdi
addq $-0x1d0, %rdi           # imm = 0xFE30
callq 0x57b8
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0x4c33f
leaq -0xc8(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq 0x2420c(%rip), %rsi     # 0x70588
leaq -0xd0(%rbp), %rdi
callq 0x1b5f0
movq %rax, %rbx
leaq 0x78c0(%rip), %rsi      # 0x53c52
leaq -0x1d0(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x5160
leaq -0x1d0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1b3d2
movabsq $-0x4019d1bd0105c611, %r15 # imm = 0xBFE62E42FEFA39EF
movq %r15, (%rax)
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x241b4(%rip), %rsi     # 0x70588
leaq -0xd0(%rbp), %rdi
callq 0x1b5f0
movq %rax, %rbx
leaq 0x799a(%rip), %rsi      # 0x53d84
leaq -0x1d0(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x5160
leaq -0x1d0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1b3d2
movabsq $-0x4009d1bd0105c611, %r12 # imm = 0xBFF62E42FEFA39EF
movq %r12, (%rax)
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x2415c(%rip), %rsi     # 0x70588
leaq -0xd0(%rbp), %rdi
callq 0x1b5f0
movq %rax, %rbx
leaq 0x7945(%rip), %rsi      # 0x53d87
leaq -0x1d0(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x5160
leaq -0x1d0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1b3d2
movabsq $-0x4012adbf0f1f1f89, %r14 # imm = 0xBFED5240F0E0E077
movq %r14, (%rax)
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x24104(%rip), %rsi     # 0x70588
leaq -0xd0(%rbp), %rdi
callq 0x1b5f0
movq %rax, %rbx
leaq 0x77ba(%rip), %rsi      # 0x53c54
leaq -0x1d0(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x5160
leaq -0x1d0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1b3d2
movabsq $-0x3ffd944e444aaaeb, %rbx # imm = 0xC0026BB1BBB55515
movq %rbx, (%rax)
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x7a50(%rip), %rsi      # 0x53f2c
leaq -0x1d0(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
leaq 0x2407f(%rip), %rsi     # 0x70588
movq %rax, %rdi
callq 0x1b338
movq %r15, (%rax)
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x772d(%rip), %rsi      # 0x53c54
leaq -0x1d0(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
leaq 0x24034(%rip), %rsi     # 0x70588
movq %rax, %rdi
callq 0x1b338
movq %rbx, (%rax)
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x824e(%rip), %rsi      # 0x547c0
leaq -0x1d0(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
leaq 0x23fe9(%rip), %rsi     # 0x70588
movq %rax, %rdi
callq 0x1b338
movq %r14, (%rax)
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x77c7(%rip), %rsi      # 0x53d84
leaq -0x1d0(%rbp), %rdi
leaq -0x380(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %rbx
leaq 0x6a21(%rip), %rsi      # 0x5300e
leaq -0xa0(%rbp), %rdi
leaq -0x2f8(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1b3d2
movq %r12, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x7621(%rip), %rsi      # 0x53c52
leaq -0x1d0(%rbp), %rdi
leaq -0x380(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %rbx
leaq 0x7107(%rip), %rsi      # 0x53768
leaq -0xa0(%rbp), %rdi
leaq -0x2f8(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1b3d2
movq %r15, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x70c3(%rip), %rsi      # 0x53768
leaq -0x1d0(%rbp), %rdi
leaq -0x380(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %rbx
leaq 0x6939(%rip), %rsi      # 0x5300e
leaq -0xa0(%rbp), %rdi
leaq -0x2f8(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1b3d2
movq %r15, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x68f5(%rip), %rsi      # 0x5300e
leaq -0x1d0(%rbp), %rdi
leaq -0x380(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %rbx
leaq 0x68c5(%rip), %rsi      # 0x5300e
leaq -0xa0(%rbp), %rdi
leaq -0x2f8(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1b3d2
movq %r15, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x6881(%rip), %rsi      # 0x5300e
leaq -0x1d0(%rbp), %rdi
leaq -0x380(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %rbx
leaq 0x8003(%rip), %rsi      # 0x547c0
leaq -0xa0(%rbp), %rdi
leaq -0x2f8(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1b3d2
movq %r15, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x680d(%rip), %rsi      # 0x5300e
leaq -0x1d0(%rbp), %rdi
leaq -0x380(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %rbx
leaq 0x76fb(%rip), %rsi      # 0x53f2c
leaq -0xa0(%rbp), %rdi
leaq -0x2f8(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1b3d2
movq %r15, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x7512(%rip), %rsi      # 0x53d87
leaq -0x1d0(%rbp), %rdi
leaq -0x380(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %rbx
leaq 0x7f1b(%rip), %rsi      # 0x547c0
leaq -0xa0(%rbp), %rdi
leaq -0x2f8(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1b3d2
movq %r14, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x749e(%rip), %rsi      # 0x53d87
leaq -0x1d0(%rbp), %rdi
leaq -0x380(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %rbx
leaq 0x66f5(%rip), %rsi      # 0x5300e
leaq -0xa0(%rbp), %rdi
leaq -0x2f8(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1b3d2
movq %r14, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x6e0b(%rip), %rsi      # 0x53768
leaq -0x1d0(%rbp), %rdi
leaq -0x380(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %rbx
leaq 0x7e33(%rip), %rsi      # 0x547c0
leaq -0xa0(%rbp), %rdi
leaq -0x2f8(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1b3d2
movabsq $-0x40337008386565e0, %r14 # imm = 0xBFCC8FF7C79A9A20
movq %r14, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x7551(%rip), %rsi      # 0x53f2c
leaq -0x1d0(%rbp), %rdi
leaq -0x380(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %rbx
leaq 0x7521(%rip), %rsi      # 0x53f2c
leaq -0xa0(%rbp), %rdi
leaq -0x2f8(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1b3d2
movq %r14, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x7335(%rip), %rsi      # 0x53d84
leaq -0x1d0(%rbp), %rdi
leaq -0x380(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %rbx
leaq 0x7d41(%rip), %rsi      # 0x547c0
leaq -0xa0(%rbp), %rdi
leaq -0x2f8(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1b3d2
movq %r14, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x72c4(%rip), %rsi      # 0x53d87
leaq -0x1d0(%rbp), %rdi
leaq -0x380(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %rbx
leaq 0x7439(%rip), %rsi      # 0x53f2c
leaq -0xa0(%rbp), %rdi
leaq -0x2f8(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1b3d2
movq %r14, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x711d(%rip), %rsi      # 0x53c54
leaq -0x1d0(%rbp), %rdi
leaq -0x380(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %rbx
leaq 0x73c5(%rip), %rsi      # 0x53f2c
leaq -0xa0(%rbp), %rdi
leaq -0x2f8(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1b3d2
movq %r14, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x7c15(%rip), %rsi      # 0x547c0
leaq -0x1d0(%rbp), %rdi
leaq -0x380(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %rbx
leaq 0x7351(%rip), %rsi      # 0x53f2c
leaq -0xa0(%rbp), %rdi
leaq -0x2f8(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %rbx, %rdi
callq 0x1b3d2
movq %r14, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x7035(%rip), %rsi      # 0x53c54
leaq -0x248(%rbp), %rdi
leaq -0x1d0(%rbp), %rdx
callq 0x5160
leaq 0x2394f(%rip), %rdx     # 0x70588
leaq -0xa0(%rbp), %rdi
leaq -0x248(%rbp), %rsi
leaq -0x400(%rbp), %rcx
pushq $0x5
popq %r8
xorl %r9d, %r9d
callq 0xf742
leaq 0x23927(%rip), %rsi     # 0x70588
leaq -0x1d0(%rbp), %rdi
callq 0x4ee8c
leaq -0x1d0(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
pushq $0x1
popq %rdx
callq 0x129ea
leaq 0x7b34(%rip), %rsi      # 0x547be
leaq -0x2f8(%rbp), %rdi
leaq -0x228(%rbp), %rdx
callq 0x5160
leaq 0x238e4(%rip), %rdx     # 0x70588
leaq -0x380(%rbp), %rdi
leaq -0x2f8(%rbp), %rsi
leaq -0x400(%rbp), %rcx
pushq $0x5
popq %r8
xorl %r9d, %r9d
callq 0xf742
leaq -0x2f8(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
leaq -0x380(%rbp), %rsi
pushq $0x1
popq %rdx
callq 0x129ea
leaq 0x7ad5(%rip), %rsi      # 0x547c3
leaq -0x228(%rbp), %rdi
leaq -0x3b0(%rbp), %rdx
callq 0x5160
leaq 0x23880(%rip), %rdx     # 0x70588
leaq -0x2f8(%rbp), %rdi
leaq -0x228(%rbp), %rsi
leaq -0x400(%rbp), %rcx
pushq $0x5
popq %r8
xorl %r9d, %r9d
callq 0xf742
leaq -0x228(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
leaq -0x2f8(%rbp), %rsi
pushq $0x1
popq %rdx
callq 0x129ea
leaq -0x1d0(%rbp), %rdi
callq 0x13b90
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x198de
leaq -0x220(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
xorps %xmm0, %xmm0
leaq -0x280(%rbp), %rdx
movaps %xmm0, (%rdx)
andq $0x0, 0x10(%rdx)
leaq -0xd0(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
pushq $0x1
popq %rcx
callq 0x18633
leaq -0xd0(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
leaq -0x228(%rbp), %rdx
movsd 0x67fd(%rip), %xmm0     # 0x535c8
callq 0x1892c
leaq -0x3a8(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
movsd %xmm0, -0x1f8(%rbp)
xorps %xmm0, %xmm0
leaq -0x260(%rbp), %rdx
movaps %xmm0, (%rdx)
andq $0x0, 0x10(%rdx)
leaq -0x1d0(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0x1acf3
leaq -0x1d0(%rbp), %rdi
leaq -0x248(%rbp), %rsi
leaq -0x3b0(%rbp), %rdx
movsd 0x6792(%rip), %xmm0     # 0x535c8
callq 0x1af8c
movsd %xmm0, -0x1f0(%rbp)
movq 0x236f6(%rip), %rdi     # 0x70540
leaq 0x6d2f(%rip), %rbx      # 0x53b80
leaq -0x490(%rbp), %rsi
movq %rbx, (%rsi)
leaq 0x6d2c(%rip), %r14      # 0x53b8e
movq %r14, 0x8(%rsi)
leaq 0x6ba8(%rip), %r12      # 0x53a15
leaq -0x480(%rbp), %rcx
movq %r12, (%rcx)
movq %r12, 0x8(%rcx)
movl $0x529, %edx            # imm = 0x529
callq 0x5710
leaq -0x3d0(%rbp), %rdi
movb $0x0, 0x8(%rdi)
leaq 0x22c49(%rip), %rax     # 0x6fae0
movq %rax, (%rdi)
movq 0x2310f(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rdi)
leaq 0x64ab(%rip), %rax      # 0x53357
movq %rax, 0x18(%rdi)
leaq -0x470(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
movsd 0x2353a(%rip), %xmm0    # 0x70400
leaq -0x1e8(%rbp), %rax
movsd %xmm0, (%rax)
leaq 0x6e25(%rip), %rcx      # 0x53cfd
movq %rcx, 0x20(%rsp)
movq %rax, 0x18(%rsp)
leaq 0x78a0(%rip), %rax      # 0x54789
movq %rax, 0x10(%rsp)
leaq -0x1f0(%rbp), %rax
movq %rax, 0x8(%rsp)
leaq 0x788d(%rip), %rax      # 0x5478e
movq %rax, (%rsp)
pushq $0x1
popq %rcx
pushq $0x8
popq %r8
leaq -0x1f8(%rbp), %r9
movl $0x529, %edx            # imm = 0x529
callq 0x4eaf1
movq 0x2361c(%rip), %rdi     # 0x70540
leaq -0x460(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
leaq -0x450(%rbp), %rcx
movq %r12, (%rcx)
movq %r12, 0x8(%rcx)
movl $0x52a, %edx            # imm = 0x52A
callq 0x5710
leaq -0x280(%rbp), %rdi
leaq -0x260(%rbp), %rsi
callq 0x4f0e6
leaq -0x1e8(%rbp), %rdi
movb %al, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rdi)
leaq 0x7880(%rip), %rax      # 0x547f4
leaq -0x308(%rbp), %r13
movq %rax, (%r13)
leaq 0x788f(%rip), %rax      # 0x54815
movq %rax, 0x8(%r13)
leaq -0x3d0(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0x22bd4(%rip), %r15     # 0x6fb70
movq %r15, (%rsi)
movq 0x2300a(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rsi)
movq %r13, 0x18(%rsi)
leaq -0x440(%rbp), %rdx
movq %rbx, (%rdx)
movq %r14, 0x8(%rdx)
andq $0x0, (%rsp)
pushq $0x1
popq %r8
movl $0x52a, %ecx            # imm = 0x52A
xorl %r9d, %r9d
xorl %eax, %eax
callq 0x56f0
leaq -0x1d8(%rbp), %rdi
callq 0x291f6
movq 0x23559(%rip), %rdi     # 0x70540
leaq -0x430(%rbp), %rsi
movq %rbx, (%rsi)
movq %r14, 0x8(%rsi)
leaq -0x420(%rbp), %rcx
movq %r12, (%rcx)
movq %r12, 0x8(%rcx)
movl $0x52b, %edx            # imm = 0x52B
callq 0x5710
leaq -0x228(%rbp), %rdi
leaq -0x3b0(%rbp), %rsi
callq 0x4fc18
leaq -0x1e8(%rbp), %rdi
movb %al, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rdi)
leaq 0x775a(%rip), %rax      # 0x54791
movq %rax, -0x308(%rbp)
leaq 0x775f(%rip), %rax      # 0x547a4
movq %rax, -0x300(%rbp)
leaq -0x3d0(%rbp), %rsi
movb $0x0, 0x8(%rsi)
movq %r15, (%rsi)
movq 0x22f4f(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rsi)
movq %r13, 0x18(%rsi)
leaq -0x410(%rbp), %rdx
movq %rbx, (%rdx)
movq %r14, 0x8(%rdx)
andq $0x0, (%rsp)
pushq $0x1
popq %r8
movl $0x52b, %ecx            # imm = 0x52B
xorl %r9d, %r9d
xorl %eax, %eax
callq 0x56f0
leaq -0x1d8(%rbp), %rdi
callq 0x291f6
leaq -0x260(%rbp), %rdi
callq 0x9574
leaq -0x3b0(%rbp), %rdi
callq 0x1bb0c
leaq -0x280(%rbp), %rdi
callq 0x9574
leaq -0x228(%rbp), %rdi
callq 0x1bb0c
leaq -0x2f8(%rbp), %rdi
callq 0x10c24
leaq -0x380(%rbp), %rdi
callq 0x10c24
leaq -0x1d0(%rbp), %rdi
callq 0x128f4
leaq -0xa0(%rbp), %rdi
callq 0x10c24
leaq -0x248(%rbp), %rdi
callq 0x57b8
leaq -0xd0(%rbp), %rdi
callq 0x1bb0c
leaq -0x400(%rbp), %rdi
callq 0x200e8
addq $0x498, %rsp            # imm = 0x498
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x4d138
jmp 0x4d370
movq %rax, %rbx
leaq -0x1d8(%rbp), %rdi
callq 0x291f6
jmp 0x4d373
jmp 0x4d370
jmp 0x4d370
movq %rax, %rbx
leaq -0x228(%rbp), %rdi
callq 0x57b8
jmp 0x4d3af
jmp 0x4d16c
movq %rax, %rbx
jmp 0x4d3af
movq %rax, %rbx
leaq -0x2f8(%rbp), %rdi
callq 0x57b8
jmp 0x4d3bb
jmp 0x4d18a
movq %rax, %rbx
jmp 0x4d3bb
movq %rax, %rbx
jmp 0x4d3c7
movq %rax, %rbx
jmp 0x4d3d3
jmp 0x4d36b
jmp 0x4d296
jmp 0x4d35a
jmp 0x4d35a
jmp 0x4d36b
jmp 0x4d296
jmp 0x4d35a
jmp 0x4d35a
jmp 0x4d36b
jmp 0x4d296
jmp 0x4d35a
jmp 0x4d35a
jmp 0x4d36b
jmp 0x4d296
jmp 0x4d35a
jmp 0x4d35a
jmp 0x4d36b
jmp 0x4d296
jmp 0x4d35a
jmp 0x4d35a
jmp 0x4d36b
jmp 0x4d296
jmp 0x4d35a
jmp 0x4d35a
jmp 0x4d36b
jmp 0x4d296
jmp 0x4d35a
jmp 0x4d35a
jmp 0x4d36b
jmp 0x4d296
jmp 0x4d35a
jmp 0x4d35a
jmp 0x4d36b
jmp 0x4d296
jmp 0x4d35a
jmp 0x4d35a
jmp 0x4d36b
jmp 0x4d296
jmp 0x4d35a
jmp 0x4d35a
jmp 0x4d36b
jmp 0x4d296
jmp 0x4d35a
jmp 0x4d35a
jmp 0x4d36b
jmp 0x4d296
jmp 0x4d35a
jmp 0x4d35a
jmp 0x4d36b
jmp 0x4d296
jmp 0x4d35a
jmp 0x4d35a
jmp 0x4d36b
movq %rax, %rbx
leaq -0xa0(%rbp), %rdi
callq 0x57b8
jmp 0x4d35d
jmp 0x4d35a
jmp 0x4d35a
jmp 0x4d36b
jmp 0x4d36b
jmp 0x4d36b
jmp 0x4d36b
jmp 0x4d35a
jmp 0x4d36b
jmp 0x4d35a
jmp 0x4d36b
jmp 0x4d35a
jmp 0x4d36b
jmp 0x4d35a
jmp 0x4d36b
movq %rax, %rbx
movl $0xe0, %r12d
leaq (%r12,%rbp), %rdi
addq $-0x1d0, %rdi           # imm = 0xFE30
callq 0x57b8
addq $-0x20, %r12
cmpq $-0x20, %r12
jne 0x4d2f3
movb $0x1, %al
jmp 0x4d322
jmp 0x4d31d
jmp 0x4d31d
jmp 0x4d31d
jmp 0x4d31d
jmp 0x4d31d
jmp 0x4d31d
movq %rax, %rbx
xorl %eax, %eax
cmpq %r15, %r14
je 0x4d3f7
testb %al, %al
jne 0x4d3f7
addq $-0x20, %r15
movq %r15, %rdi
callq 0x57b8
cmpq %r14, %r15
jne 0x4d333
jmp 0x4d3f7
movq %rax, %rbx
jmp 0x4d3f7
movq %rax, %rbx
jmp 0x4d38b
jmp 0x4d35a
jmp 0x4d35a
movq %rax, %rbx
leaq -0x1d0(%rbp), %rdi
jmp 0x4d3da
movq %rax, %rbx
jmp 0x4d3a3
movq %rax, %rbx
jmp 0x4d3df
movq %rax, %rbx
leaq -0x260(%rbp), %rdi
callq 0x9574
leaq -0x3b0(%rbp), %rdi
callq 0x1bb0c
leaq -0x280(%rbp), %rdi
callq 0x9574
leaq -0x228(%rbp), %rdi
callq 0x1bb0c
leaq -0x2f8(%rbp), %rdi
callq 0x10c24
leaq -0x380(%rbp), %rdi
callq 0x10c24
leaq -0x1d0(%rbp), %rdi
callq 0x128f4
leaq -0xa0(%rbp), %rdi
callq 0x10c24
leaq -0x248(%rbp), %rdi
callq 0x57b8
leaq -0xd0(%rbp), %rdi
callq 0x1bb0c
leaq -0x400(%rbp), %rdi
callq 0x200e8
movq %rbx, %rdi
callq 0x56b0