// File: /workspace/github_c_makefile_star2_O3/coyove[P]chann/./src/main.cpp
// Function: actions::admin::call(mg_connection*)
void call(struct mg_connection *conn){
            if(conn->content_len <= 0){
                views::info::render(conn, "Error");
                return;
            }
            char action_name[32] = {0}, action_param1[32] = {0}, action_param2[32] = {0};
            string action, param1, param2;

            mg_get_var(conn, "action_name", action_name, sizeof(action_name)); action = string(action_name);
            mg_get_var(conn, "action_1", action_param1, sizeof(action_param1)); param1 = string(action_param1);
            mg_get_var(conn, "action_2", action_param2, sizeof(action_param2)); param2 = string(action_param2);

            if(action == ""){
                views::info::render(conn, "Error");
                return;
            }
            
            #define HAS_KEY(x) x == action
            string ret = "Action completed.";

            if(HAS_KEY("login")){
                string new_name = cc_random_username();
                string ssid = cck_create_ssid(new_name);

                if(param1 == configs.global().get("security::admin::username") &&
                    param2 == configs.global().get("security::admin::password") /*&& param1 == "admin" */){
                    cck_send_admin_ssid(conn, ssid);
                    admin_cookie = ssid;
                    logLog("Admin (%s) has logined", cc_get_client_ip(conn));
                }else{
                    string pwd = configs.global().get("security::assist::" + param1 + "::password");
                    if(!pwd.empty() && param2 == pwd){
                        cck_send_admin_ssid(conn, ssid, "assist");
                        assist_cookie[param1] = ssid;
                        logLog("Assist %s (%s) has logined", param1.c_str(), cc_get_client_ip(conn));    
                    }
                }
            }

            string aid = "";
            if(is_admin(conn)) {
                aid = "admin";
            }else{
                aid = is_assist(conn);
                if(aid.empty()){
                    views::info::render(conn, templates.invoke("misc").toggle("try_to_usurp").build_destory().c_str());
                    check_ip(conn, true);
                    return;
                }
            }

            #define ASSIST(x) configs.global().get<bool>("security::assist::" + aid + "::" + x)
            if(HAS_KEY("quit-admin")) {
                admin_cookie = cc_random_username(); 
                ret = "admin quitted.";
            }

            if(HAS_KEY("quit-assist")) {
                assist_cookie[aid] = cc_random_username(); 
                ret = aid + " quitted.";
            }
            
            if(HAS_KEY("delete-thread")){
                if(aid == "admin" || ASSIST("delete"))
                    actions::kill::call(conn, atol(param1.c_str()), true);
                else
                    ret = "Access denied.";
            }

            if(HAS_KEY("update") && aid == "admin"){
            	configs.global().try_set(param1, param2);
            }

            if(HAS_KEY("new-state") && !param1.empty()){
                if(aid == "admin" || ASSIST("change_state")){
                    int id = atol(param1.c_str());

                    struct Thread * t = unq_read_thread(pDb, id);
                    t->state = atol(param2.c_str());
                    unq_write_thread(pDb, t->threadID, t, true);

                    ret += (" New state: " + unq_resolve_state(t->state));
                    delete t;
                }else
                    ret = "Access denied.";
            }

            if(HAS_KEY("ban")){
                if(aid == "admin" || ASSIST("ban")){
                    string id = param1;
                    unordered_set<string>& xlist = (param2 == "ip") ? IPBanList : IDBanList;

                    auto iter = xlist.find(id);
                    if (iter == xlist.end()){
                        xlist.insert(id);
                        ret += (" " + id + " banned");
                    }
                    else{
                        xlist.erase(iter);
                        ret += (" " + id + " unbanned");
                    }

                    cc_store_set_to_file(configs.global().get("file::ban::ip_based"), IPBanList);
                	cc_store_set_to_file(configs.global().get("file::ban::id_based"), IDBanList);
                }else
                    ret = "Access denied.";
            }

            if(HAS_KEY("hide-image")){
                struct Thread * t = unq_read_thread(pDb, atol(param1.c_str()));
                
                string oldname = "images/" + string(t->imgSrc);
                string newname = oldname + ".tmp";
                rename(oldname.c_str(), newname.c_str());

                delete t;
            }

            if(HAS_KEY("kill-all")){
                if(aid == "admin" || ASSIST("kill")){
                    string id = param1;

                    struct Thread *r = unq_read_thread(pDb, 0); 
                    struct Thread *t;
                    bool ipflag = (param2 == "ip");

                    clock_t startc = clock();
                    for(cclong i = r->childCount; i > 0; i--){
                        t = unq_read_thread(pDb, i);
                        if(ipflag){
                            if(strcmp(id.c_str(), t->email) == 0) unq_delete_thread(pDb, i);
                        }else{
                            if(strcmp(id.c_str(), t->ssid) == 0) unq_delete_thread(pDb, i);
                        }

                        if(t) delete t;
                    }
                    clock_t endc = clock();

                    if(r) delete r;
                    ret += (" Take " + to_string((float)(endc-startc)/CLOCKS_PER_SEC));
                }else
                    ret = "Access denied.";  
            }

            if(HAS_KEY("search")){
                if(aid == "admin" || ASSIST("search")){
                    struct Thread *t, *r = unq_read_thread(pDb, 0); 
                    int c = 0, limit = atol(param2.c_str());
                    ret = "[";

                    for(cclong i = r->childCount; i > 0; i--){
                        if(++c == limit) break;
                        t = unq_read_thread(pDb, i);
                        const char* content = unq_read_string(pDb, t->content);
                        if(content && strstr(content, param1.c_str())){
                            ret += ("\"" + to_string(t->threadID) + "\",");
                            delete content;
                        }
                        delete t;
                    }

                    ret += "\"\"]";

                    if(r) delete r;
                }else
                    ret = "[]";
            }

            // if(HAS_KEY("transfer")){
            //     if(aid == "admin" || ASSIST("transfer")){
            //         mg_connection* remote = mg_connect(server, param1.c_str());
            //         mg_printf(remote, "GET %s HTTP/1.0\r\nHost: %s\r\n\r\n",
            //         "/gapi/translate?from=eng&dest=fra&format=json&phrase=cat",
            //         s_remote_addr);
            //     }
            // }
            
            mg_send_header(conn, "Content-Type", "text/plain");
            mg_printf_data(conn, ret.c_str());
        }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x218, %rsp            # imm = 0x218
movq %rdi, %r15
cmpq $0x0, 0x270(%rdi)
je 0x13bde
xorps %xmm0, %xmm0
leaq 0x1f0(%rsp), %rdx
movaps %xmm0, 0x10(%rdx)
movaps %xmm0, (%rdx)
movaps %xmm0, 0x160(%rsp)
movaps %xmm0, 0x150(%rsp)
movaps %xmm0, 0x140(%rsp)
movaps %xmm0, 0x130(%rsp)
leaq 0xe0(%rsp), %r13
movq %r13, -0x10(%r13)
xorl %eax, %eax
movq %rax, -0x8(%r13)
movb %al, (%r13)
leaq 0xc0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rax, -0x8(%rbp)
movb %al, (%rbp)
leaq 0x108(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x5de35(%rip), %rsi     # 0x717bf
movl $0x20, %ecx
movq %r15, %rdi
callq 0x6b71b
leaq 0x78(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x1f0(%rsp), %rbx
movq %rbx, %rdi
callq 0xc460
leaq (%rsp,%rax), %rdx
addq $0x1f0, %rdx            # imm = 0x1F0
leaq 0x68(%rsp), %rdi
movq %rbx, %rsi
callq 0xedf0
leaq 0xd0(%rsp), %rdi
leaq 0x68(%rsp), %rbx
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
cmpq %r12, %rdi
je 0x139eb
callq 0xc640
leaq 0x5ddd9(%rip), %rsi     # 0x717cb
leaq 0x150(%rsp), %rdx
movl $0x20, %ecx
movq %r15, %rdi
callq 0x6b71b
leaq 0x68(%rsp), %rbx
movq %r12, (%rbx)
leaq 0x150(%rsp), %r14
movq %r14, %rdi
callq 0xc460
leaq (%rsp,%rax), %rdx
addq $0x150, %rdx            # imm = 0x150
movq %rbx, %rdi
movq %r14, %rsi
callq 0xedf0
leaq 0xb0(%rsp), %rdi
leaq 0x68(%rsp), %rbx
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
cmpq %r12, %rdi
je 0x13a57
callq 0xc640
leaq 0x5dd76(%rip), %rsi     # 0x717d4
leaq 0x130(%rsp), %rdx
movl $0x20, %ecx
movq %r15, %rdi
callq 0x6b71b
leaq 0x68(%rsp), %rbx
movq %r12, (%rbx)
leaq 0x130(%rsp), %r14
movq %r14, %rdi
callq 0xc460
leaq (%rsp,%rax), %rdx
addq $0x130, %rdx            # imm = 0x130
movq %rbx, %rdi
movq %r14, %rsi
callq 0xedf0
leaq 0xf8(%rsp), %rdi
leaq 0x68(%rsp), %rbx
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
cmpq %r12, %rdi
je 0x13ac3
callq 0xc640
leaq 0x63ba8(%rip), %rsi     # 0x77672
leaq 0xd0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
je 0x13bfe
leaq 0x68(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x5dcef(%rip), %rsi     # 0x717dd
leaq 0x5dcf9(%rip), %rdx     # 0x717ee
callq 0xedf0
leaq 0x5dcee(%rip), %rsi     # 0x717ef
leaq 0xd0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x13f09
leaq 0x90(%rsp), %rdi
callq 0xfc4c
leaq 0x1c0(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1b0(%rsp), %rdi
callq 0x12380
leaq 0x28(%rsp), %rdi
leaq 0x1b0(%rsp), %rsi
callq 0xf5b6
movq 0x1b0(%rsp), %rdi
cmpq %r14, %rdi
je 0x13b73
callq 0xc640
leaq 0x80fd6(%rip), %rdi     # 0x94b50
callq 0x11bec
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5dc63(%rip), %rsi     # 0x717f5
leaq 0x5dc75(%rip), %rdx     # 0x7180e
leaq 0x8(%rsp), %rdi
callq 0xedf0
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x11edc
movq 0xb8(%rsp), %rdx
cmpq 0x8(%rax), %rdx
jne 0x13bd7
testq %rdx, %rdx
je 0x13c12
movq (%rax), %rsi
movq 0xb0(%rsp), %rdi
callq 0xc7c0
testl %eax, %eax
je 0x13c12
xorl %ebx, %ebx
jmp 0x13c94
leaq 0x64bf7(%rip), %rsi     # 0x787dc
movq %r15, %rdi
addq $0x218, %rsp            # imm = 0x218
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x22d28
leaq 0x64bd7(%rip), %rsi     # 0x787dc
movq %r15, %rdi
callq 0x22d28
jmp 0x15325
movq %r15, %r14
leaq 0x80f34(%rip), %rdi     # 0x94b50
callq 0x11bec
movq %rax, %rbx
leaq 0x58(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5dbdb(%rip), %rsi     # 0x7180f
leaq 0x5dbed(%rip), %rdx     # 0x71828
leaq 0x48(%rsp), %rdi
callq 0xedf0
leaq 0x48(%rsp), %rsi
movq %rbx, %rdi
callq 0x11edc
movq 0x100(%rsp), %rdx
cmpq 0x8(%rax), %rdx
jne 0x13c7c
testq %rdx, %rdx
je 0x13c80
movq (%rax), %rsi
movq 0xf8(%rsp), %rdi
callq 0xc7c0
testl %eax, %eax
sete %bl
jmp 0x13c82
xorl %ebx, %ebx
jmp 0x13c82
movb $0x1, %bl
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0x13c91
callq 0xc640
movq %r14, %r15
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x13ca8
callq 0xc640
testb %bl, %bl
je 0x13d2a
leaq 0x1a0(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
leaq 0x190(%rsp), %rdi
callq 0x12380
leaq 0x5dba7(%rip), %rdx     # 0x71880
leaq 0x190(%rsp), %rsi
movq %r15, %rdi
callq 0xf132
movq 0x190(%rsp), %rdi
cmpq %r14, %rdi
je 0x13cfb
callq 0xc640
leaq 0x80f26(%rip), %rdi     # 0x94c28
leaq 0x28(%rsp), %rsi
callq 0xcc40
movq %r15, %rdi
callq 0xf9cb
leaq 0x5db0e(%rip), %rdi     # 0x71829
movq %rax, %rsi
xorl %eax, %eax
callq 0xfd7f
jmp 0x13ee0
leaq 0x80e1f(%rip), %rdi     # 0x94b50
callq 0x11bec
movq %rax, %rbx
leaq 0x5db00(%rip), %rsi     # 0x71840
leaq 0x1d0(%rsp), %rdi
leaq 0xb0(%rsp), %rdx
callq 0x11c73
movq %r15, %r14
leaq 0x5dabf(%rip), %rsi     # 0x7181e
leaq 0x1d0(%rsp), %rdi
callq 0xc790
leaq 0x58(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x13d93
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x13d9a
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x48(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
callq 0x11edc
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rcx
movq %rcx, (%rdi)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
callq 0x12380
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0x13de9
callq 0xc640
leaq 0x1e0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x13dff
callq 0xc640
movq 0x10(%rsp), %rdx
testq %rdx, %rdx
je 0x13ec9
cmpq %rdx, 0x100(%rsp)
jne 0x13ec9
movq 0x8(%rsp), %rsi
movq 0xf8(%rsp), %rdi
callq 0xc7c0
testl %eax, %eax
jne 0x13ec9
leaq 0x180(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
leaq 0x170(%rsp), %rdi
callq 0x12380
leaq 0x5da38(%rip), %rdx     # 0x7189a
leaq 0x170(%rsp), %rsi
movq %r14, %rdi
callq 0xf132
movq 0x170(%rsp), %rdi
cmpq %r15, %rdi
je 0x13e84
callq 0xc640
leaq 0x80dbd(%rip), %rdi     # 0x94c48
leaq 0xb0(%rsp), %rsi
callq 0x18044
leaq 0x28(%rsp), %rsi
movq %rax, %rdi
callq 0xcc40
movq 0xb0(%rsp), %rbx
movq %r14, %rdi
callq 0xf9cb
leaq 0x5d997(%rip), %rdi     # 0x71853
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0xfd7f
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x13edd
callq 0xc640
movq %r14, %r15
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x13ef3
callq 0xc640
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x13f09
callq 0xc640
leaq 0xa0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x63756(%rip), %rdx     # 0x77672
leaq 0x90(%rsp), %rdi
movq %rdx, %rsi
callq 0xedf0
movq %r15, 0x88(%rsp)
movq %r15, %rdi
callq 0xef14
testb %al, %al
je 0x13f62
leaq 0x90(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x5d92d(%rip), %rcx     # 0x71880
movl $0x5, %r8d
xorl %esi, %esi
callq 0xc5c0
jmp 0x13faa
leaq 0x28(%rsp), %rdi
movq 0x88(%rsp), %rsi
callq 0xefe4
leaq 0x90(%rsp), %rdi
leaq 0x28(%rsp), %rbx
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
leaq 0x38(%rsp), %r15
cmpq %r15, %rdi
je 0x13f9b
callq 0xc640
cmpq $0x0, 0x98(%rsp)
je 0x14162
leaq 0x5d8ca(%rip), %rsi     # 0x7187b
leaq 0xd0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x1400f
leaq 0x28(%rsp), %rdi
callq 0xfc4c
leaq 0x80c55(%rip), %rdi     # 0x94c28
leaq 0x28(%rsp), %rbx
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x13ff2
callq 0xc640
leaq 0x68(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x5d884(%rip), %rcx     # 0x71886
movl $0xe, %r8d
xorl %esi, %esi
callq 0xc5c0
leaq 0x5d87f(%rip), %rsi     # 0x71895
leaq 0xd0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x140bb
leaq 0x28(%rsp), %rdi
callq 0xfc4c
leaq 0x80c0c(%rip), %rdi     # 0x94c48
leaq 0x90(%rsp), %rsi
callq 0x18044
leaq 0x28(%rsp), %rbx
movq %rax, %rdi
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
leaq 0x38(%rsp), %r14
cmpq %r14, %rdi
je 0x1406b
callq 0xc640
leaq 0x28(%rsp), %rdi
movq %r14, (%rdi)
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
addq %rsi, %rdx
callq 0x12380
leaq 0x5d7f9(%rip), %rsi     # 0x7188b
leaq 0x28(%rsp), %rdi
callq 0xc790
leaq 0x68(%rsp), %rdi
leaq 0x28(%rsp), %rbx
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
cmpq %r14, %rdi
je 0x140bb
callq 0xc640
leaq 0x5d7df(%rip), %rsi     # 0x718a1
leaq 0xd0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x1433a
leaq 0x5d7a2(%rip), %rsi     # 0x71880
leaq 0x90(%rsp), %rdi
callq 0xca10
testl %eax, %eax
movq 0x88(%rsp), %r14
je 0x142ff
leaq 0x80a4e(%rip), %rdi     # 0x94b50
callq 0x11bec
movq %rax, %r14
leaq 0x5d72f(%rip), %rsi     # 0x71840
leaq 0x48(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x11c73
leaq 0x5e175(%rip), %rsi     # 0x7229f
leaq 0x48(%rsp), %rdi
callq 0xc790
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14238
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1423f
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x5f748(%rip), %rsi     # 0x738ba
leaq 0x5f745(%rip), %rdx     # 0x738be
leaq 0x8(%rsp), %rdi
callq 0xedf0
leaq 0x80b9e(%rip), %rdi     # 0x94d28
leaq 0x8(%rsp), %rsi
callq 0x181be
movq %rax, %rbx
leaq 0x58(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x5d6c6(%rip), %rsi     # 0x7186e
leaq 0x5d6cb(%rip), %rdx     # 0x7187a
leaq 0x48(%rsp), %rdi
callq 0xedf0
leaq 0x1c8(%rbx), %rdi
leaq 0x48(%rsp), %rsi
callq 0x1c4c8
movb $0x1, (%rax)
leaq 0x28(%rsp), %rdi
movq %rbx, %rsi
callq 0x18208
movq 0x28(%rsp), %rsi
movq 0x88(%rsp), %rdi
callq 0x22d28
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x141fb
callq 0xc640
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
movq 0x88(%rsp), %rbx
je 0x14212
callq 0xc640
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
leaq 0x78(%rsp), %r12
je 0x14226
callq 0xc640
movq %rbx, %rdi
movl $0x1, %esi
callq 0x133cc
jmp 0x152fc
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x5fcb1(%rip), %rsi     # 0x73f13
callq 0xc790
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1428f
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x14297
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x28(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
callq 0x180f2
movl %eax, %ebx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x142cc
callq 0xc640
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
leaq 0x78(%rsp), %r12
je 0x142e0
callq 0xc640
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
movq 0x88(%rsp), %r14
je 0x142fb
callq 0xc640
testb %bl, %bl
je 0x1431d
movq 0xb0(%rsp), %rdi
callq 0xc710
movq %r14, %rdi
movl %eax, %esi
movl $0x1, %edx
callq 0x2ae08
jmp 0x1433a
leaq 0x68(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x5d582(%rip), %rcx     # 0x718af
movl $0xe, %r8d
xorl %esi, %esi
callq 0xc5c0
leaq 0x5e027(%rip), %rsi     # 0x72368
leaq 0xd0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x1438e
leaq 0x5d527(%rip), %rsi     # 0x71880
leaq 0x90(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x1438e
leaq 0x807df(%rip), %rdi     # 0x94b50
callq 0x11bec
leaq 0xb0(%rsp), %rsi
leaq 0xf8(%rsp), %rdx
movq %rax, %rdi
callq 0x18248
leaq 0x5d529(%rip), %rsi     # 0x718be
leaq 0xd0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x1460d
cmpq $0x0, 0xb8(%rsp)
je 0x1460d
leaq 0x5d4c0(%rip), %rsi     # 0x71880
leaq 0x90(%rsp), %rdi
callq 0xca10
testl %eax, %eax
je 0x144f8
leaq 0x80774(%rip), %rdi     # 0x94b50
callq 0x11bec
movq %rax, %r14
leaq 0x5d455(%rip), %rsi     # 0x71840
leaq 0x48(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x11c73
leaq 0x5de9b(%rip), %rsi     # 0x7229f
leaq 0x48(%rsp), %rdi
callq 0xc790
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14435
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1443c
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x5d469(%rip), %rsi     # 0x718c8
callq 0xc790
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1448c
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x14494
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x28(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
callq 0x180f2
movl %eax, %ebx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x144c9
callq 0xc640
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
leaq 0x78(%rsp), %r12
je 0x144dd
callq 0xc640
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x144f0
callq 0xc640
testb %bl, %bl
je 0x14591
movq 0xb0(%rsp), %rdi
callq 0xc710
movq 0x806ec(%rip), %rdi     # 0x94bf8
movl %eax, %esi
callq 0xe181
movq %rax, %r14
movq 0xf8(%rsp), %rdi
callq 0xc710
movb %al, (%r14)
movq 0x806cb(%rip), %rdi     # 0x94bf8
movl 0xb8(%r14), %esi
movq %r14, %rdx
movl $0x1, %ecx
callq 0xe34a
movsbl (%r14), %esi
leaq 0x8(%rsp), %rdi
callq 0xdf58
leaq 0x5d37f(%rip), %rcx     # 0x718d5
leaq 0x8(%rsp), %rdi
movl $0xc, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0xc200
leaq 0x38(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x145b0
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x145b7
leaq 0x68(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x5d30e(%rip), %rcx     # 0x718af
movl $0xe, %r8d
xorl %esi, %esi
callq 0xc5c0
jmp 0x1460d
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
leaq 0x68(%rsp), %rdi
callq 0xc830
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x145f2
callq 0xc640
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14605
callq 0xc640
movq %r14, %rdi
callq 0xc640
leaq 0x5d2ce(%rip), %rsi     # 0x718e2
leaq 0xd0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x149fa
leaq 0x5d250(%rip), %rsi     # 0x71880
leaq 0x90(%rsp), %rdi
callq 0xca10
testl %eax, %eax
je 0x14768
leaq 0x80504(%rip), %rdi     # 0x94b50
callq 0x11bec
movq %rax, %r14
leaq 0x5d1e5(%rip), %rsi     # 0x71840
leaq 0x48(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x11c73
leaq 0x5dc2b(%rip), %rsi     # 0x7229f
leaq 0x48(%rsp), %rdi
callq 0xc790
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x146a5
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x146ac
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x5d213(%rip), %rsi     # 0x718e2
callq 0xc790
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x146fc
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x14704
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x28(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
callq 0x180f2
movl %eax, %ebx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x14739
callq 0xc640
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
leaq 0x78(%rsp), %r12
je 0x1474d
callq 0xc640
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14760
callq 0xc640
testb %bl, %bl
je 0x1482c
leaq 0x38(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xb0(%rsp), %rsi
movq 0xb8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x12380
leaq 0x5d457(%rip), %rsi     # 0x71bec
leaq 0xf8(%rsp), %rdi
callq 0xca10
testl %eax, %eax
leaq 0x8050d(%rip), %rax     # 0x94cb8
leaq 0x804ce(%rip), %rbx     # 0x94c80
cmoveq %rax, %rbx
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x22c26
testq %rax, %rax
je 0x1484e
movq %rbx, %rdi
movq %rax, %rsi
callq 0x22c60
leaq 0x63343(%rip), %rsi     # 0x77b21
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x11c73
leaq 0x5d0fa(%rip), %rsi     # 0x718ee
leaq 0x48(%rsp), %rdi
callq 0xc790
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x148b1
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x148b8
leaq 0x68(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x5d073(%rip), %rcx     # 0x718af
movl $0xe, %r8d
xorl %esi, %esi
callq 0xc5c0
jmp 0x149fa
leaq 0x8(%rsp), %rdx
movq %rbx, (%rdx)
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x12a6e
leaq 0x632b7(%rip), %rsi     # 0x77b21
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x11c73
leaq 0x5d066(%rip), %rsi     # 0x718e6
leaq 0x48(%rsp), %rdi
callq 0xc790
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x148e6
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x148ed
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x68(%rsp), %rdi
callq 0xc830
jmp 0x14919
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x68(%rsp), %rdi
callq 0xc830
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x14928
callq 0xc640
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1493b
callq 0xc640
leaq 0x8020e(%rip), %rdi     # 0x94b50
callq 0x11bec
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5cf9e(%rip), %rsi     # 0x718f8
leaq 0x5cfaa(%rip), %rdx     # 0x7190b
leaq 0x8(%rsp), %rdi
callq 0xedf0
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x11edc
leaq 0x80339(%rip), %rsi     # 0x94cb8
movq %rax, %rdi
callq 0x11b2b
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x14996
callq 0xc640
leaq 0x801b3(%rip), %rdi     # 0x94b50
callq 0x11bec
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x5cf58(%rip), %rsi     # 0x7190c
leaq 0x5cf64(%rip), %rdx     # 0x7191f
callq 0xedf0
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x11edc
leaq 0x802ac(%rip), %rsi     # 0x94c80
movq %rax, %rdi
callq 0x11b2b
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x149eb
callq 0xc640
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x149fa
callq 0xc640
leaq 0x5cf1f(%rip), %rsi     # 0x71920
leaq 0xd0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x14b3e
movq 0x801db(%rip), %rbx     # 0x94bf8
movq 0xb0(%rsp), %rdi
callq 0xc710
movq %rbx, %rdi
movl %eax, %esi
callq 0xe181
movq %rax, %r14
leaq 0xa8(%rax), %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rbx, %rdi
callq 0xc460
leaq (%r14,%rax), %rdx
addq $0xa8, %rdx
leaq 0x8(%rsp), %rdi
movq %rbx, %rsi
callq 0xedf0
leaq 0x5ca43(%rip), %rcx     # 0x714b1
leaq 0x8(%rsp), %rdi
movl $0x7, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0xc200
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14aaa
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x14ab2
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x14ad9
callq 0xc640
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
callq 0x12380
leaq 0x5ce31(%rip), %rsi     # 0x7192b
leaq 0x8(%rsp), %rdi
callq 0xc790
movq 0x28(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xcc80
movq %r14, %rdi
callq 0xc640
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x14b2a
callq 0xc640
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x14b39
callq 0xc640
leaq 0x78(%rsp), %r12
leaq 0x5cdeb(%rip), %rsi     # 0x71930
leaq 0xd0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x14e8b
leaq 0x5cd1f(%rip), %rsi     # 0x71880
leaq 0x90(%rsp), %rdi
callq 0xca10
testl %eax, %eax
je 0x14c99
leaq 0x7ffd3(%rip), %rdi     # 0x94b50
callq 0x11bec
movq %rax, %r14
leaq 0x5ccb4(%rip), %rsi     # 0x71840
leaq 0x48(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x11c73
leaq 0x5d6fa(%rip), %rsi     # 0x7229f
leaq 0x48(%rsp), %rdi
callq 0xc790
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14bd6
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x14bdd
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x5cd39(%rip), %rsi     # 0x71939
callq 0xc790
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14c2d
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x14c35
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x28(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
callq 0x180f2
movl %eax, %ebx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x14c6a
callq 0xc640
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
leaq 0x78(%rsp), %r12
je 0x14c7e
callq 0xc640
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14c91
callq 0xc640
testb %bl, %bl
je 0x14d70
leaq 0x38(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0xb0(%rsp), %rsi
movq 0xb8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x12380
movq 0x7ff32(%rip), %rdi     # 0x94bf8
xorl %esi, %esi
callq 0xe181
movq %rax, %r14
leaq 0x5cf15(%rip), %rsi     # 0x71bec
leaq 0xf8(%rsp), %rdi
callq 0xca10
movl %eax, %ebx
callq 0xc050
movq %rax, %r15
movl 0xcc(%r14), %r12d
testl %r12d, %r12d
jle 0x14d92
movq 0x7fef3(%rip), %rdi     # 0x94bf8
movl %r12d, %esi
callq 0xe181
movq %rax, %r13
movq 0x28(%rsp), %rdi
testl %ebx, %ebx
je 0x14d22
leaq 0x91(%r13), %rsi
jmp 0x14d26
leaq 0x51(%r13), %rsi
callq 0xc950
testl %eax, %eax
jne 0x14d3e
movq 0x7fec2(%rip), %rdi     # 0x94bf8
movl %r12d, %esi
callq 0xe1e4
testq %r13, %r13
je 0x14d4b
movq %r13, %rdi
callq 0xc640
leal -0x1(%r12), %eax
cmpl $0x1, %r12d
movl %eax, %r12d
jg 0x14cfe
callq 0xc050
movq %rax, %rbx
testq %r14, %r14
leaq 0xe0(%rsp), %r13
jne 0x14d9a
jmp 0x14da2
leaq 0x68(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x5cb2f(%rip), %rcx     # 0x718af
movl $0xe, %r8d
xorl %esi, %esi
callq 0xc5c0
jmp 0x14e8b
callq 0xc050
movq %rax, %rbx
movq %r14, %rdi
callq 0xc640
subq %r15, %rbx
xorps %xmm0, %xmm0
cvtsi2ss %rbx, %xmm0
divss 0x5c917(%rip), %xmm0    # 0x716cc
cvtss2sd %xmm0, %xmm0
movq 0x7f200(%rip), %rsi     # 0x93fc0
leaq 0x5cea3(%rip), %rcx     # 0x71c6a
leaq 0x48(%rsp), %rdi
movl $0x3a, %edx
movb $0x1, %al
leaq 0x78(%rsp), %r12
callq 0x1e04e
leaq 0x5cb5a(%rip), %rcx     # 0x7193e
leaq 0x48(%rsp), %rdi
movl $0x6, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0xc200
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14e1f
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x14e26
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x68(%rsp), %rdi
callq 0xc830
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x14e61
callq 0xc640
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14e74
callq 0xc640
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x14e83
callq 0xc640
leaq 0xc0(%rsp), %rbp
leaq 0x5cab3(%rip), %rsi     # 0x71945
leaq 0xd0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x152cd
leaq 0x5c9d2(%rip), %rsi     # 0x71880
leaq 0x90(%rsp), %rdi
callq 0xca10
testl %eax, %eax
je 0x14fe6
leaq 0x7fc86(%rip), %rdi     # 0x94b50
callq 0x11bec
movq %rax, %r14
leaq 0x5c967(%rip), %rsi     # 0x71840
leaq 0x48(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x11c73
leaq 0x5d3ad(%rip), %rsi     # 0x7229f
leaq 0x48(%rsp), %rdi
callq 0xc790
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14f23
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x14f2a
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x5c9f8(%rip), %rsi     # 0x71945
callq 0xc790
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14f7a
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x14f82
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x28(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
callq 0x180f2
movl %eax, %ebx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x14fb7
callq 0xc640
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
leaq 0x78(%rsp), %r12
je 0x14fcb
callq 0xc640
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14fde
callq 0xc640
testb %bl, %bl
je 0x152b0
movq 0x7fc0b(%rip), %rdi     # 0x94bf8
xorl %esi, %esi
callq 0xe181
movq %rax, %rbx
movq 0xf8(%rsp), %rdi
callq 0xc710
movq %rax, %r15
leaq 0x68(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x5c935(%rip), %rcx     # 0x7194c
movl $0x1, %r8d
xorl %esi, %esi
callq 0xc5c0
movq %rbx, 0x118(%rsp)
movl 0xcc(%rbx), %ebx
testl %ebx, %ebx
jle 0x1527b
xorl %r14d, %r14d
movl %ebx, %r13d
movq %r15, 0x120(%rsp)
movl %ebx, 0xf4(%rsp)
incl %r14d
cmpl %r15d, %r14d
je 0x1527b
movq 0x7fb96(%rip), %rdi     # 0x94bf8
movl %r13d, %esi
callq 0xe181
movq %rax, %rbp
movq 0x7fb84(%rip), %rdi     # 0x94bf8
leaq 0x1(%rax), %rsi
callq 0xeb44
testq %rax, %rax
je 0x15267
movq 0xb0(%rsp), %rsi
movq %rax, %rdi
movq %rax, 0x128(%rsp)
callq 0xc570
testq %rax, %rax
je 0x15267
movl 0xb8(%rbp), %r12d
movl %r12d, %ebx
negl %ebx
cmovsl %r12d, %ebx
movl $0x1, %r15d
cmpl $0xa, %ebx
leaq 0x48(%rsp), %rdx
jb 0x1510d
movl $0x4, %r15d
movl %ebx, %eax
movl $0xd1b71759, %esi       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x15104
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x1510a
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x1510d
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x150d4
addl $-0x3, %r15d
jmp 0x1510d
addl $-0x2, %r15d
jmp 0x1510d
decl %r15d
shrl $0x1f, %r12d
leal (%r15,%r12), %esi
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
movq %rdx, %rdi
movl $0x2d, %edx
callq 0xc6d0
addq 0x48(%rsp), %r12
movq %r12, %rdi
movl %r15d, %esi
movl %ebx, %edx
callq 0x12313
movl $0x1, %r8d
leaq 0x48(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x5cb1b(%rip), %rcx     # 0x71c6f
callq 0xc200
leaq 0x18(%rsp), %rsi
movq %rsi, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x78(%rsp), %r12
movq 0x120(%rsp), %r15
movl 0xf4(%rsp), %ebx
je 0x15195
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1519b
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 0x5c78f(%rip), %rsi     # 0x7194e
callq 0xc790
leaq 0x38(%rsp), %rsi
movq %rsi, 0x28(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x151ec
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x151f2
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
leaq 0x68(%rsp), %rdi
callq 0xc830
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x15232
callq 0xc640
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x15246
callq 0xc640
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x1525a
callq 0xc640
movq 0x128(%rsp), %rdi
callq 0xc640
movq %rbp, %rdi
callq 0xc640
decl %r13d
cmpl %ebx, %r14d
jne 0x1504f
leaq 0x5c6cf(%rip), %rsi     # 0x71951
leaq 0x68(%rsp), %rdi
callq 0xc790
movq 0x118(%rsp), %rdi
testq %rdi, %rdi
leaq 0xe0(%rsp), %r13
leaq 0xc0(%rsp), %rbp
je 0x152cd
callq 0xc640
jmp 0x152cd
leaq 0x68(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x5c695(%rip), %rcx     # 0x71955
movl $0x2, %r8d
xorl %esi, %esi
callq 0xc5c0
leaq 0x5c684(%rip), %rsi     # 0x71958
leaq 0x5c68a(%rip), %rdx     # 0x71965
movq 0x88(%rsp), %rdi
callq 0x683fb
movq 0x68(%rsp), %rsi
movq 0x88(%rsp), %rdi
xorl %eax, %eax
callq 0x68533
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x15316
callq 0xc640
movq 0x68(%rsp), %rdi
cmpq %r12, %rdi
je 0x15325
callq 0xc640
movq 0xf8(%rsp), %rdi
leaq 0x108(%rsp), %rax
cmpq %rax, %rdi
je 0x1533f
callq 0xc640
movq 0xb0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x15351
callq 0xc640
movq 0xd0(%rsp), %rdi
cmpq %r13, %rdi
je 0x15363
callq 0xc640
addq $0x218, %rsp            # imm = 0x218
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq 0x170(%rsp), %rdi
jmp 0x15393
jmp 0x153ab
jmp 0x153bf
jmp 0x15627
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0x155d8
callq 0xc640
jmp 0x155d8
jmp 0x155d5
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x153c2
callq 0xc640
jmp 0x153c2
movq %rax, %rbx
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x15620
jmp 0x1562a
jmp 0x15627
jmp 0x155d5
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x1559f
callq 0xc640
jmp 0x1559f
jmp 0x15400
movq %rax, %rbx
jmp 0x155ae
jmp 0x156c7
movq %rax, %rbx
jmp 0x155c7
movq %rax, %rbx
movq 0x190(%rsp), %rdi
cmpq %r14, %rdi
jne 0x155e7
jmp 0x1564a
jmp 0x15647
jmp 0x154d0
jmp 0x154e4
jmp 0x154f8
jmp 0x156c7
jmp 0x154d0
jmp 0x154e4
jmp 0x154f8
jmp 0x156c7
jmp 0x154d0
jmp 0x154e4
jmp 0x154f8
jmp 0x156c7
jmp 0x154d0
jmp 0x154e4
jmp 0x154f8
jmp 0x156c7
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x15491
callq 0xc640
jmp 0x15491
movq %rax, %rbx
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x156d4
callq 0xc640
jmp 0x156d4
jmp 0x156d1
jmp 0x156c7
jmp 0x15627
jmp 0x156d1
jmp 0x156c7
jmp 0x15627
jmp 0x156c7
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x154e7
callq 0xc640
jmp 0x154e7
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x154fb
callq 0xc640
jmp 0x154fb
movq %rax, %rbx
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x156ad
jmp 0x156c7
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x15525
callq 0xc640
jmp 0x15525
movq %rax, %rbx
leaq 0x18(%rsp), %rax
jmp 0x15500
jmp 0x156c7
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x15548
callq 0xc640
jmp 0x15548
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
jne 0x156de
jmp 0x156e3
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
jne 0x156de
jmp 0x156e3
jmp 0x156c7
jmp 0x156c7
jmp 0x15627
jmp 0x156c7
movq %rax, %rbx
leaq 0x38(%rsp), %rax
jmp 0x15500
jmp 0x156c7
jmp 0x156c7
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0x155ae
callq 0xc640
movq 0x8(%rsp), %rdi
jmp 0x1562f
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0x155c7
callq 0xc640
leaq 0x1e0(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x155e2
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x1564a
callq 0xc640
jmp 0x1564a
jmp 0x15647
movq %rax, %rbx
movq 0x1b0(%rsp), %rdi
cmpq %r14, %rdi
jne 0x15658
jmp 0x1565d
movq %rax, %rbx
jmp 0x1565d
jmp 0x156b6
jmp 0x156c7
jmp 0x15613
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1562a
callq 0xc640
jmp 0x1562a
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
jne 0x156de
jmp 0x156e3
jmp 0x156c7
jmp 0x156c7
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1565d
callq 0xc640
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x156f3
movq %rax, %rbx
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x1568a
callq 0xc640
jmp 0x1568a
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x156a3
callq 0xc640
jmp 0x156a3
movq %rax, %rbx
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
jne 0x156de
jmp 0x156e3
jmp 0x156c7
movq %rax, %rbx
jmp 0x156fd
jmp 0x156cc
jmp 0x156cc
jmp 0x156cc
jmp 0x156cc
jmp 0x156c7
jmp 0x156c7
movq %rax, %rbx
jmp 0x156e3
movq %rax, %rbx
jmp 0x15711
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x156e3
callq 0xc640
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x156fd
callq 0xc640
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x15711
callq 0xc640
movq 0xf8(%rsp), %rdi
leaq 0x108(%rsp), %rax
cmpq %rax, %rdi
je 0x1572b
callq 0xc640
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x15745
callq 0xc640
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
je 0x1575f
callq 0xc640
movq %rbx, %rdi
callq 0xc760