// File: /workspace/github_c_makefile_star2_O1/coyove[P]chann/./src/actions/post.cpp
// Function: actions::post::call(mg_connection*, int)
void call(mg_connection* conn, int post_to){
            bool sage = false;
            bool fileAttached = false;

            const char *data;
            int data_len, ofs = 0, mofs = 0;
            char var_name[128], file_name[128];

            bool admin_ctrl = is_admin(conn);
            
            string dump_name;
            if(configs.global().get<bool>("post::dump::raw")){
                dump_name = cc_random_chars(11);
                cc_write_binary((configs.global().get("post::dump::to") + dump_name).c_str(), conn->content, conn->content_len);
            }

            if(conn->content_len <= 0){
                views::info::render(conn, "Error");
                return;
            }

            if(post_to == 0 && configs.global().get<bool>("user::can_only_reply") && !admin_ctrl){
                views::info::render(conn, templates.invoke("misc").toggle("can_only_reply").build_destory().c_str());
                return;
            }

            char p_title[64] = {0}, p_options[64] = {'\0'}, p_image[16] = {'\0'}, g_data[1024] = {0};
            // char p_content[4096] = {'\0'};
            int max_len = configs.global().get<int>(string("post::max_size::") + (admin_ctrl ? "admin" : "user"));
            if(max_len == 0) max_len = 4096;

            auto_ptr<char> p_content(new char[max_len]());

            #define GET_VAR(x, l, v) \
                if (strcmp(var_name, x) == 0) { \
                    data_len = data_len > (l) ? (l) : data_len; \
                    strncpy(v, data, data_len); \
                    v[data_len] = 0; }

            while ((mofs = mg_parse_multipart(conn->content + ofs, conn->content_len - ofs,
                var_name, sizeof(var_name),
                file_name, sizeof(file_name),
                &data, &data_len)) > 0) {
                ofs += mofs;

                GET_VAR("input_name", 63, p_title);
                GET_VAR("input_email", 63, p_options);
                GET_VAR("input_content", max_len - 1, p_content.get());

                #ifdef GOOGLE_RECAPTCHA
                GET_VAR("g-recaptcha-response", 1023, g_data);
                #endif

                if (strcmp(var_name, "input_file") == 0 && strcmp(file_name, "") != 0) {
                    int ilimit = configs.global().get<int>("image::max_size");
                    if (data_len > 1024 * ilimit){
                        views::info::render(conn, templates.invoke("misc").toggle("too_big_image").var("MAX", ilimit).build_destory().c_str());
                        return;
                    }

                    string original(file_name), new_name = cc_random_chars(11);
                    std::transform(original.begin(), original.end(), original.begin(), ::tolower);

                    string ext = cc_valid_image_ext(original);
                    if(ext.empty()){
                        if (admin_ctrl) 
                            ext = original.substr(original.size() - 4);
                        else{
                            views::info::render(conn, templates.invoke("misc").toggle("invalid_image").build_destory().c_str());
                            return;
                        }
                    }

                    fileAttached = true;
                    string fpath = "images/" + new_name + ext;

                    cc_write_binary(fpath.c_str(), data, data_len);

                    strcpy(p_image, (new_name + ext).c_str());
                    logLog("Image uploaded: %s", p_image);
                }
            }

            #ifdef GOOGLE_RECAPTCHA
            if(configs.global().get<bool>("security::captcha")){
                CURL *curl;
                CURLcode res;
                curl = curl_easy_init();
                if(curl) {
                    curl_easy_setopt(curl, CURLOPT_URL, "https://www.google.com/recaptcha/api/siteverify");
                    string read_buffer = ""; 
                    string post_data = "secret=" + configs.global().get("security::captcha::private_key") + "&response=" + string(g_data);

                    curl_easy_setopt(curl, CURLOPT_POSTFIELDS, post_data.c_str());
                    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
                    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);

                    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, curl_callback);
                    curl_easy_setopt(curl, CURLOPT_WRITEDATA, &read_buffer);
                    
                    res = curl_easy_perform(curl);
                    /* Check for errors */ 
                    if(res != CURLE_OK || read_buffer.find("true") == string::npos){
                        views::info::render(conn, templates.invoke("misc").toggle("captcha_failed").build_destory().c_str());
                        return;
                    }
                    /* always cleanup */ 
                    curl_easy_cleanup(curl);
                    
                }
            }
            #endif

            #undef GET_VAR

            string tmpcontent(p_content.get());

            if (strcmp(p_title, "") == 0) strcpy(p_title, "untitled");
            if (strstr(p_options, "sage") && configs.global().get<bool>("post::allow_self::sage")) sage = true;

            if (strstr(p_options, "url")){
                templates.invoke("site_header").toggle("upload_image_page").pipe_to(conn).destory();
                templates.invoke("info_page").toggle("upload_image_page").var("IMAGE", p_image).pipe_to(conn).destory();
                templates.invoke("site_footer").var("TIME", 0).pipe_to(conn).destory();

                logLog("Image uploaded and won't be posted");
                return;
            }
            //admin/assist trying to update a thread/reply
            if (strstr(p_options, "update") && 
                (admin_ctrl || configs.global().get<bool>("security::assist::" + is_assist(conn) + "::update"))){
                int id = cc_extract_uri_num(conn);
                struct Thread * t = unq_read_thread(pDb, id); 

                if(!strstr(p_options, "html")){
                    // string up_str = cc_replace(string(p_content), string("\n"), string("<br>"));
                    string up_str = cc_htmlify(tmpcontent, false);
                    unq_write_string(pDb, t->content, up_str.c_str(), true); 
                }else
                    unq_write_string(pDb, t->content, p_content.get(), true); 

                views::info::render(conn, "Thread updated successfully");
                logLog("Admin (%s) has edited No.%d", is_assist(conn).c_str(), t->threadID);
                delete t;

                return;
            }

                //image or comment or both
            if (strcmp(p_content.get(), "") == 0 && !fileAttached) {
                views::info::render(conn, templates.invoke("misc").toggle("cannot_post_null").build_destory().c_str());
                return;
            }else if (strcmp(p_content.get(), "") == 0 && fileAttached){
                strcpy(p_content.get(), templates.invoke("misc").toggle("null_comment").build_destory().c_str());
            }
            

            string username = cck_verify_ssid(conn);
            string ssid = cck_extract_ssid(conn);

            if (!username.empty()){  //passed
                string findID = username;
                // if(strcmp(ssid, adminCookie) != 0)
                if (IDBanList.find(findID) != IDBanList.end()){
                    //this id is banned, so we destory it
                    cck_destory_ssid(conn);
                    logLog("Banned cookie destoryed: '%s'", ssid.c_str());
                    views::info::render(conn, templates.invoke("misc").toggle("id_is_banned").build_destory().c_str());
                    return;
                }
            }else{
                if (configs.global().get<bool>("cookie::stop")){
                    views::info::render(conn, templates.invoke("misc").toggle("cookie_is_stopped").build_destory().c_str());
                    return;
                }
                else{
                    username = cc_random_username();
                    ssid = cck_create_ssid(username);
                }
            }

            if (admin_ctrl) username = "Admin";
            string ass = is_assist(conn);
            if(!ass.empty()) username = ass.substr(0, 9);

            if(admin_ctrl)
                tmpcontent = cc_htmlify(tmpcontent, false);
            else
                tmpcontent = cc_htmlify(tmpcontent, configs.global().get<bool>("user::strict"));

            string tmpname(p_title);
            cc_clean_string(tmpname);
            strncpy(p_title, tmpname.c_str(), 64);

            // vector<string> imageDetector = cc_split(tmpcontent, "\n");
            // tmpcontent = "";

            // for (auto i = 0; i < imageDetector.size(); ++i){
            //     if (startsWith(imageDetector[i], "http"))
            //         imageDetector[i] = "<a href='" + imageDetector[i] + "'>" + imageDetector[i] + "</a>";
            //     bool refFlag = false;
            //     if (startsWith(imageDetector[i], "&gt;&gt;No.")){
            //         vector<string> gotoLink = cc_split(imageDetector[i], string("."));
            //         if (gotoLink.size() == 2){
            //             imageDetector[i] = "<div class='div-thread-" + gotoLink[1] + "'><a href='javascript:ajst(" + gotoLink[1] + ")'>" + imageDetector[i] + "</a></div>";
            //             refFlag = true;
            //         }
            //     }
            //     if (startsWith(imageDetector[i], "&gt;"))
            //         imageDetector[i] = "<ttt>" + imageDetector[i] + "</ttt>";

            //     tmpcontent.append(imageDetector[i] + ((!refFlag) ? "<br/>" : ""));
            // }


            const char * cip = cc_get_client_ip(conn);
            logLog("New thread %s (%s) posted by %s as '%s' dumped to '%s'", p_title, p_image, cip, p_options, dump_name.c_str());

            if (post_to != 0) {
                int id = post_to;
                struct Thread* t = unq_read_thread(pDb, id);

                if(t->state & TOOMANY_REPLIES){
                    views::info::render(conn, templates.invoke("misc").toggle("cannot_reply_toomany") \
                            .var("MAX", configs.global().get<int>("user::max_replies")).build_destory().c_str());
                    delete t;
                    return;
                }

                if(t->childThread){
                    struct Thread* tc = unq_read_thread(pDb, t->childThread);
                    if(tc->childCount >= configs.global().get<int>("user::max_replies") - 1){
                        changeState(t, TOOMANY_REPLIES, true);
                        unq_write_thread(pDb, t->threadID, t, true);
                    }
                    delete tc;            
                }

                if(t->state & LOCKED_THREAD)
                    views::info::render(conn, templates.invoke("misc").toggle("cannot_reply_locked").build_destory().c_str());
                else{
                    unq_new_reply(pDb, id, tmpcontent.c_str(), p_title, cip, username.c_str(), p_image, sage);
                    
                    mg_printf(conn, "HTTP/1.1 302 Moved Temporarily\r\nLocation: /success/%s/to/%d\r\n\r\n", ssid.c_str(), id);
                }

                if(t) delete t;
            }
            else{
                unq_new_thread(pDb, tmpcontent.c_str(), p_title, cip, username.c_str(), p_image, sage);
                mg_printf(conn, "HTTP/1.1 302 Moved Temporarily\r\nLocation: /success/%s/to/0\r\n\r\n", ssid.c_str());
            }
        }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x418, %rsp            # imm = 0x418
movl %esi, %r13d
movq %rdi, 0x8(%rsp)
callq 0xef24
movb %al, 0x14(%rsp)
leaq 0x260(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq $0x0, -0x8(%rbp)
movb $0x0, (%rbp)
leaq 0x6bbd7(%rip), %rdi     # 0x96f40
callq 0x11bfe
movq %rax, %rbx
leaq 0x1a0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x48ee9(%rip), %rsi     # 0x7426d
leaq 0x48ef1(%rip), %rdx     # 0x7427c
leaq 0x190(%rsp), %rdi
callq 0xedfa
leaq 0x190(%rsp), %rsi
movq %rbx, %rdi
callq 0x18460
movl %eax, %ebx
movq 0x190(%rsp), %rdi
cmpq %r15, %rdi
je 0x2b3bc
callq 0xc640
testb %bl, %bl
je 0x2b49d
leaq 0x190(%rsp), %rdi
movl $0xb, %esi
callq 0xfbf1
leaq 0x250(%rsp), %rdi
leaq 0x190(%rsp), %rbx
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
cmpq %r15, %rdi
je 0x2b3fb
callq 0xc640
leaq 0x6bb3e(%rip), %rdi     # 0x96f40
callq 0x11bfe
movq %rax, %rbx
leaq 0x200(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x48e5f(%rip), %rsi     # 0x7427d
leaq 0x48e66(%rip), %rdx     # 0x7428b
leaq 0x1f0(%rsp), %rdi
callq 0xedfa
leaq 0x1f0(%rsp), %rsi
movq %rbx, %rdi
callq 0x11ee8
leaq 0x190(%rsp), %rdi
leaq 0x250(%rsp), %rdx
movq %rax, %rsi
callq 0x1e52b
movq 0x190(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x268(%rax), %rsi
movl 0x270(%rax), %edx
callq 0xf9fe
movq 0x190(%rsp), %rdi
cmpq %r15, %rdi
je 0x2b48b
callq 0xc640
movq 0x1f0(%rsp), %rdi
cmpq %r12, %rdi
je 0x2b49d
callq 0xc640
movq 0x8(%rsp), %rax
cmpq $0x0, 0x270(%rax)
je 0x2b4b5
testl %r13d, %r13d
je 0x2b4cb
xorl %ebx, %ebx
jmp 0x2b51c
leaq 0x4f320(%rip), %rsi     # 0x7a7dc
movq 0x8(%rsp), %rdi
callq 0x2307c
jmp 0x2d06b
leaq 0x6ba6e(%rip), %rdi     # 0x96f40
callq 0x11bfe
movq %rax, %rbx
leaq 0x300(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x48d9e(%rip), %rsi     # 0x7428c
leaq 0x48dab(%rip), %rdx     # 0x742a0
leaq 0x2f0(%rsp), %rdi
callq 0xedfa
leaq 0x2f0(%rsp), %rsi
movq %rbx, %rdi
callq 0x18460
movl %eax, %ebx
movb 0x14(%rsp), %al
xorb $0x1, %al
andb %al, %bl
testl %r13d, %r13d
jne 0x2b537
leaq 0x300(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2b537
callq 0xc640
testb %bl, %bl
je 0x2b611
leaq 0x200(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x4a35f(%rip), %rsi     # 0x758b2
leaq 0x4a35c(%rip), %rdx     # 0x758b6
leaq 0x1f0(%rsp), %rdi
callq 0xedfa
leaq 0x6b7ba(%rip), %rdi     # 0x96d28
leaq 0x1f0(%rsp), %rsi
callq 0x1852c
movq %rax, %rbx
leaq 0x28(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x48d04(%rip), %rsi     # 0x74292
leaq 0x48d0b(%rip), %rdx     # 0x742a0
leaq 0x18(%rsp), %rdi
callq 0xedfa
leaq 0x1c8(%rbx), %rdi
leaq 0x18(%rsp), %rsi
callq 0x1c82a
movb $0x1, (%rax)
leaq 0x190(%rsp), %rdi
movq %rbx, %rsi
callq 0x18576
movq 0x190(%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0x2307c
movq 0x190(%rsp), %rdi
cmpq %r15, %rdi
je 0x2b5e7
callq 0xc640
movq 0x18(%rsp), %rdi
cmpq %r13, %rdi
je 0x2b5f6
callq 0xc640
movq 0x1f0(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d06b
callq 0xc640
jmp 0x2d06b
xorps %xmm0, %xmm0
movaps %xmm0, 0x1c0(%rsp)
movaps %xmm0, 0x1b0(%rsp)
movaps %xmm0, 0x1a0(%rsp)
movaps %xmm0, 0x190(%rsp)
movaps %xmm0, 0x220(%rsp)
movaps %xmm0, 0x210(%rsp)
movaps %xmm0, 0x200(%rsp)
movaps %xmm0, 0x1f0(%rsp)
movaps %xmm0, 0x170(%rsp)
leaq 0x6b8dd(%rip), %rdi     # 0x96f40
callq 0x11bfe
movq %rax, %rbx
leaq 0x118(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x48c23(%rip), %rsi     # 0x742a1
leaq 0x48c2c(%rip), %rdx     # 0x742b1
leaq 0x108(%rsp), %rdi
callq 0xedfa
leaq 0x481e7(%rip), %rax     # 0x73880
leaq 0x4eda2(%rip), %rsi     # 0x7a442
cmpb $0x0, 0x14(%rsp)
cmovneq %rax, %rsi
leaq 0x108(%rsp), %rdi
callq 0xc790
leaq 0x28(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2b6dd
movq %rdx, 0x18(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x28(%rsp)
jmp 0x2b6e3
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x18(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
addq $0x38, %rbx
movq %rbx, %rdi
callq 0x12426
movl (%rax), %ebx
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x2b721
callq 0xc640
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x2b73b
callq 0xc640
testl %ebx, %ebx
movl $0x1000, %r12d          # imm = 0x1000
cmovnel %ebx, %r12d
testl %r12d, %r12d
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmovnsl %r12d, %eax
movslq %eax, %rbx
movq %rbx, %rdi
callq 0xc560
movq %rax, %rbp
movq %rax, %rdi
xorl %esi, %esi
movq %rbx, %rdx
callq 0xc360
decl %r12d
leaq 0x10(%rsp), %rax
leaq 0x148(%rsp), %rbx
xorl %ecx, %ecx
movq $0x0, 0x180(%rsp)
movl %r13d, 0xc4(%rsp)
movq %rax, %r13
movq %rbp, 0x98(%rsp)
movl %ecx, %ebp
movl %ebp, %edi
movq 0x8(%rsp), %rax
addq 0x268(%rax), %rdi
movl 0x270(%rax), %esi
subl %ebp, %esi
leaq 0x310(%rsp), %rdx
movl $0x80, %ecx
leaq 0x390(%rsp), %r8
movl $0x80, %r9d
pushq %r13
pushq %rbx
callq 0x6d29c
addq $0x10, %rsp
testl %eax, %eax
jle 0x2be94
movq 0x310(%rsp), %rsi
movabsq $0x616e5f7475706e69, %rcx # imm = 0x616E5F7475706E69
xorq %rcx, %rsi
movq 0x313(%rsp), %rcx
movabsq $0x656d616e5f7475, %rdx # imm = 0x656D616E5F7475
xorq %rdx, %rcx
orq %rsi, %rcx
jne 0x2b852
movl 0x10(%rsp), %edx
cmpl $0x3f, %edx
movl $0x3f, %ecx
cmovgel %ecx, %edx
movl %edx, 0x10(%rsp)
movq 0x148(%rsp), %rsi
movslq %edx, %r15
movl %eax, %r14d
leaq 0x190(%rsp), %rdi
movq %r15, %rdx
callq 0xc1c0
movl %r14d, %eax
movb $0x0, 0x190(%rsp,%r15)
movq 0x310(%rsp), %rdx
movabsq $0x6d655f7475706e69, %rcx # imm = 0x6D655F7475706E69
xorq %rcx, %rdx
movl 0x318(%rsp), %ecx
xorq $0x6c6961, %rcx         # imm = 0x6C6961
orq %rdx, %rcx
jne 0x2b8b7
movl 0x10(%rsp), %edx
cmpl $0x3f, %edx
movl $0x3f, %ecx
cmovgel %ecx, %edx
movl %edx, 0x10(%rsp)
movq 0x148(%rsp), %rsi
movslq %edx, %r15
movl %eax, %r14d
leaq 0x1f0(%rsp), %rdi
movq %r15, %rdx
callq 0xc1c0
movl %r14d, %eax
movb $0x0, 0x1f0(%rsp,%r15)
movq 0x310(%rsp), %rsi
movabsq $0x6f635f7475706e69, %rcx # imm = 0x6F635F7475706E69
xorq %rcx, %rsi
movq 0x316(%rsp), %rcx
movabsq $0x746e65746e6f63, %rdx # imm = 0x746E65746E6F63
xorq %rdx, %rcx
orq %rsi, %rcx
jne 0x2b933
movl 0x10(%rsp), %ecx
cmpl %r12d, %ecx
cmovgel %r12d, %ecx
movl %ecx, 0x10(%rsp)
movq 0x148(%rsp), %rsi
movslq %ecx, %r15
movl %r12d, %ebx
movq %r13, %r14
movq 0x98(%rsp), %r13
movl %eax, %r12d
movq %r13, %rdi
movq %r15, %rdx
callq 0xc1c0
movl %r12d, %eax
movb $0x0, (%r13,%r15)
movq %r14, %r13
movl %ebx, %r12d
leaq 0x148(%rsp), %rbx
addl %ebp, %eax
movq 0x310(%rsp), %rsi
movabsq $0x69665f7475706e69, %rcx # imm = 0x69665F7475706E69
xorq %rcx, %rsi
movq 0x313(%rsp), %rcx
movabsq $0x656c69665f7475, %rdx # imm = 0x656C69665F7475
xorq %rdx, %rcx
orq %rsi, %rcx
movl %eax, %ebp
jne 0x2b7a1
cmpb $0x0, 0x390(%rsp)
movl %eax, %ebp
je 0x2b7a1
movl %eax, 0x18c(%rsp)
leaq 0x6b5b8(%rip), %rdi     # 0x96f40
callq 0x11bfe
movq %rax, %r15
leaq 0x28(%rsp), %rax
movq %rax, 0x18(%rsp)
leaq 0x18(%rsp), %rbp
movq %rbp, %rdi
leaq 0x48939(%rip), %rsi     # 0x742e2
leaq 0x48941(%rip), %rdx     # 0x742f1
callq 0xedfa
addq $0x38, %r15
movq %r15, %rdi
movq %rbp, %rsi
callq 0x12426
movl (%rax), %r14d
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
leaq 0x108(%rsp), %rbp
je 0x2b9e3
callq 0xc640
movl %r14d, %eax
shll $0xa, %eax
cmpl %eax, 0x10(%rsp)
jle 0x2bb14
leaq 0x118(%rsp), %rax
movq %rax, 0x108(%rsp)
movq %rbp, %rdi
leaq 0x49ea5(%rip), %rsi     # 0x758b2
leaq 0x49ea2(%rip), %rdx     # 0x758b6
callq 0xedfa
leaq 0x6b308(%rip), %rdi     # 0x96d28
movq %rbp, %rsi
callq 0x1852c
movq %rax, %rbp
leaq 0x88(%rsp), %rax
movq %rax, 0x78(%rsp)
leaq 0x78(%rsp), %r15
movq %r15, %rdi
leaq 0x488ab(%rip), %rsi     # 0x742f2
leaq 0x488b1(%rip), %rdx     # 0x742ff
callq 0xedfa
leaq 0x1c8(%rbp), %rdi
movq %r15, %rsi
callq 0x1c82a
movb $0x1, (%rax)
leaq 0x48(%rsp), %rax
movq %rax, 0x38(%rsp)
leaq 0x38(%rsp), %r15
movq %r15, %rdi
leaq 0x4c9fd(%rip), %rsi     # 0x7847b
leaq 0x4c9f9(%rip), %rdx     # 0x7847e
callq 0xedfa
movq %rbp, %rdi
movq %r15, %rsi
movl %r14d, %edx
callq 0x186f6
leaq 0x18(%rsp), %rdi
movq %rax, %rsi
callq 0x18576
movq 0x18(%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0x2307c
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x2bac8
callq 0xc640
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x2badc
callq 0xc640
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x2baf3
callq 0xc640
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x2bb0d
callq 0xc640
xorl %ebp, %ebp
jmp 0x2bd9b
leaq 0x28(%rsp), %rax
movq %rax, 0x18(%rsp)
leaq 0x390(%rsp), %r15
movq %r15, %rdi
callq 0xc460
leaq (%rsp,%rax), %rdx
addq $0x390, %rdx            # imm = 0x390
leaq 0x18(%rsp), %rdi
movq %r15, %rsi
callq 0xedfa
movq %rbp, %rdi
movl $0xb, %esi
callq 0xfbf1
movq 0x20(%rsp), %r15
testq %r15, %r15
je 0x2bb7d
movq 0x18(%rsp), %rbp
xorl %r13d, %r13d
movsbl (%rbp,%r13), %edi
callq 0xc990
movb %al, (%rbp,%r13)
incq %r13
cmpq %r13, %r15
jne 0x2bb65
leaq 0x2e0(%rsp), %r15
movq %r15, 0x2d0(%rsp)
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2d0(%rsp), %r13
movq %r13, %rdi
callq 0x12396
leaq 0x78(%rsp), %rdi
movq %r13, %rsi
callq 0xfa36
movq 0x2d0(%rsp), %rdi
cmpq %r15, %rdi
leaq 0x108(%rsp), %r15
je 0x2bbd1
callq 0xc640
cmpq $0x0, 0x80(%rsp)
leaq 0x10(%rsp), %r13
je 0x2bc38
leaq 0xe8(%rsp), %rbp
movq %rbp, %rdi
leaq 0x478be(%rip), %rsi     # 0x734b1
movq %r15, %rdx
callq 0x11c7f
movq 0x78(%rsp), %rsi
movq 0x80(%rsp), %rdx
movq %rbp, %rdi
callq 0xc830
leaq 0x48(%rsp), %rsi
movq %rsi, 0x38(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2bc8f
movq %rdx, 0x38(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x48(%rsp)
jmp 0x2bc95
cmpb $0x0, 0x14(%rsp)
je 0x2bdb8
movq 0x20(%rsp), %rdx
addq $-0x4, %rdx
leaq 0x38(%rsp), %rbp
movq %rbp, %rdi
leaq 0x18(%rsp), %rsi
movq $-0x1, %rcx
callq 0xcb00
leaq 0x78(%rsp), %rdi
movq %rbp, %rsi
callq 0xc5e0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x2bbe1
callq 0xc640
jmp 0x2bbe1
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x40(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x2bcc7
callq 0xc640
movq 0x38(%rsp), %rdi
movq 0x148(%rsp), %rsi
movl 0x10(%rsp), %edx
callq 0xf9fe
leaq 0xe8(%rsp), %rdi
movq %r15, %rsi
leaq 0x78(%rsp), %rdx
callq 0x1e52b
movq 0xe8(%rsp), %r15
leaq 0x170(%rsp), %rdi
movq %r15, %rsi
callq 0xc490
leaq 0xf8(%rsp), %rax
cmpq %rax, %r15
je 0x2bd1f
movq %r15, %rdi
callq 0xc640
leaq 0x485e8(%rip), %rdi     # 0x7430e
leaq 0x170(%rsp), %rsi
xorl %eax, %eax
callq 0xfd95
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x2bd49
callq 0xc640
movb $0x1, %bpl
movb $0x1, %al
movq %rax, 0x180(%rsp)
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x2bd6d
callq 0xc640
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x2bd87
callq 0xc640
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x2bd9b
callq 0xc640
testb %bpl, %bpl
movq 0x98(%rsp), %rbp
movl 0x18c(%rsp), %ecx
jne 0x2b79f
jmp 0x2d05b
leaq 0xf8(%rsp), %rax
movq %rax, 0xe8(%rsp)
leaq 0xe8(%rsp), %r15
movq %r15, %rdi
leaq 0x49ad8(%rip), %rsi     # 0x758b2
leaq 0x49ad5(%rip), %rdx     # 0x758b6
callq 0xedfa
leaq 0x6af3b(%rip), %rdi     # 0x96d28
movq %r15, %rsi
callq 0x1852c
movq %rax, %r15
leaq 0x68(%rsp), %rax
movq %rax, 0x58(%rsp)
leaq 0x58(%rsp), %rbp
movq %rbp, %rdi
leaq 0x484ef(%rip), %rsi     # 0x74300
leaq 0x484f5(%rip), %rdx     # 0x7430d
callq 0xedfa
leaq 0x1c8(%r15), %rdi
movq %rbp, %rsi
callq 0x1c82a
movb $0x1, (%rax)
leaq 0x38(%rsp), %rdi
movq %r15, %rsi
callq 0x18576
movq 0x38(%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0x2307c
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x2be5f
callq 0xc640
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x2be73
callq 0xc640
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x2be8d
callq 0xc640
xorl %ebp, %ebp
jmp 0x2bd56
leaq 0x18(%rsp), %rdi
leaq 0x108(%rsp), %rdx
movq 0x98(%rsp), %rbp
movq %rbp, %rsi
callq 0xcae0
cmpb $0x0, 0x190(%rsp)
jne 0x2bed5
movabsq $0x64656c7469746e75, %rax # imm = 0x64656C7469746E75
movq %rax, 0x190(%rsp)
movb $0x0, 0x198(%rsp)
leaq 0x48460(%rip), %rsi     # 0x7433c
leaq 0x1f0(%rsp), %rdi
callq 0xc570
movq %rax, %rbx
testq %rax, %rax
je 0x2bf3b
leaq 0x6b048(%rip), %rdi     # 0x96f40
callq 0x11bfe
movq %rax, %r15
leaq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
movq %rax, (%rdi)
leaq 0x48410(%rip), %rsi     # 0x7432a
leaq 0x4841f(%rip), %rdx     # 0x74340
callq 0xedfa
leaq 0x108(%rsp), %rsi
movq %r15, %rdi
callq 0x18460
movl %eax, %r12d
jmp 0x2bf3e
xorl %r12d, %r12d
testq %rbx, %rbx
je 0x2bf5d
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x2bf5d
callq 0xc640
leaq 0x4c32f(%rip), %rsi     # 0x78293
leaq 0x1f0(%rsp), %rdi
callq 0xc570
testq %rax, %rax
je 0x2c21e
leaq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %r15
movq %r15, (%rdi)
leaq 0x47a0c(%rip), %rsi     # 0x7399d
leaq 0x47a10(%rip), %rdx     # 0x739a8
callq 0xedfa
leaq 0x6ad84(%rip), %rdi     # 0x96d28
leaq 0x78(%rsp), %rsi
callq 0x1852c
leaq 0x48(%rsp), %r12
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x4837c(%rip), %rsi     # 0x74341
leaq 0x48386(%rip), %rdx     # 0x74352
callq 0xedfa
leaq 0x1c8(%rbx), %rdi
leaq 0x38(%rsp), %rsi
callq 0x1c82a
movb $0x1, (%rax)
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
callq 0x18672
movq %rax, %rbx
movq %rax, %rdi
callq 0x1a17a
movq %rbx, %rdi
callq 0xc640
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0x2c014
callq 0xc640
movq 0x78(%rsp), %rdi
cmpq %r15, %rdi
je 0x2c023
callq 0xc640
leaq 0x78(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x47ac2(%rip), %rsi     # 0x73af4
leaq 0x47ac4(%rip), %rdx     # 0x73afd
callq 0xedfa
leaq 0x6ace3(%rip), %rdi     # 0x96d28
leaq 0x78(%rsp), %rsi
callq 0x1852c
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x482e0(%rip), %rsi     # 0x74341
leaq 0x482ea(%rip), %rdx     # 0x74352
callq 0xedfa
leaq 0x1c8(%rbx), %rdi
leaq 0x38(%rsp), %rsi
callq 0x1c82a
movb $0x1, (%rax)
leaq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
movq %rax, (%rdi)
leaq 0x47e4d(%rip), %rsi     # 0x73ee8
leaq 0x47e4b(%rip), %rdx     # 0x73eed
callq 0xedfa
leaq 0x58(%rsp), %r15
leaq 0x68(%rsp), %rax
movq %rax, (%r15)
leaq 0x170(%rsp), %r12
movq %r12, %rdi
callq 0xc460
leaq (%rsp,%rax), %rdx
addq $0x170, %rdx            # imm = 0x170
movq %r15, %rdi
movq %r12, %rsi
callq 0xedfa
leaq 0x198(%rbx), %rdi
leaq 0xe8(%rsp), %rsi
leaq 0x88(%rsp), %r15
leaq 0x48(%rsp), %r12
callq 0x183b2
leaq 0x58(%rsp), %rsi
movq %rax, %rdi
callq 0xcc40
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
callq 0x18672
movq %rax, %rbx
movq %rax, %rdi
callq 0x1a17a
movq %rbx, %rdi
callq 0xc640
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x2c13c
callq 0xc640
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x2c156
callq 0xc640
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0x2c165
callq 0xc640
movq 0x78(%rsp), %rdi
cmpq %r15, %rdi
je 0x2c174
callq 0xc640
leaq 0x78(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x4789a(%rip), %rsi     # 0x73a1d
leaq 0x4789e(%rip), %rdx     # 0x73a28
callq 0xedfa
leaq 0x6ab92(%rip), %rdi     # 0x96d28
leaq 0x78(%rsp), %rsi
callq 0x1852c
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x47832(%rip), %rsi     # 0x739e4
leaq 0x4782f(%rip), %rdx     # 0x739e8
callq 0xedfa
leaq 0x38(%rsp), %rsi
movq %rbx, %rdi
xorl %edx, %edx
callq 0x186f6
movq %rax, %rdi
movq 0x8(%rsp), %rsi
callq 0x18672
movq %rax, %rbx
movq %rax, %rdi
callq 0x1a17a
movq %rbx, %rdi
callq 0xc640
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0x2c1fc
callq 0xc640
movq 0x78(%rsp), %rdi
cmpq %r15, %rdi
je 0x2c20b
callq 0xc640
leaq 0x48141(%rip), %rdi     # 0x74353
xorl %eax, %eax
callq 0xfd95
jmp 0x2d047
leaq 0x48153(%rip), %rsi     # 0x74378
leaq 0x1f0(%rsp), %rdi
callq 0xc570
testq %rax, %rax
setne %bl
sete %bpl
orb 0x14(%rsp), %bpl
jne 0x2c336
leaq 0x6acf2(%rip), %rdi     # 0x96f40
callq 0x11bfe
movq %rax, %rbx
leaq 0xe8(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xefe6
leaq 0x475d1(%rip), %rcx     # 0x73840
leaq 0xe8(%rsp), %rdi
movl $0x12, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0xc200
leaq 0x48(%rsp), %rsi
movq %rsi, 0x38(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2c2ae
movq %rdx, 0x38(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x48(%rsp)
jmp 0x2c2b4
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x38(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x4809f(%rip), %rsi     # 0x74376
callq 0xc790
leaq 0x88(%rsp), %rsi
movq %rsi, 0x78(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2c30a
movq %rdx, 0x78(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x88(%rsp)
jmp 0x2c310
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x78(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
callq 0x18460
movl %eax, %ebx
testb %bpl, %bpl
movq 0x98(%rsp), %rbp
jne 0x2c388
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x2c35a
callq 0xc640
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x2c36e
callq 0xc640
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x2c388
callq 0xc640
testb %bl, %bl
je 0x2c3e0
movq 0x8(%rsp), %rdi
callq 0x11181
leaq 0x6a85b(%rip), %r15     # 0x96bf8
movq (%r15), %rdi
movl %eax, %esi
callq 0xe181
movq %rax, %rbx
leaq 0x4e514(%rip), %rsi     # 0x7a8c5
leaq 0x1f0(%rsp), %rdi
callq 0xc570
testq %rax, %rax
je 0x2c663
movq (%r15), %rdi
leaq 0x1(%rbx), %rsi
movq %rbp, %rdx
movl $0x1, %ecx
callq 0xe597
jmp 0x2c69e
movb (%rbp), %al
testb %al, %al
je 0x2c567
leaq 0x58(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf5d8
leaq 0x150(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xef81
movq 0x60(%rsp), %rdx
testq %rdx, %rdx
je 0x2c6fc
leaq 0xb0(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x58(%rsp), %rsi
addq %rsi, %rdx
leaq 0xa0(%rsp), %rdi
callq 0x12396
leaq 0x6a83e(%rip), %rdi     # 0x96c80
leaq 0xa0(%rsp), %rsi
callq 0x22f6a
testq %rax, %rax
je 0x2c837
movq 0x8(%rsp), %rdi
callq 0xf5ca
movq 0x150(%rsp), %rsi
leaq 0x47f64(%rip), %rdi     # 0x743d5
xorl %eax, %eax
callq 0xfd95
leaq 0xd8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x49426(%rip), %rsi     # 0x758b2
leaq 0x49423(%rip), %rdx     # 0x758b6
leaq 0xc8(%rsp), %rdi
callq 0xedfa
leaq 0x6a881(%rip), %rdi     # 0x96d28
leaq 0xc8(%rsp), %rsi
callq 0x1852c
movq %rax, %rbx
leaq 0x1e0(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x47f29(%rip), %rsi     # 0x743f3
leaq 0x47f2e(%rip), %rdx     # 0x743ff
leaq 0x1d0(%rsp), %rdi
callq 0xedfa
leaq 0x1c8(%rbx), %rdi
leaq 0x1d0(%rsp), %rsi
callq 0x1c82a
movb $0x1, (%rax)
leaq 0x128(%rsp), %rdi
movq %rbx, %rsi
callq 0x18576
movq 0x128(%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0x2307c
leaq 0x138(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2c52d
callq 0xc640
movq 0x1d0(%rsp), %rdi
cmpq %r13, %rdi
je 0x2c53f
callq 0xc640
movq 0xc8(%rsp), %rdi
cmpq %r12, %rdi
je 0x2c551
callq 0xc640
movq 0xa0(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d01d
jmp 0x2d018
testb $0x1, 0x180(%rsp)
je 0x2c84d
testb %al, %al
jne 0x2c3eb
testb $0x1, 0x180(%rsp)
je 0x2c3eb
leaq 0x160(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x49314(%rip), %rsi     # 0x758b2
leaq 0x49311(%rip), %rdx     # 0x758b6
leaq 0x150(%rsp), %rdi
callq 0xedfa
leaq 0x6a76f(%rip), %rdi     # 0x96d28
leaq 0x150(%rsp), %rsi
callq 0x1852c
movq %rax, %rbx
leaq 0xb0(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x47dec(%rip), %rsi     # 0x743c8
leaq 0x47df1(%rip), %rdx     # 0x743d4
leaq 0xa0(%rsp), %rdi
callq 0xedfa
leaq 0x1c8(%rbx), %rdi
leaq 0xa0(%rsp), %rsi
callq 0x1c82a
movb $0x1, (%rax)
leaq 0x58(%rsp), %rdi
movq %rbx, %rsi
callq 0x18576
movq 0x58(%rsp), %rbx
movq %rbp, %rdi
movq %rbx, %rsi
callq 0xc490
leaq 0x68(%rsp), %rax
cmpq %rax, %rbx
je 0x2c636
movq %rbx, %rdi
callq 0xc640
movq 0xa0(%rsp), %rdi
cmpq %r13, %rdi
je 0x2c648
callq 0xc640
movq 0x150(%rsp), %rdi
cmpq %r15, %rdi
je 0x2c3eb
callq 0xc640
jmp 0x2c3eb
leaq 0x58(%rsp), %rdi
leaq 0x18(%rsp), %rsi
xorl %edx, %edx
callq 0x10040
movq (%r15), %rdi
leaq 0x1(%rbx), %rsi
movq 0x58(%rsp), %rdx
movl $0x1, %ecx
callq 0xe597
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x2c69e
callq 0xc640
leaq 0x47cda(%rip), %rsi     # 0x7437f
movq 0x8(%rsp), %rdi
callq 0x2307c
leaq 0x58(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xefe6
movq 0x58(%rsp), %rsi
movl 0xb8(%rbx), %edx
leaq 0x47ccb(%rip), %rdi     # 0x7439b
xorl %eax, %eax
callq 0xfd95
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x2c6eb
callq 0xc640
testq %rbx, %rbx
je 0x2d047
movq %rbx, %rdi
jmp 0x2d042
leaq 0x6a83d(%rip), %rdi     # 0x96f40
callq 0x11bfe
movq %rax, %rbx
leaq 0xb0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x47ce2(%rip), %rsi     # 0x74400
leaq 0x47ce7(%rip), %rdx     # 0x7440c
leaq 0xa0(%rsp), %rdi
callq 0xedfa
leaq 0xa0(%rsp), %rsi
movq %rbx, %rdi
callq 0x18460
movl %eax, %ebx
movq 0xa0(%rsp), %rdi
cmpq %r15, %rdi
je 0x2c756
callq 0xc640
testb %bl, %bl
je 0x2c922
leaq 0x138(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x49140(%rip), %rsi     # 0x758b2
leaq 0x4913d(%rip), %rdx     # 0x758b6
leaq 0x128(%rsp), %rdi
callq 0xedfa
leaq 0x6a59b(%rip), %rdi     # 0x96d28
leaq 0x128(%rsp), %rsi
callq 0x1852c
movq %rax, %rbx
leaq 0xd8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x47c5d(%rip), %rsi     # 0x7440d
leaq 0x47c67(%rip), %rdx     # 0x7441e
leaq 0xc8(%rsp), %rdi
callq 0xedfa
leaq 0x1c8(%rbx), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x1c82a
movb $0x1, (%rax)
leaq 0xa0(%rsp), %rdi
movq %rbx, %rsi
callq 0x18576
movq 0xa0(%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0x2307c
movq 0xa0(%rsp), %rdi
cmpq %r15, %rdi
je 0x2c80f
callq 0xc640
movq 0xc8(%rsp), %rdi
cmpq %r13, %rdi
je 0x2c821
callq 0xc640
movq 0x128(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d01d
jmp 0x2d018
movq 0xa0(%rsp), %rdi
cmpq %r15, %rdi
je 0x2c9c3
jmp 0x2c9be
leaq 0x160(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x49052(%rip), %rsi     # 0x758b2
leaq 0x4904f(%rip), %rdx     # 0x758b6
leaq 0x150(%rsp), %rdi
callq 0xedfa
leaq 0x6a4ad(%rip), %rdi     # 0x96d28
leaq 0x150(%rsp), %rsi
callq 0x1852c
movq %rax, %rbx
leaq 0xb0(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x47b18(%rip), %rsi     # 0x743b7
leaq 0x47b21(%rip), %rdx     # 0x743c7
leaq 0xa0(%rsp), %rdi
callq 0xedfa
leaq 0x1c8(%rbx), %rdi
leaq 0xa0(%rsp), %rsi
callq 0x1c82a
movb $0x1, (%rax)
leaq 0x58(%rsp), %rdi
movq %rbx, %rsi
callq 0x18576
movq 0x58(%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0x2307c
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x2c8fa
callq 0xc640
movq 0xa0(%rsp), %rdi
cmpq %r12, %rdi
je 0x2c90c
callq 0xc640
movq 0x150(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d047
jmp 0x2d042
leaq 0xa0(%rsp), %rdi
callq 0xfc62
leaq 0x58(%rsp), %rdi
leaq 0xa0(%rsp), %rbx
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
cmpq %r15, %rdi
je 0x2c951
callq 0xc640
leaq 0x2c0(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x58(%rsp), %rsi
movq 0x60(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2b0(%rsp), %rdi
callq 0x12396
leaq 0xa0(%rsp), %rdi
leaq 0x2b0(%rsp), %rsi
callq 0xf5b9
leaq 0x150(%rsp), %rdi
leaq 0xa0(%rsp), %rbx
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
cmpq %r15, %rdi
je 0x2c9b1
callq 0xc640
movq 0x2b0(%rsp), %rdi
cmpq %r13, %rdi
je 0x2c9c3
callq 0xc640
cmpb $0x0, 0x14(%rsp)
je 0x2c9db
leaq 0x474cf(%rip), %rsi     # 0x73ea0
leaq 0x58(%rsp), %rdi
callq 0xc470
leaq 0xa0(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xefe6
cmpq $0x0, 0xa8(%rsp)
je 0x2ca3e
leaq 0x128(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
movl $0x9, %ecx
xorl %edx, %edx
callq 0xcb00
leaq 0x58(%rsp), %rdi
leaq 0x128(%rsp), %rbx
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x2ca3e
callq 0xc640
cmpb $0x0, 0x14(%rsp)
je 0x2ca87
leaq 0x128(%rsp), %rdi
leaq 0x18(%rsp), %rsi
xorl %edx, %edx
callq 0x10040
leaq 0x18(%rsp), %rdi
leaq 0x128(%rsp), %rbx
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x2cb1e
jmp 0x2cb19
leaq 0x6a4b2(%rip), %rdi     # 0x96f40
callq 0x11bfe
movq %rax, %rbx
leaq 0xd8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x47976(%rip), %rsi     # 0x7441f
leaq 0x4797b(%rip), %rdx     # 0x7442b
leaq 0xc8(%rsp), %rdi
callq 0xedfa
leaq 0xc8(%rsp), %rsi
movq %rbx, %rdi
callq 0x18460
movzbl %al, %edx
leaq 0x128(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x10040
leaq 0x18(%rsp), %rdi
leaq 0x128(%rsp), %rbx
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x2cb0c
callq 0xc640
movq 0xc8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2cb1e
callq 0xc640
leaq 0x138(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x190(%rsp), %rbx
movq %rbx, %rdi
callq 0xc460
leaq (%rsp,%rax), %rdx
addq $0x190, %rdx            # imm = 0x190
leaq 0x128(%rsp), %rdi
movq %rbx, %rsi
callq 0xedfa
leaq 0x128(%rsp), %rdi
callq 0x11285
movq 0x128(%rsp), %rsi
leaq 0x190(%rsp), %rdi
movl $0x40, %edx
callq 0xc1c0
movq 0x8(%rsp), %rdi
callq 0xf9e1
movq %rax, %r15
movq 0x250(%rsp), %r9
leaq 0x47894(%rip), %rdi     # 0x7442c
leaq 0x190(%rsp), %rsi
leaq 0x170(%rsp), %rbx
leaq 0x1f0(%rsp), %r8
movq %rbx, %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0xfd95
leaq 0x6a034(%rip), %r13     # 0x96bf8
movq (%r13), %rdi
movl 0xc4(%rsp), %esi
testl %esi, %esi
je 0x2cd22
callq 0xe181
movq %rax, %r14
testb $0x8, (%rax)
jne 0x2cd71
movl 0xc4(%r14), %esi
testl %esi, %esi
je 0x2ccba
movq (%r13), %rdi
callq 0xe181
movq %rax, %rbp
movl 0xcc(%rax), %eax
movl %eax, 0x14(%rsp)
leaq 0x6a32c(%rip), %rdi     # 0x96f40
callq 0x11bfe
movq %rax, %rbx
leaq 0xd8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x47849(%rip), %rsi     # 0x74478
leaq 0x47853(%rip), %rdx     # 0x74489
leaq 0xc8(%rsp), %rdi
callq 0xedfa
addq $0x38, %rbx
leaq 0xc8(%rsp), %rsi
movq %rbx, %rdi
callq 0x12426
movl (%rax), %ebx
decl %ebx
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x2cc75
callq 0xc640
cmpl %ebx, 0x14(%rsp)
jl 0x2cca5
movq %r14, %rdi
movl $0x8, %esi
movl $0x1, %edx
callq 0xdf3c
movq (%r13), %rdi
movl 0xb8(%r14), %esi
movq %r14, %rdx
movl $0x1, %ecx
callq 0xe355
testq %rbp, %rbp
leaq 0x170(%rsp), %rbx
je 0x2ccba
movq %rbp, %rdi
callq 0xc640
cmpb $0x0, (%r14)
js 0x2cf04
movq (%r13), %rdi
movq 0x18(%rsp), %rdx
movq 0x58(%rsp), %r9
movzbl %r12b, %eax
leaq 0x190(%rsp), %rcx
movl 0xc4(%rsp), %esi
movq %r15, %r8
pushq %rax
pushq %rbx
movq 0xa8(%rsp), %rbp
callq 0xe5d8
addq $0x10, %rsp
movq 0x150(%rsp), %rdx
leaq 0x47794(%rip), %rsi     # 0x7449e
movq 0x8(%rsp), %rdi
movl 0xc4(%rsp), %ecx
xorl %eax, %eax
callq 0x69675
jmp 0x2cfe5
movq 0x18(%rsp), %rsi
movq 0x58(%rsp), %r8
subq $0x8, %rsp
movzbl %r12b, %eax
leaq 0x198(%rsp), %rdx
leaq 0x178(%rsp), %r9
movq %r15, %rcx
pushq %rax
callq 0xe3a4
addq $0x10, %rsp
movq 0x150(%rsp), %rdx
leaq 0x4777e(%rip), %rsi     # 0x744de
movq 0x8(%rsp), %rdi
xorl %eax, %eax
callq 0x69675
jmp 0x2cfed
leaq 0x1e0(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x48b2e(%rip), %rsi     # 0x758b2
leaq 0x48b2b(%rip), %rdx     # 0x758b6
leaq 0x1d0(%rsp), %rdi
callq 0xedfa
leaq 0x69f89(%rip), %rdi     # 0x96d28
leaq 0x1d0(%rsp), %rsi
callq 0x1852c
movq %rax, %r15
leaq 0x240(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x476a1(%rip), %rsi     # 0x74463
leaq 0x476ae(%rip), %rdx     # 0x74477
leaq 0x230(%rsp), %rdi
callq 0xedfa
leaq 0x1c8(%r15), %rdi
leaq 0x230(%rsp), %rsi
callq 0x1c82a
movb $0x1, (%rax)
leaq 0x280(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4b67b(%rip), %rsi     # 0x7847b
leaq 0x4b677(%rip), %rdx     # 0x7847e
leaq 0x270(%rsp), %rdi
callq 0xedfa
leaq 0x6a125(%rip), %rdi     # 0x96f40
callq 0x11bfe
movq %rax, %r12
leaq 0x2a0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x47642(%rip), %rsi     # 0x74478
leaq 0x4764c(%rip), %rdx     # 0x74489
leaq 0x290(%rsp), %rdi
callq 0xedfa
addq $0x38, %r12
leaq 0x290(%rsp), %rsi
movq %r12, %rdi
callq 0x12426
movl (%rax), %edx
leaq 0x270(%rsp), %rsi
movq %r15, %rdi
callq 0x186f6
leaq 0xc8(%rsp), %rdi
movq %rax, %rsi
callq 0x18576
movq 0xc8(%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0x2307c
leaq 0xd8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2cea8
callq 0xc640
movq 0x290(%rsp), %rdi
cmpq %rbx, %rdi
je 0x2ceba
callq 0xc640
movq 0x270(%rsp), %rdi
leaq 0x280(%rsp), %rax
cmpq %rax, %rdi
je 0x2ced4
callq 0xc640
movq 0x230(%rsp), %rdi
cmpq %rbp, %rdi
movq 0x98(%rsp), %rbp
je 0x2ceee
callq 0xc640
movq 0x1d0(%rsp), %rdi
cmpq %r13, %rdi
je 0x2cfe5
jmp 0x2cfe0
leaq 0x1e0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x4899b(%rip), %rsi     # 0x758b2
leaq 0x48998(%rip), %rdx     # 0x758b6
leaq 0x1d0(%rsp), %rdi
movq 0x98(%rsp), %rbp
callq 0xedfa
leaq 0x69dee(%rip), %rdi     # 0x96d28
leaq 0x1d0(%rsp), %rsi
callq 0x1852c
movq %rax, %r15
leaq 0x240(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x4752c(%rip), %rsi     # 0x7448a
leaq 0x47538(%rip), %rdx     # 0x7449d
leaq 0x230(%rsp), %rdi
callq 0xedfa
leaq 0x1c8(%r15), %rdi
leaq 0x230(%rsp), %rsi
callq 0x1c82a
movb $0x1, (%rax)
leaq 0xc8(%rsp), %rdi
movq %r15, %rsi
callq 0x18576
movq 0xc8(%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0x2307c
leaq 0xd8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2cfc1
callq 0xc640
movq 0x230(%rsp), %rdi
cmpq %r12, %rdi
je 0x2cfd3
callq 0xc640
movq 0x1d0(%rsp), %rdi
cmpq %rbx, %rdi
je 0x2cfe5
callq 0xc640
movq %r14, %rdi
callq 0xc640
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x2d007
callq 0xc640
leaq 0xb0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2d01d
callq 0xc640
leaq 0x160(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2d033
callq 0xc640
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x2d047
callq 0xc640
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x2d05b
callq 0xc640
movq %rbp, %rdi
callq 0xc640
leaq 0x260(%rsp), %rbp
movq 0x250(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2d07d
callq 0xc640
addq $0x418, %rsp            # imm = 0x418
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2d091
movq %rax, %r14
jmp 0x2d0fd
jmp 0x2d5e6
movq %rax, %r14
leaq 0xd8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2d116
callq 0xc640
jmp 0x2d116
jmp 0x2d0b8
movq %rax, %r14
jmp 0x2d128
jmp 0x2d3e0
movq %rax, %r14
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x2d3e3
jmp 0x2d2db
jmp 0x2d3e0
movq %rax, %r14
movq 0xa0(%rsp), %rdi
cmpq %r13, %rdi
je 0x2d0fd
callq 0xc640
movq 0x150(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d82e
jmp 0x2d829
movq %rax, %r14
movq 0x230(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d128
callq 0xc640
movq 0x1d0(%rsp), %rdi
cmpq %rbx, %rdi
je 0x2d3e3
jmp 0x2d2db
movq %rax, %r14
leaq 0xd8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2d28c
callq 0xc640
jmp 0x2d28c
movq %rax, %r14
jmp 0x2d29e
jmp 0x2d16a
movq %rax, %r14
jmp 0x2d2b8
jmp 0x2d174
movq %rax, %r14
jmp 0x2d2ca
jmp 0x2d3e0
jmp 0x2d3e0
movq %rax, %r14
movq 0xa0(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d212
callq 0xc640
jmp 0x2d212
movq %rax, %r14
movq 0x2b0(%rsp), %rdi
cmpq %r13, %rdi
je 0x2d413
jmp 0x2d40e
jmp 0x2d1bd
jmp 0x2d396
movq %rax, %r14
jmp 0x2d224
jmp 0x2d396
jmp 0x2d396
jmp 0x2d2ea
jmp 0x2d2ea
jmp 0x2d396
movq %rax, %r14
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x2d318
callq 0xc640
jmp 0x2d318
jmp 0x2d1fd
movq %rax, %r14
jmp 0x2d32a
jmp 0x2d5e6
jmp 0x2d2ea
movq %rax, %r14
movq 0xc8(%rsp), %rdi
cmpq %r13, %rdi
je 0x2d224
callq 0xc640
movq 0x128(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d413
jmp 0x2d40e
movq %rax, %r14
movq 0xa0(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d413
jmp 0x2d40e
jmp 0x2d396
movq %rax, %r14
leaq 0x138(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2d39e
callq 0xc640
jmp 0x2d39e
jmp 0x2d27c
movq %rax, %r14
jmp 0x2d3b0
jmp 0x2d3c4
movq %rax, %r14
movq 0x290(%rsp), %rdi
cmpq %rbx, %rdi
je 0x2d29e
callq 0xc640
movq 0x270(%rsp), %rdi
leaq 0x280(%rsp), %rax
cmpq %rax, %rdi
je 0x2d2b8
callq 0xc640
movq 0x230(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2d2ca
callq 0xc640
movq 0x1d0(%rsp), %rdi
cmpq %r13, %rdi
je 0x2d3e3
callq 0xc640
jmp 0x2d3e3
jmp 0x2d3e0
movq %rax, %r14
jmp 0x2d3fd
movq %rax, %r14
movq 0xc8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d3fd
jmp 0x2d3f8
jmp 0x2d396
jmp 0x2d3e0
movq %rax, %r14
movq 0xa0(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d32a
callq 0xc640
movq 0x150(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d82e
jmp 0x2d829
movq %rax, %r14
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x2d82e
jmp 0x2d829
jmp 0x2d5e6
jmp 0x2d517
movq %rax, %r14
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x2d444
callq 0xc640
jmp 0x2d444
jmp 0x2d387
movq %rax, %r14
jmp 0x2d458
jmp 0x2d517
jmp 0x2d3c4
movq %rax, %r14
jmp 0x2d413
movq %rax, %r14
movq 0x1d0(%rsp), %rdi
cmpq %r13, %rdi
je 0x2d3b0
callq 0xc640
movq 0xc8(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d3c7
callq 0xc640
jmp 0x2d3c7
movq %rax, %r14
movq 0xa0(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d413
jmp 0x2d40e
movq %rax, %r14
jmp 0x2d429
jmp 0x2d5e6
movq %rax, %r14
movq 0x128(%rsp), %rdi
leaq 0x138(%rsp), %rax
cmpq %rax, %rdi
je 0x2d3fd
callq 0xc640
leaq 0xb0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2d413
callq 0xc640
leaq 0x160(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2d429
callq 0xc640
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x2d82e
jmp 0x2d829
movq %rax, %r14
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x2d458
callq 0xc640
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x2d623
jmp 0x2d61e
movq %rax, %r14
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x2d82e
jmp 0x2d829
jmp 0x2d5e6
movq %rax, %r14
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x2d4ba
callq 0xc640
jmp 0x2d4ba
jmp 0x2d5e6
movq %rax, %r14
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x2d4d3
callq 0xc640
jmp 0x2d4d3
movq %rax, %r14
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x2d82e
jmp 0x2d829
jmp 0x2d5e6
movq %rax, %r14
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x2d623
jmp 0x2d61e
movq %rax, %r14
jmp 0x2d623
jmp 0x2d60c
movq %rax, %r14
jmp 0x2d63a
jmp 0x2d88e
jmp 0x2d57b
jmp 0x2d583
jmp 0x2d88e
movq %rax, %r14
movq 0x2d0(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d63a
jmp 0x2d635
movq %rax, %r14
jmp 0x2d654
movq %rax, %r14
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x2d66f
callq 0xc640
jmp 0x2d66f
movq %rax, %r14
jmp 0x2d683
movq %rax, %r14
jmp 0x2d69a
jmp 0x2d5e6
jmp 0x2d5e6
jmp 0x2d591
movq %rax, %r14
jmp 0x2d765
jmp 0x2d5e6
movq %rax, %r14
jmp 0x2d7e9
jmp 0x2d5a5
movq %rax, %r14
jmp 0x2d803
jmp 0x2d5af
movq %rax, %r14
jmp 0x2d817
jmp 0x2d5e6
jmp 0x2d5bb
movq %rax, %r14
jmp 0x2d792
jmp 0x2d5e6
movq %rax, %r14
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x2d82e
jmp 0x2d829
movq %rax, %r14
jmp 0x2d82e
movq %rax, %r14
movq 0x2f0(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d89e
jmp 0x2d899
jmp 0x2d889
movq %rax, %r14
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x2d623
callq 0xc640
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x2d63a
callq 0xc640
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x2d654
callq 0xc640
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x2d891
jmp 0x2d83d
movq %rax, %r14
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x2d683
callq 0xc640
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x2d69a
callq 0xc640
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x2d891
jmp 0x2d83d
movq %rax, %r14
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x2d891
jmp 0x2d83d
jmp 0x2d88e
jmp 0x2d88e
movq %rax, %r14
movq 0x190(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d847
callq 0xc640
jmp 0x2d847
jmp 0x2d889
movq %rax, %r14
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x2d71e
callq 0xc640
jmp 0x2d71e
jmp 0x2d73c
movq %rax, %r14
movq 0x108(%rsp), %rdi
leaq 0x118(%rsp), %rax
cmpq %rax, %rdi
je 0x2d89e
jmp 0x2d899
movq %rax, %r14
jmp 0x2d856
jmp 0x2d889
jmp 0x2d889
jmp 0x2d889
movq %rax, %r14
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d765
callq 0xc640
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x2d82e
jmp 0x2d829
movq %rax, %r14
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d792
callq 0xc640
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x2d82e
jmp 0x2d829
movq %rax, %r14
movq 0x190(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d868
callq 0xc640
jmp 0x2d868
jmp 0x2d889
jmp 0x2d889
movq %rax, %r14
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x2d7e9
callq 0xc640
movq 0xe8(%rsp), %rdi
leaq 0xf8(%rsp), %rax
cmpq %rax, %rdi
je 0x2d803
callq 0xc640
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x2d817
callq 0xc640
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x2d82e
callq 0xc640
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x2d891
callq 0xc640
jmp 0x2d891
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r13, %rdi
je 0x2d856
callq 0xc640
movq 0x1f0(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d89e
jmp 0x2d899
movq %rax, %r14
movq 0x1f0(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d89e
jmp 0x2d899
movq %rax, %r14
movq 0x190(%rsp), %rdi
cmpq %r15, %rdi
je 0x2d89e
jmp 0x2d899
movq %rax, %r14
jmp 0x2d89e
movq %rax, %r14
movq 0x98(%rsp), %rdi
callq 0xc640
movq 0x250(%rsp), %rdi
leaq 0x260(%rsp), %rax
cmpq %rax, %rdi
je 0x2d8b8
callq 0xc640
movq %r14, %rdi
callq 0xc760