// File: /workspace/github_cpp_makefile_star2_O3/aalto-speech[P]ftk/test/emtest.cc
// Function: ForwardBackwardTest6::test_method()
BOOST_AUTO_TEST_CASE(ForwardBackwardTest6)
{
    map<string, flt_type> vocab;
    vocab["a"] = -1.0;
    vocab["b"] = -1.0;
    vocab["c"] = -1.0;
    vocab["d"] = -1.0;
    vocab["bc"] = -2.0;
    string sentence("abc");
    map<string, flt_type> stats;
    flt_type lp = forward_backward(vocab, sentence, stats);
    BOOST_CHECK_EQUAL(4, (int)stats.size());
    BOOST_CHECK_CLOSE( (flt_type)0.50, stats["bc"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( (flt_type)0.50, stats["c"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( (flt_type)0.50, stats["b"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( (flt_type)1.0, stats["a"], DBL_ACCURACY );
    // -3.0 + math.log(1+math.exp(-3.0-(-3.0)))
    BOOST_CHECK_CLOSE( (flt_type)-2.3068528194400546, lp, DBL_ACCURACY);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x248, %rsp            # imm = 0x248
leaq -0x1a8(%rbp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x130(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x38eb7(%rip), %rsi     # 0x70fee
leaq 0x38eb1(%rip), %rdx     # 0x70fef
leaq -0x140(%rbp), %rdi
callq 0x95e6
leaq -0x1b0(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x1ddce
movabsq $-0x4010000000000000, %rbx # imm = 0xBFF0000000000000
movq %rbx, (%rax)
movq -0x140(%rbp), %rdi
cmpq %r14, %rdi
je 0x3817b
callq 0x5380
leaq -0x140(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x38b3f(%rip), %rsi     # 0x70ccb
leaq 0x38b39(%rip), %rdx     # 0x70ccc
callq 0x95e6
leaq -0x1b0(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x1ddce
movq %rbx, (%rax)
movq -0x140(%rbp), %rdi
cmpq %r14, %rdi
je 0x381bf
callq 0x5380
leaq -0x140(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x38aeb(%rip), %rsi     # 0x70cbb
leaq 0x38ae5(%rip), %rdx     # 0x70cbc
callq 0x95e6
leaq -0x1b0(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x1ddce
movq %rbx, (%rax)
movq -0x140(%rbp), %rdi
cmpq %r14, %rdi
je 0x38203
callq 0x5380
leaq -0x140(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x37dfd(%rip), %rsi     # 0x70011
leaq 0x37df7(%rip), %rdx     # 0x70012
callq 0x95e6
leaq -0x1b0(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x1ddce
movq %rbx, (%rax)
movq -0x140(%rbp), %rdi
cmpq %r14, %rdi
je 0x38247
callq 0x5380
leaq -0x140(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x38a62(%rip), %rsi     # 0x70cba
leaq 0x38a5d(%rip), %rdx     # 0x70cbc
callq 0x95e6
leaq -0x1b0(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x1ddce
movabsq $-0x4000000000000000, %rcx # imm = 0xC000000000000000
movq %rcx, (%rax)
movq -0x140(%rbp), %rdi
cmpq %r14, %rdi
je 0x38295
callq 0x5380
leaq -0x170(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x38a12(%rip), %rsi     # 0x70cb9
leaq 0x38a0e(%rip), %rdx     # 0x70cbc
leaq -0x180(%rbp), %rdi
callq 0x95e6
leaq -0x138(%rbp), %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rcx, 0x20(%rax)
leaq -0x1b0(%rbp), %rdi
leaq -0x180(%rbp), %rsi
leaq -0x140(%rbp), %rdx
xorl %ecx, %ecx
callq 0x1a432
movsd %xmm0, -0x148(%rbp)
movsd -0x148(%rbp), %xmm0
movsd %xmm0, -0x160(%rbp)
movq 0x5223c(%rip), %rdi     # 0x8a550
leaq 0x38927(%rip), %rax     # 0x70c42
leaq -0x270(%rbp), %rsi
movq %rax, (%rsi)
leaq 0x38924(%rip), %rax     # 0x70c50
movq %rax, 0x8(%rsi)
leaq 0x38738(%rip), %rax     # 0x70a6f
leaq -0x260(%rbp), %rcx
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x116, %edx            # imm = 0x116
callq 0x5760
xorl %eax, %eax
leaq -0xb8(%rbp), %rsi
movb %al, 0x8(%rsi)
leaq 0x5176e(%rip), %rcx     # 0x89ad0
movq %rcx, (%rsi)
movq 0x51c44(%rip), %rbx     # 0x89fb0
movq %rbx, 0x10(%rsi)
leaq 0x38050(%rip), %r10     # 0x703c7
leaq -0x48(%rbp), %r9
movl -0x118(%rbp), %ecx
leaq -0x40(%rbp), %r8
movl %ecx, (%r8)
cmpl $0x4, %ecx
leaq -0x110(%rbp), %rcx
movq %r9, (%rcx)
leaq -0xf8(%rbp), %r12
movb %al, 0x8(%r12)
leaq 0x51878(%rip), %rdx     # 0x89c20
movq %rdx, (%r12)
movq %rbx, 0x10(%r12)
movq %rcx, 0x18(%r12)
leaq -0xd8(%rbp), %r13
movb %al, 0x8(%r13)
leaq -0x98(%rbp), %rdi
sete (%rdi)
movq %r10, 0x18(%rsi)
movl $0x4, (%r9)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rdi)
movq %rdx, (%r13)
leaq -0x158(%rbp), %rax
movq %r8, (%rax)
movq %rbx, 0x10(%r13)
movq %rax, 0x18(%r13)
leaq -0x78(%rbp), %rdx
leaq 0x38844(%rip), %r14     # 0x70c42
movq %r14, (%rdx)
leaq 0x38848(%rip), %r15     # 0x70c50
movq %r15, 0x8(%rdx)
subq $0x8, %rsp
leaq 0x38931(%rip), %r10     # 0x70d48
leaq 0x39306(%rip), %r11     # 0x71724
movl $0x116, %ecx            # imm = 0x116
movl $0x1, %r8d
movl $0x2, %r9d
xorl %eax, %eax
pushq %r13
pushq %r10
pushq %r12
pushq %r11
pushq $0x2
callq 0x5740
addq $0x30, %rsp
leaq -0x88(%rbp), %rdi
callq 0x2e804
movq 0x520f9(%rip), %rdi     # 0x8a550
leaq -0x250(%rbp), %rsi
movq %r14, (%rsi)
movq %r15, 0x8(%rsi)
leaq -0x240(%rbp), %rcx
leaq 0x385fc(%rip), %rax     # 0x70a6f
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x117, %edx            # imm = 0x117
callq 0x5760
movb $0x0, -0x90(%rbp)
leaq 0x5163e(%rip), %rax     # 0x89ad0
movq %rax, -0x98(%rbp)
movq %rbx, -0x88(%rbp)
leaq 0x37f20(%rip), %rax     # 0x703c7
movq %rax, -0x80(%rbp)
movabsq $0x3fe0000000000000, %r15 # imm = 0x3FE0000000000000
movq %r15, -0x38(%rbp)
leaq -0x68(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x387f2(%rip), %rsi     # 0x70cba
leaq 0x387ed(%rip), %rdx     # 0x70cbc
leaq -0x78(%rbp), %rdi
callq 0x95e6
leaq -0x140(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x1ddce
movq %rax, %r14
movsd 0x51f1d(%rip), %xmm2    # 0x8a410
movsd %xmm2, -0x50(%rbp)
movsd -0x38(%rbp), %xmm0
movsd (%rax), %xmm1
leaq -0x110(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x6b55a
leaq -0x158(%rbp), %rdx
leaq 0x38723(%rip), %rax     # 0x70c42
movq %rax, (%rdx)
leaq 0x38727(%rip), %rax     # 0x70c50
movq %rax, 0x8(%rdx)
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
xorl %eax, %eax
movb %al, -0xf0(%rbp)
leaq 0x515dc(%rip), %r12     # 0x89b20
movq %r12, -0xf8(%rbp)
movq %rbx, -0xe8(%rbp)
leaq -0x48(%rbp), %rcx
movq %rcx, -0xe0(%rbp)
movq %r14, -0x40(%rbp)
movb %al, -0xd0(%rbp)
movq %r12, -0xd8(%rbp)
movq %rbx, -0xc8(%rbp)
leaq -0x40(%rbp), %rcx
movq %rcx, -0xc0(%rbp)
leaq -0x50(%rbp), %rsi
leaq -0x58(%rbp), %rcx
movq %rsi, (%rcx)
movb %al, -0xb0(%rbp)
leaq 0x51738(%rip), %rax     # 0x89cd0
movq %rax, -0xb8(%rbp)
movq %rbx, -0xa8(%rbp)
movq %rcx, -0xa0(%rbp)
subq $0x8, %rsp
leaq 0x38807(%rip), %r14     # 0x70dbf
leaq 0x38852(%rip), %r10     # 0x70e11
leaq 0x387de(%rip), %r13     # 0x70da4
leaq -0x110(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl $0x117, %ecx            # imm = 0x117
movl $0x1, %r8d
movl $0x8, %r9d
xorl %eax, %eax
leaq -0xb8(%rbp), %r11
pushq %r11
pushq %r14
leaq -0xd8(%rbp), %r11
pushq %r11
pushq %r10
leaq -0xf8(%rbp), %r10
pushq %r10
pushq %r13
pushq $0x3
callq 0x5740
addq $0x40, %rsp
leaq -0x100(%rbp), %rdi
callq 0x2e804
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x38631
callq 0x5380
movq 0x51f18(%rip), %rdi     # 0x8a550
leaq -0x230(%rbp), %rsi
leaq 0x385fc(%rip), %rax     # 0x70c42
movq %rax, (%rsi)
leaq 0x38600(%rip), %rax     # 0x70c50
movq %rax, 0x8(%rsi)
leaq -0x220(%rbp), %rcx
leaq 0x3840d(%rip), %rax     # 0x70a6f
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x118, %edx            # imm = 0x118
callq 0x5760
movb $0x0, -0x90(%rbp)
leaq 0x5144f(%rip), %rax     # 0x89ad0
movq %rax, -0x98(%rbp)
movq %rbx, -0x88(%rbp)
leaq 0x37d31(%rip), %rax     # 0x703c7
movq %rax, -0x80(%rbp)
movq %r15, -0x38(%rbp)
leaq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
movq %rax, (%rdi)
leaq 0x3860b(%rip), %rsi     # 0x70cbb
leaq 0x38605(%rip), %rdx     # 0x70cbc
callq 0x95e6
leaq -0x140(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x1ddce
movq %rax, %r14
movsd 0x51d39(%rip), %xmm2    # 0x8a410
movsd %xmm2, -0x50(%rbp)
movsd -0x38(%rbp), %xmm0
movsd (%rax), %xmm1
leaq -0x110(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x6b55a
leaq -0x158(%rbp), %rdx
leaq 0x3853f(%rip), %rax     # 0x70c42
movq %rax, (%rdx)
leaq 0x38543(%rip), %rax     # 0x70c50
movq %rax, 0x8(%rdx)
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
xorl %eax, %eax
movb %al, -0xf0(%rbp)
movq %r12, -0xf8(%rbp)
movq %rbx, -0xe8(%rbp)
leaq -0x48(%rbp), %rcx
movq %rcx, -0xe0(%rbp)
movq %r14, -0x40(%rbp)
movb %al, -0xd0(%rbp)
movq %r12, -0xd8(%rbp)
movq %rbx, -0xc8(%rbp)
leaq -0x40(%rbp), %rcx
movq %rcx, -0xc0(%rbp)
leaq -0x50(%rbp), %rcx
movq %rcx, -0x58(%rbp)
movb %al, -0xb0(%rbp)
leaq 0x5155e(%rip), %rax     # 0x89cd0
movq %rax, -0xb8(%rbp)
movq %rbx, -0xa8(%rbp)
leaq -0x58(%rbp), %rax
movq %rax, -0xa0(%rbp)
subq $0x8, %rsp
leaq 0x38687(%rip), %r10     # 0x70e1d
leaq -0x110(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl $0x118, %ecx            # imm = 0x118
movl $0x1, %r8d
movl $0x8, %r9d
xorl %eax, %eax
leaq -0xb8(%rbp), %r11
pushq %r11
leaq 0x385f8(%rip), %r11     # 0x70dbf
pushq %r11
leaq -0xd8(%rbp), %r11
pushq %r11
pushq %r10
leaq -0xf8(%rbp), %r10
pushq %r10
leaq 0x385c0(%rip), %r10     # 0x70da4
pushq %r10
pushq $0x3
callq 0x5740
addq $0x40, %rsp
leaq -0x100(%rbp), %rdi
callq 0x2e804
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x3880f
callq 0x5380
movq 0x51d3a(%rip), %rdi     # 0x8a550
leaq -0x210(%rbp), %rsi
leaq 0x3841e(%rip), %rax     # 0x70c42
movq %rax, (%rsi)
leaq 0x38422(%rip), %rax     # 0x70c50
movq %rax, 0x8(%rsi)
leaq -0x200(%rbp), %rcx
leaq 0x3822f(%rip), %rax     # 0x70a6f
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x119, %edx            # imm = 0x119
callq 0x5760
movb $0x0, -0x90(%rbp)
leaq 0x51271(%rip), %rax     # 0x89ad0
movq %rax, -0x98(%rbp)
movq %rbx, -0x88(%rbp)
leaq 0x37b53(%rip), %rax     # 0x703c7
movq %rax, -0x80(%rbp)
movq %r15, -0x38(%rbp)
leaq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
movq %rax, (%rdi)
leaq 0x3843d(%rip), %rsi     # 0x70ccb
leaq 0x38437(%rip), %rdx     # 0x70ccc
callq 0x95e6
leaq -0x140(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x1ddce
leaq 0x38391(%rip), %r15     # 0x70c42
movq %rax, %r14
movsd 0x51b54(%rip), %xmm2    # 0x8a410
movsd %xmm2, -0x50(%rbp)
movsd -0x38(%rbp), %xmm0
movsd (%rax), %xmm1
leaq -0x110(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x6b55a
leaq -0x158(%rbp), %rdx
movq %r15, (%rdx)
leaq 0x38365(%rip), %rax     # 0x70c50
movq %rax, 0x8(%rdx)
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
xorl %eax, %eax
movb %al, -0xf0(%rbp)
movq %r12, -0xf8(%rbp)
movq %rbx, -0xe8(%rbp)
leaq -0x48(%rbp), %rcx
movq %rcx, -0xe0(%rbp)
movq %r14, -0x40(%rbp)
movb %al, -0xd0(%rbp)
movq %r12, -0xd8(%rbp)
movq %rbx, -0xc8(%rbp)
leaq -0x40(%rbp), %rcx
movq %rcx, -0xc0(%rbp)
leaq -0x50(%rbp), %rcx
movq %rcx, -0x58(%rbp)
movb %al, -0xb0(%rbp)
leaq 0x51380(%rip), %rax     # 0x89cd0
movq %rax, -0xb8(%rbp)
movq %rbx, -0xa8(%rbp)
leaq -0x58(%rbp), %rax
movq %rax, -0xa0(%rbp)
subq $0x8, %rsp
leaq 0x38425(%rip), %r10     # 0x70d99
leaq -0x110(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl $0x119, %ecx            # imm = 0x119
movl $0x1, %r8d
movl $0x8, %r9d
xorl %eax, %eax
leaq -0xb8(%rbp), %r11
pushq %r11
leaq 0x3841a(%rip), %r11     # 0x70dbf
pushq %r11
leaq -0xd8(%rbp), %r11
pushq %r11
pushq %r10
leaq -0xf8(%rbp), %r10
pushq %r10
leaq 0x383e2(%rip), %r10     # 0x70da4
pushq %r10
pushq $0x3
callq 0x5740
addq $0x40, %rsp
leaq -0x100(%rbp), %rdi
callq 0x2e804
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x389ed
callq 0x5380
movq 0x51b5c(%rip), %rdi     # 0x8a550
leaq -0x1f0(%rbp), %rsi
movq %r15, (%rsi)
leaq 0x3824b(%rip), %rax     # 0x70c50
movq %rax, 0x8(%rsi)
leaq -0x1e0(%rbp), %rcx
leaq 0x38058(%rip), %rax     # 0x70a6f
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x11a, %edx            # imm = 0x11A
callq 0x5760
movb $0x0, -0x90(%rbp)
leaq 0x5109a(%rip), %rax     # 0x89ad0
movq %rax, -0x98(%rbp)
movq %rbx, -0x88(%rbp)
leaq 0x3797c(%rip), %rax     # 0x703c7
movq %rax, -0x80(%rbp)
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, -0x38(%rbp)
leaq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
movq %rax, (%rdi)
leaq 0x3857f(%rip), %rsi     # 0x70fee
leaq 0x38579(%rip), %rdx     # 0x70fef
callq 0x95e6
leaq -0x140(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x1ddce
movq %rax, %r15
movsd 0x5197a(%rip), %xmm2    # 0x8a410
movsd %xmm2, -0x50(%rbp)
movsd (%rax), %xmm1
leaq -0x110(%rbp), %rdi
leaq -0x29(%rbp), %rsi
movsd 0x37b86(%rip), %xmm0    # 0x70638
callq 0x6b55a
leaq -0x158(%rbp), %r14
leaq 0x3817d(%rip), %rax     # 0x70c42
movq %rax, (%r14)
leaq 0x38181(%rip), %rax     # 0x70c50
movq %rax, 0x8(%r14)
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
xorl %eax, %eax
movb %al, -0xf0(%rbp)
movq %r12, -0xf8(%rbp)
movq %rbx, -0xe8(%rbp)
leaq -0x48(%rbp), %rcx
movq %rcx, -0xe0(%rbp)
movq %r15, -0x40(%rbp)
movb %al, -0xd0(%rbp)
movq %r12, -0xd8(%rbp)
movq %rbx, -0xc8(%rbp)
leaq -0x40(%rbp), %rcx
movq %rcx, -0xc0(%rbp)
leaq -0x50(%rbp), %rcx
movq %rcx, -0x58(%rbp)
movb %al, -0xb0(%rbp)
leaq 0x5119c(%rip), %rax     # 0x89cd0
movq %rax, -0xb8(%rbp)
movq %rbx, -0xa8(%rbp)
leaq -0x58(%rbp), %rax
movq %rax, -0xa0(%rbp)
subq $0x8, %rsp
leaq 0x38236(%rip), %r10     # 0x70d8e
leaq 0x38221(%rip), %r11     # 0x70d80
leaq -0x110(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl $0x11a, %ecx            # imm = 0x11A
movq %r14, %rdx
movl $0x1, %r8d
movl $0x8, %r9d
xorl %eax, %eax
leaq -0xb8(%rbp), %r15
pushq %r15
leaq 0x3822c(%rip), %r15     # 0x70dbf
pushq %r15
leaq -0xd8(%rbp), %r15
pushq %r15
pushq %r10
leaq -0xf8(%rbp), %r10
pushq %r10
pushq %r11
pushq $0x3
callq 0x5740
addq $0x40, %rsp
leaq -0x100(%rbp), %rdi
callq 0x2e804
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x38bd4
callq 0x5380
movq 0x51975(%rip), %rdi     # 0x8a550
leaq -0x1d0(%rbp), %rsi
leaq 0x38059(%rip), %rax     # 0x70c42
movq %rax, (%rsi)
leaq 0x3805d(%rip), %rax     # 0x70c50
movq %rax, 0x8(%rsi)
leaq -0x1c0(%rbp), %rcx
leaq 0x37e6a(%rip), %rax     # 0x70a6f
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x11c, %edx            # imm = 0x11C
callq 0x5760
movb $0x0, -0x90(%rbp)
leaq 0x50eac(%rip), %rax     # 0x89ad0
movq %rax, -0x98(%rbp)
movq %rbx, -0x88(%rbp)
leaq 0x3778e(%rip), %rax     # 0x703c7
movq %rax, -0x80(%rbp)
movabsq $-0x3ffd8b90bfbe8e7c, %rax # imm = 0xC002746F40417184
movq %rax, -0x58(%rbp)
movsd 0x517bd(%rip), %xmm2    # 0x8a410
movsd %xmm2, -0x38(%rbp)
leaq -0x78(%rbp), %rdi
leaq -0x50(%rbp), %rsi
movsd 0x37f60(%rip), %xmm0    # 0x70bc8
movsd -0x148(%rbp), %xmm1
callq 0x6b55a
leaq -0x110(%rbp), %rdx
leaq 0x37fbf(%rip), %rax     # 0x70c42
movq %rax, (%rdx)
leaq 0x37fc3(%rip), %rax     # 0x70c50
movq %rax, 0x8(%rdx)
leaq -0x58(%rbp), %rax
movq %rax, -0x158(%rbp)
xorl %eax, %eax
movb %al, -0xf0(%rbp)
movq %r12, -0xf8(%rbp)
movq %rbx, -0xe8(%rbp)
movq %r14, -0xe0(%rbp)
leaq -0x160(%rbp), %rcx
movq %rcx, -0x48(%rbp)
movb %al, -0xd0(%rbp)
movq %r12, -0xd8(%rbp)
movq %rbx, -0xc8(%rbp)
leaq -0x48(%rbp), %rcx
movq %rcx, -0xc0(%rbp)
leaq -0x38(%rbp), %rcx
movq %rcx, -0x40(%rbp)
movb %al, -0xb0(%rbp)
leaq 0x50fd8(%rip), %rax     # 0x89cd0
movq %rax, -0xb8(%rbp)
movq %rbx, -0xa8(%rbp)
leaq -0x40(%rbp), %rax
movq %rax, -0xa0(%rbp)
subq $0x8, %rsp
leaq 0x38b34(%rip), %r10     # 0x71850
leaq 0x38105(%rip), %r11     # 0x70e28
leaq -0x78(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movl $0x11c, %ecx            # imm = 0x11C
movl $0x1, %r8d
movl $0x8, %r9d
xorl %eax, %eax
leaq -0xb8(%rbp), %rbx
pushq %rbx
leaq 0x3806f(%rip), %rbx     # 0x70dbf
pushq %rbx
leaq -0xd8(%rbp), %rbx
pushq %rbx
pushq %r10
leaq -0xf8(%rbp), %r10
pushq %r10
pushq %r11
pushq $0x3
callq 0x5740
addq $0x40, %rsp
leaq -0x68(%rbp), %rdi
callq 0x2e804
leaq -0x140(%rbp), %rdi
callq 0x1e712
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x38d9e
callq 0x5380
leaq -0x1b0(%rbp), %rdi
callq 0x1e712
addq $0x248, %rsp            # imm = 0x248
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x68(%rbp), %rdi
jmp 0x38e94
jmp 0x38eff
movq %rax, %rbx
leaq -0x100(%rbp), %rdi
callq 0x2e804
jmp 0x38de3
jmp 0x38de0
movq %rax, %rbx
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x38f02
jmp 0x38e81
jmp 0x38eff
movq %rax, %rbx
leaq -0x100(%rbp), %rdi
callq 0x2e804
jmp 0x38e14
jmp 0x38e11
movq %rax, %rbx
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x38f02
jmp 0x38e81
jmp 0x38eff
movq %rax, %rbx
leaq -0x100(%rbp), %rdi
callq 0x2e804
jmp 0x38e42
jmp 0x38e3f
movq %rax, %rbx
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x38f02
jmp 0x38e81
jmp 0x38eff
movq %rax, %rbx
leaq -0x100(%rbp), %rdi
callq 0x2e804
jmp 0x38e70
jmp 0x38e6d
movq %rax, %rbx
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x38f02
callq 0x5380
jmp 0x38f02
jmp 0x38eff
movq %rax, %rbx
leaq -0x88(%rbp), %rdi
callq 0x2e804
jmp 0x38f02
jmp 0x38efa
movq %rax, %rbx
movq -0x140(%rbp), %rdi
cmpq %r14, %rdi
je 0x38f26
jmp 0x38f21
jmp 0x38efa
movq %rax, %rbx
movq -0x140(%rbp), %rdi
cmpq %r14, %rdi
je 0x38f26
jmp 0x38f21
jmp 0x38efa
movq %rax, %rbx
movq -0x140(%rbp), %rdi
cmpq %r14, %rdi
je 0x38f26
jmp 0x38f21
jmp 0x38efa
movq %rax, %rbx
movq -0x140(%rbp), %rdi
cmpq %r14, %rdi
je 0x38f26
jmp 0x38f21
jmp 0x38efa
movq %rax, %rbx
movq -0x140(%rbp), %rdi
cmpq %r14, %rdi
je 0x38f26
jmp 0x38f21
movq %rax, %rbx
jmp 0x38f26
movq %rax, %rbx
leaq -0x140(%rbp), %rdi
callq 0x1e712
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x38f26
callq 0x5380
leaq -0x1b0(%rbp), %rdi
callq 0x1e712
movq %rbx, %rdi
callq 0x56f0