// File: /workspace/github_cpp_makefile_star2_O3/greenpau[P]mnpa/main.cpp
// Function: main
int main(int argc, char* argv[]) {

    int thc = 1;
    // define data structure for multicast source threads
    MulticastSender senders[MAX];
    // define counter to store the id of a latest multicast source thread
    int cnts = 0;
    // define data structure for multicast receiver threads
    MulticastReceiver receivers[MAX];
    // define counter to store the id of a latest receiver thread
    int cntr = 0;
    // program scheduling priority
    int thrp = 0;

    if (argc < 2) {
       help(1);
    }

    for(int i = 1; i < argc; ++i) {
        if (strcmp(argv[i], "-h") == 0 || strcmp(argv[i], "--help") == 0) {
            help(0);
        } else if (strcmp(argv[i], "-s") == 0 || strcmp(argv[i], "--sender") == 0) {
            if (i+1 == argc) {
                logit(ERROR, "failed to supply a value for " + std::string(argv[i]) + " option");
                exit(1);
            }
            try {
                std::string rgx = "(\\S+)/(\\d+)/(\\d+-?\\d+?)/(\\d+)/(\\d+)/(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})/(\\d+)/(\\S+)";
                std::regex tp_rgx(rgx, std::regex_constants::ECMAScript);
                std::regex tp_rgx_range("(\\d+)-(\\d+)");
                std::string ia = argv[i+1];
                std::smatch m_rgx;
                if (std::regex_match(ia, m_rgx, tp_rgx)) {
                    char * ifname = new char [m_rgx[1].length()+1];
                    std::strcpy(ifname, std::string(m_rgx[1]).c_str());
                    senders[cnts].interface = ifname;
                    senders[cnts].count = stoi(m_rgx[2]);
                    std::smatch m_rgx_range;
                    std::string psr = m_rgx[3];
                    if (std::regex_match(psr, m_rgx_range, tp_rgx_range)) {
                        senders[cnts].low = stoi(m_rgx_range[1]);
                        senders[cnts].high = stoi(m_rgx_range[2]);
                    } else {
                        senders[cnts].low = stoi(psr);
                        senders[cnts].high = stoi(psr);
                    }
                    senders[cnts].group.sin_family = AF_INET;
                    senders[cnts].group.sin_addr.s_addr = inet_addr(m_rgx.str(6).c_str());
                    senders[cnts].group.sin_port = htons(stoi(m_rgx[7]));
                    senders[cnts].ttl = 255;
                    senders[cnts].duration = std::chrono::seconds(stoi(m_rgx[4]));
                    senders[cnts].offset = std::chrono::seconds(stoi(m_rgx[5]));
                    senders[cnts].tag = m_rgx[8];
                    if (senders[cnts].count == 0) {
                        senders[cnts].interval = std::chrono::microseconds(stoi(m_rgx[4]));
                    } else {
                        senders[cnts].interval = std::chrono::duration_cast<std::chrono::microseconds>(senders[cnts].duration) / senders[cnts].count;
                    }
                    cnts++;
                } else {
                    logit(ERROR, "failed to provide a valid multicast sender traffic pattern via " + \
                          std::string(argv[i]) + ": " + ia);
                    exit(1);
                }
            } catch (std::regex_error& e) {
                regex_error_handler(e);
                exit(1);
            }
            i++;
        } else if (strcmp(argv[i], "-g") == 0 || strcmp(argv[i], "--receiver") == 0) {
            if (i+1 == argc) {
                logit(ERROR, "failed to supply a value for " + std::string(argv[i]) + " option");
                exit(1);
            }
            try {
                std::regex tg_rgx_ip ("^([0-9.]+)/([0-9.]+)/([0-9]+)/([0-9]+)$");
                std::regex tg_rgx_host ("^([a-z0-9]+)/([0-9.]+)/([0-9]+)/([0-9]+)$");
                std::string ia = argv[i+1];
                std::smatch m_rgx_ip;
                std::smatch m_rgx_host;
                if (std::regex_match(ia, m_rgx_ip, tg_rgx_ip)) {
                    receivers[cntr].listener.sin_family = AF_INET;
                    receivers[cntr].listener.sin_port = htons(stoi(m_rgx_ip[3]));
                    receivers[cntr].listener.sin_addr.s_addr = INADDR_ANY;
                    receivers[cntr].group.imr_multiaddr.s_addr = inet_addr(m_rgx_ip.str(2).c_str());
                    receivers[cntr].group.imr_interface.s_addr = inet_addr(m_rgx_ip.str(1).c_str());
                    receivers[cntr].duration = std::chrono::seconds(stoi(m_rgx_ip[4]));
                    cntr++;
                } else if (std::regex_match(ia, m_rgx_host, tg_rgx_host)) {
                    receivers[cntr].listener.sin_family = AF_INET;
                    receivers[cntr].listener.sin_port = htons(stoi(m_rgx_host[3]));
                    receivers[cntr].listener.sin_addr.s_addr = INADDR_ANY;
                    receivers[cntr].group.imr_multiaddr.s_addr = inet_addr(m_rgx_host.str(2).c_str());
                    receivers[cntr].duration = std::chrono::seconds(stoi(m_rgx_host[4]));
                    struct ifaddrs *ifaddr, *ifa;
                    int addr_family, n;
                    if (getifaddrs(&ifaddr) == -1) {
                        logit(ERROR, "failed to call getifaddrs() function");
                        exit(1);
                    }
                    for (ifa = ifaddr, n = 0; ifa != NULL; ifa = ifa->ifa_next, n++) {
                        if (ifa->ifa_addr == NULL)
                            continue;
                        addr_family = ifa->ifa_addr->sa_family;
                        /* reserved for IPv6
                        if (addr_family == AF_INET || addr_family == AF_INET6) {
                        */
                        if (addr_family == AF_INET) {
                            logit(ERROR, ifa->ifa_name);
                            if (ifa->ifa_name == m_rgx_host.str(1)) {
                                receivers[cntr].group.imr_interface.s_addr = ((struct sockaddr_in *)(ifa->ifa_addr))->sin_addr.s_addr;
                                break;
                            }
                        }
                    }
                    freeifaddrs(ifaddr);
                    cntr++;
                } else {
                    logit(ERROR, "failed to provide a valid multicast listener traffic pattern via " + \
                          std::string(argv[i]) + ": " + ia);
                    exit(1);
                }
            } catch (std::regex_error& e) {
                regex_error_handler(e);
                exit(1);
            }
            i++;
        } else if (strcmp(argv[i], "-t") == 0 || strcmp(argv[i], "--threads") == 0) {
            if (i+1 == argc) {
                logit(ERROR, "failed to supply a value for " + std::string(argv[i]) + " option");
                exit(1);
            }
            thc = stoi(argv[i+1]);
            i++;
        } else if (strcmp(argv[i], "-p") == 0 || strcmp(argv[i], "--priority") == 0) {
            if (i+1 == argc) {
                logit(ERROR, "failed to supply a value for " + std::string(argv[i]) + " option");
                exit(1);
            }
            thrp = stoi(argv[i+1]);
            i++;
        } else if (strcmp(argv[i], "--random-payload") == 0) {
            RANDOMIZE = true;
        } else if (strcmp(argv[i], "--packet-storm") == 0) {
            PACKET_STORM = true;
        } else if (strcmp(argv[i], "--igmp-v2-report") == 0) {
            IGMP_REPORT_ONLY = true;
            USE_IGMP_V3 = false;
        } else if (strcmp(argv[i], "--igmp-v3-report") == 0) {
            IGMP_REPORT_ONLY = true;
            USE_IGMP_V3 = true;
        } else if (strcmp(argv[i], "-d") == 0 || strcmp(argv[i], "--daemonize") == 0) {
            DAEMONIZE = true;
        } else if (strcmp(argv[i], "--non-root") == 0) {
            NON_ROOT = true;
        } else if (strcmp(argv[i], "--stop") == 0) {
            REQUESTED_STOP = true;
        } else if (strcmp(argv[i], "--status") == 0) {
            REQUESTED_STATUS = true;
        } else if (strcmp(argv[i], "-v") == 0 || strcmp(argv[i], "--verbose") == 0) {
            logit(INFO, "logging is enabled");
            VERBOSE = 1;
        } else {
            logit(ERROR, "option " + std::string(argv[i]) + " is invalid");
            exit(1);
        }
    }

    int thrn = std::thread::hardware_concurrency();
    int tptrs = cntr + cnts;

    if (VERBOSE == 2) {
        VERBOSE = 0;
    }

    if (REQUESTED_STOP == true) {
        VERBOSE = 1;
        stop();
        exit(0);
    }

    if (REQUESTED_STATUS == true) {
        logit(ERROR, "--status is not yet implemented");
        exit(1);
    }

    if (tptrs == 0) {
        logit(ERROR, "failed to provide a multicast traffic pattern");
        exit(1);
    }

    if (cnts > 0) {
        for( int i = 0; i < cnts; i++ ) {
            logit(INFO, " * sender pattern #" + std::to_string(i));
            logit(INFO, "   - interface name:  " + std::string(senders[i].interface));
            logit(INFO, "   - multicast group: " + ipv4_from_s_addr(senders[i].group.sin_addr.s_addr) + \
                        ":" + std::to_string(ntohs(senders[i].group.sin_port)));
            if (senders[i].count != 0) {
                logit(INFO, "   - packet count:    " + format_t(senders[i].count) + " / size (min/max): " + \
                        std::to_string(senders[i].low) + "/" + std::to_string(senders[i].high) + " bytes");
                if (senders[i].duration.count() > 0) {
                   logit(INFO, "   - duration:        " + format_t(senders[i].duration.count()) + " seconds");
                } else if (PACKET_STORM == true) {
                   logit(INFO, "   - duration:        until completed");
                } else {
                   logit(INFO, "   - duration:        until completed or aborted");
                }
                // if count != 0, then `duration` is used to calculate an interval together with count itself.
                // thus, the interval below is invalid.
                if (PACKET_STORM == true) {
                    logit(INFO, "   - w/out intervals, immediate");
                } else {
                    logit(INFO, "   - interval:        " + format_t(senders[i].interval.count()) + " microseconds");
                }
            } else {
                logit(INFO, "   - packet count:    unlimited, size (min/max): " + \
                        std::to_string(senders[i].low) + "/" + std::to_string(senders[i].high) + " bytes");
                // if count == 0, then `duration` becomes `interval`.
                if (PACKET_STORM == true) {
                    logit(INFO, "   - w/out intervals, immediate");
                } else {
                    logit(INFO, "   - interval:        " + format_t(senders[i].interval.count()) + " microseconds");
                }
            }
            if (senders[i].offset.count() > 0) {
                logit(INFO, "   - offset:          " + format_t(senders[i].offset.count()) + " seconds");
            } else {
                logit(INFO, "   - immediate start, no offset");
            }
            logit(INFO, "   - tag:             " + senders[i].tag);
        }
    }

    if (cntr > 0) {
        for( int i = 0; i < cntr; i++ ) {
            logit(INFO, " * receiver pattern #" + std::to_string(i));
            logit(INFO, "   - interface ip:    " + ipv4_from_s_addr(receivers[i].group.imr_interface.s_addr));
            logit(INFO, "   - multicast group: " + ipv4_from_s_addr(receivers[i].group.imr_multiaddr.s_addr) + \
                        ":" + std::to_string(ntohs(receivers[i].listener.sin_port)));
            if (receivers[i].duration.count() > 0) {
                logit(INFO, "   - duration:        " + std::to_string(receivers[i].duration.count()) + " seconds");
            } else {
                logit(INFO, "   - duration:        until aborted");
            }
        }
    }

    if (thrn < tptrs) {
        logit(WARN, "the number of system resources available, e.g. CPU, is less than the number of patterns.");
    }

    logit(INFO, "threads requested/supported: " + std::to_string(thc) + "/" + std::to_string(thrn));

    if (thrp != 0) {
        logit(INFO, "requested scheduling priority: " + std::to_string(thrp));
        int cthrp;
        errno = 0;
        cthrp = getpriority(PRIO_PROCESS, getpid());
        if (cthrp == -1 && errno) {
            logit(ERROR, "failed to get scheduling priority");
        } else {
            logit(INFO, "current scheduling priority: " + std::to_string(cthrp));
        }
        errno = 0;
        cthrp = setpriority(PRIO_PROCESS, getpid(), thrp);
        if (cthrp == -1 && errno) {
            logit(ERROR, "failed to set scheduling priority");
        }
        errno = 0;
        cthrp = getpriority(PRIO_PROCESS, getpid());
        if (cthrp == -1 && errno) {
            logit(ERROR, "failed to get scheduling priority");
        } else {
            logit(INFO, "current scheduling priority: " + std::to_string(cthrp));
        }
    } else {
        logit(INFO, "default scheduling priority: " + std::to_string(thrp));
    }

    signal(SIGQUIT, signal_handler);
    signal(SIGINT, signal_handler);
    signal(SIGTERM, signal_handler);
    signal(SIGHUP, signal_handler);
    signal(SIGPIPE, signal_handler);
    signal(SIGKILL, signal_handler);

    fill_pkt_payload();

    std::thread mgr_thr;
    if (DAEMONIZE == false) {
        mgr_thr = std::thread(mgr_thread, senders, cnts, receivers, cntr);
        mgr_thr.join();
    } else {
        if (pid_t pid = fork()) {
            if (pid > 0) {
                logit(INFO, "fork() succeeded");
                exit(0);
            } else {
                logit(ERROR, "fork() failed");
                exit(1);
            }
        }
        if (setsid() < 0) {
            logit(ERROR, "failed to the new leader of the new session");
        }
        if(chdir("/") != 0) {
            logit(ERROR, "failed to switch to / (root) directory");
        }

        umask(0);

        if (pid_t pid = fork()) {
            if (pid > 0) {
                logit(INFO, "detached from a controlling terminal");
                exit(0);
            } else {
                logit(ERROR, "failed to detach from a controlling terminal");
                exit(1);
            }
        }
        close(0);
        close(1);
        close(2);
        mgr_thr = std::thread(mgr_thread, senders, cnts, receivers, cntr);
        mgr_thr.join();
    }
    exit(0);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x86d8, %rsp           # imm = 0x86D8
movq %rsi, 0x118(%rsp)
movl %edi, 0x120(%rsp)
movl $0x50, %eax
leaq (%rsp,%rax), %rcx
addq $0x2730, %rcx           # imm = 0x2730
movq %rcx, -0x10(%rcx)
movq $0x0, -0x8(%rcx)
movb $0x0, (%rcx)
addq $0x60, %rax
cmpq $0x5ff0, %rax           # imm = 0x5FF0
jne 0x1fe5a
xorl %eax, %eax
movl %eax, 0x28(%rsp)
movl %eax, 0x2c(%rsp)
cmpl $0x2, 0x120(%rsp)
jge 0x1fe9e
movl $0x1, %edi
callq 0x1948c
movq $0x0, 0x128(%rsp)
leaq 0x18(%rsp), %r15
movl $0x1, %eax
movq %rax, 0x198(%rsp)
leaq 0x8(%rsp), %r13
movl $0x1, %r14d
movq %r13, %rbp
movslq %r14d, %rbx
movq 0x118(%rsp), %rax
movq (%rax,%rbx,8), %r13
movb (%r13), %r12b
cmpb $0x2d, %r12b
jne 0x1ff3e
cmpb $0x68, 0x1(%r13)
jne 0x1fef5
cmpb $0x0, 0x2(%r13)
je 0x21990
movq %r13, %rdi
leaq 0xc34d5(%rip), %rsi     # 0xe33d4
callq 0x15660
testl %eax, %eax
je 0x21990
cmpb $0x73, 0x1(%r13)
jne 0x1ffa5
cmpb $0x0, 0x2(%r13)
je 0x20019
movq %r13, %rdi
leaq 0xc4096(%rip), %rsi     # 0xe3fc2
callq 0x15660
testl %eax, %eax
jne 0x1ffbe
jmp 0x20019
movq %r13, %rdi
leaq 0xc348c(%rip), %rsi     # 0xe33d4
callq 0x15660
testl %eax, %eax
je 0x21990
movq %r13, %rdi
leaq 0xc4063(%rip), %rsi     # 0xe3fc2
callq 0x15660
testl %eax, %eax
je 0x20019
movq %r13, %rdi
leaq 0xc411c(%rip), %rsi     # 0xe4092
callq 0x15660
testl %eax, %eax
je 0x201c8
cmpb $0x2d, %r12b
je 0x1ffe7
movq %r13, %rdi
leaq 0xc41c3(%rip), %rsi     # 0xe4156
callq 0x15660
testl %eax, %eax
jne 0x20e17
jmp 0x20f98
movq %r13, %rdi
leaq 0xc4013(%rip), %rsi     # 0xe3fc2
callq 0x15660
testl %eax, %eax
je 0x20019
cmpb $0x2d, %r12b
jne 0x1ff6c
cmpb $0x67, 0x1(%r13)
jne 0x1ffd0
cmpb $0x0, 0x2(%r13)
je 0x201c8
movq %r13, %rdi
leaq 0xc40b8(%rip), %rsi     # 0xe4092
callq 0x15660
testl %eax, %eax
je 0x201c8
cmpb $0x74, 0x1(%r13)
jne 0x20de8
cmpb $0x0, 0x2(%r13)
je 0x20f98
movq %r13, %rdi
leaq 0xc414f(%rip), %rsi     # 0xe4156
callq 0x15660
testl %eax, %eax
jne 0x20e05
jmp 0x20f98
incl %r14d
cmpl 0x120(%rsp), %r14d
je 0x219ea
movq %r15, 0x8(%rsp)
movq %rbp, %r12
movq %rbp, %rdi
leaq 0xc3fb5(%rip), %rsi     # 0xe3ff1
leaq 0xc4002(%rip), %rdx     # 0xe4045
callq 0x260a6
leaq 0x30(%rsp), %rdi
movq %r12, %rsi
movl $0x10, %edx
callq 0x25d1e
leaq 0xb0(%rsp), %rdi
leaq 0xc3fdd(%rip), %rsi     # 0xe4046
movl $0x10, %edx
callq 0x25942
movslq %r14d, %rax
movq 0x118(%rsp), %rcx
movq (%rcx,%rax,8), %rsi
leaq 0x90(%rsp), %rdi
leaq 0xd0(%rsp), %r12
movq %r12, %rdx
callq 0x25862
xorps %xmm0, %xmm0
movaps %xmm0, 0xe0(%rsp)
movaps %xmm0, 0xd0(%rsp)
movq 0x90(%rsp), %rdi
movq 0x98(%rsp), %rsi
addq %rdi, %rsi
movq %r12, %rdx
leaq 0x30(%rsp), %rcx
xorl %r8d, %r8d
callq 0x31743
testb %al, %al
je 0x21a51
movq 0xd0(%rsp), %rbx
movq 0xd8(%rsp), %r15
movq %r15, %r12
subq %rbx, %r12
je 0x20115
movq %r12, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x5, %rax
cmpq $-0x3, %rax
ja 0x20115
leaq 0x18(%rbx), %rax
jmp 0x2011d
leaq (%rbx,%r12), %rax
addq $-0x48, %rax
movq 0x8(%rax), %rdi
subq (%rax), %rdi
incq %rdi
cmpb $0x0, 0x10(%rax)
movl $0x1, %eax
cmoveq %rax, %rdi
callq 0x358e0
movq %rax, %r13
cmpq %r15, %rbx
je 0x20166
movq %r12, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
addq $-0x5, %rax
cmpq $-0x3, %rax
ja 0x20166
addq $0x18, %rbx
jmp 0x2016d
addq %r12, %rbx
addq $-0x48, %rbx
leaq 0x60(%rsp), %rax
cmpb $0x1, 0x10(%rbx)
leaq 0x18(%rsp), %r15
jne 0x202de
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %rax, 0x50(%rsp)
movq %rax, %r12
leaq 0x50(%rsp), %rdi
callq 0x33d90
movq 0x50(%rsp), %rbx
movq %r13, %rdi
movq %rbx, %rsi
callq 0x15690
cmpq %r12, %rbx
je 0x202fc
movq 0x60(%rsp), %rsi
incq %rsi
movq %rbx, %rdi
callq 0x340c0
jmp 0x202fc
incl %r14d
cmpl 0x120(%rsp), %r14d
je 0x21b84
movq %rbp, %r12
movq %rbp, %rdi
leaq 0xc3eb7(%rip), %rsi     # 0xe409d
movl $0x10, %edx
callq 0x25942
leaq 0x30(%rsp), %rdi
leaq 0xc3ec9(%rip), %rsi     # 0xe40c5
movl $0x10, %edx
callq 0x25942
movslq %r14d, %rax
movq 0x118(%rsp), %rcx
movq (%rcx,%rax,8), %rsi
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %r13
movq %r13, %rdx
callq 0x25862
xorps %xmm0, %xmm0
movaps %xmm0, 0xa0(%rsp)
movaps %xmm0, 0x90(%rsp)
movaps %xmm0, 0xe0(%rsp)
movaps %xmm0, 0xd0(%rsp)
movq 0xb0(%rsp), %rdi
movq 0xb8(%rsp), %rsi
addq %rdi, %rsi
movq %r13, %rdx
movq %r12, %rcx
xorl %r8d, %r8d
callq 0x31743
leaq 0xd0(%rsp), %rdx
leaq 0x50(%rsp), %r12
testb %al, %al
je 0x20651
movslq 0x2c(%rsp), %rax
shlq $0x5, %rax
movw $0x2, 0x750(%rsp,%rax)
movq 0x90(%rsp), %rax
movq 0x98(%rsp), %rcx
subq %rax, %rcx
je 0x2119b
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x7, %rdx
cmpq $-0x5, %rdx
ja 0x2119b
addq $0x48, %rax
jmp 0x211a2
movq %rax, 0x50(%rsp)
movq $0x0, 0x58(%rsp)
movb $0x0, 0x60(%rsp)
movq %rax, %rsi
movq %r13, %rdi
callq 0x15690
movslq 0x28(%rsp), %rax
leaq (%rax,%rax,2), %rax
shlq $0x5, %rax
movq %r13, 0x2730(%rsp,%rax)
movq 0xd0(%rsp), %rax
movq 0xd8(%rsp), %rcx
subq %rax, %rcx
je 0x2034b
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x6, %rdx
cmpq $-0x4, %rdx
ja 0x2034b
addq $0x30, %rax
jmp 0x20352
addq %rcx, %rax
addq $-0x48, %rax
leaq 0x60(%rsp), %rbx
leaq 0x50(%rsp), %rdi
cmpb $0x1, 0x10(%rax)
jne 0x2037a
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %rbx, 0x50(%rsp)
callq 0x33d90
movq 0x50(%rsp), %rbx
jmp 0x2038d
movq %rbx, 0x50(%rsp)
movq $0x0, 0x58(%rsp)
movb $0x0, 0x60(%rsp)
callq 0x15620
movq %rax, %r13
movl (%rax), %r12d
movl $0x0, (%rax)
movq %rbx, %rdi
leaq 0xf0(%rsp), %rsi
movl $0xa, %edx
callq 0x15510
cmpq %rbx, 0xf0(%rsp)
je 0x21acc
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x21ad8
movl (%r13), %ecx
cmpl $0x22, %ecx
je 0x21ad8
testl %ecx, %ecx
jne 0x203f0
movl %r12d, (%r13)
movslq 0x28(%rsp), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x5, %rcx
movl %eax, 0x274c(%rsp,%rcx)
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x20420
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x340c0
xorps %xmm0, %xmm0
movaps %xmm0, 0x60(%rsp)
movaps %xmm0, 0x50(%rsp)
movq 0xd0(%rsp), %rax
movq 0xd8(%rsp), %rcx
subq %rax, %rcx
je 0x20467
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x7, %rdx
cmpq $-0x5, %rdx
ja 0x20467
addq $0x48, %rax
jmp 0x2046e
addq %rcx, %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0x204aa
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq 0x100(%rsp), %rax
movq %rax, 0xf0(%rsp)
leaq 0xf0(%rsp), %rdi
callq 0x33d90
movq 0xf0(%rsp), %rdi
movq 0xf8(%rsp), %rsi
jmp 0x204d0
leaq 0x100(%rsp), %rdi
movq %rdi, 0xf0(%rsp)
movq $0x0, 0xf8(%rsp)
movb $0x0, 0x100(%rsp)
xorl %esi, %esi
addq %rdi, %rsi
leaq 0x50(%rsp), %rdx
leaq 0xb0(%rsp), %rcx
xorl %r8d, %r8d
callq 0x31743
testb %al, %al
je 0x2052b
movq 0x50(%rsp), %rax
movq 0x58(%rsp), %rcx
subq %rax, %rcx
je 0x20618
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x5, %rdx
cmpq $-0x3, %rdx
ja 0x20618
addq $0x18, %rax
jmp 0x2061f
movq 0xf0(%rsp), %rbx
movl (%r13), %r12d
movl $0x0, (%r13)
movq %rbx, %rdi
leaq 0x70(%rsp), %rsi
movl $0xa, %edx
callq 0x15510
cmpq %rbx, 0x70(%rsp)
je 0x21beb
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x21c03
movl (%r13), %ecx
cmpl $0x22, %ecx
je 0x21c03
testl %ecx, %ecx
jne 0x2058b
movl %r12d, (%r13)
movslq 0x28(%rsp), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x5, %rcx
movl %eax, 0x2750(%rsp,%rcx)
movq 0xf0(%rsp), %rbx
movl (%r13), %r12d
movl $0x0, (%r13)
movq %rbx, %rdi
leaq 0x70(%rsp), %rsi
movl $0xa, %edx
callq 0x15510
cmpq %rbx, 0x70(%rsp)
je 0x21c1b
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x21c33
movl (%r13), %ecx
cmpl $0x22, %ecx
je 0x21c33
testl %ecx, %ecx
jne 0x205ff
movl %r12d, (%r13)
movslq 0x28(%rsp), %rcx
leaq (%rcx,%rcx,2), %rdx
shlq $0x5, %rdx
movl %eax, 0x2754(%rsp,%rdx)
jmp 0x208a0
addq %rcx, %rax
addq $-0x48, %rax
leaq 0x70(%rsp), %rdi
cmpb $0x1, 0x10(%rax)
jne 0x206d1
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
callq 0x33d90
movq 0x70(%rsp), %rbx
jmp 0x206ef
movq 0xb0(%rsp), %rdi
movq 0xb8(%rsp), %rsi
addq %rdi, %rsi
leaq 0x30(%rsp), %rcx
xorl %r8d, %r8d
callq 0x31743
testb %al, %al
je 0x23a4c
movslq 0x2c(%rsp), %rax
shlq $0x5, %rax
movw $0x2, 0x750(%rsp,%rax)
movq 0xd0(%rsp), %rax
movq 0xd8(%rsp), %rcx
subq %rax, %rcx
je 0x211cf
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x7, %rdx
cmpq $-0x5, %rdx
ja 0x211cf
addq $0x48, %rax
jmp 0x211d6
leaq 0x80(%rsp), %rbx
movq %rbx, 0x70(%rsp)
movq $0x0, 0x78(%rsp)
movb $0x0, 0x80(%rsp)
movl (%r13), %r12d
movl $0x0, (%r13)
movq %rbx, %rdi
leaq 0x110(%rsp), %rsi
movl $0xa, %edx
callq 0x15510
cmpq %rbx, 0x110(%rsp)
je 0x21bf7
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x21c0f
movl (%r13), %ecx
cmpl $0x22, %ecx
je 0x21c0f
testl %ecx, %ecx
jne 0x2074d
movl %r12d, (%r13)
movslq 0x28(%rsp), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x5, %rcx
movl %eax, 0x2750(%rsp,%rcx)
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x20783
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x50(%rsp), %rax
movq 0x58(%rsp), %rcx
subq %rax, %rcx
leaq 0x70(%rsp), %rdi
je 0x207bc
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x6, %rdx
cmpq $-0x4, %rdx
ja 0x207bc
addq $0x30, %rax
jmp 0x207c3
addq %rcx, %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0x207e9
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
callq 0x33d90
movq 0x70(%rsp), %rbx
jmp 0x20807
leaq 0x80(%rsp), %rbx
movq %rbx, 0x70(%rsp)
movq $0x0, 0x78(%rsp)
movb $0x0, 0x80(%rsp)
movl (%r13), %r12d
movl $0x0, (%r13)
movq %rbx, %rdi
leaq 0x110(%rsp), %rsi
movl $0xa, %edx
callq 0x15510
cmpq %rbx, 0x110(%rsp)
je 0x21c27
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x21c3f
movl (%r13), %ecx
cmpl $0x22, %ecx
je 0x21c3f
testl %ecx, %ecx
jne 0x20865
movl %r12d, (%r13)
movslq 0x28(%rsp), %rcx
leaq (%rcx,%rcx,2), %rdx
shlq $0x5, %rdx
movl %eax, 0x2754(%rsp,%rdx)
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x208a0
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x340c0
movslq 0x28(%rsp), %rcx
leaq 0x70(%rsp), %rbx
leaq (%rcx,%rcx,2), %rax
shlq $0x5, %rax
movw $0x2, 0x2738(%rsp,%rax)
movl $0x6, %edx
movq %rbx, %rdi
leaq 0xd0(%rsp), %rsi
callq 0x25d82
movq 0x70(%rsp), %rdi
callq 0x158d0
movslq 0x28(%rsp), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x5, %rcx
movl %eax, 0x273c(%rsp,%rcx)
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x2090c
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0xd0(%rsp), %rax
movq 0xd8(%rsp), %rcx
subq %rax, %rcx
je 0x20948
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0xb, %rdx
cmpq $-0x9, %rdx
ja 0x20948
addq $0xa8, %rax
jmp 0x2094f
addq %rcx, %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0x20978
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
movq %rbx, %rdi
callq 0x33d90
movq 0x70(%rsp), %rbx
jmp 0x20996
leaq 0x80(%rsp), %rbx
movq %rbx, 0x70(%rsp)
movq $0x0, 0x78(%rsp)
movb $0x0, 0x80(%rsp)
movl (%r13), %r12d
movl $0x0, (%r13)
movq %rbx, %rdi
leaq 0x110(%rsp), %rsi
movl $0xa, %edx
callq 0x15510
cmpq %rbx, 0x110(%rsp)
je 0x21ae4
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x21af0
movl (%r13), %ecx
cmpl $0x22, %ecx
je 0x21af0
testl %ecx, %ecx
jne 0x209f4
movl %r12d, (%r13)
rolw $0x8, %ax
movslq 0x28(%rsp), %rcx
leaq (%rcx,%rcx,2), %rdx
shlq $0x5, %rdx
movw %ax, 0x273a(%rsp,%rdx)
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x20a34
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x340c0
movslq 0x28(%rsp), %rcx
leaq (%rcx,%rcx,2), %rax
shlq $0x5, %rax
movb $-0x1, 0x2748(%rsp,%rax)
movq 0xd0(%rsp), %rax
movq 0xd8(%rsp), %rcx
subq %rax, %rcx
leaq 0x70(%rsp), %rdi
je 0x20a83
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x8, %rdx
cmpq $-0x6, %rdx
ja 0x20a83
addq $0x60, %rax
jmp 0x20a8a
addq %rcx, %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0x20ab0
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
callq 0x33d90
movq 0x70(%rsp), %rbx
jmp 0x20ace
leaq 0x80(%rsp), %rbx
movq %rbx, 0x70(%rsp)
movq $0x0, 0x78(%rsp)
movb $0x0, 0x80(%rsp)
movl (%r13), %r12d
movl $0x0, (%r13)
movq %rbx, %rdi
leaq 0x110(%rsp), %rsi
movl $0xa, %edx
callq 0x15510
cmpq %rbx, 0x110(%rsp)
je 0x21afc
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x21b08
movl (%r13), %ecx
cmpl $0x22, %ecx
je 0x21b08
testl %ecx, %ecx
jne 0x20b2c
movl %r12d, (%r13)
movslq 0x28(%rsp), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x5, %rcx
movq %rax, 0x2758(%rsp,%rcx)
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x20b63
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0xd0(%rsp), %rax
movq 0xd8(%rsp), %rcx
subq %rax, %rcx
leaq 0x70(%rsp), %rdi
je 0x20ba2
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x9, %rdx
cmpq $-0x7, %rdx
ja 0x20ba2
addq $0x78, %rax
jmp 0x20ba9
addq %rcx, %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0x20bcf
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
callq 0x33d90
movq 0x70(%rsp), %rbx
jmp 0x20bed
leaq 0x80(%rsp), %rbx
movq %rbx, 0x70(%rsp)
movq $0x0, 0x78(%rsp)
movb $0x0, 0x80(%rsp)
movl (%r13), %r12d
movl $0x0, (%r13)
movq %rbx, %rdi
leaq 0x110(%rsp), %rsi
movl $0xa, %edx
callq 0x15510
cmpq %rbx, 0x110(%rsp)
je 0x21b14
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x21b20
movl (%r13), %ecx
cmpl $0x22, %ecx
je 0x21b20
testl %ecx, %ecx
jne 0x20c4b
movl %r12d, (%r13)
movslq 0x28(%rsp), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x5, %rcx
movq %rax, 0x2760(%rsp,%rcx)
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x20c82
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0xd0(%rsp), %rax
movq 0xd8(%rsp), %rcx
subq %rax, %rcx
leaq 0x70(%rsp), %r12
je 0x20cc3
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0xc, %rdx
cmpq $-0xa, %rdx
ja 0x20cc3
addq $0xc0, %rax
jmp 0x20cca
addq %rcx, %rax
addq $-0x48, %rax
leaq 0x80(%rsp), %rbx
cmpb $0x1, 0x10(%rax)
jne 0x20cee
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %rbx, 0x70(%rsp)
movq %r12, %rdi
callq 0x33d90
jmp 0x20d04
movq %rbx, 0x70(%rsp)
movq $0x0, 0x78(%rsp)
movb $0x0, 0x80(%rsp)
movslq 0x28(%rsp), %rax
leaq (%rax,%rax,2), %rax
shlq $0x5, %rax
leaq (%rsp,%rax), %rdi
addq $0x2770, %rdi           # imm = 0x2770
movq %r12, %rsi
callq 0xb1440
movq 0x70(%rsp), %rdi
cmpq %rbx, %rdi
je 0x20d3e
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x340c0
movl 0x28(%rsp), %ecx
movslq %ecx, %rax
leaq (%rax,%rax,2), %rsi
shlq $0x5, %rsi
movl 0x274c(%rsp,%rsi), %edi
testq %rdi, %rdi
je 0x20d77
imulq $0xf4240, 0x2758(%rsp,%rsi), %rax # imm = 0xF4240
cqto
idivq %rdi
movq %rax, 0x2768(%rsp,%rsi)
jmp 0x210dd
movq 0xd0(%rsp), %rax
movq 0xd8(%rsp), %rcx
subq %rax, %rcx
je 0x20db1
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x8, %rdx
cmpq $-0x6, %rdx
ja 0x20db1
addq $0x60, %rax
jmp 0x20db8
addq %rcx, %rax
addq $-0x48, %rax
leaq 0x80(%rsp), %rbx
cmpb $0x1, 0x10(%rax)
jne 0x2102e
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %rbx, 0x70(%rsp)
movq %r12, %rdi
callq 0x33d90
movq 0x70(%rsp), %rbx
jmp 0x21044
movq %r13, %rdi
leaq 0xc3364(%rip), %rsi     # 0xe4156
callq 0x15660
testl %eax, %eax
je 0x20f98
cmpb $0x2d, %r12b
jne 0x20e17
cmpb $0x70, 0x1(%r13)
jne 0x20e17
cmpb $0x0, 0x2(%r13)
je 0x21203
movq %r13, %rdi
leaq 0xc333f(%rip), %rsi     # 0xe4160
callq 0x15660
testl %eax, %eax
je 0x21203
movq %r13, %rdi
leaq 0xc3333(%rip), %rsi     # 0xe416b
callq 0x15660
testl %eax, %eax
je 0x2184f
movq %r13, %rdi
leaq 0xc332d(%rip), %rsi     # 0xe417c
callq 0x15660
testl %eax, %eax
je 0x2185b
movq %r13, %rdi
leaq 0xc3325(%rip), %rsi     # 0xe418b
callq 0x15660
testl %eax, %eax
je 0x21903
movq %r13, %rdi
leaq 0xc331f(%rip), %rsi     # 0xe419c
callq 0x15660
testl %eax, %eax
je 0x21913
cmpb $0x2d, %r12b
jne 0x20ea2
cmpb $0x64, 0x1(%r13)
jne 0x20ea2
cmpb $0x0, 0x2(%r13)
je 0x21923
movq %r13, %rdi
leaq 0xc3301(%rip), %rsi     # 0xe41ad
callq 0x15660
testl %eax, %eax
je 0x21923
movq %r13, %rdi
leaq 0xc32f6(%rip), %rsi     # 0xe41b9
callq 0x15660
testl %eax, %eax
je 0x2192c
movq %r13, %rdi
leaq 0xc32ea(%rip), %rsi     # 0xe41c4
callq 0x15660
testl %eax, %eax
je 0x21935
movq %r13, %rdi
leaq 0xc32da(%rip), %rsi     # 0xe41cb
callq 0x15660
testl %eax, %eax
je 0x2193e
cmpb $0x2d, %r12b
jne 0x20f12
cmpb $0x76, 0x1(%r13)
jne 0x20f12
cmpb $0x0, 0x2(%r13)
je 0x20f29
movq %r13, %rdi
leaq 0xc2404(%rip), %rsi     # 0xe3320
callq 0x15660
testl %eax, %eax
jne 0x23ded
leaq 0x3b0(%rsp), %rax
movq %rax, 0x3a0(%rsp)
leaq 0x3a0(%rsp), %rbx
movq %rbx, %rdi
leaq 0xc3289(%rip), %rsi     # 0xe41d4
leaq 0xc3294(%rip), %rdx     # 0xe41e6
callq 0x260a6
xorl %edi, %edi
movq %rbx, %rsi
callq 0x187cb
movq %rbp, %r13
movq 0x3a0(%rsp), %rdi
leaq 0x3b0(%rsp), %rax
cmpq %rax, %rdi
je 0x20f89
movq 0x3b0(%rsp), %rsi
incq %rsi
callq 0x340c0
movl $0x1, 0x1094fd(%rip)    # 0x12a490
jmp 0x21948
incl %r14d
cmpl 0x120(%rsp), %r14d
je 0x21c63
movslq %r14d, %rax
movq 0x118(%rsp), %rcx
movq (%rcx,%rax,8), %rsi
movq %rbp, %rdi
leaq 0xb0(%rsp), %rdx
callq 0x25862
movq 0x8(%rsp), %rbx
callq 0x15620
movq %rax, %r13
movl (%rax), %r12d
movl $0x0, (%rax)
movq %rbx, %rdi
leaq 0x30(%rsp), %rsi
movl $0xa, %edx
callq 0x15510
cmpq %rbx, 0x30(%rsp)
je 0x21cca
movq %rax, 0x198(%rsp)
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x21cd6
movl (%r13), %eax
cmpl $0x22, %eax
jne 0x21294
jmp 0x21cd6
movq %rbx, 0x70(%rsp)
movq $0x0, 0x78(%rsp)
movb $0x0, 0x80(%rsp)
movl (%r13), %r12d
movl $0x0, (%r13)
movq %rbx, %rdi
leaq 0x110(%rsp), %rsi
movl $0xa, %edx
callq 0x15510
cmpq %rbx, 0x110(%rsp)
je 0x21c4b
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x21c57
movl (%r13), %ecx
cmpl $0x22, %ecx
je 0x21c57
testl %ecx, %ecx
jne 0x210a2
movl %r12d, (%r13)
movslq 0x28(%rsp), %rcx
leaq (%rcx,%rcx,2), %rdx
shlq $0x5, %rdx
movq %rax, 0x2768(%rsp,%rdx)
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x210dd
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x340c0
movl 0x28(%rsp), %ecx
movq %rbp, %r13
incl %ecx
movl %ecx, 0x28(%rsp)
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x2110b
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x21122
movq 0x60(%rsp), %rsi
subq %rdi, %rsi
callq 0x340c0
movq 0xd0(%rsp), %rdi
testq %rdi, %rdi
je 0x2113f
movq 0xe0(%rsp), %rsi
subq %rdi, %rsi
callq 0x340c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x21164
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x340c0
leaq 0xb0(%rsp), %rdi
callq 0x25aa2
leaq 0x30(%rsp), %rdi
callq 0x25aa2
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x21948
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x21948
addq %rcx, %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0x212bc
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq 0x60(%rsp), %rax
movq %rax, 0x50(%rsp)
movq %r12, %rdi
callq 0x33d90
movq 0x50(%rsp), %rbx
jmp 0x212d4
addq %rcx, %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0x21489
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq 0x60(%rsp), %rax
movq %rax, 0x50(%rsp)
movq %r12, %rdi
callq 0x33d90
movq 0x50(%rsp), %rbx
jmp 0x214a1
incl %r14d
cmpl 0x120(%rsp), %r14d
je 0x23b59
movslq %r14d, %rax
movq 0x118(%rsp), %rcx
movq (%rcx,%rax,8), %rsi
movq %rbp, %rdi
leaq 0xb0(%rsp), %rdx
callq 0x25862
movq 0x8(%rsp), %rbx
callq 0x15620
movq %rax, %r13
movl (%rax), %r12d
movl $0x0, (%rax)
movq %rbx, %rdi
leaq 0x30(%rsp), %rsi
movl $0xa, %edx
callq 0x15510
cmpq %rbx, 0x30(%rsp)
je 0x23bc0
movq %rax, 0x128(%rsp)
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x23bcc
movl (%r13), %eax
cmpl $0x22, %eax
je 0x23bcc
testl %eax, %eax
jne 0x2129c
movl %r12d, (%r13)
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x21945
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x21945
leaq 0x60(%rsp), %rbx
movq %rbx, 0x50(%rsp)
movq $0x0, 0x58(%rsp)
movb $0x0, 0x60(%rsp)
callq 0x15620
movq %rax, %r13
movl (%rax), %r12d
movl $0x0, (%rax)
movq %rbx, %rdi
leaq 0xf0(%rsp), %rsi
movl $0xa, %edx
callq 0x15510
cmpq %rbx, 0xf0(%rsp)
je 0x23a40
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x23abf
movl (%r13), %ecx
cmpl $0x22, %ecx
je 0x23abf
testl %ecx, %ecx
jne 0x21337
movl %r12d, (%r13)
rolw $0x8, %ax
movslq 0x2c(%rsp), %rcx
movq %rcx, %rdx
shlq $0x5, %rdx
movw %ax, 0x752(%rsp,%rdx)
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x21370
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x340c0
movslq 0x2c(%rsp), %rcx
shlq $0x5, %rcx
movl $0x0, 0x754(%rsp,%rcx)
movl $0x2, %edx
leaq 0x50(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x25d82
movq 0x50(%rsp), %rdi
callq 0x158d0
movslq 0x2c(%rsp), %rcx
shlq $0x5, %rcx
movl %eax, 0x760(%rsp,%rcx)
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x213cc
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x340c0
movl $0x1, %edx
leaq 0x50(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x25d82
movq 0x50(%rsp), %rdi
callq 0x158d0
movslq 0x2c(%rsp), %rcx
shlq $0x5, %rcx
movl %eax, 0x764(%rsp,%rcx)
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x21419
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x90(%rsp), %rax
movq 0x98(%rsp), %rcx
subq %rax, %rcx
je 0x21453
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x8, %rdx
cmpq $-0x6, %rdx
ja 0x21453
addq $0x60, %rax
jmp 0x2145a
addq %rcx, %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0x21609
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq 0x60(%rsp), %rax
movq %rax, 0x50(%rsp)
leaq 0x50(%rsp), %rdi
callq 0x33d90
movq 0x50(%rsp), %rbx
jmp 0x21621
leaq 0x60(%rsp), %rbx
movq %rbx, 0x50(%rsp)
movq $0x0, 0x58(%rsp)
movb $0x0, 0x60(%rsp)
callq 0x15620
movq %rax, %r13
movl (%rax), %r12d
movl $0x0, (%rax)
movq %rbx, %rdi
leaq 0xf0(%rsp), %rsi
movl $0xa, %edx
callq 0x15510
cmpq %rbx, 0xf0(%rsp)
je 0x23acb
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x23ad7
movl (%r13), %ecx
cmpl $0x22, %ecx
je 0x23ad7
testl %ecx, %ecx
jne 0x21504
movl %r12d, (%r13)
rolw $0x8, %ax
movslq 0x2c(%rsp), %rcx
movq %rcx, %rdx
shlq $0x5, %rdx
movw %ax, 0x752(%rsp,%rdx)
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x2153d
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x340c0
movslq 0x2c(%rsp), %rcx
shlq $0x5, %rcx
movl $0x0, 0x754(%rsp,%rcx)
movl $0x2, %edx
leaq 0x50(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x25d82
movq 0x50(%rsp), %rdi
callq 0x158d0
movslq 0x2c(%rsp), %rcx
shlq $0x5, %rcx
movl %eax, 0x760(%rsp,%rcx)
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x21599
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0xd0(%rsp), %rax
movq 0xd8(%rsp), %rcx
subq %rax, %rcx
je 0x215d3
movq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
addq $-0x8, %rdx
cmpq $-0x6, %rdx
ja 0x215d3
addq $0x60, %rax
jmp 0x215da
addq %rcx, %rax
addq $-0x48, %rax
cmpb $0x1, 0x10(%rax)
jne 0x216c1
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq 0x60(%rsp), %rax
movq %rax, 0x50(%rsp)
leaq 0x50(%rsp), %rdi
callq 0x33d90
movq 0x50(%rsp), %rbx
jmp 0x216d9
leaq 0x60(%rsp), %rbx
movq %rbx, 0x50(%rsp)
movq $0x0, 0x58(%rsp)
movb $0x0, 0x60(%rsp)
movl (%r13), %r12d
movl $0x0, (%r13)
movq %rbx, %rdi
leaq 0xf0(%rsp), %rsi
movl $0xa, %edx
callq 0x15510
cmpq %rbx, 0xf0(%rsp)
je 0x23ae3
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x23afb
movl (%r13), %ecx
cmpl $0x22, %ecx
je 0x23afb
testl %ecx, %ecx
jne 0x2167f
movl %r12d, (%r13)
movslq 0x2c(%rsp), %rcx
movq %rcx, %rdx
shlq $0x5, %rdx
movq %rax, 0x768(%rsp,%rdx)
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x216b3
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x340c0
movl 0x2c(%rsp), %ecx
movq %rbp, %r13
incl %ecx
movl %ecx, 0x2c(%rsp)
jmp 0x21890
leaq 0x60(%rsp), %rbx
movq %rbx, 0x50(%rsp)
movq $0x0, 0x58(%rsp)
movb $0x0, 0x60(%rsp)
movl (%r13), %r12d
movl $0x0, (%r13)
movq %rbx, %rdi
leaq 0xf0(%rsp), %rsi
movl $0xa, %edx
callq 0x15510
cmpq %rbx, 0xf0(%rsp)
je 0x23aef
leaq -0x80000000(%rax), %rcx
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
cmpq %rdx, %rcx
jb 0x23b07
movl (%r13), %ecx
cmpl $0x22, %ecx
je 0x23b07
testl %ecx, %ecx
jne 0x21737
movl %r12d, (%r13)
movslq 0x2c(%rsp), %rcx
shlq $0x5, %rcx
movq %rax, 0x768(%rsp,%rcx)
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
leaq 0x3c0(%rsp), %rbx
je 0x2176c
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x340c0
leaq 0xf0(%rsp), %rdi
callq 0x154d0
cmpl $-0x1, %eax
je 0x23b13
movq %rbp, %r13
movq 0xf0(%rsp), %r12
testq %r12, %r12
je 0x2187f
movq 0x18(%r12), %rax
testq %rax, %rax
je 0x21846
cmpw $0x2, (%rax)
jne 0x21846
movq 0x8(%r12), %rsi
movq %rbx, %rdi
leaq 0x50(%rsp), %rdx
callq 0x25862
movl $0x2, %edi
movq %rbx, %rsi
callq 0x187cb
movq 0x3c0(%rsp), %rdi
leaq 0x3d0(%rsp), %rax
cmpq %rax, %rdi
je 0x217f2
movq 0x3d0(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x8(%r12), %rbx
movl $0x1, %edx
leaq 0x50(%rsp), %rbp
movq %rbp, %rdi
leaq 0xd0(%rsp), %rsi
callq 0x25d82
movq %rbp, %rdi
movq %rbx, %rsi
callq 0xb3600
movl %eax, %ebx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x2183a
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x340c0
testl %ebx, %ebx
leaq 0x3c0(%rsp), %rbx
je 0x21867
movq (%r12), %r12
jmp 0x2178d
movb $0x1, 0x10923b(%rip)    # 0x12aa91
jmp 0x21945
movb $0x1, 0x109235(%rip)    # 0x12aa97
jmp 0x21945
movq 0x18(%r12), %rax
movl 0x4(%rax), %eax
movslq 0x2c(%rsp), %rcx
shlq $0x5, %rcx
movl %eax, 0x764(%rsp,%rcx)
movq 0xf0(%rsp), %rdi
callq 0x156b0
incl 0x2c(%rsp)
movq 0xd0(%rsp), %rdi
testq %rdi, %rdi
je 0x218ad
movq 0xe0(%rsp), %rsi
subq %rdi, %rsi
callq 0x340c0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x218ca
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x340c0
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x218ef
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x340c0
leaq 0x30(%rsp), %rdi
callq 0x25aa2
movq %r13, %rdi
callq 0x25aa2
jmp 0x21948
movb $0x1, 0x109188(%rip)    # 0x12aa92
movb $0x0, 0x109182(%rip)    # 0x12aa93
jmp 0x21945
movb $0x1, %al
movb %al, 0x109177(%rip)     # 0x12aa92
movb %al, 0x109172(%rip)     # 0x12aa93
jmp 0x21945
movb $0x1, 0x109166(%rip)    # 0x12aa90
jmp 0x21945
movb $0x1, 0x109161(%rip)    # 0x12aa94
jmp 0x21945
movb $0x1, 0x109159(%rip)    # 0x12aa95
jmp 0x21945
movb $0x1, 0x109151(%rip)    # 0x12aa96
movq %rbp, %r13
incl %r14d
cmpl 0x120(%rsp), %r14d
jl 0x1fec7
callq 0xb40a0
cmpl $0x2, 0x108b2b(%rip)    # 0x12a490
jne 0x21971
movl $0x0, 0x108b1f(%rip)    # 0x12a490
cmpb $0x1, 0x10911d(%rip)    # 0x12aa95
jne 0x21997
movl $0x1, 0x108b0c(%rip)    # 0x12a490
callq 0x18894
xorl %edi, %edi
callq 0x151a0
xorl %edi, %edi
callq 0x1948c
cmpb $0x1, 0x1090f8(%rip)    # 0x12aa96
jne 0x21b2c
leaq 0x6b0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xc2844(%rip), %rsi     # 0xe41fb
leaq 0xc285c(%rip), %rdx     # 0xe421a
leaq 0x6a0(%rsp), %rdi
callq 0x260a6
leaq 0x6a0(%rsp), %rsi
movl $0x2, %edi
callq 0x187cb
leaq 0x6a0(%rsp), %rdi
jmp 0x23de3
leaq 0x30(%rsp), %rdi
leaq 0xb0(%rsp), %rdx
movq %r13, %rsi
callq 0x25862
leaq 0xc25c5(%rip), %rsi     # 0xe3fcb
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x25a32
leaq 0xc25cd(%rip), %rsi     # 0xe3fe9
leaq 0x8(%rsp), %rdi
callq 0xb2ba0
leaq 0x550(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x23bd8
movups (%rcx), %xmm0
movups %xmm0, (%r14)
jmp 0x23beb
movq 0x118(%rsp), %rax
movq (%rax,%rbx,8), %rsi
leaq 0x70(%rsp), %rdi
leaq 0x110(%rsp), %rdx
callq 0x25862
leaq 0xc25dc(%rip), %rsi     # 0xe4052
leaq 0xf0(%rsp), %rdi
leaq 0x70(%rsp), %rdx
leaq 0xa0(%rsp), %rbp
callq 0x25a32
leaq 0xc7c77(%rip), %rsi     # 0xe970e
leaq 0xf0(%rsp), %rdi
callq 0xb2ba0
leaq 0x60(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x23c21
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x23c2e
leaq 0xc2b5a(%rip), %rdi     # 0xe462d
callq 0x1744a
leaq 0xc2b4e(%rip), %rdi     # 0xe462d
callq 0x174fa
leaq 0xc2b42(%rip), %rdi     # 0xe462d
callq 0x1744a
leaq 0xc2b36(%rip), %rdi     # 0xe462d
callq 0x174fa
leaq 0xc2b2a(%rip), %rdi     # 0xe462d
callq 0x1744a
leaq 0xc2b1e(%rip), %rdi     # 0xe462d
callq 0x174fa
leaq 0xc2b12(%rip), %rdi     # 0xe462d
callq 0x1744a
leaq 0xc2b06(%rip), %rdi     # 0xe462d
callq 0x174fa
movl 0x2c(%rsp), %edx
movl 0x28(%rsp), %ecx
movl %ecx, %esi
addl %edx, %esi
jne 0x21ce2
leaq 0x690(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xc26ca(%rip), %rsi     # 0xe421b
leaq 0xc26f0(%rip), %rdx     # 0xe4248
leaq 0x680(%rsp), %rdi
callq 0x260a6
leaq 0x680(%rsp), %rsi
movl $0x2, %edi
callq 0x187cb
leaq 0x680(%rsp), %rdi
jmp 0x23de3
leaq 0x30(%rsp), %rdi
leaq 0xb0(%rsp), %rdx
movq %r13, %rsi
callq 0x25862
leaq 0xc242b(%rip), %rsi     # 0xe3fcb
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x25a32
leaq 0xc2433(%rip), %rsi     # 0xe3fe9
leaq 0x8(%rsp), %rdi
callq 0xb2ba0
leaq 0x530(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x23c7e
movups (%rcx), %xmm0
movups %xmm0, (%r14)
jmp 0x23c91
leaq 0xc2a3b(%rip), %rdi     # 0xe462d
callq 0x1744a
leaq 0xc2a2f(%rip), %rdi     # 0xe462d
callq 0x1744a
leaq 0xc2a23(%rip), %rdi     # 0xe462d
callq 0x174fa
leaq 0xc2a17(%rip), %rdi     # 0xe462d
callq 0x174fa
leaq 0xc2a0b(%rip), %rdi     # 0xe462d
callq 0x1744a
leaq 0xc29ff(%rip), %rdi     # 0xe462d
callq 0x1744a
leaq 0xc29f3(%rip), %rdi     # 0xe462d
callq 0x174fa
leaq 0xc29e7(%rip), %rdi     # 0xe462d
callq 0x174fa
leaq 0xc29db(%rip), %rdi     # 0xe462d
callq 0x1744a
leaq 0xc29cf(%rip), %rdi     # 0xe462d
callq 0x174fa
leaq 0x30(%rsp), %rdi
leaq 0xb0(%rsp), %rdx
movq %r13, %rsi
callq 0x25862
leaq 0xc234c(%rip), %rsi     # 0xe3fcb
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x25a32
leaq 0xc2354(%rip), %rsi     # 0xe3fe9
leaq 0x8(%rsp), %rdi
callq 0xb2ba0
leaq 0x510(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x23cc7
movups (%rcx), %xmm0
movups %xmm0, (%r14)
jmp 0x23cda
leaq 0xc295c(%rip), %rdi     # 0xe462d
callq 0x1744a
leaq 0xc2950(%rip), %rdi     # 0xe462d
callq 0x174fa
movl %esi, 0x154(%rsp)
movl %eax, 0x118(%rsp)
testl %ecx, %ecx
jle 0x2323e
xorl %r13d, %r13d
movl $0x1, %ebp
cmpq $0xa, %r13
jb 0x21d48
movl $0x4, %ebp
movl %r13d, %eax
cmpl $0x63, %eax
jbe 0x21d41
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x21d46
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x21d48
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebp
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x21d0e
addl $-0x3, %ebp
jmp 0x21d48
addl $-0x2, %ebp
jmp 0x21d48
decl %ebp
movl %ebp, %esi
movq %r15, 0x8(%rsp)
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movl $0x2d, %edx
callq 0xb0d50
movq 0x8(%rsp), %rdi
movl %ebp, %esi
movl %r13d, %edx
callq 0x25f43
movl $0x13, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xc24c5(%rip), %rcx     # 0xe4249
callq 0xb23e0
leaq 0x2d0(%rsp), %rbp
movq %rbp, 0x2c0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x40(%rsp), %r12
je 0x21dc2
movq %rdx, 0x2c0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2d0(%rsp)
jmp 0x21dc9
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x2c8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %edi, %edi
leaq 0x2c0(%rsp), %rsi
callq 0x187cb
movq 0x2c0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x21e10
movq 0x2d0(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
leaq 0x2b0(%rsp), %rbp
je 0x21e2f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
leaq (,%r13,2), %r15
addq %r13, %r15
shlq $0x5, %r15
movq 0x2730(%rsp,%r15), %rsi
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
leaq 0x30(%rsp), %rdx
callq 0x25862
movl $0x16, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xc23f1(%rip), %rcx     # 0xe425d
callq 0xb23e0
movq %rbp, 0x2a0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x21e9d
movq %rdx, 0x2a0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2b0(%rsp)
jmp 0x21ea4
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x2a8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %edi, %edi
leaq 0x2a0(%rsp), %rsi
callq 0x187cb
movq 0x2a0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x21eeb
movq 0x2b0(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
leaq 0x30(%rsp), %rbx
leaq 0xb0(%rsp), %r14
je 0x21f14
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
addq %rsp, %r15
addq $0x2730, %r15           # imm = 0x2730
movl 0xc(%r15), %esi
movq %r14, %rdi
callq 0x1875c
movl $0x16, %r8d
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xc2336(%rip), %rcx     # 0xe4274
callq 0xb23e0
movq %r12, 0x30(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x21f66
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x21f6e
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x38(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
leaq 0xc7620(%rip), %rsi     # 0xe95b0
callq 0xb2ba0
leaq 0x18(%rsp), %rsi
movq %rsi, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x21fbd
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x21fc3
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movzwl 0xa(%r15), %eax
rolw $0x8, %ax
movzwl %ax, %ebp
movl $0x1, %r12d
cmpw $0xa, %bp
jb 0x2201d
movl $0x2, %r12d
cmpw $0x64, %ax
jb 0x2201d
movl $0x3, %r12d
cmpl $0x3e8, %ebp            # imm = 0x3E8
jb 0x2201d
cmpl $0x2710, %ebp           # imm = 0x2710
movl $0x5, %r12d
sbbl $0x0, %r12d
movl %r12d, %esi
leaq 0xa0(%rsp), %rax
movq %rax, 0x90(%rsp)
leaq 0x90(%rsp), %rdi
movl $0x2d, %edx
callq 0xb0d50
movq 0x90(%rsp), %rdi
movl %r12d, %esi
movl %ebp, %edx
callq 0x25f43
movq 0x8(%rsp), %rcx
movl $0xf, %edi
leaq 0x18(%rsp), %rax
cmpq %rax, %rcx
je 0x2206d
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %r8
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq 0xa0(%rsp), %r12
leaq 0x40(%rsp), %rbp
jbe 0x220af
movl $0xf, %edi
cmpq %r12, %rsi
je 0x220aa
movq 0xa0(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x220bb
leaq 0x8(%rsp), %rdi
callq 0xb2a60
jmp 0x220cc
leaq 0x90(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xb23e0
leaq 0x140(%rsp), %rsi
movq %rsi, 0x130(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x220fd
movq %rdx, 0x130(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x140(%rsp)
jmp 0x22103
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x138(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
xorl %edi, %edi
leaq 0x130(%rsp), %rsi
callq 0x187cb
movq 0x130(%rsp), %rdi
leaq 0x140(%rsp), %rax
cmpq %rax, %rdi
je 0x22157
movq 0x140(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x90(%rsp), %rdi
cmpq %r12, %rdi
je 0x22174
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x22190
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x30(%rsp), %rdi
cmpq %rbp, %rdi
je 0x221a7
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
leaq 0x50(%rsp), %rbx
je 0x221d1
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x340c0
movl 0x1c(%r15), %esi
testq %rsi, %rsi
je 0x2222f
movq %rbx, %rdi
callq 0x19b8a
movl $0x16, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xc2095(%rip), %rcx     # 0xe428b
callq 0xb23e0
leaq 0xe0(%rsp), %rsi
movq %rsi, 0xd0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2228d
movq %rdx, 0xd0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xe0(%rsp)
jmp 0x22293
movl 0x20(%r15), %ebp
movl $0x1, %eax
cmpl $0xa, %ebp
jb 0x22b13
movl $0x4, %eax
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x22b0c
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x22b11
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x22b13
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x22248
addl $-0x3, %eax
jmp 0x22b13
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0xd8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xd0(%rsp), %rdi
leaq 0xc1fe5(%rip), %rsi     # 0xe42a2
callq 0xb2ba0
movq %r12, 0x90(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x222ee
movq %rdx, 0x90(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xa0(%rsp)
jmp 0x222f6
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x98(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl 0x20(%r15), %ebp
movl $0x1, %eax
cmpl $0xa, %ebp
jb 0x22363
movl $0x4, %eax
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x2235c
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x22361
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x22363
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x22326
addl $-0x3, %eax
jmp 0x22363
addl $-0x2, %eax
jmp 0x22363
decl %eax
movl %eax, %esi
leaq 0x100(%rsp), %rax
movq %rax, 0xf0(%rsp)
leaq 0xf0(%rsp), %rdi
xorl %edx, %edx
callq 0xb0d50
movq 0xf0(%rsp), %rdi
movl 0xf8(%rsp), %esi
movl %ebp, %edx
callq 0x25f43
movq 0x90(%rsp), %rcx
movl $0xf, %edi
leaq 0xa0(%rsp), %r12
cmpq %r12, %rcx
je 0x223bc
movq 0xa0(%rsp), %rdi
movq 0x98(%rsp), %r8
movq 0xf0(%rsp), %rsi
movq 0xf8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq 0x40(%rsp), %rbp
jbe 0x22401
movl $0xf, %edi
leaq 0x100(%rsp), %r9
cmpq %r9, %rsi
je 0x223fc
movq 0x100(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x22410
leaq 0x90(%rsp), %rdi
callq 0xb2a60
jmp 0x22421
leaq 0xf0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xb23e0
leaq 0xc0(%rsp), %rsi
movq %rsi, 0xb0(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x22452
movq %rdx, 0xb0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xc0(%rsp)
jmp 0x22458
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0xb8(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0xb0(%rsp), %rdi
leaq 0xc0d39(%rip), %rsi     # 0xe31c0
callq 0xb2ba0
movq %rbp, 0x30(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x224af
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x224b6
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x38(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl 0x24(%r15), %ebp
movl $0x1, %eax
cmpl $0xa, %ebp
jb 0x22520
movl $0x4, %eax
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x22519
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x2251e
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x22520
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x224e3
addl $-0x3, %eax
jmp 0x22520
addl $-0x2, %eax
jmp 0x22520
decl %eax
movl %eax, %esi
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x70(%rsp), %rdi
xorl %edx, %edx
callq 0xb0d50
movq 0x70(%rsp), %rdi
movl 0x78(%rsp), %esi
movl %ebp, %edx
callq 0x25f43
movq 0x30(%rsp), %rcx
movl $0xf, %edi
leaq 0x40(%rsp), %r14
cmpq %r14, %rcx
je 0x22564
movq 0x40(%rsp), %rdi
movq 0x38(%rsp), %r8
movq 0x70(%rsp), %rsi
movq 0x78(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq 0xa0(%rsp), %r12
jbe 0x225a3
movl $0xf, %edi
leaq 0x80(%rsp), %r9
cmpq %r9, %rsi
je 0x2259e
movq 0x80(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x225af
leaq 0x30(%rsp), %rdi
callq 0xb2a60
jmp 0x225bd
leaq 0x70(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xb23e0
leaq 0x18(%rsp), %rsi
movq %rsi, 0x8(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x225e2
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x225e8
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x8(%rsp), %rdi
leaq 0xc1ca5(%rip), %rsi     # 0xe42b6
callq 0xb2ba0
leaq 0x1d0(%rsp), %rsi
movq %rsi, 0x1c0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2264a
movq %rdx, 0x1c0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1d0(%rsp)
jmp 0x22650
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x1c8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %edi, %edi
leaq 0x1c0(%rsp), %rsi
callq 0x187cb
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x2269f
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x226bb
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x226dd
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x30(%rsp), %rdi
cmpq %r14, %rdi
je 0x226f4
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x22719
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x2273e
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x90(%rsp), %rdi
cmpq %r12, %rdi
je 0x2275b
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
leaq 0x290(%rsp), %rbx
leaq 0x270(%rsp), %r12
je 0x22790
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x227ac
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x28(%r15), %rsi
testq %rsi, %rsi
jle 0x22803
leaq 0x30(%rsp), %rbp
movq %rbp, %rdi
callq 0x19b8a
movl $0x16, %r8d
movq %rbp, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xc1ae7(%rip), %rcx     # 0xe42bd
callq 0xb23e0
leaq 0x18(%rsp), %rsi
movq %rsi, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2286e
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x22874
cmpb $0x1, 0x10828d(%rip)    # 0x12aa97
jne 0x22943
leaq 0x390(%rsp), %rax
movq %rax, 0x380(%rsp)
leaq 0x380(%rsp), %rbx
movq %rbx, %rdi
leaq 0xc1aab(%rip), %rsi     # 0xe42dd
leaq 0xc1ac9(%rip), %rdx     # 0xe4302
callq 0x260a6
xorl %edi, %edi
movq %rbx, %rsi
callq 0x187cb
movq 0x380(%rsp), %rdi
leaq 0x390(%rsp), %rax
cmpq %rax, %rdi
je 0x229a0
movq 0x390(%rsp), %rsi
jmp 0x22998
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x8(%rsp), %rdi
leaq 0xc1a3c(%rip), %rsi     # 0xe42d4
callq 0xb2ba0
movq %rbx, 0x280(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x228c9
movq %rdx, 0x280(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x290(%rsp)
jmp 0x228cf
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, 0x288(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %edi, %edi
leaq 0x280(%rsp), %rsi
callq 0x187cb
movq 0x280(%rsp), %rdi
cmpq %rbx, %rdi
je 0x22916
movq 0x290(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x22932
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x30(%rsp), %rdi
cmpq %r14, %rdi
je 0x229a0
movq 0x40(%rsp), %rsi
jmp 0x22998
leaq 0x370(%rsp), %rax
movq %rax, 0x360(%rsp)
leaq 0x360(%rsp), %rbx
movq %rbx, %rdi
leaq 0xc199e(%rip), %rsi     # 0xe4303
leaq 0xc19c7(%rip), %rdx     # 0xe4333
callq 0x260a6
xorl %edi, %edi
movq %rbx, %rsi
callq 0x187cb
movq 0x360(%rsp), %rdi
leaq 0x370(%rsp), %rax
cmpq %rax, %rdi
je 0x229a0
movq 0x370(%rsp), %rsi
incq %rsi
callq 0x340c0
cmpb $0x1, 0x1080f0(%rip)    # 0x12aa97
jne 0x22a0f
leaq 0x350(%rsp), %rax
movq %rax, 0x340(%rsp)
leaq 0x340(%rsp), %rbx
movq %rbx, %rdi
leaq 0xc1969(%rip), %rsi     # 0xe4334
leaq 0xc1981(%rip), %rdx     # 0xe4353
callq 0x260a6
xorl %edi, %edi
movq %rbx, %rsi
callq 0x187cb
leaq 0x188(%rsp), %r12
movq 0x340(%rsp), %rdi
leaq 0x350(%rsp), %rax
cmpq %rax, %rdi
je 0x23045
movq 0x350(%rsp), %rsi
jmp 0x2303d
movq 0x38(%r15), %rsi
leaq 0x30(%rsp), %rbx
movq %rbx, %rdi
callq 0x19b8a
movl $0x16, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xc1920(%rip), %rcx     # 0xe4354
callq 0xb23e0
leaq 0x18(%rsp), %rsi
movq %rsi, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x22a61
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x22a67
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x8(%rsp), %rdi
leaq 0xc18e0(%rip), %rsi     # 0xe436b
callq 0xb2ba0
movq %r12, 0x260(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x22abc
movq %rdx, 0x260(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x270(%rsp)
jmp 0x22ac4
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x268(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %edi, %edi
leaq 0x260(%rsp), %rsi
callq 0x187cb
movq 0x260(%rsp), %rdi
cmpq %r12, %rdi
je 0x2300a
movq 0x270(%rsp), %rsi
jmp 0x23002
addl $-0x2, %eax
jmp 0x22b13
decl %eax
movl %eax, %esi
leaq 0xa0(%rsp), %rax
movq %rax, 0x90(%rsp)
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
xorl %edx, %edx
callq 0xb0d50
movq 0x90(%rsp), %rdi
movl 0x98(%rsp), %esi
movl %ebp, %edx
callq 0x25f43
movl $0x31, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xc1818(%rip), %rcx     # 0xe4379
callq 0xb23e0
leaq 0xc0(%rsp), %rsi
movq %rsi, 0xb0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x40(%rsp), %r12
leaq 0xb0(%rsp), %rdi
je 0x22ba7
movq %rdx, 0xb0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xc0(%rsp)
jmp 0x22bad
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0xb8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xc05f1(%rip), %rsi     # 0xe31c0
callq 0xb2ba0
movq %r12, 0x30(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x22bf7
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x22bff
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x38(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl 0x24(%r15), %ebp
movl $0x1, %eax
cmpl $0xa, %ebp
jb 0x22c69
movl $0x4, %eax
movl %ebp, %ecx
cmpl $0x63, %ecx
jbe 0x22c62
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x22c67
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x22c69
movl %ecx, %edx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rdx
shrq $0x2d, %rdx
addl $0x4, %eax
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x22c2c
addl $-0x3, %eax
jmp 0x22c69
addl $-0x2, %eax
jmp 0x22c69
decl %eax
movl %eax, %esi
leaq 0xe0(%rsp), %rax
movq %rax, 0xd0(%rsp)
leaq 0xd0(%rsp), %rdi
xorl %edx, %edx
callq 0xb0d50
movq 0xd0(%rsp), %rdi
movl 0xd8(%rsp), %esi
movl %ebp, %edx
callq 0x25f43
movq 0x30(%rsp), %rcx
movl $0xf, %edi
leaq 0x40(%rsp), %r14
cmpq %r14, %rcx
je 0x22cb9
movq 0x40(%rsp), %rdi
movq 0x38(%rsp), %r8
movq 0xd0(%rsp), %rsi
movq 0xd8(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq 0xa0(%rsp), %r12
jbe 0x22cfe
movl $0xf, %edi
leaq 0xe0(%rsp), %r9
cmpq %r9, %rsi
je 0x22cf9
movq 0xe0(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x22d0a
leaq 0x30(%rsp), %rdi
callq 0xb2a60
jmp 0x22d1b
leaq 0xd0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xb23e0
leaq 0x18(%rsp), %rsi
movq %rsi, 0x8(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x22d40
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x22d46
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x8(%rsp), %rdi
leaq 0xc1547(%rip), %rsi     # 0xe42b6
callq 0xb2ba0
leaq 0x1b0(%rsp), %rsi
movq %rsi, 0x1a0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x22da8
movq %rdx, 0x1a0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1b0(%rsp)
jmp 0x22dae
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x1a8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %edi, %edi
leaq 0x1a0(%rsp), %rsi
callq 0x187cb
movq 0x1a0(%rsp), %rdi
leaq 0x1b0(%rsp), %rax
cmpq %rax, %rdi
je 0x22dfd
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x22e19
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
je 0x22e3e
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x30(%rsp), %rdi
cmpq %r14, %rdi
je 0x22e55
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x22e7a
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x90(%rsp), %rdi
cmpq %r12, %rdi
je 0x22e97
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x340c0
cmpb $0x1, 0x107bf9(%rip)    # 0x12aa97
leaq 0x250(%rsp), %r12
jne 0x22f0e
leaq 0x330(%rsp), %rax
movq %rax, 0x320(%rsp)
leaq 0x320(%rsp), %rbx
movq %rbx, %rdi
leaq 0xc146a(%rip), %rsi     # 0xe4334
leaq 0xc1482(%rip), %rdx     # 0xe4353
callq 0x260a6
xorl %edi, %edi
movq %rbx, %rsi
callq 0x187cb
leaq 0x188(%rsp), %r12
movq 0x320(%rsp), %rdi
leaq 0x330(%rsp), %rax
cmpq %rax, %rdi
je 0x23045
movq 0x330(%rsp), %rsi
jmp 0x2303d
movq 0x38(%r15), %rsi
leaq 0x30(%rsp), %rbx
movq %rbx, %rdi
callq 0x19b8a
movl $0x16, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xc1421(%rip), %rcx     # 0xe4354
callq 0xb23e0
leaq 0x18(%rsp), %rsi
movq %rsi, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x22f60
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x22f66
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x8(%rsp), %rdi
leaq 0xc13e1(%rip), %rsi     # 0xe436b
callq 0xb2ba0
movq %r12, 0x240(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x22fbb
movq %rdx, 0x240(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x250(%rsp)
jmp 0x22fc3
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x248(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %edi, %edi
leaq 0x240(%rsp), %rsi
callq 0x187cb
movq 0x240(%rsp), %rdi
cmpq %r12, %rdi
je 0x2300a
movq 0x250(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
leaq 0x188(%rsp), %r12
je 0x2302e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x30(%rsp), %rdi
cmpq %r14, %rdi
je 0x23045
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x30(%r15), %rsi
testq %rsi, %rsi
jle 0x2309c
leaq 0x30(%rsp), %rbx
movq %rbx, %rdi
callq 0x19b8a
movl $0x16, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xc133c(%rip), %rcx     # 0xe43ab
callq 0xb23e0
leaq 0x18(%rsp), %rsi
movq %rsi, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x230fa
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x23100
leaq 0x310(%rsp), %rax
movq %rax, 0x300(%rsp)
leaq 0x300(%rsp), %rbx
movq %rbx, %rdi
leaq 0xc1304(%rip), %rsi     # 0xe43c2
leaq 0xc131c(%rip), %rdx     # 0xe43e1
callq 0x260a6
xorl %edi, %edi
movq %rbx, %rsi
callq 0x187cb
movq 0x300(%rsp), %rdi
leaq 0x310(%rsp), %rax
cmpq %rax, %rdi
je 0x231d7
movq 0x310(%rsp), %rsi
jmp 0x231cf
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x8(%rsp), %rdi
leaq 0xc11b0(%rip), %rsi     # 0xe42d4
callq 0xb2ba0
movq %r12, 0x178(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x23155
movq %rdx, 0x178(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x188(%rsp)
jmp 0x2315d
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x180(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %edi, %edi
leaq 0x178(%rsp), %rsi
callq 0x187cb
movq 0x178(%rsp), %rdi
cmpq %r12, %rdi
je 0x231a4
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x231c0
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x30(%rsp), %rdi
cmpq %r14, %rdi
je 0x231d7
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x340c0
addq $0x40, %r15
leaq 0x4a0(%rsp), %rbx
movq %rbx, %rdi
leaq 0xc11f5(%rip), %rsi     # 0xe43e2
movq %r15, %rdx
callq 0x259aa
xorl %edi, %edi
movq %rbx, %rsi
callq 0x187cb
leaq 0x18(%rsp), %r15
movq 0x4a0(%rsp), %rdi
leaq 0x4b0(%rsp), %rax
cmpq %rax, %rdi
je 0x23229
movq 0x4b0(%rsp), %rsi
incq %rsi
callq 0x340c0
incq %r13
movslq 0x28(%rsp), %rax
cmpq %rax, %r13
jl 0x21cfb
movl 0x2c(%rsp), %edx
testl %edx, %edx
jle 0x23971
leaq 0x40(%rsp), %r12
xorl %ebx, %ebx
leaq 0x8(%rsp), %r14
leaq 0x90(%rsp), %rbp
movl $0xd1b71759, %edx       # imm = 0xD1B71759
movl $0x1, %r13d
cmpq $0xa, %rbx
jb 0x232ac
movl $0x4, %r13d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x232a3
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x232a9
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x232ac
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r13d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x23273
addl $-0x3, %r13d
jmp 0x232ac
addl $-0x2, %r13d
jmp 0x232ac
decl %r13d
movl %r13d, %esi
movq %r15, 0x8(%rsp)
movq %r14, %rdi
movl $0x2d, %edx
callq 0xb0d50
movq 0x8(%rsp), %rdi
movl %r13d, %esi
movl %ebx, %edx
callq 0x25f43
movl $0x15, %r8d
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xc1115(%rip), %rcx     # 0xe43f9
callq 0xb23e0
leaq 0x230(%rsp), %r13
movq %r13, 0x220(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2331d
movq %rdx, 0x220(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x230(%rsp)
jmp 0x23325
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x228(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %edi, %edi
leaq 0x220(%rsp), %rsi
callq 0x187cb
movq 0x220(%rsp), %rdi
cmpq %r13, %rdi
je 0x2336c
movq 0x230(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
leaq 0x210(%rsp), %r13
je 0x2338b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
movq %rbx, %r15
shlq $0x5, %r15
movl 0x764(%rsp,%r15), %esi
movq %r14, %rdi
callq 0x1875c
movl $0x16, %r8d
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xc1059(%rip), %rcx     # 0xe440f
callq 0xb23e0
movq %r13, 0x200(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x233e7
movq %rdx, 0x200(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x210(%rsp)
jmp 0x233ef
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x208(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %edi, %edi
leaq 0x200(%rsp), %rsi
callq 0x187cb
movq 0x200(%rsp), %rdi
cmpq %r13, %rdi
je 0x23436
movq 0x210(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
leaq 0xb0(%rsp), %r13
je 0x2345a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
addq %rsp, %r15
addq $0x750, %r15            # imm = 0x750
movl 0x10(%r15), %esi
movq %r13, %rdi
callq 0x1875c
movl $0x16, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xc0df0(%rip), %rcx     # 0xe4274
callq 0xb23e0
movq %r12, 0x30(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x234ac
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x234b4
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x38(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x30(%rsp), %rdi
leaq 0xc60d8(%rip), %rsi     # 0xe95b0
callq 0xb2ba0
leaq 0x18(%rsp), %rsi
movq %rsi, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x23505
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x2350b
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movzwl 0x2(%r15), %eax
rolw $0x8, %ax
movzwl %ax, %r12d
movl $0x1, %r13d
cmpw $0xa, %r12w
jb 0x23569
movl $0x2, %r13d
cmpw $0x64, %ax
jb 0x23569
movl $0x3, %r13d
cmpl $0x3e8, %r12d           # imm = 0x3E8
jb 0x23569
cmpl $0x2710, %r12d          # imm = 0x2710
movl $0x5, %r13d
sbbl $0x0, %r13d
movl %r13d, %esi
leaq 0xa0(%rsp), %rax
movq %rax, 0x90(%rsp)
movq %rbp, %rdi
movl $0x2d, %edx
callq 0xb0d50
movq 0x90(%rsp), %rdi
movl %r13d, %esi
movl %r12d, %edx
callq 0x25f43
movq 0x8(%rsp), %rcx
movl $0xf, %edi
leaq 0x18(%rsp), %rax
cmpq %rax, %rcx
je 0x235b5
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %r8
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq 0x40(%rsp), %r12
leaq 0x168(%rsp), %r13
jbe 0x235ff
movl $0xf, %edi
leaq 0xa0(%rsp), %r9
cmpq %r9, %rsi
je 0x235fa
movq 0xa0(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x23609
movq %r14, %rdi
callq 0xb2a60
jmp 0x23615
movq %rbp, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xb23e0
movq %r13, 0x158(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x2363e
movq %rdx, 0x158(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x168(%rsp)
jmp 0x23646
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x160(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
xorl %edi, %edi
leaq 0x158(%rsp), %rsi
callq 0x187cb
movq 0x158(%rsp), %rdi
cmpq %r13, %rdi
je 0x23692
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x236b7
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x236d3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x30(%rsp), %rdi
cmpq %r12, %rdi
je 0x236ea
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x2370f
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x18(%r15), %r13
testq %r13, %r13
jle 0x23784
movl $0x1, %r12d
cmpq $0xa, %r13
leaq 0x18(%rsp), %r15
jb 0x237f0
movl $0x4, %r12d
movq %r13, %rcx
cmpq $0x63, %rcx
jbe 0x237e7
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x237ed
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x237f0
movq %rcx, %rax
movabsq $0x346dc5d63886594b, %rdx # imm = 0x346DC5D63886594B
mulq %rdx
shrq $0xb, %rdx
addl $0x4, %r12d
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x23736
addl $-0x3, %r12d
jmp 0x237f0
leaq 0x2f0(%rsp), %rax
movq %rax, 0x2e0(%rsp)
leaq 0x2e0(%rsp), %r15
movq %r15, %rdi
leaq 0xc0c80(%rip), %rsi     # 0xe4426
leaq 0xc0c9c(%rip), %rdx     # 0xe4449
callq 0x260a6
xorl %edi, %edi
movq %r15, %rsi
callq 0x187cb
leaq 0x18(%rsp), %r15
movq 0x2e0(%rsp), %rdi
leaq 0x2f0(%rsp), %rax
cmpq %rax, %rdi
je 0x2395b
movq 0x2f0(%rsp), %rsi
jmp 0x23953
addl $-0x2, %r12d
jmp 0x237f0
decl %r12d
movq %rbx, 0x120(%rsp)
movq %r14, %rbx
movq %rbp, %r14
movl %r12d, %esi
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rbp
movq %rbp, %rdi
movl $0x2d, %edx
callq 0xb0d50
movq 0x30(%rsp), %rdi
movl %r12d, %esi
movq %r13, %rdx
callq 0x2602b
movl $0x16, %r8d
movq %rbp, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xc0a7c(%rip), %rcx     # 0xe42bd
callq 0xb23e0
movq %r15, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x40(%rsp), %r12
leaq 0x1f0(%rsp), %r13
movq %r14, %rbp
je 0x23879
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x23880
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq %rbx, %r14
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
leaq 0xc0a2f(%rip), %rsi     # 0xe42d4
callq 0xb2ba0
movq 0x120(%rsp), %rbx
movq %r13, 0x1e0(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x238de
movq %rdx, 0x1e0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1f0(%rsp)
jmp 0x238e6
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x1e8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
xorl %edi, %edi
leaq 0x1e0(%rsp), %rsi
callq 0x187cb
movq 0x1e0(%rsp), %rdi
cmpq %r13, %rdi
je 0x2392d
movq 0x1f0(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x23944
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x30(%rsp), %rdi
cmpq %r12, %rdi
je 0x2395b
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x340c0
incq %rbx
movslq 0x2c(%rsp), %rax
cmpq %rax, %rbx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
jl 0x2325f
movl 0x154(%rsp), %eax
cmpl %eax, 0x118(%rsp)
movq 0x198(%rsp), %rbx
jge 0x239df
leaq 0x490(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xc0aae(%rip), %rsi     # 0xe444a
leaq 0xc0aff(%rip), %rdx     # 0xe44a2
leaq 0x480(%rsp), %rdi
callq 0x260a6
leaq 0x480(%rsp), %rsi
movl $0x1, %edi
callq 0x187cb
movq 0x480(%rsp), %rdi
cmpq %r14, %rdi
je 0x239df
movq 0x490(%rsp), %rsi
incq %rsi
callq 0x340c0
leaq 0xb0(%rsp), %rdi
movl %ebx, %esi
callq 0x2589f
leaq 0xc0aae(%rip), %rsi     # 0xe44a3
leaq 0x30(%rsp), %rdi
leaq 0xb0(%rsp), %rdx
callq 0x25a32
leaq 0xbf7b2(%rip), %rsi     # 0xe31c0
leaq 0x30(%rsp), %rdi
callq 0xb2ba0
movq %r15, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x23e54
movups (%rcx), %xmm0
leaq 0x18(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x23e61
leaq 0xc0be6(%rip), %rdi     # 0xe462d
callq 0x1744a
movq 0x118(%rsp), %rax
movq (%rax,%rbx,8), %rsi
leaq 0x70(%rsp), %rdi
leaq 0x110(%rsp), %rdx
callq 0x25862
leaq 0xc06a3(%rip), %rsi     # 0xe4114
leaq 0xf0(%rsp), %rdi
leaq 0x70(%rsp), %rdx
callq 0x25a32
leaq 0xc5c84(%rip), %rsi     # 0xe970e
leaq 0xf0(%rsp), %rdi
callq 0xb2ba0
leaq 0x60(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x23d10
movups (%rcx), %xmm0
movups %xmm0, (%r15)
jmp 0x23d1d
leaq 0xc0b67(%rip), %rdi     # 0xe462d
callq 0x174fa
leaq 0xc0b5b(%rip), %rdi     # 0xe462d
callq 0x1744a
leaq 0xc0b4f(%rip), %rdi     # 0xe462d
callq 0x174fa
leaq 0xc0b43(%rip), %rdi     # 0xe462d
callq 0x1744a
leaq 0xc0b37(%rip), %rdi     # 0xe462d
callq 0x1744a
leaq 0xc0b2b(%rip), %rdi     # 0xe462d
callq 0x174fa
leaq 0xc0b1f(%rip), %rdi     # 0xe462d
callq 0x174fa
leaq 0x6d0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xc05c9(%rip), %rsi     # 0xe40ef
leaq 0xc05e6(%rip), %rdx     # 0xe4113
leaq 0x6c0(%rsp), %rdi
callq 0x260a6
leaq 0x6c0(%rsp), %rsi
movl $0x2, %edi
callq 0x187cb
leaq 0x6c0(%rsp), %rdi
jmp 0x23de3
leaq 0x30(%rsp), %rdi
leaq 0xb0(%rsp), %rdx
movq %r13, %rsi
callq 0x25862
leaq 0xc0456(%rip), %rsi     # 0xe3fcb
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x25a32
leaq 0xc045e(%rip), %rsi     # 0xe3fe9
leaq 0x8(%rsp), %rdi
callq 0xb2ba0
leaq 0x4f0(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x23d8b
movups (%rcx), %xmm0
movups %xmm0, (%r14)
jmp 0x23d9e
leaq 0xc0a66(%rip), %rdi     # 0xe462d
callq 0x1744a
leaq 0xc0a5a(%rip), %rdi     # 0xe462d
callq 0x174fa
movq %rdx, 0x540(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x550(%rsp)
movq 0x8(%rax), %rdx
leaq 0x540(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x2, %edi
callq 0x187cb
leaq 0x540(%rsp), %rdi
jmp 0x23dcf
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
movq 0x8(%rax), %rdx
leaq 0x50(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x700(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x25df7
leaq 0x700(%rsp), %rsi
movl $0x2, %edi
callq 0x187cb
leaq 0x700(%rsp), %rdi
jmp 0x23d68
movq %rdx, 0x520(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x530(%rsp)
movq 0x8(%rax), %rdx
leaq 0x520(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x2, %edi
callq 0x187cb
leaq 0x520(%rsp), %rdi
jmp 0x23dcf
movq %rdx, 0x500(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x510(%rsp)
movq 0x8(%rax), %rdx
leaq 0x500(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x2, %edi
callq 0x187cb
leaq 0x500(%rsp), %rdi
jmp 0x23dcf
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
movq 0x8(%rax), %rdx
leaq 0x50(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x6e0(%rsp), %rdi
leaq 0xb0(%rsp), %rdx
callq 0x25df7
leaq 0x6e0(%rsp), %rsi
movl $0x2, %edi
callq 0x187cb
leaq 0x6e0(%rsp), %rdi
callq 0xb13f0
leaq 0x50(%rsp), %rdi
callq 0xb13f0
leaq 0xf0(%rsp), %rdi
callq 0xb13f0
leaq 0x70(%rsp), %rdi
jmp 0x23de3
movq %rdx, 0x4e0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x4f0(%rsp)
movq 0x8(%rax), %rdx
leaq 0x4e0(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x2, %edi
callq 0x187cb
leaq 0x4e0(%rsp), %rdi
callq 0xb13f0
leaq 0x8(%rsp), %rdi
callq 0xb13f0
leaq 0x30(%rsp), %rdi
callq 0xb13f0
jmp 0x2571e
leaq 0x30(%rsp), %rdi
leaq 0xb0(%rsp), %rdx
movq %r13, %rsi
callq 0x25862
leaq 0xc03de(%rip), %rsi     # 0xe41e7
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x25a32
leaq 0xc03d0(%rip), %rsi     # 0xe41ef
leaq 0x8(%rsp), %rdi
callq 0xb2ba0
leaq 0x4d0(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x241aa
movups (%rcx), %xmm0
movups %xmm0, (%r14)
jmp 0x241bd
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x90(%rsp), %rdi
movl 0x118(%rsp), %esi
callq 0x2589f
leaq 0x660(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x25ac1
leaq 0x660(%rsp), %rsi
xorl %edi, %edi
callq 0x187cb
leaq 0x670(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x23ed7
movq 0x670(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x23efc
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x23f18
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x23f33
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x23f58
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x340c0
cmpl $0x0, 0x128(%rsp)
jne 0x24097
leaq 0x8(%rsp), %rdi
xorl %esi, %esi
callq 0x2589f
leaq 0xc05ca(%rip), %rsi     # 0xe4543
leaq 0x5e0(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x25a32
leaq 0x5e0(%rsp), %rsi
xorl %edi, %edi
callq 0x187cb
leaq 0x5f0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x23fbb
movq 0x5f0(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x23fd7
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
leaq -0xa641(%rip), %rbx     # 0x1999d
movl $0x3, %edi
movq %rbx, %rsi
callq 0x15590
movl $0x2, %edi
movq %rbx, %rsi
callq 0x15590
movl $0xf, %edi
movq %rbx, %rsi
callq 0x15590
movl $0x1, %edi
movq %rbx, %rsi
callq 0x15590
movl $0xd, %edi
movq %rbx, %rsi
callq 0x15590
movl $0x9, %edi
movq %rbx, %rsi
callq 0x15590
callq 0x18841
movq $0x0, 0x8(%rsp)
cmpb $0x0, 0x106a4f(%rip)    # 0x12aa90
jne 0x241f3
leaq -0x4507(%rip), %rsi     # 0x1fb47
leaq 0x30(%rsp), %rdi
leaq 0x2730(%rsp), %rdx
leaq 0x28(%rsp), %rcx
leaq 0x750(%rsp), %r8
leaq 0x2c(%rsp), %r9
callq 0x25e5c
cmpq $0x0, 0x8(%rsp)
jne 0x247a6
movq 0x30(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0x8(%rsp), %rdi
callq 0xb4010
jmp 0x21989
leaq 0x8(%rsp), %rdi
movq 0x128(%rsp), %rsi
callq 0x2589f
leaq 0xc0411(%rip), %rsi     # 0xe44c1
leaq 0x640(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x25a32
leaq 0x640(%rsp), %rsi
xorl %edi, %edi
callq 0x187cb
leaq 0x650(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x240f2
movq 0x650(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x2410e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
callq 0x15620
movq %rax, %rbx
movl $0x0, (%rax)
callq 0x152c0
xorl %edi, %edi
movl %eax, %esi
callq 0x15250
cmpl $-0x1, %eax
jne 0x24138
cmpl $0x0, (%rbx)
jne 0x242d2
leaq 0x8(%rsp), %rdi
movl %eax, %esi
callq 0x2589f
leaq 0xc03b8(%rip), %rsi     # 0xe4503
leaq 0x620(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x25a32
leaq 0x620(%rsp), %rsi
xorl %edi, %edi
callq 0x187cb
leaq 0x630(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2418d
movq 0x630(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x24328
movq 0x18(%rsp), %rsi
jmp 0x24320
movq %rdx, 0x4c0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x4d0(%rsp)
movq 0x8(%rax), %rdx
leaq 0x4c0(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x2, %edi
callq 0x187cb
leaq 0x4c0(%rsp), %rdi
jmp 0x23dcf
callq 0x15790
testl %eax, %eax
jne 0x243ca
callq 0x15120
testl %eax, %eax
jns 0x2425f
leaq 0x410(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xc0364(%rip), %rsi     # 0xe4580
leaq 0xc0388(%rip), %rdx     # 0xe45ab
leaq 0x400(%rsp), %rdi
callq 0x260a6
leaq 0x400(%rsp), %rsi
movl $0x2, %edi
callq 0x187cb
movq 0x400(%rsp), %rdi
cmpq %r14, %rdi
je 0x2425f
movq 0x410(%rsp), %rsi
incq %rsi
callq 0x340c0
leaq 0xbef5a(%rip), %rdi     # 0xe31c0
callq 0x15070
testl %eax, %eax
jne 0x2445a
xorl %edi, %edi
callq 0x15870
callq 0x15790
testl %eax, %eax
jne 0x2456f
xorl %edi, %edi
callq 0x15140
movl $0x1, %edi
callq 0x15140
movl $0x2, %edi
callq 0x15140
leaq -0x4762(%rip), %rsi     # 0x1fb47
leaq 0x30(%rsp), %rdi
leaq 0x2730(%rsp), %rdx
leaq 0x28(%rsp), %rcx
leaq 0x750(%rsp), %r8
leaq 0x2c(%rsp), %r9
callq 0x25e5c
jmp 0x24072
leaq 0x470(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xc01fc(%rip), %rsi     # 0xe44e1
leaq 0xc0216(%rip), %rdx     # 0xe4502
leaq 0x460(%rsp), %rdi
callq 0x260a6
leaq 0x460(%rsp), %rsi
movl $0x2, %edi
callq 0x187cb
movq 0x460(%rsp), %rdi
cmpq %r14, %rdi
je 0x24328
movq 0x470(%rsp), %rsi
incq %rsi
callq 0x340c0
movl $0x0, (%rbx)
callq 0x152c0
xorl %edi, %edi
movl %eax, %esi
movq 0x128(%rsp), %rdx
callq 0x15460
cmpl $-0x1, %eax
jne 0x24352
cmpl $0x0, (%rbx)
jne 0x244b9
movl $0x0, (%rbx)
callq 0x152c0
xorl %edi, %edi
movl %eax, %esi
callq 0x15250
cmpl $-0x1, %eax
jne 0x24374
cmpl $0x0, (%rbx)
jne 0x24518
leaq 0x8(%rsp), %rdi
movl %eax, %esi
callq 0x2589f
leaq 0xc017c(%rip), %rsi     # 0xe4503
leaq 0x600(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x25a32
leaq 0x600(%rsp), %rsi
xorl %edi, %edi
callq 0x187cb
leaq 0x610(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x23fbb
movq 0x610(%rsp), %rsi
jmp 0x23fb3
jle 0x24414
leaq 0x5d0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xc0182(%rip), %rsi     # 0xe4561
leaq 0xc018b(%rip), %rdx     # 0xe4571
leaq 0x5c0(%rsp), %rdi
callq 0x260a6
leaq 0x5c0(%rsp), %rsi
xorl %edi, %edi
callq 0x187cb
leaq 0x5c0(%rsp), %rdi
callq 0xb13f0
jmp 0x21989
leaq 0x5b0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xc014b(%rip), %rsi     # 0xe4572
leaq 0xc0151(%rip), %rdx     # 0xe457f
leaq 0x5a0(%rsp), %rdi
callq 0x260a6
leaq 0x5a0(%rsp), %rsi
movl $0x2, %edi
callq 0x187cb
leaq 0x5a0(%rsp), %rdi
jmp 0x23de3
leaq 0x3f0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xc013f(%rip), %rsi     # 0xe45ac
leaq 0xc015e(%rip), %rdx     # 0xe45d2
leaq 0x3e0(%rsp), %rdi
callq 0x260a6
leaq 0x3e0(%rsp), %rsi
movl $0x2, %edi
callq 0x187cb
movq 0x3e0(%rsp), %rdi
cmpq %r14, %rdi
je 0x24273
movq 0x3f0(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24273
leaq 0x450(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xc0055(%rip), %rsi     # 0xe4521
leaq 0xc006f(%rip), %rdx     # 0xe4542
leaq 0x440(%rsp), %rdi
callq 0x260a6
leaq 0x440(%rsp), %rsi
movl $0x2, %edi
callq 0x187cb
movq 0x440(%rsp), %rdi
cmpq %r14, %rdi
je 0x24352
movq 0x450(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24352
leaq 0x430(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xbffb6(%rip), %rsi     # 0xe44e1
leaq 0xbffd0(%rip), %rdx     # 0xe4502
leaq 0x420(%rsp), %rdi
callq 0x260a6
leaq 0x420(%rsp), %rsi
movl $0x2, %edi
callq 0x187cb
movq 0x420(%rsp), %rdi
cmpq %r14, %rdi
je 0x23fd7
movq 0x430(%rsp), %rsi
jmp 0x23fcf
jle 0x245b4
leaq 0x590(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xc004f(%rip), %rsi     # 0xe45d3
leaq 0xc006c(%rip), %rdx     # 0xe45f7
leaq 0x580(%rsp), %rdi
callq 0x260a6
leaq 0x580(%rsp), %rsi
xorl %edi, %edi
callq 0x187cb
leaq 0x580(%rsp), %rdi
jmp 0x2440a
leaq 0x570(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xc0031(%rip), %rsi     # 0xe45f8
leaq 0xc0056(%rip), %rdx     # 0xe4624
leaq 0x560(%rsp), %rdi
callq 0x260a6
leaq 0x560(%rsp), %rsi
movl $0x2, %edi
callq 0x187cb
leaq 0x560(%rsp), %rdi
jmp 0x23de3
jmp 0x24797
movq %rax, %rbx
movq 0x560(%rsp), %rdi
cmpq %r14, %rdi
je 0x2479a
movq 0x570(%rsp), %rsi
jmp 0x24729
movq %rax, %rbx
movq 0x580(%rsp), %rdi
cmpq %r14, %rdi
je 0x2479a
movq 0x590(%rsp), %rsi
jmp 0x24729
jmp 0x24797
jmp 0x24797
movq %rax, %rbx
movq 0x420(%rsp), %rdi
cmpq %r14, %rdi
je 0x2579c
movq 0x430(%rsp), %rsi
jmp 0x25449
movq %rax, %rbx
movq 0x440(%rsp), %rdi
cmpq %r14, %rdi
je 0x2579c
movq 0x450(%rsp), %rsi
jmp 0x25449
movq %rax, %rbx
movq 0x3e0(%rsp), %rdi
cmpq %r14, %rdi
je 0x2479a
movq 0x3f0(%rsp), %rsi
jmp 0x24729
movq %rax, %rbx
leaq 0x610(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x24f98
movq 0x610(%rsp), %rsi
jmp 0x24f8b
jmp 0x25799
movq %rax, %rbx
movq 0x5a0(%rsp), %rdi
cmpq %r14, %rdi
je 0x2479a
movq 0x5b0(%rsp), %rsi
jmp 0x24729
movq %rax, %rbx
movq 0x5c0(%rsp), %rdi
cmpq %r14, %rdi
je 0x2479a
movq 0x5d0(%rsp), %rsi
jmp 0x24729
movq %rax, %rbx
movq 0x400(%rsp), %rdi
cmpq %r14, %rdi
je 0x2479a
movq 0x410(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x2479a
jmp 0x25799
jmp 0x24797
jmp 0x24f95
jmp 0x24797
jmp 0x24797
jmp 0x24797
jmp 0x25799
jmp 0x24797
movq %rax, %rbx
movq 0x460(%rsp), %rdi
cmpq %r14, %rdi
je 0x2579c
movq 0x470(%rsp), %rsi
jmp 0x25449
movq %rax, %rbx
leaq 0x630(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x24f98
movq 0x630(%rsp), %rsi
jmp 0x24f8b
jmp 0x25799
movq %rax, %rbx
cmpq $0x0, 0x8(%rsp)
je 0x2579c
callq 0x35400
jmp 0x24f95
jmp 0x25799
movq %rax, %rbx
leaq 0x650(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x24f98
movq 0x650(%rsp), %rsi
jmp 0x24f8b
movq %rax, %rbx
leaq 0x5f0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x24f98
movq 0x5f0(%rsp), %rsi
jmp 0x24f8b
jmp 0x24f95
jmp 0x24f95
jmp 0x25799
jmp 0x25799
movq %rax, %rbx
movq 0x4c0(%rsp), %rdi
cmpq %r14, %rdi
je 0x24894
movq 0x4d0(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24894
movq %rax, %rbx
movq 0x360(%rsp), %rdi
leaq 0x370(%rsp), %rax
cmpq %rax, %rdi
je 0x2579c
movq 0x370(%rsp), %rsi
jmp 0x25449
jmp 0x25799
movq %rax, %rbx
movq 0x380(%rsp), %rdi
leaq 0x390(%rsp), %rax
cmpq %rax, %rdi
je 0x2579c
movq 0x390(%rsp), %rsi
jmp 0x25449
jmp 0x25799
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
jne 0x252b8
jmp 0x25354
movq %rax, %rbx
leaq 0x670(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2499d
movq 0x670(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x2499d
movq %rax, %rbx
movq 0x240(%rsp), %rdi
cmpq %r12, %rdi
je 0x24d91
movq 0x250(%rsp), %rsi
jmp 0x24d84
jmp 0x24d8e
jmp 0x24daf
jmp 0x25799
movq %rax, %rbx
movq 0x320(%rsp), %rdi
leaq 0x330(%rsp), %rax
cmpq %rax, %rdi
je 0x2579c
movq 0x330(%rsp), %rsi
jmp 0x25449
jmp 0x25799
jmp 0x25351
movq %rax, %rbx
movq 0x260(%rsp), %rdi
cmpq %r12, %rdi
je 0x24d91
movq 0x270(%rsp), %rsi
jmp 0x24d84
jmp 0x24d8e
jmp 0x24daf
jmp 0x25799
movq %rax, %rbx
movq 0x340(%rsp), %rdi
leaq 0x350(%rsp), %rax
cmpq %rax, %rdi
je 0x2579c
movq 0x350(%rsp), %rsi
jmp 0x25449
jmp 0x25799
movq %rax, %rbx
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x24dc9
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24dc9
movq %rax, %rbx
movq 0x300(%rsp), %rdi
leaq 0x310(%rsp), %rax
cmpq %rax, %rdi
je 0x2579c
movq 0x310(%rsp), %rsi
jmp 0x25449
jmp 0x25799
movq %rax, %rbx
movq 0x1a0(%rsp), %rdi
leaq 0x1b0(%rsp), %rax
cmpq %rax, %rdi
je 0x24a26
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24a26
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x24a47
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24a47
movq %rax, %rbx
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
je 0x24a71
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24a71
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x24a92
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24a92
movq %rax, %rbx
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x24abc
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24abc
movq %rax, %rbx
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x2579c
movq 0xa0(%rsp), %rsi
jmp 0x25449
jmp 0x25799
movq %rax, %rbx
movq 0x2e0(%rsp), %rdi
leaq 0x2f0(%rsp), %rax
cmpq %rax, %rdi
je 0x2579c
movq 0x2f0(%rsp), %rsi
jmp 0x25449
jmp 0x25799
movq %rax, %r14
movq 0x280(%rsp), %rdi
cmpq %rbx, %rdi
je 0x24b3a
movq 0x290(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24b3a
movq %rax, %r14
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x24b5b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24b5b
movq %rax, %r14
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x24b7c
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24b7c
movq %rax, %r14
movq %r14, %rbx
jmp 0x2579c
jmp 0x25799
movq %rax, %rbx
movq 0x178(%rsp), %rdi
cmpq %r12, %rdi
je 0x24bae
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24bae
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x24bca
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
leaq 0x40(%rsp), %r14
jmp 0x24bd4
movq %rax, %rbx
movq 0x30(%rsp), %rdi
cmpq %r14, %rdi
jne 0x25366
jmp 0x2579c
jmp 0x25799
movq %rax, %rbx
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x24c19
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24c19
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x24c3a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24c3a
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x24c61
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24c61
movq %rax, %rbx
leaq 0xc0(%rsp), %r14
leaq 0xa0(%rsp), %r12
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x24c9a
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24c9a
movq %rax, %rbx
leaq 0xc0(%rsp), %r14
movq 0xb0(%rsp), %rdi
cmpq %r14, %rdi
je 0x24cbc
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24cbc
movq %rax, %rbx
leaq 0xe0(%rsp), %r14
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x24cfe
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24cfe
movq %rax, %rbx
leaq 0xa0(%rsp), %r12
leaq 0xe0(%rsp), %r14
movq 0x90(%rsp), %rdi
cmpq %r12, %rdi
je 0x24d28
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24d28
movq %rax, %rbx
leaq 0xe0(%rsp), %r14
movq 0xd0(%rsp), %rdi
cmpq %r14, %rdi
je 0x24d4a
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24d4a
movq %rax, %rbx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x2579c
movq 0x60(%rsp), %rsi
jmp 0x25449
jmp 0x25799
movq %rax, %rbx
movq 0x1e0(%rsp), %rdi
cmpq %r13, %rdi
je 0x24d91
movq 0x1f0(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24d91
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x24db2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24db2
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
jmp 0x2535d
jmp 0x25799
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x2501d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x2501d
movq %rax, %rbx
movq 0x4a0(%rsp), %rdi
leaq 0x4b0(%rsp), %rax
cmpq %rax, %rdi
je 0x2579c
movq 0x4b0(%rsp), %rsi
jmp 0x25449
jmp 0x25799
movq %rax, %rbx
movq 0x130(%rsp), %rdi
leaq 0x140(%rsp), %rax
cmpq %rax, %rdi
je 0x24e44
movq 0x140(%rsp), %rsi
incq %rsi
callq 0x340c0
leaq 0xa0(%rsp), %r12
jmp 0x24e51
movq %rax, %rbx
movq 0x90(%rsp), %rdi
cmpq %r12, %rdi
jne 0x24f0b
jmp 0x24f20
jmp 0x24f1d
jmp 0x24f4b
jmp 0x250b5
jmp 0x25799
movq %rax, %rbx
movq 0x2a0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x24f98
movq 0x2b0(%rsp), %rsi
jmp 0x24f8b
jmp 0x24f95
jmp 0x25799
movq %rax, %rbx
movq 0x2c0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x24fd5
movq 0x2d0(%rsp), %rsi
jmp 0x24fcd
jmp 0x24fdf
jmp 0x25799
movq %rax, %rbx
movq 0x158(%rsp), %rdi
cmpq %r13, %rdi
je 0x24ef6
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24ef6
movq %rax, %rbx
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x24f20
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24f20
movq %rax, %rbx
leaq 0xc0(%rsp), %r14
leaq 0x40(%rsp), %r12
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x24f56
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24f56
movq %rax, %rbx
leaq 0xc0(%rsp), %r14
movq 0x30(%rsp), %rdi
cmpq %r12, %rdi
jne 0x25037
jmp 0x250c0
jmp 0x250b5
jmp 0x25799
movq %rax, %rbx
movq 0x200(%rsp), %rdi
cmpq %r13, %rdi
je 0x24f98
movq 0x210(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x24f98
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
jne 0x25444
jmp 0x2579c
jmp 0x25799
movq %rax, %rbx
movq 0x220(%rsp), %rdi
cmpq %r13, %rdi
je 0x24fd5
movq 0x230(%rsp), %rsi
incq %rsi
callq 0x340c0
leaq 0x18(%rsp), %r15
jmp 0x25436
movq %rax, %rbx
jmp 0x25436
jmp 0x25799
movq %rax, %rbx
movq 0x3a0(%rsp), %rdi
leaq 0x3b0(%rsp), %rax
cmpq %rax, %rdi
je 0x2579c
movq 0x3b0(%rsp), %rsi
jmp 0x25449
jmp 0x25799
movq %rax, %rbx
leaq 0xc0(%rsp), %r14
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x250c0
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x250c0
movq %rdx, %r14
movq %rax, %rbx
leaq 0x6f0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x250e4
movq 0x6f0(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x250e4
movq %rax, %rbx
movq 0x480(%rsp), %rdi
cmpq %r14, %rdi
je 0x2579c
movq 0x490(%rsp), %rsi
jmp 0x25449
movq %rax, %rbx
movq 0x4e0(%rsp), %rdi
cmpq %r14, %rdi
je 0x252aa
movq 0x4f0(%rsp), %rsi
jmp 0x251f1
movq %rax, %rbx
leaq 0xc0(%rsp), %r14
movq 0xb0(%rsp), %rdi
cmpq %r14, %rdi
je 0x2579c
movq 0xc0(%rsp), %rsi
jmp 0x25449
movq %rdx, %r14
movq %rax, %rbx
movq 0x50(%rsp), %rdi
cmpq %r15, %rdi
je 0x2515c
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x2515c
jmp 0x25799
movq %rax, %rbx
movq 0x500(%rsp), %rdi
cmpq %r14, %rdi
je 0x252aa
movq 0x510(%rsp), %rsi
jmp 0x251f1
jmp 0x252a7
jmp 0x25799
movq %rdx, %r14
movq %rax, %rbx
leaq 0x710(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x251b4
movq 0x710(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x251b4
movq %rdx, %r14
movq %rax, %rbx
leaq 0x100(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x25228
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x25228
movq %rax, %rbx
movq 0x520(%rsp), %rdi
cmpq %r14, %rdi
je 0x252aa
movq 0x530(%rsp), %rsi
jmp 0x251f1
jmp 0x252a7
jmp 0x25351
movq %rdx, %r14
movq %rax, %rbx
movq 0x50(%rsp), %rdi
cmpq %r15, %rdi
je 0x251cb
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x340c0
leaq 0x18(%rsp), %r15
jmp 0x2527d
movq %rax, %rbx
movq 0x540(%rsp), %rdi
cmpq %r14, %rdi
je 0x252aa
movq 0x550(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x252aa
movq %rdx, %r14
movq %rax, %rbx
movq 0x6c0(%rsp), %rdi
cmpq %r15, %rdi
je 0x25524
movq 0x6d0(%rsp), %rsi
jmp 0x25514
movq %rdx, %r14
movq %rax, %rbx
leaq 0x80(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x25524
movq 0x80(%rsp), %rsi
jmp 0x25514
jmp 0x252a7
movq %rax, %rbx
movq 0x680(%rsp), %rdi
cmpq %r14, %rdi
je 0x2579c
movq 0x690(%rsp), %rsi
jmp 0x25449
jmp 0x25351
jmp 0x25799
movq %rdx, %r14
movq %rax, %rbx
leaq 0x100(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2532f
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x2532f
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x25354
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x25354
jmp 0x2551e
jmp 0x2551e
jmp 0x2551e
jmp 0x2551e
jmp 0x2551e
jmp 0x2551e
jmp 0x25351
jmp 0x25799
movq %rax, %rbx
movq 0x6a0(%rsp), %rdi
cmpq %r14, %rdi
je 0x2579c
movq 0x6b0(%rsp), %rsi
jmp 0x25449
jmp 0x25799
jmp 0x25799
jmp 0x25490
jmp 0x25490
jmp 0x25490
movq %rdx, %r14
movq %rax, %rbx
leaq 0x80(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x25664
movq 0x80(%rsp), %rsi
jmp 0x25759
movq %rax, %rbx
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2579c
movq 0x40(%rsp), %rsi
jmp 0x25449
jmp 0x2551e
jmp 0x2551e
jmp 0x2551e
jmp 0x25799
jmp 0x25799
jmp 0x25799
jmp 0x25428
jmp 0x25490
jmp 0x25490
jmp 0x25490
jmp 0x25490
movq %rdx, %r14
movq %rax, %rbx
leaq 0xa0(%rsp), %rbp
jmp 0x2564d
jmp 0x254b0
jmp 0x254b0
jmp 0x254b0
jmp 0x25799
jmp 0x253d4
jmp 0x253d4
jmp 0x253d4
movq %rdx, %r14
movq %rax, %rbx
cmpl $0x0, (%r13)
jne 0x253e5
movl %r12d, (%r13)
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x25524
movq 0x60(%rsp), %rsi
jmp 0x25514
movq %rdx, %r14
movq %rax, %rbx
jmp 0x25583
movq %rdx, %r14
movq %rax, %rbx
jmp 0x2558d
movq %rdx, %r14
movq %rax, %rbx
jmp 0x25597
jmp 0x25799
movq %rax, %rbx
cmpl $0x0, (%r13)
jne 0x25436
movl %r12d, (%r13)
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2579c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x2579c
jmp 0x255ed
jmp 0x2551e
jmp 0x25490
jmp 0x255ed
jmp 0x2546e
jmp 0x255ed
movq %rdx, %r14
movq %rax, %rbx
cmpl $0x0, (%r13)
leaq 0xa0(%rsp), %rbp
jne 0x25628
movl %r12d, (%r13)
jmp 0x25628
movq %rdx, %r14
movq %rax, %rbx
leaq 0xa0(%rsp), %rbp
jmp 0x25628
movq %rdx, %r14
movq %rax, %rbx
leaq 0x18(%rsp), %r15
jmp 0x254b6
movq %rdx, %r14
movq %rax, %rbx
leaq 0xa0(%rsp), %rbp
jmp 0x25664
movq %rdx, %r14
movq %rax, %rbx
jmp 0x2569e
movq %rdx, %r14
movq %rax, %rbx
jmp 0x256ab
movq %rdx, %r14
movq %rax, %rbx
jmp 0x256b5
movq %rdx, %r14
movq %rax, %rbx
jmp 0x256cc
jmp 0x2551e
movq %rdx, %r14
movq %rax, %rbx
movq 0x3c0(%rsp), %rdi
leaq 0x3d0(%rsp), %rax
cmpq %rax, %rdi
je 0x25524
movq 0x3d0(%rsp), %rsi
incq %rsi
callq 0x340c0
jmp 0x25524
movq %rdx, %r14
movq %rax, %rbx
movq 0xd0(%rsp), %rdi
testq %rdi, %rdi
je 0x25541
movq 0xe0(%rsp), %rsi
subq %rdi, %rsi
callq 0x340c0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x2555e
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x340c0
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x25583
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x340c0
leaq 0x30(%rsp), %rdi
callq 0x25aa2
leaq 0x8(%rsp), %rdi
callq 0x25aa2
cmpl $0x1, %r14d
jne 0x2579c
movq %rbx, %rdi
callq 0x34640
movq %rax, %rbx
leaq 0x720(%rsp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x48440
leaq 0x1026ea(%rip), %rax    # 0x127cb0
addq $0x10, %rax
movq %rax, (%r14)
movl 0x10(%rbx), %eax
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x19c4b
leaq 0x720(%rsp), %rdi
jmp 0x25719
jmp 0x255ed
jmp 0x255ed
movq %rdx, %r14
movq %rax, %rbx
cmpl $0x0, (%r13)
leaq 0xa0(%rsp), %rbp
jne 0x25606
movl %r12d, (%r13)
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x25628
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x2564d
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x340c0
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x25664
movq 0x60(%rsp), %rsi
subq %rdi, %rsi
callq 0x340c0
movq 0xd0(%rsp), %rdi
testq %rdi, %rdi
je 0x25681
movq 0xe0(%rsp), %rsi
subq %rdi, %rsi
callq 0x340c0
movq 0x90(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2569e
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x340c0
leaq 0xb0(%rsp), %rdi
callq 0x25aa2
leaq 0x30(%rsp), %rdi
callq 0x25aa2
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x256cc
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x340c0
cmpl $0x1, %r14d
jne 0x2579c
movq %rbx, %rdi
callq 0x34640
movq %rax, %rbx
leaq 0x738(%rsp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x48440
leaq 0x1025b5(%rip), %rax    # 0x127cb0
addq $0x10, %rax
movq %rax, (%r14)
movl 0x10(%rbx), %eax
movl %eax, 0x10(%r14)
movq %r14, %rdi
callq 0x19c4b
leaq 0x738(%rsp), %rdi
callq 0xa53d0
movl $0x1, %edi
callq 0x151a0
movq %rdx, %r14
movq %rax, %rbx
cmpl $0x0, (%r13)
leaq 0xa0(%rsp), %rbp
jne 0x25741
movl %r12d, (%r13)
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x25664
movq 0x60(%rsp), %rsi
incq %rsi
jmp 0x2565f
movq %rax, %rbx
leaq 0x720(%rsp), %rdi
callq 0xa53d0
callq 0x346b0
jmp 0x2579c
jmp 0x25799
movq %rax, %rbx
leaq 0x738(%rsp), %rdi
callq 0xa53d0
callq 0x346b0
jmp 0x2579c
movq %rax, %rdi
callq 0x25e51
movq %rax, %rbx
movq $-0x5fa0, %r14          # imm = 0xA060
leaq 0x86c0(%rsp), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x257bf
movq (%r15), %rsi
incq %rsi
callq 0x340c0
addq $-0x60, %r15
addq $0x60, %r14
jne 0x257ab
movq %rbx, %rdi
callq 0xdfce0
nop