// File: /workspace/github_c_makefile_star2_O0/coyove[P]chann/./src/main.cpp
// Function: main
int main(int argc, char *argv[]){
    string conf_path = "./chann.conf";
    log_file = stdout;

    for (int i = 0; i < argc; ++i){
        if((strcmp(argv[i], "--load") == 0 || strcmp(argv[i], "-l") == 0)){
            conf_path = string(argv[++i]);
            continue;
        }      
    }

    configs.global().load(conf_path);
    logLog("Load configuration: %s", conf_path.c_str());

    string db_path = configs.global().get("database"); 

    int rc = unqlite_open(&pDb, db_path.c_str(), UNQLITE_OPEN_CREATE + UNQLITE_OPEN_MMAP);
    if (rc != UNQLITE_OK) database_fatal("Out of memory");
    logLog("Load database: %s", db_path.c_str());

    unqlite_int64 nBytes = 4;
    int dummy = 0;

    if (unqlite_kv_fetch(pDb, "global_counter", -1, &dummy, &nBytes) != UNQLITE_OK) unq_reset(pDb);

    //generate a random admin password
    admin_password  = cc_random_chars(10);
    admin_cookie    = admin_password;
    configs.global().set("security::admin::cookie", admin_password);

    for(auto &x : cc_split(configs.global().get("security::assist::list"), ","))
        assist_cookie[x] = cc_random_chars(10);

    templates.use_lang(configs.global().get("lang"));
    logLog("Load %d templates", templates.load_templates());

    string homepage = configs.global().get<bool>("welcome") ? "/page/1" : "/";
    templates.add_template("site_header").var("SITE_TITLE", configs.global().get("title")).var("HOMEPAGE", homepage);
    templates.add_template("single_thread_header").var("HOMEPAGE", homepage);
    templates.add_template("info_page").var("HOMEPAGE", homepage);
    templates.add_template("site_footer").var("BUILD_DATE", to_string(BUILD_DATE));


    bool use_captcha = configs.global().get<bool>("security::captcha");
    #ifndef GOOGLE_RECAPTCHA
    use_captcha = false;
    #endif

    templates.add_template("post_form").toggle("use_captcha", use_captcha) \
        .var("LANG", configs.global().get("lang")).var("PUBLIC", configs.global().get("security::captcha::public_key"));

    cc_load_file_to_set(configs.global().get("file::ban::ip_based"), IPBanList);
    cc_load_file_to_set(configs.global().get("file::ban::id_based"), IDBanList);
    logLog("Load banlist with %d/%d records", IPBanList.size(), IDBanList.size());    

    server = mg_create_server(NULL, event_handle);
    mg_set_option(server, "listening_port", to_string(configs.global().get<int>("listen")).c_str());
    logLog("Start listening on port %s", mg_get_option(server, "listening_port"));

    fflush(log_file);

    time(&gStartupTime);

    signal(SIGTERM, signal_handle);
    signal(SIGINT, signal_handle);

    route::init();
    route::add("/thread/:no",               route::THREAD);
    route::add("/daerht/:no",               route::DAERHT);
    route::add("/page/:page",               route::TIMELINE);
    route::add("/gallery/:page",            route::GALLERY);
    route::add("/list",                     route::LINEAR);
    route::add("/list/ip/:ip",              route::LINEAR_IP);
    route::add("/list/id/:id",              route::LINEAR_ID);
    route::add("/admin",                    route::ADMIN_PANEL);
    route::add("/del/:no",                  route::SELF_DELETE);
    route::add("/api/:no",                  route::API_THREAD);
    route::add("/images/:path",             route::IMAGE);
    route::add("/success/:cookie/to/:no",   route::SUCCESS);
    route::add("/admin_action",             route::ADMIN_ACTION);
    route::add("/post_thread",              route::POST_THREAD);
    route::add("/post_reply/:no",           route::POST_REPLY);

    #ifdef GOOGLE_RECAPTCHA
    curl_global_init(CURL_GLOBAL_ALL);
    #endif

    while (s_signal_received == 0) {
        mg_poll_server(server, 1000);
    }

    #ifdef GOOGLE_RECAPTCHA
    curl_global_cleanup();
    #endif

    mg_destroy_server(&server);
    unqlite_close(pDb);

    return 0;
}

// Assembly:
subq $0xae8, %rsp            # imm = 0xAE8
movl $0x0, 0xae4(%rsp)
movl %edi, 0xae0(%rsp)
movq %rsi, 0xad8(%rsp)
leaq 0xab7(%rsp), %rdi
movq %rdi, 0x2b8(%rsp)
callq 0xdc30
movq 0x2b8(%rsp), %rdx
leaq 0xa00ec(%rip), %rsi     # 0xbf9c1
leaq 0xab8(%rsp), %rdi
callq 0xdad0
jmp 0x1f8e4
leaq 0xab7(%rsp), %rdi
callq 0xdf30
movq 0xce6a0(%rip), %rax     # 0xedf98
movq (%rax), %rax
movq %rax, 0xcf76e(%rip)     # 0xef070
movl $0x0, 0xaa0(%rsp)
movl 0xaa0(%rsp), %eax
cmpl 0xae0(%rsp), %eax
jge 0x1fa60
movq 0xad8(%rsp), %rax
movslq 0xaa0(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0xa0092(%rip), %rsi     # 0xbf9ce
callq 0xdab0
cmpl $0x0, %eax
je 0x1f96f
movq 0xad8(%rsp), %rax
movslq 0xaa0(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0xa0074(%rip), %rsi     # 0xbf9d5
callq 0xdab0
cmpl $0x0, %eax
jne 0x1fa48
movq 0xad8(%rsp), %rax
movslq 0xaa0(%rsp), %rcx
movl %ecx, %edx
incl %edx
movl %edx, 0xaa0(%rsp)
movq 0x8(%rax,%rcx,8), %rax
movq %rax, 0x2a8(%rsp)
leaq 0xa7f(%rsp), %rdi
movq %rdi, 0x2b0(%rsp)
callq 0xdc30
movq 0x2a8(%rsp), %rsi
movq 0x2b0(%rsp), %rdx
leaq 0xa80(%rsp), %rdi
callq 0xdad0
jmp 0x1f9cb
leaq 0xab8(%rsp), %rdi
leaq 0xa80(%rsp), %rsi
callq 0xd6f0
leaq 0xa80(%rsp), %rdi
callq 0xdf50
leaq 0xa7f(%rsp), %rdi
callq 0xdf30
jmp 0x1fa4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0xab7(%rsp), %rdi
callq 0xdf30
jmp 0x21e72
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0xa7f(%rsp), %rdi
callq 0xdf30
jmp 0x21e65
jmp 0x1fa4a
movl 0xaa0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xaa0(%rsp)
jmp 0x1f90d
leaq 0xcf4e1(%rip), %rdi     # 0xeef48
callq 0x146c0
movq %rax, 0x2a0(%rsp)
jmp 0x1fa76
leaq 0xa58(%rsp), %rdi
leaq 0xab8(%rsp), %rsi
callq 0xd1b0
jmp 0x1fa8d
movq 0x2a0(%rsp), %rdi
leaq 0xa58(%rsp), %rsi
callq 0x24860
jmp 0x1faa4
leaq 0xa58(%rsp), %rdi
callq 0xdf50
leaq 0xab8(%rsp), %rdi
callq 0xd190
movq %rax, %rsi
leaq 0x9ff10(%rip), %rdi     # 0xbf9d8
xorl %eax, %eax
callq 0x11920
jmp 0x1fad1
leaq 0xcf470(%rip), %rdi     # 0xeef48
callq 0x146c0
movq %rax, 0x298(%rsp)
jmp 0x1fae7
leaq 0xa17(%rsp), %rdi
movq %rdi, 0x290(%rsp)
callq 0xdc30
movq 0x290(%rsp), %rdx
leaq 0xa298a(%rip), %rsi     # 0xc2495
leaq 0xa18(%rsp), %rdi
callq 0xdad0
jmp 0x1fb1a
movq 0x298(%rsp), %rdi
leaq 0xa18(%rsp), %rsi
callq 0x148c0
movq %rax, 0x288(%rsp)
jmp 0x1fb39
movq 0x288(%rsp), %rsi
leaq 0xa38(%rsp), %rdi
callq 0xd1b0
jmp 0x1fb50
leaq 0xa18(%rsp), %rdi
callq 0xdf50
leaq 0xa17(%rsp), %rdi
callq 0xdf30
leaq 0xa38(%rsp), %rdi
callq 0xd190
movq %rax, %rsi
leaq 0xcf46f(%rip), %rdi     # 0xeeff0
movl $0x104, %edx            # imm = 0x104
callq 0x54020
movl %eax, 0x284(%rsp)
jmp 0x1fb94
movl 0x284(%rsp), %eax
movl %eax, 0xa10(%rsp)
cmpl $0x0, 0xa10(%rsp)
je 0x1fc64
leaq 0x9fe38(%rip), %rdi     # 0xbf9ef
callq 0x11a70
jmp 0x1fbbe
jmp 0x1fc64
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21e65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0xa58(%rsp), %rdi
callq 0xdf50
jmp 0x21e65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x1fc39
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0xa18(%rsp), %rdi
callq 0xdf50
leaq 0xa17(%rsp), %rdi
callq 0xdf30
jmp 0x21e65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21e58
leaq 0xa38(%rsp), %rdi
callq 0xd190
movq %rax, %rsi
leaq 0x9fd82(%rip), %rdi     # 0xbf9fd
xorl %eax, %eax
callq 0x11920
jmp 0x1fc84
movq $0x4, 0xa08(%rsp)
movl $0x0, 0xa04(%rsp)
movq 0xcf34e(%rip), %rdi     # 0xeeff0
leaq 0x9f389(%rip), %rsi     # 0xbf032
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
leaq 0xa04(%rsp), %rcx
leaq 0xa08(%rsp), %r8
callq 0x58fb0
movl %eax, 0x280(%rsp)
jmp 0x1fccc
movl 0x280(%rsp), %eax
cmpl $0x0, %eax
je 0x1fce8
movq 0xcf311(%rip), %rdi     # 0xeeff0
callq 0xe7c0
jmp 0x1fce6
jmp 0x1fce8
leaq 0x9e0(%rsp), %rdi
movl $0xa, %esi
callq 0x11670
jmp 0x1fcfc
leaq 0xcf2fd(%rip), %rdi     # 0xef000
movq %rdi, 0x278(%rsp)
leaq 0x9e0(%rsp), %rsi
movq %rsi, 0x270(%rsp)
callq 0xd6f0
movq 0x270(%rsp), %rdi
callq 0xdf50
movq 0x278(%rsp), %rsi
leaq 0xcf2e4(%rip), %rdi     # 0xef020
callq 0xde60
jmp 0x1fd43
leaq 0xcf1fe(%rip), %rdi     # 0xeef48
callq 0x146c0
movq %rax, 0x268(%rsp)
jmp 0x1fd59
leaq 0x9bf(%rsp), %rdi
movq %rdi, 0x260(%rsp)
callq 0xdc30
movq 0x260(%rsp), %rdx
leaq 0x9fc92(%rip), %rsi     # 0xbfa0f
leaq 0x9c0(%rsp), %rdi
callq 0xdad0
jmp 0x1fd8c
movq 0x268(%rsp), %rdi
leaq 0xcf265(%rip), %rdx     # 0xef000
leaq 0x9c0(%rsp), %rsi
callq 0x251f0
jmp 0x1fdaa
leaq 0x9c0(%rsp), %rdi
callq 0xdf50
leaq 0x9bf(%rsp), %rdi
callq 0xdf30
leaq 0xcf17d(%rip), %rdi     # 0xeef48
callq 0x146c0
movq %rax, 0x258(%rsp)
jmp 0x1fdda
leaq 0x977(%rsp), %rdi
movq %rdi, 0x250(%rsp)
callq 0xdc30
movq 0x250(%rsp), %rdx
leaq 0x9fc29(%rip), %rsi     # 0xbfa27
leaq 0x978(%rsp), %rdi
callq 0xdad0
jmp 0x1fe0d
movq 0x258(%rsp), %rdi
leaq 0x978(%rsp), %rsi
callq 0x148c0
movq %rax, 0x248(%rsp)
jmp 0x1fe2c
leaq 0x94f(%rsp), %rdi
movq %rdi, 0x240(%rsp)
callq 0xdc30
movq 0x240(%rsp), %rdx
leaq 0x9fa97(%rip), %rsi     # 0xbf8e7
leaq 0x950(%rsp), %rdi
callq 0xdad0
jmp 0x1fe5f
movq 0x248(%rsp), %rsi
leaq 0x998(%rsp), %rdi
leaq 0x950(%rsp), %rdx
callq 0x10e50
jmp 0x1fe7e
leaq 0x950(%rsp), %rdi
callq 0xdf50
leaq 0x94f(%rsp), %rdi
callq 0xdf30
leaq 0x978(%rsp), %rdi
callq 0xdf50
leaq 0x977(%rsp), %rdi
callq 0xdf30
leaq 0x998(%rsp), %rax
movq %rax, 0x9b0(%rsp)
movq 0x9b0(%rsp), %rdi
callq 0x19810
movq %rax, 0x940(%rsp)
movq 0x9b0(%rsp), %rdi
callq 0x19680
movq %rax, 0x938(%rsp)
leaq 0x940(%rsp), %rdi
leaq 0x938(%rsp), %rsi
callq 0x23600
testb $0x1, %al
jne 0x1fff3
leaq 0x998(%rsp), %rdi
callq 0x14930
jmp 0x200b7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x1ff52
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x9c0(%rsp), %rdi
callq 0xdf50
leaq 0x9bf(%rsp), %rdi
callq 0xdf30
jmp 0x21e58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x1ffe1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x1ffd4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x1ffc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x950(%rsp), %rdi
callq 0xdf50
leaq 0x94f(%rsp), %rdi
callq 0xdf30
leaq 0x978(%rsp), %rdi
callq 0xdf50
leaq 0x977(%rsp), %rdi
callq 0xdf30
jmp 0x21e58
leaq 0x940(%rsp), %rdi
callq 0x23640
movq %rax, 0x930(%rsp)
leaq 0x910(%rsp), %rdi
movl $0xa, %esi
callq 0x11670
jmp 0x2001c
movq 0x930(%rsp), %rsi
leaq 0xcf015(%rip), %rdi     # 0xef040
callq 0x237b0
movq %rax, 0x238(%rsp)
jmp 0x2003a
movq 0x238(%rsp), %rdi
leaq 0x910(%rsp), %rsi
callq 0xd6f0
leaq 0x910(%rsp), %rdi
callq 0xdf50
leaq 0x940(%rsp), %rdi
callq 0x23740
jmp 0x1feec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x200a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x910(%rsp), %rdi
callq 0xdf50
leaq 0x998(%rsp), %rdi
callq 0x14930
jmp 0x21e58
leaq 0xcee8a(%rip), %rdi     # 0xeef48
callq 0x146c0
movq %rax, 0x230(%rsp)
jmp 0x200cd
leaq 0x8cf(%rsp), %rdi
movq %rdi, 0x228(%rsp)
callq 0xdc30
movq 0x228(%rsp), %rdx
leaq 0x9f94d(%rip), %rsi     # 0xbfa3e
leaq 0x8d0(%rsp), %rdi
callq 0xdad0
jmp 0x20100
movq 0x230(%rsp), %rdi
leaq 0x8d0(%rsp), %rsi
callq 0x148c0
movq %rax, 0x220(%rsp)
jmp 0x2011f
movq 0x220(%rsp), %rsi
leaq 0x8f0(%rsp), %rdi
callq 0xd1b0
jmp 0x20136
leaq 0xcefe3(%rip), %rdi     # 0xef120
leaq 0x8f0(%rsp), %rsi
callq 0x25240
jmp 0x2014c
leaq 0x8f0(%rsp), %rdi
callq 0xdf50
leaq 0x8d0(%rsp), %rdi
callq 0xdf50
leaq 0x8cf(%rsp), %rdi
callq 0xdf30
leaq 0xcefa6(%rip), %rdi     # 0xef120
callq 0x25270
movl %eax, 0x21c(%rsp)
jmp 0x20188
movl 0x21c(%rsp), %esi
leaq 0x9f8ad(%rip), %rdi     # 0xbfa43
xorl %eax, %eax
callq 0x11920
jmp 0x2019f
leaq 0xceda2(%rip), %rdi     # 0xeef48
callq 0x146c0
movq %rax, 0x210(%rsp)
jmp 0x201b5
leaq 0x887(%rsp), %rdi
movq %rdi, 0x208(%rsp)
callq 0xdc30
movq 0x208(%rsp), %rdx
leaq 0x9fb74(%rip), %rsi     # 0xbfd4d
leaq 0x888(%rsp), %rdi
callq 0xdad0
jmp 0x201e8
movq 0x210(%rsp), %rdi
leaq 0x888(%rsp), %rsi
callq 0x23990
movb %al, 0x207(%rsp)
jmp 0x20206
movb 0x207(%rsp), %dl
leaq 0x9f841(%rip), %rcx     # 0xbfa55
leaq 0xa7c91(%rip), %rax     # 0xc7eac
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, 0x1f0(%rsp)
leaq 0x886(%rsp), %rdi
movq %rdi, 0x1f8(%rsp)
callq 0xdc30
movq 0x1f0(%rsp), %rsi
movq 0x1f8(%rsp), %rdx
leaq 0x8a8(%rsp), %rdi
callq 0xdad0
jmp 0x2025e
leaq 0x886(%rsp), %rdi
callq 0xdf30
leaq 0x888(%rsp), %rdi
callq 0xdf50
leaq 0x887(%rsp), %rdi
callq 0xdf30
leaq 0x85f(%rsp), %rdi
movq %rdi, 0x1e8(%rsp)
callq 0xdc30
movq 0x1e8(%rsp), %rdx
leaq 0x9f68c(%rip), %rsi     # 0xbf935
leaq 0x860(%rsp), %rdi
callq 0xdad0
jmp 0x202b8
leaq 0xcee61(%rip), %rdi     # 0xef120
leaq 0x860(%rsp), %rsi
callq 0x255e0
movq %rax, 0x1e0(%rsp)
jmp 0x202d6
leaq 0x837(%rsp), %rdi
movq %rdi, 0x1d8(%rsp)
callq 0xdc30
movq 0x1d8(%rsp), %rdx
leaq 0x9f763(%rip), %rsi     # 0xbfa5d
leaq 0x838(%rsp), %rdi
callq 0xdad0
jmp 0x20309
leaq 0xcec38(%rip), %rdi     # 0xeef48
callq 0x146c0
movq %rax, 0x1d0(%rsp)
jmp 0x2031f
leaq 0x80f(%rsp), %rdi
movq %rdi, 0x1c8(%rsp)
callq 0xdc30
movq 0x1c8(%rsp), %rdx
leaq 0x9f725(%rip), %rsi     # 0xbfa68
leaq 0x810(%rsp), %rdi
callq 0xdad0
jmp 0x20352
movq 0x1d0(%rsp), %rdi
leaq 0x810(%rsp), %rsi
callq 0x148c0
movq %rax, 0x1c0(%rsp)
jmp 0x20371
movq 0x1c0(%rsp), %rdx
movq 0x1e0(%rsp), %rdi
leaq 0x838(%rsp), %rsi
callq 0x23cf0
movq %rax, 0x1b8(%rsp)
jmp 0x20398
leaq 0x7e7(%rsp), %rdi
movq %rdi, 0x1b0(%rsp)
callq 0xdc30
movq 0x1b0(%rsp), %rdx
leaq 0x9f6b2(%rip), %rsi     # 0xbfa6e
leaq 0x7e8(%rsp), %rdi
callq 0xdad0
jmp 0x203cb
movq 0x1b8(%rsp), %rdi
leaq 0x7e8(%rsp), %rsi
leaq 0x8a8(%rsp), %rdx
callq 0x23cf0
jmp 0x203ea
leaq 0x7e8(%rsp), %rdi
callq 0xdf50
leaq 0x7e7(%rsp), %rdi
callq 0xdf30
leaq 0x810(%rsp), %rdi
callq 0xdf50
leaq 0x80f(%rsp), %rdi
callq 0xdf30
leaq 0x838(%rsp), %rdi
callq 0xdf50
leaq 0x837(%rsp), %rdi
callq 0xdf30
leaq 0x860(%rsp), %rdi
callq 0xdf50
leaq 0x85f(%rsp), %rdi
callq 0xdf30
leaq 0x7bf(%rsp), %rdi
movq %rdi, 0x1a8(%rsp)
callq 0xdc30
movq 0x1a8(%rsp), %rdx
leaq 0x9f601(%rip), %rsi     # 0xbfa77
leaq 0x7c0(%rsp), %rdi
callq 0xdad0
jmp 0x20485
leaq 0xcec94(%rip), %rdi     # 0xef120
leaq 0x7c0(%rsp), %rsi
callq 0x255e0
movq %rax, 0x1a0(%rsp)
jmp 0x204a3
leaq 0x797(%rsp), %rdi
movq %rdi, 0x198(%rsp)
callq 0xdc30
movq 0x198(%rsp), %rdx
leaq 0x9f5a7(%rip), %rsi     # 0xbfa6e
leaq 0x798(%rsp), %rdi
callq 0xdad0
jmp 0x204d6
movq 0x1a0(%rsp), %rdi
leaq 0x798(%rsp), %rsi
leaq 0x8a8(%rsp), %rdx
callq 0x23cf0
jmp 0x204f5
leaq 0x798(%rsp), %rdi
callq 0xdf50
leaq 0x797(%rsp), %rdi
callq 0xdf30
leaq 0x7c0(%rsp), %rdi
callq 0xdf50
leaq 0x7bf(%rsp), %rdi
callq 0xdf30
leaq 0x76f(%rsp), %rdi
movq %rdi, 0x190(%rsp)
callq 0xdc30
movq 0x190(%rsp), %rdx
leaq 0x9f53f(%rip), %rsi     # 0xbfa8c
leaq 0x770(%rsp), %rdi
callq 0xdad0
jmp 0x2055c
leaq 0xcebbd(%rip), %rdi     # 0xef120
leaq 0x770(%rsp), %rsi
callq 0x255e0
movq %rax, 0x188(%rsp)
jmp 0x2057a
leaq 0x747(%rsp), %rdi
movq %rdi, 0x180(%rsp)
callq 0xdc30
movq 0x180(%rsp), %rdx
leaq 0x9f4d0(%rip), %rsi     # 0xbfa6e
leaq 0x748(%rsp), %rdi
callq 0xdad0
jmp 0x205ad
movq 0x188(%rsp), %rdi
leaq 0x748(%rsp), %rsi
leaq 0x8a8(%rsp), %rdx
callq 0x23cf0
jmp 0x205cc
leaq 0x748(%rsp), %rdi
callq 0xdf50
leaq 0x747(%rsp), %rdi
callq 0xdf30
leaq 0x770(%rsp), %rdi
callq 0xdf50
leaq 0x76f(%rsp), %rdi
callq 0xdf30
leaq 0x71f(%rsp), %rdi
movq %rdi, 0x178(%rsp)
callq 0xdc30
movq 0x178(%rsp), %rdx
leaq 0x9f391(%rip), %rsi     # 0xbf9b5
leaq 0x720(%rsp), %rdi
callq 0xdad0
jmp 0x20633
leaq 0xceae6(%rip), %rdi     # 0xef120
leaq 0x720(%rsp), %rsi
callq 0x255e0
movq %rax, 0x170(%rsp)
jmp 0x20651
leaq 0x6f7(%rsp), %rdi
movq %rdi, 0x168(%rsp)
callq 0xdc30
movq 0x168(%rsp), %rdx
leaq 0x9f421(%rip), %rsi     # 0xbfa96
leaq 0x6f8(%rsp), %rdi
callq 0xdad0
jmp 0x20684
leaq 0x6d0(%rsp), %rdi
movabsq $0x3a64f8340e, %rsi     # imm = 0x3A64F8340E
callq 0x25850
jmp 0x2069d
movq 0x170(%rsp), %rdi
leaq 0x6f8(%rsp), %rsi
leaq 0x6d0(%rsp), %rdx
callq 0x23cf0
jmp 0x206bc
leaq 0x6d0(%rsp), %rdi
callq 0xdf50
leaq 0x6f8(%rsp), %rdi
callq 0xdf50
leaq 0x6f7(%rsp), %rdi
callq 0xdf30
leaq 0x720(%rsp), %rdi
callq 0xdf50
leaq 0x71f(%rsp), %rdi
callq 0xdf30
leaq 0xce844(%rip), %rdi     # 0xeef48
callq 0x146c0
movq %rax, 0x160(%rsp)
jmp 0x20713
leaq 0x6a7(%rsp), %rdi
movq %rdi, 0x158(%rsp)
callq 0xdc30
movq 0x158(%rsp), %rdx
leaq 0x9f36a(%rip), %rsi     # 0xbfaa1
leaq 0x6a8(%rsp), %rdi
callq 0xdad0
jmp 0x20746
movq 0x160(%rsp), %rdi
leaq 0x6a8(%rsp), %rsi
callq 0x23990
movb %al, 0x157(%rsp)
jmp 0x20764
leaq 0x6a8(%rsp), %rdi
callq 0xdf50
leaq 0x6a7(%rsp), %rdi
callq 0xdf30
movb 0x157(%rsp), %al
andb $0x1, %al
movb %al, 0x6cf(%rsp)
movb $0x0, 0x6cf(%rsp)
leaq 0x67f(%rsp), %rdi
movq %rdi, 0x148(%rsp)
callq 0xdc30
movq 0x148(%rsp), %rdx
leaq 0x9f2f9(%rip), %rsi     # 0xbfab3
leaq 0x680(%rsp), %rdi
callq 0xdad0
jmp 0x207c9
leaq 0xce950(%rip), %rdi     # 0xef120
leaq 0x680(%rsp), %rsi
callq 0x255e0
movq %rax, 0x140(%rsp)
jmp 0x207e7
leaq 0x657(%rsp), %rdi
movq %rdi, 0x138(%rsp)
callq 0xdc30
movq 0x138(%rsp), %rdx
leaq 0x9f2b2(%rip), %rsi     # 0xbfabd
leaq 0x658(%rsp), %rdi
callq 0xdad0
jmp 0x2081a
movq 0x140(%rsp), %rdi
movzbl 0x6cf(%rsp), %edx
andl $0x1, %edx
leaq 0x658(%rsp), %rsi
callq 0x23bf0
movq %rax, 0x130(%rsp)
jmp 0x20844
leaq 0x62f(%rsp), %rdi
movq %rdi, 0x128(%rsp)
callq 0xdc30
movq 0x128(%rsp), %rdx
leaq 0x9f261(%rip), %rsi     # 0xbfac9
leaq 0x630(%rsp), %rdi
callq 0xdad0
jmp 0x20877
leaq 0xce6ca(%rip), %rdi     # 0xeef48
callq 0x146c0
movq %rax, 0x120(%rsp)
jmp 0x2088d
leaq 0x607(%rsp), %rdi
movq %rdi, 0x118(%rsp)
callq 0xdc30
movq 0x118(%rsp), %rdx
leaq 0x9f18d(%rip), %rsi     # 0xbfa3e
leaq 0x608(%rsp), %rdi
callq 0xdad0
jmp 0x208c0
movq 0x120(%rsp), %rdi
leaq 0x608(%rsp), %rsi
callq 0x148c0
movq %rax, 0x110(%rsp)
jmp 0x208df
movq 0x110(%rsp), %rdx
movq 0x130(%rsp), %rdi
leaq 0x630(%rsp), %rsi
callq 0x23cf0
movq %rax, 0x108(%rsp)
jmp 0x20906
leaq 0x5df(%rsp), %rdi
movq %rdi, 0x100(%rsp)
callq 0xdc30
movq 0x100(%rsp), %rdx
leaq 0x9f1a4(%rip), %rsi     # 0xbface
leaq 0x5e0(%rsp), %rdi
callq 0xdad0
jmp 0x20939
leaq 0xce608(%rip), %rdi     # 0xeef48
callq 0x146c0
movq %rax, 0xf8(%rsp)
jmp 0x2094f
leaq 0x5b7(%rsp), %rdi
movq %rdi, 0xf0(%rsp)
callq 0xdc30
movq 0xf0(%rsp), %rdx
leaq 0x9f162(%rip), %rsi     # 0xbfad5
leaq 0x5b8(%rsp), %rdi
callq 0xdad0
jmp 0x20982
movq 0xf8(%rsp), %rdi
leaq 0x5b8(%rsp), %rsi
callq 0x148c0
movq %rax, 0xe8(%rsp)
jmp 0x209a1
movq 0xe8(%rsp), %rdx
movq 0x108(%rsp), %rdi
leaq 0x5e0(%rsp), %rsi
callq 0x23cf0
jmp 0x209c0
leaq 0x5b8(%rsp), %rdi
callq 0xdf50
leaq 0x5b7(%rsp), %rdi
callq 0xdf30
leaq 0x5e0(%rsp), %rdi
callq 0xdf50
leaq 0x5df(%rsp), %rdi
callq 0xdf30
leaq 0x608(%rsp), %rdi
callq 0xdf50
leaq 0x607(%rsp), %rdi
callq 0xdf30
leaq 0x630(%rsp), %rdi
callq 0xdf50
leaq 0x62f(%rsp), %rdi
callq 0xdf30
leaq 0x658(%rsp), %rdi
callq 0xdf50
leaq 0x657(%rsp), %rdi
callq 0xdf30
leaq 0x680(%rsp), %rdi
callq 0xdf50
leaq 0x67f(%rsp), %rdi
callq 0xdf30
leaq 0xce4e5(%rip), %rdi     # 0xeef48
callq 0x146c0
movq %rax, 0xe0(%rsp)
jmp 0x20a72
leaq 0x58f(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0xdc30
movq 0xd8(%rsp), %rdx
leaq 0x9edfa(%rip), %rsi     # 0xbf890
leaq 0x590(%rsp), %rdi
callq 0xdad0
jmp 0x20aa5
movq 0xe0(%rsp), %rdi
leaq 0x590(%rsp), %rsi
callq 0x148c0
movq %rax, 0xd0(%rsp)
jmp 0x20ac4
movq 0xd0(%rsp), %rdi
leaq 0xce5dd(%rip), %rsi     # 0xef0b0
callq 0x142f0
jmp 0x20ada
leaq 0x590(%rsp), %rdi
callq 0xdf50
leaq 0x58f(%rsp), %rdi
callq 0xdf30
leaq 0xce44d(%rip), %rdi     # 0xeef48
callq 0x146c0
movq %rax, 0xc8(%rsp)
jmp 0x20b0a
leaq 0x567(%rsp), %rdi
movq %rdi, 0xc0(%rsp)
callq 0xdc30
movq 0xc0(%rsp), %rdx
leaq 0x9ed76(%rip), %rsi     # 0xbf8a4
leaq 0x568(%rsp), %rdi
callq 0xdad0
jmp 0x20b3d
movq 0xc8(%rsp), %rdi
leaq 0x568(%rsp), %rsi
callq 0x148c0
movq %rax, 0xb8(%rsp)
jmp 0x20b5c
movq 0xb8(%rsp), %rdi
leaq 0xce50d(%rip), %rsi     # 0xef078
callq 0x142f0
jmp 0x20b72
leaq 0x568(%rsp), %rdi
callq 0xdf50
leaq 0x567(%rsp), %rdi
callq 0xdf30
leaq 0xce51d(%rip), %rdi     # 0xef0b0
callq 0x25950
movq %rax, 0xb0(%rsp)
leaq 0xce4d1(%rip), %rdi     # 0xef078
callq 0x25950
movq 0xb0(%rsp), %rsi
movq %rax, %rdx
leaq 0x9ef35(%rip), %rdi     # 0xbfaf3
xorl %eax, %eax
callq 0x11920
jmp 0x20bc7
leaq 0x12b2(%rip), %rsi      # 0x21e80
xorl %eax, %eax
movl %eax, %edi
callq 0xb5e90
movq %rax, 0xa8(%rsp)
jmp 0x20be1
movq 0xa8(%rsp), %rax
movq %rax, 0xce528(%rip)     # 0xef118
movq 0xce521(%rip), %rax     # 0xef118
movq %rax, 0x98(%rsp)
leaq 0xce342(%rip), %rdi     # 0xeef48
callq 0x146c0
movq %rax, 0xa0(%rsp)
jmp 0x20c15
leaq 0x51f(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0xdc30
movq 0x90(%rsp), %rdx
leaq 0x9eee9(%rip), %rsi     # 0xbfb22
leaq 0x520(%rsp), %rdi
callq 0xdad0
jmp 0x20c48
movq 0xa0(%rsp), %rdi
leaq 0x520(%rsp), %rsi
callq 0x14720
movl %eax, 0x8c(%rsp)
jmp 0x20c66
movl 0x8c(%rsp), %esi
leaq 0x540(%rsp), %rdi
callq 0x14c00
jmp 0x20c7c
leaq 0x540(%rsp), %rdi
callq 0xd190
movq 0x98(%rsp), %rdi
movq %rax, %rdx
leaq 0x9ee78(%rip), %rsi     # 0xbfb13
callq 0xb5660
jmp 0x20ca2
leaq 0x540(%rsp), %rdi
callq 0xdf50
leaq 0x520(%rsp), %rdi
callq 0xdf50
leaq 0x51f(%rsp), %rdi
callq 0xdf30
movq 0xce448(%rip), %rdi     # 0xef118
leaq 0x9ee3c(%rip), %rsi     # 0xbfb13
callq 0xb5e10
movq %rax, 0x80(%rsp)
jmp 0x20ce6
movq 0x80(%rsp), %rsi
leaq 0x9ee34(%rip), %rdi     # 0xbfb29
xorl %eax, %eax
callq 0x11920
jmp 0x20cfe
movq 0xce36b(%rip), %rdi     # 0xef070
callq 0xd6c0
jmp 0x20d0c
leaq 0xce2e5(%rip), %rdi     # 0xeeff8
callq 0xd980
leaq 0x2881(%rip), %rsi      # 0x235a0
movq %rsi, 0x78(%rsp)
movl $0xf, %edi
callq 0xd4b0
movq 0x78(%rsp), %rsi
movl $0x2, %edi
callq 0xd4b0
callq 0x1ae80
jmp 0x20d44
leaq 0x4f7(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0xdc30
movq 0x70(%rsp), %rdx
leaq 0x9ede2(%rip), %rsi     # 0xbfb44
leaq 0x4f8(%rsp), %rdi
callq 0xdad0
jmp 0x20d71
leaq 0x4f8(%rsp), %rdi
movl $0x1, %esi
callq 0x1aec0
jmp 0x20d85
leaq 0x4f8(%rsp), %rdi
callq 0xdf50
leaq 0x4f7(%rsp), %rdi
callq 0xdf30
leaq 0x4cf(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0xdc30
movq 0x68(%rsp), %rdx
leaq 0x9ed93(%rip), %rsi     # 0xbfb50
leaq 0x4d0(%rsp), %rdi
callq 0xdad0
jmp 0x20dcc
leaq 0x4d0(%rsp), %rdi
movl $0x2, %esi
callq 0x1aec0
jmp 0x20de0
leaq 0x4d0(%rsp), %rdi
callq 0xdf50
leaq 0x4cf(%rsp), %rdi
callq 0xdf30
leaq 0x4a7(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0xdc30
movq 0x60(%rsp), %rdx
leaq 0x9ed44(%rip), %rsi     # 0xbfb5c
leaq 0x4a8(%rsp), %rdi
callq 0xdad0
jmp 0x20e27
leaq 0x4a8(%rsp), %rdi
movl $0x64, %esi
callq 0x1aec0
jmp 0x20e3b
leaq 0x4a8(%rsp), %rdi
callq 0xdf50
leaq 0x4a7(%rsp), %rdi
callq 0xdf30
leaq 0x47f(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0xdc30
movq 0x58(%rsp), %rdx
leaq 0x9ecf5(%rip), %rsi     # 0xbfb68
leaq 0x480(%rsp), %rdi
callq 0xdad0
jmp 0x20e82
leaq 0x480(%rsp), %rdi
movl $0x65, %esi
callq 0x1aec0
jmp 0x20e96
leaq 0x480(%rsp), %rdi
callq 0xdf50
leaq 0x47f(%rsp), %rdi
callq 0xdf30
leaq 0x457(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0xdc30
movq 0x50(%rsp), %rdx
leaq 0x9eca9(%rip), %rsi     # 0xbfb77
leaq 0x458(%rsp), %rdi
callq 0xdad0
jmp 0x20edd
leaq 0x458(%rsp), %rdi
movl $0x66, %esi
callq 0x1aec0
jmp 0x20ef1
leaq 0x458(%rsp), %rdi
callq 0xdf50
leaq 0x457(%rsp), %rdi
callq 0xdf30
leaq 0x42f(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0xdc30
movq 0x48(%rsp), %rdx
leaq 0x9ec54(%rip), %rsi     # 0xbfb7d
leaq 0x430(%rsp), %rdi
callq 0xdad0
jmp 0x20f38
leaq 0x430(%rsp), %rdi
movl $0x67, %esi
callq 0x1aec0
jmp 0x20f4c
leaq 0x430(%rsp), %rdi
callq 0xdf50
leaq 0x42f(%rsp), %rdi
callq 0xdf30
leaq 0x407(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0xdc30
movq 0x40(%rsp), %rdx
leaq 0x9ec06(%rip), %rsi     # 0xbfb8a
leaq 0x408(%rsp), %rdi
callq 0xdad0
jmp 0x20f93
leaq 0x408(%rsp), %rdi
movl $0x68, %esi
callq 0x1aec0
jmp 0x20fa7
leaq 0x408(%rsp), %rdi
callq 0xdf50
leaq 0x407(%rsp), %rdi
callq 0xdf30
leaq 0x3df(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0xdc30
movq 0x38(%rsp), %rdx
leaq 0x9ebb8(%rip), %rsi     # 0xbfb97
leaq 0x3e0(%rsp), %rdi
callq 0xdad0
jmp 0x20fee
leaq 0x3e0(%rsp), %rdi
movl $0xc8, %esi
callq 0x1aec0
jmp 0x21002
leaq 0x3e0(%rsp), %rdi
callq 0xdf50
leaq 0x3df(%rsp), %rdi
callq 0xdf30
leaq 0x3b7(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xdc30
movq 0x30(%rsp), %rdx
leaq 0x9eb64(%rip), %rsi     # 0xbfb9e
leaq 0x3b8(%rsp), %rdi
callq 0xdad0
jmp 0x21049
leaq 0x3b8(%rsp), %rdi
movl $0x1f5, %esi            # imm = 0x1F5
callq 0x1aec0
jmp 0x2105d
leaq 0x3b8(%rsp), %rdi
callq 0xdf50
leaq 0x3b7(%rsp), %rdi
callq 0xdf30
leaq 0x38f(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xdc30
movq 0x28(%rsp), %rdx
leaq 0x9eb12(%rip), %rsi     # 0xbfba7
leaq 0x390(%rsp), %rdi
callq 0xdad0
jmp 0x210a4
leaq 0x390(%rsp), %rdi
movl $0x1f6, %esi            # imm = 0x1F6
callq 0x1aec0
jmp 0x210b8
leaq 0x390(%rsp), %rdi
callq 0xdf50
leaq 0x38f(%rsp), %rdi
callq 0xdf30
leaq 0x367(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xdc30
movq 0x20(%rsp), %rdx
leaq 0x9eac0(%rip), %rsi     # 0xbfbb0
leaq 0x368(%rsp), %rdi
callq 0xdad0
jmp 0x210ff
leaq 0x368(%rsp), %rdi
movl $0x3, %esi
callq 0x1aec0
jmp 0x21113
leaq 0x368(%rsp), %rdi
callq 0xdf50
leaq 0x367(%rsp), %rdi
callq 0xdf30
leaq 0x33f(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xdc30
movq 0x18(%rsp), %rdx
leaq 0x9ea73(%rip), %rsi     # 0xbfbbe
leaq 0x340(%rsp), %rdi
callq 0xdad0
jmp 0x2115a
leaq 0x340(%rsp), %rdi
movl $0x4, %esi
callq 0x1aec0
jmp 0x2116e
leaq 0x340(%rsp), %rdi
callq 0xdf50
leaq 0x33f(%rsp), %rdi
callq 0xdf30
leaq 0x317(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xdc30
movq 0x10(%rsp), %rdx
leaq 0x9ea30(%rip), %rsi     # 0xbfbd6
leaq 0x318(%rsp), %rdi
callq 0xdad0
jmp 0x211b5
leaq 0x318(%rsp), %rdi
movl $0x1f7, %esi            # imm = 0x1F7
callq 0x1aec0
jmp 0x211c9
leaq 0x318(%rsp), %rdi
callq 0xdf50
leaq 0x317(%rsp), %rdi
callq 0xdf30
leaq 0x2ef(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xdc30
movq 0x8(%rsp), %rdx
leaq 0x9e9e3(%rip), %rsi     # 0xbfbe4
leaq 0x2f0(%rsp), %rdi
callq 0xdad0
jmp 0x21210
leaq 0x2f0(%rsp), %rdi
movl $0x1f8, %esi            # imm = 0x1F8
callq 0x1aec0
jmp 0x21224
leaq 0x2f0(%rsp), %rdi
callq 0xdf50
leaq 0x2ef(%rsp), %rdi
callq 0xdf30
leaq 0x2c7(%rsp), %rdi
movq %rdi, (%rsp)
callq 0xdc30
movq (%rsp), %rdx
leaq 0x9e997(%rip), %rsi     # 0xbfbf1
leaq 0x2c8(%rsp), %rdi
callq 0xdad0
jmp 0x21269
leaq 0x2c8(%rsp), %rdi
movl $0x1f9, %esi            # imm = 0x1F9
callq 0x1aec0
jmp 0x2127d
leaq 0x2c8(%rsp), %rdi
callq 0xdf50
leaq 0x2c7(%rsp), %rdi
callq 0xdf30
cmpl $0x0, 0xcded2(%rip)     # 0xef170
jne 0x21dee
movq 0xcde6d(%rip), %rdi     # 0xef118
movl $0x3e8, %esi            # imm = 0x3E8
callq 0xb4de0
jmp 0x212b7
jmp 0x21297
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21313
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21306
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x8f0(%rsp), %rdi
callq 0xdf50
leaq 0x8d0(%rsp), %rdi
callq 0xdf50
leaq 0x8cf(%rsp), %rdi
callq 0xdf30
jmp 0x21e58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x2137f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21372
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x886(%rsp), %rdi
callq 0xdf30
leaq 0x888(%rsp), %rdi
callq 0xdf50
leaq 0x887(%rsp), %rdi
callq 0xdf30
jmp 0x21e58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x214a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21499
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x2148c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x2147f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21472
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21465
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21458
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x7e8(%rsp), %rdi
callq 0xdf50
leaq 0x7e7(%rsp), %rdi
callq 0xdf30
leaq 0x810(%rsp), %rdi
callq 0xdf50
leaq 0x80f(%rsp), %rdi
callq 0xdf30
leaq 0x838(%rsp), %rdi
callq 0xdf50
leaq 0x837(%rsp), %rdi
callq 0xdf30
leaq 0x860(%rsp), %rdi
callq 0xdf50
leaq 0x85f(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21535
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21528
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x2151b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x798(%rsp), %rdi
callq 0xdf50
leaq 0x797(%rsp), %rdi
callq 0xdf30
leaq 0x7c0(%rsp), %rdi
callq 0xdf50
leaq 0x7bf(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x215c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x215b7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x215aa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x748(%rsp), %rdi
callq 0xdf50
leaq 0x747(%rsp), %rdi
callq 0xdf30
leaq 0x770(%rsp), %rdi
callq 0xdf50
leaq 0x76f(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21679
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x2166c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x2165f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21652
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x6d0(%rsp), %rdi
callq 0xdf50
leaq 0x6f8(%rsp), %rdi
callq 0xdf50
leaq 0x6f7(%rsp), %rdi
callq 0xdf30
leaq 0x720(%rsp), %rdi
callq 0xdf50
leaq 0x71f(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x216db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x6a8(%rsp), %rdi
callq 0xdf50
leaq 0x6a7(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x2189a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x2188d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21880
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21873
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21866
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21859
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x2184c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x2183f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21832
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21825
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21818
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x5b8(%rsp), %rdi
callq 0xdf50
leaq 0x5b7(%rsp), %rdi
callq 0xdf30
leaq 0x5e0(%rsp), %rdi
callq 0xdf50
leaq 0x5df(%rsp), %rdi
callq 0xdf30
leaq 0x608(%rsp), %rdi
callq 0xdf50
leaq 0x607(%rsp), %rdi
callq 0xdf30
leaq 0x630(%rsp), %rdi
callq 0xdf50
leaq 0x62f(%rsp), %rdi
callq 0xdf30
leaq 0x658(%rsp), %rdi
callq 0xdf50
leaq 0x657(%rsp), %rdi
callq 0xdf30
leaq 0x680(%rsp), %rdi
callq 0xdf50
leaq 0x67f(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x218e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x590(%rsp), %rdi
callq 0xdf50
leaq 0x58f(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x2192c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x568(%rsp), %rdi
callq 0xdf50
leaq 0x567(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21998
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x2198b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x540(%rsp), %rdi
callq 0xdf50
leaq 0x520(%rsp), %rdi
callq 0xdf50
leaq 0x51f(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x219e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x4f8(%rsp), %rdi
callq 0xdf50
leaq 0x4f7(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21a2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x4d0(%rsp), %rdi
callq 0xdf50
leaq 0x4cf(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21a73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x4a8(%rsp), %rdi
callq 0xdf50
leaq 0x4a7(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21abc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x480(%rsp), %rdi
callq 0xdf50
leaq 0x47f(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21b05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x458(%rsp), %rdi
callq 0xdf50
leaq 0x457(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21b4e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x430(%rsp), %rdi
callq 0xdf50
leaq 0x42f(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21b97
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x408(%rsp), %rdi
callq 0xdf50
leaq 0x407(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21be0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x3e0(%rsp), %rdi
callq 0xdf50
leaq 0x3df(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21c29
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x3b8(%rsp), %rdi
callq 0xdf50
leaq 0x3b7(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21c72
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x390(%rsp), %rdi
callq 0xdf50
leaq 0x38f(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21cbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x368(%rsp), %rdi
callq 0xdf50
leaq 0x367(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21d04
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x340(%rsp), %rdi
callq 0xdf50
leaq 0x33f(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21d4d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x318(%rsp), %rdi
callq 0xdf50
leaq 0x317(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21d96
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x2f0(%rsp), %rdi
callq 0xdf50
leaq 0x2ef(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
jmp 0x21ddf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xaa8(%rsp)
movl %eax, 0xaa4(%rsp)
leaq 0x2c8(%rsp), %rdi
callq 0xdf50
leaq 0x2c7(%rsp), %rdi
callq 0xdf30
jmp 0x21e4b
leaq 0xcd323(%rip), %rdi     # 0xef118
callq 0xb4e10
jmp 0x21dfc
movq 0xcd1ed(%rip), %rdi     # 0xeeff0
callq 0x54900
jmp 0x21e0a
movl $0x0, 0xae4(%rsp)
leaq 0x8a8(%rsp), %rdi
callq 0xdf50
leaq 0xa38(%rsp), %rdi
callq 0xdf50
leaq 0xab8(%rsp), %rdi
callq 0xdf50
movl 0xae4(%rsp), %eax
addq $0xae8, %rsp            # imm = 0xAE8
retq
leaq 0x8a8(%rsp), %rdi
callq 0xdf50
leaq 0xa38(%rsp), %rdi
callq 0xdf50
leaq 0xab8(%rsp), %rdi
callq 0xdf50
movq 0xaa8(%rsp), %rdi
callq 0xd8a0
nop