// File: aalto-speech[P]ftk/test/msfgtest.cc
// Function: MultiStringFactorGraphTest2::test_method()
BOOST_AUTO_TEST_CASE(MultiStringFactorGraphTest2)
{
    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, false);
    BOOST_CHECK_EQUAL( 1, (int)msfg.string_end_nodes.size() );
    BOOST_CHECK_EQUAL( 7, (int)msfg.num_paths(sentence) );
    msfg.add(fg2, false);
    BOOST_CHECK_EQUAL( 2, (int)msfg.string_end_nodes.size() );
    BOOST_CHECK_EQUAL( 7, msfg.num_paths(sentence2) );
    msfg.add(fg3, false);
    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 0x40762(%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 0x4cc4(%rip), %rsi      # 0xcbc3a
callq 0x65e0
jmp 0xc6f7d
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 0x477e(%rip), %rsi      # 0xcb738
callq 0x65e0
jmp 0xc6fc1
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 0x4010(%rip), %rsi      # 0xcb00e
callq 0x65e0
jmp 0xc7005
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 0x4ed2(%rip), %rsi      # 0xcbf14
callq 0x65e0
jmp 0xc7049
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 0x5722(%rip), %rsi      # 0xcc7a8
callq 0x65e0
jmp 0xc708d
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 0x4ca2(%rip), %rsi      # 0xcbd6c
callq 0x65e0
jmp 0xc70d1
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 0x4c61(%rip), %rsi      # 0xcbd6f
callq 0x65e0
jmp 0xc7115
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 0x4aea(%rip), %rsi      # 0xcbc3c
callq 0x65e0
jmp 0xc7159
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 0x5ccd(%rip), %rsi      # 0xcce63
callq 0x65e0
jmp 0xc719d
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 0x5c95(%rip), %rsi      # 0xcce6f
callq 0x65e0
jmp 0xc71e1
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 0x5c5a(%rip), %rsi      # 0xcce78
callq 0x65e0
jmp 0xc7225
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 0xc7282
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 0xc72a9
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 0x48bd(%rip), %rsi      # 0xcbc3c
leaq -0x2f0(%rbp), %rdi
callq 0x65e0
jmp 0xc738d
leaq -0x2f1(%rbp), %rdi
callq 0x6470
leaq 0x402e8(%rip), %rdx     # 0x107688
leaq -0x370(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
leaq -0x130(%rbp), %rcx
movl $0x5, %r8d
xorl %r9d, %r9d
callq 0x239b0
jmp 0xc73c5
leaq -0x391(%rbp), %rdi
movq %rdi, -0x7d0(%rbp)
callq 0x67b0
movq -0x7d0(%rbp), %rdx
leaq 0x5a81(%rip), %rsi      # 0xcce67
leaq -0x390(%rbp), %rdi
callq 0x65e0
jmp 0xc73f4
leaq -0x391(%rbp), %rdi
callq 0x6470
leaq 0x40281(%rip), %rdx     # 0x107688
leaq -0x410(%rbp), %rdi
leaq -0x390(%rbp), %rsi
leaq -0x130(%rbp), %rcx
movl $0x5, %r8d
xorl %r9d, %r9d
callq 0x239b0
jmp 0xc742c
leaq -0x431(%rbp), %rdi
movq %rdi, -0x7d8(%rbp)
callq 0x67b0
movq -0x7d8(%rbp), %rdx
leaq 0x5a26(%rip), %rsi      # 0xcce73
leaq -0x430(%rbp), %rdi
callq 0x65e0
jmp 0xc745b
leaq -0x431(%rbp), %rdi
callq 0x6470
leaq 0x4021a(%rip), %rdx     # 0x107688
leaq -0x4b0(%rbp), %rdi
leaq -0x430(%rbp), %rsi
leaq -0x130(%rbp), %rcx
movl $0x5, %r8d
xorl %r9d, %r9d
callq 0x239b0
jmp 0xc7493
leaq -0x100(%rbp), %rdi
leaq -0x370(%rbp), %rsi
xorl %edx, %edx
callq 0x2fff0
jmp 0xc74aa
jmp 0xc74ac
movq 0x401c5(%rip), %rax     # 0x107678
movq %rax, -0x7e0(%rbp)
leaq 0x5991(%rip), %rsi      # 0xcce52
leaq -0x4c0(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc74d4
leaq -0x4d0(%rbp), %rdi
callq 0x70c00
jmp 0xc74e2
movq -0x7e0(%rbp), %rdi
leaq -0x4c0(%rbp), %rsi
movl $0x2b, %edx
leaq -0x4d0(%rbp), %rcx
callq 0x6840
jmp 0xc7503
callq 0x70e90
movq %rax, -0x7e8(%rbp)
jmp 0xc7511
movq -0x7e8(%rbp), %rsi
leaq 0x3e0b(%rip), %rdx      # 0xcb32a
leaq -0x4f8(%rbp), %rdi
callq 0x70e50
jmp 0xc752d
leaq 0x591e(%rip), %rsi      # 0xcce52
leaq -0x508(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc7547
movl $0x1, -0x50c(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x344e0
movl %eax, -0x510(%rbp)
leaq 0x5913(%rip), %rcx      # 0xcce7d
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x510(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x4a00(%rip), %rcx      # 0xcbf83
movq %rcx, (%rax)
leaq -0x4f8(%rbp), %rdi
leaq -0x508(%rbp), %rsi
movl $0x2b, %edx
movl $0x1, %ecx
movl $0x2, %r8d
leaq -0x50c(%rbp), %r9
callq 0xbf480
jmp 0xc75b2
leaq -0x4f8(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x7e9(%rbp)
jmp 0xc75cb
movb -0x7e9(%rbp), %al
testb $0x1, %al
jne 0xc74ac
jmp 0xc75db
jmp 0xc75dd
movq 0x40094(%rip), %rax     # 0x107678
movq %rax, -0x7f8(%rbp)
leaq 0x5860(%rip), %rsi      # 0xcce52
leaq -0x520(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc7605
leaq -0x530(%rbp), %rdi
callq 0x70c00
jmp 0xc7613
movq -0x7f8(%rbp), %rdi
leaq -0x520(%rbp), %rsi
movl $0x2c, %edx
leaq -0x530(%rbp), %rcx
callq 0x6840
jmp 0xc7634
callq 0x70e90
movq %rax, -0x800(%rbp)
jmp 0xc7642
movq -0x800(%rbp), %rsi
leaq 0x3cda(%rip), %rdx      # 0xcb32a
leaq -0x558(%rbp), %rdi
callq 0x70e50
jmp 0xc765e
leaq 0x57ed(%rip), %rsi      # 0xcce52
leaq -0x568(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc7678
movl $0x7, -0x56c(%rbp)
leaq -0x100(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
callq 0x30b50
movl %eax, -0x804(%rbp)
jmp 0xc769d
movl -0x804(%rbp), %eax
movl %eax, -0x570(%rbp)
leaq 0x57ef(%rip), %rcx      # 0xcce9f
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x570(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x4e77(%rip), %rcx      # 0xcc540
movq %rcx, (%rax)
leaq -0x558(%rbp), %rdi
leaq -0x568(%rbp), %rsi
movl $0x2c, %edx
movl $0x1, %ecx
movl $0x2, %r8d
leaq -0x56c(%rbp), %r9
callq 0xbf480
jmp 0xc76f8
leaq -0x558(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x805(%rbp)
jmp 0xc7711
movb -0x805(%rbp), %al
testb $0x1, %al
jne 0xc75dd
jmp 0xc7721
leaq -0x100(%rbp), %rdi
leaq -0x410(%rbp), %rsi
xorl %edx, %edx
callq 0x2fff0
jmp 0xc7738
jmp 0xc773a
movq 0x3ff37(%rip), %rax     # 0x107678
movq %rax, -0x810(%rbp)
leaq 0x5703(%rip), %rsi      # 0xcce52
leaq -0x580(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc7762
leaq -0x590(%rbp), %rdi
callq 0x70c00
jmp 0xc7770
movq -0x810(%rbp), %rdi
leaq -0x580(%rbp), %rsi
movl $0x2e, %edx
leaq -0x590(%rbp), %rcx
callq 0x6840
jmp 0xc7791
callq 0x70e90
movq %rax, -0x818(%rbp)
jmp 0xc779f
movq -0x818(%rbp), %rsi
leaq 0x3b7d(%rip), %rdx      # 0xcb32a
leaq -0x5b8(%rbp), %rdi
callq 0x70e50
jmp 0xc77bb
leaq 0x5690(%rip), %rsi      # 0xcce52
leaq -0x5c8(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc77d5
movl $0x2, -0x5cc(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x344e0
movl %eax, -0x5d0(%rbp)
leaq 0x5685(%rip), %rcx      # 0xcce7d
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x5d0(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x4e85(%rip), %rcx      # 0xcc696
movq %rcx, (%rax)
leaq -0x5b8(%rbp), %rdi
leaq -0x5c8(%rbp), %rsi
movl $0x2e, %edx
movl $0x1, %ecx
movl $0x2, %r8d
leaq -0x5cc(%rbp), %r9
callq 0xbf480
jmp 0xc7840
leaq -0x5b8(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x819(%rbp)
jmp 0xc7859
movb -0x819(%rbp), %al
testb $0x1, %al
jne 0xc773a
jmp 0xc7869
jmp 0xc786b
movq 0x3fe06(%rip), %rax     # 0x107678
movq %rax, -0x828(%rbp)
leaq 0x55d2(%rip), %rsi      # 0xcce52
leaq -0x5e0(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc7893
leaq -0x5f0(%rbp), %rdi
callq 0x70c00
jmp 0xc78a1
movq -0x828(%rbp), %rdi
leaq -0x5e0(%rbp), %rsi
movl $0x2f, %edx
leaq -0x5f0(%rbp), %rcx
callq 0x6840
jmp 0xc78c2
callq 0x70e90
movq %rax, -0x830(%rbp)
jmp 0xc78d0
movq -0x830(%rbp), %rsi
leaq 0x3a4c(%rip), %rdx      # 0xcb32a
leaq -0x618(%rbp), %rdi
callq 0x70e50
jmp 0xc78ec
leaq 0x555f(%rip), %rsi      # 0xcce52
leaq -0x628(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc7906
movl $0x7, -0x62c(%rbp)
leaq -0x100(%rbp), %rdi
leaq -0x390(%rbp), %rsi
callq 0x30b50
movl %eax, -0x834(%rbp)
jmp 0xc792b
movl -0x834(%rbp), %eax
movl %eax, -0x630(%rbp)
leaq 0x557f(%rip), %rcx      # 0xccebd
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x630(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x4be9(%rip), %rcx      # 0xcc540
movq %rcx, (%rax)
leaq -0x618(%rbp), %rdi
leaq -0x628(%rbp), %rsi
movl $0x2f, %edx
movl $0x1, %ecx
movl $0x2, %r8d
leaq -0x62c(%rbp), %r9
callq 0xbf480
jmp 0xc7986
leaq -0x618(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x835(%rbp)
jmp 0xc799f
movb -0x835(%rbp), %al
testb $0x1, %al
jne 0xc786b
jmp 0xc79af
leaq -0x100(%rbp), %rdi
leaq -0x4b0(%rbp), %rsi
xorl %edx, %edx
callq 0x2fff0
jmp 0xc79c6
jmp 0xc79c8
movq 0x3fca9(%rip), %rax     # 0x107678
movq %rax, -0x840(%rbp)
leaq 0x5475(%rip), %rsi      # 0xcce52
leaq -0x640(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc79f0
leaq -0x650(%rbp), %rdi
callq 0x70c00
jmp 0xc79fe
movq -0x840(%rbp), %rdi
leaq -0x640(%rbp), %rsi
movl $0x31, %edx
leaq -0x650(%rbp), %rcx
callq 0x6840
jmp 0xc7a1f
callq 0x70e90
movq %rax, -0x848(%rbp)
jmp 0xc7a2d
movq -0x848(%rbp), %rsi
leaq 0x38ef(%rip), %rdx      # 0xcb32a
leaq -0x678(%rbp), %rdi
callq 0x70e50
jmp 0xc7a49
leaq 0x5402(%rip), %rsi      # 0xcce52
leaq -0x688(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc7a63
movl $0x3, -0x68c(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x344e0
movl %eax, -0x690(%rbp)
leaq 0x53f7(%rip), %rcx      # 0xcce7d
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x690(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x44d0(%rip), %rcx      # 0xcbf6f
movq %rcx, (%rax)
leaq -0x678(%rbp), %rdi
leaq -0x688(%rbp), %rsi
movl $0x31, %edx
movl $0x1, %ecx
movl $0x2, %r8d
leaq -0x68c(%rbp), %r9
callq 0xbf480
jmp 0xc7ace
leaq -0x678(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x849(%rbp)
jmp 0xc7ae7
movb -0x849(%rbp), %al
testb $0x1, %al
jne 0xc79c8
jmp 0xc7af7
jmp 0xc7af9
movq 0x3fb78(%rip), %rax     # 0x107678
movq %rax, -0x858(%rbp)
leaq 0x5344(%rip), %rsi      # 0xcce52
leaq -0x6a0(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc7b21
leaq -0x6b0(%rbp), %rdi
callq 0x70c00
jmp 0xc7b2f
movq -0x858(%rbp), %rdi
leaq -0x6a0(%rbp), %rsi
movl $0x32, %edx
leaq -0x6b0(%rbp), %rcx
callq 0x6840
jmp 0xc7b50
callq 0x70e90
movq %rax, -0x860(%rbp)
jmp 0xc7b5e
movq -0x860(%rbp), %rsi
leaq 0x37be(%rip), %rdx      # 0xcb32a
leaq -0x6d8(%rbp), %rdi
callq 0x70e50
jmp 0xc7b7a
leaq 0x52d1(%rip), %rsi      # 0xcce52
leaq -0x6e8(%rbp), %rdi
movl $0x10, %edx
callq 0x70bd0
jmp 0xc7b94
movl $0x7, -0x6ec(%rbp)
leaq -0x100(%rbp), %rdi
leaq -0x430(%rbp), %rsi
callq 0x30b50
movl %eax, -0x864(%rbp)
jmp 0xc7bb9
movl -0x864(%rbp), %eax
movl %eax, -0x6f0(%rbp)
leaq 0x530b(%rip), %rcx      # 0xcced7
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x6f0(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x495b(%rip), %rcx      # 0xcc540
movq %rcx, (%rax)
leaq -0x6d8(%rbp), %rdi
leaq -0x6e8(%rbp), %rsi
movl $0x32, %edx
movl $0x1, %ecx
movl $0x2, %r8d
leaq -0x6ec(%rbp), %r9
callq 0xbf480
jmp 0xc7c14
leaq -0x6d8(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x865(%rbp)
jmp 0xc7c2d
movb -0x865(%rbp), %al
testb $0x1, %al
jne 0xc7af9
jmp 0xc7c3d
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 0xc7e84
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc7e78
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc7e6c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc7e60
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc7e54
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc7e48
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc7e3c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc7e30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc7e24
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc7e18
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc7e0c
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 0xc7dd9
jmp 0xc7e0c
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 0xc7e9b
jmp 0xc7ee8
movq -0x2a8(%rbp), %rax
leaq -0x2a0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x888(%rbp)
je 0xc7ee6
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 0xc7eb5
jmp 0xc7ee8
jmp 0xc80c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x2f1(%rbp), %rdi
callq 0x6470
jmp 0xc80bb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc80af
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x391(%rbp), %rdi
callq 0x6470
jmp 0xc80a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc8097
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x431(%rbp), %rdi
callq 0x6470
jmp 0xc808b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc807f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0xc8073
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x4f8(%rbp), %rdi
callq 0x70ea0
jmp 0xc8073
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x558(%rbp), %rdi
callq 0x70ea0
jmp 0xc8073
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x5b8(%rbp), %rdi
callq 0x70ea0
jmp 0xc8073
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x618(%rbp), %rdi
callq 0x70ea0
jmp 0xc8073
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x678(%rbp), %rdi
callq 0x70ea0
jmp 0xc8073
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
nop