// File: aalto-speech[P]ftk/test/emtest.cc
// Function: TransitionViterbiTest2::test_method()
BOOST_AUTO_TEST_CASE(TransitionViterbiTest2)
{
    string str1("a"); string str2("bc");
    string str3("ab"); string str4("c");
    set<string> vocab = {start_end,str1,str2,str3,str4};

    transitions_t transitions;
    transitions[start_end][str1] = -1.0;
    transitions[start_end][str3] = -1.0;
    transitions[str2][start_end] = -1.0;
    transitions[str4][start_end] = -1.0;
    transitions[str1][str2] = -2.0;
    transitions[str3][str4] = -1.0;
    string sentence("abc");
    FactorGraph fg(sentence, start_end, vocab, 2);
    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(str3, best_path[1]);
    BOOST_CHECK_EQUAL(str4, best_path[2]);
    BOOST_CHECK_EQUAL(start_end, best_path[3]);
    BOOST_CHECK_CLOSE( -3.0, lp, DBL_ACCURACY );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x670, %rsp            # imm = 0x670
movq %rdi, -0x8(%rbp)
leaq -0x29(%rbp), %rdi
movq %rdi, -0x4c8(%rbp)
callq 0x67b0
movq -0x4c8(%rbp), %rdx
leaq 0x39c07(%rip), %rsi     # 0xcbf14
leaq -0x28(%rbp), %rdi
callq 0x65e0
jmp 0x92318
leaq -0x29(%rbp), %rdi
callq 0x6470
leaq -0x61(%rbp), %rdi
movq %rdi, -0x4d0(%rbp)
callq 0x67b0
movq -0x4d0(%rbp), %rdx
leaq 0x398a1(%rip), %rsi     # 0xcbbe0
leaq -0x60(%rbp), %rdi
callq 0x65e0
jmp 0x9234a
leaq -0x61(%rbp), %rdi
callq 0x6470
leaq -0x89(%rbp), %rdi
movq %rdi, -0x4d8(%rbp)
callq 0x67b0
movq -0x4d8(%rbp), %rdx
leaq 0x3987c(%rip), %rsi     # 0xcbbf0
leaq -0x88(%rbp), %rdi
callq 0x65e0
jmp 0x92382
leaq -0x89(%rbp), %rdi
callq 0x6470
leaq -0xb1(%rbp), %rdi
movq %rdi, -0x4e0(%rbp)
callq 0x67b0
movq -0x4e0(%rbp), %rdx
leaq 0x39832(%rip), %rsi     # 0xcbbe1
leaq -0xb0(%rbp), %rdi
callq 0x65e0
jmp 0x923bd
leaq -0xb1(%rbp), %rdi
callq 0x6470
leaq -0x198(%rbp), %rdi
movq %rdi, -0x1a0(%rbp)
leaq 0x7525a(%rip), %rsi     # 0x107638
callq 0x61c0
jmp 0x923e5
leaq -0x178(%rbp), %rdi
movq %rdi, -0x1a0(%rbp)
leaq -0x28(%rbp), %rsi
callq 0x61c0
jmp 0x923fe
leaq -0x158(%rbp), %rdi
movq %rdi, -0x1a0(%rbp)
leaq -0x60(%rbp), %rsi
callq 0x61c0
jmp 0x92417
leaq -0x138(%rbp), %rdi
movq %rdi, -0x1a0(%rbp)
leaq -0x88(%rbp), %rsi
callq 0x61c0
jmp 0x92433
leaq -0x118(%rbp), %rdi
movq %rdi, -0x1a0(%rbp)
leaq -0xb0(%rbp), %rsi
callq 0x61c0
jmp 0x9244f
leaq -0x198(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq $0x5, -0xf0(%rbp)
leaq -0x1a2(%rbp), %rdi
movq %rdi, -0x4e8(%rbp)
callq 0xdab0
movq -0x4e8(%rbp), %r8
movq -0xf8(%rbp), %rsi
movq -0xf0(%rbp), %rdx
leaq -0xe8(%rbp), %rdi
leaq -0x1a1(%rbp), %rcx
callq 0xbfde0
jmp 0x924a5
leaq -0x1a2(%rbp), %rdi
callq 0xdb50
leaq -0x198(%rbp), %rax
movq %rax, -0x4f8(%rbp)
addq $0xa0, %rax
movq %rax, -0x4f0(%rbp)
movq -0x4f0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x500(%rbp)
callq 0x6908
movq -0x4f8(%rbp), %rcx
movq -0x500(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x4f0(%rbp)
jne 0x924cc
leaq -0x1d8(%rbp), %rdi
movq %rdi, -0x510(%rbp)
callq 0x4bd30
movq -0x510(%rbp), %rdi
leaq 0x7511a(%rip), %rsi     # 0x107638
callq 0x4b980
movq %rax, -0x508(%rbp)
jmp 0x9252c
movq -0x508(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x4b030
movq %rax, -0x518(%rbp)
jmp 0x92545
movq -0x518(%rbp), %rax
movabsq $-0x4010000000000000, %rcx # imm = 0xBFF0000000000000
movq %rcx, (%rax)
leaq 0x750d8(%rip), %rsi     # 0x107638
leaq -0x1d8(%rbp), %rdi
callq 0x4b980
movq %rax, -0x520(%rbp)
jmp 0x92575
movq -0x520(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x4b030
movq %rax, -0x528(%rbp)
jmp 0x92591
movq -0x528(%rbp), %rax
movabsq $-0x4010000000000000, %rcx # imm = 0xBFF0000000000000
movq %rcx, (%rax)
leaq -0x1d8(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x4b980
movq %rax, -0x530(%rbp)
jmp 0x925be
movq -0x530(%rbp), %rdi
leaq 0x7506c(%rip), %rsi     # 0x107638
callq 0x4b030
movq %rax, -0x538(%rbp)
jmp 0x925da
movq -0x538(%rbp), %rax
movabsq $-0x4010000000000000, %rcx # imm = 0xBFF0000000000000
movq %rcx, (%rax)
leaq -0x1d8(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x4b980
movq %rax, -0x540(%rbp)
jmp 0x9260a
movq -0x540(%rbp), %rdi
leaq 0x75020(%rip), %rsi     # 0x107638
callq 0x4b030
movq %rax, -0x548(%rbp)
jmp 0x92626
movq -0x548(%rbp), %rax
movabsq $-0x4010000000000000, %rcx # imm = 0xBFF0000000000000
movq %rcx, (%rax)
leaq -0x1d8(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x4b980
movq %rax, -0x550(%rbp)
jmp 0x92653
movq -0x550(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x4b030
movq %rax, -0x558(%rbp)
jmp 0x9266c
movq -0x558(%rbp), %rax
movabsq $-0x4000000000000000, %rcx # imm = 0xC000000000000000
movq %rcx, (%rax)
leaq -0x1d8(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x4b980
movq %rax, -0x560(%rbp)
jmp 0x9269c
movq -0x560(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x4b030
movq %rax, -0x568(%rbp)
jmp 0x926b8
movq -0x568(%rbp), %rax
movabsq $-0x4010000000000000, %rcx # imm = 0xBFF0000000000000
movq %rcx, (%rax)
leaq -0x1f9(%rbp), %rdi
movq %rdi, -0x570(%rbp)
callq 0x67b0
movq -0x570(%rbp), %rdx
leaq 0x394f2(%rip), %rsi     # 0xcbbdf
leaq -0x1f8(%rbp), %rdi
callq 0x65e0
jmp 0x926fb
leaq -0x1f9(%rbp), %rdi
callq 0x6470
leaq 0x74f2a(%rip), %rdx     # 0x107638
leaq -0x278(%rbp), %rdi
leaq -0x1f8(%rbp), %rsi
leaq -0xe8(%rbp), %rcx
movl $0x2, %r8d
xorl %r9d, %r9d
callq 0x239b0
jmp 0x92733
leaq -0x290(%rbp), %rdi
movq %rdi, -0x580(%rbp)
callq 0xc7d0
movq -0x580(%rbp), %rdx
leaq -0x1d8(%rbp), %rdi
leaq -0x278(%rbp), %rsi
movl $0x1, %ecx
callq 0x45140
movsd %xmm0, -0x578(%rbp)
jmp 0x9276f
movsd -0x578(%rbp), %xmm0
movsd %xmm0, -0x298(%rbp)
movq 0x74e6a(%rip), %rax     # 0x1075f0
movq %rax, -0x588(%rbp)
leaq 0x393d4(%rip), %rsi     # 0xcbb68
leaq -0x2a8(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x927a7
leaq -0x2b8(%rbp), %rdi
callq 0x70c00
jmp 0x927b5
movq -0x588(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
movl $0x292, %edx            # imm = 0x292
leaq -0x2b8(%rbp), %rcx
callq 0x6840
jmp 0x927d6
callq 0x70e90
movq %rax, -0x590(%rbp)
jmp 0x927e4
movq -0x590(%rbp), %rsi
leaq 0x38b38(%rip), %rdx     # 0xcb32a
leaq -0x2e0(%rbp), %rdi
callq 0x70e50
jmp 0x92800
leaq 0x39361(%rip), %rsi     # 0xcbb68
leaq -0x2f0(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x9281a
movl $0x4, -0x2f4(%rbp)
leaq -0x290(%rbp), %rdi
callq 0xcba0
movl %eax, -0x2f8(%rbp)
leaq 0x398a0(%rip), %rcx     # 0xcc0dd
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x2f8(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x39df4(%rip), %rcx     # 0xcc64a
movq %rcx, (%rax)
leaq -0x2e0(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
movl $0x292, %edx            # imm = 0x292
movl $0x1, %ecx
movl $0x2, %r8d
leaq -0x2f4(%rbp), %r9
callq 0xbf480
jmp 0x92885
leaq -0x2e0(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x591(%rbp)
jmp 0x9289e
movb -0x591(%rbp), %al
testb $0x1, %al
jne 0x9277f
jmp 0x928ae
jmp 0x928b0
movq 0x74d39(%rip), %rax     # 0x1075f0
movq %rax, -0x5a0(%rbp)
leaq 0x392a3(%rip), %rsi     # 0xcbb68
leaq -0x308(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x928d8
leaq -0x318(%rbp), %rdi
callq 0x70c00
jmp 0x928e6
movq -0x5a0(%rbp), %rdi
leaq -0x308(%rbp), %rsi
movl $0x293, %edx            # imm = 0x293
leaq -0x318(%rbp), %rcx
callq 0x6840
jmp 0x92907
callq 0x70e90
movq %rax, -0x5a8(%rbp)
jmp 0x92915
movq -0x5a8(%rbp), %rsi
leaq 0x38a07(%rip), %rdx     # 0xcb32a
leaq -0x340(%rbp), %rdi
callq 0x70e50
jmp 0x92931
leaq 0x39230(%rip), %rsi     # 0xcbb68
leaq -0x350(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x9294b
xorl %eax, %eax
movl %eax, %esi
leaq -0x290(%rbp), %rdi
callq 0xcbf0
movq %rax, %rcx
leaq 0x39798(%rip), %rdx     # 0xcc0fd
movq %rsp, %rax
movq %rdx, 0x10(%rax)
movq %rcx, 0x8(%rax)
leaq 0x3977c(%rip), %rcx     # 0xcc0f3
movq %rcx, (%rax)
leaq 0x74cb7(%rip), %r9      # 0x107638
leaq -0x340(%rbp), %rdi
leaq -0x350(%rbp), %rsi
movl $0x293, %edx            # imm = 0x293
movl $0x1, %ecx
movl $0x2, %r8d
callq 0xbf260
jmp 0x929a6
leaq -0x340(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x5a9(%rbp)
jmp 0x929bf
movb -0x5a9(%rbp), %al
testb $0x1, %al
jne 0x928b0
jmp 0x929cf
jmp 0x929d1
movq 0x74c18(%rip), %rax     # 0x1075f0
movq %rax, -0x5b8(%rbp)
leaq 0x39182(%rip), %rsi     # 0xcbb68
leaq -0x360(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x929f9
leaq -0x370(%rbp), %rdi
callq 0x70c00
jmp 0x92a07
movq -0x5b8(%rbp), %rdi
leaq -0x360(%rbp), %rsi
movl $0x294, %edx            # imm = 0x294
leaq -0x370(%rbp), %rcx
callq 0x6840
jmp 0x92a28
callq 0x70e90
movq %rax, -0x5c0(%rbp)
jmp 0x92a36
movq -0x5c0(%rbp), %rsi
leaq 0x388e6(%rip), %rdx     # 0xcb32a
leaq -0x398(%rbp), %rdi
callq 0x70e50
jmp 0x92a52
leaq 0x3910f(%rip), %rsi     # 0xcbb68
leaq -0x3a8(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x92a6c
leaq -0x290(%rbp), %rdi
movl $0x1, %esi
callq 0xcbf0
movq %rax, %rcx
leaq 0x39688(%rip), %rdx     # 0xcc10f
movq %rsp, %rax
movq %rdx, 0x10(%rax)
movq %rcx, 0x8(%rax)
leaq 0x396b9(%rip), %rcx     # 0xcc152
movq %rcx, (%rax)
leaq -0x398(%rbp), %rdi
leaq -0x3a8(%rbp), %rsi
movl $0x294, %edx            # imm = 0x294
movl $0x1, %ecx
movl $0x2, %r8d
leaq -0x88(%rbp), %r9
callq 0xbf260
jmp 0x92ac8
leaq -0x398(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x5c1(%rbp)
jmp 0x92ae1
movb -0x5c1(%rbp), %al
testb $0x1, %al
jne 0x929d1
jmp 0x92af1
jmp 0x92af3
movq 0x74af6(%rip), %rax     # 0x1075f0
movq %rax, -0x5d0(%rbp)
leaq 0x39060(%rip), %rsi     # 0xcbb68
leaq -0x3b8(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x92b1b
leaq -0x3c8(%rbp), %rdi
callq 0x70c00
jmp 0x92b29
movq -0x5d0(%rbp), %rdi
leaq -0x3b8(%rbp), %rsi
movl $0x295, %edx            # imm = 0x295
leaq -0x3c8(%rbp), %rcx
callq 0x6840
jmp 0x92b4a
callq 0x70e90
movq %rax, -0x5d8(%rbp)
jmp 0x92b58
movq -0x5d8(%rbp), %rsi
leaq 0x387c4(%rip), %rdx     # 0xcb32a
leaq -0x3f0(%rbp), %rdi
callq 0x70e50
jmp 0x92b74
leaq 0x38fed(%rip), %rsi     # 0xcbb68
leaq -0x400(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x92b8e
leaq -0x290(%rbp), %rdi
movl $0x2, %esi
callq 0xcbf0
movq %rax, %rcx
leaq 0x39578(%rip), %rdx     # 0xcc121
movq %rsp, %rax
movq %rdx, 0x10(%rax)
movq %rcx, 0x8(%rax)
leaq 0x3959c(%rip), %rcx     # 0xcc157
movq %rcx, (%rax)
leaq -0x3f0(%rbp), %rdi
leaq -0x400(%rbp), %rsi
movl $0x295, %edx            # imm = 0x295
movl $0x1, %ecx
movl $0x2, %r8d
leaq -0xb0(%rbp), %r9
callq 0xbf260
jmp 0x92bea
leaq -0x3f0(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x5d9(%rbp)
jmp 0x92c03
movb -0x5d9(%rbp), %al
testb $0x1, %al
jne 0x92af3
jmp 0x92c13
jmp 0x92c15
movq 0x749d4(%rip), %rax     # 0x1075f0
movq %rax, -0x5e8(%rbp)
leaq 0x38f3e(%rip), %rsi     # 0xcbb68
leaq -0x410(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x92c3d
leaq -0x420(%rbp), %rdi
callq 0x70c00
jmp 0x92c4b
movq -0x5e8(%rbp), %rdi
leaq -0x410(%rbp), %rsi
movl $0x296, %edx            # imm = 0x296
leaq -0x420(%rbp), %rcx
callq 0x6840
jmp 0x92c6c
callq 0x70e90
movq %rax, -0x5f0(%rbp)
jmp 0x92c7a
movq -0x5f0(%rbp), %rsi
leaq 0x386a2(%rip), %rdx     # 0xcb32a
leaq -0x448(%rbp), %rdi
callq 0x70e50
jmp 0x92c96
leaq 0x38ecb(%rip), %rsi     # 0xcbb68
leaq -0x458(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x92cb0
leaq -0x290(%rbp), %rdi
movl $0x3, %esi
callq 0xcbf0
movq %rax, %rcx
leaq 0x39463(%rip), %rdx     # 0xcc12e
movq %rsp, %rax
movq %rdx, 0x10(%rax)
movq %rcx, 0x8(%rax)
leaq 0x39416(%rip), %rcx     # 0xcc0f3
movq %rcx, (%rax)
leaq 0x74951(%rip), %r9      # 0x107638
leaq -0x448(%rbp), %rdi
leaq -0x458(%rbp), %rsi
movl $0x296, %edx            # imm = 0x296
movl $0x1, %ecx
movl $0x2, %r8d
callq 0xbf260
jmp 0x92d0c
leaq -0x448(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x5f1(%rbp)
jmp 0x92d25
movb -0x5f1(%rbp), %al
testb $0x1, %al
jne 0x92c15
jmp 0x92d35
jmp 0x92d37
movq 0x748b2(%rip), %rax     # 0x1075f0
movq %rax, -0x600(%rbp)
leaq 0x38e1c(%rip), %rsi     # 0xcbb68
leaq -0x468(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x92d5f
leaq -0x478(%rbp), %rdi
callq 0x70c00
jmp 0x92d6d
movq -0x600(%rbp), %rdi
leaq -0x468(%rbp), %rsi
movl $0x297, %edx            # imm = 0x297
leaq -0x478(%rbp), %rcx
callq 0x6840
jmp 0x92d8e
callq 0x70e90
movq %rax, -0x608(%rbp)
jmp 0x92d9c
movq -0x608(%rbp), %rsi
leaq 0x38580(%rip), %rdx     # 0xcb32a
leaq -0x4a0(%rbp), %rdi
callq 0x70e50
jmp 0x92db8
leaq 0x38da9(%rip), %rsi     # 0xcbb68
leaq -0x4b0(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x92dd2
movabsq $-0x3ff8000000000000, %rax # imm = 0xC008000000000000
movq %rax, -0x4b8(%rbp)
movsd 0x746c5(%rip), %xmm0    # 0x1074b0
callq 0xbf970
movsd %xmm0, -0x610(%rbp)
jmp 0x92dfa
movsd -0x610(%rbp), %xmm0
movsd %xmm0, -0x4c0(%rbp)
leaq 0x38ed4(%rip), %rcx     # 0xcbce5
movq %rsp, %rax
movq %rcx, 0x20(%rax)
leaq -0x4c0(%rbp), %rcx
movq %rcx, 0x18(%rax)
leaq 0x3994c(%rip), %rcx     # 0xcc776
movq %rcx, 0x10(%rax)
leaq -0x298(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x38a0d(%rip), %rcx     # 0xcb84d
movq %rcx, (%rax)
leaq -0x4a0(%rbp), %rdi
leaq -0x4b0(%rbp), %rsi
movl $0x297, %edx            # imm = 0x297
movl $0x1, %ecx
movl $0x8, %r8d
leaq -0x4b8(%rbp), %r9
callq 0xbf6a0
jmp 0x92e6f
leaq -0x4a0(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x611(%rbp)
jmp 0x92e88
movb -0x611(%rbp), %al
testb $0x1, %al
jne 0x92d37
jmp 0x92e98
leaq -0x290(%rbp), %rdi
callq 0xcfc0
leaq -0x278(%rbp), %rdi
callq 0x26180
leaq -0x1f8(%rbp), %rdi
callq 0x6908
leaq -0x1d8(%rbp), %rdi
callq 0x4bd50
leaq -0xe8(%rbp), %rdi
callq 0x5c1b0
leaq -0xb0(%rbp), %rdi
callq 0x6908
leaq -0x88(%rbp), %rdi
callq 0x6908
leaq -0x60(%rbp), %rdi
callq 0x6908
leaq -0x28(%rbp), %rdi
callq 0x6908
addq $0x670, %rsp            # imm = 0x670
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x29(%rbp), %rdi
callq 0x6470
jmp 0x9318d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x61(%rbp), %rdi
callq 0x6470
jmp 0x93184
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x89(%rbp), %rdi
callq 0x6470
jmp 0x9317b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xb1(%rbp), %rdi
callq 0x6470
jmp 0x9316f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
movq -0x1a0(%rbp), %rax
leaq -0x198(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x620(%rbp)
je 0x92fcc
movq -0x620(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x628(%rbp)
callq 0x6908
movq -0x628(%rbp), %rax
leaq -0x198(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x620(%rbp)
jne 0x92f9b
jmp 0x93163
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x1a2(%rbp), %rdi
callq 0xdb50
leaq -0x198(%rbp), %rax
movq %rax, -0x638(%rbp)
addq $0xa0, %rax
movq %rax, -0x630(%rbp)
movq -0x630(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x640(%rbp)
callq 0x6908
movq -0x638(%rbp), %rcx
movq -0x640(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x630(%rbp)
jne 0x93004
jmp 0x93163
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x9314b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x1f9(%rbp), %rdi
callq 0x6470
jmp 0x9314b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x9313f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x93127
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0x70ea0
jmp 0x93127
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x340(%rbp), %rdi
callq 0x70ea0
jmp 0x93127
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x398(%rbp), %rdi
callq 0x70ea0
jmp 0x93127
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x3f0(%rbp), %rdi
callq 0x70ea0
jmp 0x93127
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x448(%rbp), %rdi
callq 0x70ea0
jmp 0x93127
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x4a0(%rbp), %rdi
callq 0x70ea0
leaq -0x290(%rbp), %rdi
callq 0xcfc0
leaq -0x278(%rbp), %rdi
callq 0x26180
leaq -0x1f8(%rbp), %rdi
callq 0x6908
leaq -0x1d8(%rbp), %rdi
callq 0x4bd50
leaq -0xe8(%rbp), %rdi
callq 0x5c1b0
leaq -0xb0(%rbp), %rdi
callq 0x6908
leaq -0x88(%rbp), %rdi
callq 0x6908
leaq -0x60(%rbp), %rdi
callq 0x6908
leaq -0x28(%rbp), %rdi
callq 0x6908
movq -0x38(%rbp), %rdi
callq 0x67a0
nopw %cs:(%rax,%rax)