// File: meirdev[P]HexViewer/./CLI11.hpp
// Function: CLI::App::_parse_arg(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&, CLI::detail::Classifier)
void _parse_arg(std::vector<std::string> &args, detail::Classifier current_type) {

        std::string current = args.back();

        std::string arg_name;
        std::string value;
        std::string rest;

        switch(current_type) {
        case detail::Classifier::LONG:
            if(!detail::split_long(current, arg_name, value))
                throw HorribleError("Long parsed but missing (you should not see this):" + args.back());
            break;
        case detail::Classifier::SHORT:
            if(!detail::split_short(current, arg_name, rest))
                throw HorribleError("Short parsed but missing! You should not see this");
            break;
        case detail::Classifier::WINDOWS:
            if(!detail::split_windows(current, arg_name, value))
                throw HorribleError("windows option parsed but missing! You should not see this");
            break;
        default:
            throw HorribleError("parsing got called with invalid option! You should not see this");
        }

        auto op_ptr =
            std::find_if(std::begin(options_), std::end(options_), [arg_name, current_type](const Option_p &opt) {
                if(current_type == detail::Classifier::LONG)
                    return opt->check_lname(arg_name);
                if(current_type == detail::Classifier::SHORT)
                    return opt->check_sname(arg_name);
                // this will only get called for detail::Classifier::WINDOWS
                return opt->check_lname(arg_name) || opt->check_sname(arg_name);
            });

        // Option not found
        if(op_ptr == std::end(options_)) {
            // If a subcommand, try the master command
            if(parent_ != nullptr && fallthrough_)
                return parent_->_parse_arg(args, current_type);
            // Otherwise, add to missing
            else {
                args.pop_back();
                missing_.emplace_back(current_type, current);
                return;
            }
        }

        args.pop_back();

        // Get a reference to the pointer to make syntax bearable
        Option_p &op = *op_ptr;

        int num = op->get_items_expected();

        // Make sure we always eat the minimum for unlimited vectors
        int collected = 0;

        // --this=value
        if(!value.empty()) {
            // If exact number expected
            if(num > 0)
                num--;
            op->add_result(value);
            parse_order_.push_back(op.get());
            collected += 1;
        } else if(num == 0) {
            op->add_result("");
            parse_order_.push_back(op.get());
            // -Trest
        } else if(!rest.empty()) {
            if(num > 0)
                num--;
            op->add_result(rest);
            parse_order_.push_back(op.get());
            rest = "";
            collected += 1;
        }

        // Unlimited vector parser
        if(num < 0) {
            while(!args.empty() && _recognize(args.back()) == detail::Classifier::NONE) {
                if(collected >= -num) {
                    // We could break here for allow extras, but we don't

                    // If any positionals remain, don't keep eating
                    if(_count_remaining_positionals() > 0)
                        break;
                }
                op->add_result(args.back());
                parse_order_.push_back(op.get());
                args.pop_back();
                collected++;
            }

            // Allow -- to end an unlimited list and "eat" it
            if(!args.empty() && _recognize(args.back()) == detail::Classifier::POSITIONAL_MARK)
                args.pop_back();

        } else {
            while(num > 0 && !args.empty()) {
                num--;
                std::string current_ = args.back();
                args.pop_back();
                op->add_result(current_);
                parse_order_.push_back(op.get());
            }

            if(num > 0) {
                throw ArgumentMismatch::TypedAtLeast(op->get_name(), num, op->get_type_name());
            }
        }

        if(!rest.empty()) {
            rest = "-" + rest;
            args.push_back(rest);
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x400, %rsp            # imm = 0x400
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x310(%rbp)
movq -0x10(%rbp), %rdi
callq 0x162e0
movq %rax, %rsi
leaq -0x38(%rbp), %rdi
callq 0x61d0
leaq -0x58(%rbp), %rdi
callq 0x65f0
leaq -0x78(%rbp), %rdi
callq 0x65f0
leaq -0x98(%rbp), %rdi
callq 0x65f0
movl -0x14(%rbp), %eax
movl %eax, -0x304(%rbp)
subl $0x2, %eax
je 0x243a0
jmp 0x24278
movl -0x304(%rbp), %eax
subl $0x3, %eax
je 0x24299
jmp 0x24285
movl -0x304(%rbp), %eax
subl $0x4, %eax
je 0x244ad
jmp 0x245b7
leaq -0x38(%rbp), %rdi
leaq -0x58(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x254c0
movb %al, -0x311(%rbp)
jmp 0x242b2
movb -0x311(%rbp), %al
testb $0x1, %al
jne 0x2439b
jmp 0x242c2
movb $0x1, -0xc9(%rbp)
movl $0x38, %edi
callq 0x6200
movq %rax, -0x320(%rbp)
movq -0x10(%rbp), %rdi
callq 0x162e0
movq %rax, %rdx
leaq 0x1d2ec(%rip), %rsi     # 0x415d9
leaq -0xc8(%rbp), %rdi
callq 0xebd0
jmp 0x242fb
movq -0x320(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x267f0
jmp 0x24310
movq -0x320(%rbp), %rdi
movb $0x0, -0xc9(%rbp)
leaq 0x393fb(%rip), %rsi     # 0x5d720
leaq 0x25a4(%rip), %rdx      # 0x268d0
callq 0x6700
jmp 0x2500c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x24fd9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x2437f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x6280
testb $0x1, -0xc9(%rbp)
jne 0x2438a
jmp 0x24396
movq -0x320(%rbp), %rdi
callq 0x6310
jmp 0x24fd9
jmp 0x24693
leaq -0x38(%rbp), %rdi
leaq -0x58(%rbp), %rsi
leaq -0x98(%rbp), %rdx
callq 0x256a0
movb %al, -0x321(%rbp)
jmp 0x243bc
movb -0x321(%rbp), %al
testb $0x1, %al
jne 0x244a8
jmp 0x243cc
movb $0x1, -0xf2(%rbp)
movl $0x38, %edi
callq 0x6200
movq %rax, -0x338(%rbp)
leaq -0xf1(%rbp), %rdi
movq %rdi, -0x330(%rbp)
callq 0x6770
movq -0x330(%rbp), %rdx
leaq 0x1d207(%rip), %rsi     # 0x4160c
leaq -0xf0(%rbp), %rdi
callq 0x8eb0
jmp 0x24413
movq -0x338(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x267f0
jmp 0x24428
movq -0x338(%rbp), %rdi
movb $0x0, -0xf2(%rbp)
leaq 0x392e3(%rip), %rsi     # 0x5d720
leaq 0x248c(%rip), %rdx      # 0x268d0
callq 0x6700
jmp 0x2500c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x24480
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x6280
leaq -0xf1(%rbp), %rdi
callq 0x6460
testb $0x1, -0xf2(%rbp)
jne 0x24497
jmp 0x244a3
movq -0x338(%rbp), %rdi
callq 0x6310
jmp 0x24fd9
jmp 0x24693
leaq -0x38(%rbp), %rdi
leaq -0x58(%rbp), %rsi
leaq -0x78(%rbp), %rdx
callq 0x25770
movb %al, -0x339(%rbp)
jmp 0x244c6
movb -0x339(%rbp), %al
testb $0x1, %al
jne 0x245b2
jmp 0x244d6
movb $0x1, -0x11a(%rbp)
movl $0x38, %edi
callq 0x6200
movq %rax, -0x350(%rbp)
leaq -0x119(%rbp), %rdi
movq %rdi, -0x348(%rbp)
callq 0x6770
movq -0x348(%rbp), %rdx
leaq 0x1d12f(%rip), %rsi     # 0x4163e
leaq -0x118(%rbp), %rdi
callq 0x8eb0
jmp 0x2451d
movq -0x350(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x267f0
jmp 0x24532
movq -0x350(%rbp), %rdi
movb $0x0, -0x11a(%rbp)
leaq 0x391d9(%rip), %rsi     # 0x5d720
leaq 0x2382(%rip), %rdx      # 0x268d0
callq 0x6700
jmp 0x2500c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x2458a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x6280
leaq -0x119(%rbp), %rdi
callq 0x6460
testb $0x1, -0x11a(%rbp)
jne 0x245a1
jmp 0x245ad
movq -0x350(%rbp), %rdi
callq 0x6310
jmp 0x24fd9
jmp 0x24693
movb $0x1, -0x142(%rbp)
movl $0x38, %edi
callq 0x6200
movq %rax, -0x360(%rbp)
leaq -0x141(%rbp), %rdi
movq %rdi, -0x358(%rbp)
callq 0x6770
movq -0x358(%rbp), %rdx
leaq 0x1d089(%rip), %rsi     # 0x41679
leaq -0x140(%rbp), %rdi
callq 0x8eb0
jmp 0x245fe
movq -0x360(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x267f0
jmp 0x24613
movq -0x360(%rbp), %rdi
movb $0x0, -0x142(%rbp)
leaq 0x390f8(%rip), %rsi     # 0x5d720
leaq 0x22a1(%rip), %rdx      # 0x268d0
callq 0x6700
jmp 0x2500c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x2466b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x140(%rbp), %rdi
callq 0x6280
leaq -0x141(%rbp), %rdi
callq 0x6460
testb $0x1, -0x142(%rbp)
jne 0x24682
jmp 0x2468e
movq -0x360(%rbp), %rdi
callq 0x6310
jmp 0x24fd9
movq -0x310(%rbp), %rdi
addq $0x98, %rdi
movq %rdi, -0x368(%rbp)
callq 0x17de0
movq -0x368(%rbp), %rdi
movq %rax, -0x158(%rbp)
callq 0x17e10
movq %rax, -0x160(%rbp)
leaq -0x188(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x61d0
jmp 0x246d9
movl -0x14(%rbp), %eax
movl %eax, -0x168(%rbp)
movq -0x158(%rbp), %rdi
movq -0x160(%rbp), %rsi
leaq -0x188(%rbp), %rdx
callq 0x274b0
movq %rax, -0x370(%rbp)
jmp 0x24705
movq -0x370(%rbp), %rax
movq %rax, -0x150(%rbp)
leaq -0x188(%rbp), %rdi
callq 0x275a0
movq -0x310(%rbp), %rdi
addq $0x98, %rdi
callq 0x17e10
movq %rax, -0x190(%rbp)
leaq -0x150(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x1a550
testb $0x1, %al
jne 0x24755
jmp 0x247f9
movq -0x310(%rbp), %rax
cmpq $0x0, 0x178(%rax)
je 0x247c4
movq -0x310(%rbp), %rax
testb $0x1, 0x172(%rax)
je 0x247c4
movq -0x310(%rbp), %rax
movq 0x178(%rax), %rdi
movq -0x10(%rbp), %rsi
movl -0x14(%rbp), %edx
callq 0x24210
jmp 0x24792
movl $0x1, -0x194(%rbp)
jmp 0x24fa9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x188(%rbp), %rdi
callq 0x275a0
jmp 0x24fd9
movq -0x10(%rbp), %rdi
callq 0x23ec0
movq -0x310(%rbp), %rdi
addq $0x110, %rdi            # imm = 0x110
leaq -0x14(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0x23e40
jmp 0x247ea
movl $0x1, -0x194(%rbp)
jmp 0x24fa9
movq -0x10(%rbp), %rdi
callq 0x23ec0
leaq -0x150(%rbp), %rdi
callq 0x17bc0
movq %rax, -0x1a0(%rbp)
movq -0x1a0(%rbp), %rdi
callq 0x17be0
movq %rax, %rdi
callq 0x8f80
movl %eax, -0x1a4(%rbp)
movl $0x0, -0x1a8(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x66e0
testb $0x1, %al
jne 0x2491b
cmpl $0x0, -0x1a4(%rbp)
jle 0x24862
movl -0x1a4(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1a4(%rbp)
movq -0x1a0(%rbp), %rdi
callq 0x17be0
movq %rax, -0x378(%rbp)
leaq -0x1c8(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x61d0
jmp 0x24887
movq -0x378(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x275c0
jmp 0x2489c
leaq -0x1c8(%rbp), %rdi
callq 0x6280
movq -0x310(%rbp), %rax
addq $0x128, %rax            # imm = 0x128
movq %rax, -0x380(%rbp)
movq -0x1a0(%rbp), %rdi
callq 0x10a90
movq -0x380(%rbp), %rdi
movq %rax, -0x1d0(%rbp)
leaq -0x1d0(%rbp), %rsi
callq 0x27600
jmp 0x248e4
movl -0x1a8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1a8(%rbp)
jmp 0x24b19
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x1c8(%rbp), %rdi
callq 0x6280
jmp 0x24fd9
cmpl $0x0, -0x1a4(%rbp)
jne 0x24a1b
movq -0x1a0(%rbp), %rdi
callq 0x17be0
movq %rax, -0x390(%rbp)
leaq -0x1f1(%rbp), %rdi
movq %rdi, -0x388(%rbp)
callq 0x6770
movq -0x388(%rbp), %rdx
leaq 0x1d026(%rip), %rsi     # 0x41982
leaq -0x1f0(%rbp), %rdi
callq 0x8eb0
jmp 0x2496a
movq -0x390(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
callq 0x275c0
jmp 0x2497f
leaq -0x1f0(%rbp), %rdi
callq 0x6280
leaq -0x1f1(%rbp), %rdi
callq 0x6460
movq -0x310(%rbp), %rax
addq $0x128, %rax            # imm = 0x128
movq %rax, -0x398(%rbp)
movq -0x1a0(%rbp), %rdi
callq 0x10a90
movq -0x398(%rbp), %rdi
movq %rax, -0x200(%rbp)
leaq -0x200(%rbp), %rsi
callq 0x27600
jmp 0x249d3
jmp 0x24b17
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x24a0a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x6280
leaq -0x1f1(%rbp), %rdi
callq 0x6460
jmp 0x24fd9
leaq -0x98(%rbp), %rdi
callq 0x66e0
testb $0x1, %al
jne 0x24b15
cmpl $0x0, -0x1a4(%rbp)
jle 0x24a47
movl -0x1a4(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1a4(%rbp)
movq -0x1a0(%rbp), %rdi
callq 0x17be0
movq %rax, -0x3a0(%rbp)
leaq -0x220(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x61d0
jmp 0x24a6f
movq -0x3a0(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x275c0
jmp 0x24a84
leaq -0x220(%rbp), %rdi
callq 0x6280
movq -0x310(%rbp), %rax
addq $0x128, %rax            # imm = 0x128
movq %rax, -0x3a8(%rbp)
movq -0x1a0(%rbp), %rdi
callq 0x10a90
movq -0x3a8(%rbp), %rdi
movq %rax, -0x228(%rbp)
leaq -0x228(%rbp), %rsi
callq 0x27600
jmp 0x24acc
leaq 0x1ceaf(%rip), %rsi     # 0x41982
leaq -0x98(%rbp), %rdi
callq 0x65e0
jmp 0x24ae1
movl -0x1a8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1a8(%rbp)
jmp 0x24b15
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x220(%rbp), %rdi
callq 0x6280
jmp 0x24fd9
jmp 0x24b17
jmp 0x24b19
cmpl $0x0, -0x1a4(%rbp)
jge 0x24cce
jmp 0x24b28
movq -0x10(%rbp), %rdi
callq 0x86b0
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x3a9(%rbp)
jne 0x24b72
movq -0x10(%rbp), %rdi
callq 0x162e0
movq -0x310(%rbp), %rdi
movq %rax, %rsi
callq 0x23cc0
movl %eax, -0x3b0(%rbp)
jmp 0x24b60
movl -0x3b0(%rbp), %eax
cmpl $0x0, %eax
sete %al
movb %al, -0x3a9(%rbp)
movb -0x3a9(%rbp), %al
testb $0x1, %al
jne 0x24b81
jmp 0x24c88
movl -0x1a8(%rbp), %eax
xorl %ecx, %ecx
subl -0x1a4(%rbp), %ecx
cmpl %ecx, %eax
jl 0x24bbe
movq -0x310(%rbp), %rdi
xorl %esi, %esi
callq 0x26590
movq %rax, -0x3b8(%rbp)
jmp 0x24baa
movq -0x3b8(%rbp), %rax
cmpq $0x0, %rax
jbe 0x24bbc
jmp 0x24c88
jmp 0x24bbe
movq -0x1a0(%rbp), %rdi
callq 0x17be0
movq %rax, -0x3c0(%rbp)
movq -0x10(%rbp), %rdi
callq 0x162e0
movq %rax, %rsi
leaq -0x248(%rbp), %rdi
callq 0x61d0
jmp 0x24beb
movq -0x3c0(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0x275c0
jmp 0x24c00
leaq -0x248(%rbp), %rdi
callq 0x6280
movq -0x310(%rbp), %rax
addq $0x128, %rax            # imm = 0x128
movq %rax, -0x3c8(%rbp)
movq -0x1a0(%rbp), %rdi
callq 0x10a90
movq -0x3c8(%rbp), %rdi
movq %rax, -0x250(%rbp)
leaq -0x250(%rbp), %rsi
callq 0x27600
jmp 0x24c48
movq -0x10(%rbp), %rdi
callq 0x23ec0
movl -0x1a8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1a8(%rbp)
jmp 0x24b28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x6280
jmp 0x24fd9
movq -0x10(%rbp), %rdi
callq 0x86b0
testb $0x1, %al
jne 0x24cc9
movq -0x10(%rbp), %rdi
callq 0x162e0
movq -0x310(%rbp), %rdi
movq %rax, %rsi
callq 0x23cc0
movl %eax, -0x3cc(%rbp)
jmp 0x24cb5
movl -0x3cc(%rbp), %eax
cmpl $0x1, %eax
jne 0x24cc9
movq -0x10(%rbp), %rdi
callq 0x23ec0
jmp 0x24f32
jmp 0x24cd0
xorl %eax, %eax
cmpl $0x0, -0x1a4(%rbp)
movb %al, -0x3cd(%rbp)
jle 0x24cf2
movq -0x10(%rbp), %rdi
callq 0x86b0
xorb $-0x1, %al
movb %al, -0x3cd(%rbp)
movb -0x3cd(%rbp), %al
testb $0x1, %al
jne 0x24d01
jmp 0x24e0b
movl -0x1a4(%rbp), %eax
decl %eax
movl %eax, -0x1a4(%rbp)
movq -0x10(%rbp), %rdi
callq 0x162e0
movq %rax, %rsi
leaq -0x270(%rbp), %rdi
callq 0x61d0
jmp 0x24d29
movq -0x10(%rbp), %rdi
callq 0x23ec0
movq -0x1a0(%rbp), %rdi
callq 0x17be0
movq %rax, -0x3d8(%rbp)
leaq -0x290(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0x61d0
jmp 0x24d5a
movq -0x3d8(%rbp), %rdi
leaq -0x290(%rbp), %rsi
callq 0x275c0
jmp 0x24d6f
leaq -0x290(%rbp), %rdi
callq 0x6280
movq -0x310(%rbp), %rax
addq $0x128, %rax            # imm = 0x128
movq %rax, -0x3e0(%rbp)
movq -0x1a0(%rbp), %rdi
callq 0x10a90
movq -0x3e0(%rbp), %rdi
movq %rax, -0x298(%rbp)
leaq -0x298(%rbp), %rsi
callq 0x27600
jmp 0x24db7
leaq -0x270(%rbp), %rdi
callq 0x6280
jmp 0x24cd0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x24dfa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x290(%rbp), %rdi
callq 0x6280
leaq -0x270(%rbp), %rdi
callq 0x6280
jmp 0x24fd9
cmpl $0x0, -0x1a4(%rbp)
jle 0x24f30
movb $0x1, -0x2d9(%rbp)
movl $0x38, %edi
callq 0x6200
movq %rax, -0x3e8(%rbp)
movq -0x1a0(%rbp), %rdi
callq 0x17be0
movq %rax, %rsi
leaq -0x2b8(%rbp), %rdi
xorl %ecx, %ecx
movl %ecx, %edx
callq 0x14b70
jmp 0x24e51
movl -0x1a4(%rbp), %eax
movl %eax, -0x3ec(%rbp)
movq -0x1a0(%rbp), %rdi
callq 0x17be0
movq %rax, %rsi
leaq -0x2d8(%rbp), %rdi
callq 0x27810
jmp 0x24e7a
movl -0x3ec(%rbp), %edx
movq -0x3e8(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
leaq -0x2d8(%rbp), %rcx
callq 0x27630
jmp 0x24e9c
movq -0x3e8(%rbp), %rdi
movb $0x0, -0x2d9(%rbp)
leaq 0x388af(%rip), %rsi     # 0x5d760
leaq 0x2998(%rip), %rdx      # 0x27850
callq 0x6700
jmp 0x2500c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x24f14
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
jmp 0x24f08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x2d8(%rbp), %rdi
callq 0x6280
leaq -0x2b8(%rbp), %rdi
callq 0x6280
testb $0x1, -0x2d9(%rbp)
jne 0x24f1f
jmp 0x24f2b
movq -0x3e8(%rbp), %rdi
callq 0x6310
jmp 0x24fd9
jmp 0x24f32
leaq -0x98(%rbp), %rdi
callq 0x66e0
testb $0x1, %al
jne 0x24f9f
leaq 0x1c4ff(%rip), %rsi     # 0x41448
leaq -0x300(%rbp), %rdi
leaq -0x98(%rbp), %rdx
callq 0xebd0
jmp 0x24f5e
leaq -0x98(%rbp), %rdi
movq %rdi, -0x3f8(%rbp)
leaq -0x300(%rbp), %rsi
movq %rsi, -0x400(%rbp)
callq 0x6520
movq -0x400(%rbp), %rdi
callq 0x6280
movq -0x3f8(%rbp), %rsi
movq -0x10(%rbp), %rdi
callq 0x173f0
jmp 0x24f9d
jmp 0x24f9f
movl $0x0, -0x194(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x6280
leaq -0x78(%rbp), %rdi
callq 0x6280
leaq -0x58(%rbp), %rdi
callq 0x6280
leaq -0x38(%rbp), %rdi
callq 0x6280
addq $0x400, %rsp            # imm = 0x400
popq %rbp
retq
leaq -0x98(%rbp), %rdi
callq 0x6280
leaq -0x78(%rbp), %rdi
callq 0x6280
leaq -0x58(%rbp), %rdi
callq 0x6280
leaq -0x38(%rbp), %rdi
callq 0x6280
movq -0xa0(%rbp), %rdi
callq 0x6750
nopl (%rax)