// File: aalto-speech[P]ftk/test/emtest.cc
// Function: MSFGForwardBackwardTest3::test_method()
BOOST_AUTO_TEST_CASE(MSFGForwardBackwardTest3)
{
    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);

    transitions["i"]["sa"] = log(0.8);
    transitions["a"]["a"] = log(0.8);
    transitions["ki"]["sa"] = log(0.8);
    transitions["kis"]["a"] = log(0.8);
    transitions["kissa"]["a"] = log(0.8);
    transitions["sa"]["a"] = log(0.8);

    map<string, flt_type> word_freqs = {{"kissa", 1.0}, {"kisa", 2.0}, {"kissaa", 3.0}};
    transitions_t stats;
    MultiStringFactorGraph msfg(start_end);
    flt_type lp = 0.0;
    for (auto wit = word_freqs.begin(); wit != word_freqs.end(); ++wit) {
        FactorGraph fg(wit->first, start_end, vocab, 5);
        transitions_t curr_stats;
        flt_type curr_lp = forward_backward(transitions, fg, curr_stats);
        lp += wit->second * curr_lp;
        Bigrams::update_trans_stats(curr_stats, wit->second, stats);
        msfg.add(fg);
    }
    msfg.update_factor_node_map();
    assign_scores(transitions, msfg);

    transitions_t msfg_stats;
    flt_type msfg_lp = forward_backward(msfg, word_freqs, msfg_stats);

    BOOST_CHECK_CLOSE( lp, msfg_lp, DBL_ACCURACY );
    BOOST_CHECK( stats == msfg_stats );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xfb0, %rsp            # imm = 0xFB0
movq %rdi, -0x8(%rbp)
movb $0x1, -0x16c(%rbp)
leaq -0x148(%rbp), %rax
movq %rax, -0xb08(%rbp)
movq %rax, -0x150(%rbp)
leaq -0x151(%rbp), %rdi
movq %rdi, -0xb00(%rbp)
callq 0x67b0
movq -0xb08(%rbp), %rdi
movq -0xb00(%rbp), %rdx
leaq 0x15177(%rip), %rsi     # 0xcbc3a
callq 0x65e0
jmp 0xb6aca
leaq -0x128(%rbp), %rax
movq %rax, -0xb18(%rbp)
movq %rax, -0x150(%rbp)
leaq -0x165(%rbp), %rdi
movq %rdi, -0xb10(%rbp)
callq 0x67b0
movq -0xb18(%rbp), %rdi
movq -0xb10(%rbp), %rdx
leaq 0x14c31(%rip), %rsi     # 0xcb738
callq 0x65e0
jmp 0xb6b0e
leaq -0x108(%rbp), %rax
movq %rax, -0xb28(%rbp)
movq %rax, -0x150(%rbp)
leaq -0x166(%rbp), %rdi
movq %rdi, -0xb20(%rbp)
callq 0x67b0
movq -0xb28(%rbp), %rdi
movq -0xb20(%rbp), %rdx
leaq 0x144c3(%rip), %rsi     # 0xcb00e
callq 0x65e0
jmp 0xb6b52
leaq -0xe8(%rbp), %rax
movq %rax, -0xb38(%rbp)
movq %rax, -0x150(%rbp)
leaq -0x167(%rbp), %rdi
movq %rdi, -0xb30(%rbp)
callq 0x67b0
movq -0xb38(%rbp), %rdi
movq -0xb30(%rbp), %rdx
leaq 0x15385(%rip), %rsi     # 0xcbf14
callq 0x65e0
jmp 0xb6b96
leaq -0xc8(%rbp), %rax
movq %rax, -0xb48(%rbp)
movq %rax, -0x150(%rbp)
leaq -0x168(%rbp), %rdi
movq %rdi, -0xb40(%rbp)
callq 0x67b0
movq -0xb48(%rbp), %rdi
movq -0xb40(%rbp), %rdx
leaq 0x15bd5(%rip), %rsi     # 0xcc7a8
callq 0x65e0
jmp 0xb6bda
leaq -0xa8(%rbp), %rax
movq %rax, -0xb58(%rbp)
movq %rax, -0x150(%rbp)
leaq -0x169(%rbp), %rdi
movq %rdi, -0xb50(%rbp)
callq 0x67b0
movq -0xb58(%rbp), %rdi
movq -0xb50(%rbp), %rdx
leaq 0x15155(%rip), %rsi     # 0xcbd6c
callq 0x65e0
jmp 0xb6c1e
leaq -0x88(%rbp), %rax
movq %rax, -0xb68(%rbp)
movq %rax, -0x150(%rbp)
leaq -0x16a(%rbp), %rdi
movq %rdi, -0xb60(%rbp)
callq 0x67b0
movq -0xb68(%rbp), %rdi
movq -0xb60(%rbp), %rdx
leaq 0x15114(%rip), %rsi     # 0xcbd6f
callq 0x65e0
jmp 0xb6c62
leaq -0x68(%rbp), %rax
movq %rax, -0xb78(%rbp)
movq %rax, -0x150(%rbp)
leaq -0x16b(%rbp), %rdi
movq %rdi, -0xb70(%rbp)
callq 0x67b0
movq -0xb78(%rbp), %rdi
movq -0xb70(%rbp), %rdx
leaq 0x14fa0(%rip), %rsi     # 0xcbc3c
callq 0x65e0
jmp 0xb6ca3
movb $0x0, -0x16c(%rbp)
leaq -0x148(%rbp), %rax
movq %rax, -0x48(%rbp)
movq $0x8, -0x40(%rbp)
leaq -0x16e(%rbp), %rdi
movq %rdi, -0xb80(%rbp)
callq 0xdab0
movq -0xb80(%rbp), %r8
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
leaq -0x38(%rbp), %rdi
leaq -0x16d(%rbp), %rcx
callq 0xbfde0
jmp 0xb6cf1
leaq -0x16e(%rbp), %rdi
callq 0xdb50
leaq -0x148(%rbp), %rax
movq %rax, -0xb90(%rbp)
addq $0x100, %rax            # imm = 0x100
movq %rax, -0xb88(%rbp)
movq -0xb88(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xb98(%rbp)
callq 0x6908
movq -0xb90(%rbp), %rcx
movq -0xb98(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xb88(%rbp)
jne 0xb6d18
leaq -0x16b(%rbp), %rdi
callq 0x6470
leaq -0x16a(%rbp), %rdi
callq 0x6470
leaq -0x169(%rbp), %rdi
callq 0x6470
leaq -0x168(%rbp), %rdi
callq 0x6470
leaq -0x167(%rbp), %rdi
callq 0x6470
leaq -0x166(%rbp), %rdi
callq 0x6470
leaq -0x165(%rbp), %rdi
callq 0x6470
leaq -0x151(%rbp), %rdi
callq 0x6470
leaq -0x1a0(%rbp), %rdi
movq %rdi, -0xbb0(%rbp)
callq 0x4bd30
movsd 0x14d5c(%rip), %xmm0    # 0xcbb20
callq 0x6370
movq -0xbb0(%rbp), %rdi
movsd %xmm0, -0xba8(%rbp)
leaq 0x50859(%rip), %rsi     # 0x107638
callq 0x4b980
movq %rax, -0xba0(%rbp)
jmp 0xb6ded
leaq -0x1c1(%rbp), %rdi
movq %rdi, -0xbb8(%rbp)
callq 0x67b0
movq -0xbb8(%rbp), %rdx
leaq 0x14e2c(%rip), %rsi     # 0xcbc3a
leaq -0x1c0(%rbp), %rdi
callq 0x65e0
jmp 0xb6e1c
movq -0xba0(%rbp), %rdi
leaq -0x1c0(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0xbc0(%rbp)
jmp 0xb6e38
movq -0xbc0(%rbp), %rax
movsd -0xba8(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x1c0(%rbp), %rdi
callq 0x6908
leaq -0x1c1(%rbp), %rdi
callq 0x6470
movsd 0x14cad(%rip), %xmm0    # 0xcbb18
callq 0x6370
movsd %xmm0, -0xbd0(%rbp)
leaq 0x507b9(%rip), %rsi     # 0x107638
leaq -0x1a0(%rbp), %rdi
callq 0x4b980
movq %rax, -0xbc8(%rbp)
jmp 0xb6e94
leaq -0x1e9(%rbp), %rdi
movq %rdi, -0xbd8(%rbp)
callq 0x67b0
movq -0xbd8(%rbp), %rdx
leaq 0x14eb7(%rip), %rsi     # 0xcbd6c
leaq -0x1e8(%rbp), %rdi
callq 0x65e0
jmp 0xb6ec3
movq -0xbc8(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0xbe0(%rbp)
jmp 0xb6edf
movq -0xbe0(%rbp), %rax
movsd -0xbd0(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x1e8(%rbp), %rdi
callq 0x6908
leaq -0x1e9(%rbp), %rdi
callq 0x6470
movsd 0x14c2e(%rip), %xmm0    # 0xcbb40
callq 0x6370
movsd %xmm0, -0xbf0(%rbp)
leaq 0x50712(%rip), %rsi     # 0x107638
leaq -0x1a0(%rbp), %rdi
callq 0x4b980
movq %rax, -0xbe8(%rbp)
jmp 0xb6f3b
leaq -0x211(%rbp), %rdi
movq %rdi, -0xbf8(%rbp)
callq 0x67b0
movq -0xbf8(%rbp), %rdx
leaq 0x14e13(%rip), %rsi     # 0xcbd6f
leaq -0x210(%rbp), %rdi
callq 0x65e0
jmp 0xb6f6a
movq -0xbe8(%rbp), %rdi
leaq -0x210(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0xc00(%rbp)
jmp 0xb6f86
movq -0xc00(%rbp), %rax
movsd -0xbf0(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x210(%rbp), %rdi
callq 0x6908
leaq -0x211(%rbp), %rdi
callq 0x6470
movsd 0x14b8f(%rip), %xmm0    # 0xcbb48
callq 0x6370
movsd %xmm0, -0xc10(%rbp)
leaq 0x5066b(%rip), %rsi     # 0x107638
leaq -0x1a0(%rbp), %rdi
callq 0x4b980
movq %rax, -0xc08(%rbp)
jmp 0xb6fe2
leaq -0x239(%rbp), %rdi
movq %rdi, -0xc18(%rbp)
callq 0x67b0
movq -0xc18(%rbp), %rdx
leaq 0x14c39(%rip), %rsi     # 0xcbc3c
leaq -0x238(%rbp), %rdi
callq 0x65e0
jmp 0xb7011
movq -0xc08(%rbp), %rdi
leaq -0x238(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0xc20(%rbp)
jmp 0xb702d
movq -0xc20(%rbp), %rax
movsd -0xc10(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x238(%rbp), %rdi
callq 0x6908
leaq -0x239(%rbp), %rdi
callq 0x6470
movsd 0x14ac0(%rip), %xmm0    # 0xcbb20
callq 0x6370
movsd %xmm0, -0xc30(%rbp)
leaq -0x261(%rbp), %rdi
movq %rdi, -0xc28(%rbp)
callq 0x67b0
movq -0xc28(%rbp), %rdx
leaq 0x14e86(%rip), %rsi     # 0xcbf14
leaq -0x260(%rbp), %rdi
callq 0x65e0
jmp 0xb709c
leaq -0x1a0(%rbp), %rdi
leaq -0x260(%rbp), %rsi
callq 0x4bba0
movq %rax, -0xc38(%rbp)
jmp 0xb70b8
movq -0xc38(%rbp), %rdi
leaq 0x50572(%rip), %rsi     # 0x107638
callq 0x4b030
movq %rax, -0xc40(%rbp)
jmp 0xb70d4
movq -0xc40(%rbp), %rax
movsd -0xc30(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x260(%rbp), %rdi
callq 0x6908
leaq -0x261(%rbp), %rdi
callq 0x6470
movsd 0x14a41(%rip), %xmm0    # 0xcbb48
callq 0x6370
movsd %xmm0, -0xc50(%rbp)
leaq -0x289(%rbp), %rdi
movq %rdi, -0xc48(%rbp)
callq 0x67b0
movq -0xc48(%rbp), %rdx
leaq 0x14b07(%rip), %rsi     # 0xcbc3c
leaq -0x288(%rbp), %rdi
callq 0x65e0
jmp 0xb7143
leaq -0x1a0(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x4bba0
movq %rax, -0xc58(%rbp)
jmp 0xb715f
movq -0xc58(%rbp), %rdi
leaq 0x504cb(%rip), %rsi     # 0x107638
callq 0x4b030
movq %rax, -0xc60(%rbp)
jmp 0xb717b
movq -0xc60(%rbp), %rax
movsd -0xc50(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x288(%rbp), %rdi
callq 0x6908
leaq -0x289(%rbp), %rdi
callq 0x6470
movsd 0x14992(%rip), %xmm0    # 0xcbb40
callq 0x6370
movsd %xmm0, -0xc70(%rbp)
leaq -0x2b1(%rbp), %rdi
movq %rdi, -0xc68(%rbp)
callq 0x67b0
movq -0xc68(%rbp), %rdx
leaq 0x155cc(%rip), %rsi     # 0xcc7a8
leaq -0x2b0(%rbp), %rdi
callq 0x65e0
jmp 0xb71ea
leaq -0x1a0(%rbp), %rdi
leaq -0x2b0(%rbp), %rsi
callq 0x4bba0
movq %rax, -0xc78(%rbp)
jmp 0xb7206
movq -0xc78(%rbp), %rdi
leaq 0x50424(%rip), %rsi     # 0x107638
callq 0x4b030
movq %rax, -0xc80(%rbp)
jmp 0xb7222
movq -0xc80(%rbp), %rax
movsd -0xc70(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x2b0(%rbp), %rdi
callq 0x6908
leaq -0x2b1(%rbp), %rdi
callq 0x6470
movsd 0x148c3(%rip), %xmm0    # 0xcbb18
callq 0x6370
movsd %xmm0, -0xc90(%rbp)
leaq -0x2d9(%rbp), %rdi
movq %rdi, -0xc88(%rbp)
callq 0x67b0
movq -0xc88(%rbp), %rdx
leaq 0x14ae9(%rip), %rsi     # 0xcbd6c
leaq -0x2d8(%rbp), %rdi
callq 0x65e0
jmp 0xb7291
leaq -0x1a0(%rbp), %rdi
leaq -0x2d8(%rbp), %rsi
callq 0x4bba0
movq %rax, -0xc98(%rbp)
jmp 0xb72ad
leaq -0x301(%rbp), %rdi
movq %rdi, -0xca0(%rbp)
callq 0x67b0
movq -0xca0(%rbp), %rdx
leaq 0x13d40(%rip), %rsi     # 0xcb00e
leaq -0x300(%rbp), %rdi
callq 0x65e0
jmp 0xb72dc
movq -0xc98(%rbp), %rdi
leaq -0x300(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0xca8(%rbp)
jmp 0xb72f8
movq -0xca8(%rbp), %rax
movsd -0xc90(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x300(%rbp), %rdi
callq 0x6908
leaq -0x301(%rbp), %rdi
callq 0x6470
leaq -0x2d8(%rbp), %rdi
callq 0x6908
leaq -0x2d9(%rbp), %rdi
callq 0x6470
movsd 0x147dd(%rip), %xmm0    # 0xcbb20
callq 0x6370
movsd %xmm0, -0xcb8(%rbp)
leaq -0x329(%rbp), %rdi
movq %rdi, -0xcb0(%rbp)
callq 0x67b0
movq -0xcb0(%rbp), %rdx
leaq 0x148c9(%rip), %rsi     # 0xcbc3a
leaq -0x328(%rbp), %rdi
callq 0x65e0
jmp 0xb737f
leaq -0x1a0(%rbp), %rdi
leaq -0x328(%rbp), %rsi
callq 0x4bba0
movq %rax, -0xcc0(%rbp)
jmp 0xb739b
leaq -0x351(%rbp), %rdi
movq %rdi, -0xcc8(%rbp)
callq 0x67b0
movq -0xcc8(%rbp), %rdx
leaq 0x1437c(%rip), %rsi     # 0xcb738
leaq -0x350(%rbp), %rdi
callq 0x65e0
jmp 0xb73ca
movq -0xcc0(%rbp), %rdi
leaq -0x350(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0xcd0(%rbp)
jmp 0xb73e6
movq -0xcd0(%rbp), %rax
movsd -0xcb8(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x350(%rbp), %rdi
callq 0x6908
leaq -0x351(%rbp), %rdi
callq 0x6470
leaq -0x328(%rbp), %rdi
callq 0x6908
leaq -0x329(%rbp), %rdi
callq 0x6470
movsd 0x146ef(%rip), %xmm0    # 0xcbb20
callq 0x6370
movsd %xmm0, -0xce0(%rbp)
leaq -0x379(%rbp), %rdi
movq %rdi, -0xcd8(%rbp)
callq 0x67b0
movq -0xcd8(%rbp), %rdx
leaq 0x142d9(%rip), %rsi     # 0xcb738
leaq -0x378(%rbp), %rdi
callq 0x65e0
jmp 0xb746d
leaq -0x1a0(%rbp), %rdi
leaq -0x378(%rbp), %rsi
callq 0x4bba0
movq %rax, -0xce8(%rbp)
jmp 0xb7489
leaq -0x3a1(%rbp), %rdi
movq %rdi, -0xcf0(%rbp)
callq 0x67b0
movq -0xcf0(%rbp), %rdx
leaq 0x13b64(%rip), %rsi     # 0xcb00e
leaq -0x3a0(%rbp), %rdi
callq 0x65e0
jmp 0xb74b8
movq -0xce8(%rbp), %rdi
leaq -0x3a0(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0xcf8(%rbp)
jmp 0xb74d4
movq -0xcf8(%rbp), %rax
movsd -0xce0(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x3a0(%rbp), %rdi
callq 0x6908
leaq -0x3a1(%rbp), %rdi
callq 0x6470
leaq -0x378(%rbp), %rdi
callq 0x6908
leaq -0x379(%rbp), %rdi
callq 0x6470
movsd 0x14601(%rip), %xmm0    # 0xcbb20
callq 0x6370
movsd %xmm0, -0xd08(%rbp)
leaq -0x3c9(%rbp), %rdi
movq %rdi, -0xd00(%rbp)
callq 0x67b0
movq -0xd00(%rbp), %rdx
leaq 0x13ac1(%rip), %rsi     # 0xcb00e
leaq -0x3c8(%rbp), %rdi
callq 0x65e0
jmp 0xb755b
leaq -0x1a0(%rbp), %rdi
leaq -0x3c8(%rbp), %rsi
callq 0x4bba0
movq %rax, -0xd10(%rbp)
jmp 0xb7577
leaq -0x3f1(%rbp), %rdi
movq %rdi, -0xd18(%rbp)
callq 0x67b0
movq -0xd18(%rbp), %rdx
leaq 0x13a76(%rip), %rsi     # 0xcb00e
leaq -0x3f0(%rbp), %rdi
callq 0x65e0
jmp 0xb75a6
movq -0xd10(%rbp), %rdi
leaq -0x3f0(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0xd20(%rbp)
jmp 0xb75c2
movq -0xd20(%rbp), %rax
movsd -0xd08(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x3f0(%rbp), %rdi
callq 0x6908
leaq -0x3f1(%rbp), %rdi
callq 0x6470
leaq -0x3c8(%rbp), %rdi
callq 0x6908
leaq -0x3c9(%rbp), %rdi
callq 0x6470
movsd 0x14513(%rip), %xmm0    # 0xcbb20
callq 0x6370
movsd %xmm0, -0xd30(%rbp)
leaq -0x419(%rbp), %rdi
movq %rdi, -0xd28(%rbp)
callq 0x67b0
movq -0xd28(%rbp), %rdx
leaq 0x139d3(%rip), %rsi     # 0xcb00e
leaq -0x418(%rbp), %rdi
callq 0x65e0
jmp 0xb7649
leaq -0x1a0(%rbp), %rdi
leaq -0x418(%rbp), %rsi
callq 0x4bba0
movq %rax, -0xd38(%rbp)
jmp 0xb7665
leaq -0x441(%rbp), %rdi
movq %rdi, -0xd40(%rbp)
callq 0x67b0
movq -0xd40(%rbp), %rdx
leaq 0x15122(%rip), %rsi     # 0xcc7a8
leaq -0x440(%rbp), %rdi
callq 0x65e0
jmp 0xb7694
movq -0xd38(%rbp), %rdi
leaq -0x440(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0xd48(%rbp)
jmp 0xb76b0
movq -0xd48(%rbp), %rax
movsd -0xd30(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x440(%rbp), %rdi
callq 0x6908
leaq -0x441(%rbp), %rdi
callq 0x6470
leaq -0x418(%rbp), %rdi
callq 0x6908
leaq -0x419(%rbp), %rdi
callq 0x6470
movsd 0x14425(%rip), %xmm0    # 0xcbb20
callq 0x6370
movsd %xmm0, -0xd58(%rbp)
leaq -0x469(%rbp), %rdi
movq %rdi, -0xd50(%rbp)
callq 0x67b0
movq -0xd50(%rbp), %rdx
leaq 0x138e5(%rip), %rsi     # 0xcb00e
leaq -0x468(%rbp), %rdi
callq 0x65e0
jmp 0xb7737
leaq -0x1a0(%rbp), %rdi
leaq -0x468(%rbp), %rsi
callq 0x4bba0
movq %rax, -0xd60(%rbp)
jmp 0xb7753
leaq -0x491(%rbp), %rdi
movq %rdi, -0xd68(%rbp)
callq 0x67b0
movq -0xd68(%rbp), %rdx
leaq 0x147a0(%rip), %rsi     # 0xcbf14
leaq -0x490(%rbp), %rdi
callq 0x65e0
jmp 0xb7782
movq -0xd60(%rbp), %rdi
leaq -0x490(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0xd70(%rbp)
jmp 0xb779e
movq -0xd70(%rbp), %rax
movsd -0xd58(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x490(%rbp), %rdi
callq 0x6908
leaq -0x491(%rbp), %rdi
callq 0x6470
leaq -0x468(%rbp), %rdi
callq 0x6908
leaq -0x469(%rbp), %rdi
callq 0x6470
movsd 0x14357(%rip), %xmm0    # 0xcbb40
callq 0x6370
movsd %xmm0, -0xd80(%rbp)
leaq -0x4b9(%rbp), %rdi
movq %rdi, -0xd78(%rbp)
callq 0x67b0
movq -0xd78(%rbp), %rdx
leaq 0x14558(%rip), %rsi     # 0xcbd6f
leaq -0x4b8(%rbp), %rdi
callq 0x65e0
jmp 0xb7825
leaq -0x1a0(%rbp), %rdi
leaq -0x4b8(%rbp), %rsi
callq 0x4bba0
movq %rax, -0xd88(%rbp)
jmp 0xb7841
leaq -0x4e1(%rbp), %rdi
movq %rdi, -0xd90(%rbp)
callq 0x67b0
movq -0xd90(%rbp), %rdx
leaq 0x14f46(%rip), %rsi     # 0xcc7a8
leaq -0x4e0(%rbp), %rdi
callq 0x65e0
jmp 0xb7870
movq -0xd88(%rbp), %rdi
leaq -0x4e0(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0xd98(%rbp)
jmp 0xb788c
movq -0xd98(%rbp), %rax
movsd -0xd80(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x4e0(%rbp), %rdi
callq 0x6908
leaq -0x4e1(%rbp), %rdi
callq 0x6470
leaq -0x4b8(%rbp), %rdi
callq 0x6908
leaq -0x4b9(%rbp), %rdi
callq 0x6470
movsd 0x14269(%rip), %xmm0    # 0xcbb40
callq 0x6370
movsd %xmm0, -0xda8(%rbp)
leaq -0x509(%rbp), %rdi
movq %rdi, -0xda0(%rbp)
callq 0x67b0
movq -0xda0(%rbp), %rdx
leaq 0x1446a(%rip), %rsi     # 0xcbd6f
leaq -0x508(%rbp), %rdi
callq 0x65e0
jmp 0xb7913
leaq -0x1a0(%rbp), %rdi
leaq -0x508(%rbp), %rsi
callq 0x4bba0
movq %rax, -0xdb0(%rbp)
jmp 0xb792f
leaq -0x531(%rbp), %rdi
movq %rdi, -0xdb8(%rbp)
callq 0x67b0
movq -0xdb8(%rbp), %rdx
leaq 0x136be(%rip), %rsi     # 0xcb00e
leaq -0x530(%rbp), %rdi
callq 0x65e0
jmp 0xb795e
movq -0xdb0(%rbp), %rdi
leaq -0x530(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0xdc0(%rbp)
jmp 0xb797a
movq -0xdc0(%rbp), %rax
movsd -0xda8(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x530(%rbp), %rdi
callq 0x6908
leaq -0x531(%rbp), %rdi
callq 0x6470
leaq -0x508(%rbp), %rdi
callq 0x6908
leaq -0x509(%rbp), %rdi
callq 0x6470
movsd 0x1418b(%rip), %xmm0    # 0xcbb50
callq 0x6370
movsd %xmm0, -0xdd0(%rbp)
leaq -0x559(%rbp), %rdi
movq %rdi, -0xdc8(%rbp)
callq 0x67b0
movq -0xdc8(%rbp), %rdx
leaq 0x13d45(%rip), %rsi     # 0xcb738
leaq -0x558(%rbp), %rdi
callq 0x65e0
jmp 0xb7a01
leaq -0x1a0(%rbp), %rdi
leaq -0x558(%rbp), %rsi
callq 0x4bba0
movq %rax, -0xdd8(%rbp)
jmp 0xb7a1d
leaq -0x581(%rbp), %rdi
movq %rdi, -0xde0(%rbp)
callq 0x67b0
movq -0xde0(%rbp), %rdx
leaq 0x14d6a(%rip), %rsi     # 0xcc7a8
leaq -0x580(%rbp), %rdi
callq 0x65e0
jmp 0xb7a4c
movq -0xdd8(%rbp), %rdi
leaq -0x580(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0xde8(%rbp)
jmp 0xb7a68
movq -0xde8(%rbp), %rax
movsd -0xdd0(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x580(%rbp), %rdi
callq 0x6908
leaq -0x581(%rbp), %rdi
callq 0x6470
leaq -0x558(%rbp), %rdi
callq 0x6908
leaq -0x559(%rbp), %rdi
callq 0x6470
movsd 0x1409d(%rip), %xmm0    # 0xcbb50
callq 0x6370
movsd %xmm0, -0xdf8(%rbp)
leaq -0x5a9(%rbp), %rdi
movq %rdi, -0xdf0(%rbp)
callq 0x67b0
movq -0xdf0(%rbp), %rdx
leaq 0x14433(%rip), %rsi     # 0xcbf14
leaq -0x5a8(%rbp), %rdi
callq 0x65e0
jmp 0xb7aef
leaq -0x1a0(%rbp), %rdi
leaq -0x5a8(%rbp), %rsi
callq 0x4bba0
movq %rax, -0xe00(%rbp)
jmp 0xb7b0b
leaq -0x5d1(%rbp), %rdi
movq %rdi, -0xe08(%rbp)
callq 0x67b0
movq -0xe08(%rbp), %rdx
leaq 0x143e8(%rip), %rsi     # 0xcbf14
leaq -0x5d0(%rbp), %rdi
callq 0x65e0
jmp 0xb7b3a
movq -0xe00(%rbp), %rdi
leaq -0x5d0(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0xe10(%rbp)
jmp 0xb7b56
movq -0xe10(%rbp), %rax
movsd -0xdf8(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x5d0(%rbp), %rdi
callq 0x6908
leaq -0x5d1(%rbp), %rdi
callq 0x6470
leaq -0x5a8(%rbp), %rdi
callq 0x6908
leaq -0x5a9(%rbp), %rdi
callq 0x6470
movsd 0x13faf(%rip), %xmm0    # 0xcbb50
callq 0x6370
movsd %xmm0, -0xe20(%rbp)
leaq -0x5f9(%rbp), %rdi
movq %rdi, -0xe18(%rbp)
callq 0x67b0
movq -0xe18(%rbp), %rdx
leaq 0x1419d(%rip), %rsi     # 0xcbd6c
leaq -0x5f8(%rbp), %rdi
callq 0x65e0
jmp 0xb7bdd
leaq -0x1a0(%rbp), %rdi
leaq -0x5f8(%rbp), %rsi
callq 0x4bba0
movq %rax, -0xe28(%rbp)
jmp 0xb7bf9
leaq -0x621(%rbp), %rdi
movq %rdi, -0xe30(%rbp)
callq 0x67b0
movq -0xe30(%rbp), %rdx
leaq 0x14b8e(%rip), %rsi     # 0xcc7a8
leaq -0x620(%rbp), %rdi
callq 0x65e0
jmp 0xb7c28
movq -0xe28(%rbp), %rdi
leaq -0x620(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0xe38(%rbp)
jmp 0xb7c44
movq -0xe38(%rbp), %rax
movsd -0xe20(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x620(%rbp), %rdi
callq 0x6908
leaq -0x621(%rbp), %rdi
callq 0x6470
leaq -0x5f8(%rbp), %rdi
callq 0x6908
leaq -0x5f9(%rbp), %rdi
callq 0x6470
movsd 0x13ec1(%rip), %xmm0    # 0xcbb50
callq 0x6370
movsd %xmm0, -0xe48(%rbp)
leaq -0x649(%rbp), %rdi
movq %rdi, -0xe40(%rbp)
callq 0x67b0
movq -0xe40(%rbp), %rdx
leaq 0x140b2(%rip), %rsi     # 0xcbd6f
leaq -0x648(%rbp), %rdi
callq 0x65e0
jmp 0xb7ccb
leaq -0x1a0(%rbp), %rdi
leaq -0x648(%rbp), %rsi
callq 0x4bba0
movq %rax, -0xe50(%rbp)
jmp 0xb7ce7
leaq -0x671(%rbp), %rdi
movq %rdi, -0xe58(%rbp)
callq 0x67b0
movq -0xe58(%rbp), %rdx
leaq 0x1420c(%rip), %rsi     # 0xcbf14
leaq -0x670(%rbp), %rdi
callq 0x65e0
jmp 0xb7d16
movq -0xe50(%rbp), %rdi
leaq -0x670(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0xe60(%rbp)
jmp 0xb7d32
movq -0xe60(%rbp), %rax
movsd -0xe48(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x670(%rbp), %rdi
callq 0x6908
leaq -0x671(%rbp), %rdi
callq 0x6470
leaq -0x648(%rbp), %rdi
callq 0x6908
leaq -0x649(%rbp), %rdi
callq 0x6470
movsd 0x13dd3(%rip), %xmm0    # 0xcbb50
callq 0x6370
movsd %xmm0, -0xe70(%rbp)
leaq -0x699(%rbp), %rdi
movq %rdi, -0xe68(%rbp)
callq 0x67b0
movq -0xe68(%rbp), %rdx
leaq 0x13e91(%rip), %rsi     # 0xcbc3c
leaq -0x698(%rbp), %rdi
callq 0x65e0
jmp 0xb7db9
leaq -0x1a0(%rbp), %rdi
leaq -0x698(%rbp), %rsi
callq 0x4bba0
movq %rax, -0xe78(%rbp)
jmp 0xb7dd5
leaq -0x6c1(%rbp), %rdi
movq %rdi, -0xe80(%rbp)
callq 0x67b0
movq -0xe80(%rbp), %rdx
leaq 0x1411e(%rip), %rsi     # 0xcbf14
leaq -0x6c0(%rbp), %rdi
callq 0x65e0
jmp 0xb7e04
movq -0xe78(%rbp), %rdi
leaq -0x6c0(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0xe88(%rbp)
jmp 0xb7e20
movq -0xe88(%rbp), %rax
movsd -0xe70(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x6c0(%rbp), %rdi
callq 0x6908
leaq -0x6c1(%rbp), %rdi
callq 0x6470
leaq -0x698(%rbp), %rdi
callq 0x6908
leaq -0x699(%rbp), %rdi
callq 0x6470
movsd 0x13ce5(%rip), %xmm0    # 0xcbb50
callq 0x6370
movsd %xmm0, -0xe98(%rbp)
leaq -0x6e9(%rbp), %rdi
movq %rdi, -0xe90(%rbp)
callq 0x67b0
movq -0xe90(%rbp), %rdx
leaq 0x1490f(%rip), %rsi     # 0xcc7a8
leaq -0x6e8(%rbp), %rdi
callq 0x65e0
jmp 0xb7ea7
leaq -0x1a0(%rbp), %rdi
leaq -0x6e8(%rbp), %rsi
callq 0x4bba0
movq %rax, -0xea0(%rbp)
jmp 0xb7ec3
leaq -0x711(%rbp), %rdi
movq %rdi, -0xea8(%rbp)
callq 0x67b0
movq -0xea8(%rbp), %rdx
leaq 0x14030(%rip), %rsi     # 0xcbf14
leaq -0x710(%rbp), %rdi
callq 0x65e0
jmp 0xb7ef2
movq -0xea0(%rbp), %rdi
leaq -0x710(%rbp), %rsi
callq 0x4b2f0
movq %rax, -0xeb0(%rbp)
jmp 0xb7f0e
movq -0xeb0(%rbp), %rax
movsd -0xe98(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq -0x710(%rbp), %rdi
callq 0x6908
leaq -0x711(%rbp), %rdi
callq 0x6470
leaq -0x6e8(%rbp), %rdi
callq 0x6908
leaq -0x6e9(%rbp), %rdi
callq 0x6470
leaq -0x7d0(%rbp), %rdi
movq %rdi, -0x7d8(%rbp)
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, -0x7e0(%rbp)
leaq 0x13cc5(%rip), %rsi     # 0xcbc3c
leaq -0x7e0(%rbp), %rdx
callq 0xc0360
jmp 0xb7f85
leaq -0x7a8(%rbp), %rdi
movq %rdi, -0x7d8(%rbp)
movabsq $0x4000000000000000, %rax # imm = 0x4000000000000000
movq %rax, -0x7e8(%rbp)
leaq 0x147fb(%rip), %rsi     # 0xcc7a6
leaq -0x7e8(%rbp), %rdx
callq 0xc03f0
jmp 0xb7fb9
leaq -0x780(%rbp), %rdi
movq %rdi, -0x7d8(%rbp)
movabsq $0x4008000000000000, %rax # imm = 0x4008000000000000
movq %rax, -0x7f0(%rbp)
leaq 0x147cc(%rip), %rsi     # 0xcc7ab
leaq -0x7f0(%rbp), %rdx
callq 0xc0480
jmp 0xb7fed
leaq -0x7d0(%rbp), %rax
movq %rax, -0x758(%rbp)
movq $0x3, -0x750(%rbp)
leaq -0x7f2(%rbp), %rdi
movq %rdi, -0xeb8(%rbp)
callq 0xc0510
movq -0xeb8(%rbp), %r8
movq -0x758(%rbp), %rsi
movq -0x750(%rbp), %rdx
leaq -0x748(%rbp), %rdi
leaq -0x7f1(%rbp), %rcx
callq 0xc0530
jmp 0xb8043
leaq -0x7f2(%rbp), %rdi
callq 0xc0600
leaq -0x7d0(%rbp), %rax
movq %rax, -0xec8(%rbp)
addq $0x78, %rax
movq %rax, -0xec0(%rbp)
movq -0xec0(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0xed0(%rbp)
callq 0x4d200
movq -0xec8(%rbp), %rcx
movq -0xed0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xec0(%rbp)
jne 0xb8068
leaq -0x828(%rbp), %rdi
callq 0x4bd30
leaq 0x4f58c(%rip), %rsi     # 0x107638
leaq -0x920(%rbp), %rdi
callq 0xc0180
jmp 0xb80ba
xorps %xmm0, %xmm0
movsd %xmm0, -0x928(%rbp)
leaq -0x748(%rbp), %rdi
callq 0x5be90
movq %rax, -0x930(%rbp)
leaq -0x748(%rbp), %rdi
callq 0x4bf10
movq %rax, -0x938(%rbp)
leaq -0x930(%rbp), %rdi
leaq -0x938(%rbp), %rsi
callq 0x4beb0
testb $0x1, %al
jne 0xb8107
jmp 0xb8e40
leaq -0x930(%rbp), %rdi
callq 0x5bec0
movq %rax, %rsi
leaq 0x4f51b(%rip), %rdx     # 0x107638
leaq -0x9b0(%rbp), %rdi
leaq -0x38(%rbp), %rcx
movl $0x5, %r8d
xorl %r9d, %r9d
callq 0x239b0
jmp 0xb8138
leaq -0x9e0(%rbp), %rdi
movq %rdi, -0xee0(%rbp)
callq 0x4bd30
movq -0xee0(%rbp), %rdx
leaq -0x1a0(%rbp), %rdi
leaq -0x9b0(%rbp), %rsi
callq 0x45f80
movsd %xmm0, -0xed8(%rbp)
jmp 0xb816f
movsd -0xed8(%rbp), %xmm0
movsd %xmm0, -0x9e8(%rbp)
leaq -0x930(%rbp), %rdi
movq %rdi, -0xee8(%rbp)
callq 0x5bec0
movq -0xee8(%rbp), %rdi
movsd 0x20(%rax), %xmm0
movsd -0x9e8(%rbp), %xmm2
movsd -0x928(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x928(%rbp)
callq 0x5bec0
movsd 0x20(%rax), %xmm0
leaq -0x9e0(%rbp), %rdi
leaq -0x828(%rbp), %rsi
callq 0x61190
jmp 0xb81dd
leaq -0x920(%rbp), %rdi
leaq -0x9b0(%rbp), %rsi
movl $0x1, %edx
callq 0x2fff0
jmp 0xb81f7
leaq -0x9e0(%rbp), %rdi
callq 0x4bd50
leaq -0x9b0(%rbp), %rdi
callq 0x26180
leaq -0x930(%rbp), %rdi
callq 0x4f1d0
jmp 0xb80d8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8395
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8389
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb837d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8371
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8365
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8359
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb834d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8341
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x16e(%rbp), %rdi
callq 0xdb50
leaq -0x148(%rbp), %rax
movq %rax, -0xef8(%rbp)
addq $0x100, %rax            # imm = 0x100
movq %rax, -0xef0(%rbp)
movq -0xef0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xf00(%rbp)
callq 0x6908
movq -0xef8(%rbp), %rcx
movq -0xf00(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xef0(%rbp)
jne 0xb830e
jmp 0xb8341
leaq -0x16b(%rbp), %rdi
callq 0x6470
leaq -0x16a(%rbp), %rdi
callq 0x6470
leaq -0x169(%rbp), %rdi
callq 0x6470
leaq -0x168(%rbp), %rdi
callq 0x6470
leaq -0x167(%rbp), %rdi
callq 0x6470
leaq -0x166(%rbp), %rdi
callq 0x6470
leaq -0x165(%rbp), %rdi
callq 0x6470
leaq -0x151(%rbp), %rdi
callq 0x6470
testb $0x1, -0x16c(%rbp)
jne 0xb83ac
jmp 0xb83f9
movq -0x150(%rbp), %rax
leaq -0x148(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xf08(%rbp)
je 0xb83f7
movq -0xf08(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xf10(%rbp)
callq 0x6908
movq -0xf10(%rbp), %rax
leaq -0x148(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xf08(%rbp)
jne 0xb83c6
jmp 0xb83f9
jmp 0xb9257
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8447
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x1c0(%rbp), %rdi
callq 0x6908
leaq -0x1c1(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb848a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x1e8(%rbp), %rdi
callq 0x6908
leaq -0x1e9(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb84cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x6908
leaq -0x211(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8510
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x6908
leaq -0x239(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8553
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x6908
leaq -0x261(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8596
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x288(%rbp), %rdi
callq 0x6908
leaq -0x289(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb85d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x2b0(%rbp), %rdi
callq 0x6908
leaq -0x2b1(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb865c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8650
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8644
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x300(%rbp), %rdi
callq 0x6908
leaq -0x301(%rbp), %rdi
callq 0x6470
leaq -0x2d8(%rbp), %rdi
callq 0x6908
leaq -0x2d9(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb86df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb86d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb86c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x350(%rbp), %rdi
callq 0x6908
leaq -0x351(%rbp), %rdi
callq 0x6470
leaq -0x328(%rbp), %rdi
callq 0x6908
leaq -0x329(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8762
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8756
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb874a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x3a0(%rbp), %rdi
callq 0x6908
leaq -0x3a1(%rbp), %rdi
callq 0x6470
leaq -0x378(%rbp), %rdi
callq 0x6908
leaq -0x379(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb87e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb87d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb87cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x3f0(%rbp), %rdi
callq 0x6908
leaq -0x3f1(%rbp), %rdi
callq 0x6470
leaq -0x3c8(%rbp), %rdi
callq 0x6908
leaq -0x3c9(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8868
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb885c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8850
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x440(%rbp), %rdi
callq 0x6908
leaq -0x441(%rbp), %rdi
callq 0x6470
leaq -0x418(%rbp), %rdi
callq 0x6908
leaq -0x419(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb88eb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb88df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb88d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x490(%rbp), %rdi
callq 0x6908
leaq -0x491(%rbp), %rdi
callq 0x6470
leaq -0x468(%rbp), %rdi
callq 0x6908
leaq -0x469(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb896e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8962
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8956
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x4e0(%rbp), %rdi
callq 0x6908
leaq -0x4e1(%rbp), %rdi
callq 0x6470
leaq -0x4b8(%rbp), %rdi
callq 0x6908
leaq -0x4b9(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb89f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb89e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb89d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x530(%rbp), %rdi
callq 0x6908
leaq -0x531(%rbp), %rdi
callq 0x6470
leaq -0x508(%rbp), %rdi
callq 0x6908
leaq -0x509(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8a74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8a68
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8a5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x580(%rbp), %rdi
callq 0x6908
leaq -0x581(%rbp), %rdi
callq 0x6470
leaq -0x558(%rbp), %rdi
callq 0x6908
leaq -0x559(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8af7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8aeb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8adf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x5d0(%rbp), %rdi
callq 0x6908
leaq -0x5d1(%rbp), %rdi
callq 0x6470
leaq -0x5a8(%rbp), %rdi
callq 0x6908
leaq -0x5a9(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8b7a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8b6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8b62
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x620(%rbp), %rdi
callq 0x6908
leaq -0x621(%rbp), %rdi
callq 0x6470
leaq -0x5f8(%rbp), %rdi
callq 0x6908
leaq -0x5f9(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8bfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8bf1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8be5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x670(%rbp), %rdi
callq 0x6908
leaq -0x671(%rbp), %rdi
callq 0x6470
leaq -0x648(%rbp), %rdi
callq 0x6908
leaq -0x649(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8c80
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8c74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8c68
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x6c0(%rbp), %rdi
callq 0x6908
leaq -0x6c1(%rbp), %rdi
callq 0x6470
leaq -0x698(%rbp), %rdi
callq 0x6908
leaq -0x699(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8d03
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8cf7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb8ceb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x710(%rbp), %rdi
callq 0x6908
leaq -0x711(%rbp), %rdi
callq 0x6470
leaq -0x6e8(%rbp), %rdi
callq 0x6908
leaq -0x6e9(%rbp), %rdi
callq 0x6470
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
movq -0x7d8(%rbp), %rax
leaq -0x7d0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xf18(%rbp)
je 0xb8d71
movq -0xf18(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0xf20(%rbp)
callq 0x4d200
movq -0xf20(%rbp), %rax
leaq -0x7d0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xf18(%rbp)
jne 0xb8d40
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x7f2(%rbp), %rdi
callq 0xc0600
leaq -0x7d0(%rbp), %rax
movq %rax, -0xf30(%rbp)
addq $0x78, %rax
movq %rax, -0xf28(%rbp)
movq -0xf28(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0xf38(%rbp)
callq 0x4d200
movq -0xf30(%rbp), %rcx
movq -0xf38(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xf28(%rbp)
jne 0xb8dad
jmp 0xb9242
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb922a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb921e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x9e0(%rbp), %rdi
callq 0x4bd50
leaq -0x9b0(%rbp), %rdi
callq 0x26180
jmp 0xb921e
leaq -0x920(%rbp), %rdi
callq 0x32390
jmp 0xb8e4e
leaq -0x1a0(%rbp), %rdi
leaq -0x920(%rbp), %rsi
callq 0x476d0
jmp 0xb8e63
leaq -0xa18(%rbp), %rdi
movq %rdi, -0xf48(%rbp)
callq 0x4bd30
movq -0xf48(%rbp), %rdx
leaq -0x920(%rbp), %rdi
leaq -0x748(%rbp), %rsi
callq 0x49cc0
movsd %xmm0, -0xf40(%rbp)
jmp 0xb8e9a
movsd -0xf40(%rbp), %xmm0
movsd %xmm0, -0xa20(%rbp)
movq 0x4e73f(%rip), %rax     # 0x1075f0
movq %rax, -0xf50(%rbp)
leaq 0x12ca9(%rip), %rsi     # 0xcbb68
leaq -0xa30(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0xb8ed2
leaq -0xa40(%rbp), %rdi
callq 0x70c00
jmp 0xb8ee0
movq -0xf50(%rbp), %rdi
leaq -0xa30(%rbp), %rsi
movl $0x4f0, %edx            # imm = 0x4F0
leaq -0xa40(%rbp), %rcx
callq 0x6840
jmp 0xb8f01
callq 0x70e90
movq %rax, -0xf58(%rbp)
jmp 0xb8f0f
movq -0xf58(%rbp), %rsi
leaq 0x1240d(%rip), %rdx     # 0xcb32a
leaq -0xa68(%rbp), %rdi
callq 0x70e50
jmp 0xb8f2b
leaq 0x12c36(%rip), %rsi     # 0xcbb68
leaq -0xa78(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0xb8f45
movsd 0x4e563(%rip), %xmm0    # 0x1074b0
callq 0xbf970
movsd %xmm0, -0xf60(%rbp)
jmp 0xb8f5c
movsd -0xf60(%rbp), %xmm0
movsd %xmm0, -0xa80(%rbp)
leaq 0x12d72(%rip), %rcx     # 0xcbce5
movq %rsp, %rax
movq %rcx, 0x20(%rax)
leaq -0xa80(%rbp), %rcx
movq %rcx, 0x18(%rax)
leaq 0x137e5(%rip), %rcx     # 0xcc771
movq %rcx, 0x10(%rax)
leaq -0xa20(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq 0x137d4(%rip), %rcx     # 0xcc776
movq %rcx, (%rax)
leaq -0xa68(%rbp), %rdi
leaq -0xa78(%rbp), %rsi
movl $0x4f0, %edx            # imm = 0x4F0
movl $0x1, %ecx
movl $0x8, %r8d
leaq -0x928(%rbp), %r9
callq 0xbf6a0
jmp 0xb8fd1
leaq -0xa68(%rbp), %rdi
callq 0x70ea0
callq 0x70ec0
movb %al, -0xf61(%rbp)
jmp 0xb8fea
movb -0xf61(%rbp), %al
testb $0x1, %al
jne 0xb8eaa
jmp 0xb8ffa
jmp 0xb8ffc
movq 0x4e5ed(%rip), %rax     # 0x1075f0
movq %rax, -0xf70(%rbp)
leaq 0x12b57(%rip), %rsi     # 0xcbb68
leaq -0xa90(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0xb9024
leaq -0xaa0(%rbp), %rdi
callq 0x70c00
jmp 0xb9032
movq -0xf70(%rbp), %rdi
leaq -0xa90(%rbp), %rsi
movl $0x4f1, %edx            # imm = 0x4F1
leaq -0xaa0(%rbp), %rcx
callq 0x6840
jmp 0xb9053
leaq -0x828(%rbp), %rdi
leaq -0xa18(%rbp), %rsi
callq 0xc0330
movb %al, -0xf71(%rbp)
jmp 0xb906e
movb -0xf71(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0xab8(%rbp), %rdi
callq 0x70ed0
jmp 0xb9088
callq 0x70e90
movq %rax, -0xf80(%rbp)
jmp 0xb9096
leaq 0x136dc(%rip), %rsi     # 0xcc779
leaq -0xae8(%rbp), %rdi
movl $0x13, %edx
callq 0x70bd0
jmp 0xb90b0
movq -0xf80(%rbp), %rsi
leaq -0xad8(%rbp), %rdi
leaq -0xae8(%rbp), %rdx
callq 0x70f10
jmp 0xb90cc
leaq 0x12a95(%rip), %rsi     # 0xcbb68
leaq -0xaf8(%rbp), %rdi
movl $0xe, %edx
callq 0x70bd0
jmp 0xb90e6
movq %rsp, %rax
movq $0x0, (%rax)
xorl %r9d, %r9d
movb %r9b, %al
leaq -0xab8(%rbp), %rdi
leaq -0xad8(%rbp), %rsi
leaq -0xaf8(%rbp), %rdx
movl $0x4f1, %ecx            # imm = 0x4F1
movl $0x1, %r8d
callq 0x6810
jmp 0xb911d
leaq -0xad8(%rbp), %rdi
callq 0x70f50
leaq -0xab8(%rbp), %rdi
callq 0x70f70
callq 0x70ec0
movb %al, -0xf81(%rbp)
jmp 0xb9142
movb -0xf81(%rbp), %al
testb $0x1, %al
jne 0xb8ffc
jmp 0xb9152
leaq -0xa18(%rbp), %rdi
callq 0x4bd50
leaq -0x920(%rbp), %rdi
callq 0x2fe10
leaq -0x828(%rbp), %rdi
callq 0x4bd50
leaq -0x748(%rbp), %rdi
callq 0x4cf70
leaq -0x1a0(%rbp), %rdi
callq 0x4bd50
leaq -0x38(%rbp), %rdi
callq 0x5c1b0
addq $0xfb0, %rsp            # imm = 0xFB0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb9212
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0xa68(%rbp), %rdi
callq 0x70ea0
jmp 0xb9212
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xb9206
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0xad8(%rbp), %rdi
callq 0x70f50
leaq -0xab8(%rbp), %rdi
callq 0x70f70
leaq -0xa18(%rbp), %rdi
callq 0x4bd50
leaq -0x920(%rbp), %rdi
callq 0x2fe10
leaq -0x828(%rbp), %rdi
callq 0x4bd50
leaq -0x748(%rbp), %rdi
callq 0x4cf70
leaq -0x1a0(%rbp), %rdi
callq 0x4bd50
leaq -0x38(%rbp), %rdi
callq 0x5c1b0
movq -0x160(%rbp), %rdi
callq 0x67a0
nopw %cs:(%rax,%rax)