// File: /workspace/github_c_makefile_star2_O1/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 $0x3f8, %rsp            # imm = 0x3F8
movq %rdi, %r12
cmpq $0x0, 0x270(%rdi)
je 0x13c04
xorps %xmm0, %xmm0
leaq 0x3d0(%rsp), %rdx
movaps %xmm0, 0x10(%rdx)
movaps %xmm0, (%rdx)
movaps %xmm0, 0x300(%rsp)
movaps %xmm0, 0x2f0(%rsp)
movaps %xmm0, 0x2e0(%rsp)
movaps %xmm0, 0x2d0(%rsp)
leaq 0x100(%rsp), %r13
movq %r13, -0x10(%r13)
xorl %eax, %eax
movq %rax, -0x8(%r13)
movb %al, (%r13)
leaq 0xe0(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x148(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x5fe0b(%rip), %rsi     # 0x737bf
movl $0x20, %ecx
movq %r12, %rdi
callq 0x6d28f
leaq 0x40(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x3d0(%rsp), %rbx
movq %rbx, %rdi
callq 0xc460
leaq (%rsp,%rax), %rdx
addq $0x3d0, %rdx            # imm = 0x3D0
leaq 0x30(%rsp), %rdi
movq %rbx, %rsi
callq 0xedfa
leaq 0xf0(%rsp), %rdi
leaq 0x30(%rsp), %rbx
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
cmpq %rbp, %rdi
je 0x13a14
callq 0xc640
leaq 0x5fdb0(%rip), %rsi     # 0x737cb
leaq 0x2f0(%rsp), %rdx
movl $0x20, %ecx
movq %r12, %rdi
callq 0x6d28f
leaq 0x30(%rsp), %rbx
movq %rbp, (%rbx)
leaq 0x2f0(%rsp), %r14
movq %r14, %rdi
callq 0xc460
leaq (%rsp,%rax), %rdx
addq $0x2f0, %rdx            # imm = 0x2F0
movq %rbx, %rdi
movq %r14, %rsi
callq 0xedfa
leaq 0xd0(%rsp), %rdi
leaq 0x30(%rsp), %rbx
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
cmpq %rbp, %rdi
je 0x13a80
callq 0xc640
leaq 0x5fd4d(%rip), %rsi     # 0x737d4
leaq 0x2d0(%rsp), %rdx
movl $0x20, %ecx
movq %r12, %rdi
callq 0x6d28f
leaq 0x30(%rsp), %rbx
movq %rbp, (%rbx)
leaq 0x2d0(%rsp), %r14
movq %r14, %rdi
callq 0xc460
leaq (%rsp,%rax), %rdx
addq $0x2d0, %rdx            # imm = 0x2D0
movq %rbx, %rdi
movq %r14, %rsi
callq 0xedfa
leaq 0x138(%rsp), %rdi
leaq 0x30(%rsp), %rbx
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
cmpq %rbp, %rdi
je 0x13aec
callq 0xc640
leaq 0x65b74(%rip), %rsi     # 0x79667
leaq 0xf0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
je 0x13c24
leaq 0x30(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x5fcc6(%rip), %rsi     # 0x737dd
leaq 0x5fcd0(%rip), %rdx     # 0x737ee
callq 0xedfa
leaq 0x5fcc5(%rip), %rsi     # 0x737ef
leaq 0xf0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x13f60
leaq 0x70(%rsp), %rdi
callq 0xfc62
leaq 0x380(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x70(%rsp), %rsi
movq 0x78(%rsp), %rdx
addq %rsi, %rdx
leaq 0x370(%rsp), %rdi
callq 0x12396
leaq 0x50(%rsp), %rdi
leaq 0x370(%rsp), %rsi
callq 0xf5b9
movq 0x370(%rsp), %rdi
cmpq %r14, %rdi
je 0x13b93
callq 0xc640
leaq 0x82fb6(%rip), %rdi     # 0x96b50
callq 0x11bfe
movq %rax, %rbx
leaq 0xc0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x5fc40(%rip), %rsi     # 0x737f5
leaq 0x5fc52(%rip), %rdx     # 0x7380e
leaq 0xb0(%rsp), %rdi
callq 0xedfa
leaq 0xb0(%rsp), %rsi
movq %rbx, %rdi
callq 0x11ee8
movq 0xd8(%rsp), %rdx
cmpq 0x8(%rax), %rdx
jne 0x13c38
testq %rdx, %rdx
je 0x13c3c
movq (%rax), %rsi
movq 0xd0(%rsp), %rdi
callq 0xc7c0
testl %eax, %eax
sete %bpl
jmp 0x13c3f
leaq 0x66bd1(%rip), %rsi     # 0x7a7dc
movq %r12, %rdi
addq $0x3f8, %rsp            # imm = 0x3F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2307c
leaq 0x66bb1(%rip), %rsi     # 0x7a7dc
movq %r12, %rdi
callq 0x2307c
jmp 0x1550b
xorl %ebp, %ebp
jmp 0x13c3f
movb $0x1, %bpl
testb %bpl, %bpl
je 0x13cb8
leaq 0x82f05(%rip), %rdi     # 0x96b50
callq 0x11bfe
movq %rax, %rbx
leaq 0x360(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5fba9(%rip), %rsi     # 0x7380f
leaq 0x5fbbb(%rip), %rdx     # 0x73828
leaq 0x350(%rsp), %rdi
callq 0xedfa
leaq 0x350(%rsp), %rsi
movq %rbx, %rdi
callq 0x11ee8
movq 0x140(%rsp), %rdx
cmpq 0x8(%rax), %rdx
jne 0x13cb8
testq %rdx, %rdx
je 0x149f0
movq (%rax), %rsi
movq 0x138(%rsp), %rdi
callq 0xc7c0
testl %eax, %eax
sete %bl
jmp 0x13cba
xorl %ebx, %ebx
testb %bpl, %bpl
leaq 0x40(%rsp), %rbp
je 0x13cda
leaq 0x360(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x13cda
callq 0xc640
movq 0xb0(%rsp), %rdi
cmpq %r14, %rdi
je 0x13cec
callq 0xc640
testb %bl, %bl
je 0x13d6e
leaq 0x340(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x50(%rsp), %rsi
movq 0x58(%rsp), %rdx
addq %rsi, %rdx
leaq 0x330(%rsp), %rdi
callq 0x12396
leaq 0x5fb63(%rip), %rdx     # 0x73880
leaq 0x330(%rsp), %rsi
movq %r12, %rdi
callq 0xf135
movq 0x330(%rsp), %rdi
cmpq %r14, %rdi
je 0x13d3f
callq 0xc640
leaq 0x82ee2(%rip), %rdi     # 0x96c28
leaq 0x50(%rsp), %rsi
callq 0xcc40
movq %r12, %rdi
callq 0xf9e1
leaq 0x5faca(%rip), %rdi     # 0x73829
movq %rax, %rsi
xorl %eax, %eax
callq 0xfd95
jmp 0x13f37
leaq 0x82ddb(%rip), %rdi     # 0x96b50
callq 0x11bfe
movq %rax, %rbx
leaq 0x5fabc(%rip), %rsi     # 0x73840
leaq 0x238(%rsp), %rdi
leaq 0xd0(%rsp), %rdx
callq 0x11c7f
leaq 0x5fa7e(%rip), %rsi     # 0x7381e
leaq 0x238(%rsp), %rdi
callq 0xc790
leaq 0x128(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x13ddd
movq %rdx, 0x118(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x128(%rsp)
jmp 0x13de4
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x118(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
callq 0x11ee8
leaq 0xb0(%rsp), %rdi
movq %r14, (%rdi)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
callq 0x12396
movq 0x118(%rsp), %rdi
cmpq %r15, %rdi
je 0x13e37
callq 0xc640
leaq 0x248(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x13e4d
callq 0xc640
movq 0xb8(%rsp), %rax
testq %rax, %rax
je 0x13f25
movq 0x140(%rsp), %rdx
cmpq %rax, %rdx
jne 0x13f25
testq %rdx, %rdx
je 0x13e91
movq 0xb0(%rsp), %rsi
movq 0x138(%rsp), %rdi
callq 0xc7c0
testl %eax, %eax
jne 0x13f25
leaq 0x320(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x50(%rsp), %rsi
movq 0x58(%rsp), %rdx
addq %rsi, %rdx
leaq 0x310(%rsp), %rdi
callq 0x12396
leaq 0x5f9dc(%rip), %rdx     # 0x7389a
leaq 0x310(%rsp), %rsi
movq %r12, %rdi
callq 0xf135
movq 0x310(%rsp), %rdi
cmpq %r15, %rdi
je 0x13ee0
callq 0xc640
leaq 0x82d61(%rip), %rdi     # 0x96c48
leaq 0xd0(%rsp), %rsi
callq 0x183b2
leaq 0x50(%rsp), %rsi
movq %rax, %rdi
callq 0xcc40
movq 0xd0(%rsp), %rbx
movq %r12, %rdi
callq 0xf9e1
leaq 0x5f93b(%rip), %rdi     # 0x73853
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0xfd95
movq 0xb0(%rsp), %rdi
cmpq %r14, %rdi
je 0x13f37
callq 0xc640
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x13f4a
callq 0xc640
leaq 0x80(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x13f60
callq 0xc640
leaq 0x80(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x656f4(%rip), %rdx     # 0x79667
leaq 0x70(%rsp), %rdi
movq %rdx, %rsi
callq 0xedfa
movq %r12, %rdi
callq 0xef24
testb %al, %al
movq %r12, 0x8(%rsp)
je 0x13fb0
leaq 0x70(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x5f8df(%rip), %rcx     # 0x73880
movl $0x5, %r8d
xorl %esi, %esi
callq 0xc5c0
jmp 0x13fed
leaq 0x50(%rsp), %rdi
movq %r12, %rsi
callq 0xefe6
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rbx
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
leaq 0x60(%rsp), %r15
cmpq %r15, %rdi
je 0x13fe1
callq 0xc640
cmpq $0x0, 0x78(%rsp)
je 0x1419f
leaq 0x5f887(%rip), %rsi     # 0x7387b
leaq 0xf0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x14052
leaq 0x50(%rsp), %rdi
callq 0xfc62
leaq 0x82c12(%rip), %rdi     # 0x96c28
leaq 0x50(%rsp), %rbx
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x14035
callq 0xc640
leaq 0x30(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x5f841(%rip), %rcx     # 0x73886
movl $0xe, %r8d
xorl %esi, %esi
callq 0xc5c0
leaq 0x5f83c(%rip), %rsi     # 0x73895
leaq 0xf0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x140f5
leaq 0x50(%rsp), %rdi
callq 0xfc62
leaq 0x82bc9(%rip), %rdi     # 0x96c48
leaq 0x70(%rsp), %rsi
callq 0x183b2
leaq 0x50(%rsp), %rbx
movq %rax, %rdi
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
leaq 0x60(%rsp), %r14
cmpq %r14, %rdi
je 0x140ab
callq 0xc640
leaq 0x50(%rsp), %rdi
movq %r14, (%rdi)
movq 0x70(%rsp), %rsi
movq 0x78(%rsp), %rdx
addq %rsi, %rdx
callq 0x12396
leaq 0x5f7bf(%rip), %rsi     # 0x7388b
leaq 0x50(%rsp), %rdi
callq 0xc790
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rbx
movq %rbx, %rsi
callq 0xc5e0
movq (%rbx), %rdi
cmpq %r14, %rdi
je 0x140f5
callq 0xc640
leaq 0x5f7a5(%rip), %rsi     # 0x738a1
leaq 0xf0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x1439d
leaq 0x5f768(%rip), %rsi     # 0x73880
leaq 0x70(%rsp), %rdi
callq 0xca10
movl %eax, %ebp
testl %eax, %eax
je 0x14282
leaq 0x82a1d(%rip), %rdi     # 0x96b50
callq 0x11bfe
movq %rax, %r14
leaq 0x5f6fe(%rip), %rsi     # 0x73840
leaq 0x118(%rsp), %rdi
leaq 0x70(%rsp), %rdx
callq 0x11c7f
leaq 0x60154(%rip), %rsi     # 0x742af
leaq 0x118(%rsp), %rdi
callq 0xc790
leaq 0xc0(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14289
movq %rdx, 0xb0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xc0(%rsp)
jmp 0x14290
leaq 0xc0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x61700(%rip), %rsi     # 0x758b2
leaq 0x616fd(%rip), %rdx     # 0x758b6
leaq 0xb0(%rsp), %rdi
callq 0xedfa
leaq 0x82b5b(%rip), %rdi     # 0x96d28
leaq 0xb0(%rsp), %rsi
callq 0x1852c
movq %rax, %rbx
leaq 0x128(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x5f67d(%rip), %rsi     # 0x7386e
leaq 0x5f682(%rip), %rdx     # 0x7387a
leaq 0x118(%rsp), %rdi
callq 0xedfa
leaq 0x1c8(%rbx), %rdi
leaq 0x118(%rsp), %rsi
callq 0x1c82a
movb $0x1, (%rax)
leaq 0x50(%rsp), %rdi
movq %rbx, %rsi
callq 0x18576
movq 0x50(%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0x2307c
movq 0x50(%rsp), %rdi
cmpq %r15, %rdi
je 0x14247
callq 0xc640
movq 0x118(%rsp), %rdi
cmpq %r12, %rdi
je 0x14259
callq 0xc640
movq 0xb0(%rsp), %rdi
cmpq %r14, %rdi
movq 0x8(%rsp), %rbx
je 0x14270
callq 0xc640
movq %rbx, %rdi
movl $0x1, %esi
callq 0x133f7
jmp 0x154e5
movb $0x1, %bl
jmp 0x14316
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0xb0(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x61c55(%rip), %rsi     # 0x75f0b
callq 0xc790
leaq 0x60(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x142e3
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x142eb
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x50(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
callq 0x18460
movl %eax, %ebx
movq 0x8(%rsp), %r12
testl %ebp, %ebp
leaq 0x40(%rsp), %rbp
je 0x1435e
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14332
callq 0xc640
leaq 0xc0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14348
callq 0xc640
leaq 0x128(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1435e
callq 0xc640
testb %bl, %bl
je 0x14380
movq 0xd0(%rsp), %rdi
callq 0xc710
movq %r12, %rdi
movl %eax, %esi
movl $0x1, %edx
callq 0x2b260
jmp 0x1439d
leaq 0x30(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x5f51f(%rip), %rcx     # 0x738af
movl $0xe, %r8d
xorl %esi, %esi
callq 0xc5c0
leaq 0x5ffd4(%rip), %rsi     # 0x74378
leaq 0xf0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x143ee
leaq 0x5f4c4(%rip), %rsi     # 0x73880
leaq 0x70(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x143ee
leaq 0x8277f(%rip), %rdi     # 0x96b50
callq 0x11bfe
leaq 0xd0(%rsp), %rsi
leaq 0x138(%rsp), %rdx
movq %rax, %rdi
callq 0x185b6
leaq 0x5f4c9(%rip), %rsi     # 0x738be
leaq 0xf0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x146c2
cmpq $0x0, 0xd8(%rsp)
je 0x146c2
leaq 0x5f460(%rip), %rsi     # 0x73880
leaq 0x70(%rsp), %rdi
callq 0xca10
movl %eax, %ebp
testl %eax, %eax
je 0x1449c
leaq 0x82719(%rip), %rdi     # 0x96b50
callq 0x11bfe
movq %rax, %r14
leaq 0x5f3fa(%rip), %rsi     # 0x73840
leaq 0x3b0(%rsp), %rdi
leaq 0x70(%rsp), %rdx
callq 0x11c7f
leaq 0x5fe50(%rip), %rsi     # 0x742af
leaq 0x3b0(%rsp), %rdi
callq 0xc790
leaq 0x2c0(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x144a3
movq %rdx, 0x2b0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2c0(%rsp)
jmp 0x144aa
movb $0x1, %bl
jmp 0x1453c
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x2b0(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x5f3f8(%rip), %rsi     # 0x738c8
callq 0xc790
leaq 0x248(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14506
movq %rdx, 0x238(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x248(%rsp)
jmp 0x1450e
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x238(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
callq 0x18460
movl %eax, %ebx
movq 0x8(%rsp), %r12
testl %ebp, %ebp
leaq 0x40(%rsp), %rbp
je 0x14587
leaq 0x248(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1455b
callq 0xc640
leaq 0x2c0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14571
callq 0xc640
leaq 0x3c0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14587
callq 0xc640
testb %bl, %bl
je 0x14637
movq 0xd0(%rsp), %rdi
callq 0xc710
movq 0x82655(%rip), %rdi     # 0x96bf8
movl %eax, %esi
callq 0xe181
movq %rax, %r14
movq 0x138(%rsp), %rdi
callq 0xc710
movb %al, (%r14)
movq 0x82634(%rip), %rdi     # 0x96bf8
movl 0xb8(%r14), %esi
movq %r14, %rdx
movl $0x1, %ecx
callq 0xe355
movsbl (%r14), %esi
leaq 0x218(%rsp), %rdi
callq 0xdf58
leaq 0x5f2e5(%rip), %rcx     # 0x738d5
leaq 0x218(%rsp), %rdi
movl $0xc, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0xc200
leaq 0x188(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14656
movq %rdx, 0x178(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x188(%rsp)
jmp 0x1465d
leaq 0x30(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x5f268(%rip), %rcx     # 0x738af
movl $0xe, %r8d
xorl %esi, %esi
callq 0xc5c0
jmp 0x146c2
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x180(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x178(%rsp), %rsi
movq 0x180(%rsp), %rdx
leaq 0x30(%rsp), %rdi
callq 0xc830
movq 0x178(%rsp), %rdi
cmpq %r15, %rdi
je 0x146a4
callq 0xc640
leaq 0x228(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x146ba
callq 0xc640
movq %r14, %rdi
callq 0xc640
leaq 0x5f219(%rip), %rsi     # 0x738e2
leaq 0xf0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x14b11
leaq 0x5f19b(%rip), %rsi     # 0x73880
leaq 0x70(%rsp), %rdi
callq 0xca10
movl %eax, %ebp
testl %eax, %eax
je 0x14761
leaq 0x82454(%rip), %rdi     # 0x96b50
callq 0x11bfe
movq %rax, %r14
leaq 0x5f135(%rip), %rsi     # 0x73840
leaq 0x390(%rsp), %rdi
leaq 0x70(%rsp), %rdx
callq 0x11c7f
leaq 0x5fb8b(%rip), %rsi     # 0x742af
leaq 0x390(%rsp), %rdi
callq 0xc790
leaq 0x228(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14768
movq %rdx, 0x218(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x228(%rsp)
jmp 0x1476f
movb $0x1, %bl
jmp 0x14801
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x218(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x5f14d(%rip), %rsi     # 0x738e2
callq 0xc790
leaq 0x188(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x147cb
movq %rdx, 0x178(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x188(%rsp)
jmp 0x147d3
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x178(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
callq 0x18460
movl %eax, %ebx
movq 0x8(%rsp), %r12
testl %ebp, %ebp
leaq 0x40(%rsp), %rbp
je 0x1484c
leaq 0x188(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14820
callq 0xc640
leaq 0x228(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14836
callq 0xc640
leaq 0x3a0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1484c
callq 0xc640
testb %bl, %bl
je 0x1492a
leaq 0xa0(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0xd0(%rsp), %rsi
movq 0xd8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x90(%rsp), %rdi
callq 0x12396
leaq 0x5f368(%rip), %rsi     # 0x73bef
leaq 0x138(%rsp), %rdi
callq 0xca10
testl %eax, %eax
leaq 0x8241b(%rip), %rax     # 0x96cb8
leaq 0x823dc(%rip), %rbx     # 0x96c80
cmoveq %rax, %rbx
leaq 0x90(%rsp), %rsi
movq %rbx, %rdi
callq 0x22f6a
testq %rax, %rax
je 0x1494c
movq %rbx, %rdi
movq %rax, %rsi
callq 0x22fa4
leaq 0x65243(%rip), %rsi     # 0x79b16
leaq 0x198(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x11c7f
leaq 0x5efff(%rip), %rsi     # 0x738ee
leaq 0x198(%rsp), %rdi
callq 0xc790
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x149bb
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x149c2
leaq 0x30(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x5ef75(%rip), %rcx     # 0x738af
movl $0xe, %r8d
xorl %esi, %esi
callq 0xc5c0
jmp 0x14b11
leaq 0x10(%rsp), %rdx
movq %rbx, (%rdx)
leaq 0x90(%rsp), %rsi
movq %rbx, %rdi
callq 0x12a88
leaq 0x651ab(%rip), %rsi     # 0x79b16
leaq 0x198(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x11c7f
leaq 0x5ef5f(%rip), %rsi     # 0x738e6
leaq 0x198(%rsp), %rdi
callq 0xc790
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x149f7
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x149fe
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x30(%rsp), %rdi
callq 0xc830
jmp 0x14a2a
movb $0x1, %bl
jmp 0x13cba
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x30(%rsp), %rdi
callq 0xc830
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x14a39
callq 0xc640
leaq 0x1a8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14a4f
callq 0xc640
leaq 0x820fa(%rip), %rdi     # 0x96b50
callq 0x11bfe
movq %rax, %rbx
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5ee8a(%rip), %rsi     # 0x738f8
leaq 0x5ee96(%rip), %rdx     # 0x7390b
leaq 0x10(%rsp), %rdi
callq 0xedfa
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x11ee8
leaq 0x82225(%rip), %rsi     # 0x96cb8
movq %rax, %rdi
callq 0x11b3d
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x14aaa
callq 0xc640
leaq 0x8209f(%rip), %rdi     # 0x96b50
callq 0x11bfe
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x5ee44(%rip), %rsi     # 0x7390c
leaq 0x5ee50(%rip), %rdx     # 0x7391f
callq 0xedfa
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x11ee8
leaq 0x82198(%rip), %rsi     # 0x96c80
movq %rax, %rdi
callq 0x11b3d
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x14aff
callq 0xc640
movq 0x90(%rsp), %rdi
cmpq %r14, %rdi
je 0x14b11
callq 0xc640
leaq 0x5ee08(%rip), %rsi     # 0x73920
leaq 0xf0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x14c72
movq 0x820c4(%rip), %rbx     # 0x96bf8
movq 0xd0(%rsp), %rdi
callq 0xc710
movq %rbx, %rdi
movl %eax, %esi
callq 0xe181
movq %rax, %r14
leaq 0xa8(%rax), %rbx
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rbx, %rdi
callq 0xc460
leaq (%r14,%rax), %rdx
addq $0xa8, %rdx
leaq 0x10(%rsp), %rdi
movq %rbx, %rsi
callq 0xedfa
leaq 0x5e92c(%rip), %rcx     # 0x734b1
leaq 0x10(%rsp), %rdi
movl $0x7, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0xc200
leaq 0xa0(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14bca
movq %rdx, 0x90(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xa0(%rsp)
jmp 0x14bd2
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)
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x14bfc
callq 0xc640
leaq 0x10(%rsp), %rdi
movq %r15, (%rdi)
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
addq %rsi, %rdx
callq 0x12396
leaq 0x5ed08(%rip), %rsi     # 0x7392b
leaq 0x10(%rsp), %rdi
callq 0xc790
movq 0x90(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0xcc80
testq %r14, %r14
je 0x14c4c
movq %r14, %rdi
callq 0xc640
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x14c5b
callq 0xc640
movq 0x90(%rsp), %rdi
cmpq %r12, %rdi
je 0x14c6d
callq 0xc640
movq 0x8(%rsp), %r12
leaq 0x5ecb7(%rip), %rsi     # 0x73930
leaq 0xf0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x14ffd
leaq 0x5ebeb(%rip), %rsi     # 0x73880
leaq 0x70(%rsp), %rdi
callq 0xca10
movl %eax, %ebp
testl %eax, %eax
je 0x14d08
leaq 0x81ea4(%rip), %rdi     # 0x96b50
callq 0x11bfe
movq %rax, %r14
leaq 0x5eb85(%rip), %rsi     # 0x73840
leaq 0x198(%rsp), %rdi
leaq 0x70(%rsp), %rdx
callq 0x11c7f
leaq 0x5f5db(%rip), %rsi     # 0x742af
leaq 0x198(%rsp), %rdi
callq 0xc790
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14d0f
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x14d16
movb $0x1, %bl
jmp 0x14da5
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x10(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x5ec00(%rip), %rsi     # 0x73939
callq 0xc790
leaq 0xa0(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14d6f
movq %rdx, 0x90(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xa0(%rsp)
jmp 0x14d77
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x90(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
callq 0x18460
movl %eax, %ebx
movq 0x8(%rsp), %r12
testl %ebp, %ebp
je 0x14de8
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14dbf
callq 0xc640
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14dd2
callq 0xc640
leaq 0x1a8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14de8
callq 0xc640
testb %bl, %bl
je 0x14f5e
leaq 0x1e8(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0xd0(%rsp), %rsi
movq 0xd8(%rsp), %rdx
addq %rsi, %rdx
leaq 0x1d8(%rsp), %rdi
callq 0x12396
movq 0x81dd5(%rip), %rdi     # 0x96bf8
xorl %esi, %esi
callq 0xe181
movq %rax, %r14
leaq 0x5edbb(%rip), %rsi     # 0x73bef
leaq 0x138(%rsp), %rdi
callq 0xca10
movl %eax, %ebx
callq 0xc050
movq %rax, %r15
movl 0xcc(%r14), %r12d
testl %r12d, %r12d
jle 0x14eb5
movq 0x81d9a(%rip), %rdi     # 0x96bf8
movl %r12d, %esi
callq 0xe181
movq %rax, %r13
movq 0x1d8(%rsp), %rdi
testl %ebx, %ebx
je 0x14e7e
leaq 0x91(%r13), %rsi
jmp 0x14e82
leaq 0x51(%r13), %rsi
callq 0xc950
testl %eax, %eax
jne 0x14e9a
movq 0x81d66(%rip), %rdi     # 0x96bf8
movl %r12d, %esi
callq 0xe1e4
testq %r13, %r13
je 0x14ea7
movq %r13, %rdi
callq 0xc640
leal -0x1(%r12), %eax
cmpl $0x1, %r12d
movl %eax, %r12d
jg 0x14e57
callq 0xc050
movq %rax, %rbx
testq %r14, %r14
je 0x14eca
movq %r14, %rdi
callq 0xc640
subq %r15, %rbx
xorps %xmm0, %xmm0
cvtsi2ss %rbx, %xmm0
divss 0x5e7ef(%rip), %xmm0    # 0x736cc
cvtss2sd %xmm0, %xmm0
movq 0x810d8(%rip), %rsi     # 0x95fc0
leaq 0x5ed7e(%rip), %rcx     # 0x73c6d
leaq 0x290(%rsp), %rdi
movl $0x3a, %edx
movb $0x1, %al
leaq 0x100(%rsp), %r13
callq 0x1e3b2
movq 0x8(%rsp), %r12
leaq 0x5ea27(%rip), %rcx     # 0x7393e
leaq 0x290(%rsp), %rdi
movl $0x6, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0xc200
leaq 0x168(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x14f82
movq %rdx, 0x158(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x168(%rsp)
jmp 0x14f89
leaq 0x30(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x5e941(%rip), %rcx     # 0x738af
movl $0xe, %r8d
xorl %esi, %esi
leaq 0x40(%rsp), %rbp
callq 0xc5c0
jmp 0x14ffd
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x160(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x158(%rsp), %rsi
movq 0x160(%rsp), %rdx
leaq 0x30(%rsp), %rdi
callq 0xc830
movq 0x158(%rsp), %rdi
cmpq %r14, %rdi
je 0x14fd0
callq 0xc640
leaq 0x2a0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14fe6
callq 0xc640
movq 0x1d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x14ff8
callq 0xc640
leaq 0x40(%rsp), %rbp
leaq 0x5e941(%rip), %rsi     # 0x73945
leaq 0xf0(%rsp), %rdi
callq 0xca10
testl %eax, %eax
jne 0x154c0
leaq 0x5e860(%rip), %rsi     # 0x73880
leaq 0x70(%rsp), %rdi
callq 0xca10
movl %eax, %ebp
testl %eax, %eax
je 0x1509c
leaq 0x81b19(%rip), %rdi     # 0x96b50
callq 0x11bfe
movq %rax, %r14
leaq 0x5e7fa(%rip), %rsi     # 0x73840
leaq 0x290(%rsp), %rdi
leaq 0x70(%rsp), %rdx
callq 0x11c7f
leaq 0x5f250(%rip), %rsi     # 0x742af
leaq 0x290(%rsp), %rdi
callq 0xc790
leaq 0x168(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x150a3
movq %rdx, 0x158(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x168(%rsp)
jmp 0x150aa
movb $0x1, %bl
jmp 0x1513c
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x158(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x5e875(%rip), %rsi     # 0x73945
callq 0xc790
leaq 0x1e8(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x15106
movq %rdx, 0x1d8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1e8(%rsp)
jmp 0x1510e
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x1d8(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
callq 0x18460
movl %eax, %ebx
movq 0x8(%rsp), %r12
testl %ebp, %ebp
leaq 0x40(%rsp), %rbp
je 0x15187
leaq 0x1e8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1515b
callq 0xc640
leaq 0x168(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x15171
callq 0xc640
leaq 0x2a0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x15187
callq 0xc640
testb %bl, %bl
je 0x154a3
movq 0x81a62(%rip), %rdi     # 0x96bf8
xorl %esi, %esi
callq 0xe181
movq %rax, %rbx
movq 0x138(%rsp), %rdi
callq 0xc710
movq %rax, %r15
leaq 0x30(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x5e78c(%rip), %rcx     # 0x7394c
movl $0x1, %r8d
xorl %esi, %esi
callq 0xc5c0
movq %rbx, 0x278(%rsp)
movl 0xcc(%rbx), %ebx
testl %ebx, %ebx
jle 0x15471
xorl %r14d, %r14d
movl %ebx, %r13d
movq %r15, 0x280(%rsp)
movl %ebx, 0x114(%rsp)
incl %r14d
cmpl %r15d, %r14d
je 0x15471
movq 0x819ed(%rip), %rdi     # 0x96bf8
movl %r13d, %esi
callq 0xe181
movq %rax, %rbp
movq 0x819db(%rip), %rdi     # 0x96bf8
leaq 0x1(%rax), %rsi
callq 0xeb4e
testq %rax, %rax
je 0x15458
movq 0xd0(%rsp), %rsi
movq %rax, %rdi
movq %rax, 0x288(%rsp)
callq 0xc570
testq %rax, %rax
je 0x15458
movl 0xb8(%rbp), %r12d
movl %r12d, %ebx
negl %ebx
cmovsl %r12d, %ebx
movl $0x1, %r15d
cmpl $0xa, %ebx
leaq 0x258(%rsp), %rdx
jb 0x152b9
movl $0x4, %r15d
movl %ebx, %eax
movl $0xd1b71759, %esi       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x152b0
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x152b6
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x152b9
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x15280
addl $-0x3, %r15d
jmp 0x152b9
addl $-0x2, %r15d
jmp 0x152b9
decl %r15d
shrl $0x1f, %r12d
leal (%r15,%r12), %esi
leaq 0x268(%rsp), %rax
movq %rax, 0x258(%rsp)
movq %rdx, %rdi
movl $0x2d, %edx
callq 0xc6d0
addq 0x258(%rsp), %r12
movq %r12, %rdi
movl %r15d, %esi
movl %ebx, %edx
callq 0x12329
movl $0x1, %r8d
leaq 0x258(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x5e966(%rip), %rcx     # 0x73c72
callq 0xc200
leaq 0x208(%rsp), %rsi
movq %rsi, 0x1f8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
movq 0x8(%rsp), %r12
movq 0x280(%rsp), %r15
movl 0x114(%rsp), %ebx
je 0x15359
movq %rdx, 0x1f8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x208(%rsp)
jmp 0x1535f
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x200(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x1f8(%rsp), %rdi
leaq 0x5e5c5(%rip), %rsi     # 0x7394e
callq 0xc790
leaq 0x1c8(%rsp), %rsi
movq %rsi, 0x1b8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x153c2
movq %rdx, 0x1b8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1c8(%rsp)
jmp 0x153c8
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x1c0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x1b8(%rsp), %rsi
movq 0x1c0(%rsp), %rdx
leaq 0x30(%rsp), %rdi
callq 0xc830
movq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
cmpq %rax, %rdi
je 0x15417
callq 0xc640
movq 0x1f8(%rsp), %rdi
leaq 0x208(%rsp), %rax
cmpq %rax, %rdi
je 0x15431
callq 0xc640
movq 0x258(%rsp), %rdi
leaq 0x268(%rsp), %rax
cmpq %rax, %rdi
je 0x1544b
callq 0xc640
movq 0x288(%rsp), %rdi
callq 0xc640
testq %rbp, %rbp
je 0x15465
movq %rbp, %rdi
callq 0xc640
decl %r13d
cmpl %ebx, %r14d
jne 0x151f8
leaq 0x5e4d9(%rip), %rsi     # 0x73951
leaq 0x30(%rsp), %rdi
callq 0xc790
movq 0x278(%rsp), %rdi
testq %rdi, %rdi
leaq 0x100(%rsp), %r13
leaq 0x40(%rsp), %rbp
je 0x154c0
callq 0xc640
jmp 0x154c0
leaq 0x30(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x5e4a2(%rip), %rcx     # 0x73955
movl $0x2, %r8d
xorl %esi, %esi
callq 0xc5c0
leaq 0x5e491(%rip), %rsi     # 0x73958
leaq 0x5e497(%rip), %rdx     # 0x73965
movq %r12, %rdi
callq 0x69fbf
movq 0x30(%rsp), %rsi
movq %r12, %rdi
xorl %eax, %eax
callq 0x6a0f7
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x154fc
callq 0xc640
movq 0x30(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1550b
callq 0xc640
movq 0x138(%rsp), %rdi
leaq 0x148(%rsp), %rax
cmpq %rax, %rdi
je 0x15525
callq 0xc640
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
je 0x1553f
callq 0xc640
movq 0xf0(%rsp), %rdi
cmpq %r13, %rdi
je 0x15551
callq 0xc640
addq $0x3f8, %rsp            # imm = 0x3F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq 0x310(%rsp), %rdi
jmp 0x15665
jmp 0x1557c
jmp 0x15590
jmp 0x15855
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x15593
callq 0xc640
jmp 0x15593
movq %rax, %rbx
leaq 0x1a8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x15806
jmp 0x15858
jmp 0x15855
movq %rax, %rbx
movq 0x158(%rsp), %rdi
cmpq %r14, %rdi
je 0x155cc
callq 0xc640
jmp 0x155cc
movq %rax, %rbx
leaq 0x2a0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x159c9
callq 0xc640
jmp 0x159c9
jmp 0x159c6
jmp 0x159dd
jmp 0x15855
jmp 0x159c6
jmp 0x15855
jmp 0x159dd
jmp 0x159dd
jmp 0x158e7
movq %rax, %rbx
movq 0x50(%rsp), %rdi
cmpq %r15, %rdi
je 0x15894
callq 0xc640
jmp 0x15894
jmp 0x15630
movq %rax, %rbx
jmp 0x158a6
jmp 0x159dd
movq %rax, %rbx
jmp 0x158d1
movq %rax, %rbx
movq 0x330(%rsp), %rdi
jmp 0x158f2
jmp 0x15991
movq %rax, %rbx
movq 0x350(%rsp), %rdi
cmpq %r15, %rdi
je 0x158ea
callq 0xc640
jmp 0x158ea
jmp 0x158e7
movq %rax, %rbx
movq 0x1d8(%rsp), %rdi
cmpq %r12, %rdi
je 0x15697
callq 0xc640
jmp 0x15697
movq %rax, %rbx
movq 0x158(%rsp), %rdi
cmpq %r15, %rdi
je 0x156ae
callq 0xc640
jmp 0x156ae
movq %rax, %rbx
leaq 0x2a0(%rsp), %rax
jmp 0x1587e
jmp 0x159dd
movq %rax, %rbx
movq 0x90(%rsp), %rdi
cmpq %r12, %rdi
je 0x156da
callq 0xc640
jmp 0x156da
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x156ee
callq 0xc640
jmp 0x156ee
movq %rax, %rbx
leaq 0x1a8(%rsp), %rax
jmp 0x1587e
jmp 0x159dd
movq %rax, %rbx
movq 0x178(%rsp), %rdi
cmpq %r12, %rdi
je 0x1571a
callq 0xc640
jmp 0x1571a
movq %rax, %rbx
movq 0x218(%rsp), %rdi
cmpq %r15, %rdi
je 0x15731
callq 0xc640
jmp 0x15731
movq %rax, %rbx
leaq 0x3a0(%rsp), %rax
jmp 0x1587e
jmp 0x159dd
movq %rax, %rbx
movq 0x50(%rsp), %rdi
cmpq %r12, %rdi
je 0x1575a
callq 0xc640
jmp 0x1575a
movq %rax, %rbx
movq 0xb0(%rsp), %rdi
cmpq %r15, %rdi
je 0x15771
callq 0xc640
jmp 0x15771
movq %rax, %rbx
leaq 0x128(%rsp), %rax
jmp 0x1587e
jmp 0x159dd
movq %rax, %rbx
movq 0x178(%rsp), %rdi
cmpq %r15, %rdi
je 0x1579d
callq 0xc640
jmp 0x1579d
movq %rax, %rbx
leaq 0x228(%rsp), %rax
jmp 0x1587e
jmp 0x159dd
movq %rax, %rbx
movq 0x238(%rsp), %rdi
cmpq %r12, %rdi
je 0x157c9
callq 0xc640
jmp 0x157c9
movq %rax, %rbx
movq 0x2b0(%rsp), %rdi
cmpq %r15, %rdi
je 0x157e0
callq 0xc640
jmp 0x157e0
movq %rax, %rbx
leaq 0x3c0(%rsp), %rax
jmp 0x1587e
jmp 0x159dd
jmp 0x159dd
jmp 0x157f9
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x15858
callq 0xc640
jmp 0x15858
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x15824
callq 0xc640
jmp 0x15824
movq %rax, %rbx
movq 0x90(%rsp), %rdi
cmpq %r12, %rdi
jne 0x159d6
jmp 0x159e0
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
jne 0x159d6
jmp 0x159e0
jmp 0x159dd
movq %rax, %rbx
movq 0x90(%rsp), %rdi
jmp 0x158ae
jmp 0x159dd
movq %rax, %rbx
movq 0x50(%rsp), %rdi
jmp 0x158ae
jmp 0x159dd
movq %rax, %rbx
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x15988
jmp 0x159dd
jmp 0x159dd
movq %rax, %rbx
movq 0x118(%rsp), %rdi
cmpq %r12, %rdi
je 0x158a6
callq 0xc640
movq 0xb0(%rsp), %rdi
cmpq %r14, %rdi
jne 0x159d6
jmp 0x159e0
movq %rax, %rbx
movq 0x118(%rsp), %rdi
cmpq %r15, %rdi
je 0x158d1
callq 0xc640
leaq 0x248(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x158fb
jmp 0x15994
movq %rax, %rbx
movq 0xb0(%rsp), %rdi
cmpq %r14, %rdi
je 0x15994
callq 0xc640
jmp 0x15994
jmp 0x15991
movq %rax, %rbx
movq 0x370(%rsp), %rdi
cmpq %r14, %rdi
jne 0x159a2
jmp 0x159a7
movq %rax, %rbx
jmp 0x159a7
jmp 0x159b5
jmp 0x159dd
jmp 0x159dd
movq %rax, %rbx
movq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
cmpq %rax, %rdi
je 0x15959
callq 0xc640
jmp 0x15959
movq %rax, %rbx
movq 0x1f8(%rsp), %rdi
leaq 0x208(%rsp), %rax
cmpq %rax, %rdi
je 0x15978
callq 0xc640
jmp 0x15978
movq %rax, %rbx
movq 0x258(%rsp), %rdi
leaq 0x268(%rsp), %rax
cmpq %rax, %rdi
jne 0x159d6
jmp 0x159e0
jmp 0x159dd
movq %rax, %rbx
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x159a7
callq 0xc640
leaq 0x80(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x159ed
movq %rax, %rbx
jmp 0x159f7
jmp 0x15a0d
jmp 0x159dd
jmp 0x159dd
jmp 0x15a0d
jmp 0x15a0d
jmp 0x15a0d
movq %rax, %rbx
movq 0x1d8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x159e0
callq 0xc640
jmp 0x159e0
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x159f7
callq 0xc640
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x15a10
callq 0xc640
jmp 0x15a10
movq %rax, %rbx
movq 0x138(%rsp), %rdi
leaq 0x148(%rsp), %rax
cmpq %rax, %rdi
je 0x15a2a
callq 0xc640
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
je 0x15a44
callq 0xc640
movq 0xf0(%rsp), %rdi
leaq 0x100(%rsp), %rax
cmpq %rax, %rdi
je 0x15a5e
callq 0xc640
movq %rbx, %rdi
callq 0xc760