// File: /workspace/github_c_makefile_star2_O1/erikdubbelboer[P]discnt/src/config.c
// Function: configGetCommand
void configGetCommand(client *c) {
    robj *o = c->argv[2];
    void *replylen = addDeferredMultiBulkLength(c);
    char *pattern = o->ptr;
    char buf[128];
    int matches = 0;
    serverAssertWithInfo(c,o,sdsEncodedObject(o));

    /* String values */
    config_get_string_field("dbfilename",server.ddb_filename);
    config_get_string_field("requirepass",server.requirepass);
    config_get_string_field("unixsocket",server.unixsocket);
    config_get_string_field("logfile",server.logfile);
    config_get_string_field("pidfile",server.pidfile);

    /* Numerical values */
    config_get_numerical_field("maxmemory",server.maxmemory);
    config_get_numerical_field("timeout",server.maxidletime);
    config_get_numerical_field("latency-monitor-threshold",
            server.latency_monitor_threshold);
    config_get_numerical_field("port",server.port);
    config_get_numerical_field("tcp-backlog",server.tcp_backlog);
    config_get_numerical_field("maxclients",server.maxclients);
    config_get_numerical_field("watchdog-period",server.watchdog_period);
    config_get_numerical_field("hz",server.hz);
    config_get_numerical_field("cluster-node-timeout",server.cluster_node_timeout);
    config_get_numerical_field("history-size",server.history_size);

    /* Bool (yes/no) values */
    config_get_bool_field("stop-writes-on-bgsave-error",
            server.stop_writes_on_bgsave_err);
    config_get_bool_field("tcp-keepalive",server.tcpkeepalive);
    config_get_bool_field("daemonize", server.daemonize);
    config_get_bool_field("ddbchecksum", server.ddb_checksum);
    config_get_bool_field("activerehashing", server.activerehashing);

    /* Enum values */
    config_get_enum_field("loglevel",
            server.verbosity,loglevel_enum);
    config_get_enum_field("supervised",
            server.supervised_mode,supervised_mode_enum);
    config_get_enum_field("syslog-facility",
            server.syslog_facility,syslog_facility_enum);

    /* Everything we can't handle with macros follows. */

    if (stringmatch(pattern,"default-precision",0)) {
        d2string(buf,sizeof(buf),server.default_precision);
        addReplyBulkCString(c,"default-precision");
        addReplyBulkCString(c,buf);
        matches++;
    }
    if (stringmatch(pattern,"dir",0)) {
        char buf[1024];

        if (getcwd(buf,sizeof(buf)) == NULL)
            buf[0] = '\0';

        addReplyBulkCString(c,"dir");
        addReplyBulkCString(c,buf);
        matches++;
    }
    if (stringmatch(pattern,"save",0)) {
        sds buf = sdsempty();
        int j;

        for (j = 0; j < server.saveparamslen; j++) {
            buf = sdscatprintf(buf,"%jd %d",
                    (intmax_t)server.saveparams[j].seconds,
                    server.saveparams[j].changes);
            if (j != server.saveparamslen-1)
                buf = sdscatlen(buf," ",1);
        }
        addReplyBulkCString(c,"save");
        addReplyBulkCString(c,buf);
        sdsfree(buf);
        matches++;
    }
    if (stringmatch(pattern,"client-output-buffer-limit",0)) {
        sds buf = sdsempty();
        int j;

        for (j = 0; j < CLIENT_TYPE_COUNT; j++) {
            buf = sdscatprintf(buf,"%s %llu %llu %ld",
                    getClientTypeName(j),
                    server.client_obuf_limits[j].hard_limit_bytes,
                    server.client_obuf_limits[j].soft_limit_bytes,
                    (long) server.client_obuf_limits[j].soft_limit_seconds);
            if (j != CLIENT_TYPE_COUNT-1)
                buf = sdscatlen(buf," ",1);
        }
        addReplyBulkCString(c,"client-output-buffer-limit");
        addReplyBulkCString(c,buf);
        sdsfree(buf);
        matches++;
    }
    if (stringmatch(pattern,"unixsocketperm",0)) {
        char buf[32];
        snprintf(buf,sizeof(buf),"%o",server.unixsocketperm);
        addReplyBulkCString(c,"unixsocketperm");
        addReplyBulkCString(c,buf);
        matches++;
    }
    if (stringmatch(pattern,"bind",0)) {
        sds aux = sdsjoin(server.bindaddr,server.bindaddr_count," ");

        addReplyBulkCString(c,"bind");
        addReplyBulkCString(c,aux);
        sdsfree(aux);
        matches++;
    }
    setDeferredMultiBulkLength(c,replylen,matches*2);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x4a8, %rsp            # imm = 0x4A8
movq %rdi, %r15
movq 0x30(%rdi), %rax
movq 0x10(%rax), %r14
callq 0x225ef
movq %rax, 0x18(%rsp)
movl (%r14), %eax
shrl $0x4, %eax
testb $0xd, %al
jne 0x28cbb
movq 0x8(%r14), %r12
leaq 0x2d69d(%rip), %rsi     # 0x558b9
xorl %ebx, %ebx
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x28264
leaq 0x2d686(%rip), %rsi     # 0x558b9
movq %r15, %rdi
callq 0x22791
leaq 0x46e46(%rip), %rax     # 0x6f088
movq 0x6c8(%rax), %rax
testq %rax, %rax
leaq 0x2cfb2(%rip), %rsi     # 0x55205
cmovneq %rax, %rsi
movq %r15, %rdi
callq 0x22791
movl $0x1, %ebx
leaq 0x2d60a(%rip), %rsi     # 0x55875
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x282ab
leaq 0x2d5f5(%rip), %rsi     # 0x55875
movq %r15, %rdi
callq 0x22791
leaq 0x46df9(%rip), %rax     # 0x6f088
movq 0x48(%rax), %rax
testq %rax, %rax
leaq 0x2cf68(%rip), %rsi     # 0x55205
cmovneq %rax, %rsi
movq %r15, %rdi
callq 0x22791
incl %ebx
leaq 0x29e3d(%rip), %rsi     # 0x520ef
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x282f5
leaq 0x29e28(%rip), %rsi     # 0x520ef
movq %r15, %rdi
callq 0x22791
leaq 0x46db2(%rip), %rax     # 0x6f088
movq 0x148(%rax), %rax
testq %rax, %rax
leaq 0x2cf1e(%rip), %rsi     # 0x55205
cmovneq %rax, %rsi
movq %r15, %rdi
callq 0x22791
incl %ebx
leaq 0x2d41e(%rip), %rsi     # 0x5571a
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x2833f
leaq 0x2d409(%rip), %rsi     # 0x5571a
movq %r15, %rdi
callq 0x22791
leaq 0x46d68(%rip), %rax     # 0x6f088
movq 0x5f0(%rax), %rax
testq %rax, %rax
leaq 0x2ced4(%rip), %rsi     # 0x55205
cmovneq %rax, %rsi
movq %r15, %rdi
callq 0x22791
incl %ebx
leaq 0x2d56b(%rip), %rsi     # 0x558b1
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x28386
leaq 0x2d556(%rip), %rsi     # 0x558b1
movq %r15, %rdi
callq 0x22791
leaq 0x46d1e(%rip), %rax     # 0x6f088
movq 0x50(%rax), %rax
testq %rax, %rax
leaq 0x2ce8d(%rip), %rsi     # 0x55205
cmovneq %rax, %rsi
movq %r15, %rdi
callq 0x22791
incl %ebx
leaq 0x2d46c(%rip), %rsi     # 0x557f9
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x283d7
leaq 0x46ce6(%rip), %rax     # 0x6f088
movq 0x610(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x2535e
leaq 0x2d437(%rip), %rsi     # 0x557f9
movq %r15, %rdi
callq 0x22791
movq %r15, %rdi
movq %r14, %rsi
callq 0x22791
incl %ebx
leaq 0x2d593(%rip), %rsi     # 0x55971
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x28428
leaq 0x46c95(%rip), %rax     # 0x6f088
movslq 0x59c(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x2535e
leaq 0x2d55e(%rip), %rsi     # 0x55971
movq %r15, %rdi
callq 0x22791
movq %r15, %rdi
movq %r14, %rsi
callq 0x22791
incl %ebx
leaq 0x2d574(%rip), %rsi     # 0x559a3
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x28479
leaq 0x46c44(%rip), %rax     # 0x6f088
movq 0x670(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x2535e
leaq 0x2d53f(%rip), %rsi     # 0x559a3
movq %r15, %rdi
callq 0x22791
movq %r15, %rdi
movq %r14, %rsi
callq 0x22791
incl %ebx
leaq 0x2d19e(%rip), %rsi     # 0x5561e
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x284ca
leaq 0x46bf3(%rip), %rax     # 0x6f088
movslq 0xb4(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x2535e
leaq 0x2d169(%rip), %rsi     # 0x5561e
movq %r15, %rdi
callq 0x22791
movq %r15, %rdi
movq %r14, %rsi
callq 0x22791
incl %ebx
leaq 0x2d152(%rip), %rsi     # 0x55623
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x2851b
leaq 0x46ba2(%rip), %rax     # 0x6f088
movslq 0xb8(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x2535e
leaq 0x2d11d(%rip), %rsi     # 0x55623
movq %r15, %rdi
callq 0x22791
movq %r15, %rdi
movq %r14, %rsi
callq 0x22791
incl %ebx
leaq 0x2d2b2(%rip), %rsi     # 0x557d4
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x2856b
leaq 0x46b51(%rip), %rax     # 0x6f088
movl 0x60c(%rax), %edx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x2535e
leaq 0x2d27e(%rip), %rsi     # 0x557d4
movq %r15, %rdi
callq 0x22791
movq %r15, %rdi
movq %r14, %rsi
callq 0x22791
incl %ebx
leaq 0x2d70d(%rip), %rsi     # 0x55c7f
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x285bc
leaq 0x46b01(%rip), %rax     # 0x6f088
movslq 0x698(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x2535e
leaq 0x2d6d8(%rip), %rsi     # 0x55c7f
movq %r15, %rdi
callq 0x22791
movq %r15, %rdi
movq %r14, %rsi
callq 0x22791
incl %ebx
leaq 0x2d2af(%rip), %rsi     # 0x55872
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x2860a
leaq 0x46ab0(%rip), %rax     # 0x6f088
movslq 0x20(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x2535e
leaq 0x2d27d(%rip), %rsi     # 0x55872
movq %r15, %rdi
callq 0x22791
movq %r15, %rdi
movq %r14, %rsi
callq 0x22791
incl %ebx
leaq 0x2d353(%rip), %rsi     # 0x55964
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x2865b
leaq 0x46a62(%rip), %rax     # 0x6f088
movq 0x658(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x2535e
leaq 0x2d31e(%rip), %rsi     # 0x55964
movq %r15, %rdi
callq 0x22791
movq %r15, %rdi
movq %r14, %rsi
callq 0x22791
incl %ebx
leaq 0x2d1cd(%rip), %rsi     # 0x5582f
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x286ab
leaq 0x46a11(%rip), %rax     # 0x6f088
movl 0x628(%rax), %edx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x2535e
leaq 0x2d199(%rip), %rsi     # 0x5582f
movq %r15, %rdi
callq 0x22791
movq %r15, %rdi
movq %r14, %rsi
callq 0x22791
incl %ebx
leaq 0x2d3a2(%rip), %rsi     # 0x55a54
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x286f9
leaq 0x2d38d(%rip), %rsi     # 0x55a54
movq %r15, %rdi
callq 0x22791
leaq 0x469b2(%rip), %rax     # 0x6f088
cmpl $0x0, 0x700(%rax)
leaq 0x2c8a8(%rip), %rax     # 0x54f8c
leaq 0x2c89d(%rip), %rsi     # 0x54f88
cmoveq %rax, %rsi
movq %r15, %rdi
callq 0x22791
incl %ebx
leaq 0x2ceec(%rip), %rsi     # 0x555ec
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x28747
leaq 0x2ced7(%rip), %rsi     # 0x555ec
movq %r15, %rdi
callq 0x22791
leaq 0x46964(%rip), %rax     # 0x6f088
cmpl $0x0, 0x5a0(%rax)
leaq 0x2c85a(%rip), %rax     # 0x54f8c
leaq 0x2c84f(%rip), %rsi     # 0x54f88
cmoveq %rax, %rsi
movq %r15, %rdi
callq 0x22791
incl %ebx
leaq 0x2d11a(%rip), %rsi     # 0x55868
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x28795
leaq 0x2d105(%rip), %rsi     # 0x55868
movq %r15, %rdi
callq 0x22791
leaq 0x46916(%rip), %rax     # 0x6f088
cmpl $0x0, 0x5b8(%rax)
leaq 0x2c80c(%rip), %rax     # 0x54f8c
leaq 0x2c801(%rip), %rsi     # 0x54f88
cmoveq %rax, %rsi
movq %r15, %rdi
callq 0x22791
incl %ebx
leaq 0x2d0b0(%rip), %rsi     # 0x5584c
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x287e3
leaq 0x2d09b(%rip), %rsi     # 0x5584c
movq %r15, %rdi
callq 0x22791
leaq 0x468c8(%rip), %rax     # 0x6f088
cmpl $0x0, 0x6d4(%rax)
leaq 0x2c7be(%rip), %rax     # 0x54f8c
leaq 0x2c7b3(%rip), %rsi     # 0x54f88
cmoveq %rax, %rsi
movq %r15, %rdi
callq 0x22791
incl %ebx
leaq 0x2d06e(%rip), %rsi     # 0x55858
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x2882e
leaq 0x2d059(%rip), %rsi     # 0x55858
movq %r15, %rdi
callq 0x22791
leaq 0x4687a(%rip), %rax     # 0x6f088
cmpl $0x0, 0x44(%rax)
leaq 0x2c773(%rip), %rax     # 0x54f8c
leaq 0x2c768(%rip), %rsi     # 0x54f88
cmoveq %rax, %rsi
movq %r15, %rdi
callq 0x22791
incl %ebx
leaq 0x2ce9a(%rip), %rsi     # 0x556cf
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x288aa
leaq 0x2ce85(%rip), %rsi     # 0x556cf
movq %r15, %rdi
callq 0x22791
movq 0x46657(%rip), %rax     # 0x6eeb0
testq %rax, %rax
je 0x28890
leaq 0x46823(%rip), %rcx     # 0x6f088
movl 0x598(%rcx), %ecx
cmpl %ecx, 0x46647(%rip)     # 0x6eeb8
je 0x28892
leaq 0x4664e(%rip), %rdx     # 0x6eec8
movq -0x8(%rdx), %rax
testq %rax, %rax
je 0x28890
leaq 0x10(%rdx), %rsi
cmpl %ecx, (%rdx)
movq %rsi, %rdx
jne 0x2887a
jmp 0x28892
xorl %eax, %eax
testq %rax, %rax
leaq 0x2cc26(%rip), %rsi     # 0x554c2
cmovneq %rax, %rsi
movq %r15, %rdi
callq 0x22791
incl %ebx
leaq 0x2d1bf(%rip), %rsi     # 0x55a70
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x28926
leaq 0x2d1aa(%rip), %rsi     # 0x55a70
movq %r15, %rdi
callq 0x22791
movq 0x4662b(%rip), %rax     # 0x6ef00
testq %rax, %rax
je 0x2890c
leaq 0x467a7(%rip), %rcx     # 0x6f088
movl 0x5b4(%rcx), %ecx
cmpl %ecx, 0x4661b(%rip)     # 0x6ef08
je 0x2890e
leaq 0x46622(%rip), %rdx     # 0x6ef18
movq -0x8(%rdx), %rax
testq %rax, %rax
je 0x2890c
leaq 0x10(%rdx), %rsi
cmpl %ecx, (%rdx)
movq %rsi, %rdx
jne 0x288f6
jmp 0x2890e
xorl %eax, %eax
testq %rax, %rax
leaq 0x2cbaa(%rip), %rsi     # 0x554c2
cmovneq %rax, %rsi
movq %r15, %rdi
callq 0x22791
incl %ebx
leaq 0x2ce4c(%rip), %rsi     # 0x55779
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x289a2
leaq 0x2ce37(%rip), %rsi     # 0x55779
movq %r15, %rdi
callq 0x22791
movq 0x464bf(%rip), %rax     # 0x6ee10
testq %rax, %rax
je 0x28988
leaq 0x4672b(%rip), %rcx     # 0x6f088
movl 0x608(%rcx), %ecx
cmpl %ecx, 0x464af(%rip)     # 0x6ee18
je 0x2898a
leaq 0x464b6(%rip), %rdx     # 0x6ee28
movq -0x8(%rdx), %rax
testq %rax, %rax
je 0x28988
leaq 0x10(%rdx), %rsi
cmpl %ecx, (%rdx)
movq %rsi, %rdx
jne 0x28972
jmp 0x2898a
xorl %eax, %eax
testq %rax, %rax
leaq 0x2cb2e(%rip), %rsi     # 0x554c2
cmovneq %rax, %rsi
movq %r15, %rdi
callq 0x22791
incl %ebx
leaq 0x2ce5a(%rip), %rsi     # 0x55803
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x289f4
leaq 0x466ca(%rip), %rax     # 0x6f088
movsd 0x620(%rax), %xmm0
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x25559
leaq 0x2ce24(%rip), %rsi     # 0x55803
movq %r15, %rdi
callq 0x22791
movq %r15, %rdi
movq %r14, %rsi
callq 0x22791
incl %ebx
leaq 0x2ccb8(%rip), %rsi     # 0x556b3
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x28a49
leaq 0xa0(%rsp), %rdi
movl $0x400, %esi            # imm = 0x400
callq 0x123a0
testq %rax, %rax
jne 0x28a28
movb $0x0, 0xa0(%rsp)
leaq 0x2cc84(%rip), %rsi     # 0x556b3
movq %r15, %rdi
callq 0x22791
leaq 0xa0(%rsp), %rsi
movq %r15, %rdi
callq 0x22791
incl %ebx
leaq 0x3014d(%rip), %rsi     # 0x58b9d
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
movq %r12, 0x8(%rsp)
je 0x28b24
movq %rbx, (%rsp)
movq %r15, 0x10(%rsp)
callq 0x1de3f
movq %rax, %r13
leaq 0x46609(%rip), %rbx     # 0x6f088
cmpl $0x0, 0x6c0(%rbx)
jle 0x28af2
movl $0x8, %r12d
leaq 0x2d32a(%rip), %rbp     # 0x55dbf
leaq 0x2d33e(%rip), %r14     # 0x55dda
xorl %r15d, %r15d
movq 0x6b8(%rbx), %rax
movq -0x8(%rax,%r12), %rdx
movl (%rax,%r12), %ecx
movq %r13, %rdi
movq %rbp, %rsi
xorl %eax, %eax
callq 0x1eace
movq %rax, %r13
movl 0x6c0(%rbx), %eax
decl %eax
cmpq %rax, %r15
je 0x28adf
movl $0x1, %edx
movq %r13, %rdi
movq %r14, %rsi
callq 0x1e66d
movq %rax, %r13
incq %r15
movslq 0x6c0(%rbx), %rax
addq $0x10, %r12
cmpq %rax, %r15
jl 0x28a9f
leaq 0x300a4(%rip), %rsi     # 0x58b9d
movq 0x10(%rsp), %r15
movq %r15, %rdi
callq 0x22791
movq %r15, %rdi
movq %r13, %rsi
callq 0x22791
movq %r13, %rdi
callq 0x1ded3
movq (%rsp), %rbx
incl %ebx
movq 0x8(%rsp), %r12
leaq 0x2ceba(%rip), %rsi     # 0x559e5
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x28bdf
movq %rbx, (%rsp)
movl $0x5d0, %ebx            # imm = 0x5D0
addq 0x4546b(%rip), %rbx     # 0x6dfb8
callq 0x1de3f
movq %rax, %r13
leaq 0x2d26a(%rip), %rbp     # 0x55dc6
leaq 0x2d277(%rip), %r14     # 0x55dda
xorl %r12d, %r12d
movl %r12d, %edi
callq 0x24cf4
movq -0x10(%rbx), %rcx
movq -0x8(%rbx), %r8
movq (%rbx), %r9
movq %r13, %rdi
movq %rbp, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1eace
movq %rax, %r13
cmpq $0x1, %r12
je 0x28ba5
movl $0x1, %edx
movq %r13, %rdi
movq %r14, %rsi
callq 0x1e66d
movq %rax, %r13
incq %r12
addq $0x18, %rbx
cmpq $0x1, %r12
je 0x28b66
leaq 0x2ce2c(%rip), %rsi     # 0x559e5
movq %r15, %rdi
callq 0x22791
movq %r15, %rdi
movq %r13, %rsi
callq 0x22791
movq %r13, %rdi
callq 0x1ded3
movq (%rsp), %rbx
incl %ebx
movq 0x8(%rsp), %r12
leaq 0x2ca86(%rip), %rsi     # 0x5566c
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x28c3b
leaq 0x4648d(%rip), %rax     # 0x6f088
movl 0x150(%rax), %ecx
leaq 0x2d225(%rip), %rdx     # 0x55e2d
leaq 0xa0(%rsp), %r14
movl $0x20, %esi
movq %r14, %rdi
xorl %eax, %eax
callq 0x122d0
leaq 0x2ca46(%rip), %rsi     # 0x5566c
movq %r15, %rdi
callq 0x22791
movq %r15, %rdi
movq %r14, %rsi
callq 0x22791
incl %ebx
leaq 0x2ca03(%rip), %rsi     # 0x55645
movq %r12, %rdi
xorl %edx, %edx
callq 0x25080
testl %eax, %eax
je 0x28c97
leaq 0x46431(%rip), %rdi     # 0x6f088
movl 0x140(%rdi), %esi
addq $0xc0, %rdi
leaq 0x2d16f(%rip), %rdx     # 0x55dda
callq 0x1fd83
movq %rax, %r14
leaq 0x2c9cb(%rip), %rsi     # 0x55645
movq %r15, %rdi
callq 0x22791
movq %r15, %rdi
movq %r14, %rsi
callq 0x22791
movq %r14, %rdi
callq 0x1ded3
incl %ebx
addl %ebx, %ebx
movq %r15, %rdi
movq 0x18(%rsp), %rsi
movq %rbx, %rdx
callq 0x22615
addq $0x4a8, %rsp            # imm = 0x4A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2d0e9(%rip), %rdx     # 0x55dab
leaq 0x2cc5b(%rip), %rcx     # 0x55924
movq %r15, %rdi
movq %r14, %rsi
movl $0x2c8, %r8d            # imm = 0x2C8
callq 0x2a9bc
movl $0x1, %edi
callq 0x12120