// File: aalto-speech[P]ftk/test/emtest.cc
// Function: ForwardBackwardTest7::test_method()
BOOST_AUTO_TEST_CASE(ForwardBackwardTest7)
{
    map<string, flt_type> vocab;
    vocab["a"] = log(0.25);
    vocab["sa"] = log(0.25);
    vocab["s"] = log(0.25);
    vocab["ki"] = log(0.50);
    vocab["kis"] = log(0.50);
    string sentence("kissa");
    map<string, flt_type> stats;
    flt_type lp = forward_backward(vocab, sentence, stats);
    BOOST_CHECK_EQUAL(5, (int)stats.size());
    BOOST_CHECK_CLOSE( 0.80, stats["kis"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( 0.20, stats["ki"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( 0.80, stats["sa"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( 0.20+0.20, stats["s"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( 0.20, stats["a"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( (flt_type)-1.63315443905, lp, DBL_ACCURACY );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x6f0, %rsp            # imm = 0x6F0
movq %rdi, -0x8(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x530a0
movsd 0x4e198(%rip), %xmm0    # 0xcbb18
callq 0x6370
movsd %xmm0, -0x518(%rbp)
leaq -0x59(%rbp), %rdi
movq %rdi, -0x510(%rbp)
callq 0x67b0
movq -0x510(%rbp), %rdx
leaq 0x4e569(%rip), %rsi     # 0xcbf14
leaq -0x58(%rbp), %rdi
callq 0x65e0
jmp 0x7d9b6
leaq -0x38(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x520(%rbp)
jmp 0x7d9cc
movq -0x520(%rbp), %rax
movsd -0x518(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x58(%rbp), %rdi
callq 0x6908
leaq -0x59(%rbp), %rdi
callq 0x6470
movsd 0x4e11f(%rip), %xmm0    # 0xcbb18
callq 0x6370
movsd %xmm0, -0x530(%rbp)
leaq -0x91(%rbp), %rdi
movq %rdi, -0x528(%rbp)
callq 0x67b0
movq -0x528(%rbp), %rdx
leaq 0x4ed81(%rip), %rsi     # 0xcc7a8
leaq -0x90(%rbp), %rdi
callq 0x65e0
jmp 0x7da35
leaq -0x38(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x538(%rbp)
jmp 0x7da4e
movq -0x538(%rbp), %rax
movsd -0x530(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x90(%rbp), %rdi
callq 0x6908
leaq -0x91(%rbp), %rdi
callq 0x6470
movsd 0x4e097(%rip), %xmm0    # 0xcbb18
callq 0x6370
movsd %xmm0, -0x548(%rbp)
leaq -0xb9(%rbp), %rdi
movq %rdi, -0x540(%rbp)
callq 0x67b0
movq -0x540(%rbp), %rdx
leaq 0x4d55f(%rip), %rsi     # 0xcb00e
leaq -0xb8(%rbp), %rdi
callq 0x65e0
jmp 0x7dabd
leaq -0x38(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x550(%rbp)
jmp 0x7dad6
movq -0x550(%rbp), %rax
movsd -0x548(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0xb8(%rbp), %rdi
callq 0x6908
leaq -0xb9(%rbp), %rdi
callq 0x6470
movsd 0x4e017(%rip), %xmm0    # 0xcbb20
callq 0x6370
movsd %xmm0, -0x560(%rbp)
leaq -0xe1(%rbp), %rdi
movq %rdi, -0x558(%rbp)
callq 0x67b0
movq -0x558(%rbp), %rdx
leaq 0x4e235(%rip), %rsi     # 0xcbd6c
leaq -0xe0(%rbp), %rdi
callq 0x65e0
jmp 0x7db45
leaq -0x38(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x568(%rbp)
jmp 0x7db5e
movq -0x568(%rbp), %rax
movsd -0x560(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0xe0(%rbp), %rdi
callq 0x6908
leaq -0xe1(%rbp), %rdi
callq 0x6470
movsd 0x4df8f(%rip), %xmm0    # 0xcbb20
callq 0x6370
movsd %xmm0, -0x578(%rbp)
leaq -0x109(%rbp), %rdi
movq %rdi, -0x570(%rbp)
callq 0x67b0
movq -0x570(%rbp), %rdx
leaq 0x4e1b0(%rip), %rsi     # 0xcbd6f
leaq -0x108(%rbp), %rdi
callq 0x65e0
jmp 0x7dbcd
leaq -0x38(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x580(%rbp)
jmp 0x7dbe6
movq -0x580(%rbp), %rax
movsd -0x578(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x108(%rbp), %rdi
callq 0x6908
leaq -0x109(%rbp), %rdi
callq 0x6470
leaq -0x131(%rbp), %rdi
movq %rdi, -0x588(%rbp)
callq 0x67b0
movq -0x588(%rbp), %rdx
leaq 0x4e00a(%rip), %rsi     # 0xcbc3c
leaq -0x130(%rbp), %rdi
callq 0x65e0
jmp 0x7dc40
leaq -0x131(%rbp), %rdi
callq 0x6470
leaq -0x168(%rbp), %rdi
movq %rdi, -0x598(%rbp)
callq 0x530a0
movq -0x598(%rbp), %rdx
leaq -0x38(%rbp), %rdi
leaq -0x130(%rbp), %rsi
xorl %ecx, %ecx
callq 0x44ea0
movsd %xmm0, -0x590(%rbp)
jmp 0x7dc82
movsd -0x590(%rbp), %xmm0
movsd %xmm0, -0x170(%rbp)
movq 0x89957(%rip), %rax     # 0x1075f0
movq %rax, -0x5a0(%rbp)
leaq 0x4dec1(%rip), %rsi     # 0xcbb68
leaq -0x180(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x7dcba
leaq -0x190(%rbp), %rdi
callq 0x70c00
jmp 0x7dcc8
movq -0x5a0(%rbp), %rdi
leaq -0x180(%rbp), %rsi
movl $0x12b, %edx            # imm = 0x12B
leaq -0x190(%rbp), %rcx
callq 0x6840
jmp 0x7dce9
callq 0x70e90
movq %rax, -0x5a8(%rbp)
jmp 0x7dcf7
movq -0x5a8(%rbp), %rsi
leaq 0x4d625(%rip), %rdx     # 0xcb32a
leaq -0x1b8(%rbp), %rdi
callq 0x70e50
jmp 0x7dd13
leaq 0x4de4e(%rip), %rsi     # 0xcbb68
leaq -0x1c8(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x7dd2d
movl $0x5, -0x1cc(%rbp)
leaq -0x168(%rbp), %rdi
callq 0x5bdf0
movl %eax, -0x1d0(%rbp)
leaq 0x4df1e(%rip), %rcx     # 0xcbc6e
movq %rsp, %rax
movq %rcx, 0x10(%rax)
leaq -0x1d0(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x4e064(%rip), %rcx     # 0xcbdcd
movq %rcx, (%rax)
leaq -0x1b8(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
movl $0x12b, %edx            # imm = 0x12B
movl $0x1, %ecx
movl $0x2, %r8d
leaq -0x1cc(%rbp), %r9
callq 0xbf480
jmp 0x7dd98
leaq -0x1b8(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x5a9(%rbp)
jmp 0x7ddb1
movb -0x5a9(%rbp), %al
testb $0x1, %al
jne 0x7dc92
jmp 0x7ddc1
jmp 0x7ddc3
movq 0x89826(%rip), %rax     # 0x1075f0
movq %rax, -0x5b8(%rbp)
leaq 0x4dd90(%rip), %rsi     # 0xcbb68
leaq -0x1e0(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x7ddeb
leaq -0x1f0(%rbp), %rdi
callq 0x70c00
jmp 0x7ddf9
movq -0x5b8(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
movl $0x12c, %edx            # imm = 0x12C
leaq -0x1f0(%rbp), %rcx
callq 0x6840
jmp 0x7de1a
callq 0x70e90
movq %rax, -0x5c0(%rbp)
jmp 0x7de28
movq -0x5c0(%rbp), %rsi
leaq 0x4d4f4(%rip), %rdx     # 0xcb32a
leaq -0x218(%rbp), %rdi
callq 0x70e50
jmp 0x7de44
leaq 0x4dd1d(%rip), %rsi     # 0xcbb68
leaq -0x228(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x7de5e
movabsq $0x3fe999999999999a, %rax # imm = 0x3FE999999999999A
movq %rax, -0x230(%rbp)
leaq -0x251(%rbp), %rdi
movq %rdi, -0x5c8(%rbp)
callq 0x67b0
movq -0x5c8(%rbp), %rdx
leaq 0x4dedf(%rip), %rsi     # 0xcbd6f
leaq -0x250(%rbp), %rdi
callq 0x65e0
jmp 0x7de9e
leaq -0x168(%rbp), %rdi
leaq -0x250(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x5d0(%rbp)
jmp 0x7deba
movsd 0x895ee(%rip), %xmm0    # 0x1074b0
callq 0xbf970
movsd %xmm0, -0x5d8(%rbp)
jmp 0x7ded1
movq -0x5d0(%rbp), %rcx
movsd -0x5d8(%rbp), %xmm0
movsd %xmm0, -0x260(%rbp)
leaq 0x4ddf6(%rip), %rdx     # 0xcbce5
movq %rsp, %rax
movq %rdx, 0x20(%rax)
leaq -0x260(%rbp), %rdx
movq %rdx, 0x18(%rax)
leaq 0x4de70(%rip), %rdx     # 0xcbd78
movq %rdx, 0x10(%rax)
movq %rcx, 0x8(%rax)
leaq 0x4de5c(%rip), %rcx     # 0xcbd73
movq %rcx, (%rax)
leaq -0x218(%rbp), %rdi
leaq -0x228(%rbp), %rsi
movl $0x12c, %edx            # imm = 0x12C
movl $0x1, %ecx
movl $0x8, %r8d
leaq -0x230(%rbp), %r9
callq 0xbf6a0
jmp 0x7df46
leaq -0x250(%rbp), %rdi
callq 0x6908
leaq -0x251(%rbp), %rdi
callq 0x6470
leaq -0x218(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x5d9(%rbp)
jmp 0x7df77
movb -0x5d9(%rbp), %al
testb $0x1, %al
jne 0x7ddc3
jmp 0x7df87
jmp 0x7df89
movq 0x89660(%rip), %rax     # 0x1075f0
movq %rax, -0x5e8(%rbp)
leaq 0x4dbca(%rip), %rsi     # 0xcbb68
leaq -0x270(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x7dfb1
leaq -0x280(%rbp), %rdi
callq 0x70c00
jmp 0x7dfbf
movq -0x5e8(%rbp), %rdi
leaq -0x270(%rbp), %rsi
movl $0x12d, %edx            # imm = 0x12D
leaq -0x280(%rbp), %rcx
callq 0x6840
jmp 0x7dfe0
callq 0x70e90
movq %rax, -0x5f0(%rbp)
jmp 0x7dfee
movq -0x5f0(%rbp), %rsi
leaq 0x4d32e(%rip), %rdx     # 0xcb32a
leaq -0x2a8(%rbp), %rdi
callq 0x70e50
jmp 0x7e00a
leaq 0x4db57(%rip), %rsi     # 0xcbb68
leaq -0x2b8(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x7e024
movabsq $0x3fc999999999999a, %rax # imm = 0x3FC999999999999A
movq %rax, -0x2c0(%rbp)
leaq -0x2e1(%rbp), %rdi
movq %rdi, -0x5f8(%rbp)
callq 0x67b0
movq -0x5f8(%rbp), %rdx
leaq 0x4dd16(%rip), %rsi     # 0xcbd6c
leaq -0x2e0(%rbp), %rdi
callq 0x65e0
jmp 0x7e064
leaq -0x168(%rbp), %rdi
leaq -0x2e0(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x600(%rbp)
jmp 0x7e080
movsd 0x89428(%rip), %xmm0    # 0x1074b0
callq 0xbf970
movsd %xmm0, -0x608(%rbp)
jmp 0x7e097
movq -0x600(%rbp), %rcx
movsd -0x608(%rbp), %xmm0
movsd %xmm0, -0x2f0(%rbp)
leaq 0x4dc30(%rip), %rdx     # 0xcbce5
movq %rsp, %rax
movq %rdx, 0x20(%rax)
leaq -0x2f0(%rbp), %rdx
movq %rdx, 0x18(%rax)
leaq 0x4dcb7(%rip), %rdx     # 0xcbd85
movq %rdx, 0x10(%rax)
movq %rcx, 0x8(%rax)
leaq 0x4dcc5(%rip), %rcx     # 0xcbda2
movq %rcx, (%rax)
leaq -0x2a8(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
movl $0x12d, %edx            # imm = 0x12D
movl $0x1, %ecx
movl $0x8, %r8d
leaq -0x2c0(%rbp), %r9
callq 0xbf6a0
jmp 0x7e10c
leaq -0x2e0(%rbp), %rdi
callq 0x6908
leaq -0x2e1(%rbp), %rdi
callq 0x6470
leaq -0x2a8(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x609(%rbp)
jmp 0x7e13d
movb -0x609(%rbp), %al
testb $0x1, %al
jne 0x7df89
jmp 0x7e14d
jmp 0x7e14f
movq 0x8949a(%rip), %rax     # 0x1075f0
movq %rax, -0x618(%rbp)
leaq 0x4da04(%rip), %rsi     # 0xcbb68
leaq -0x300(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x7e177
leaq -0x310(%rbp), %rdi
callq 0x70c00
jmp 0x7e185
movq -0x618(%rbp), %rdi
leaq -0x300(%rbp), %rsi
movl $0x12e, %edx            # imm = 0x12E
leaq -0x310(%rbp), %rcx
callq 0x6840
jmp 0x7e1a6
callq 0x70e90
movq %rax, -0x620(%rbp)
jmp 0x7e1b4
movq -0x620(%rbp), %rsi
leaq 0x4d168(%rip), %rdx     # 0xcb32a
leaq -0x338(%rbp), %rdi
callq 0x70e50
jmp 0x7e1d0
leaq 0x4d991(%rip), %rsi     # 0xcbb68
leaq -0x348(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x7e1ea
movabsq $0x3fe999999999999a, %rax # imm = 0x3FE999999999999A
movq %rax, -0x350(%rbp)
leaq -0x371(%rbp), %rdi
movq %rdi, -0x628(%rbp)
callq 0x67b0
movq -0x628(%rbp), %rdx
leaq 0x4e58c(%rip), %rsi     # 0xcc7a8
leaq -0x370(%rbp), %rdi
callq 0x65e0
jmp 0x7e22a
leaq -0x168(%rbp), %rdi
leaq -0x370(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x630(%rbp)
jmp 0x7e246
movsd 0x89262(%rip), %xmm0    # 0x1074b0
callq 0xbf970
movsd %xmm0, -0x638(%rbp)
jmp 0x7e25d
movq -0x630(%rbp), %rcx
movsd -0x638(%rbp), %xmm0
movsd %xmm0, -0x380(%rbp)
leaq 0x4da6a(%rip), %rdx     # 0xcbce5
movq %rsp, %rax
movq %rdx, 0x20(%rax)
leaq -0x380(%rbp), %rdx
movq %rdx, 0x18(%rax)
leaq 0x4dafd(%rip), %rdx     # 0xcbd91
movq %rdx, 0x10(%rax)
movq %rcx, 0x8(%rax)
leaq 0x4dad0(%rip), %rcx     # 0xcbd73
movq %rcx, (%rax)
leaq -0x338(%rbp), %rdi
leaq -0x348(%rbp), %rsi
movl $0x12e, %edx            # imm = 0x12E
movl $0x1, %ecx
movl $0x8, %r8d
leaq -0x350(%rbp), %r9
callq 0xbf6a0
jmp 0x7e2d2
leaq -0x370(%rbp), %rdi
callq 0x6908
leaq -0x371(%rbp), %rdi
callq 0x6470
leaq -0x338(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x639(%rbp)
jmp 0x7e303
movb -0x639(%rbp), %al
testb $0x1, %al
jne 0x7e14f
jmp 0x7e313
jmp 0x7e315
movq 0x892d4(%rip), %rax     # 0x1075f0
movq %rax, -0x648(%rbp)
leaq 0x4d83e(%rip), %rsi     # 0xcbb68
leaq -0x390(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x7e33d
leaq -0x3a0(%rbp), %rdi
callq 0x70c00
jmp 0x7e34b
movq -0x648(%rbp), %rdi
leaq -0x390(%rbp), %rsi
movl $0x12f, %edx            # imm = 0x12F
leaq -0x3a0(%rbp), %rcx
callq 0x6840
jmp 0x7e36c
callq 0x70e90
movq %rax, -0x650(%rbp)
jmp 0x7e37a
movq -0x650(%rbp), %rsi
leaq 0x4cfa2(%rip), %rdx     # 0xcb32a
leaq -0x3c8(%rbp), %rdi
callq 0x70e50
jmp 0x7e396
leaq 0x4d7cb(%rip), %rsi     # 0xcbb68
leaq -0x3d8(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x7e3b0
movabsq $0x3fd999999999999a, %rax # imm = 0x3FD999999999999A
movq %rax, -0x3e0(%rbp)
leaq -0x401(%rbp), %rdi
movq %rdi, -0x658(%rbp)
callq 0x67b0
movq -0x658(%rbp), %rdx
leaq 0x4cc2c(%rip), %rsi     # 0xcb00e
leaq -0x400(%rbp), %rdi
callq 0x65e0
jmp 0x7e3f0
leaq -0x168(%rbp), %rdi
leaq -0x400(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x660(%rbp)
jmp 0x7e40c
movsd 0x8909c(%rip), %xmm0    # 0x1074b0
callq 0xbf970
movsd %xmm0, -0x668(%rbp)
jmp 0x7e423
movq -0x660(%rbp), %rcx
movsd -0x668(%rbp), %xmm0
movsd %xmm0, -0x410(%rbp)
leaq 0x4d8a4(%rip), %rdx     # 0xcbce5
movq %rsp, %rax
movq %rdx, 0x20(%rax)
leaq -0x410(%rbp), %rdx
movq %rdx, 0x18(%rax)
leaq 0x4d94d(%rip), %rdx     # 0xcbda7
movq %rdx, 0x10(%rax)
movq %rcx, 0x8(%rax)
leaq 0x4d934(%rip), %rcx     # 0xcbd9d
movq %rcx, (%rax)
leaq -0x3c8(%rbp), %rdi
leaq -0x3d8(%rbp), %rsi
movl $0x12f, %edx            # imm = 0x12F
movl $0x1, %ecx
movl $0x8, %r8d
leaq -0x3e0(%rbp), %r9
callq 0xbf6a0
jmp 0x7e498
leaq -0x400(%rbp), %rdi
callq 0x6908
leaq -0x401(%rbp), %rdi
callq 0x6470
leaq -0x3c8(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x669(%rbp)
jmp 0x7e4c9
movb -0x669(%rbp), %al
testb $0x1, %al
jne 0x7e315
jmp 0x7e4d9
jmp 0x7e4db
movq 0x8910e(%rip), %rax     # 0x1075f0
movq %rax, -0x678(%rbp)
leaq 0x4d678(%rip), %rsi     # 0xcbb68
leaq -0x420(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x7e503
leaq -0x430(%rbp), %rdi
callq 0x70c00
jmp 0x7e511
movq -0x678(%rbp), %rdi
leaq -0x420(%rbp), %rsi
movl $0x130, %edx            # imm = 0x130
leaq -0x430(%rbp), %rcx
callq 0x6840
jmp 0x7e532
callq 0x70e90
movq %rax, -0x680(%rbp)
jmp 0x7e540
movq -0x680(%rbp), %rsi
leaq 0x4cddc(%rip), %rdx     # 0xcb32a
leaq -0x458(%rbp), %rdi
callq 0x70e50
jmp 0x7e55c
leaq 0x4d605(%rip), %rsi     # 0xcbb68
leaq -0x468(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x7e576
movabsq $0x3fc999999999999a, %rax # imm = 0x3FC999999999999A
movq %rax, -0x470(%rbp)
leaq -0x491(%rbp), %rdi
movq %rdi, -0x688(%rbp)
callq 0x67b0
movq -0x688(%rbp), %rdx
leaq 0x4d96c(%rip), %rsi     # 0xcbf14
leaq -0x490(%rbp), %rdi
callq 0x65e0
jmp 0x7e5b6
leaq -0x168(%rbp), %rdi
leaq -0x490(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0x690(%rbp)
jmp 0x7e5d2
movsd 0x88ed6(%rip), %xmm0    # 0x1074b0
callq 0xbf970
movsd %xmm0, -0x698(%rbp)
jmp 0x7e5e9
movq -0x690(%rbp), %rcx
movsd -0x698(%rbp), %xmm0
movsd %xmm0, -0x4a0(%rbp)
leaq 0x4d6de(%rip), %rdx     # 0xcbce5
movq %rsp, %rax
movq %rdx, 0x20(%rax)
leaq -0x4a0(%rbp), %rdx
movq %rdx, 0x18(%rax)
leaq 0x4d694(%rip), %rdx     # 0xcbcb4
movq %rdx, 0x10(%rax)
movq %rcx, 0x8(%rax)
leaq 0x4d773(%rip), %rcx     # 0xcbda2
movq %rcx, (%rax)
leaq -0x458(%rbp), %rdi
leaq -0x468(%rbp), %rsi
movl $0x130, %edx            # imm = 0x130
movl $0x1, %ecx
movl $0x8, %r8d
leaq -0x470(%rbp), %r9
callq 0xbf6a0
jmp 0x7e65e
leaq -0x490(%rbp), %rdi
callq 0x6908
leaq -0x491(%rbp), %rdi
callq 0x6470
leaq -0x458(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x699(%rbp)
jmp 0x7e68f
movb -0x699(%rbp), %al
testb $0x1, %al
jne 0x7e4db
jmp 0x7e69f
jmp 0x7e6a1
movq 0x88f48(%rip), %rax     # 0x1075f0
movq %rax, -0x6a8(%rbp)
leaq 0x4d4b2(%rip), %rsi     # 0xcbb68
leaq -0x4b0(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x7e6c9
leaq -0x4c0(%rbp), %rdi
callq 0x70c00
jmp 0x7e6d7
movq -0x6a8(%rbp), %rdi
leaq -0x4b0(%rbp), %rsi
movl $0x131, %edx            # imm = 0x131
leaq -0x4c0(%rbp), %rcx
callq 0x6840
jmp 0x7e6f8
callq 0x70e90
movq %rax, -0x6b0(%rbp)
jmp 0x7e706
movq -0x6b0(%rbp), %rsi
leaq 0x4cc16(%rip), %rdx     # 0xcb32a
leaq -0x4e8(%rbp), %rdi
callq 0x70e50
jmp 0x7e722
leaq 0x4d43f(%rip), %rsi     # 0xcbb68
leaq -0x4f8(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0x7e73c
movabsq $-0x4005de99736f688d, %rax # imm = 0xBFFA21668C909773
movq %rax, -0x500(%rbp)
movsd 0x88d5b(%rip), %xmm0    # 0x1074b0
callq 0xbf970
movsd %xmm0, -0x6b8(%rbp)
jmp 0x7e764
movsd -0x6b8(%rbp), %xmm0
movsd %xmm0, -0x508(%rbp)
leaq 0x4d56a(%rip), %rcx     # 0xcbce5
movq %rsp, %rax
movq %rcx, 0x20(%rax)
leaq -0x508(%rbp), %rcx
movq %rcx, 0x18(%rax)
leaq 0x4dfe2(%rip), %rcx     # 0xcc776
movq %rcx, 0x10(%rax)
leaq -0x170(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x4d608(%rip), %rcx     # 0xcbdb2
movq %rcx, (%rax)
leaq -0x4e8(%rbp), %rdi
leaq -0x4f8(%rbp), %rsi
movl $0x131, %edx            # imm = 0x131
movl $0x1, %ecx
movl $0x8, %r8d
leaq -0x500(%rbp), %r9
callq 0xbf6a0
jmp 0x7e7d9
leaq -0x4e8(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0x6b9(%rbp)
jmp 0x7e7f2
movb -0x6b9(%rbp), %al
testb $0x1, %al
jne 0x7e6a1
jmp 0x7e802
leaq -0x168(%rbp), %rdi
callq 0x4cf70
leaq -0x130(%rbp), %rdi
callq 0x6908
leaq -0x38(%rbp), %rdi
callq 0x4cf70
addq $0x6f0, %rsp            # imm = 0x6F0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7e84f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x6908
leaq -0x59(%rbp), %rdi
callq 0x6470
jmp 0x7eb43
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7e883
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x6908
leaq -0x91(%rbp), %rdi
callq 0x6470
jmp 0x7eb43
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7e8ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x6908
leaq -0xb9(%rbp), %rdi
callq 0x6470
jmp 0x7eb43
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7e8f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x6908
leaq -0xe1(%rbp), %rdi
callq 0x6470
jmp 0x7eb43
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7e928
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x6908
leaq -0x109(%rbp), %rdi
callq 0x6470
jmp 0x7eb43
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x131(%rbp), %rdi
callq 0x6470
jmp 0x7eb43
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7eb2b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x70ea0
jmp 0x7eb2b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7e9c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7e9b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x250(%rbp), %rdi
callq 0x6908
leaq -0x251(%rbp), %rdi
callq 0x6470
leaq -0x218(%rbp), %rdi
callq 0x70ea0
jmp 0x7eb2b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7ea15
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7ea09
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0x6908
leaq -0x2e1(%rbp), %rdi
callq 0x6470
leaq -0x2a8(%rbp), %rdi
callq 0x70ea0
jmp 0x7eb2b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7ea66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7ea5a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x370(%rbp), %rdi
callq 0x6908
leaq -0x371(%rbp), %rdi
callq 0x6470
leaq -0x338(%rbp), %rdi
callq 0x70ea0
jmp 0x7eb2b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7eab7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7eaab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x400(%rbp), %rdi
callq 0x6908
leaq -0x401(%rbp), %rdi
callq 0x6470
leaq -0x3c8(%rbp), %rdi
callq 0x70ea0
jmp 0x7eb2b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7eb05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7eaf9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x490(%rbp), %rdi
callq 0x6908
leaq -0x491(%rbp), %rdi
callq 0x6470
leaq -0x458(%rbp), %rdi
callq 0x70ea0
jmp 0x7eb2b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x4e8(%rbp), %rdi
callq 0x70ea0
leaq -0x168(%rbp), %rdi
callq 0x4cf70
leaq -0x130(%rbp), %rdi
callq 0x6908
leaq -0x38(%rbp), %rdi
callq 0x4cf70
movq -0x68(%rbp), %rdi
callq 0x67a0
nopw %cs:(%rax,%rax)