// File: /workspace/github_cpp_makefile_star2_O2/aalto-speech[P]ftk/test/emtest.cc
// Function: MSFGForwardBackwardTest2::test_method()
BOOST_AUTO_TEST_CASE(MSFGForwardBackwardTest2)
{
    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);
    transitions_t stats;
    flt_type lp = forward_backward(transitions, fg, stats);

    FactorGraph fg2("kisa", start_end, vocab, 5);
    FactorGraph fg3("kissaa", start_end, vocab, 5);

    MultiStringFactorGraph msfg(start_end);
    msfg.add(fg);
    msfg.add(fg2);
    msfg.add(fg3);
    msfg.update_factor_node_map();
    assign_scores(transitions, msfg);
    transitions_t msfg_stats;
    flt_type msfg_lp = forward_backward(msfg, sentence, msfg_stats);

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x408, %rsp            # imm = 0x408
leaq 0xa21d(%rip), %rsi      # 0x53c52
leaq -0x1d0(%rbp), %r15
leaq -0xa0(%rbp), %rdx
movq %r15, %rdi
callq 0x5160
leaq -0x1b0(%rbp), %r12
leaq 0x9d0f(%rip), %rsi      # 0x53768
leaq -0x318(%rbp), %rdx
movq %r12, %rdi
callq 0x5160
leaq -0x190(%rbp), %r12
leaq 0x9598(%rip), %rsi      # 0x5300e
leaq -0x2a0(%rbp), %rdx
movq %r12, %rdi
callq 0x5160
leaq -0x170(%rbp), %r12
leaq 0xa499(%rip), %rsi      # 0x53f2c
leaq -0xd0(%rbp), %rdx
movq %r12, %rdi
callq 0x5160
leaq -0x150(%rbp), %r12
leaq 0xad10(%rip), %rsi      # 0x547c0
leaq -0x378(%rbp), %rdx
movq %r12, %rdi
callq 0x5160
leaq -0x130(%rbp), %r12
leaq 0xa2b7(%rip), %rsi      # 0x53d84
leaq -0x348(%rbp), %rdx
movq %r12, %rdi
callq 0x5160
leaq -0x110(%rbp), %r12
leaq 0xa29d(%rip), %rsi      # 0x53d87
leaq -0x228(%rbp), %rdx
movq %r12, %rdi
callq 0x5160
leaq -0xf0(%rbp), %r12
leaq 0xa14d(%rip), %rsi      # 0x53c54
leaq -0x3c8(%rbp), %rdx
movq %r12, %rdi
callq 0x5160
leaq -0x3a8(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
pushq $0x8
popq %rdx
leaq -0x1f8(%rbp), %rcx
leaq -0x1e0(%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 0x49b3f
leaq -0xc8(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq 0x26a0c(%rip), %rsi     # 0x70588
leaq -0xd0(%rbp), %rdi
callq 0x1b5f0
movq %rax, %r15
leaq 0xa0c0(%rip), %rsi      # 0x53c52
leaq -0x1d0(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x5160
leaq -0x1d0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movabsq $-0x4019d1bd0105c611, %r13 # imm = 0xBFE62E42FEFA39EF
movq %r13, (%rax)
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x269b4(%rip), %rsi     # 0x70588
leaq -0xd0(%rbp), %rdi
callq 0x1b5f0
movq %rax, %r15
leaq 0xa19a(%rip), %rsi      # 0x53d84
leaq -0x1d0(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x5160
leaq -0x1d0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movabsq $-0x4009d1bd0105c611, %rbx # imm = 0xBFF62E42FEFA39EF
movq %rbx, (%rax)
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x2695c(%rip), %rsi     # 0x70588
leaq -0xd0(%rbp), %rdi
callq 0x1b5f0
movq %rax, %r15
leaq 0xa145(%rip), %rsi      # 0x53d87
leaq -0x1d0(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x5160
leaq -0x1d0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movabsq $-0x4012adbf0f1f1f89, %r12 # imm = 0xBFED5240F0E0E077
movq %r12, (%rax)
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x26904(%rip), %rsi     # 0x70588
leaq -0xd0(%rbp), %rdi
callq 0x1b5f0
movq %rax, %r15
leaq 0x9fba(%rip), %rsi      # 0x53c54
leaq -0x1d0(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x5160
leaq -0x1d0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movabsq $-0x3ffd944e444aaaeb, %r15 # imm = 0xC0026BB1BBB55515
movq %r15, (%rax)
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0xa250(%rip), %rsi      # 0x53f2c
leaq -0x1d0(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
leaq 0x2687f(%rip), %rsi     # 0x70588
movq %rax, %rdi
callq 0x1b338
movq %r13, (%rax)
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x9f2d(%rip), %rsi      # 0x53c54
leaq -0x1d0(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
leaq 0x26834(%rip), %rsi     # 0x70588
movq %rax, %rdi
callq 0x1b338
movq %r15, (%rax)
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0xaa4e(%rip), %rsi      # 0x547c0
leaq -0x1d0(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
leaq 0x267e9(%rip), %rsi     # 0x70588
movq %rax, %rdi
callq 0x1b338
movq %r12, (%rax)
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x9fc7(%rip), %rsi      # 0x53d84
leaq -0x1d0(%rbp), %rdi
leaq -0x318(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0x9221(%rip), %rsi      # 0x5300e
leaq -0xa0(%rbp), %rdi
leaq -0x2a0(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %rbx, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x9e21(%rip), %rsi      # 0x53c52
leaq -0x1d0(%rbp), %rdi
leaq -0x318(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0x9907(%rip), %rsi      # 0x53768
leaq -0xa0(%rbp), %rdi
leaq -0x2a0(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %r13, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x98c3(%rip), %rsi      # 0x53768
leaq -0x1d0(%rbp), %rdi
leaq -0x318(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0x9139(%rip), %rsi      # 0x5300e
leaq -0xa0(%rbp), %rdi
leaq -0x2a0(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %r13, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x90f5(%rip), %rsi      # 0x5300e
leaq -0x1d0(%rbp), %rdi
leaq -0x318(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0x90c5(%rip), %rsi      # 0x5300e
leaq -0xa0(%rbp), %rdi
leaq -0x2a0(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %r13, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x9081(%rip), %rsi      # 0x5300e
leaq -0x1d0(%rbp), %rdi
leaq -0x318(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0xa803(%rip), %rsi      # 0x547c0
leaq -0xa0(%rbp), %rdi
leaq -0x2a0(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %r13, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x900d(%rip), %rsi      # 0x5300e
leaq -0x1d0(%rbp), %rdi
leaq -0x318(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0x9efb(%rip), %rsi      # 0x53f2c
leaq -0xa0(%rbp), %rdi
leaq -0x2a0(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %r13, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x9d12(%rip), %rsi      # 0x53d87
leaq -0x1d0(%rbp), %rdi
leaq -0x318(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0xa71b(%rip), %rsi      # 0x547c0
leaq -0xa0(%rbp), %rdi
leaq -0x2a0(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %r12, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x9c9e(%rip), %rsi      # 0x53d87
leaq -0x1d0(%rbp), %rdi
leaq -0x318(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0x8ef5(%rip), %rsi      # 0x5300e
leaq -0xa0(%rbp), %rdi
leaq -0x2a0(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %r12, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x960b(%rip), %rsi      # 0x53768
leaq -0x1d0(%rbp), %rdi
leaq -0x318(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0xa633(%rip), %rsi      # 0x547c0
leaq -0xa0(%rbp), %rdi
leaq -0x2a0(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movabsq $-0x40337008386565e0, %r12 # imm = 0xBFCC8FF7C79A9A20
movq %r12, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x9d51(%rip), %rsi      # 0x53f2c
leaq -0x1d0(%rbp), %rdi
leaq -0x318(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0x9d21(%rip), %rsi      # 0x53f2c
leaq -0xa0(%rbp), %rdi
leaq -0x2a0(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %r12, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x9b35(%rip), %rsi      # 0x53d84
leaq -0x1d0(%rbp), %rdi
leaq -0x318(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0xa541(%rip), %rsi      # 0x547c0
leaq -0xa0(%rbp), %rdi
leaq -0x2a0(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %r12, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x9ac4(%rip), %rsi      # 0x53d87
leaq -0x1d0(%rbp), %rdi
leaq -0x318(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0x9c39(%rip), %rsi      # 0x53f2c
leaq -0xa0(%rbp), %rdi
leaq -0x2a0(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %r12, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x991d(%rip), %rsi      # 0x53c54
leaq -0x1d0(%rbp), %rdi
leaq -0x318(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0x9bc5(%rip), %rsi      # 0x53f2c
leaq -0xa0(%rbp), %rdi
leaq -0x2a0(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %r12, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0xa415(%rip), %rsi      # 0x547c0
leaq -0x1d0(%rbp), %rdi
leaq -0x318(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0x9b51(%rip), %rsi      # 0x53f2c
leaq -0xa0(%rbp), %rdi
leaq -0x2a0(%rbp), %rdx
callq 0x5160
leaq -0xa0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %r12, (%rax)
leaq -0xa0(%rbp), %rdi
callq 0x57b8
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x9835(%rip), %rsi      # 0x53c54
leaq -0x228(%rbp), %rdi
leaq -0x1d0(%rbp), %rdx
callq 0x5160
leaq 0x2614f(%rip), %rdx     # 0x70588
leaq -0xa0(%rbp), %rdi
leaq -0x228(%rbp), %rsi
leaq -0x3a8(%rbp), %rcx
pushq $0x5
popq %r8
xorl %r9d, %r9d
callq 0xf742
leaq -0x370(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq -0xd0(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
leaq -0x378(%rbp), %rdx
callq 0x18d71
movsd %xmm0, -0x208(%rbp)
leaq 0xa31f(%rip), %rsi      # 0x547be
leaq -0x1d0(%rbp), %rdi
leaq -0x2a0(%rbp), %rdx
callq 0x5160
leaq 0x260cf(%rip), %rdx     # 0x70588
leaq -0x318(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
leaq -0x3a8(%rbp), %rcx
pushq $0x5
popq %r8
xorl %r9d, %r9d
callq 0xf742
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0xa2d6(%rip), %rsi      # 0x547c3
leaq -0x1d0(%rbp), %rdi
leaq -0x348(%rbp), %rdx
callq 0x5160
leaq 0x26081(%rip), %rdx     # 0x70588
leaq -0x2a0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
leaq -0x3a8(%rbp), %rcx
pushq $0x5
popq %r8
xorl %r9d, %r9d
callq 0xf742
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
leaq 0x2604d(%rip), %rsi     # 0x70588
leaq -0x1d0(%rbp), %rdi
callq 0x4ee8c
leaq -0x1d0(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
pushq $0x1
popq %rdx
callq 0x129ea
leaq -0x1d0(%rbp), %rdi
leaq -0x318(%rbp), %rsi
pushq $0x1
popq %rdx
callq 0x129ea
leaq -0x1d0(%rbp), %rdi
leaq -0x2a0(%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 -0x340(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq -0x1d0(%rbp), %rdi
leaq -0x228(%rbp), %rsi
leaq -0x348(%rbp), %rdx
callq 0x1ac1c
movsd %xmm0, -0x200(%rbp)
movq 0x25f53(%rip), %rdi     # 0x70540
leaq 0x958c(%rip), %rbx      # 0x53b80
leaq -0x428(%rbp), %rsi
movq %rbx, (%rsi)
leaq 0x9589(%rip), %r15      # 0x53b8e
movq %r15, 0x8(%rsi)
leaq 0x9405(%rip), %r13      # 0x53a15
leaq -0x418(%rbp), %rcx
movq %r13, (%rcx)
movq %r13, 0x8(%rcx)
movl $0x4bc, %edx            # imm = 0x4BC
callq 0x5710
leaq -0x3c8(%rbp), %rdi
movb $0x0, 0x8(%rdi)
leaq 0x254a6(%rip), %rax     # 0x6fae0
movq %rax, (%rdi)
movq 0x2596c(%rip), %r12     # 0x6ffb0
movq %r12, 0x10(%rdi)
leaq 0x8d08(%rip), %rax      # 0x53357
movq %rax, 0x18(%rdi)
leaq -0x408(%rbp), %rsi
movq %rbx, (%rsi)
movq %r15, 0x8(%rsi)
movsd 0x25d97(%rip), %xmm0    # 0x70400
movsd %xmm0, -0x1f8(%rbp)
subq $0x8, %rsp
leaq 0x9681(%rip), %rax      # 0x53cfd
leaq 0xa106(%rip), %r10      # 0x54789
leaq -0x200(%rbp), %r11
leaq 0xa0fd(%rip), %r14      # 0x5478e
pushq $0x1
popq %rcx
pushq $0x8
popq %r8
leaq -0x208(%rbp), %r9
movl $0x4bc, %edx            # imm = 0x4BC
pushq %rax
leaq -0x1f8(%rbp), %rax
pushq %rax
pushq %r10
pushq %r11
pushq %r14
callq 0x4eaf1
addq $0x30, %rsp
movq 0x25e7d(%rip), %rdi     # 0x70540
leaq -0x3f8(%rbp), %rsi
movq %rbx, (%rsi)
movq %r15, 0x8(%rsi)
leaq -0x3e8(%rbp), %rcx
movq %r13, (%rcx)
movq %r13, 0x8(%rcx)
movl $0x4bd, %edx            # imm = 0x4BD
callq 0x5710
leaq -0x1e0(%rbp), %r14
leaq -0x378(%rbp), %rdi
leaq -0x348(%rbp), %rsi
callq 0x4fc18
leaq -0x1f8(%rbp), %rdi
movb %al, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rdi)
leaq 0xa077(%rip), %rax      # 0x54791
movq %rax, -0x1e0(%rbp)
leaq 0xa07c(%rip), %rax      # 0x547a4
movq %rax, -0x1d8(%rbp)
leaq -0x3c8(%rbp), %rsi
movb $0x0, 0x8(%rsi)
leaq 0x2542f(%rip), %rax     # 0x6fb70
movq %rax, (%rsi)
movq %r12, 0x10(%rsi)
movq %r14, 0x18(%rsi)
leaq -0x3d8(%rbp), %rdx
movq %rbx, (%rdx)
movq %r15, 0x8(%rdx)
subq $0x10, %rsp
andq $0x0, (%rsp)
pushq $0x1
popq %r8
movl $0x4bd, %ecx            # imm = 0x4BD
xorl %r9d, %r9d
xorl %eax, %eax
callq 0x56f0
popq %rcx
popq %rdx
leaq -0x1e8(%rbp), %rdi
callq 0x291f6
leaq -0x348(%rbp), %rdi
callq 0x1bb0c
leaq -0x1d0(%rbp), %rdi
callq 0x128f4
leaq -0x2a0(%rbp), %rdi
callq 0x10c24
leaq -0x318(%rbp), %rdi
callq 0x10c24
leaq -0x378(%rbp), %rdi
callq 0x1bb0c
leaq -0xa0(%rbp), %rdi
callq 0x10c24
leaq -0x228(%rbp), %rdi
callq 0x57b8
leaq -0xd0(%rbp), %rdi
callq 0x1bb0c
leaq -0x3a8(%rbp), %rdi
callq 0x200e8
addq $0x408, %rsp            # imm = 0x408
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x1e8(%rbp), %rdi
callq 0x291f6
jmp 0x4aa35
jmp 0x4aa32
jmp 0x4aa32
movq %rax, %rbx
jmp 0x4aa57
movq %rax, %rbx
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
jmp 0x4aa63
movq %rax, %rbx
jmp 0x4aa63
movq %rax, %rbx
leaq -0x1d0(%rbp), %rdi
callq 0x57b8
jmp 0x4aa6f
jmp 0x4a85a
movq %rax, %rbx
jmp 0x4aa6f
movq %rax, %rbx
jmp 0x4aa87
jmp 0x4aa43
jmp 0x4a94a
jmp 0x4aa26
jmp 0x4aa26
jmp 0x4aa43
jmp 0x4a94a
jmp 0x4aa26
jmp 0x4aa26
jmp 0x4aa43
jmp 0x4a94a
jmp 0x4aa26
jmp 0x4aa26
jmp 0x4aa43
jmp 0x4a94a
jmp 0x4aa26
jmp 0x4aa26
jmp 0x4aa43
jmp 0x4a94a
jmp 0x4aa26
jmp 0x4aa26
jmp 0x4aa43
jmp 0x4a94a
jmp 0x4aa26
jmp 0x4aa26
jmp 0x4aa43
jmp 0x4a94a
jmp 0x4aa26
jmp 0x4aa26
jmp 0x4aa43
jmp 0x4a94a
jmp 0x4aa26
jmp 0x4aa26
jmp 0x4aa43
jmp 0x4a94a
jmp 0x4aa26
jmp 0x4aa26
jmp 0x4aa43
jmp 0x4a94a
jmp 0x4aa26
jmp 0x4aa26
jmp 0x4aa43
jmp 0x4a94a
jmp 0x4aa26
jmp 0x4aa26
jmp 0x4aa43
jmp 0x4a94a
jmp 0x4aa26
jmp 0x4aa26
jmp 0x4aa43
movq %rax, %rbx
leaq -0xa0(%rbp), %rdi
callq 0x57b8
jmp 0x4aa29
jmp 0x4aa26
jmp 0x4aa26
jmp 0x4aa43
movq %rax, %rbx
leaq -0xa0(%rbp), %rdi
callq 0x57b8
jmp 0x4a983
jmp 0x4a980
movq %rax, %rbx
jmp 0x4aa29
jmp 0x4aa43
jmp 0x4aa43
jmp 0x4aa43
jmp 0x4aa43
jmp 0x4aa26
jmp 0x4aa43
jmp 0x4aa26
jmp 0x4aa43
jmp 0x4aa26
jmp 0x4aa43
jmp 0x4aa26
jmp 0x4aa43
movq %rax, %rbx
movl $0xe0, %r14d
leaq (%r14,%rbp), %rdi
addq $-0x1d0, %rdi           # imm = 0xFE30
callq 0x57b8
addq $-0x20, %r14
cmpq $-0x20, %r14
jne 0x4a9c4
movb $0x1, %al
jmp 0x4a9f3
jmp 0x4a9ee
jmp 0x4a9ee
jmp 0x4a9ee
jmp 0x4a9ee
jmp 0x4a9ee
jmp 0x4a9ee
movq %rax, %rbx
xorl %eax, %eax
cmpq %r12, %r15
je 0x4aaab
testb %al, %al
jne 0x4aaab
addq $-0x20, %r12
movq %r12, %rdi
callq 0x57b8
cmpq %r15, %r12
jne 0x4aa04
jmp 0x4aaab
movq %rax, %rbx
jmp 0x4aaab
jmp 0x4aa26
jmp 0x4aa26
movq %rax, %rbx
leaq -0x1d0(%rbp), %rdi
jmp 0x4aa8e
movq %rax, %rbx
leaq -0x348(%rbp), %rdi
callq 0x1bb0c
jmp 0x4aa4b
movq %rax, %rbx
jmp 0x4aa93
movq %rax, %rbx
leaq -0x1d0(%rbp), %rdi
callq 0x128f4
leaq -0x2a0(%rbp), %rdi
callq 0x10c24
leaq -0x318(%rbp), %rdi
callq 0x10c24
leaq -0x378(%rbp), %rdi
callq 0x1bb0c
leaq -0xa0(%rbp), %rdi
callq 0x10c24
leaq -0x228(%rbp), %rdi
callq 0x57b8
leaq -0xd0(%rbp), %rdi
callq 0x1bb0c
leaq -0x3a8(%rbp), %rdi
callq 0x200e8
movq %rbx, %rdi
callq 0x56b0