// File: /workspace/github_cpp_makefile_star2_O2/aalto-speech[P]ftk/src/segposts.cc
// Function: main
int main(int argc, char* argv[]) {

    string vocab_fname;
    string trans_fname;
    int maxlen;
    map<string, flt_type> vocab;
    StringSet *ss_vocab = NULL;
    transitions_t transitions;
    bool unigram = true;

    conf::Config config;
    config("usage: segposts [OPTION...] INPUT SEGPROBS_OUTPUT\n")
      ('h', "help", "", "", "display help")
      ('v', "vocabulary=FILE", "arg", "", "Unigram model file")
      ('t', "transitions=FILE", "arg", "", "Bigram model file")
      ('8', "utf-8", "", "", "Utf-8 character encoding in use");
    config.default_parse(argc, argv);
    if (config.arguments.size() != 2) config.print_help(stderr, 1);

    string in_fname = config.arguments[0];
    string out_fname = config.arguments[1];
    bool utf8_encoding = config["utf-8"].specified;

    if (!config["vocabulary"].specified && !config["transitions"].specified) {
        cerr << "Please define vocabulary or transitions" << endl;
        exit(EXIT_FAILURE);
    }

    if (config["vocabulary"].specified && config["transitions"].specified) {
        cerr << "Please don't define both vocabulary and transitions" << endl;
        exit(EXIT_FAILURE);
    }

    if (config["vocabulary"].specified) {
        vocab_fname = config["vocabulary"].get_str();
        cerr << "Reading vocabulary " << vocab_fname << endl;
        int retval = Unigrams::read_vocab(vocab_fname, vocab, maxlen, utf8_encoding);
        if (retval < 0) {
            cerr << "something went wrong reading vocabulary" << endl;
            exit(EXIT_FAILURE);
        }
        cerr << "\t" << "size: " << vocab.size() << endl;
        cerr << "\t" << "maximum string length: " << maxlen << endl;
        ss_vocab = new StringSet(vocab);
    }

    if (config["transitions"].specified) {
        unigram = false;
        vocab_fname = config["transitions"].get_str();
        cerr << "Reading transitions " << trans_fname << endl;
        int retval = Bigrams::read_transitions(transitions, trans_fname);
        Bigrams::trans_to_vocab(transitions, vocab);
        ss_vocab = new StringSet(vocab);
        if (retval < 0) {
            cerr << "something went wrong reading transitions" << endl;
            exit(EXIT_FAILURE);
        }
        cerr << "\t" << "vocabulary: " << transitions.size() << endl;
        cerr << "\t" << "transitions: " << retval << endl;
    }

    cerr << "Segmenting corpus" << endl;
    SimpleFileInput infile(in_fname);
    SimpleFileOutput outfile(out_fname);

    string line;
    while (infile.getline(line)) {

        map<string, flt_type> ug_stats;
        transitions_t bg_stats;
        vector<flt_type> post_scores;

        if (unigram)
            forward_backward(*ss_vocab, line, ug_stats, post_scores, utf8_encoding);
        else {
            FactorGraph fg(line, start_end_symbol, *ss_vocab);
            forward_backward(transitions, fg, bg_stats, post_scores);
        }

        outfile << line << "\t";
        for (unsigned int i=0; i<post_scores.size()-1; i++)
            outfile << post_scores[i] << " ";
        outfile << "\n";
    }

    outfile.close();
    if (ss_vocab != NULL) delete ss_vocab;
    exit(EXIT_SUCCESS);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x678, %rsp            # imm = 0x678
movq %rsi, %rbx
movl %edi, %r14d
leaq -0x100(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
xorl %ecx, %ecx
movb %cl, (%rax)
leaq -0x560(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb %cl, (%rax)
leaq -0x178(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq -0x548(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq -0x6a0(%rbp), %rdi
callq 0x6608
leaq 0x1f4ab(%rip), %rsi     # 0x24022
leaq -0x520(%rbp), %rdi
leaq -0x5e8(%rbp), %rdx
callq 0x4140
leaq -0x6a0(%rbp), %rdi
leaq -0x520(%rbp), %rsi
callq 0x6674
movq %rax, %r15
leaq 0x1f4b6(%rip), %rsi     # 0x2405d
leaq -0x500(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x4140
leaq 0x1f976(%rip), %rsi     # 0x24537
leaq -0x4e0(%rbp), %rdi
leaq -0xf0(%rbp), %rdx
callq 0x4140
leaq 0x1f95c(%rip), %rsi     # 0x24537
leaq -0x4c0(%rbp), %rdi
leaq -0x300(%rbp), %rdx
callq 0x4140
leaq 0x1f460(%rip), %rsi     # 0x24055
leaq -0x4a0(%rbp), %rdi
leaq -0x2e0(%rbp), %rdx
callq 0x4140
pushq $0x68
popq %rsi
leaq -0x500(%rbp), %rdx
leaq -0x4e0(%rbp), %rcx
leaq -0x4c0(%rbp), %r8
leaq -0x4a0(%rbp), %r9
movq %r15, %rdi
callq 0x668c
movq %rax, %r15
leaq 0x1f429(%rip), %rsi     # 0x24062
leaq -0x480(%rbp), %rdi
leaq -0xc0(%rbp), %rdx
callq 0x4140
leaq 0x1f41f(%rip), %rsi     # 0x24072
leaq -0x460(%rbp), %rdi
leaq -0x70(%rbp), %rdx
callq 0x4140
leaq 0x1f8cd(%rip), %rsi     # 0x24537
leaq -0x440(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0x4140
leaq 0x1f3f5(%rip), %rsi     # 0x24076
leaq -0x420(%rbp), %rdi
leaq -0x50(%rbp), %rdx
callq 0x4140
pushq $0x76
popq %rsi
leaq -0x480(%rbp), %rdx
leaq -0x460(%rbp), %rcx
leaq -0x440(%rbp), %r8
leaq -0x420(%rbp), %r9
movq %r15, %rdi
callq 0x668c
movq %rax, %r15
leaq 0x1f3c7(%rip), %rsi     # 0x24089
leaq -0x400(%rbp), %rdi
leaq -0x48(%rbp), %rdx
callq 0x4140
leaq 0x1f399(%rip), %rsi     # 0x24072
leaq -0x3e0(%rbp), %rdi
leaq -0x2a(%rbp), %rdx
callq 0x4140
leaq 0x1f847(%rip), %rsi     # 0x24537
leaq -0x3c0(%rbp), %rdi
leaq -0x3e(%rbp), %rdx
callq 0x4140
leaq 0x1f393(%rip), %rsi     # 0x2409a
leaq -0x3a0(%rbp), %rdi
leaq -0x3d(%rbp), %rdx
callq 0x4140
pushq $0x74
popq %rsi
leaq -0x400(%rbp), %rdx
leaq -0x3e0(%rbp), %rcx
leaq -0x3c0(%rbp), %r8
leaq -0x3a0(%rbp), %r9
movq %r15, %rdi
callq 0x668c
movq %rax, %r15
leaq 0x1f364(%rip), %rsi     # 0x240ac
leaq -0x380(%rbp), %rdi
leaq -0x3c(%rbp), %rdx
callq 0x4140
leaq 0x1f7d8(%rip), %rsi     # 0x24537
leaq -0x360(%rbp), %rdi
leaq -0x3b(%rbp), %rdx
callq 0x4140
leaq 0x1f7c1(%rip), %rsi     # 0x24537
leaq -0x340(%rbp), %rdi
leaq -0x3a(%rbp), %rdx
callq 0x4140
leaq 0x1f325(%rip), %rsi     # 0x240b2
leaq -0x320(%rbp), %rdi
leaq -0x39(%rbp), %rdx
callq 0x4140
pushq $0x38
popq %rsi
leaq -0x380(%rbp), %rdx
leaq -0x360(%rbp), %rcx
leaq -0x340(%rbp), %r8
leaq -0x320(%rbp), %r9
movq %r15, %rdi
callq 0x668c
leaq -0x320(%rbp), %rdi
callq 0x46a8
leaq -0x340(%rbp), %rdi
callq 0x46a8
leaq -0x360(%rbp), %rdi
callq 0x46a8
leaq -0x380(%rbp), %rdi
callq 0x46a8
leaq -0x3a0(%rbp), %rdi
callq 0x46a8
leaq -0x3c0(%rbp), %rdi
callq 0x46a8
leaq -0x3e0(%rbp), %rdi
callq 0x46a8
leaq -0x400(%rbp), %rdi
callq 0x46a8
leaq -0x420(%rbp), %rdi
callq 0x46a8
leaq -0x440(%rbp), %rdi
callq 0x46a8
leaq -0x460(%rbp), %rdi
callq 0x46a8
leaq -0x480(%rbp), %rdi
callq 0x46a8
leaq -0x4a0(%rbp), %rdi
callq 0x46a8
leaq -0x4c0(%rbp), %rdi
callq 0x46a8
leaq -0x4e0(%rbp), %rdi
callq 0x46a8
leaq -0x500(%rbp), %rdi
callq 0x46a8
leaq -0x520(%rbp), %rdi
callq 0x46a8
leaq -0x6a0(%rbp), %rdi
movl %r14d, %esi
movq %rbx, %rdx
callq 0x6ef2
movq -0x608(%rbp), %rsi
movq -0x600(%rbp), %rax
subq %rsi, %rax
cmpq $0x40, %rax
je 0x4ed9
movq 0x31100(%rip), %rax     # 0x35fc0
movq (%rax), %rsi
leaq -0x6a0(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0x73da
movq -0x608(%rbp), %rsi
leaq -0x300(%rbp), %rdi
callq 0x4460
movq -0x608(%rbp), %rsi
addq $0x20, %rsi
leaq -0x2e0(%rbp), %rdi
callq 0x4460
leaq 0x1f1a9(%rip), %rsi     # 0x240ac
leaq -0x2c0(%rbp), %rdi
leaq -0x5e8(%rbp), %rdx
callq 0x4140
leaq -0x6a0(%rbp), %rdi
leaq -0x2c0(%rbp), %rsi
callq 0x6f92
movb 0x4a(%rax), %bl
leaq -0x2c0(%rbp), %rdi
callq 0x46a8
leaq 0x1f220(%rip), %rsi     # 0x2415f
leaq -0x150(%rbp), %rdi
leaq -0x5e8(%rbp), %rdx
callq 0x4140
leaq -0x6a0(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x6f92
cmpb $0x0, 0x4a(%rax)
je 0x5022
leaq -0x150(%rbp), %rdi
callq 0x46a8
leaq 0x1f1dd(%rip), %rsi     # 0x2415f
leaq -0x130(%rbp), %rdi
leaq -0x5e8(%rbp), %rdx
callq 0x4140
leaq -0x6a0(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x6f92
cmpb $0x1, 0x4a(%rax)
jne 0x5097
leaq 0x1f169(%rip), %rsi     # 0x24122
leaq -0x280(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x4140
leaq -0x6a0(%rbp), %rdi
leaq -0x280(%rbp), %rsi
callq 0x6f92
movb 0x4a(%rax), %r14b
leaq -0x280(%rbp), %rdi
callq 0x46a8
leaq -0x130(%rbp), %rdi
callq 0x46a8
cmpb $0x1, %r14b
jne 0x50a3
movq 0x30fdc(%rip), %rdi     # 0x35fe8
leaq 0x1f0e7(%rip), %rsi     # 0x240fa
callq 0x4340
movq %rax, %rdi
callq 0x4180
jmp 0x508f
leaq 0x1f0f9(%rip), %rsi     # 0x24122
leaq -0x2a0(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x4140
leaq -0x6a0(%rbp), %rdi
leaq -0x2a0(%rbp), %rsi
callq 0x6f92
movb 0x4a(%rax), %r14b
leaq -0x2a0(%rbp), %rdi
callq 0x46a8
leaq -0x150(%rbp), %rdi
callq 0x46a8
testb %r14b, %r14b
jne 0x4f7b
movq 0x30f6d(%rip), %rdi     # 0x35fe8
leaq 0x1f050(%rip), %rsi     # 0x240d2
callq 0x4340
movq %rax, %rdi
callq 0x4180
pushq $0x1
popq %rdi
callq 0x43c0
leaq -0x130(%rbp), %rdi
callq 0x46a8
leaq 0x1f0b5(%rip), %rsi     # 0x2415f
leaq -0x260(%rbp), %rdi
leaq -0x5e8(%rbp), %rdx
callq 0x4140
leaq -0x6a0(%rbp), %rdi
leaq -0x260(%rbp), %rsi
callq 0x6f92
movb 0x4a(%rax), %r14b
leaq -0x260(%rbp), %rdi
callq 0x46a8
movzbl %bl, %eax
movl %eax, -0x44(%rbp)
cmpb $0x1, %r14b
jne 0x51cd
leaq 0x1f068(%rip), %rsi     # 0x2415f
leaq -0x240(%rbp), %rdi
leaq -0x5e8(%rbp), %rdx
callq 0x4140
leaq -0x6a0(%rbp), %rdi
leaq -0x240(%rbp), %rsi
callq 0x6f92
movq %rax, %rdi
callq 0x65f4
leaq -0x110(%rbp), %rdi
movq %rax, %rsi
callq 0x41c0
leaq -0x240(%rbp), %rdi
callq 0x46a8
movq 0x30ea1(%rip), %rdi     # 0x35fe8
leaq 0x1efe0(%rip), %rsi     # 0x2412e
callq 0x4340
leaq -0x110(%rbp), %rsi
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq -0x220(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x4460
leaq -0x220(%rbp), %rdi
leaq -0x180(%rbp), %rsi
leaq -0x48(%rbp), %rdx
movl -0x44(%rbp), %ecx
callq 0x1bf9e
movl %eax, %ebx
leaq -0x220(%rbp), %rdi
callq 0x46a8
testl %ebx, %ebx
jns 0x5305
movq 0x30e34(%rip), %rdi     # 0x35fe8
leaq 0x1ef87(%rip), %rsi     # 0x24142
callq 0x4340
movq %rax, %rdi
callq 0x4180
jmp 0x508f
movq $0x0, -0x38(%rbp)
leaq 0x1ef46(%rip), %rsi     # 0x24122
leaq -0x200(%rbp), %rdi
leaq -0x5e8(%rbp), %rdx
callq 0x4140
leaq -0x6a0(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0x6f92
movb 0x4a(%rax), %bl
leaq -0x200(%rbp), %rdi
callq 0x46a8
movb %bl, -0x29(%rbp)
cmpb $0x1, %bl
jne 0x5403
leaq 0x1eefe(%rip), %rsi     # 0x24122
leaq -0x1e0(%rbp), %rdi
leaq -0x5e8(%rbp), %rdx
callq 0x4140
leaq -0x6a0(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x6f92
movq %rax, %rdi
callq 0x65f4
leaq -0x110(%rbp), %rdi
movq %rax, %rsi
callq 0x41c0
leaq -0x1e0(%rbp), %rdi
callq 0x46a8
movq 0x30d74(%rip), %rdi     # 0x35fe8
leaq 0x1ef0e(%rip), %rsi     # 0x24189
callq 0x4340
leaq -0x570(%rbp), %rsi
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
leaq -0x550(%rbp), %rdi
leaq -0x570(%rbp), %rsi
callq 0x2055c
movl %eax, %ebx
leaq -0x550(%rbp), %rdi
leaq -0x180(%rbp), %rsi
callq 0x20c3c
movl $0x120, %edi            # imm = 0x120
callq 0x4350
movq %rax, -0x38(%rbp)
leaq -0x180(%rbp), %rsi
movq -0x38(%rbp), %rdi
callq 0xbcd0
testl %ebx, %ebx
jns 0x5396
movq 0x30cfc(%rip), %rdi     # 0x35fe8
leaq 0x1eeab(%rip), %rsi     # 0x2419e
callq 0x4340
movq %rax, %rdi
callq 0x4180
jmp 0x508f
movq 0x30cdc(%rip), %rdi     # 0x35fe8
leaq 0x1f223(%rip), %rsi     # 0x24536
callq 0x4340
leaq 0x1ee4b(%rip), %rsi     # 0x2416a
movq %rax, %rdi
callq 0x4340
movq -0x158(%rbp), %rsi
movq %rax, %rdi
callq 0x4250
movq %rax, %rdi
callq 0x4180
movq 0x30ca3(%rip), %rdi     # 0x35fe8
leaq 0x1f1ea(%rip), %rsi     # 0x24536
callq 0x4340
leaq 0x1ee19(%rip), %rsi     # 0x24171
movq %rax, %rdi
callq 0x4340
movl -0x48(%rbp), %esi
movq %rax, %rdi
callq 0x45c0
movq %rax, %rdi
callq 0x4180
movl $0x120, %edi            # imm = 0x120
callq 0x4350
movq %rax, -0x38(%rbp)
leaq -0x180(%rbp), %rsi
movq -0x38(%rbp), %rdi
callq 0xbcd0
jmp 0x51d5
movq 0x30c4b(%rip), %rdi     # 0x35fe8
leaq 0x1f192(%rip), %rsi     # 0x24536
callq 0x4340
leaq 0x1ee17(%rip), %rsi     # 0x241c7
movq %rax, %rdi
callq 0x4340
movq -0x528(%rbp), %rsi
movq %rax, %rdi
callq 0x4250
movq %rax, %rdi
callq 0x4180
movq 0x30c12(%rip), %rdi     # 0x35fe8
leaq 0x1f159(%rip), %rsi     # 0x24536
callq 0x4340
leaq 0x1edeb(%rip), %rsi     # 0x241d4
movq %rax, %rdi
callq 0x4340
movq %rax, %rdi
movl %ebx, %esi
callq 0x45c0
movq %rax, %rdi
callq 0x4180
movq 0x30bde(%rip), %rdi     # 0x35fe8
leaq 0x1edd1(%rip), %rsi     # 0x241e2
callq 0x4340
movq %rax, %rdi
callq 0x4180
leaq -0x1c0(%rbp), %rdi
leaq -0x300(%rbp), %rsi
callq 0x4460
leaq -0x58(%rbp), %rdi
leaq -0x1c0(%rbp), %rsi
callq 0x5cc0
leaq -0x1c0(%rbp), %rdi
callq 0x46a8
leaq -0x1a0(%rbp), %rdi
leaq -0x2e0(%rbp), %rsi
callq 0x4460
leaq -0x50(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x5e9c
leaq -0x1a0(%rbp), %rdi
callq 0x46a8
leaq -0xb0(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq -0x5e8(%rbp), %r13
leaq -0x50(%rbp), %r14
leaq -0x2a(%rbp), %r12
movq -0x58(%rbp), %rdi
movq (%rdi), %rax
leaq -0xc0(%rbp), %rsi
callq *(%rax)
testb %al, %al
je 0x5650
andl $0x0, -0x98(%rbp)
andq $0x0, -0x90(%rbp)
leaq -0x98(%rbp), %rax
movq %rax, -0x88(%rbp)
movq %rax, -0x80(%rbp)
andq $0x0, -0x78(%rbp)
andl $0x0, -0xe8(%rbp)
andq $0x0, -0xe0(%rbp)
leaq -0xe8(%rbp), %rax
movq %rax, -0xd8(%rbp)
movq %rax, -0xd0(%rbp)
andq $0x0, -0xc8(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x70(%rbp)
andq $0x0, -0x60(%rbp)
cmpb $0x0, -0x29(%rbp)
je 0x555b
movq %r13, %rdi
leaq -0xc0(%rbp), %rsi
leaq 0x30e55(%rip), %rdx     # 0x36380
movq -0x38(%rbp), %rcx
xorl %r8d, %r8d
callq 0xd930
leaq -0x550(%rbp), %rdi
movq %r13, %rsi
leaq -0xf0(%rbp), %rdx
leaq -0x70(%rbp), %rcx
callq 0x16f26
movq %r13, %rdi
callq 0xecb4
jmp 0x557a
movq -0x38(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
leaq -0xa0(%rbp), %rdx
leaq -0x70(%rbp), %rcx
movl -0x44(%rbp), %r8d
callq 0x163f0
movq %r14, %rdi
leaq -0xc0(%rbp), %rsi
callq 0x5fd4
movq %rax, %r15
movq %r13, %rdi
leaq 0x1efa0(%rip), %rsi     # 0x24536
movq %r12, %rdx
callq 0x4140
movq %r15, %rdi
movq %r13, %rsi
callq 0x5fd4
movq %r13, %rdi
callq 0x46a8
xorl %ebx, %ebx
movl %ebx, %ebx
movq -0x70(%rbp), %rax
movq -0x68(%rbp), %rcx
subq %rax, %rcx
sarq $0x3, %rcx
decq %rcx
cmpq %rbx, %rcx
jbe 0x5605
movsd (%rax,%rbx,8), %xmm0
movq %r14, %rdi
callq 0x607c
movq %rax, %r15
movq %r13, %rdi
leaq 0x1ed9c(%rip), %rsi     # 0x24382
movq %r12, %rdx
callq 0x4140
movq %r15, %rdi
movq %r13, %rsi
callq 0x5fd4
movq %r13, %rdi
callq 0x46a8
incl %ebx
jmp 0x55b3
movq %r13, %rdi
leaq 0x1ed5d(%rip), %rsi     # 0x2436c
movq %r12, %rdx
callq 0x4140
movq %r14, %rdi
movq %r13, %rsi
callq 0x5fd4
movq %r13, %rdi
callq 0x46a8
leaq -0x70(%rbp), %rdi
callq 0x5caa
leaq -0xf0(%rbp), %rdi
callq 0x59c8
leaq -0xa0(%rbp), %rdi
callq 0x5a60
jmp 0x549e
leaq -0x50(%rbp), %rdi
callq 0x5fa4
cmpq $0x0, -0x38(%rbp)
je 0x5674
movq -0x38(%rbp), %rbx
movq %rbx, %rdi
callq 0xbf84
movq %rbx, %rdi
callq 0x4320
xorl %edi, %edi
callq 0x43c0
jmp 0x569a
movq %rax, %rbx
leaq -0x5e8(%rbp), %rdi
callq 0xecb4
jmp 0x56c8
jmp 0x56c5
jmp 0x56a1
jmp 0x56b2
jmp 0x56c5
jmp 0x56b2
jmp 0x56c5
movq %rax, %rbx
jmp 0x56e9
jmp 0x56c5
movq %rax, %rbx
movq -0x38(%rbp), %rdi
callq 0x4320
jmp 0x57df
movq %rax, %rbx
leaq -0x5e8(%rbp), %rdi
callq 0x46a8
jmp 0x56c8
jmp 0x56c5
movq %rax, %rbx
leaq -0x70(%rbp), %rdi
callq 0x5caa
leaq -0xf0(%rbp), %rdi
callq 0x59c8
leaq -0xa0(%rbp), %rdi
callq 0x5a60
leaq -0xc0(%rbp), %rdi
callq 0x46a8
leaq -0x50(%rbp), %rdi
callq 0x5f90
jmp 0x5728
jmp 0x57dc
movq %rax, %rbx
leaq -0x1a0(%rbp), %rdi
callq 0x46a8
jmp 0x5728
movq %rax, %rbx
leaq -0x220(%rbp), %rdi
jmp 0x57d5
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x5db4
jmp 0x57df
jmp 0x57dc
movq %rax, %rbx
leaq -0x1c0(%rbp), %rdi
jmp 0x57d5
jmp 0x57dc
movq %rax, %rbx
leaq -0x1e0(%rbp), %rdi
jmp 0x57d5
jmp 0x57dc
movq %rax, %rbx
leaq -0x200(%rbp), %rdi
jmp 0x57d5
movq %rax, %rbx
leaq -0x240(%rbp), %rdi
jmp 0x57d5
jmp 0x57dc
jmp 0x57dc
movq %rax, %rbx
leaq -0x280(%rbp), %rdi
callq 0x46a8
jmp 0x57b0
movq %rax, %rbx
leaq -0x260(%rbp), %rdi
jmp 0x57d5
jmp 0x57ad
jmp 0x57dc
jmp 0x57dc
movq %rax, %rbx
leaq -0x2a0(%rbp), %rdi
callq 0x46a8
jmp 0x57c0
movq %rax, %rbx
leaq -0x130(%rbp), %rdi
jmp 0x57d5
jmp 0x57bd
jmp 0x57dc
movq %rax, %rbx
leaq -0x150(%rbp), %rdi
jmp 0x57d5
jmp 0x57dc
movq %rax, %rbx
leaq -0x2c0(%rbp), %rdi
callq 0x46a8
jmp 0x57df
movq %rax, %rbx
leaq -0x2e0(%rbp), %rdi
callq 0x46a8
jmp 0x57f0
movq %rax, %rbx
leaq -0x300(%rbp), %rdi
jmp 0x5928
jmp 0x592f
jmp 0x592f
movq %rax, %rbx
leaq -0x320(%rbp), %rdi
callq 0x46a8
jmp 0x581a
movq %rax, %rbx
leaq -0x340(%rbp), %rdi
callq 0x46a8
jmp 0x582b
movq %rax, %rbx
leaq -0x360(%rbp), %rdi
callq 0x46a8
jmp 0x583c
movq %rax, %rbx
leaq -0x380(%rbp), %rdi
callq 0x46a8
jmp 0x584f
jmp 0x584c
movq %rax, %rbx
leaq -0x3a0(%rbp), %rdi
callq 0x46a8
jmp 0x5860
movq %rax, %rbx
leaq -0x3c0(%rbp), %rdi
callq 0x46a8
jmp 0x5871
movq %rax, %rbx
leaq -0x3e0(%rbp), %rdi
callq 0x46a8
jmp 0x5882
movq %rax, %rbx
leaq -0x400(%rbp), %rdi
callq 0x46a8
jmp 0x5895
jmp 0x5892
movq %rax, %rbx
leaq -0x420(%rbp), %rdi
callq 0x46a8
jmp 0x58a6
movq %rax, %rbx
leaq -0x440(%rbp), %rdi
callq 0x46a8
jmp 0x58b7
movq %rax, %rbx
leaq -0x460(%rbp), %rdi
callq 0x46a8
jmp 0x58c8
movq %rax, %rbx
leaq -0x480(%rbp), %rdi
callq 0x46a8
jmp 0x58db
jmp 0x58d8
movq %rax, %rbx
leaq -0x4a0(%rbp), %rdi
callq 0x46a8
jmp 0x58ec
movq %rax, %rbx
leaq -0x4c0(%rbp), %rdi
callq 0x46a8
jmp 0x58fd
movq %rax, %rbx
leaq -0x4e0(%rbp), %rdi
callq 0x46a8
jmp 0x590e
movq %rax, %rbx
leaq -0x500(%rbp), %rdi
callq 0x46a8
jmp 0x5921
jmp 0x591e
movq %rax, %rbx
leaq -0x520(%rbp), %rdi
callq 0x46a8
jmp 0x5932
movq %rax, %rbx
leaq -0x6a0(%rbp), %rdi
callq 0x597c
jmp 0x5943
movq %rax, %rbx
leaq -0x550(%rbp), %rdi
callq 0x59c8
leaq -0x180(%rbp), %rdi
callq 0x5a60
leaq -0x570(%rbp), %rdi
callq 0x46a8
leaq -0x110(%rbp), %rdi
callq 0x46a8
movq %rbx, %rdi
callq 0x45e0
nop