// File: /workspace/github_cpp_makefile_star2_O1/davmac314[P]dinit/src/dinitctl.cc
// Function: enable_disable_service(int, cpbuffer<1024u>&, service_dir_opt&, char const*, char const*, bool, bool, unsigned short)
static int enable_disable_service(int socknum, cpbuffer_t &rbuffer, service_dir_opt &service_dir_opts,
        const char *from, const char *to, bool enable, bool verbose, uint16_t proto_version)
{
    using std::cout;
    using std::cerr;
    using std::string;

    service_state_t from_state = service_state_t::STARTED;
    handle_t from_handle;

    handle_t to_handle;

    std::vector<string> service_dir_paths;

    string service_file_path;
    string to_service_file_path;
    dio::istream service_file;
    fd_holder parent_dir_fd;

    if (strchr(from, '@') != nullptr) {
        cerr << "dinitctl: cannot enable/disable from a service with argument (service@arg).\n";
        return 1;
    }

    if (socknum >= 0) {
        if (!load_service(socknum, rbuffer, from, &from_handle, &from_state)
                || !load_service(socknum, rbuffer, to, &to_handle, nullptr)) {
            return 1;
        }

        try {
            service_dir_paths = get_service_description_dirs(socknum, rbuffer);
        }
        catch (dinit_protocol_error &) {
            cerr << "dinitctl: unknown configuration or protocol error, unable to load service descriptions\n";
        }

        to_service_file_path = get_service_descr_filename(socknum, rbuffer, to_handle, to);

        std::string from_sdf_dir = get_service_description_dir(socknum, rbuffer, from_handle);
        if (from_sdf_dir.empty())
            throw dinit_protocol_error();

        auto sdf_fds = open_with_dir(from_sdf_dir.c_str(), from);
        if (sdf_fds.first == -1) {
            cerr << "dinitctl: could not open service description file '"
                    << service_file_path << "': " << strerror(sdf_fds.second) << "\n";
            return EXIT_FAILURE;
        }

        parent_dir_fd = sdf_fds.first;
        service_file.set_fd(sdf_fds.second);

        service_file_path = from_sdf_dir;
        if (*service_file_path.rbegin() != '/') service_file_path += '/';
        service_file_path += from;
    }
    else {
        // offline case
        const auto &path_list = service_dir_opts.get_paths();
        for (auto &path : path_list) {
            service_dir_paths.emplace_back(path.get_dir());
        }

        auto sdf_fds = find_service_desc(from, service_dir_paths, service_file_path);
        if (sdf_fds.first == -1) {
            if (sdf_fds.second == ENOENT) {
                cerr << "dinitctl: could not locate service file for service '" << from << "'\n";
            }
            else {
                cerr << "dinitctl: could not open service description file '"
                        << service_file_path << "': " << strerror(sdf_fds.second)
                        << "\n";
            }
            return EXIT_FAILURE;
        }

        parent_dir_fd = sdf_fds.first;
        service_file.set_fd(sdf_fds.second);

        auto to_sdf_fds = find_service_desc(to, service_dir_paths, to_service_file_path);
        if (to_sdf_fds.first == -1 && to_sdf_fds.second == ENOENT) {
            cerr << "dinitctl: could not locate service file for target service '" << to << "'\n";
            return EXIT_FAILURE;
        }

        if (to_sdf_fds.first != -1) {
            close(to_sdf_fds.first);
            close(to_sdf_fds.second);
        }
    }

    // We now need to read the service file, identify the waits-for.d directory (bail out if more than one),
    // make sure the service is not listed as a dependency individually.

    string waits_for_d;
    fd_holder waits_for_d_fd;

    file_input_stack input_stack;
    input_stack.push(service_file_path, std::move(service_file), parent_dir_fd.release());

    try {
        auto resolve_var = [](const std::string &name) {
            return (char *)nullptr; // FIXME
        };

        auto is_setting = [](const std::string &setting, dinit_load::setting_id_t setting_id) {
            return (setting == dinit_load::all_settings[(size_t)setting_id].setting_str);
        };

        process_service_file(from, input_stack, [&](string &line, file_pos_ref fpr,
                string &setting, dinit_load::setting_op_t op,
                dinit_load::string_iterator i, dinit_load::string_iterator end) -> void {
                    using namespace dinit_load;

                    if (is_setting(setting, setting_id_t::WAITS_FOR)
                            || is_setting(setting, setting_id_t::DEPENDS_ON)
                            || is_setting(setting, setting_id_t::DEPENDS_MS)) {
                        string dname = dinit_load::read_setting_value(fpr, i, end);
                        if (dname == to) {
                            // There is already a dependency
                            cerr << "dinitctl: there is a fixed dependency to service '" << to
                                    << "' in the service description of '" << from << "'.\n";
                            throw service_op_cancel();
                        }
                    }
                    else if (is_setting(setting, setting_id_t::WAITS_FOR_D)) {
                        string dname = dinit_load::read_setting_value(fpr, i, end);
                        if (! waits_for_d.empty()) {
                            cerr << "dinitctl: service '" << from << "' has multiple waits-for.d directories "
                                    << "specified in service description\n";
                            throw service_op_cancel();
                        }
                        waits_for_d = std::move(dname);
                    }
                },
                nullptr /* service arg */, resolve_var);
    }
    catch (const service_op_cancel &cexc) {
        return 1;
    }
    catch (std::system_error &err) {
        cerr << "dinitctl: " << input_stack.current_file_name() << ": " << strerror(errno) << "\n";
        return 1;
    }

    // If the from service has no waits-for.d specified, we can't continue
    if (waits_for_d.empty()) {
        cerr << "dinitctl: service '" << from << "' has no waits-for.d directory specified" << "\n";
        return 1;
    }

    // The waits-for.d path is relative to the service file path, combine:
    // XXX should use parent dir fd
    string waits_for_d_full = combine_paths(parent_path(service_file_path), waits_for_d.c_str());

    // check if dependency already exists
    string dep_link_path = combine_paths(waits_for_d_full, to);
    struct stat stat_buf;
    if (lstat(dep_link_path.c_str(), &stat_buf) == -1) {
        if (errno != ENOENT) {
            cerr << "dinitctl: checking for existing dependency link: " << dep_link_path << ": "
                    << strerror(errno) << "\n";
            return 1;
        }
    }
    else {
        // dependency already exists
        if (enable) {
            cerr << "dinitctl: service already enabled.\n";
            return 1;
        }
    }

    if (socknum >= 0) {
        // warn if 'from' service is not started
        if (enable && from_state != service_state_t::STARTED) {
            cerr << "dinitctl: warning: enabling dependency for non-started service\n";
        }

        // add/remove dependency
        constexpr int enable_pktsize = 2 + sizeof(handle_t) * 2;
        char cmdbuf[enable_pktsize] = { char(enable ? cp_cmd::ENABLESERVICE : cp_cmd::REM_DEP),
                char(dependency_type::WAITS_FOR)};
        memcpy(cmdbuf + 2, &from_handle, sizeof(from_handle));
        memcpy(cmdbuf + 2 + sizeof(from_handle), &to_handle, sizeof(to_handle));
        write_all_x(socknum, cmdbuf, enable_pktsize);

        wait_for_reply(rbuffer, socknum);

        // check reply
        if (rbuffer[0] == (char)cp_rply::NAK) {
            if (enable) {
                cerr << "dinitctl: could not enable service: possible circular dependency\n";
            }
            else {
                cerr << "dinitctl: service not currently enabled\n";
            }
            return 1;
        }
        if (rbuffer[0] != (char)cp_rply::ACK) {
            cerr << "dinitctl: control socket protocol error\n";
            return 1;
        }
        rbuffer.consume(1);
    }

    // create link
    if (enable) {
        // Guess a relative path to use as the symlink target. Note that if either the waits-for.d directory
        // path, or the "to" service description file path, contains symbolic links or path segments with
        // ".." or ".", this may not produce the "correct" result. We do a "reasonable effort". If the
        // result isn't correct, the only consequence is that the link may be broken or point to the wrong
        // file; Dinit itself won't be affected by this.
        string symlink_target;
        auto spos = waits_for_d_full.rfind('/');
        if (spos != std::string::npos) {
            if (strncmp(waits_for_d_full.c_str(), to_service_file_path.c_str(), spos) == 0) {
                symlink_target = "../";
                symlink_target.append(to_service_file_path, spos + 1, std::string::npos);
            }
        }
        if (symlink_target.empty()) {
            // not yet determined: try full path or just "../(to)"
            if (to_service_file_path[0] == '/') {
                symlink_target = to_service_file_path;
            }
            else {
                symlink_target = "../";
                symlink_target.append(to);
            }
        }

        if (symlink(symlink_target.c_str(), dep_link_path.c_str()) == -1) {
            cerr << "dinitctl: could not create symlink at " << dep_link_path << ": " << strerror(errno);
            if (socknum >= 0) {
                cerr << "\n" "dinitctl: note: service was enabled for now; persistent enable failed.";
            }
            cerr << "\n";
            return 1;
        }
    }
    else {
        if (unlink(dep_link_path.c_str()) == -1) {
            cerr << "dinitctl: could not unlink dependency entry " << dep_link_path << ": "
                    << strerror(errno);
            if (socknum >= 0) {
                cerr << "\n" "dinitctl: note: service was disabled for now; persistent disable failed.";
            }
            cerr << "\n";
            return 1;
        }
    }

    if (socknum >= 0) {
        if (verbose) {
            cout << "Service '" << to << "' has been " << (enable ? "enabled" : "disabled") << ".\n";
        }

        char cmd_pkt = (char)(proto_version < 5 ? cp_cmd::SERVICESTATUS : cp_cmd::SERVICESTATUS5);

        // Check status of the service now
        auto m = membuf()
                .append(cmd_pkt)
                .append(to_handle);
        write_all_x(socknum, m);

        int statussize = proto_version < 5 ? STATUS_BUFFER_SIZE : STATUS_BUFFER5_SIZE;

        // For an enable, we want to wait until the service has started so we can report any
        // failure. But, if the service is already started, we won't get any service events, so we
        // have to request status via SERVICESTATUS to catch that case. However, we may get
        // a service event before the reply to SERVICESTATUS and in that case should use it to
        // report status.
        if (enable) {
            int r = rbuffer.fill_to(socknum, 2);
            while (r > 0 && rbuffer[0] >= 100) {
                unsigned pktlen = (unsigned char) rbuffer[1];
                fill_buffer_to(rbuffer, socknum, pktlen);

                if (value(rbuffer[0]).is_in((char)cp_info::SERVICEEVENT, (char)cp_info::SERVICEEVENT5)) {
                    int ret = process_service_event(rbuffer, pktlen, to_handle, to,
                            false /* start */, verbose);
                    if (ret >= 0) {
                        // Consume the outstanding reply packet before returning.
                        wait_for_reply(rbuffer, socknum);
                        if (rbuffer[0] != (char)cp_rply::SERVICESTATUS) {
                            cerr << "dinitctl: protocol error.\n";
                            return 1;
                        }
                        // +2 is 1 byte packet type, 1 byte reserved
                        fill_buffer_to(rbuffer, socknum, statussize + 2);
                        rbuffer.consume(statussize + 2);
                        return ret;
                    }
                }
                else {
                    rbuffer.consume(pktlen);
                }

                r = rbuffer.fill_to(socknum, 2);
            }
            if (r == -1) {
                throw cp_read_exception(errno);
            }
            if (r == 0) {
                cerr << "dinitctl: protocol error.\n";
                return 1;
            }
        }
        else {
            wait_for_reply(rbuffer, socknum);
        }

        if (rbuffer[0] != (char)cp_rply::SERVICESTATUS) {
            cerr << "dinitctl: protocol error.\n";
            return 1;
        }
        rbuffer.consume(1);

        fill_buffer_to(rbuffer, socknum, statussize + 1 /* reserved */);
        rbuffer.consume(1);
        service_state_t current = static_cast<service_state_t>(rbuffer[0]);
        service_state_t target = static_cast<service_state_t>(rbuffer[1]);
        rbuffer.consume(statussize);

        if (enable) {
            if (current != service_state_t::STARTED) {
                wait_service_state(socknum, rbuffer, to_handle, to, false /* start */, verbose);
            }
        }
        else {
            if (target != service_state_t::STOPPED) {
                std::cerr << "dinitctl: note: disabled service may have other dependents\n";
            }
        }
    }
    else {
        if (verbose) {
            cout << "Service '" << to << "' has been " << (enable ? "enabled" : "disabled") << ".\n";
        }
    }

    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x358, %rsp            # imm = 0x358
movl %r9d, %r15d
movq %r8, %r14
movq %rcx, %r13
movq %rdx, %rbx
movq %rsi, %r12
movl %edi, %ebp
movb $0x2, 0x37(%rsp)
xorl %eax, %eax
movq %rax, 0x210(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x200(%rsp)
leaq 0x1e8(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x280(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movl %ecx, 0x2b0(%rsp)
movq %rax, 0x2b8(%rsp)
movq %rax, 0x2be(%rsp)
movl %ecx, 0x44(%rsp)
movq %r13, %rdi
movl $0x40, %esi
callq 0x4120
testq %rax, %rax
je 0x6234
movl $0x1, %ebp
movq 0x16e47(%rip), %rdi     # 0x1cfe8
leaq 0x10859(%rip), %rsi     # 0x16a01
movl $0x4c, %edx
callq 0x4330
leaq 0x44(%rsp), %rdi
callq 0x1046a
leaq 0x2b0(%rsp), %rdi
callq 0x14414
movq 0x270(%rsp), %rdi
leaq 0x280(%rsp), %rax
cmpq %rax, %rdi
je 0x61ee
movq 0x280(%rsp), %rsi
incq %rsi
callq 0x42f0
movq 0x1d8(%rsp), %rdi
leaq 0x1e8(%rsp), %rax
cmpq %rax, %rdi
je 0x6213
movq 0x1e8(%rsp), %rsi
incq %rsi
callq 0x42f0
leaq 0x200(%rsp), %rdi
callq 0xfdf8
movl %ebp, %eax
addq $0x358, %rsp            # imm = 0x358
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r13, 0xd0(%rsp)
movq %r12, 0x38(%rsp)
movq %r15, 0xd8(%rsp)
testl %ebp, %ebp
movl %ebp, 0xc(%rsp)
movq %r14, 0xc8(%rsp)
js 0x63a1
leaq 0x1b4(%rsp), %rcx
leaq 0x37(%rsp), %r8
movl %ebp, %edi
movl $0x1, %ebp
movq 0x38(%rsp), %rsi
movq 0xd0(%rsp), %rdx
movl $0x1, %r9d
callq 0xd198
testb %al, %al
je 0x61b2
leaq 0xc4(%rsp), %rcx
movl $0x1, %ebp
movl 0xc(%rsp), %edi
movq 0x38(%rsp), %rsi
movq %r14, %rdx
xorl %r8d, %r8d
movl $0x1, %r9d
callq 0xd198
testb %al, %al
je 0x61b2
leaq 0x220(%rsp), %rdi
movl 0xc(%rsp), %esi
movq 0x38(%rsp), %rdx
callq 0xf80c
xorps %xmm0, %xmm0
leaq 0xf0(%rsp), %rdi
movaps %xmm0, (%rdi)
movaps 0x200(%rsp), %xmm0
movq 0x210(%rsp), %rax
leaq 0x220(%rsp), %rbx
movups (%rbx), %xmm1
movaps %xmm1, 0x200(%rsp)
movq 0x10(%rbx), %rcx
movq %rcx, 0x210(%rsp)
movaps (%rdi), %xmm1
movaps %xmm0, (%rdi)
movq %rax, 0x10(%rdi)
movups %xmm1, (%rbx)
movq $0x0, 0x10(%rbx)
callq 0xfdf8
movq %rbx, %rdi
callq 0xfdf8
movl 0xc4(%rsp), %ecx
leaq 0xf0(%rsp), %rdi
movl 0xc(%rsp), %esi
movq 0x38(%rsp), %rdx
callq 0xde76
movq 0xf8(%rsp), %rsi
testq %rsi, %rsi
je 0x8e29
movq 0xf0(%rsp), %rax
cmpb $0x2f, -0x1(%rax,%rsi)
je 0x638c
leaq 0xf0(%rsp), %rdi
movl $0x1, %ecx
xorl %edx, %edx
movl $0x2f, %r8d
callq 0x4510
xorl %r8d, %r8d
movzbl (%r14,%r8), %eax
testb $-0x41, %al
je 0x6489
incq %r8
jmp 0x638f
movq 0x18(%rbx), %r15
movq 0x20(%rbx), %r12
cmpq %r12, %r15
je 0x63dd
leaq 0x200(%rsp), %rbx
leaq 0xf0(%rsp), %r14
movq (%r15), %rax
movq %rax, 0xf0(%rsp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1019a
addq $0x10, %r15
cmpq %r12, %r15
jne 0x63be
leaq 0x200(%rsp), %rsi
leaq 0x1d8(%rsp), %rdx
movq 0xd0(%rsp), %rdi
callq 0xe214
movq 0xc8(%rsp), %r12
movq %rax, %r14
movl %r14d, %ebx
shrq $0x20, %r14
cmpl $-0x1, %ebx
je 0x65aa
movl 0x44(%rsp), %edi
cmpl $-0x1, %edi
je 0x6423
callq 0x4560
movl %ebx, 0x44(%rsp)
leaq 0x2b0(%rsp), %rdi
movl %r14d, %esi
callq 0x13042
leaq 0x200(%rsp), %rsi
leaq 0x270(%rsp), %rdx
movq %r12, %rdi
callq 0xe214
movq %rax, %rbx
movl %ebx, %edi
shrq $0x20, %rbx
cmpl $-0x1, %edi
setne %al
cmpq $0x2, %rbx
setne %r14b
orb %al, %r14b
je 0x65fb
cmpl $-0x1, %edi
je 0x6761
callq 0x4560
movl %ebx, %edi
callq 0x4560
jmp 0x6761
leaq 0xf0(%rsp), %rdi
movq 0x8(%rdi), %rsi
xorl %edx, %edx
movq %r14, %rcx
callq 0x4320
leaq 0x270(%rsp), %rdi
leaq 0xf0(%rsp), %rbx
movq %rbx, %rsi
callq 0x4390
movq (%rbx), %rdi
leaq 0x100(%rsp), %r12
cmpq %r12, %rdi
je 0x64d7
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x42f0
movl 0x1b4(%rsp), %ecx
leaq 0xf0(%rsp), %rdi
movl 0xc(%rsp), %esi
movq 0x38(%rsp), %rdx
callq 0xde76
cmpq $0x0, 0xf8(%rsp)
je 0x8e44
movq 0xf0(%rsp), %rdi
movq 0xd0(%rsp), %rsi
movl $0xffffff9c, %edx       # imm = 0xFFFFFF9C
callq 0xfe53
movq %rax, %rbx
movq %rax, %r14
shrq $0x20, %r14
cmpl $-0x1, %ebx
je 0x66b8
movl 0x44(%rsp), %edi
cmpl $-0x1, %edi
je 0x653e
callq 0x4560
movl %ebx, 0x44(%rsp)
leaq 0x2b0(%rsp), %rdi
movl %r14d, %esi
callq 0x13042
leaq 0x1d8(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
callq 0x41d0
movq 0x1d8(%rsp), %rax
movq 0x1e0(%rsp), %rcx
cmpb $0x2f, -0x1(%rax,%rcx)
je 0x6590
leaq 0x1d8(%rsp), %rdi
movl $0x2f, %esi
callq 0x42a0
leaq 0x1d8(%rsp), %rdi
movq 0xd0(%rsp), %rsi
callq 0x4540
jmp 0x6805
cmpl $0x2, %r14d
jne 0x663e
movq 0x16a2d(%rip), %rbx     # 0x1cfe8
leaq 0x1051c(%rip), %rsi     # 0x16ade
movl $0x35, %edx
movq %rbx, %rdi
callq 0x4330
movq 0xd0(%rsp), %r14
testq %r14, %r14
je 0x6774
movq %r14, %rdi
callq 0x4150
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x4330
jmp 0x6792
movq 0x169e6(%rip), %rbx     # 0x1cfe8
leaq 0x1050e(%rip), %rsi     # 0x16b17
movl $0x3c, %edx
movq %rbx, %rdi
callq 0x4330
testq %r12, %r12
je 0x6732
movq %r12, %rdi
callq 0x4150
movq 0x169ba(%rip), %rdi     # 0x1cfe8
movq %r12, %rsi
movq %rax, %rdx
callq 0x4330
jmp 0x6749
movq 0x169a3(%rip), %rdi     # 0x1cfe8
leaq 0x1045a(%rip), %rsi     # 0x16aa6
movl $0x33, %edx
callq 0x4330
movq 0x1d8(%rsp), %rsi
movq 0x1e0(%rsp), %rdx
movq 0x1697b(%rip), %rdi     # 0x1cfe8
callq 0x4330
movq %rax, %rbx
leaq 0x1045e(%rip), %rsi     # 0x16ada
movl $0x3, %edx
movq %rax, %rdi
callq 0x4330
movl %r14d, %edi
callq 0x40f0
testq %rax, %rax
je 0x67a0
movq %rax, %r14
movq %rax, %rdi
callq 0x4150
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x4330
jmp 0x67b9
movq 0x16929(%rip), %rdi     # 0x1cfe8
leaq 0x103e0(%rip), %rsi     # 0x16aa6
movl $0x33, %edx
callq 0x4330
movq 0x1d8(%rsp), %rsi
movq 0x1e0(%rsp), %rdx
movq 0x16901(%rip), %rdi     # 0x1cfe8
callq 0x4330
movq %rax, %r15
leaq 0x103e4(%rip), %rsi     # 0x16ada
movl $0x3, %edx
movq %rax, %rdi
callq 0x4330
movl %r14d, %edi
callq 0x40f0
testq %rax, %rax
je 0x67d7
movq %rax, %r14
movq %rax, %rdi
callq 0x4150
movq %r15, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x4330
jmp 0x67f1
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x1, %esi
callq 0x44c0
movq 0x16898(%rip), %rdi     # 0x1cfe8
leaq 0x103bd(%rip), %rsi     # 0x16b14
movl $0x2, %edx
callq 0x4330
movl $0x1, %ebp
testb %r14b, %r14b
je 0x61b2
jmp 0x6833
movq 0x1686d(%rip), %rbx     # 0x1cfe8
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x1, %esi
callq 0x44c0
movl $0x2, %edx
leaq 0x10376(%rip), %rsi     # 0x16b14
jmp 0x67c5
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %rbx, %rdi
addq %rax, %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x1, %esi
callq 0x44c0
movl $0x1, %edx
leaq 0x10350(%rip), %rsi     # 0x16b15
movl $0x1, %ebp
movq %rbx, %rdi
callq 0x4330
jmp 0x61b2
movq (%r15), %rax
movq -0x18(%rax), %rax
movq %r15, %rdi
addq %rax, %rdi
movl 0x20(%r15,%rax), %esi
orl $0x1, %esi
callq 0x44c0
leaq 0x1031d(%rip), %rsi     # 0x16b15
movl $0x1, %edx
movq %r15, %rdi
callq 0x4330
movq 0xf0(%rsp), %rdi
cmpq %r12, %rdi
je 0x6822
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x42f0
cmpl $-0x1, %ebx
movq 0xc8(%rsp), %r12
je 0x61b2
leaq 0x2a0(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movl $0xffffffff, 0x1b0(%rsp) # imm = 0xFFFFFFFF
xorps %xmm0, %xmm0
leaq 0x220(%rsp), %rdi
movaps %xmm0, 0x40(%rdi)
movaps %xmm0, 0x30(%rdi)
movaps %xmm0, 0x20(%rdi)
movaps %xmm0, 0x10(%rdi)
movaps %xmm0, (%rdi)
xorl %esi, %esi
callq 0x11082
leaq 0x318(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x1d8(%rsp), %rsi
movq 0x1e0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x308(%rsp), %rdi
callq 0x11564
movl 0x44(%rsp), %ecx
movl $0xffffffff, 0x44(%rsp) # imm = 0xFFFFFFFF
leaq 0x220(%rsp), %rdi
leaq 0x308(%rsp), %rsi
leaq 0x2b0(%rsp), %rdx
callq 0x101e0
movq 0x308(%rsp), %rdi
cmpq %r14, %rdi
je 0x68ec
movq 0x318(%rsp), %rsi
incq %rsi
callq 0x42f0
leaq 0x2c8(%rsp), %rdi
leaq 0xef(%rsp), %rdx
movq 0xd0(%rsp), %rsi
callq 0xeba8
leaq 0x88(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x1b8(%rsp), %r15
leaq 0x220(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x115f4
movq 0xd8(%rsp), %rbx
testb %al, %al
movl 0xc(%rsp), %ebp
je 0x77a9
movq 0x250(%rsp), %rax
cmpq 0x258(%rsp), %rax
jne 0x6974
movq 0x268(%rsp), %rax
movq -0x8(%rax), %rax
movl $0x200, %ecx            # imm = 0x200
addq %rcx, %rax
movl -0x8(%rax), %ebx
cmpq $0x0, 0x80(%rsp)
je 0x6928
movq 0x78(%rsp), %rdx
movq 0x80(%rsp), %rcx
cmpb $0x5c, -0x1(%rdx,%rcx)
jne 0x6aab
leaq (%rdx,%rcx), %rax
decq %rax
movb $0x1, %bpl
cmpq %rdx, %rax
je 0x69c2
movq %rcx, %rsi
cmpb $0x5c, -0x2(%rdx,%rsi)
jne 0x69c2
xorb $0x1, %bpl
decq %rsi
cmpq $0x1, %rsi
jne 0x69ac
movl %ecx, %ebp
testb $0x1, %bpl
je 0x6aab
leaq 0x100(%rsp), %rcx
movq %rcx, 0xf0(%rsp)
movq $0x0, 0xf8(%rsp)
movb $0x0, 0x100(%rsp)
movb $0xa, (%rax)
leaq 0x220(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
callq 0x11676
testb %al, %al
je 0x8600
movq 0xf0(%rsp), %r14
movq 0xf8(%rsp), %r15
testq %r15, %r15
je 0x6a51
leaq (%r14,%r15), %r12
movzbl (%r14), %r13d
callq 0x43d0
movq %rax, %rdi
callq 0x4140
movq 0x30(%rax), %rax
testb $0x20, 0x1(%rax,%r13,2)
je 0x6a51
incq %r14
decq %r15
jne 0x6a29
movq %r12, %r14
movq 0xf0(%rsp), %rsi
cmpq %rsi, %r14
leaq 0x1b8(%rsp), %r15
je 0x85bc
movq 0xf8(%rsp), %rdx
leaq 0x78(%rsp), %rdi
callq 0x40e0
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x6aa1
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x42f0
testb $0x1, %bpl
jne 0x6982
movq 0x78(%rsp), %r14
movq 0x80(%rsp), %r12
movq %r14, 0x98(%rsp)
leaq (%r14,%r12), %rdx
testq %r12, %r12
movq %rdx, 0x48(%rsp)
je 0x6b21
movzbl (%r14), %r13d
xorl %ebp, %ebp
cmpq $0xa, %r13
sete %r15b
callq 0x43d0
movq %rax, %rdi
callq 0x4140
movb %r15b, %bpl
addl %ebp, %ebx
movq 0x30(%rax), %rax
testb $0x20, 0x1(%rax,%r13,2)
je 0x6b14
incq %r14
decq %r12
jne 0x6ace
movq 0x48(%rsp), %rdx
movq %rdx, %r14
leaq 0x1b8(%rsp), %r15
jmp 0x6b21
leaq 0x1b8(%rsp), %r15
movq 0x48(%rsp), %rdx
movq %r14, 0x98(%rsp)
cmpq %rdx, %r14
movq 0xc8(%rsp), %r12
je 0x6928
movzbl (%r14), %eax
cmpl $0x23, %eax
je 0x6928
cmpl $0x40, %eax
jne 0x7252
incq %r14
movq %r14, 0x98(%rsp)
leaq 0x2e8(%rsp), %r14
movq %r14, %rdi
leaq 0x98(%rsp), %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x117c0
movq %r14, %rdi
leaq 0x1035d(%rip), %rsi     # 0x16edf
callq 0x40b0
movl %eax, 0x1fc(%rsp)
testl %eax, %eax
leaq 0xa0(%rsp), %r12
leaq 0x190(%rsp), %r13
je 0x6bb9
movq %r14, %rdi
leaq 0x1033f(%rip), %rsi     # 0x16eeb
callq 0x40b0
testl %eax, %eax
jne 0x8c77
movq 0x250(%rsp), %rcx
cmpq 0x258(%rsp), %rcx
jne 0x6bdf
movq 0x268(%rsp), %rax
movq -0x8(%rax), %rcx
movl $0x200, %eax            # imm = 0x200
addq %rax, %rcx
addq $-0x28, %rcx
movl %ebx, 0x348(%rsp)
movq %rcx, 0x350(%rsp)
leaq 0x1a0(%rsp), %rax
movq %rax, 0x190(%rsp)
xorl %eax, %eax
movq %rax, 0x198(%rsp)
movb $0x0, 0x1a0(%rsp)
movq %r15, 0x1c0(%rsp)
movq %r15, 0x1b8(%rsp)
movq %rax, 0x1c8(%rsp)
movq %r13, %rdi
xorl %esi, %esi
movl %ebx, %edx
leaq 0x98(%rsp), %r8
movq 0x48(%rsp), %r9
pushq $0x20
pushq %r15
callq 0x11b51
addq $0x10, %rsp
cmpq $0x1, 0x1c8(%rsp)
jne 0x8b6b
movq %r12, 0xa8(%rsp)
movq %r12, 0xa0(%rsp)
movq $0x0, 0xb0(%rsp)
movq 0x198(%rsp), %rbx
movl $0x18, %edi
callq 0x42e0
movl $0x0, 0x10(%rax)
movl %ebx, 0x14(%rax)
movq %rax, %rdi
movq %r12, %rsi
callq 0x4060
incq 0xb0(%rsp)
movq 0x2e8(%rsp), %rbx
movq %r13, %rdi
movl $0x24, %esi
xorl %edx, %edx
callq 0x43b0
cmpq $-0x1, %rax
je 0x7575
movq %rax, %r15
movq %rbx, 0xe0(%rsp)
movq 0x198(%rsp), %rax
shrq $0x1f, %rax
jne 0x8d17
movq 0xa0(%rsp), %rdx
leaq 0x100(%rsp), %rax
movq %rax, 0xf0(%rsp)
movq $0x0, 0xf8(%rsp)
movb $0x0, 0x100(%rsp)
cmpq %r12, %rdx
leaq 0xf0(%rsp), %rbx
je 0x7531
movq %rdx, %rcx
movl $0x0, 0xc0(%rsp)
xorl %ebp, %ebp
addl %ebp, 0x10(%rcx)
movl 0x14(%rcx), %eax
cmpq %rax, %r15
movq %rcx, 0x1d0(%rsp)
jae 0x71c2
leaq 0x14(%rcx), %r12
movl $0x0, 0x48(%rsp)
xorl %r14d, %r14d
movl 0xc0(%rsp), %ecx
movl %ebp, 0x50(%rsp)
movl %ecx, %edx
movq %r15, %rcx
subq %rdx, %rcx
movq %rbx, %rdi
movq %r13, %rsi
callq 0x43f0
movq 0x190(%rsp), %rax
movb 0x1(%rax,%r15), %bpl
cmpb $0x24, %bpl
jne 0x6dad
movq %rbx, %rdi
movl $0x24, %esi
callq 0x42a0
addl $0x2, %r15d
movl 0x50(%rsp), %ebp
decl %ebp
leaq 0x190(%rsp), %r13
jmp 0x7183
leaq 0x1(%r15), %rcx
movl (%r12), %r12d
addq %rax, %r12
leaq 0x2(%r15), %rdx
cmpb $0x2f, %bpl
cmovneq %rcx, %rdx
leaq (%rax,%rdx), %rcx
movb (%rax,%rdx), %r14b
xorl %eax, %eax
cmpb $0x7b, %r14b
sete %al
addq %rcx, %rax
movq %rax, 0xb8(%rsp)
movb $0x0, 0xb(%rsp)
leaq 0x58(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
movq %r12, %rdx
movl $0x1, %ecx
leaq 0xb(%rsp), %r8
callq 0x117c0
cmpq $0x0, 0x60(%rsp)
je 0x84f0
cmpb $0x1, 0xb(%rsp)
jne 0x6e30
leaq 0x58(%rsp), %rdi
leaq 0xf0ba(%rip), %rsi      # 0x15edd
callq 0x40b0
testl %eax, %eax
jne 0x8644
xorl %eax, %eax
movq 0xb8(%rsp), %r13
cmpb $0x7b, %r14b
jne 0x6edd
movq 0xb8(%rsp), %rax
cmpb $0x3a, (%rax)
jne 0x6e6f
leaq 0x1(%rax), %rcx
movq %rcx, 0xb8(%rsp)
movzbl 0x1(%rax), %eax
cmpl $0x2b, %eax
je 0x6e6f
cmpl $0x2d, %eax
jne 0x89da
movq 0xb8(%rsp), %rcx
movzbl (%rcx), %edx
cmpl $0x2d, %edx
je 0x6e89
xorl %eax, %eax
movq %r13, %r14
cmpl $0x2b, %edx
jne 0x6ebf
incq %rcx
movq %rcx, 0xb8(%rsp)
movq %rcx, %rax
cmpq %r12, %rcx
je 0x6eb1
cmpb $0x7d, (%rax)
je 0x6eb1
incq %rax
movq %rax, 0xb8(%rsp)
cmpq %r12, %rax
jne 0x6e9c
movsbl %dl, %eax
movq 0xb8(%rsp), %r13
movq %rcx, %r14
movq 0xb8(%rsp), %rcx
cmpb $0x7d, (%rcx)
jne 0x86aa
incq %rcx
movq %rcx, 0xb8(%rsp)
jmp 0x6ee0
movq %r13, %r14
leaq 0xa0(%rsp), %r12
movq 0xf8(%rsp), %rcx
movq %rcx, 0x188(%rsp)
cmpl $0x2b, %eax
je 0x6f12
cmpl $0x2d, %eax
jne 0x6f07
subq %r14, %r13
jmp 0x6f18
cmpb $0x1, 0xb(%rsp)
je 0x8710
xorl %r13d, %r13d
xorl %r14d, %r14d
movl 0xb8(%rsp), %eax
subl 0x190(%rsp), %eax
movl %eax, 0xc0(%rsp)
subl %eax, %r15d
addl %r15d, 0x50(%rsp)
cmpb $0x2f, %bpl
jne 0x7107
leaq (%r14,%r13), %r15
movq %r14, %rbp
testq %r13, %r13
je 0x6f7f
movq %r14, %rbp
movzbl (%rbp), %r12d
callq 0x43d0
movq %rax, %rdi
callq 0x4140
movq 0x30(%rax), %rax
testb $0x20, 0x1(%rax,%r12,2)
jne 0x6f77
incq %rbp
decq %r13
jne 0x6f4e
movq %r15, %rbp
leaq 0xa0(%rsp), %r12
cmpq %r15, %rbp
je 0x70da
movq 0x1d0(%rsp), %r13
movq %rbp, %rdx
subq %r14, %rdx
je 0x6fa3
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4070
movl 0x10(%r13), %eax
movq 0xf8(%rsp), %r14
cmpq %rax, %r14
setne %al
orb 0x48(%rsp), %al
testb $0x1, %al
je 0x7057
movq %rbx, %rdi
movq %r12, %rbx
movq %r13, %rax
movl 0x14(%r13), %r13d
movq %rax, %r12
movl %r14d, 0x14(%rax)
movl $0x20, %esi
callq 0x42a0
incq %r14
testq $-0x80000000, %r14      # imm = 0x80000000
jne 0x8429
movq (%r12), %r12
movl 0xf8(%rsp), %ebx
movl $0x18, %edi
callq 0x42e0
shlq $0x20, %r13
orq %rbx, %r13
movq %r13, 0x10(%rax)
movq %rax, %rdi
movq %r12, %rsi
movq %rax, %r13
callq 0x4060
incq 0xb0(%rsp)
movl 0x50(%rsp), %eax
subl 0x188(%rsp), %eax
addl %r14d, %eax
movl %eax, 0x50(%rsp)
movq 0xf8(%rsp), %rax
movq %rax, 0x188(%rsp)
leaq 0xa0(%rsp), %r12
leaq 0xf0(%rsp), %rbx
movzbl (%rbp), %r14d
callq 0x43d0
movq %rax, %rdi
callq 0x4140
movq 0x30(%rax), %rax
testb $0x20, 0x1(%rax,%r14,2)
je 0x7085
incq %rbp
cmpq %r15, %rbp
jne 0x7057
movq %r15, %r14
movq %r15, %rbp
jmp 0x7088
movq %rbp, %r14
cmpq %r15, %r14
je 0x70c1
movq %r14, %rbp
movzbl (%rbp), %r12d
callq 0x43d0
movq %rax, %rdi
callq 0x4140
movq 0x30(%rax), %rax
testb $0x20, 0x1(%rax,%r12,2)
jne 0x70b9
incq %rbp
cmpq %r15, %rbp
jne 0x7090
movq %r15, %rbp
leaq 0xa0(%rsp), %r12
movl $0x0, 0x48(%rsp)
cmpq %r15, %rbp
jne 0x6f90
movq %r13, 0x1d0(%rsp)
cmpq %r15, %r14
leaq 0x190(%rsp), %r13
movl 0x50(%rsp), %ebp
je 0x70fc
subq %r14, %r15
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x4070
movl 0x48(%rsp), %r14d
xorb $0x1, %r14b
jmp 0x7140
movb $0x1, %al
movl %eax, 0x48(%rsp)
testq %r13, %r13
je 0x7131
movq %rbx, %rdi
movq %r14, %rsi
movq %r13, %rdx
callq 0x4070
leaq 0x190(%rsp), %r13
movl 0x50(%rsp), %ebp
xorl %r14d, %r14d
jmp 0x7140
xorl %r14d, %r14d
leaq 0x190(%rsp), %r13
movl 0x50(%rsp), %ebp
movq 0xf8(%rsp), %r15
testq $-0x80000000, %r15      # imm = 0x80000000
jne 0x8556
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x7171
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x42f0
subl 0x188(%rsp), %ebp
addl %r15d, %ebp
movl 0xc0(%rsp), %r15d
movl %r15d, %edx
movq %r13, %rdi
movl $0x24, %esi
callq 0x43b0
movl %r15d, %ecx
movq %rax, %r15
movq 0x1d0(%rsp), %rax
leaq 0x14(%rax), %r12
movl 0x14(%rax), %eax
cmpq %rax, %r15
jb 0x6d5f
movl %ecx, 0xc0(%rsp)
leaq 0xa0(%rsp), %r12
jmp 0x71c5
xorl %r14d, %r14d
movl %ebp, 0x50(%rsp)
addl %ebp, %eax
movq 0x1d0(%rsp), %rbp
movl %eax, 0x14(%rbp)
testb $0x1, %r14b
je 0x720f
cmpl %eax, 0x10(%rbp)
jne 0x720f
movq (%rbp), %rbx
decq 0xb0(%rsp)
movq %rbp, %rdi
callq 0x44a0
movl $0x18, %esi
movq %rbp, %rdi
callq 0x42f0
movq %rbx, %rbp
leaq 0xf0(%rsp), %rbx
jmp 0x7213
movq (%rbp), %rbp
movq %rbp, %rcx
cmpq %r12, %rbp
je 0x7239
movl 0x50(%rsp), %ebp
movl 0x14(%rcx), %eax
cmpq %rax, %r15
jbe 0x723d
addl %ebp, 0x10(%rcx)
addl %ebp, %eax
movl %eax, 0x14(%rcx)
movq (%rcx), %rcx
cmpq %r12, %rcx
jne 0x721f
jmp 0x723d
movl 0x50(%rsp), %ebp
cmpq %r12, %rcx
jne 0x6d32
movl 0xc0(%rsp), %edx
jmp 0x7533
movq %rdx, %r12
leaq 0x58(%rsp), %r13
movq %r13, %rdi
leaq 0x98(%rsp), %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x117c0
movq 0x98(%rsp), %r14
cmpq %r12, %r14
je 0x72c5
movq 0x48(%rsp), %r13
movzbl (%r14), %r12d
xorl %ebp, %ebp
cmpq $0xa, %r12
sete %r15b
callq 0x43d0
movq %rax, %rdi
callq 0x4140
movb %r15b, %bpl
addl %ebp, %ebx
movq 0x30(%rax), %rax
testb $0x20, 0x1(%rax,%r12,2)
je 0x72b8
incq %r14
cmpq %r13, %r14
jne 0x7281
movq %r13, %r14
leaq 0x1b8(%rsp), %r15
leaq 0x58(%rsp), %r13
movq %r14, 0x98(%rsp)
cmpq $0x0, 0x60(%rsp)
leaq 0x16066(%rip), %rbp     # 0x1d340
je 0x8b01
movzbl (%r14), %eax
cmpl $0x3d, %eax
je 0x7317
cmpl $0x3a, %eax
je 0x7317
cmpl $0x2b, %eax
jne 0x8b01
incq %r14
movq %r14, 0x98(%rsp)
cmpq 0x48(%rsp), %r14
je 0x8b01
cmpb $0x3d, (%r14)
jne 0x8b01
movq 0x98(%rsp), %r14
incq %r14
movq %r14, 0x98(%rsp)
cmpq 0x48(%rsp), %r14
je 0x7381
movq 0x48(%rsp), %r13
movzbl (%r14), %r12d
xorl %ebp, %ebp
cmpq $0xa, %r12
sete %r15b
callq 0x43d0
movq %rax, %rdi
callq 0x4140
movb %r15b, %bpl
addl %ebp, %ebx
movq 0x30(%rax), %rax
testb $0x20, 0x1(%rax,%r12,2)
je 0x736d
incq %r14
cmpq %r13, %r14
jne 0x7336
movq %r13, %r14
leaq 0x1b8(%rsp), %r15
leaq 0x58(%rsp), %r13
leaq 0x15fbf(%rip), %rbp     # 0x1d340
movq %r14, 0x98(%rsp)
movq 0x250(%rsp), %r12
cmpq 0x258(%rsp), %r12
jne 0x73af
movq 0x268(%rsp), %rax
movq -0x8(%rax), %r12
movl $0x200, %eax            # imm = 0x200
addq %rax, %r12
addq $-0x28, %r12
movq %r14, 0x10(%rsp)
movq 0xc0(%rbp), %rsi
movq %r13, %rdi
callq 0x40b0
testl %eax, %eax
je 0x7481
movq 0xa0(%rbp), %rsi
movq %r13, %rdi
callq 0x40b0
testl %eax, %eax
je 0x7481
movq 0xb0(%rbp), %rsi
movq %r13, %rdi
callq 0x40b0
testl %eax, %eax
je 0x7481
movq 0xd0(%rbp), %rsi
movq %r13, %rdi
callq 0x40b0
testl %eax, %eax
jne 0x7508
leaq 0x100(%rsp), %rax
movq %rax, 0xf0(%rsp)
xorl %eax, %eax
movq %rax, 0xf8(%rsp)
movb $0x0, 0x100(%rsp)
leaq 0xf0(%rsp), %rdi
xorl %esi, %esi
movl %ebx, %edx
movq %r12, %rcx
leaq 0x10(%rsp), %r8
movq 0x48(%rsp), %r9
pushq $0x20
pushq %rax
callq 0x11b51
addq $0x10, %rsp
cmpq $0x0, 0x298(%rsp)
jne 0x8ec4
leaq 0x290(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
callq 0x4390
jmp 0x74e3
leaq 0x100(%rsp), %rax
movq %rax, 0xf0(%rsp)
xorl %eax, %eax
movq %rax, 0xf8(%rsp)
movb $0x0, 0x100(%rsp)
leaq 0xf0(%rsp), %r14
movq %r14, %rdi
xorl %esi, %esi
movl %ebx, %edx
movq %r12, %rcx
leaq 0x10(%rsp), %r8
movq 0x48(%rsp), %r9
pushq $0x20
pushq %rax
callq 0x11b51
addq $0x10, %rsp
movq %r14, %rdi
movq 0xc8(%rsp), %rsi
callq 0x40b0
testl %eax, %eax
je 0x8bf0
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x7508
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x42f0
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x7524
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x42f0
movq 0xc8(%rsp), %r12
jmp 0x6928
xorl %edx, %edx
movq %rbx, %rdi
movq %r13, %rsi
movq $-0x1, %rcx
callq 0x43f0
movq %r13, %rdi
movq %rbx, %rsi
callq 0x4390
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x7575
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x42f0
movq 0xa0(%rsp), %rdi
cmpq %r12, %rdi
je 0x7597
movq (%rdi), %rbx
movl $0x18, %esi
callq 0x42f0
movq %rbx, %rdi
cmpq %r12, %rbx
jne 0x7582
movq 0x1b8(%rsp), %rdi
leaq 0x1b8(%rsp), %r15
cmpq %r15, %rdi
leaq 0x328(%rsp), %r13
je 0x75c9
movq (%rdi), %rbx
movl $0x18, %esi
callq 0x42f0
movq %rbx, %rdi
cmpq %r15, %rbx
jne 0x75b4
movl $0x1, %ecx
movq 0x190(%rsp), %rdi
xorl %eax, %eax
movzbl -0x1(%rdi,%rcx), %edx
cmpl $0x2f, %edx
je 0x75e8
testl %edx, %edx
jne 0x75eb
jmp 0x75f0
movq %rcx, %rax
incq %rcx
jmp 0x75d8
leaq (%rdi,%rax), %rsi
movq $-0x1, %r14
testq %rax, %rax
je 0x760f
cmpq $0x1, %rax
jne 0x7618
leaq 0xf687(%rip), %rdi      # 0x16c94
jmp 0x7626
leaq 0xf500(%rip), %rdi      # 0x16b16
jmp 0x7626
movq %rdi, %r14
notq %r14
addq %rsi, %r14
movb $0x0, (%rdi,%r14)
movq 0x250(%rsp), %rax
cmpq 0x258(%rsp), %rax
jne 0x764c
movq 0x268(%rsp), %rax
movq -0x8(%rax), %rax
movl $0x200, %ecx            # imm = 0x200
addq %rcx, %rax
movl -0x4(%rax), %edx
callq 0xfe53
movq %rax, %rbx
cmpq $-0x1, %r14
je 0x766a
movq 0x190(%rsp), %rax
movb $0x2f, (%rax,%r14)
movq %rbx, %r12
shrq $0x20, %r12
cmpl $-0x1, %ebx
je 0x7736
leaq 0x100(%rsp), %rax
xorl %ecx, %ecx
movq %rcx, -0x2(%rax)
movq %rcx, -0x8(%rax)
movl %r12d, 0xf0(%rsp)
movl $0x4008, %edi           # imm = 0x4008
movq 0x158d8(%rip), %rsi     # 0x1cf78
callq 0x4580
movl $0x0, %ecx
testq %rax, %rax
je 0x76bd
movq $0x0, 0x4000(%rax)
movq %rax, %rcx
movq %rcx, 0xf8(%rsp)
leaq 0x338(%rsp), %r12
movq %r12, 0x328(%rsp)
movq 0x190(%rsp), %rsi
movq 0x198(%rsp), %rdx
addq %rsi, %rdx
movq %r13, %rdi
callq 0x11564
leaq 0x220(%rsp), %rdi
movq %r13, %rsi
leaq 0xf0(%rsp), %rdx
movl %ebx, %ecx
callq 0x101e0
movq 0x328(%rsp), %rdi
cmpq %r12, %rdi
je 0x7727
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x42f0
leaq 0xf0(%rsp), %rdi
callq 0x14414
jmp 0x774e
cmpl $0x0, 0x1fc(%rsp)
jne 0x8db8
cmpl $0x2, %r12d
jne 0x8db8
movq 0x190(%rsp), %rdi
leaq 0x1a0(%rsp), %rax
cmpq %rax, %rdi
je 0x7773
movq 0x1a0(%rsp), %rsi
incq %rsi
callq 0x42f0
movq 0x2e8(%rsp), %rdi
leaq 0x2f8(%rsp), %rax
cmpq %rax, %rdi
movq 0xc8(%rsp), %r12
je 0x6928
movq 0x2f8(%rsp), %rsi
incq %rsi
callq 0x42f0
jmp 0x6928
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x77cb
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x42f0
leaq 0x2d8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
movzwl 0x398(%rsp), %r15d
je 0x77f5
movq 0x2d8(%rsp), %rsi
incq %rsi
callq 0x42f0
cmpq $0x0, 0x298(%rsp)
je 0x7854
movups 0x1d8(%rsp), %xmm0
leaq 0xf0(%rsp), %rdi
movups %xmm0, (%rdi)
movl $0x2f, %esi
callq 0x11f9e
cmpq $-0x1, %rax
je 0x7898
testq %rax, %rax
je 0x7842
movq 0xf0(%rsp), %rsi
leal -0x1(%rax), %ecx
cmpb $0x2f, (%rsi,%rcx)
jne 0x78ef
decq %rax
jne 0x7830
movl $0x1, %eax
movq 0xf0(%rsp), %rsi
jmp 0x78fe
movq 0x1578d(%rip), %rbx     # 0x1cfe8
leaq 0xf2f2(%rip), %rsi      # 0x16b54
movl $0x13, %edx
movq %rbx, %rdi
callq 0x4330
movq 0xd0(%rsp), %r14
testq %r14, %r14
je 0x789e
movq %r14, %rdi
callq 0x4150
movq 0x1575d(%rip), %rdi     # 0x1cfe8
movq %r14, %rsi
movq %rax, %rdx
callq 0x4330
jmp 0x78b5
xorl %esi, %esi
xorl %eax, %eax
jmp 0x78fe
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x1, %esi
callq 0x44c0
movq 0x1572c(%rip), %rdi     # 0x1cfe8
leaq 0xf2a5(%rip), %rsi      # 0x16b68
movl $0x28, %edx
callq 0x4330
movl $0x1, %ebp
movq 0x1570f(%rip), %rdi     # 0x1cfe8
leaq 0xf235(%rip), %rsi      # 0x16b15
movl $0x1, %edx
callq 0x4330
jmp 0x83bb
movq 0xf8(%rsp), %rcx
cmpq %rax, %rcx
cmovbq %rcx, %rax
movq 0x290(%rsp), %rcx
leaq 0x58(%rsp), %rdi
movq %rax, %rdx
callq 0x1023a
movq 0x58(%rsp), %rsi
movq 0x60(%rsp), %rdx
leaq 0x10(%rsp), %rdi
movq %r12, %rcx
callq 0x1023a
movq 0x10(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
callq 0x4550
cmpl $-0x1, %eax
je 0x795e
testb %bl, %bl
je 0x796c
movl $0x23, %r14d
leaq 0xf271(%rip), %r15      # 0x16bc3
movq 0x1568f(%rip), %rbx     # 0x1cfe8
jmp 0x7aab
callq 0x4040
cmpl $0x2, (%rax)
jne 0x7a41
testl %ebp, %ebp
movq 0xd8(%rsp), %rbx
js 0x7ae2
testb %bl, %bl
je 0x799f
cmpb $0x2, 0x37(%rsp)
je 0x799f
movq 0x1565a(%rip), %rdi     # 0x1cfe8
leaq 0xf252(%rip), %rsi      # 0x16be7
movl $0x3f, %edx
callq 0x4330
movq 0xd8(%rsp), %rbx
leal (%rbx,%rbx), %eax
orb $0xc, %al
leaq 0x78(%rsp), %rsi
movb %al, (%rsi)
movb $0x2, 0x1(%rsi)
movq $0x0, 0x2(%rsi)
movl 0x1b4(%rsp), %eax
movl %eax, 0x2(%rsi)
movl 0xc4(%rsp), %eax
movl %eax, 0x6(%rsi)
movl %ebp, %edi
movl $0xa, %edx
callq 0xed22
movq 0x38(%rsp), %r14
movq %r14, %rdi
movl %ebp, %esi
callq 0xedbd
movl 0x400(%r14), %eax
leal -0x400(%rax), %ecx
cmpl $0x400, %eax            # imm = 0x400
cmovbl %eax, %ecx
movzbl (%r14,%rcx), %ecx
cmpl $0x32, %ecx
je 0x7ac3
cmpl $0x33, %ecx
jne 0x7c51
leaq 0xf206(%rip), %rax      # 0x16c27
leaq 0xf241(%rip), %rsi      # 0x16c69
testb %bl, %bl
cmovneq %rax, %rsi
movl $0x41, %eax
movl $0x28, %edx
cmovneq %rax, %rdx
jmp 0x7c5d
movq %rax, %rbx
movq 0x1559d(%rip), %rdi     # 0x1cfe8
leaq 0xf13f(%rip), %rsi      # 0x16b91
movl $0x31, %edx
callq 0x4330
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x1557b(%rip), %rdi     # 0x1cfe8
callq 0x4330
movq %rax, %r14
leaq 0xf05f(%rip), %rsi      # 0x16adb
movl $0x2, %edx
movq %rax, %rdi
callq 0x4330
movl (%rbx), %edi
callq 0x40f0
movq %r14, %rdi
movq %rax, %rsi
callq 0x42d0
movq %rax, %rbx
movl $0x1, %r14d
leaq 0xf06a(%rip), %r15      # 0x16b15
movl $0x1, %ebp
movq %rbx, %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x4330
jmp 0x8384
leal 0x1(%rax), %ecx
addl $0xfffffc01, %eax       # imm = 0xFFFFFC01
cmpl $0x400, %ecx            # imm = 0x400
cmovbl %ecx, %eax
movl %eax, 0x400(%r14)
decl 0x404(%r14)
testb %bl, %bl
je 0x7baa
leaq 0x88(%rsp), %rax
movq %rax, 0x78(%rsp)
movq $0x0, 0x80(%rsp)
movb $0x0, 0x88(%rsp)
leaq 0x58(%rsp), %rdi
movl $0x2f, %esi
movq $-0x1, %rdx
callq 0x4570
cmpq $-0x1, %rax
je 0x7b73
movq %rax, %rbx
movq 0x58(%rsp), %rdi
movq 0x270(%rsp), %rsi
movq %rax, %rdx
callq 0x4170
testl %eax, %eax
jne 0x7b73
leaq 0xf148(%rip), %rsi      # 0x16c92
leaq 0x78(%rsp), %rdi
callq 0x43e0
incq %rbx
leaq 0x78(%rsp), %rdi
leaq 0x270(%rsp), %rsi
movq %rbx, %rdx
movq $-0x1, %rcx
callq 0x43f0
cmpq $0x0, 0x80(%rsp)
jne 0x7c91
movq 0x270(%rsp), %rax
cmpb $0x2f, (%rax)
jne 0x7c73
leaq 0x78(%rsp), %rdi
leaq 0x270(%rsp), %rsi
callq 0x41d0
jmp 0x7c91
movq 0x10(%rsp), %rdi
callq 0x4160
cmpl $-0x1, %eax
jne 0x7ccb
movq 0x15424(%rip), %rdi     # 0x1cfe8
leaq 0xf13a(%rip), %rsi      # 0x16d05
movl $0x2c, %edx
callq 0x4330
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x15402(%rip), %rbx     # 0x1cfe8
movq %rbx, %rdi
callq 0x4330
movq %rax, %r14
leaq 0xeee3(%rip), %rsi      # 0x16adb
movl $0x2, %edx
movq %rax, %rdi
callq 0x4330
callq 0x4040
movl (%rax), %edi
callq 0x40f0
movq %r14, %rdi
movq %rax, %rsi
callq 0x42d0
movl $0x1, %r14d
leaq 0xeeec(%rip), %r15      # 0x16b15
testl %ebp, %ebp
js 0x7aab
movq 0x153b0(%rip), %rbx     # 0x1cfe8
leaq 0xf0f3(%rip), %rsi      # 0x16d32
movl $0x49, %edx
movq %rbx, %rdi
callq 0x4330
jmp 0x7aab
movl $0x28, %edx
leaq 0xeae1(%rip), %rsi      # 0x1673e
movq 0x15384(%rip), %rdi     # 0x1cfe8
callq 0x4330
movl $0x1, %ebp
jmp 0x8384
leaq 0xf018(%rip), %rsi      # 0x16c92
leaq 0x78(%rsp), %rdi
callq 0x43e0
leaq 0x78(%rsp), %rdi
movq %r12, %rsi
callq 0x4540
movq 0x78(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x4050
cmpl $-0x1, %eax
je 0x7e9a
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x7ccb
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x42f0
testl %ebp, %ebp
js 0x7deb
cmpb $0x0, 0x390(%rsp)
je 0x7d62
movq 0x152c0(%rip), %rdi     # 0x1cfa8
leaq 0xe3a3(%rip), %rsi      # 0x16092
movl $0x9, %edx
callq 0x4330
movq 0x152a8(%rip), %rdi     # 0x1cfa8
movq %r12, %rsi
callq 0x42d0
movq %rax, %rbx
leaq 0xf06a(%rip), %rsi      # 0x16d7c
movl $0xb, %edx
movq %rax, %rdi
callq 0x4330
leaq 0xf062(%rip), %rax      # 0x16d88
leaq 0xf063(%rip), %rsi      # 0x16d90
movq 0xd8(%rsp), %rcx
testb %cl, %cl
cmovneq %rax, %rsi
movzbl %cl, %eax
movl $0x8, %edx
subq %rax, %rdx
movq %rbx, %rdi
callq 0x4330
leaq 0xe465(%rip), %rsi      # 0x161ba
movl $0x2, %edx
movq %rbx, %rdi
callq 0x4330
movl 0xc4(%rsp), %eax
movl %eax, %ecx
shll $0x8, %ecx
xorl %edx, %edx
cmpw $0x5, %r15w
setae %dl
leal (%rcx,%rdx,8), %ecx
addl $0x12, %ecx
shrl $0x18, %eax
leaq 0x2e8(%rsp), %rsi
movb %al, 0x4(%rsi)
movl %ecx, (%rsi)
movl %ebp, %edi
callq 0xf66b
xorl %eax, %eax
cmpw $0x5, %r15w
setae %al
leal 0xa(,%rax,4), %eax
movq %rax, 0x50(%rsp)
movq 0xd8(%rsp), %rbx
testb %bl, %bl
je 0x7e7f
movq 0x38(%rsp), %rbx
movl $0x1, %ebp
cmpl $0x1, 0x404(%rbx)
ja 0x7f55
movq %rbx, %rdi
movl 0xc(%rsp), %esi
callq 0xeffc
testl %eax, %eax
cmovlel %eax, %r14d
jg 0x7dc5
jmp 0x7f5b
cmpb $0x0, 0x390(%rsp)
je 0x8382
movq 0x151a8(%rip), %rdi     # 0x1cfa8
leaq 0xe28b(%rip), %rsi      # 0x16092
movl $0x9, %edx
callq 0x4330
movq 0x15190(%rip), %rdi     # 0x1cfa8
movq %r12, %rsi
callq 0x42d0
movq %rax, %rbx
leaq 0xef52(%rip), %rsi      # 0x16d7c
movl $0xb, %edx
movq %rax, %rdi
callq 0x4330
leaq 0xef4a(%rip), %rax      # 0x16d88
leaq 0xef4b(%rip), %rsi      # 0x16d90
movq 0xd8(%rsp), %rcx
testb %cl, %cl
cmovneq %rax, %rsi
movzbl %cl, %eax
movl $0x8, %edx
subq %rax, %rdx
movq %rbx, %rdi
callq 0x4330
leaq 0xe34d(%rip), %rsi      # 0x161ba
movl $0x2, %edx
movq %rbx, %rdi
callq 0x4330
jmp 0x8382
movl $0x1, %ebp
movq 0x38(%rsp), %r14
movq %r14, %rdi
movl 0xc(%rsp), %esi
callq 0xedbd
jmp 0x821b
movq 0x15147(%rip), %rdi     # 0x1cfe8
leaq 0xedee(%rip), %rsi      # 0x16c96
movl $0x26, %edx
callq 0x4330
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x15125(%rip), %rdi     # 0x1cfe8
callq 0x4330
movq %rax, %rbx
leaq 0xec09(%rip), %rsi      # 0x16adb
movl $0x2, %edx
movq %rax, %rdi
callq 0x4330
callq 0x4040
movl (%rax), %edi
callq 0x40f0
movq %rbx, %rdi
movq %rax, %rsi
callq 0x42d0
testl %ebp, %ebp
js 0x7f12
movq 0x150e7(%rip), %rdi     # 0x1cfe8
leaq 0xedb5(%rip), %rsi      # 0x16cbd
movl $0x47, %edx
callq 0x4330
movq 0x150cf(%rip), %rdi     # 0x1cfe8
leaq 0xebf5(%rip), %rsi      # 0x16b15
movl $0x1, %edx
callq 0x4330
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x7c69
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x42f0
jmp 0x7c69
movl $0x1, %r14d
movq 0x50(%rsp), %rax
addl $0x2, %eax
movq %rax, 0x188(%rsp)
movzbl 0x390(%rsp), %eax
movl %eax, 0x48(%rsp)
testl %r14d, %r14d
movq 0x38(%rsp), %rbx
jle 0x81a6
movl 0x400(%rbx), %eax
leal -0x400(%rax), %ecx
cmpl $0x400, %eax            # imm = 0x400
cmovbl %eax, %ecx
cmpb $0x64, (%rbx,%rcx)
jl 0x81a6
leal 0x1(%rax), %ecx
addl $0xfffffc01, %eax       # imm = 0xFFFFFC01
cmpl $0x400, %ecx            # imm = 0x400
cmovbl %ecx, %eax
movzbl (%rbx,%rax), %r13d
movl $0x1, %r12d
cmpl %r13d, 0x404(%rbx)
jae 0x7fdf
movq %rbx, %rdi
movl 0xc(%rsp), %esi
callq 0xeffc
testl %eax, %eax
cmovlel %eax, %r15d
movl %r15d, %r12d
jg 0x7fb9
cmpl $-0x1, %r12d
je 0x7fef
testl %r12d, %r12d
jne 0x7ffd
jmp 0x8bd8
callq 0x4040
cmpl $0x4, (%rax)
jne 0x8d49
cmpl $-0x1, %r12d
movq 0x38(%rsp), %rbx
je 0x7fb9
movl 0x400(%rbx), %eax
leal -0x400(%rax), %ecx
cmpl $0x400, %eax            # imm = 0x400
cmovbl %eax, %ecx
movb (%rbx,%rcx), %cl
andb $-0x2, %cl
cmpb $0x64, %cl
jne 0x8111
movl 0xc4(%rsp), %r15d
leaq 0x78(%rsp), %rbx
movq %rbx, %rdi
movq 0xc8(%rsp), %r12
movq %r12, %rsi
leaq 0x190(%rsp), %rdx
callq 0xeba8
movq 0x38(%rsp), %rdi
movl %r13d, %esi
movl %r15d, %edx
movq %rbx, %rcx
xorl %r8d, %r8d
movl 0x48(%rsp), %r9d
callq 0xd8de
movl %eax, %r13d
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x8093
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x42f0
testl %r13d, %r13d
js 0x815a
movq 0x38(%rsp), %rdi
movl 0xc(%rsp), %esi
callq 0xedbd
movq 0x38(%rsp), %rdi
movl 0x400(%rdi), %eax
leal -0x400(%rax), %ecx
cmpl $0x400, %eax            # imm = 0x400
cmovbl %eax, %ecx
cmpb $0x46, (%rdi,%rcx)
jne 0x813d
movl 0xc(%rsp), %esi
movq 0x188(%rsp), %rdx
callq 0xef6d
movq 0x38(%rsp), %rdx
movl 0x400(%rdx), %eax
movq 0x188(%rsp), %rsi
leal (%rax,%rsi), %ecx
cmpl $0x400, %ecx            # imm = 0x400
leal -0x400(%rax,%rsi), %eax
cmovbl %ecx, %eax
movl %eax, 0x400(%rdx)
subl %esi, 0x404(%rdx)
movl %r13d, %ebp
jmp 0x815a
leal (%rax,%r13), %ecx
cmpl $0x400, %ecx            # imm = 0x400
leal -0x400(%rax,%r13), %eax
cmovbl %ecx, %eax
movl %eax, 0x400(%rbx)
subl %r13d, 0x404(%rbx)
movq 0xc8(%rsp), %r12
jmp 0x8164
movl $0x1, %ebp
movl $0x1a, %edx
movq 0x14e9a(%rip), %rdi     # 0x1cfe8
leaq 0xe01d(%rip), %rsi      # 0x16172
callq 0x4330
testl %r13d, %r13d
js 0x8164
xorl %r15d, %r15d
jmp 0x8191
movq 0x38(%rsp), %rbx
movb $0x1, %r15b
cmpl $0x1, 0x404(%rbx)
ja 0x818b
movq %rbx, %rdi
movl 0xc(%rsp), %esi
callq 0xeffc
testl %eax, %eax
cmovlel %eax, %r14d
jg 0x8169
jmp 0x8191
movl $0x1, %r14d
testb %r15b, %r15b
jne 0x7f77
xorl %eax, %eax
movq 0xd8(%rsp), %rbx
jmp 0x820e
testl %r14d, %r14d
je 0x81e7
movb $0x1, %al
cmpl $-0x1, %r14d
movq 0xd8(%rsp), %rbx
jne 0x820e
movl $0x4, %edi
callq 0x4190
movq %rax, %rbx
callq 0x4040
movl (%rax), %eax
movl %eax, (%rbx)
leaq 0x14968(%rip), %rsi     # 0x1cb40
movq %rbx, %rdi
xorl %edx, %edx
callq 0x44d0
jmp 0x8e5f
movq 0x14dfa(%rip), %rdi     # 0x1cfe8
leaq 0xdf7d(%rip), %rsi      # 0x16172
movl $0x1a, %edx
callq 0x4330
movq 0xd8(%rsp), %rbx
movl $0x1, %ebp
xorl %eax, %eax
testb %al, %al
je 0x837a
movq 0x38(%rsp), %r14
movl 0x400(%r14), %eax
leal -0x400(%rax), %ecx
cmpl $0x400, %eax            # imm = 0x400
cmovbl %eax, %ecx
cmpb $0x46, (%r14,%rcx)
jne 0x835d
leal 0x1(%rax), %ecx
addl $0xfffffc01, %eax       # imm = 0xFFFFFC01
cmpl $0x400, %ecx            # imm = 0x400
cmovbl %ecx, %eax
movl %eax, 0x400(%r14)
decl 0x404(%r14)
movq 0x50(%rsp), %rax
movl %eax, %edx
orl $0x1, %edx
movq %r14, %rdi
movl 0xc(%rsp), %esi
callq 0xef6d
movl 0x400(%r14), %ecx
movl 0x404(%r14), %eax
leal 0x1(%rcx), %edx
movl $0xfffffc01, %esi       # imm = 0xFFFFFC01
addl %esi, %ecx
movl $0x400, %edi            # imm = 0x400
cmpl %edi, %edx
cmovbl %edx, %ecx
movl %ecx, 0x400(%r14)
decl %eax
movl %eax, 0x404(%r14)
movl $0xfffffc00, %r8d       # imm = 0xFFFFFC00
leal (%rcx,%r8), %edx
cmpl %edi, %ecx
cmovbl %ecx, %edx
movb (%r14,%rdx), %dl
leal 0x1(%rcx), %r9d
addl %ecx, %esi
cmpl %edi, %r9d
cmovbl %r9d, %esi
movb (%r14,%rsi), %sil
movq 0x50(%rsp), %r9
addl %r9d, %ecx
addl %ecx, %r8d
cmpl %edi, %ecx
cmovbl %ecx, %r8d
movl %r8d, 0x400(%r14)
subl %r9d, %eax
movl %eax, 0x404(%r14)
movb $0x1, %r14b
testb %bl, %bl
je 0x8403
cmpb $0x2, %dl
je 0x837d
movl 0xc4(%rsp), %ebx
leaq 0x78(%rsp), %rdi
leaq 0x190(%rsp), %rdx
movq %r12, %rsi
callq 0xeba8
movzbl 0x390(%rsp), %r9d
leaq 0x78(%rsp), %rcx
movl 0xc(%rsp), %edi
movq 0x38(%rsp), %rsi
movl %ebx, %edx
xorl %r8d, %r8d
callq 0xd1e3
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x837d
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x42f0
jmp 0x837d
movq 0x14c84(%rip), %rdi     # 0x1cfe8
leaq 0xde07(%rip), %rsi      # 0x16172
movl $0x1a, %edx
callq 0x4330
movl $0x1, %ebp
xorl %r14d, %r14d
testb %r14b, %r14b
je 0x8384
xorl %ebp, %ebp
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x839f
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x42f0
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x83bb
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x42f0
leaq 0x220(%rsp), %rdi
callq 0x120c2
leaq 0x1b0(%rsp), %rdi
callq 0x1046a
movq 0x290(%rsp), %rdi
leaq 0x2a0(%rsp), %rax
cmpq %rax, %rdi
je 0x61b2
movq 0x2a0(%rsp), %rsi
incq %rsi
callq 0x42f0
jmp 0x61b2
testb %sil, %sil
je 0x837d
movq 0x14bd5(%rip), %rdi     # 0x1cfe8
leaq 0xe97f(%rip), %rsi      # 0x16d99
movl $0x3b, %edx
callq 0x4330
jmp 0x837d
movl $0x70, %edi
callq 0x4190
movq %rax, %r15
leaq 0x20(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xec3c(%rip), %rsi      # 0x17083
leaq 0xec58(%rip), %rdx      # 0x170a6
leaq 0x10(%rsp), %rdi
callq 0xec92
leaq 0x10(%r15), %rax
movq %rax, (%r15)
movq $0x0, 0x8(%r15)
movb $0x0, 0x10(%r15)
leaq 0x30(%r15), %rax
movq %rax, 0x20(%r15)
movq 0x10(%rsp), %rcx
cmpq %r12, %rcx
jne 0x8488
movups (%r12), %xmm0
movups %xmm0, (%rax)
jmp 0x8495
movq %rcx, 0x20(%r15)
movq 0x20(%rsp), %rax
movq %rax, 0x30(%r15)
movq 0x18(%rsp), %rax
movq %rax, 0x28(%r15)
movq %r12, 0x10(%rsp)
xorl %eax, %eax
movq %rax, 0x18(%rsp)
movb %al, 0x20(%rsp)
movl $0xffffffff, 0x40(%r15) # imm = 0xFFFFFFFF
movq %r15, %rcx
addq $0x58, %rcx
movq %rcx, 0x48(%r15)
movq %rax, 0x50(%r15)
movb %al, 0x58(%r15)
movq 0xe0(%rsp), %rax
movq %rax, 0x68(%r15)
leaq 0x14834(%rip), %rsi     # 0x1cd10
leaq 0x928f(%rip), %rdx      # 0x11772
movq %r15, %rdi
callq 0x44d0
jmp 0x8b01
movl $0x70, %edi
callq 0x4190
movq %rax, %r15
leaq 0x20(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xeaae(%rip), %rsi      # 0x16fbc
leaq 0xeace(%rip), %rdx      # 0x16fe3
leaq 0x10(%rsp), %rdi
callq 0xec92
leaq 0x10(%r15), %rax
movq %rax, (%r15)
movq $0x0, 0x8(%r15)
movb $0x0, 0x10(%r15)
leaq 0x30(%r15), %rax
movq %rax, 0x20(%r15)
movq 0x10(%rsp), %rcx
cmpq %r12, %rcx
jne 0x883a
movups (%r12), %xmm0
movups %xmm0, (%rax)
jmp 0x8847
movl $0x70, %edi
callq 0x4190
movq %rax, %r15
leaq 0x20(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xeb0f(%rip), %rsi      # 0x17083
leaq 0xeb2b(%rip), %rdx      # 0x170a6
leaq 0x10(%rsp), %rdi
callq 0xec92
leaq 0x10(%r15), %rax
movq %rax, (%r15)
movq $0x0, 0x8(%r15)
movb $0x0, 0x10(%r15)
leaq 0x30(%r15), %rax
movq %rax, 0x20(%r15)
movq 0x10(%rsp), %rcx
cmpq %r12, %rcx
jne 0x88a2
movups (%r12), %xmm0
movups %xmm0, (%rax)
jmp 0x88af
movl $0x70, %edi
callq 0x4190
movq %rax, %r15
movq 0x250(%rsp), %rax
cmpq 0x258(%rsp), %rax
jne 0x8776
movq 0x268(%rsp), %rax
movq -0x8(%rax), %rax
movl 0x1f8(%rax), %ecx
movl %ecx, 0x10(%rsp)
addq $0x200, %rax            # imm = 0x200
jmp 0x877d
movl $0x70, %edi
callq 0x4190
movq %rax, %r15
movq 0x250(%rsp), %rax
cmpq 0x258(%rsp), %rax
jne 0x87d8
movq 0x268(%rsp), %rax
movq -0x8(%rax), %rax
movl 0x1f8(%rax), %ecx
movl %ecx, 0x10(%rsp)
addq $0x200, %rax            # imm = 0x200
jmp 0x87df
movl $0x70, %edi
callq 0x4190
movq %rax, %r15
leaq 0x20(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xe982(%rip), %rsi      # 0x16fe4
leaq 0xe9a3(%rip), %rdx      # 0x1700c
leaq 0x10(%rsp), %rdi
callq 0xec92
leaq 0x10(%r15), %rax
movq %rax, (%r15)
movq $0x0, 0x8(%r15)
movb $0x0, 0x10(%r15)
leaq 0x30(%r15), %rax
movq %rax, 0x20(%r15)
movq 0x10(%rsp), %rcx
cmpq %r12, %rcx
jne 0x890a
movups (%r12), %xmm0
movups %xmm0, (%rax)
jmp 0x8917
movl $0x70, %edi
callq 0x4190
movq %rax, %r15
leaq 0x20(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xe96d(%rip), %rsi      # 0x17035
leaq 0xe98c(%rip), %rdx      # 0x1705b
leaq 0x10(%rsp), %rdi
callq 0xec92
leaq 0x10(%r15), %rax
movq %rax, (%r15)
movq $0x0, 0x8(%r15)
movb $0x0, 0x10(%r15)
leaq 0x30(%r15), %rax
movq %rax, 0x20(%r15)
movq 0x10(%rsp), %rcx
cmpq %r12, %rcx
jne 0x8972
movups (%r12), %xmm0
movups %xmm0, (%rax)
jmp 0x897f
movl $0x70, %edi
callq 0x4190
movq %rax, %r15
leaq 0x20(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xe92e(%rip), %rsi      # 0x1705c
leaq 0xe94d(%rip), %rdx      # 0x17082
leaq 0x10(%rsp), %rdi
callq 0xec92
leaq 0x10(%r15), %rax
movq %rax, (%r15)
movq $0x0, 0x8(%r15)
movb $0x0, 0x10(%r15)
leaq 0x30(%r15), %rax
movq %rax, 0x20(%r15)
movq 0x10(%rsp), %rcx
cmpq %r12, %rcx
jne 0x8a39
movups (%r12), %xmm0
movups %xmm0, (%rax)
jmp 0x8a46
movl -0x8(%rax), %ecx
movl %ecx, 0x10(%rsp)
addq $-0x28, %rax
movq %rax, 0x18(%rsp)
leaq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
movq %rax, (%rdi)
leaq 0xe6eb(%rip), %rsi      # 0x16e85
leaq 0xe73d(%rip), %rdx      # 0x16ede
callq 0xec92
movb $0x1, %bpl
leaq 0x10(%rsp), %rsi
leaq 0x58(%rsp), %rdx
movq %r15, %rdi
callq 0x116d2
xorl %ebp, %ebp
leaq 0x1454c(%rip), %rsi     # 0x1cd10
leaq 0x8fa7(%rip), %rdx      # 0x11772
movq %r15, %rdi
callq 0x44d0
jmp 0x9011
movl -0x8(%rax), %ecx
movl %ecx, 0x10(%rsp)
addq $-0x28, %rax
movq %rax, 0x18(%rsp)
leaq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
movq %rax, (%rdi)
leaq 0xe654(%rip), %rsi      # 0x16e50
leaq 0xe681(%rip), %rdx      # 0x16e84
callq 0xec92
movb $0x1, %bpl
leaq 0x10(%rsp), %rsi
leaq 0x58(%rsp), %rdx
movq %r15, %rdi
callq 0x116d2
xorl %ebp, %ebp
leaq 0x144ea(%rip), %rsi     # 0x1cd10
leaq 0x8f45(%rip), %rdx      # 0x11772
movq %r15, %rdi
callq 0x44d0
jmp 0x9011
movq %rcx, 0x20(%r15)
movq 0x20(%rsp), %rax
movq %rax, 0x30(%r15)
movq 0x18(%rsp), %rax
movq %rax, 0x28(%r15)
movq %r12, 0x10(%rsp)
xorl %eax, %eax
movq %rax, 0x18(%rsp)
movb %al, 0x20(%rsp)
movl $0xffffffff, 0x40(%r15) # imm = 0xFFFFFFFF
movq %r15, %rcx
addq $0x58, %rcx
movq %rcx, 0x48(%r15)
movq %rax, 0x50(%r15)
movb %al, 0x58(%r15)
movq 0xe0(%rsp), %rax
movq %rax, 0x68(%r15)
leaq 0x14482(%rip), %rsi     # 0x1cd10
leaq 0x8edd(%rip), %rdx      # 0x11772
movq %r15, %rdi
callq 0x44d0
jmp 0x8b01
movq %rcx, 0x20(%r15)
movq 0x20(%rsp), %rax
movq %rax, 0x30(%r15)
movq 0x18(%rsp), %rax
movq %rax, 0x28(%r15)
movq %r12, 0x10(%rsp)
xorl %eax, %eax
movq %rax, 0x18(%rsp)
movb %al, 0x20(%rsp)
movl $0xffffffff, 0x40(%r15) # imm = 0xFFFFFFFF
movq %r15, %rcx
addq $0x58, %rcx
movq %rcx, 0x48(%r15)
movq %rax, 0x50(%r15)
movb %al, 0x58(%r15)
movq 0xe0(%rsp), %rax
movq %rax, 0x68(%r15)
leaq 0x1441a(%rip), %rsi     # 0x1cd10
leaq 0x8e75(%rip), %rdx      # 0x11772
movq %r15, %rdi
callq 0x44d0
jmp 0x8b01
movq %rcx, 0x20(%r15)
movq 0x20(%rsp), %rax
movq %rax, 0x30(%r15)
movq 0x18(%rsp), %rax
movq %rax, 0x28(%r15)
movq %r12, 0x10(%rsp)
xorl %eax, %eax
movq %rax, 0x18(%rsp)
movb %al, 0x20(%rsp)
movl $0xffffffff, 0x40(%r15) # imm = 0xFFFFFFFF
movq %r15, %rcx
addq $0x58, %rcx
movq %rcx, 0x48(%r15)
movq %rax, 0x50(%r15)
movb %al, 0x58(%r15)
movq 0xe0(%rsp), %rax
movq %rax, 0x68(%r15)
leaq 0x143b2(%rip), %rsi     # 0x1cd10
leaq 0x8e0d(%rip), %rdx      # 0x11772
movq %r15, %rdi
callq 0x44d0
jmp 0x8b01
movq %rcx, 0x20(%r15)
movq 0x20(%rsp), %rax
movq %rax, 0x30(%r15)
movq 0x18(%rsp), %rax
movq %rax, 0x28(%r15)
movq %r12, 0x10(%rsp)
xorl %eax, %eax
movq %rax, 0x18(%rsp)
movb %al, 0x20(%rsp)
movl $0xffffffff, 0x40(%r15) # imm = 0xFFFFFFFF
movq %r15, %rcx
addq $0x58, %rcx
movq %rcx, 0x48(%r15)
movq %rax, 0x50(%r15)
movb %al, 0x58(%r15)
movq 0xe0(%rsp), %rax
movq %rax, 0x68(%r15)
leaq 0x1434a(%rip), %rsi     # 0x1cd10
leaq 0x8da5(%rip), %rdx      # 0x11772
movq %r15, %rdi
callq 0x44d0
jmp 0x8b01
movl $0x70, %edi
callq 0x4190
movq %rax, %r15
leaq 0x20(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xe615(%rip), %rsi      # 0x1700d
leaq 0xe635(%rip), %rdx      # 0x17034
leaq 0x10(%rsp), %rdi
callq 0xec92
leaq 0x10(%r15), %rax
movq %rax, (%r15)
movq $0x0, 0x8(%r15)
movb $0x0, 0x10(%r15)
leaq 0x30(%r15), %rax
movq %rax, 0x20(%r15)
movq 0x10(%rsp), %rcx
cmpq %r12, %rcx
jne 0x8a9e
movups (%r12), %xmm0
movups %xmm0, (%rax)
jmp 0x8aab
movq %rcx, 0x20(%r15)
movq 0x20(%rsp), %rax
movq %rax, 0x30(%r15)
movq 0x18(%rsp), %rax
movq %rax, 0x28(%r15)
movq %r12, 0x10(%rsp)
xorl %eax, %eax
movq %rax, 0x18(%rsp)
movb %al, 0x20(%rsp)
movl $0xffffffff, 0x40(%r15) # imm = 0xFFFFFFFF
movq %r15, %rcx
addq $0x58, %rcx
movq %rcx, 0x48(%r15)
movq %rax, 0x50(%r15)
movb %al, 0x58(%r15)
movq 0xe0(%rsp), %rax
movq %rax, 0x68(%r15)
leaq 0x14283(%rip), %rsi     # 0x1cd10
leaq 0x8cde(%rip), %rdx      # 0x11772
movq %r15, %rdi
callq 0x44d0
jmp 0x8b01
movq %rcx, 0x20(%r15)
movq 0x20(%rsp), %rax
movq %rax, 0x30(%r15)
movq 0x18(%rsp), %rax
movq %rax, 0x28(%r15)
movq %r12, 0x10(%rsp)
xorl %eax, %eax
movq %rax, 0x18(%rsp)
movb %al, 0x20(%rsp)
movl $0xffffffff, 0x40(%r15) # imm = 0xFFFFFFFF
movq %r15, %rcx
addq $0x58, %rcx
movq %rcx, 0x48(%r15)
movq %rax, 0x50(%r15)
movb %al, 0x58(%r15)
movq 0xe0(%rsp), %rax
movq %rax, 0x68(%r15)
leaq 0x1421e(%rip), %rsi     # 0x1cd10
leaq 0x8c79(%rip), %rdx      # 0x11772
movq %r15, %rdi
callq 0x44d0
movl $0x70, %edi
callq 0x4190
movq %rax, %r15
leaq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
movq %rax, (%rdi)
leaq 0xe3ec(%rip), %rsi      # 0x16f14
leaq 0xe3f7(%rip), %rdx      # 0x16f26
callq 0xec92
movq 0x250(%rsp), %rax
cmpq 0x258(%rsp), %rax
jne 0x8d6c
movq 0x268(%rsp), %rax
movq -0x8(%rax), %rax
movl 0x1f8(%rax), %ecx
movl %ecx, 0x10(%rsp)
addq $0x200, %rax            # imm = 0x200
jmp 0x8d73
movl $0x70, %edi
callq 0x4190
movq %rax, %r15
leaq 0xe3a8(%rip), %rsi      # 0x16f27
leaq 0x58(%rsp), %rdi
leaq 0x2e8(%rsp), %rdx
callq 0x11eda
leaq 0xe392(%rip), %rsi      # 0x16f2a
leaq 0x58(%rsp), %rdi
callq 0x4540
leaq 0x100(%rsp), %rcx
movq %rcx, 0xf0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x8e5f
movups (%rcx), %xmm0
leaq 0x100(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x8e72
movl $0x4, %edi
callq 0x4190
movq %rax, %rdi
movl $0x0, (%rax)
jmp 0x8d5e
movq 0x143f1(%rip), %rdi     # 0x1cfe8
leaq 0xe4a9(%rip), %rsi      # 0x170a7
movl $0x32, %edx
callq 0x4330
movq 0x143d9(%rip), %rdi     # 0x1cfe8
movq 0xc8(%rsp), %rsi
callq 0x42d0
movq %rax, %rbx
leaq 0xe4b4(%rip), %rsi      # 0x170da
movl $0x21, %edx
movq %rax, %rdi
callq 0x4330
movq %rbx, %rdi
movq 0xd0(%rsp), %rsi
callq 0x42d0
leaq 0xd56f(%rip), %rsi      # 0x161b9
movl $0x3, %edx
movq %rax, %rdi
callq 0x4330
movl $0x1, %edi
callq 0x4190
leaq 0x14070(%rip), %rsi     # 0x1ccd8
movq %rax, %rdi
xorl %edx, %edx
callq 0x44d0
jmp 0x8f36
movq 0x250(%rsp), %rax
cmpq 0x258(%rsp), %rax
jne 0x8c9a
movq 0x268(%rsp), %rcx
movl $0x200, %eax            # imm = 0x200
addq -0x8(%rcx), %rax
addq $-0x28, %rax
movl %ebx, 0x58(%rsp)
movq %rax, 0x60(%rsp)
movl $0x70, %edi
callq 0x4190
movq %rax, %r15
leaq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
movq %rax, (%rdi)
leaq 0xe235(%rip), %rsi      # 0x16f03
leaq 0xe23e(%rip), %rdx      # 0x16f13
callq 0xec92
movb $0x1, %bpl
leaq 0x2c8(%rsp), %rsi
leaq 0xf0(%rsp), %rdx
leaq 0x58(%rsp), %rcx
movq %r15, %rdi
callq 0x11a64
xorl %ebp, %ebp
leaq 0x1400d(%rip), %rsi     # 0x1cd10
leaq 0x8a68(%rip), %rdx      # 0x11772
movq %r15, %rdi
callq 0x44d0
jmp 0x9011
movl $0x10, %edi
callq 0x4190
movq %rax, %r15
leaq 0xe281(%rip), %rsi      # 0x16fac
movq %rax, %rdi
callq 0x4340
movq 0x14286(%rip), %rsi     # 0x1cfc0
movq 0x1425f(%rip), %rdx     # 0x1cfa0
movq %r15, %rdi
callq 0x44d0
movq %rax, %r15
movl $0x4, %edi
callq 0x4190
movq %rax, %rdi
movl (%r15), %eax
movl %eax, (%rdi)
leaq 0x13ddb(%rip), %rsi     # 0x1cb40
xorl %edx, %edx
callq 0x44d0
movl -0x8(%rax), %ecx
movl %ecx, 0x10(%rsp)
addq $-0x28, %rax
leaq 0x10(%rsp), %rcx
movq %rax, 0x8(%rcx)
movb $0x1, %bpl
leaq 0x2c8(%rsp), %rsi
leaq 0xf0(%rsp), %rdx
movq %r15, %rdi
callq 0x11a64
xorl %ebp, %ebp
leaq 0x13f6c(%rip), %rsi     # 0x1cd10
leaq 0x89c7(%rip), %rdx      # 0x11772
movq %r15, %rdi
callq 0x44d0
jmp 0x9011
movl $0x40, %edi
callq 0x4190
movq %rax, %r15
leaq 0xe127(%rip), %rdx      # 0x16ef3
leaq 0x58(%rsp), %rdi
leaq 0x190(%rsp), %rsi
callq 0x1196e
movl %r12d, %edi
callq 0x40f0
leaq 0x58(%rsp), %rdi
movq %rax, %rsi
callq 0x4540
leaq 0x100(%rsp), %rcx
movq %rcx, 0xf0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x8f36
movups (%rcx), %xmm0
leaq 0x100(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x8f49
movl $0x1, %edi
callq 0x4190
leaq 0x13cc6(%rip), %rsi     # 0x1cb00
movq %rax, %rdi
xorl %edx, %edx
callq 0x44d0
movl $0x1, %edi
callq 0x4190
leaq 0x13cab(%rip), %rsi     # 0x1cb00
movq %rax, %rdi
xorl %edx, %edx
callq 0x44d0
movq %rdx, 0xf0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x100(%rsp)
movq 0x8(%rax), %rsi
leaq 0xf0(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %bpl
leaq 0x2c8(%rsp), %rsi
leaq 0x348(%rsp), %rcx
movq %r15, %rdi
callq 0x11a64
xorl %ebp, %ebp
leaq 0x13e5b(%rip), %rsi     # 0x1cd10
leaq 0x88b6(%rip), %rdx      # 0x11772
movq %r15, %rdi
callq 0x44d0
movq 0x1411d(%rip), %rdi     # 0x1cfe8
leaq 0xdc82(%rip), %rsi      # 0x16b54
movl $0x13, %edx
callq 0x4330
movq 0x14105(%rip), %rdi     # 0x1cfe8
movq 0xd0(%rsp), %rsi
callq 0x42d0
movq %rax, %rbx
leaq 0xe202(%rip), %rsi      # 0x170fc
movl $0x27, %edx
movq %rax, %rdi
callq 0x4330
leaq 0xe216(%rip), %rsi      # 0x17124
movl $0x21, %edx
movq %rbx, %rdi
callq 0x4330
movl $0x1, %edi
callq 0x4190
leaq 0x13dac(%rip), %rsi     # 0x1ccd8
movq %rax, %rdi
xorl %edx, %edx
callq 0x44d0
movq %rdx, 0xf0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x100(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0xf8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x10(%r15), %rax
movq %rax, (%r15)
movq 0x2c8(%rsp), %rsi
movq 0x2d0(%rsp), %rdx
addq %rsi, %rdx
movb $0x1, %bpl
movq %r15, %rdi
callq 0x11564
movq %r15, %rax
addq $0x30, %rax
movq %rax, 0x20(%r15)
movq 0xf0(%rsp), %rcx
leaq 0x100(%rsp), %rdx
cmpq %rdx, %rcx
jne 0x8fb9
leaq 0x100(%rsp), %rcx
movups (%rcx), %xmm0
movups %xmm0, (%rax)
jmp 0x8fc9
movq %rcx, 0x20(%r15)
movq 0x100(%rsp), %rax
movq %rax, 0x30(%r15)
movq 0xf8(%rsp), %rax
movq %rax, 0x28(%r15)
leaq 0x100(%rsp), %rax
movq %rax, 0xf0(%rsp)
movq $0x0, 0xf8(%rsp)
movb $0x0, 0x100(%rsp)
xorl %ebp, %ebp
leaq 0x13cfe(%rip), %rsi     # 0x1cd00
leaq 0x8a25(%rip), %rdx      # 0x11a2e
movq %r15, %rdi
callq 0x44d0
jmp 0x9038
jmp 0x93bc
jmp 0x93bc
jmp 0x93bc
jmp 0x93bc
jmp 0x93bc
jmp 0x9038
jmp 0x93bc
jmp 0x93bc
movq %rax, %r13
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x93bf
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x42f0
jmp 0x93bf
movq %rdx, %r14
movq %rax, %r13
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x909c
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x42f0
jmp 0x909c
movq %rdx, %r14
movq %rax, %r13
movb $0x1, %bpl
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x90df
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x42f0
jmp 0x90df
jmp 0x92ea
jmp 0x92ea
jmp 0x93bc
movq %rax, %r13
jmp 0x93da
jmp 0x92e0
movq %rdx, %r14
movq %rax, %r13
movb $0x1, %bpl
testb %bpl, %bpl
je 0x97b8
movq %r15, %rdi
callq 0x4240
jmp 0x97b8
jmp 0x931b
jmp 0x947a
jmp 0x9257
jmp 0x947a
movq %rax, %r13
cmpl $0x1, %edx
jne 0x947d
movq %r13, %rdi
callq 0x4130
movq 0x13ec4(%rip), %rdi     # 0x1cfe8
leaq 0xd923(%rip), %rsi      # 0x16a4e
movl $0x57, %edx
callq 0x4330
callq 0x44b0
movq 0xc8(%rsp), %r14
jmp 0x6335
jmp 0x947a
movq %rax, %r13
callq 0x44b0
jmp 0x947d
movq %rdx, %r14
movq %rax, %r13
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x918f
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x42f0
jmp 0x918f
movq %rdx, %r14
movq %rax, %r13
movb $0x1, %bpl
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x9282
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x42f0
jmp 0x9282
movq %rdx, %r14
movq %rax, %r13
jmp 0x9845
movq %rax, %r13
movq 0x308(%rsp), %rdi
cmpq %r14, %rdi
je 0x93f6
movq 0x318(%rsp), %rsi
jmp 0x93ee
movq %rax, %r13
jmp 0x9403
movq %rdx, %r14
movq %rax, %r13
jmp 0x91fe
movq %rdx, %r14
movq %rax, %r13
movq %r15, %rdi
callq 0x4240
leaq 0xa0(%rsp), %r12
jmp 0x9764
movq %rdx, %r14
movq %rax, %r13
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x9241
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x42f0
jmp 0x9241
movq %rdx, %r14
movq %rax, %r13
movb $0x1, %bpl
testb %bpl, %bpl
je 0x97dd
movq %r15, %rdi
callq 0x4240
jmp 0x97dd
movq %rax, %r13
leaq 0x100(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x932f
jmp 0x947d
jmp 0x93bc
movq %rdx, %r14
movq %rax, %r13
movb $0x1, %bpl
testb %bpl, %bpl
je 0x9786
movq %r15, %rdi
callq 0x4240
jmp 0x9786
movq %rdx, %r14
movq %rax, %r13
jmp 0x973f
movq %rdx, %r14
movq %rax, %r13
movq 0x328(%rsp), %rdi
cmpq %r12, %rdi
je 0x92ce
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x42f0
jmp 0x92ce
movq %rdx, %r14
movq %rax, %r13
leaq 0xf0(%rsp), %rdi
callq 0x14414
jmp 0x97b8
movq %rax, %r13
jmp 0x93f6
jmp 0x92ea
movq %rdx, %r14
movq %rax, %r13
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x9395
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x42f0
jmp 0x9395
movq %rax, %r13
movq 0xf0(%rsp), %rdi
cmpq %r12, %rdi
je 0x947d
movq 0x100(%rsp), %rsi
jmp 0x942d
movq %rdx, %r14
movq %rax, %r13
jmp 0x9786
movq %rdx, %r14
movq %rax, %r13
jmp 0x9764
movq %rdx, %r14
movq %rax, %r13
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x9388
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x42f0
jmp 0x9388
movq %rdx, %r14
movq %rax, %r13
movb $0x1, %bpl
testb %bpl, %bpl
je 0x9395
movq %r15, %rdi
callq 0x4240
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x9802
movq 0x68(%rsp), %rsi
jmp 0x97fa
jmp 0x947a
jmp 0x947a
movq %rax, %r13
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x93da
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x42f0
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x93f6
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x42f0
leaq 0x220(%rsp), %rdi
callq 0x120c2
leaq 0x1b0(%rsp), %rdi
callq 0x1046a
movq 0x290(%rsp), %rdi
leaq 0x2a0(%rsp), %rax
cmpq %rax, %rdi
je 0x947d
movq 0x2a0(%rsp), %rsi
incq %rsi
callq 0x42f0
jmp 0x947d
jmp 0x947a
movq %rdx, %r14
movq %rax, %r13
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x9456
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x42f0
xorl %eax, %eax
jmp 0x9462
movq %rdx, %r14
movq %rax, %r13
movb $0x1, %al
testb %al, %al
je 0x9713
jmp 0x96e8
movq %rdx, %r14
movq %rax, %r13
jmp 0x9802
movq %rax, %r13
leaq 0x44(%rsp), %rdi
callq 0x1046a
leaq 0x2b0(%rsp), %rdi
callq 0x14414
movq 0x270(%rsp), %rdi
leaq 0x280(%rsp), %rax
cmpq %rax, %rdi
je 0x94b9
movq 0x280(%rsp), %rsi
incq %rsi
callq 0x42f0
movq 0x1d8(%rsp), %rdi
leaq 0x1e8(%rsp), %rax
cmpq %rax, %rdi
je 0x94de
movq 0x1e8(%rsp), %rsi
incq %rsi
callq 0x42f0
leaq 0x200(%rsp), %rdi
callq 0xfdf8
movq %r13, %rdi
callq 0x44f0
movq %rdx, %r14
movq %rax, %r13
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x9510
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x42f0
xorl %eax, %eax
jmp 0x951c
movq %rdx, %r14
movq %rax, %r13
movb $0x1, %al
testb %al, %al
je 0x9713
jmp 0x96e8
jmp 0x9933
jmp 0x9933
movq %rdx, %r14
movq %rax, %r13
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x9550
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x42f0
xorl %eax, %eax
jmp 0x955c
movq %rdx, %r14
movq %rax, %r13
movb $0x1, %al
testb %al, %al
je 0x9713
jmp 0x96e8
movq %rdx, %r14
movq %rax, %r13
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x9586
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x42f0
xorl %eax, %eax
jmp 0x9592
movq %rdx, %r14
movq %rax, %r13
movb $0x1, %al
testb %al, %al
je 0x9713
jmp 0x96e8
movq %rdx, %r14
movq %rax, %r13
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x95cc
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x42f0
jmp 0x95cc
movq %rdx, %r14
movq %rax, %r13
movb $0x1, %bpl
testb %bpl, %bpl
je 0x9695
jmp 0x960d
movq %rdx, %r14
movq %rax, %r13
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x9604
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x42f0
jmp 0x9604
movq %rdx, %r14
movq %rax, %r13
movb $0x1, %bpl
testb %bpl, %bpl
je 0x9695
movq %r15, %rdi
callq 0x4240
jmp 0x9695
jmp 0x971d
jmp 0x971d
movq %rdx, %r14
movq %rax, %r13
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x963e
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x42f0
xorl %eax, %eax
jmp 0x964a
movq %rdx, %r14
movq %rax, %r13
movb $0x1, %al
testb %al, %al
je 0x9713
jmp 0x96e8
movq %rdx, %r14
movq %rax, %r13
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x9674
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x42f0
xorl %eax, %eax
jmp 0x9680
movq %rdx, %r14
movq %rax, %r13
movb $0x1, %al
testb %al, %al
je 0x9713
jmp 0x96e8
jmp 0x9933
movq %rdx, %r14
movq %rax, %r13
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x9802
movq 0x100(%rsp), %rsi
jmp 0x97fa
movq %rdx, %r14
movq %rax, %r13
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x96d8
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x42f0
xorl %eax, %eax
jmp 0x96e4
movq %rdx, %r14
movq %rax, %r13
movb $0x1, %al
testb %al, %al
je 0x9713
movq %r15, %rdi
callq 0x4240
jmp 0x9713
movq %rdx, %r14
movq %rax, %r13
leaq 0xa0(%rsp), %r12
jmp 0x973f
movq %rdx, %r14
movq %rax, %r13
movq %rbx, %r12
jmp 0x9723
movq %rdx, %r14
movq %rax, %r13
leaq 0xa0(%rsp), %r12
jmp 0x9723
movq %rdx, %r14
movq %rax, %r13
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x973f
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x42f0
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x9764
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x42f0
movq 0xa0(%rsp), %rdi
cmpq %r12, %rdi
je 0x9786
movq (%rdi), %r15
movl $0x18, %esi
callq 0x42f0
movq %r15, %rdi
cmpq %r12, %r15
jne 0x9771
movq 0x1b8(%rsp), %rdi
leaq 0x1b8(%rsp), %rax
cmpq %rax, %rdi
je 0x97b8
movq (%rdi), %r15
movl $0x18, %esi
callq 0x42f0
movq %r15, %rdi
leaq 0x1b8(%rsp), %rax
cmpq %rax, %r15
jne 0x979b
movq 0x190(%rsp), %rdi
leaq 0x1a0(%rsp), %rax
cmpq %rax, %rdi
je 0x97dd
movq 0x1a0(%rsp), %rsi
incq %rsi
callq 0x42f0
movq 0x2e8(%rsp), %rdi
leaq 0x2f8(%rsp), %rax
cmpq %rax, %rdi
je 0x9802
movq 0x2f8(%rsp), %rsi
incq %rsi
callq 0x42f0
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x9824
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x42f0
leaq 0x2d8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x9845
movq 0x2d8(%rsp), %rsi
incq %rsi
callq 0x42f0
cmpl $0x3, %r14d
jne 0x9862
movq %r13, %rdi
callq 0x4130
movl $0x1, %ebp
callq 0x44b0
jmp 0x83bb
cmpl $0x2, %r14d
jne 0x93f6
movq %r13, %rdi
callq 0x4130
movq 0x1376d(%rip), %rdi     # 0x1cfe8
leaq 0xda95(%rip), %rsi      # 0x17317
movl $0xa, %edx
callq 0x4330
movq 0x250(%rsp), %rax
cmpq 0x258(%rsp), %rax
jne 0x98af
movq 0x268(%rsp), %rcx
movl $0x200, %eax            # imm = 0x200
addq -0x8(%rcx), %rax
movq -0x28(%rax), %rsi
movq -0x20(%rax), %rdx
movq 0x1372a(%rip), %rdi     # 0x1cfe8
callq 0x4330
movq %rax, %rbx
leaq 0xd20e(%rip), %rsi      # 0x16adb
movl $0x2, %edx
movq %rax, %rdi
callq 0x4330
callq 0x4040
movl (%rax), %edi
callq 0x40f0
movq %rbx, %rdi
movq %rax, %rsi
callq 0x42d0
leaq 0xd21d(%rip), %rsi      # 0x16b15
movl $0x1, %edx
movq %rax, %rdi
callq 0x4330
movl $0x1, %ebp
callq 0x44b0
jmp 0x83bb
jmp 0x92e0
jmp 0x92e0
movq %rax, %r13
callq 0x44b0
jmp 0x93f6
jmp 0x9933
jmp 0x9933
jmp 0x9933
jmp 0x9933
movq %rax, %rdi
callq 0xe564