// File: /workspace/github_cpp_makefile_star2_O2/aalto-speech[P]ftk/test/emtest.cc
// Function: TransitionForwardBackwardRemoveArcs::test_method()
BOOST_AUTO_TEST_CASE(TransitionForwardBackwardRemoveArcs)
{
    set<string> vocab = {"k","i","s","a","sa","ki","kis","kissa"};

    transitions_t transitions;
    transitions[start_end]["k"] = log(0.5);
    transitions[start_end]["ki"] = log(0.25);
    transitions[start_end]["kis"] = log(0.4);
    transitions[start_end]["kissa"] = log(0.1);
    transitions["a"][start_end] = log(0.5);
    transitions["kissa"][start_end] = log(0.10);
    transitions["sa"][start_end] = log(0.4);
    transitions["ki"]["s"] = log(0.25);
    transitions["k"]["i"] = log(0.5);
    transitions["i"]["s"] = log(0.5);
    transitions["s"]["s"] = log(0.5);
    transitions["s"]["sa"] = log(0.5);
    transitions["s"]["a"] = log(0.5);
    transitions["kis"]["sa"] = log(0.4);
    transitions["kis"]["s"] = log(0.4);

    string sentence("kissa");
    FactorGraph fg(sentence, start_end, vocab, 5);
    fg.remove_arcs(string("k"), string("i"));
    fg.remove_arcs(string("s"), string("a"));
    transitions_t stats;
    flt_type lp = forward_backward(transitions, fg, stats);
    BOOST_CHECK_EQUAL(8, transition_count(stats));
    BOOST_CHECK_CLOSE( 0.11560693641618498, stats["kissa"][start_end], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( 0.11560693641618498, stats[start_end]["kissa"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( 0.8843930635838151, stats["sa"][start_end], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( 0.14450867052023122, stats["s"]["sa"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( 0.7398843930635839, stats["kis"]["sa"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( 0.7398843930635839, stats[start_end]["kis"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( 0.14450867052023122, stats["ki"]["s"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( 0.14450867052023122, stats[start_end]["ki"], DBL_ACCURACY );
    BOOST_CHECK_CLOSE( -2.44761086504, lp, DBL_ACCURACY );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x418, %rsp            # imm = 0x418
leaq 0xe7cd(%rip), %rsi      # 0x53c52
leaq -0x228(%rbp), %r15
leaq -0x100(%rbp), %rdx
movq %r15, %rdi
callq 0x5160
leaq -0x208(%rbp), %r12
leaq 0xe2bf(%rip), %rsi      # 0x53768
leaq -0x88(%rbp), %rdx
movq %r12, %rdi
callq 0x5160
leaq -0x1e8(%rbp), %r12
leaq 0xdb48(%rip), %rsi      # 0x5300e
leaq -0x120(%rbp), %rdx
movq %r12, %rdi
callq 0x5160
leaq -0x1c8(%rbp), %r12
leaq 0xea49(%rip), %rsi      # 0x53f2c
leaq -0x58(%rbp), %rdx
movq %r12, %rdi
callq 0x5160
leaq -0x1a8(%rbp), %r12
leaq 0xf2c3(%rip), %rsi      # 0x547c0
leaq -0xa8(%rbp), %rdx
movq %r12, %rdi
callq 0x5160
leaq -0x188(%rbp), %r12
leaq 0xe86a(%rip), %rsi      # 0x53d84
leaq -0xd0(%rbp), %rdx
movq %r12, %rdi
callq 0x5160
leaq -0x168(%rbp), %r12
leaq 0xe850(%rip), %rsi      # 0x53d87
leaq -0x128(%rbp), %rdx
movq %r12, %rdi
callq 0x5160
leaq -0x148(%rbp), %r12
leaq 0xe700(%rip), %rsi      # 0x53c54
leaq -0x38(%rbp), %rdx
movq %r12, %rdi
callq 0x5160
leaq -0x2d8(%rbp), %rdi
leaq -0x228(%rbp), %rsi
pushq $0x8
popq %rdx
leaq -0xb0(%rbp), %rcx
leaq -0x29(%rbp), %r8
callq 0x4ed0a
movl $0xe0, %ebx
leaq (%rbx,%rbp), %rdi
addq $-0x228, %rdi           # imm = 0xFDD8
callq 0x57b8
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0x45586
leaq -0xf8(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq 0x2afc5(%rip), %rsi     # 0x70588
leaq -0x100(%rbp), %rdi
callq 0x1b5f0
movq %rax, %r15
leaq 0xe679(%rip), %rsi      # 0x53c52
leaq -0x228(%rbp), %rdi
leaq -0x88(%rbp), %rdx
callq 0x5160
leaq -0x228(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movabsq $-0x4019d1bd0105c611, %r12 # imm = 0xBFE62E42FEFA39EF
movq %r12, (%rax)
leaq -0x228(%rbp), %rdi
callq 0x57b8
leaq 0x2af6d(%rip), %rsi     # 0x70588
leaq -0x100(%rbp), %rdi
callq 0x1b5f0
movq %rax, %r15
leaq 0xe753(%rip), %rsi      # 0x53d84
leaq -0x228(%rbp), %rdi
leaq -0x88(%rbp), %rdx
callq 0x5160
leaq -0x228(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movabsq $-0x4009d1bd0105c611, %r13 # imm = 0xBFF62E42FEFA39EF
movq %r13, (%rax)
leaq -0x228(%rbp), %rdi
callq 0x57b8
leaq 0x2af15(%rip), %rsi     # 0x70588
leaq -0x100(%rbp), %rdi
callq 0x1b5f0
movq %rax, %r15
leaq 0xe6fe(%rip), %rsi      # 0x53d87
leaq -0x228(%rbp), %rdi
leaq -0x88(%rbp), %rdx
callq 0x5160
leaq -0x228(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movabsq $-0x4012adbf0f1f1f89, %rbx # imm = 0xBFED5240F0E0E077
movq %rbx, (%rax)
leaq -0x228(%rbp), %rdi
callq 0x57b8
leaq 0x2aebd(%rip), %rsi     # 0x70588
leaq -0x100(%rbp), %rdi
callq 0x1b5f0
movq %rax, %r15
leaq 0xe573(%rip), %rsi      # 0x53c54
leaq -0x228(%rbp), %rdi
leaq -0x88(%rbp), %rdx
callq 0x5160
leaq -0x228(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movabsq $-0x3ffd944e444aaaeb, %r15 # imm = 0xC0026BB1BBB55515
movq %r15, (%rax)
leaq -0x228(%rbp), %rdi
callq 0x57b8
leaq 0xe809(%rip), %rsi      # 0x53f2c
leaq -0x228(%rbp), %rdi
leaq -0x88(%rbp), %rdx
callq 0x5160
leaq -0x100(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x1b6fa
leaq 0x2ae38(%rip), %rsi     # 0x70588
movq %rax, %rdi
callq 0x1b338
movq %r12, (%rax)
leaq -0x228(%rbp), %rdi
callq 0x57b8
leaq 0xe4e6(%rip), %rsi      # 0x53c54
leaq -0x228(%rbp), %rdi
leaq -0x88(%rbp), %rdx
callq 0x5160
leaq -0x100(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x1b6fa
leaq 0x2aded(%rip), %rsi     # 0x70588
movq %rax, %rdi
callq 0x1b338
movq %r15, (%rax)
leaq -0x228(%rbp), %rdi
callq 0x57b8
leaq 0xf007(%rip), %rsi      # 0x547c0
leaq -0x228(%rbp), %rdi
leaq -0x88(%rbp), %rdx
callq 0x5160
leaq -0x100(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x1b6fa
leaq 0x2ada2(%rip), %rsi     # 0x70588
movq %rax, %rdi
callq 0x1b338
movq %rbx, (%rax)
leaq -0x228(%rbp), %rdi
callq 0x57b8
leaq 0xe580(%rip), %rsi      # 0x53d84
leaq -0x228(%rbp), %rdi
leaq -0x120(%rbp), %rdx
callq 0x5160
leaq -0x100(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0xd7da(%rip), %rsi      # 0x5300e
leaq -0x88(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0x5160
leaq -0x88(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %r13, (%rax)
leaq -0x88(%rbp), %rdi
callq 0x57b8
leaq -0x228(%rbp), %rdi
callq 0x57b8
leaq 0xe3dd(%rip), %rsi      # 0x53c52
leaq -0x228(%rbp), %rdi
leaq -0x120(%rbp), %rdx
callq 0x5160
leaq -0x100(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0xdec3(%rip), %rsi      # 0x53768
leaq -0x88(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0x5160
leaq -0x88(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %r12, (%rax)
leaq -0x88(%rbp), %rdi
callq 0x57b8
leaq -0x228(%rbp), %rdi
callq 0x57b8
leaq 0xde82(%rip), %rsi      # 0x53768
leaq -0x228(%rbp), %rdi
leaq -0x120(%rbp), %rdx
callq 0x5160
leaq -0x100(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0xd6f8(%rip), %rsi      # 0x5300e
leaq -0x88(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0x5160
leaq -0x88(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %r12, (%rax)
leaq -0x88(%rbp), %rdi
callq 0x57b8
leaq -0x228(%rbp), %rdi
callq 0x57b8
leaq 0xd6b7(%rip), %rsi      # 0x5300e
leaq -0x228(%rbp), %rdi
leaq -0x120(%rbp), %rdx
callq 0x5160
leaq -0x100(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0xd687(%rip), %rsi      # 0x5300e
leaq -0x88(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0x5160
leaq -0x88(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %r12, (%rax)
leaq -0x88(%rbp), %rdi
callq 0x57b8
leaq -0x228(%rbp), %rdi
callq 0x57b8
leaq 0xd646(%rip), %rsi      # 0x5300e
leaq -0x228(%rbp), %rdi
leaq -0x120(%rbp), %rdx
callq 0x5160
leaq -0x100(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0xedc8(%rip), %rsi      # 0x547c0
leaq -0x88(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0x5160
leaq -0x88(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %r12, (%rax)
leaq -0x88(%rbp), %rdi
callq 0x57b8
leaq -0x228(%rbp), %rdi
callq 0x57b8
leaq 0xd5d5(%rip), %rsi      # 0x5300e
leaq -0x228(%rbp), %rdi
leaq -0x120(%rbp), %rdx
callq 0x5160
leaq -0x100(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0xe4c3(%rip), %rsi      # 0x53f2c
leaq -0x88(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0x5160
leaq -0x88(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %r12, (%rax)
leaq -0x88(%rbp), %rdi
callq 0x57b8
leaq -0x228(%rbp), %rdi
callq 0x57b8
leaq 0xe2dd(%rip), %rsi      # 0x53d87
leaq -0x228(%rbp), %rdi
leaq -0x120(%rbp), %rdx
callq 0x5160
leaq -0x100(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0xece6(%rip), %rsi      # 0x547c0
leaq -0x88(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0x5160
leaq -0x88(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %rbx, (%rax)
leaq -0x88(%rbp), %rdi
callq 0x57b8
leaq -0x228(%rbp), %rdi
callq 0x57b8
leaq 0xe26c(%rip), %rsi      # 0x53d87
leaq -0x228(%rbp), %rdi
leaq -0x120(%rbp), %rdx
callq 0x5160
leaq -0x100(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0xd4c3(%rip), %rsi      # 0x5300e
leaq -0x88(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0x5160
leaq -0x88(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movq %rbx, (%rax)
leaq -0x88(%rbp), %rdi
callq 0x57b8
leaq -0x228(%rbp), %rdi
callq 0x57b8
leaq 0xe0c8(%rip), %rsi      # 0x53c54
leaq -0x120(%rbp), %rdi
leaq -0x228(%rbp), %rdx
callq 0x5160
leaq 0x2a9e2(%rip), %rdx     # 0x70588
leaq -0x228(%rbp), %rdi
leaq -0x120(%rbp), %rsi
leaq -0x2d8(%rbp), %rcx
pushq $0x5
popq %r8
xorl %r9d, %r9d
callq 0xf742
leaq 0xe084(%rip), %rsi      # 0x53c52
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rdx
callq 0x5160
leaq 0xdb80(%rip), %rsi      # 0x53768
leaq -0x58(%rbp), %rdi
leaq -0xd0(%rbp), %rdx
callq 0x5160
leaq -0x228(%rbp), %rdi
leaq -0x88(%rbp), %rsi
leaq -0x58(%rbp), %rdx
callq 0x107cc
leaq -0x58(%rbp), %rdi
callq 0x57b8
leaq -0x88(%rbp), %rdi
callq 0x57b8
leaq 0xd3e3(%rip), %rsi      # 0x5300e
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rdx
callq 0x5160
leaq 0xe2e7(%rip), %rsi      # 0x53f2c
leaq -0x58(%rbp), %rdi
leaq -0xd0(%rbp), %rdx
callq 0x5160
leaq -0x228(%rbp), %rdi
leaq -0x88(%rbp), %rsi
leaq -0x58(%rbp), %rdx
callq 0x107cc
leaq -0x58(%rbp), %rdi
callq 0x57b8
leaq -0x88(%rbp), %rdi
callq 0x57b8
leaq -0x80(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq -0x100(%rbp), %rdi
leaq -0x228(%rbp), %rsi
leaq -0x88(%rbp), %rdx
callq 0x18d71
movsd %xmm0, -0x128(%rbp)
movq 0x2a87d(%rip), %rdi     # 0x70540
leaq 0xdeb6(%rip), %r14      # 0x53b80
leaq -0x438(%rbp), %rsi
movq %r14, (%rsi)
leaq 0xdeb3(%rip), %r15      # 0x53b8e
movq %r15, 0x8(%rsi)
leaq 0xdd2f(%rip), %rax      # 0x53a15
leaq -0x428(%rbp), %rcx
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x42e, %edx            # imm = 0x42E
callq 0x5710
leaq -0x58(%rbp), %r12
movb $0x0, 0x8(%r12)
leaq 0x29dd1(%rip), %rax     # 0x6fae0
movq %rax, (%r12)
movq 0x2a296(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%r12)
leaq 0xd631(%rip), %rax      # 0x53357
movq %rax, 0x18(%r12)
leaq -0x418(%rbp), %r13
movq %r14, (%r13)
movq %r15, 0x8(%r13)
leaq -0xa8(%rbp), %rbx
movl $0x8, (%rbx)
leaq -0x88(%rbp), %rdi
callq 0x38334
movl %eax, -0xd0(%rbp)
subq $0x8, %rsp
leaq 0xe4e2(%rip), %rax      # 0x54246
leaq 0xe5b9(%rip), %r10      # 0x54324
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
movl $0x42e, %edx            # imm = 0x42E
movq %r12, %rdi
movq %r13, %rsi
movq %rbx, %r9
pushq %rax
leaq -0xd0(%rbp), %rax
pushq %rax
pushq %r10
callq 0x4ea09
addq $0x20, %rsp
movq 0x2a7a5(%rip), %rdi     # 0x70540
leaq -0x408(%rbp), %rsi
movq %r14, (%rsi)
movq %r15, 0x8(%rsi)
leaq -0x3f8(%rbp), %rcx
leaq 0xdc5e(%rip), %rax      # 0x53a15
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x42f, %edx            # imm = 0x42F
callq 0x5710
movb $0x0, -0x50(%rbp)
leaq 0x29d0d(%rip), %rax     # 0x6fae0
movq %rax, -0x58(%rbp)
movq 0x2a1d2(%rip), %rax     # 0x6ffb0
movq %rax, -0x48(%rbp)
leaq 0xd56e(%rip), %rax      # 0x53357
movq %rax, -0x40(%rbp)
movq %r14, -0x2a8(%rbp)
movq %r15, -0x2a0(%rbp)
movabsq $0x3fbd986a8b1927f5, %r12 # imm = 0x3FBD986A8B1927F5
movq %r12, -0xd0(%rbp)
leaq 0xde41(%rip), %rsi      # 0x53c54
leaq -0xa8(%rbp), %rdi
leaq -0xb0(%rbp), %rdx
callq 0x5160
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x1b6fa
leaq 0x2a748(%rip), %rsi     # 0x70588
movq %rax, %rdi
callq 0x1b338
movsd 0x2a5b0(%rip), %xmm0    # 0x70400
movsd %xmm0, -0x38(%rbp)
subq $0x8, %rsp
leaq 0xde9d(%rip), %r11      # 0x53cfd
leaq 0xe5b1(%rip), %r10      # 0x54418
leaq 0xe799(%rip), %rbx      # 0x54607
leaq -0x58(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
pushq $0x1
popq %rcx
pushq $0x8
popq %r8
leaq -0xd0(%rbp), %r9
movl $0x42f, %edx            # imm = 0x42F
pushq %r11
leaq -0x38(%rbp), %r11
pushq %r11
pushq %r10
pushq %rax
pushq %rbx
callq 0x4eaf1
addq $0x30, %rsp
leaq -0xa8(%rbp), %rdi
callq 0x57b8
movq 0x2a68c(%rip), %rdi     # 0x70540
leaq -0x3e8(%rbp), %rsi
movq %r14, (%rsi)
movq %r15, 0x8(%rsi)
leaq -0x3d8(%rbp), %rcx
leaq 0xdb45(%rip), %rax      # 0x53a15
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x430, %edx            # imm = 0x430
callq 0x5710
movq %r15, %r13
movb $0x0, -0x50(%rbp)
leaq 0x29bf1(%rip), %rax     # 0x6fae0
movq %rax, -0x58(%rbp)
movq 0x2a0b6(%rip), %rax     # 0x6ffb0
movq %rax, -0x48(%rbp)
leaq 0xd452(%rip), %rax      # 0x53357
movq %rax, -0x40(%rbp)
movq %r14, -0x298(%rbp)
movq %r15, -0x290(%rbp)
movq %r12, -0xd0(%rbp)
leaq 0x2a663(%rip), %rsi     # 0x70588
leaq -0x88(%rbp), %rdi
callq 0x1b5f0
movq %rax, %r15
movq %r13, %r12
leaq 0xdd16(%rip), %rsi      # 0x53c54
leaq -0xa8(%rbp), %rdi
leaq -0xb0(%rbp), %rdx
callq 0x5160
leaq -0xa8(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movsd 0x2a498(%rip), %xmm0    # 0x70400
movsd %xmm0, -0x38(%rbp)
subq $0x8, %rsp
leaq 0xe4ba(%rip), %r10      # 0x54432
leaq -0x58(%rbp), %rdi
leaq -0x298(%rbp), %rsi
pushq $0x1
popq %rcx
pushq $0x8
popq %r8
leaq -0xd0(%rbp), %r9
movl $0x430, %edx            # imm = 0x430
leaq 0xdd60(%rip), %r11      # 0x53cfd
pushq %r11
leaq -0x38(%rbp), %r11
pushq %r11
pushq %r10
pushq %rax
pushq %rbx
callq 0x4eaf1
addq $0x30, %rsp
leaq -0xa8(%rbp), %rdi
callq 0x57b8
movq 0x2a57b(%rip), %rdi     # 0x70540
leaq -0x3c8(%rbp), %rsi
movq %r14, (%rsi)
movq %r12, 0x8(%rsi)
leaq -0x3b8(%rbp), %rcx
leaq 0xda34(%rip), %rax      # 0x53a15
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x431, %edx            # imm = 0x431
callq 0x5710
movb $0x0, -0x50(%rbp)
leaq 0x29ae3(%rip), %rax     # 0x6fae0
movq %rax, -0x58(%rbp)
movq 0x29fa8(%rip), %rax     # 0x6ffb0
movq %rax, -0x48(%rbp)
leaq 0xd344(%rip), %rax      # 0x53357
movq %rax, -0x40(%rbp)
movq %r14, -0x288(%rbp)
movq %r12, -0x280(%rbp)
movabsq $0x3fec4cf2ae9cdb02, %rax # imm = 0x3FEC4CF2AE9CDB02
movq %rax, -0xd0(%rbp)
leaq 0xe783(%rip), %rsi      # 0x547c0
leaq -0xa8(%rbp), %rdi
leaq -0xb0(%rbp), %r15
movq %r15, %rdx
callq 0x5160
movq %r14, %rbx
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x1b6fa
leaq 0x2a518(%rip), %rsi     # 0x70588
movq %rax, %rdi
callq 0x1b338
movsd 0x2a380(%rip), %xmm0    # 0x70400
movsd %xmm0, -0x38(%rbp)
subq $0x8, %rsp
leaq 0xe3cf(%rip), %r10      # 0x5445f
leaq 0xe584(%rip), %r11      # 0x5461b
leaq -0x58(%rbp), %rdi
leaq -0x288(%rbp), %rsi
pushq $0x1
popq %rcx
pushq $0x8
popq %r8
leaq -0xd0(%rbp), %r9
movl $0x431, %edx            # imm = 0x431
leaq 0xdc41(%rip), %r14      # 0x53cfd
pushq %r14
leaq -0x38(%rbp), %r14
pushq %r14
pushq %r10
pushq %rax
pushq %r11
callq 0x4eaf1
addq $0x30, %rsp
leaq -0xa8(%rbp), %rdi
callq 0x57b8
movq 0x2a45b(%rip), %rdi     # 0x70540
leaq -0x3a8(%rbp), %rsi
movq %rbx, (%rsi)
movq %r12, 0x8(%rsi)
leaq -0x398(%rbp), %rcx
leaq 0xd914(%rip), %rax      # 0x53a15
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x432, %edx            # imm = 0x432
callq 0x5710
movb $0x0, -0x50(%rbp)
leaq 0x299c3(%rip), %rax     # 0x6fae0
movq %rax, -0x58(%rbp)
movq 0x29e88(%rip), %rax     # 0x6ffb0
movq %rax, -0x48(%rbp)
leaq 0xd224(%rip), %rax      # 0x53357
movq %rax, -0x40(%rbp)
movq %rbx, -0x278(%rbp)
movq %r12, -0x270(%rbp)
movabsq $0x3fc27f4296efb8f9, %rax # imm = 0x3FC27F4296EFB8F9
movq %rax, -0x38(%rbp)
leaq 0xceb4(%rip), %rsi      # 0x5300e
leaq -0xa8(%rbp), %rdi
leaq -0x29(%rbp), %rdx
callq 0x5160
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r14
leaq 0xe639(%rip), %rsi      # 0x547c0
leaq -0xd0(%rbp), %rdi
leaq -0x2a(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rsi
movq %r14, %rdi
callq 0x1b3d2
movsd 0x2a252(%rip), %xmm0    # 0x70400
movsd %xmm0, -0xb0(%rbp)
subq $0x8, %rsp
leaq 0xe2d9(%rip), %r10      # 0x5449a
leaq 0xe466(%rip), %r14      # 0x5462e
leaq -0x58(%rbp), %rdi
leaq -0x278(%rbp), %rsi
pushq $0x1
popq %rcx
pushq $0x8
popq %r8
leaq -0x38(%rbp), %r9
movl $0x432, %edx            # imm = 0x432
leaq 0xdb13(%rip), %r11      # 0x53cfd
pushq %r11
pushq %r15
pushq %r10
pushq %rax
pushq %r14
callq 0x4eaf1
addq $0x30, %rsp
leaq -0xd0(%rbp), %rdi
callq 0x57b8
leaq -0xa8(%rbp), %rdi
callq 0x57b8
movq 0x2a325(%rip), %rdi     # 0x70540
leaq -0x388(%rbp), %rsi
movq %rbx, (%rsi)
movq %r12, 0x8(%rsi)
leaq -0x378(%rbp), %rcx
leaq 0xd7de(%rip), %rax      # 0x53a15
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x433, %edx            # imm = 0x433
callq 0x5710
movb $0x0, -0x50(%rbp)
leaq 0x2988d(%rip), %rax     # 0x6fae0
movq %rax, -0x58(%rbp)
movq 0x29d52(%rip), %rax     # 0x6ffb0
movq %rax, -0x48(%rbp)
leaq 0xd0ee(%rip), %rax      # 0x53357
movq %rax, -0x40(%rbp)
movq %rbx, -0x268(%rbp)
movq %r12, -0x260(%rbp)
movabsq $0x3fe7ad2208e0ecc4, %rbx # imm = 0x3FE7AD2208E0ECC4
movq %rbx, -0x38(%rbp)
leaq 0xdaf7(%rip), %rsi      # 0x53d87
leaq -0xa8(%rbp), %rdi
leaq -0x29(%rbp), %rdx
callq 0x5160
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r14
leaq 0xe503(%rip), %rsi      # 0x547c0
leaq -0xd0(%rbp), %rdi
leaq -0x2a(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rsi
movq %r14, %rdi
callq 0x1b3d2
movsd 0x2a11c(%rip), %xmm0    # 0x70400
movsd %xmm0, -0xb0(%rbp)
subq $0x8, %rsp
leaq 0xe1c7(%rip), %r10      # 0x544be
leaq 0xe344(%rip), %r13      # 0x54642
leaq -0x58(%rbp), %rdi
leaq -0x268(%rbp), %rsi
pushq $0x1
popq %rcx
pushq $0x8
popq %r8
leaq -0x38(%rbp), %r12
movl $0x433, %edx            # imm = 0x433
movq %r12, %r9
leaq 0xd9da(%rip), %r11      # 0x53cfd
pushq %r11
pushq %r15
pushq %r10
pushq %rax
pushq %r13
callq 0x4eaf1
addq $0x30, %rsp
leaq -0xd0(%rbp), %rdi
callq 0x57b8
leaq -0xa8(%rbp), %rdi
callq 0x57b8
movq 0x2a1ec(%rip), %rdi     # 0x70540
leaq -0x368(%rbp), %rsi
leaq 0xd81e(%rip), %r14      # 0x53b80
movq %r14, (%rsi)
leaq 0xd822(%rip), %r15      # 0x53b8e
movq %r15, 0x8(%rsi)
leaq -0x358(%rbp), %rcx
leaq 0xd697(%rip), %rax      # 0x53a15
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x434, %edx            # imm = 0x434
callq 0x5710
movb $0x0, -0x50(%rbp)
leaq 0x29746(%rip), %rax     # 0x6fae0
movq %rax, -0x58(%rbp)
movq 0x29c0b(%rip), %rax     # 0x6ffb0
movq %rax, -0x48(%rbp)
leaq 0xcfa7(%rip), %rax      # 0x53357
movq %rax, -0x40(%rbp)
movq %r14, -0x258(%rbp)
movq %r15, -0x250(%rbp)
movq %rbx, -0xd0(%rbp)
leaq 0x2a1b8(%rip), %rsi     # 0x70588
leaq -0x88(%rbp), %rdi
callq 0x1b5f0
movq %rax, %r15
leaq 0xd9a1(%rip), %rsi      # 0x53d87
leaq -0xa8(%rbp), %rdi
leaq -0xb0(%rbp), %r14
movq %r14, %rdx
callq 0x5160
leaq -0xa8(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movsd 0x29fed(%rip), %xmm0    # 0x70400
movsd %xmm0, -0x38(%rbp)
subq $0x8, %rsp
leaq 0xe0e7(%rip), %r10      # 0x5450a
leaq -0x58(%rbp), %rdi
leaq -0x258(%rbp), %rsi
pushq $0x1
popq %rcx
pushq $0x8
popq %r8
leaq -0xd0(%rbp), %r9
movl $0x434, %edx            # imm = 0x434
leaq 0xd8b5(%rip), %r11      # 0x53cfd
pushq %r11
pushq %r12
pushq %r10
pushq %rax
pushq %r13
callq 0x4eaf1
addq $0x30, %rsp
leaq -0xa8(%rbp), %rdi
callq 0x57b8
movq 0x2a0d3(%rip), %rdi     # 0x70540
leaq -0x348(%rbp), %rsi
leaq 0xd705(%rip), %rbx      # 0x53b80
movq %rbx, (%rsi)
leaq 0xd709(%rip), %r12      # 0x53b8e
movq %r12, 0x8(%rsi)
leaq -0x338(%rbp), %rcx
leaq 0xd57e(%rip), %rax      # 0x53a15
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x435, %edx            # imm = 0x435
callq 0x5710
movb $0x0, -0x50(%rbp)
leaq 0x2962d(%rip), %rax     # 0x6fae0
movq %rax, -0x58(%rbp)
movq 0x29af2(%rip), %rax     # 0x6ffb0
movq %rax, -0x48(%rbp)
leaq 0xce8e(%rip), %rax      # 0x53357
movq %rax, -0x40(%rbp)
movq %rbx, -0x248(%rbp)
movq %r12, -0x240(%rbp)
movabsq $0x3fc27f4296efb8f9, %rax # imm = 0x3FC27F4296EFB8F9
movq %rax, -0x38(%rbp)
leaq 0xd894(%rip), %rsi      # 0x53d84
leaq -0xa8(%rbp), %rdi
leaq -0x29(%rbp), %rdx
callq 0x5160
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x1b6fa
movq %rax, %r15
leaq 0xcaf1(%rip), %rsi      # 0x5300e
leaq -0xd0(%rbp), %rdi
leaq -0x2a(%rbp), %rdx
callq 0x5160
leaq -0xd0(%rbp), %rsi
movq %r15, %rdi
callq 0x1b3d2
movsd 0x29ebc(%rip), %xmm0    # 0x70400
movsd %xmm0, -0xb0(%rbp)
subq $0x8, %rsp
leaq 0xe04d(%rip), %r10      # 0x545a4
leaq -0x58(%rbp), %rdi
leaq -0x248(%rbp), %rsi
pushq $0x1
popq %rcx
pushq $0x8
popq %r8
leaq -0x38(%rbp), %r15
movl $0x435, %edx            # imm = 0x435
movq %r15, %r9
leaq 0xd781(%rip), %r11      # 0x53cfd
pushq %r11
pushq %r14
pushq %r10
pushq %rax
leaq 0xe0a4(%rip), %rax      # 0x5462e
pushq %rax
callq 0x4eaf1
addq $0x30, %rsp
leaq -0xd0(%rbp), %rdi
callq 0x57b8
leaq -0xa8(%rbp), %rdi
callq 0x57b8
movq 0x29f8d(%rip), %rdi     # 0x70540
leaq -0x328(%rbp), %rsi
movq %rbx, (%rsi)
movq %r12, 0x8(%rsi)
leaq -0x318(%rbp), %rcx
leaq 0xd446(%rip), %rax      # 0x53a15
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x436, %edx            # imm = 0x436
callq 0x5710
movb $0x0, -0x50(%rbp)
leaq 0x294f5(%rip), %rax     # 0x6fae0
movq %rax, -0x58(%rbp)
movq 0x299ba(%rip), %rax     # 0x6ffb0
movq %rax, -0x48(%rbp)
leaq 0xcd56(%rip), %rax      # 0x53357
movq %rax, -0x40(%rbp)
movq %rbx, -0x238(%rbp)
movq %r12, -0x230(%rbp)
movabsq $0x3fc27f4296efb8f9, %rax # imm = 0x3FC27F4296EFB8F9
movq %rax, -0xd0(%rbp)
leaq 0x29f5d(%rip), %rsi     # 0x70588
leaq -0x88(%rbp), %rdi
callq 0x1b5f0
movq %rax, %r14
leaq 0xd743(%rip), %rsi      # 0x53d84
leaq -0xa8(%rbp), %rdi
leaq -0xb0(%rbp), %rdx
callq 0x5160
leaq -0xa8(%rbp), %rsi
movq %r14, %rdi
callq 0x1b3d2
movsd 0x29d95(%rip), %xmm0    # 0x70400
movsd %xmm0, -0x38(%rbp)
subq $0x8, %rsp
leaq 0xdf3a(%rip), %r10      # 0x545b5
leaq -0x58(%rbp), %rdi
leaq -0x238(%rbp), %rsi
pushq $0x1
popq %rcx
pushq $0x8
popq %r8
leaq -0xd0(%rbp), %r14
movl $0x436, %edx            # imm = 0x436
movq %r14, %r9
leaq 0xd65a(%rip), %r11      # 0x53cfd
pushq %r11
pushq %r15
pushq %r10
pushq %rax
leaq 0xdf7d(%rip), %rax      # 0x5462e
pushq %rax
callq 0x4eaf1
addq $0x30, %rsp
leaq -0xa8(%rbp), %rdi
callq 0x57b8
movq 0x29e72(%rip), %rdi     # 0x70540
leaq -0x308(%rbp), %rsi
movq %rbx, (%rsi)
movq %r12, 0x8(%rsi)
leaq -0x2f8(%rbp), %rcx
leaq 0xd32b(%rip), %rax      # 0x53a15
movq %rax, (%rcx)
movq %rax, 0x8(%rcx)
movl $0x437, %edx            # imm = 0x437
callq 0x5710
leaq -0x58(%rbp), %rdi
movb $0x0, 0x8(%rdi)
leaq 0x293d6(%rip), %rax     # 0x6fae0
movq %rax, (%rdi)
movq 0x2989c(%rip), %rax     # 0x6ffb0
movq %rax, 0x10(%rdi)
leaq 0xcc38(%rip), %rax      # 0x53357
movq %rax, 0x18(%rdi)
leaq -0x2e8(%rbp), %rsi
movq %rbx, (%rsi)
movq %r12, 0x8(%rsi)
movabsq $-0x3ffc6b4afeaa8d2b, %rax # imm = 0xC00394B5015572D5
leaq -0xa8(%rbp), %r9
movq %rax, (%r9)
movsd 0x29cb3(%rip), %xmm0    # 0x70400
movsd %xmm0, -0xd0(%rbp)
subq $0x8, %rsp
leaq 0xe02e(%rip), %rax      # 0x5478e
leaq 0xdeee(%rip), %r10      # 0x54655
pushq $0x1
popq %rcx
pushq $0x8
popq %r8
movl $0x437, %edx            # imm = 0x437
leaq 0xd583(%rip), %r11      # 0x53cfd
pushq %r11
pushq %r14
pushq %rax
leaq -0x128(%rbp), %rax
pushq %rax
pushq %r10
callq 0x4eaf1
addq $0x30, %rsp
leaq -0x88(%rbp), %rdi
callq 0x1bb0c
leaq -0x228(%rbp), %rdi
callq 0x10c24
leaq -0x120(%rbp), %rdi
callq 0x57b8
leaq -0x100(%rbp), %rdi
callq 0x1bb0c
leaq -0x2d8(%rbp), %rdi
callq 0x200e8
addq $0x418, %rsp            # imm = 0x418
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x46a33
jmp 0x46a0d
jmp 0x46a0d
jmp 0x46a33
jmp 0x46a33
jmp 0x46835
jmp 0x46835
jmp 0x46a0d
jmp 0x46a0d
jmp 0x46a33
jmp 0x46a0d
jmp 0x46a0d
jmp 0x46a33
jmp 0x46a33
jmp 0x46835
jmp 0x46835
jmp 0x46a0d
jmp 0x46a0d
jmp 0x46a33
jmp 0x46835
movq %rax, %rbx
leaq -0xd0(%rbp), %rdi
callq 0x57b8
jmp 0x46a10
jmp 0x46a0d
jmp 0x46a0d
jmp 0x46a33
jmp 0x46a0d
jmp 0x46a33
jmp 0x46a0d
jmp 0x46a0d
jmp 0x46a33
jmp 0x46a33
jmp 0x46a0d
jmp 0x46a33
jmp 0x46a33
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x57b8
jmp 0x468ab
movq %rax, %rbx
jmp 0x468ab
jmp 0x468bc
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x57b8
jmp 0x468ab
movq %rax, %rbx
leaq -0x88(%rbp), %rdi
callq 0x57b8
jmp 0x46a42
movq %rax, %rbx
jmp 0x46a42
movq %rax, %rbx
jmp 0x46a4e
jmp 0x46a2e
jmp 0x46937
jmp 0x46a22
jmp 0x46a22
jmp 0x46a2e
jmp 0x46937
jmp 0x46a22
jmp 0x46a22
jmp 0x46a2e
jmp 0x46937
jmp 0x46a22
jmp 0x46a22
jmp 0x46a2e
jmp 0x46937
jmp 0x46a22
jmp 0x46a22
jmp 0x46a2e
jmp 0x46937
jmp 0x46a22
jmp 0x46a22
jmp 0x46a2e
jmp 0x46937
jmp 0x46a22
jmp 0x46a22
jmp 0x46a2e
movq %rax, %rbx
leaq -0x88(%rbp), %rdi
callq 0x57b8
jmp 0x46a25
jmp 0x46a22
jmp 0x46a22
jmp 0x46a2e
movq %rax, %rbx
leaq -0x88(%rbp), %rdi
callq 0x57b8
jmp 0x46970
jmp 0x4696d
movq %rax, %rbx
jmp 0x46a25
jmp 0x46a2e
jmp 0x46a2e
jmp 0x46a2e
jmp 0x46a2e
jmp 0x46a22
jmp 0x46a2e
jmp 0x46a22
jmp 0x46a2e
jmp 0x46a22
jmp 0x46a2e
jmp 0x46a22
jmp 0x46a2e
movq %rax, %rbx
movl $0xe0, %r14d
leaq (%r14,%rbp), %rdi
addq $-0x228, %rdi           # imm = 0xFDD8
callq 0x57b8
addq $-0x20, %r14
cmpq $-0x20, %r14
jne 0x469b7
movb $0x1, %al
jmp 0x469e6
jmp 0x469e1
jmp 0x469e1
jmp 0x469e1
jmp 0x469e1
jmp 0x469e1
jmp 0x469e1
movq %rax, %rbx
xorl %eax, %eax
cmpq %r12, %r15
je 0x46a72
testb %al, %al
jne 0x46a72
addq $-0x20, %r12
movq %r12, %rdi
callq 0x57b8
cmpq %r15, %r12
jne 0x469f3
jmp 0x46a72
movq %rax, %rbx
jmp 0x46a72
jmp 0x46a0d
movq %rax, %rbx
leaq -0xa8(%rbp), %rdi
callq 0x57b8
jmp 0x46a36
jmp 0x46a22
jmp 0x46a22
movq %rax, %rbx
leaq -0x228(%rbp), %rdi
jmp 0x46a55
movq %rax, %rbx
jmp 0x46a5a
movq %rax, %rbx
leaq -0x88(%rbp), %rdi
callq 0x1bb0c
leaq -0x228(%rbp), %rdi
callq 0x10c24
leaq -0x120(%rbp), %rdi
callq 0x57b8
leaq -0x100(%rbp), %rdi
callq 0x1bb0c
leaq -0x2d8(%rbp), %rdi
callq 0x200e8
movq %rbx, %rdi
callq 0x56b0