// File: aalto-speech[P]ftk/test/msfgtest.cc
// Function: MultiStringFactorGraphTest1::test_method()
BOOST_AUTO_TEST_CASE(MultiStringFactorGraphTest1)
{
    MultiStringFactorGraph msfg(start_end_symbol);
    set<string> vocab = {"k", "i", "s", "a", "sa", "ki", "kis", "kissa",
                         "lle", "kin", "kala"};
    string sentence("kissa");
    FactorGraph fg(sentence, start_end_symbol, vocab, 5);
    string sentence2("kissallekin");
    FactorGraph fg2(sentence2, start_end_symbol, vocab, 5);
    string sentence3("kissakala");
    FactorGraph fg3(sentence3, start_end_symbol, vocab, 5);
    msfg.add(fg);
    BOOST_CHECK_EQUAL( 1, (int)msfg.string_end_nodes.size() );
    BOOST_CHECK_EQUAL( 7, (int)msfg.num_paths(sentence) );
    msfg.add(fg2);
    BOOST_CHECK_EQUAL( 2, (int)msfg.string_end_nodes.size() );
    BOOST_CHECK_EQUAL( 7, msfg.num_paths(sentence2) );
    msfg.add(fg3);
    BOOST_CHECK_EQUAL( 3, (int)msfg.string_end_nodes.size() );
    BOOST_CHECK_EQUAL( 7, (int)msfg.num_paths(sentence3) );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x8b0, %rsp            # imm = 0x8B0
movq %rdi, -0x8(%rbp)
leaq 0x41f42(%rip), %rsi     # 0x107688
leaq -0x100(%rbp), %rdi
callq 0xc0180
movb $0x1, -0x2c7(%rbp)
leaq -0x2a0(%rbp), %rax
movq %rax, -0x700(%rbp)
movq %rax, -0x2a8(%rbp)
leaq -0x2a9(%rbp), %rdi
movq %rdi, -0x6f8(%rbp)
callq 0x67b0
movq -0x700(%rbp), %rdi
movq -0x6f8(%rbp), %rdx
leaq 0x64a4(%rip), %rsi      # 0xcbc3a
callq 0x65e0
jmp 0xc579d
leaq -0x280(%rbp), %rax
movq %rax, -0x710(%rbp)
movq %rax, -0x2a8(%rbp)
leaq -0x2bd(%rbp), %rdi
movq %rdi, -0x708(%rbp)
callq 0x67b0
movq -0x710(%rbp), %rdi
movq -0x708(%rbp), %rdx
leaq 0x5f5e(%rip), %rsi      # 0xcb738
callq 0x65e0
jmp 0xc57e1
leaq -0x260(%rbp), %rax
movq %rax, -0x720(%rbp)
movq %rax, -0x2a8(%rbp)
leaq -0x2be(%rbp), %rdi
movq %rdi, -0x718(%rbp)
callq 0x67b0
movq -0x720(%rbp), %rdi
movq -0x718(%rbp), %rdx
leaq 0x57f0(%rip), %rsi      # 0xcb00e
callq 0x65e0
jmp 0xc5825
leaq -0x240(%rbp), %rax
movq %rax, -0x730(%rbp)
movq %rax, -0x2a8(%rbp)
leaq -0x2bf(%rbp), %rdi
movq %rdi, -0x728(%rbp)
callq 0x67b0
movq -0x730(%rbp), %rdi
movq -0x728(%rbp), %rdx
leaq 0x66b2(%rip), %rsi      # 0xcbf14
callq 0x65e0
jmp 0xc5869
leaq -0x220(%rbp), %rax
movq %rax, -0x740(%rbp)
movq %rax, -0x2a8(%rbp)
leaq -0x2c0(%rbp), %rdi
movq %rdi, -0x738(%rbp)
callq 0x67b0
movq -0x740(%rbp), %rdi
movq -0x738(%rbp), %rdx
leaq 0x6f02(%rip), %rsi      # 0xcc7a8
callq 0x65e0
jmp 0xc58ad
leaq -0x200(%rbp), %rax
movq %rax, -0x750(%rbp)
movq %rax, -0x2a8(%rbp)
leaq -0x2c1(%rbp), %rdi
movq %rdi, -0x748(%rbp)
callq 0x67b0
movq -0x750(%rbp), %rdi
movq -0x748(%rbp), %rdx
leaq 0x6482(%rip), %rsi      # 0xcbd6c
callq 0x65e0
jmp 0xc58f1
leaq -0x1e0(%rbp), %rax
movq %rax, -0x760(%rbp)
movq %rax, -0x2a8(%rbp)
leaq -0x2c2(%rbp), %rdi
movq %rdi, -0x758(%rbp)
callq 0x67b0
movq -0x760(%rbp), %rdi
movq -0x758(%rbp), %rdx
leaq 0x6441(%rip), %rsi      # 0xcbd6f
callq 0x65e0
jmp 0xc5935
leaq -0x1c0(%rbp), %rax
movq %rax, -0x770(%rbp)
movq %rax, -0x2a8(%rbp)
leaq -0x2c3(%rbp), %rdi
movq %rdi, -0x768(%rbp)
callq 0x67b0
movq -0x770(%rbp), %rdi
movq -0x768(%rbp), %rdx
leaq 0x62ca(%rip), %rsi      # 0xcbc3c
callq 0x65e0
jmp 0xc5979
leaq -0x1a0(%rbp), %rax
movq %rax, -0x780(%rbp)
movq %rax, -0x2a8(%rbp)
leaq -0x2c4(%rbp), %rdi
movq %rdi, -0x778(%rbp)
callq 0x67b0
movq -0x780(%rbp), %rdi
movq -0x778(%rbp), %rdx
leaq 0x74ad(%rip), %rsi      # 0xcce63
callq 0x65e0
jmp 0xc59bd
leaq -0x180(%rbp), %rax
movq %rax, -0x790(%rbp)
movq %rax, -0x2a8(%rbp)
leaq -0x2c5(%rbp), %rdi
movq %rdi, -0x788(%rbp)
callq 0x67b0
movq -0x790(%rbp), %rdi
movq -0x788(%rbp), %rdx
leaq 0x7475(%rip), %rsi      # 0xcce6f
callq 0x65e0
jmp 0xc5a01
leaq -0x160(%rbp), %rax
movq %rax, -0x7a0(%rbp)
movq %rax, -0x2a8(%rbp)
leaq -0x2c6(%rbp), %rdi
movq %rdi, -0x798(%rbp)
callq 0x67b0
movq -0x7a0(%rbp), %rdi
movq -0x798(%rbp), %rdx
leaq 0x743a(%rip), %rsi      # 0xcce78
callq 0x65e0
jmp 0xc5a45
movb $0x0, -0x2c7(%rbp)
leaq -0x2a0(%rbp), %rax
movq %rax, -0x140(%rbp)
movq $0xb, -0x138(%rbp)
leaq -0x2c9(%rbp), %rdi
movq %rdi, -0x7a8(%rbp)
callq 0xdab0
movq -0x7a8(%rbp), %r8
movq -0x140(%rbp), %rsi
movq -0x138(%rbp), %rdx
leaq -0x130(%rbp), %rdi
leaq -0x2c8(%rbp), %rcx
callq 0xbfde0
jmp 0xc5aa2
leaq -0x2c9(%rbp), %rdi
callq 0xdb50
leaq -0x2a0(%rbp), %rax
movq %rax, -0x7b8(%rbp)
addq $0x160, %rax            # imm = 0x160
movq %rax, -0x7b0(%rbp)
movq -0x7b0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x7c0(%rbp)
callq 0x6908
movq -0x7b8(%rbp), %rcx
movq -0x7c0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x7b0(%rbp)
jne 0xc5ac9
leaq -0x2c6(%rbp), %rdi
callq 0x6470
leaq -0x2c5(%rbp), %rdi
callq 0x6470
leaq -0x2c4(%rbp), %rdi
callq 0x6470
leaq -0x2c3(%rbp), %rdi
callq 0x6470
leaq -0x2c2(%rbp), %rdi
callq 0x6470
leaq -0x2c1(%rbp), %rdi
callq 0x6470
leaq -0x2c0(%rbp), %rdi
callq 0x6470
leaq -0x2bf(%rbp), %rdi
callq 0x6470
leaq -0x2be(%rbp), %rdi
callq 0x6470
leaq -0x2bd(%rbp), %rdi
callq 0x6470
leaq -0x2a9(%rbp), %rdi
callq 0x6470
leaq -0x2f1(%rbp), %rdi
movq %rdi, -0x7c8(%rbp)
callq 0x67b0
movq -0x7c8(%rbp), %rdx
leaq 0x609d(%rip), %rsi      # 0xcbc3c
leaq -0x2f0(%rbp), %rdi
callq 0x65e0
jmp 0xc5bad
leaq -0x2f1(%rbp), %rdi
callq 0x6470
leaq 0x41ac8(%rip), %rdx     # 0x107688
leaq -0x370(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
leaq -0x130(%rbp), %rcx
movl $0x5, %r8d
xorl %r9d, %r9d
callq 0x239b0
jmp 0xc5be5
leaq -0x391(%rbp), %rdi
movq %rdi, -0x7d0(%rbp)
callq 0x67b0
movq -0x7d0(%rbp), %rdx
leaq 0x7261(%rip), %rsi      # 0xcce67
leaq -0x390(%rbp), %rdi
callq 0x65e0
jmp 0xc5c14
leaq -0x391(%rbp), %rdi
callq 0x6470
leaq 0x41a61(%rip), %rdx     # 0x107688
leaq -0x410(%rbp), %rdi
leaq -0x390(%rbp), %rsi
leaq -0x130(%rbp), %rcx
movl $0x5, %r8d
xorl %r9d, %r9d
callq 0x239b0
jmp 0xc5c4c
leaq -0x431(%rbp), %rdi
movq %rdi, -0x7d8(%rbp)
callq 0x67b0
movq -0x7d8(%rbp), %rdx
leaq 0x7206(%rip), %rsi      # 0xcce73
leaq -0x430(%rbp), %rdi
callq 0x65e0
jmp 0xc5c7b
leaq -0x431(%rbp), %rdi
callq 0x6470
leaq 0x419fa(%rip), %rdx     # 0x107688
leaq -0x4b0(%rbp), %rdi
leaq -0x430(%rbp), %rsi
leaq -0x130(%rbp), %rcx
movl $0x5, %r8d
xorl %r9d, %r9d
callq 0x239b0
jmp 0xc5cb3
leaq -0x100(%rbp), %rdi
leaq -0x370(%rbp), %rsi
movl $0x1, %edx
callq 0x2fff0
jmp 0xc5ccd
jmp 0xc5ccf
movq 0x419a2(%rip), %rax     # 0x107678
movq %rax, -0x7e0(%rbp)
leaq 0x716e(%rip), %rsi      # 0xcce52
leaq -0x4c0(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc5cf7
leaq -0x4d0(%rbp), %rdi
callq 0x70c00
jmp 0xc5d05
movq -0x7e0(%rbp), %rdi
leaq -0x4c0(%rbp), %rsi
movl $0x15, %edx
leaq -0x4d0(%rbp), %rcx
callq 0x6840
jmp 0xc5d26
callq 0x70e90
movq %rax, -0x7e8(%rbp)
jmp 0xc5d34
movq -0x7e8(%rbp), %rsi
leaq 0x55e8(%rip), %rdx      # 0xcb32a
leaq -0x4f8(%rbp), %rdi
callq 0x70e50
jmp 0xc5d50
leaq 0x70fb(%rip), %rsi      # 0xcce52
leaq -0x508(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc5d6a
movl $0x1, -0x50c(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x344e0
movl %eax, -0x510(%rbp)
leaq 0x70f0(%rip), %rcx      # 0xcce7d
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x510(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x61dd(%rip), %rcx      # 0xcbf83
movq %rcx, (%rax)
leaq -0x4f8(%rbp), %rdi
leaq -0x508(%rbp), %rsi
movl $0x15, %edx
movl $0x1, %ecx
movl $0x2, %r8d
leaq -0x50c(%rbp), %r9
callq 0xbf480
jmp 0xc5dd5
leaq -0x4f8(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x7e9(%rbp)
jmp 0xc5dee
movb -0x7e9(%rbp), %al
testb $0x1, %al
jne 0xc5ccf
jmp 0xc5dfe
jmp 0xc5e00
movq 0x41871(%rip), %rax     # 0x107678
movq %rax, -0x7f8(%rbp)
leaq 0x703d(%rip), %rsi      # 0xcce52
leaq -0x520(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc5e28
leaq -0x530(%rbp), %rdi
callq 0x70c00
jmp 0xc5e36
movq -0x7f8(%rbp), %rdi
leaq -0x520(%rbp), %rsi
movl $0x16, %edx
leaq -0x530(%rbp), %rcx
callq 0x6840
jmp 0xc5e57
callq 0x70e90
movq %rax, -0x800(%rbp)
jmp 0xc5e65
movq -0x800(%rbp), %rsi
leaq 0x54b7(%rip), %rdx      # 0xcb32a
leaq -0x558(%rbp), %rdi
callq 0x70e50
jmp 0xc5e81
leaq 0x6fca(%rip), %rsi      # 0xcce52
leaq -0x568(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc5e9b
movl $0x7, -0x56c(%rbp)
leaq -0x100(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
callq 0x30b50
movl %eax, -0x804(%rbp)
jmp 0xc5ec0
movl -0x804(%rbp), %eax
movl %eax, -0x570(%rbp)
leaq 0x6fcc(%rip), %rcx      # 0xcce9f
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x570(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x6654(%rip), %rcx      # 0xcc540
movq %rcx, (%rax)
leaq -0x558(%rbp), %rdi
leaq -0x568(%rbp), %rsi
movl $0x16, %edx
movl $0x1, %ecx
movl $0x2, %r8d
leaq -0x56c(%rbp), %r9
callq 0xbf480
jmp 0xc5f1b
leaq -0x558(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x805(%rbp)
jmp 0xc5f34
movb -0x805(%rbp), %al
testb $0x1, %al
jne 0xc5e00
jmp 0xc5f44
leaq -0x100(%rbp), %rdi
leaq -0x410(%rbp), %rsi
movl $0x1, %edx
callq 0x2fff0
jmp 0xc5f5e
jmp 0xc5f60
movq 0x41711(%rip), %rax     # 0x107678
movq %rax, -0x810(%rbp)
leaq 0x6edd(%rip), %rsi      # 0xcce52
leaq -0x580(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc5f88
leaq -0x590(%rbp), %rdi
callq 0x70c00
jmp 0xc5f96
movq -0x810(%rbp), %rdi
leaq -0x580(%rbp), %rsi
movl $0x18, %edx
leaq -0x590(%rbp), %rcx
callq 0x6840
jmp 0xc5fb7
callq 0x70e90
movq %rax, -0x818(%rbp)
jmp 0xc5fc5
movq -0x818(%rbp), %rsi
leaq 0x5357(%rip), %rdx      # 0xcb32a
leaq -0x5b8(%rbp), %rdi
callq 0x70e50
jmp 0xc5fe1
leaq 0x6e6a(%rip), %rsi      # 0xcce52
leaq -0x5c8(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc5ffb
movl $0x2, -0x5cc(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x344e0
movl %eax, -0x5d0(%rbp)
leaq 0x6e5f(%rip), %rcx      # 0xcce7d
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x5d0(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x665f(%rip), %rcx      # 0xcc696
movq %rcx, (%rax)
leaq -0x5b8(%rbp), %rdi
leaq -0x5c8(%rbp), %rsi
movl $0x18, %edx
movl $0x1, %ecx
movl $0x2, %r8d
leaq -0x5cc(%rbp), %r9
callq 0xbf480
jmp 0xc6066
leaq -0x5b8(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x819(%rbp)
jmp 0xc607f
movb -0x819(%rbp), %al
testb $0x1, %al
jne 0xc5f60
jmp 0xc608f
jmp 0xc6091
movq 0x415e0(%rip), %rax     # 0x107678
movq %rax, -0x828(%rbp)
leaq 0x6dac(%rip), %rsi      # 0xcce52
leaq -0x5e0(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc60b9
leaq -0x5f0(%rbp), %rdi
callq 0x70c00
jmp 0xc60c7
movq -0x828(%rbp), %rdi
leaq -0x5e0(%rbp), %rsi
movl $0x19, %edx
leaq -0x5f0(%rbp), %rcx
callq 0x6840
jmp 0xc60e8
callq 0x70e90
movq %rax, -0x830(%rbp)
jmp 0xc60f6
movq -0x830(%rbp), %rsi
leaq 0x5226(%rip), %rdx      # 0xcb32a
leaq -0x618(%rbp), %rdi
callq 0x70e50
jmp 0xc6112
leaq 0x6d39(%rip), %rsi      # 0xcce52
leaq -0x628(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc612c
movl $0x7, -0x62c(%rbp)
leaq -0x100(%rbp), %rdi
leaq -0x390(%rbp), %rsi
callq 0x30b50
movl %eax, -0x834(%rbp)
jmp 0xc6151
movl -0x834(%rbp), %eax
movl %eax, -0x630(%rbp)
leaq 0x6d59(%rip), %rcx      # 0xccebd
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x630(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x63c3(%rip), %rcx      # 0xcc540
movq %rcx, (%rax)
leaq -0x618(%rbp), %rdi
leaq -0x628(%rbp), %rsi
movl $0x19, %edx
movl $0x1, %ecx
movl $0x2, %r8d
leaq -0x62c(%rbp), %r9
callq 0xbf480
jmp 0xc61ac
leaq -0x618(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x835(%rbp)
jmp 0xc61c5
movb -0x835(%rbp), %al
testb $0x1, %al
jne 0xc6091
jmp 0xc61d5
leaq -0x100(%rbp), %rdi
leaq -0x4b0(%rbp), %rsi
movl $0x1, %edx
callq 0x2fff0
jmp 0xc61ef
jmp 0xc61f1
movq 0x41480(%rip), %rax     # 0x107678
movq %rax, -0x840(%rbp)
leaq 0x6c4c(%rip), %rsi      # 0xcce52
leaq -0x640(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc6219
leaq -0x650(%rbp), %rdi
callq 0x70c00
jmp 0xc6227
movq -0x840(%rbp), %rdi
leaq -0x640(%rbp), %rsi
movl $0x1b, %edx
leaq -0x650(%rbp), %rcx
callq 0x6840
jmp 0xc6248
callq 0x70e90
movq %rax, -0x848(%rbp)
jmp 0xc6256
movq -0x848(%rbp), %rsi
leaq 0x50c6(%rip), %rdx      # 0xcb32a
leaq -0x678(%rbp), %rdi
callq 0x70e50
jmp 0xc6272
leaq 0x6bd9(%rip), %rsi      # 0xcce52
leaq -0x688(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc628c
movl $0x3, -0x68c(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x344e0
movl %eax, -0x690(%rbp)
leaq 0x6bce(%rip), %rcx      # 0xcce7d
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x690(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x5ca7(%rip), %rcx      # 0xcbf6f
movq %rcx, (%rax)
leaq -0x678(%rbp), %rdi
leaq -0x688(%rbp), %rsi
movl $0x1b, %edx
movl $0x1, %ecx
movl $0x2, %r8d
leaq -0x68c(%rbp), %r9
callq 0xbf480
jmp 0xc62f7
leaq -0x678(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x849(%rbp)
jmp 0xc6310
movb -0x849(%rbp), %al
testb $0x1, %al
jne 0xc61f1
jmp 0xc6320
jmp 0xc6322
movq 0x4134f(%rip), %rax     # 0x107678
movq %rax, -0x858(%rbp)
leaq 0x6b1b(%rip), %rsi      # 0xcce52
leaq -0x6a0(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc634a
leaq -0x6b0(%rbp), %rdi
callq 0x70c00
jmp 0xc6358
movq -0x858(%rbp), %rdi
leaq -0x6a0(%rbp), %rsi
movl $0x1c, %edx
leaq -0x6b0(%rbp), %rcx
callq 0x6840
jmp 0xc6379
callq 0x70e90
movq %rax, -0x860(%rbp)
jmp 0xc6387
movq -0x860(%rbp), %rsi
leaq 0x4f95(%rip), %rdx      # 0xcb32a
leaq -0x6d8(%rbp), %rdi
callq 0x70e50
jmp 0xc63a3
leaq 0x6aa8(%rip), %rsi      # 0xcce52
leaq -0x6e8(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc63bd
movl $0x7, -0x6ec(%rbp)
leaq -0x100(%rbp), %rdi
leaq -0x430(%rbp), %rsi
callq 0x30b50
movl %eax, -0x864(%rbp)
jmp 0xc63e2
movl -0x864(%rbp), %eax
movl %eax, -0x6f0(%rbp)
leaq 0x6ae2(%rip), %rcx      # 0xcced7
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x6f0(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x6132(%rip), %rcx      # 0xcc540
movq %rcx, (%rax)
leaq -0x6d8(%rbp), %rdi
leaq -0x6e8(%rbp), %rsi
movl $0x1c, %edx
movl $0x1, %ecx
movl $0x2, %r8d
leaq -0x6ec(%rbp), %r9
callq 0xbf480
jmp 0xc643d
leaq -0x6d8(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x865(%rbp)
jmp 0xc6456
movb -0x865(%rbp), %al
testb $0x1, %al
jne 0xc6322
jmp 0xc6466
leaq -0x4b0(%rbp), %rdi
callq 0x26180
leaq -0x430(%rbp), %rdi
callq 0x6908
leaq -0x410(%rbp), %rdi
callq 0x26180
leaq -0x390(%rbp), %rdi
callq 0x6908
leaq -0x370(%rbp), %rdi
callq 0x26180
leaq -0x2f0(%rbp), %rdi
callq 0x6908
leaq -0x130(%rbp), %rdi
callq 0x5c1b0
leaq -0x100(%rbp), %rdi
callq 0x2fe10
addq $0x8b0, %rsp            # imm = 0x8B0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc66ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc66a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc6695
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc6689
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc667d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc6671
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc6665
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc6659
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc664d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc6641
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc6635
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x2c9(%rbp), %rdi
callq 0xdb50
leaq -0x2a0(%rbp), %rax
movq %rax, -0x878(%rbp)
addq $0x160, %rax            # imm = 0x160
movq %rax, -0x870(%rbp)
movq -0x870(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x880(%rbp)
callq 0x6908
movq -0x878(%rbp), %rcx
movq -0x880(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x870(%rbp)
jne 0xc6602
jmp 0xc6635
leaq -0x2c6(%rbp), %rdi
callq 0x6470
leaq -0x2c5(%rbp), %rdi
callq 0x6470
leaq -0x2c4(%rbp), %rdi
callq 0x6470
leaq -0x2c3(%rbp), %rdi
callq 0x6470
leaq -0x2c2(%rbp), %rdi
callq 0x6470
leaq -0x2c1(%rbp), %rdi
callq 0x6470
leaq -0x2c0(%rbp), %rdi
callq 0x6470
leaq -0x2bf(%rbp), %rdi
callq 0x6470
leaq -0x2be(%rbp), %rdi
callq 0x6470
leaq -0x2bd(%rbp), %rdi
callq 0x6470
leaq -0x2a9(%rbp), %rdi
callq 0x6470
testb $0x1, -0x2c7(%rbp)
jne 0xc66c4
jmp 0xc6711
movq -0x2a8(%rbp), %rax
leaq -0x2a0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x888(%rbp)
je 0xc670f
movq -0x888(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x890(%rbp)
callq 0x6908
movq -0x890(%rbp), %rax
leaq -0x2a0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x888(%rbp)
jne 0xc66de
jmp 0xc6711
jmp 0xc68f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x2f1(%rbp), %rdi
callq 0x6470
jmp 0xc68e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc68d8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x391(%rbp), %rdi
callq 0x6470
jmp 0xc68cc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc68c0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x431(%rbp), %rdi
callq 0x6470
jmp 0xc68b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc68a8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc689c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x4f8(%rbp), %rdi
callq 0x70ea0
jmp 0xc689c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x558(%rbp), %rdi
callq 0x70ea0
jmp 0xc689c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x5b8(%rbp), %rdi
callq 0x70ea0
jmp 0xc689c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x618(%rbp), %rdi
callq 0x70ea0
jmp 0xc689c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x678(%rbp), %rdi
callq 0x70ea0
jmp 0xc689c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x6d8(%rbp), %rdi
callq 0x70ea0
leaq -0x4b0(%rbp), %rdi
callq 0x26180
leaq -0x430(%rbp), %rdi
callq 0x6908
leaq -0x410(%rbp), %rdi
callq 0x26180
leaq -0x390(%rbp), %rdi
callq 0x6908
leaq -0x370(%rbp), %rdi
callq 0x26180
leaq -0x2f0(%rbp), %rdi
callq 0x6908
leaq -0x130(%rbp), %rdi
callq 0x5c1b0
leaq -0x100(%rbp), %rdi
callq 0x2fe10
movq -0x2b8(%rbp), %rdi
callq 0x67a0
nopl (%rax,%rax)