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

    flt_type one_char_min_lp = -25.0;

    conf::Config config;
    config("usage: iterate [OPTION...] WORDLIST IN_VOCAB OUT_VOCAB\n")
      ('h', "help", "", "", "display help")
      ('i', "iterations=INT", "arg", "5", "Number of iterations")
      ('f', "forward-backward", "", "", "Use Forward-backward segmentation instead of Viterbi")
      ('8', "utf-8", "", "", "Utf-8 character encoding in use");
    config.default_parse(argc, argv);
    if (config.arguments.size() != 3) config.print_help(stderr, 1);

    int num_iterations = config["iterations"].get_int();
    bool enable_forward_backward = config["forward-backward"].specified;
    bool utf8_encoding = config["utf-8"].specified;
    string wordlist_fname = config.arguments[0];
    string vocab_in_fname = config.arguments[1];
    string vocab_out_fname = config.arguments[2];

    cerr << std::boolalpha;
    cerr << "parameters, wordlist: " << wordlist_fname << endl;
    cerr << "parameters, initial vocabulary: " << vocab_in_fname << endl;
    cerr << "parameters, final vocabulary: " << vocab_out_fname << endl;
    cerr << "parameters, use forward-backward: " << enable_forward_backward << endl;
    cerr << "parameters, number of iterations: " << num_iterations << endl;
    cerr << "parameters, utf-8 encoding: " << utf8_encoding << endl;

    int maxlen, word_maxlen;
    set<string> all_chars;
    map<string, flt_type> vocab;
    map<string, flt_type> freqs;
    map<string, flt_type> words;

    cerr << "Reading vocabulary " << vocab_in_fname << endl;
    int retval = Unigrams::read_vocab(vocab_in_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;
    find_short_factors(vocab, all_chars, 2, utf8_encoding);

    set<string> special_words;
    cerr << "Reading word list " << wordlist_fname << endl;
    retval = Unigrams::read_vocab(wordlist_fname, words, word_maxlen, utf8_encoding);
    if (retval < 0) {
        cerr << "something went wrong reading word list" << endl;
        exit(EXIT_FAILURE);
    }

    cerr << "\t" << "wordlist size: " << words.size() << endl;
    cerr << "\t" << "maximum word length: " << word_maxlen << endl;

    Unigrams ug;
    if (enable_forward_backward)
        ug.set_segmentation_method(forward_backward);
    else
        ug.set_segmentation_method(viterbi);
    ug.set_utf8(utf8_encoding);

    cerr << "iterating.." << endl;
    time_t rawtime;
    time ( &rawtime );
    cerr << "start time: " << ctime (&rawtime) << endl;
    for (int i=0; i<num_iterations; i++) {
        flt_type cost = ug.resegment_words(words, vocab, freqs, special_words);
        cerr << "likelihood: " << cost << endl;
        vocab = freqs;
        Unigrams::freqs_to_logprobs(vocab);
        floor_values(vocab, SMALL_LP);
        assert_factors(vocab, all_chars, one_char_min_lp);
    }
    time ( &rawtime );
    cerr << "end time: " << ctime (&rawtime) << endl;

    Unigrams::write_vocab(vocab_out_fname, vocab);

    exit(EXIT_SUCCESS);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x558, %rsp            # imm = 0x558
movq %rsi, %rbx
movl %edi, %r14d
leaq -0x580(%rbp), %rdi
callq 0x73b4
leaq 0x1f4a7(%rip), %rsi     # 0x24032
leaq -0x468(%rbp), %rdi
leaq -0xf8(%rbp), %rdx
callq 0x4150
leaq -0x580(%rbp), %rdi
leaq -0x468(%rbp), %rsi
callq 0x7420
movq %rax, %r15
leaq 0x1f4b7(%rip), %rsi     # 0x24072
leaq -0x448(%rbp), %rdi
leaq -0xc8(%rbp), %rdx
callq 0x4150
leaq 0x1fa12(%rip), %rsi     # 0x245e7
leaq -0x428(%rbp), %rdi
leaq -0x498(%rbp), %rdx
callq 0x4150
leaq 0x1f9f8(%rip), %rsi     # 0x245e7
leaq -0x408(%rbp), %rdi
leaq -0x1e8(%rbp), %rdx
callq 0x4150
leaq 0x1f461(%rip), %rsi     # 0x2406a
leaq -0x3e8(%rbp), %rdi
leaq -0x90(%rbp), %rdx
callq 0x4150
pushq $0x68
popq %rsi
leaq -0x448(%rbp), %rdx
leaq -0x428(%rbp), %rcx
leaq -0x408(%rbp), %r8
leaq -0x3e8(%rbp), %r9
movq %r15, %rdi
callq 0x7438
movq %rax, %r15
leaq 0x1f42a(%rip), %rsi     # 0x24077
leaq -0x3c8(%rbp), %rdi
leaq -0x138(%rbp), %rdx
callq 0x4150
leaq 0x1f41f(%rip), %rsi     # 0x24086
leaq -0x3a8(%rbp), %rdi
leaq -0x118(%rbp), %rdx
callq 0x4150
leaq 0x1f409(%rip), %rsi     # 0x2408a
leaq -0x388(%rbp), %rdi
leaq -0x158(%rbp), %rdx
callq 0x4150
leaq 0x1f3f1(%rip), %rsi     # 0x2408c
leaq -0x368(%rbp), %rdi
leaq -0x60(%rbp), %rdx
callq 0x4150
pushq $0x69
popq %rsi
leaq -0x3c8(%rbp), %rdx
leaq -0x3a8(%rbp), %rcx
leaq -0x388(%rbp), %r8
leaq -0x368(%rbp), %r9
movq %r15, %rdi
callq 0x7438
movq %rax, %r15
leaq 0x1f3c5(%rip), %rsi     # 0x240a1
leaq -0x348(%rbp), %rdi
leaq -0x38(%rbp), %rdx
callq 0x4150
leaq 0x1f8f4(%rip), %rsi     # 0x245e7
leaq -0x328(%rbp), %rdi
leaq -0x48(%rbp), %rdx
callq 0x4150
leaq 0x1f8dd(%rip), %rsi     # 0x245e7
leaq -0x308(%rbp), %rdi
leaq -0x44(%rbp), %rdx
callq 0x4150
leaq 0x1f391(%rip), %rsi     # 0x240b2
leaq -0x2e8(%rbp), %rdi
leaq -0x3d(%rbp), %rdx
callq 0x4150
pushq $0x66
popq %rsi
leaq -0x348(%rbp), %rdx
leaq -0x328(%rbp), %rcx
leaq -0x308(%rbp), %r8
leaq -0x2e8(%rbp), %r9
movq %r15, %rdi
callq 0x7438
movq %rax, %r15
leaq 0x1f385(%rip), %rsi     # 0x240e7
leaq -0x2c8(%rbp), %rdi
leaq -0x3c(%rbp), %rdx
callq 0x4150
leaq 0x1f86e(%rip), %rsi     # 0x245e7
leaq -0x2a8(%rbp), %rdi
leaq -0x3b(%rbp), %rdx
callq 0x4150
leaq 0x1f857(%rip), %rsi     # 0x245e7
leaq -0x288(%rbp), %rdi
leaq -0x3a(%rbp), %rdx
callq 0x4150
leaq 0x1f346(%rip), %rsi     # 0x240ed
leaq -0x268(%rbp), %rdi
leaq -0x39(%rbp), %rdx
callq 0x4150
pushq $0x38
popq %rsi
leaq -0x2c8(%rbp), %rdx
leaq -0x2a8(%rbp), %rcx
leaq -0x288(%rbp), %r8
leaq -0x268(%rbp), %r9
movq %r15, %rdi
callq 0x7438
leaq -0x268(%rbp), %rdi
callq 0x46d8
leaq -0x288(%rbp), %rdi
callq 0x46d8
leaq -0x2a8(%rbp), %rdi
callq 0x46d8
leaq -0x2c8(%rbp), %rdi
callq 0x46d8
leaq -0x2e8(%rbp), %rdi
callq 0x46d8
leaq -0x308(%rbp), %rdi
callq 0x46d8
leaq -0x328(%rbp), %rdi
callq 0x46d8
leaq -0x348(%rbp), %rdi
callq 0x46d8
leaq -0x368(%rbp), %rdi
callq 0x46d8
leaq -0x388(%rbp), %rdi
callq 0x46d8
leaq -0x3a8(%rbp), %rdi
callq 0x46d8
leaq -0x3c8(%rbp), %rdi
callq 0x46d8
leaq -0x3e8(%rbp), %rdi
callq 0x46d8
leaq -0x408(%rbp), %rdi
callq 0x46d8
leaq -0x428(%rbp), %rdi
callq 0x46d8
leaq -0x448(%rbp), %rdi
callq 0x46d8
leaq -0x468(%rbp), %rdi
callq 0x46d8
leaq -0x580(%rbp), %rdi
movl %r14d, %esi
movq %rbx, %rdx
callq 0x7c9e
movq -0x4e0(%rbp), %rax
subq -0x4e8(%rbp), %rax
cmpq $0x60, %rax
je 0x4ee9
movq 0x310e9(%rip), %rax     # 0x35fc0
movq (%rax), %rsi
leaq -0x580(%rbp), %rdi
pushq $0x1
popq %rdx
callq 0x8186
leaq 0x1f1a6(%rip), %rsi     # 0x24096
leaq -0x248(%rbp), %rdi
leaq -0xf8(%rbp), %rdx
callq 0x4150
leaq -0x580(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0x7d3e
movq %rax, %rdi
callq 0x7284
movl %eax, %ebx
leaq -0x248(%rbp), %rdi
callq 0x46d8
leaq 0x1f16e(%rip), %rsi     # 0x240a1
leaq -0x228(%rbp), %rdi
leaq -0xf8(%rbp), %rdx
callq 0x4150
leaq -0x580(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x7d3e
movb 0x4a(%rax), %r13b
leaq -0x228(%rbp), %rdi
callq 0x46d8
leaq 0x1f177(%rip), %rsi     # 0x240e7
leaq -0x208(%rbp), %rdi
leaq -0xf8(%rbp), %rdx
callq 0x4150
leaq -0x580(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0x7d3e
movb 0x4a(%rax), %r15b
leaq -0x208(%rbp), %rdi
callq 0x46d8
movq -0x4e8(%rbp), %rsi
leaq -0x138(%rbp), %rdi
callq 0x4480
movq -0x4e8(%rbp), %rsi
addq $0x20, %rsi
leaq -0x118(%rbp), %rdi
callq 0x4480
movq -0x4e8(%rbp), %rsi
addq $0x40, %rsi
leaq -0x158(%rbp), %rdi
callq 0x4480
movq 0x30ffa(%rip), %rdi     # 0x35fe8
movq (%rdi), %rax
movq -0x18(%rax), %rax
orl $0x1, 0x18(%rdi,%rax)
leaq 0x1f10c(%rip), %rsi     # 0x2410d
callq 0x4360
leaq -0x138(%rbp), %rsi
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4190
movq 0x30fc4(%rip), %rdi     # 0x35fe8
leaq 0x1f0f9(%rip), %rsi     # 0x24124
callq 0x4360
leaq -0x118(%rbp), %rsi
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4190
movq 0x30f9a(%rip), %rdi     # 0x35fe8
leaq 0x1f0f0(%rip), %rsi     # 0x24145
callq 0x4360
leaq -0x158(%rbp), %rsi
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4190
movq 0x30f70(%rip), %rdi     # 0x35fe8
leaq 0x1f0e5(%rip), %rsi     # 0x24164
callq 0x4360
movzbl %r13b, %esi
movq %rax, %rdi
callq 0x4590
movq %rax, %rdi
callq 0x4190
movq 0x30f49(%rip), %rdi     # 0x35fe8
leaq 0x1f0e1(%rip), %rsi     # 0x24187
callq 0x4360
movq %rax, %rdi
movl %ebx, %esi
callq 0x45f0
movq %rax, %rdi
callq 0x4190
movq 0x30f24(%rip), %rdi     # 0x35fe8
leaq 0x1f0df(%rip), %rsi     # 0x241aa
callq 0x4360
movzbl %r15b, %esi
movq %rax, %rdi
movl %esi, -0x2c(%rbp)
callq 0x4590
movq %rax, %rdi
callq 0x4190
leaq -0xf0(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq -0xc0(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq -0x490(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq -0x1e0(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
movq 0x30e8a(%rip), %rdi     # 0x35fe8
leaq 0x1f062(%rip), %rsi     # 0x241c7
callq 0x4360
leaq -0x118(%rbp), %rsi
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4190
leaq -0x1b8(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x4480
leaq -0x1b8(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
leaq -0x48(%rbp), %rdx
movl -0x2c(%rbp), %ecx
callq 0x1c48e
movl %eax, %r14d
leaq -0x1b8(%rbp), %rdi
callq 0x46d8
testl %r14d, %r14d
jns 0x51e2
movq 0x30e1f(%rip), %rdi     # 0x35fe8
leaq 0x1f00b(%rip), %rsi     # 0x241db
callq 0x4360
movq %rax, %rdi
callq 0x4190
jmp 0x541a
movq 0x30dff(%rip), %rdi     # 0x35fe8
leaq 0x1f3f6(%rip), %rsi     # 0x245e6
callq 0x4360
leaq 0x1f062(%rip), %rsi     # 0x2425e
movq %rax, %rdi
callq 0x4360
movq -0xa0(%rbp), %rsi
movq %rax, %rdi
callq 0x4260
movq %rax, %rdi
callq 0x4190
movq 0x30dc6(%rip), %rdi     # 0x35fe8
leaq 0x1f3bd(%rip), %rsi     # 0x245e6
callq 0x4360
leaq 0x1efce(%rip), %rsi     # 0x24203
movq %rax, %rdi
callq 0x4360
movl -0x48(%rbp), %esi
movq %rax, %rdi
callq 0x45f0
movq %rax, %rdi
callq 0x4190
movq -0xb0(%rbp), %r12
leaq -0xc0(%rbp), %rax
cmpq %rax, %r12
je 0x5378
andq $0x0, -0x50(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x60(%rbp)
leaq 0x20(%r12), %r14
testb %r15b, %r15b
je 0x52e8
andl $0x0, -0x90(%rbp)
leaq -0x60(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x5970
andl $0x0, -0x90(%rbp)
xorl %eax, %eax
movl %eax, %eax
cmpq %rax, 0x28(%r12)
jbe 0x533b
movq (%r14), %rcx
movb (%rcx,%rax), %dl
pushq $0x1
popq %rcx
testb %dl, %dl
jns 0x52c8
pushq $0x4
popq %rcx
cmpb $-0x11, %dl
ja 0x52c8
cmpb $-0x20, %dl
pushq $0x2
popq %rcx
sbbl $-0x1, %ecx
addl %ecx, %eax
movl %eax, -0x90(%rbp)
leaq -0x60(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x594a
movl -0x90(%rbp), %eax
jmp 0x529d
leaq -0x90(%rbp), %rdi
movq %r14, %rsi
callq 0x4480
movq -0x60(%rbp), %rax
cmpq %rax, -0x58(%rbp)
je 0x5305
movq %rax, -0x58(%rbp)
xorl %eax, %eax
movl %eax, -0x38(%rbp)
movl %eax, %eax
movq -0x88(%rbp), %rcx
incq %rcx
cmpq %rax, %rcx
jbe 0x532f
leaq -0x60(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x594a
movl -0x38(%rbp), %eax
incl %eax
jmp 0x5307
leaq -0x90(%rbp), %rdi
callq 0x46d8
movq -0x58(%rbp), %rax
subq -0x60(%rbp), %rax
sarq $0x2, %rax
decq %rax
cmpq $0x1, %rax
ja 0x535f
leaq -0xf8(%rbp), %rdi
movq %r14, %rsi
callq 0x5baa
leaq -0x60(%rbp), %rdi
callq 0x5dda
movq %r12, %rdi
callq 0x43d0
movq %rax, %r12
jmp 0x5257
leaq -0x88(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
movq 0x30c4d(%rip), %rdi     # 0x35fe8
leaq 0x1ee79(%rip), %rsi     # 0x2421b
callq 0x4360
leaq -0x138(%rbp), %rsi
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4190
leaq -0x198(%rbp), %rdi
leaq -0x138(%rbp), %rsi
callq 0x4480
leaq -0x198(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
leaq -0x44(%rbp), %rdx
movl -0x2c(%rbp), %ecx
callq 0x1c48e
movl %eax, %r14d
leaq -0x198(%rbp), %rdi
callq 0x46d8
testl %r14d, %r14d
jns 0x5422
movq 0x30be2(%rip), %rdi     # 0x35fe8
leaq 0x1ee21(%rip), %rsi     # 0x2422e
callq 0x4360
movq %rax, %rdi
callq 0x4190
pushq $0x1
popq %rdi
callq 0x43e0
movq 0x30bbf(%rip), %rdi     # 0x35fe8
leaq 0x1f1b6(%rip), %rsi     # 0x245e6
callq 0x4360
leaq 0x1ee19(%rip), %rsi     # 0x24255
movq %rax, %rdi
callq 0x4360
movq -0x1c0(%rbp), %rsi
movq %rax, %rdi
callq 0x4260
movq %rax, %rdi
callq 0x4190
movq 0x30b86(%rip), %rdi     # 0x35fe8
leaq 0x1f17d(%rip), %rsi     # 0x245e6
callq 0x4360
leaq 0x1edf0(%rip), %rsi     # 0x24265
movq %rax, %rdi
callq 0x4360
movl -0x44(%rbp), %esi
movq %rax, %rdi
callq 0x45f0
movq %rax, %rdi
callq 0x4190
testb %r13b, %r13b
je 0x549e
leaq 0x116be(%rip), %rax     # 0x16b5a
jmp 0x54a5
leaq 0x11211(%rip), %rax     # 0x166b6
movq %rax, -0x60(%rbp)
movb %r15b, -0x58(%rbp)
movq 0x30b34(%rip), %rdi     # 0x35fe8
leaq 0x1edc0(%rip), %rsi     # 0x2427b
callq 0x4360
movq %rax, %rdi
callq 0x4190
leaq -0x38(%rbp), %rdi
callq 0x4330
movq 0x30b10(%rip), %rdi     # 0x35fe8
leaq 0x1eda8(%rip), %rsi     # 0x24287
callq 0x4360
movq %rax, %r14
leaq -0x38(%rbp), %rdi
callq 0x4140
movq %r14, %rdi
movq %rax, %rsi
callq 0x4360
movq %rax, %rdi
callq 0x4190
xorl %eax, %eax
testl %ebx, %ebx
movl $0x0, -0x2c(%rbp)
cmovlel %eax, %ebx
leaq -0xc8(%rbp), %r15
movabsq $-0x3fc7000000000000, %r14 # imm = 0xC039000000000000
cmpl %ebx, -0x2c(%rbp)
je 0x561e
leaq -0x4c8(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x5dee
leaq -0x60(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
movq %r15, %rdx
leaq -0x498(%rbp), %rcx
leaq -0x4c8(%rbp), %r8
callq 0x1cce0
movsd %xmm0, -0x98(%rbp)
leaq -0x4c8(%rbp), %rdi
callq 0x6018
movq 0x30a6e(%rip), %rdi     # 0x35fe8
leaq 0x1ed13(%rip), %rsi     # 0x24294
callq 0x4360
movq %rax, %rdi
movsd -0x98(%rbp), %xmm0
callq 0x4550
movq %rax, %rdi
callq 0x4190
movq %r15, %rdi
leaq -0x498(%rbp), %rsi
callq 0x6030
movq %r15, %rdi
movsd 0x1ea50(%rip), %xmm0    # 0x24008
callq 0x1cd86
movq %r15, %rdi
movsd 0x1ea48(%rip), %xmm0    # 0x24010
callq 0x4b1c
movq -0xe0(%rbp), %r13
leaq -0xf0(%rbp), %rax
cmpq %rax, %r13
je 0x5616
leaq 0x20(%r13), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x64a2
leaq -0xc0(%rbp), %rcx
cmpq %rcx, %rax
jne 0x5609
movq %r15, %rdi
movq %r12, %rsi
callq 0x6438
movq %r14, (%rax)
movq %r13, %rdi
callq 0x43d0
movq %rax, %r13
jmp 0x55d4
incl -0x2c(%rbp)
jmp 0x5522
leaq -0x38(%rbp), %rdi
callq 0x4330
movq 0x309ba(%rip), %rdi     # 0x35fe8
leaq 0x1ec6c(%rip), %rsi     # 0x242a1
callq 0x4360
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x4140
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4360
movq %rax, %rdi
callq 0x4190
leaq -0x178(%rbp), %rdi
leaq -0x158(%rbp), %rsi
callq 0x4480
leaq -0x178(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
pushq $0x6
popq %rcx
xorl %edx, %edx
callq 0x1c80c
leaq -0x178(%rbp), %rdi
callq 0x46d8
xorl %edi, %edi
callq 0x43e0
movq %rax, %rbx
leaq -0x178(%rbp), %rdi
jmp 0x56d7
jmp 0x56bc
jmp 0x56bc
jmp 0x56bc
movq %rax, %rbx
leaq -0x4c8(%rbp), %rdi
callq 0x6018
jmp 0x56bf
jmp 0x56bc
movq %rax, %rbx
leaq -0x90(%rbp), %rdi
callq 0x6018
jmp 0x5715
movq %rax, %rbx
leaq -0x198(%rbp), %rdi
callq 0x46d8
jmp 0x56bf
jmp 0x56f1
movq %rax, %rbx
leaq -0x90(%rbp), %rdi
callq 0x46d8
jmp 0x56f4
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x5dda
jmp 0x5715
jmp 0x5712
movq %rax, %rbx
leaq -0x1b8(%rbp), %rdi
callq 0x46d8
jmp 0x5715
movq %rax, %rbx
leaq -0x1e8(%rbp), %rdi
callq 0x6882
leaq -0x498(%rbp), %rdi
callq 0x6882
leaq -0xc8(%rbp), %rdi
callq 0x6882
leaq -0xf8(%rbp), %rdi
callq 0x6018
jmp 0x574a
movq %rax, %rbx
leaq -0x158(%rbp), %rdi
callq 0x46d8
jmp 0x575b
movq %rax, %rbx
leaq -0x118(%rbp), %rdi
callq 0x46d8
jmp 0x576c
movq %rax, %rbx
leaq -0x138(%rbp), %rdi
jmp 0x58e0
jmp 0x58e7
movq %rax, %rbx
leaq -0x208(%rbp), %rdi
jmp 0x58e0
jmp 0x58e7
movq %rax, %rbx
leaq -0x228(%rbp), %rdi
jmp 0x58e0
jmp 0x58e7
movq %rax, %rbx
leaq -0x248(%rbp), %rdi
jmp 0x58e0
jmp 0x58e7
jmp 0x58e7
movq %rax, %rbx
leaq -0x268(%rbp), %rdi
callq 0x46d8
jmp 0x57d2
movq %rax, %rbx
leaq -0x288(%rbp), %rdi
callq 0x46d8
jmp 0x57e3
movq %rax, %rbx
leaq -0x2a8(%rbp), %rdi
callq 0x46d8
jmp 0x57f4
movq %rax, %rbx
leaq -0x2c8(%rbp), %rdi
callq 0x46d8
jmp 0x5807
jmp 0x5804
movq %rax, %rbx
leaq -0x2e8(%rbp), %rdi
callq 0x46d8
jmp 0x5818
movq %rax, %rbx
leaq -0x308(%rbp), %rdi
callq 0x46d8
jmp 0x5829
movq %rax, %rbx
leaq -0x328(%rbp), %rdi
callq 0x46d8
jmp 0x583a
movq %rax, %rbx
leaq -0x348(%rbp), %rdi
callq 0x46d8
jmp 0x584d
jmp 0x584a
movq %rax, %rbx
leaq -0x368(%rbp), %rdi
callq 0x46d8
jmp 0x585e
movq %rax, %rbx
leaq -0x388(%rbp), %rdi
callq 0x46d8
jmp 0x586f
movq %rax, %rbx
leaq -0x3a8(%rbp), %rdi
callq 0x46d8
jmp 0x5880
movq %rax, %rbx
leaq -0x3c8(%rbp), %rdi
callq 0x46d8
jmp 0x5893
jmp 0x5890
movq %rax, %rbx
leaq -0x3e8(%rbp), %rdi
callq 0x46d8
jmp 0x58a4
movq %rax, %rbx
leaq -0x408(%rbp), %rdi
callq 0x46d8
jmp 0x58b5
movq %rax, %rbx
leaq -0x428(%rbp), %rdi
callq 0x46d8
jmp 0x58c6
movq %rax, %rbx
leaq -0x448(%rbp), %rdi
callq 0x46d8
jmp 0x58d9
jmp 0x58d6
movq %rax, %rbx
leaq -0x468(%rbp), %rdi
callq 0x46d8
jmp 0x58ea
movq %rax, %rbx
leaq -0x580(%rbp), %rdi
callq 0x58fe
movq %rbx, %rdi
callq 0x4610