// File: /workspace/github_c_makefile_star2_O2/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), %rbx
callq 0x1cd0d
movq %rax, 0x18(%rsp)
movl (%rbx), %eax
shrl $0x4, %eax
testb $0xd, %al
jne 0x225b8
movq 0x8(%rbx), %r12
leaq 0x2d576(%rip), %rsi     # 0x4f105
xorl %r14d, %r14d
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x21bd7
pushq $0x1
popq %r14
leaq 0x2d55a(%rip), %rsi     # 0x4f105
movq %r15, %rdi
callq 0x1ce65
leaq 0x484ce(%rip), %rax     # 0x6a088
movq 0x6c8(%rax), %rax
testq %rax, %rax
leaq 0x2cf82(%rip), %rsi     # 0x4eb4d
cmovneq %rax, %rsi
movq %r15, %rdi
callq 0x1ce65
leaq 0x2d4e3(%rip), %rsi     # 0x4f0c1
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x21c1f
leaq 0x2d4ce(%rip), %rsi     # 0x4f0c1
movq %r15, %rdi
callq 0x1ce65
leaq 0x48486(%rip), %rax     # 0x6a088
movq 0x48(%rax), %rax
testq %rax, %rax
leaq 0x2cf3d(%rip), %rsi     # 0x4eb4d
cmovneq %rax, %rsi
movq %r15, %rdi
callq 0x1ce65
incl %r14d
leaq 0x2a4c9(%rip), %rsi     # 0x4c0ef
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x21c6a
leaq 0x2a4b4(%rip), %rsi     # 0x4c0ef
movq %r15, %rdi
callq 0x1ce65
leaq 0x4843e(%rip), %rax     # 0x6a088
movq 0x148(%rax), %rax
testq %rax, %rax
leaq 0x2cef2(%rip), %rsi     # 0x4eb4d
cmovneq %rax, %rsi
movq %r15, %rdi
callq 0x1ce65
incl %r14d
leaq 0x2d2f5(%rip), %rsi     # 0x4ef66
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x21cb5
leaq 0x2d2e0(%rip), %rsi     # 0x4ef66
movq %r15, %rdi
callq 0x1ce65
leaq 0x483f3(%rip), %rax     # 0x6a088
movq 0x5f0(%rax), %rax
testq %rax, %rax
leaq 0x2cea7(%rip), %rsi     # 0x4eb4d
cmovneq %rax, %rsi
movq %r15, %rdi
callq 0x1ce65
incl %r14d
leaq 0x2d441(%rip), %rsi     # 0x4f0fd
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x21cfd
leaq 0x2d42c(%rip), %rsi     # 0x4f0fd
movq %r15, %rdi
callq 0x1ce65
leaq 0x483a8(%rip), %rax     # 0x6a088
movq 0x50(%rax), %rax
testq %rax, %rax
leaq 0x2ce5f(%rip), %rsi     # 0x4eb4d
cmovneq %rax, %rsi
movq %r15, %rdi
callq 0x1ce65
incl %r14d
leaq 0x2d341(%rip), %rsi     # 0x4f045
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x21d4f
leaq 0x4836f(%rip), %rax     # 0x6a088
movq 0x610(%rax), %rdx
leaq 0x20(%rsp), %rbx
movl $0x80, %esi
movq %rbx, %rdi
callq 0x1f363
leaq 0x2d30c(%rip), %rsi     # 0x4f045
movq %r15, %rdi
callq 0x1ce65
movq %r15, %rdi
movq %rbx, %rsi
callq 0x1ce65
incl %r14d
leaq 0x2d467(%rip), %rsi     # 0x4f1bd
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x21da1
leaq 0x4831d(%rip), %rax     # 0x6a088
movslq 0x59c(%rax), %rdx
leaq 0x20(%rsp), %rbx
movl $0x80, %esi
movq %rbx, %rdi
callq 0x1f363
leaq 0x2d432(%rip), %rsi     # 0x4f1bd
movq %r15, %rdi
callq 0x1ce65
movq %r15, %rdi
movq %rbx, %rsi
callq 0x1ce65
incl %r14d
leaq 0x2d447(%rip), %rsi     # 0x4f1ef
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x21df3
leaq 0x482cb(%rip), %rax     # 0x6a088
movq 0x670(%rax), %rdx
leaq 0x20(%rsp), %rbx
movl $0x80, %esi
movq %rbx, %rdi
callq 0x1f363
leaq 0x2d412(%rip), %rsi     # 0x4f1ef
movq %r15, %rdi
callq 0x1ce65
movq %r15, %rdi
movq %rbx, %rsi
callq 0x1ce65
incl %r14d
leaq 0x2d070(%rip), %rsi     # 0x4ee6a
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x21e45
leaq 0x48279(%rip), %rax     # 0x6a088
movslq 0xb4(%rax), %rdx
leaq 0x20(%rsp), %rbx
movl $0x80, %esi
movq %rbx, %rdi
callq 0x1f363
leaq 0x2d03b(%rip), %rsi     # 0x4ee6a
movq %r15, %rdi
callq 0x1ce65
movq %r15, %rdi
movq %rbx, %rsi
callq 0x1ce65
incl %r14d
leaq 0x2d023(%rip), %rsi     # 0x4ee6f
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x21e97
leaq 0x48227(%rip), %rax     # 0x6a088
movslq 0xb8(%rax), %rdx
leaq 0x20(%rsp), %rbx
movl $0x80, %esi
movq %rbx, %rdi
callq 0x1f363
leaq 0x2cfee(%rip), %rsi     # 0x4ee6f
movq %r15, %rdi
callq 0x1ce65
movq %r15, %rdi
movq %rbx, %rsi
callq 0x1ce65
incl %r14d
leaq 0x2d182(%rip), %rsi     # 0x4f020
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x21ee8
leaq 0x481d5(%rip), %rax     # 0x6a088
movl 0x60c(%rax), %edx
leaq 0x20(%rsp), %rbx
movl $0x80, %esi
movq %rbx, %rdi
callq 0x1f363
leaq 0x2d14e(%rip), %rsi     # 0x4f020
movq %r15, %rdi
callq 0x1ce65
movq %r15, %rdi
movq %rbx, %rsi
callq 0x1ce65
incl %r14d
leaq 0x2d5dc(%rip), %rsi     # 0x4f4cb
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x21f3a
leaq 0x48184(%rip), %rax     # 0x6a088
movslq 0x698(%rax), %rdx
leaq 0x20(%rsp), %rbx
movl $0x80, %esi
movq %rbx, %rdi
callq 0x1f363
leaq 0x2d5a7(%rip), %rsi     # 0x4f4cb
movq %r15, %rdi
callq 0x1ce65
movq %r15, %rdi
movq %rbx, %rsi
callq 0x1ce65
incl %r14d
leaq 0x2d17d(%rip), %rsi     # 0x4f0be
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x21f89
leaq 0x48132(%rip), %rax     # 0x6a088
movslq 0x20(%rax), %rdx
leaq 0x20(%rsp), %rbx
movl $0x80, %esi
movq %rbx, %rdi
callq 0x1f363
leaq 0x2d14b(%rip), %rsi     # 0x4f0be
movq %r15, %rdi
callq 0x1ce65
movq %r15, %rdi
movq %rbx, %rsi
callq 0x1ce65
incl %r14d
leaq 0x2d220(%rip), %rsi     # 0x4f1b0
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x21fdb
leaq 0x480e3(%rip), %rax     # 0x6a088
movq 0x658(%rax), %rdx
leaq 0x20(%rsp), %rbx
movl $0x80, %esi
movq %rbx, %rdi
callq 0x1f363
leaq 0x2d1eb(%rip), %rsi     # 0x4f1b0
movq %r15, %rdi
callq 0x1ce65
movq %r15, %rdi
movq %rbx, %rsi
callq 0x1ce65
incl %r14d
leaq 0x2d099(%rip), %rsi     # 0x4f07b
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x2202c
leaq 0x48091(%rip), %rax     # 0x6a088
movl 0x628(%rax), %edx
leaq 0x20(%rsp), %rbx
movl $0x80, %esi
movq %rbx, %rdi
callq 0x1f363
leaq 0x2d065(%rip), %rsi     # 0x4f07b
movq %r15, %rdi
callq 0x1ce65
movq %r15, %rdi
movq %rbx, %rsi
callq 0x1ce65
incl %r14d
leaq 0x2d26d(%rip), %rsi     # 0x4f2a0
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x2207b
leaq 0x2d258(%rip), %rsi     # 0x4f2a0
movq %r15, %rdi
callq 0x1ce65
leaq 0x48031(%rip), %rax     # 0x6a088
cmpl $0x0, 0x700(%rax)
leaq 0x2c8bf(%rip), %rax     # 0x4e924
leaq 0x2c8b4(%rip), %rsi     # 0x4e920
cmoveq %rax, %rsi
movq %r15, %rdi
callq 0x1ce65
incl %r14d
leaq 0x2cdb6(%rip), %rsi     # 0x4ee38
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x220ca
leaq 0x2cda1(%rip), %rsi     # 0x4ee38
movq %r15, %rdi
callq 0x1ce65
leaq 0x47fe2(%rip), %rax     # 0x6a088
cmpl $0x0, 0x5a0(%rax)
leaq 0x2c870(%rip), %rax     # 0x4e924
leaq 0x2c865(%rip), %rsi     # 0x4e920
cmoveq %rax, %rsi
movq %r15, %rdi
callq 0x1ce65
incl %r14d
leaq 0x2cfe3(%rip), %rsi     # 0x4f0b4
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x22119
leaq 0x2cfce(%rip), %rsi     # 0x4f0b4
movq %r15, %rdi
callq 0x1ce65
leaq 0x47f93(%rip), %rax     # 0x6a088
cmpl $0x0, 0x5b8(%rax)
leaq 0x2c821(%rip), %rax     # 0x4e924
leaq 0x2c816(%rip), %rsi     # 0x4e920
cmoveq %rax, %rsi
movq %r15, %rdi
callq 0x1ce65
incl %r14d
leaq 0x2cf78(%rip), %rsi     # 0x4f098
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x22168
leaq 0x2cf63(%rip), %rsi     # 0x4f098
movq %r15, %rdi
callq 0x1ce65
leaq 0x47f44(%rip), %rax     # 0x6a088
cmpl $0x0, 0x6d4(%rax)
leaq 0x2c7d2(%rip), %rax     # 0x4e924
leaq 0x2c7c7(%rip), %rsi     # 0x4e920
cmoveq %rax, %rsi
movq %r15, %rdi
callq 0x1ce65
incl %r14d
leaq 0x2cf35(%rip), %rsi     # 0x4f0a4
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x221b4
leaq 0x2cf20(%rip), %rsi     # 0x4f0a4
movq %r15, %rdi
callq 0x1ce65
leaq 0x47ef5(%rip), %rax     # 0x6a088
cmpl $0x0, 0x44(%rax)
leaq 0x2c786(%rip), %rax     # 0x4e924
leaq 0x2c77b(%rip), %rsi     # 0x4e920
cmoveq %rax, %rsi
movq %r15, %rdi
callq 0x1ce65
incl %r14d
leaq 0x2cd60(%rip), %rsi     # 0x4ef1b
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x221ff
leaq 0x2cd4b(%rip), %rsi     # 0x4ef1b
movq %r15, %rdi
callq 0x1ce65
leaq 0x47ea9(%rip), %rax     # 0x6a088
movl 0x598(%rax), %esi
leaq 0x47cc4(%rip), %rdi     # 0x69eb0
callq 0x2052f
movq %r15, %rdi
movq %rax, %rsi
callq 0x1ce65
incl %r14d
leaq 0x2d0b6(%rip), %rsi     # 0x4f2bc
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x2224a
leaq 0x2d0a1(%rip), %rsi     # 0x4f2bc
movq %r15, %rdi
callq 0x1ce65
leaq 0x47e5e(%rip), %rax     # 0x6a088
movl 0x5b4(%rax), %esi
leaq 0x47cc9(%rip), %rdi     # 0x69f00
callq 0x2052f
movq %r15, %rdi
movq %rax, %rsi
callq 0x1ce65
incl %r14d
leaq 0x2cd74(%rip), %rsi     # 0x4efc5
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x22295
leaq 0x2cd5f(%rip), %rsi     # 0x4efc5
movq %r15, %rdi
callq 0x1ce65
leaq 0x47e13(%rip), %rax     # 0x6a088
movl 0x608(%rax), %esi
leaq 0x47b8e(%rip), %rdi     # 0x69e10
callq 0x2052f
movq %r15, %rdi
movq %rax, %rsi
callq 0x1ce65
incl %r14d
leaq 0x2cdb3(%rip), %rsi     # 0x4f04f
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x222e8
leaq 0x47dd7(%rip), %rax     # 0x6a088
movsd 0x620(%rax), %xmm0
leaq 0x20(%rsp), %rbx
movl $0x80, %esi
movq %rbx, %rdi
callq 0x1f56e
leaq 0x2cd7d(%rip), %rsi     # 0x4f04f
movq %r15, %rdi
callq 0x1ce65
movq %r15, %rdi
movq %rbx, %rsi
callq 0x1ce65
incl %r14d
leaq 0x2cc10(%rip), %rsi     # 0x4eeff
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x2233e
leaq 0xa0(%rsp), %rdi
movl $0x400, %esi            # imm = 0x400
callq 0x123a0
testq %rax, %rax
jne 0x2231c
movb $0x0, 0xa0(%rsp)
leaq 0x2cbdc(%rip), %rsi     # 0x4eeff
movq %r15, %rdi
callq 0x1ce65
leaq 0xa0(%rsp), %rsi
movq %r15, %rdi
callq 0x1ce65
incl %r14d
leaq 0x2fee8(%rip), %rsi     # 0x5222d
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
movq %r15, 0x10(%rsp)
movq %r12, 0x8(%rsp)
je 0x22418
movq %r14, (%rsp)
callq 0x194cc
movq %rax, %r13
leaq 0x47d14(%rip), %rbx     # 0x6a088
movl 0x6c0(%rbx), %eax
pushq $0x8
popq %r15
leaq 0x2d286(%rip), %rbp     # 0x4f60b
pushq $0x1
popq %r12
xorl %r14d, %r14d
cltq
cmpq %rax, %r14
jge 0x223e5
movq 0x6b8(%rbx), %rax
movq -0x8(%rax,%r15), %rdx
movl (%rax,%r15), %ecx
movq %r13, %rdi
movq %rbp, %rsi
xorl %eax, %eax
callq 0x19db8
movq %rax, %r13
movl 0x6c0(%rbx), %eax
leal -0x1(%rax), %ecx
cmpq %rcx, %r14
je 0x223dc
movq %r13, %rdi
leaq 0x2d25b(%rip), %rsi     # 0x4f626
movq %r12, %rdx
callq 0x19ad8
movq %rax, %r13
movl 0x6c0(%rbx), %eax
incq %r14
addq $0x10, %r15
jmp 0x2238c
leaq 0x2fe41(%rip), %rsi     # 0x5222d
movq 0x10(%rsp), %r15
movq %r15, %rdi
callq 0x1ce65
movq %r15, %rdi
movq %r13, %rsi
callq 0x1ce65
movq %r13, %rdi
callq 0x19548
movq (%rsp), %r14
incl %r14d
movq 0x8(%rsp), %r12
leaq 0x2ce12(%rip), %rsi     # 0x4f231
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x224db
movq %r14, (%rsp)
movl $0x5d0, %r15d           # imm = 0x5D0
addq 0x46b76(%rip), %r15     # 0x68fb8
callq 0x194cc
movq %rax, %r14
leaq 0x2d1c1(%rip), %r12     # 0x4f612
leaq 0x2d1ce(%rip), %r13     # 0x4f626
pushq $0x1
popq %rbp
xorl %ebx, %ebx
cmpq $0x2, %rbx
je 0x224a8
movl %ebx, %edi
callq 0x1ed89
movq -0x10(%r15), %rcx
movq -0x8(%r15), %r8
movq (%r15), %r9
movq %r14, %rdi
movq %r12, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x19db8
movq %rax, %r14
cmpq $0x1, %rbx
je 0x2249f
movq %r14, %rdi
movq %r13, %rsi
movq %rbp, %rdx
callq 0x19ad8
movq %rax, %r14
incq %rbx
addq $0x18, %r15
jmp 0x2245d
leaq 0x2cd82(%rip), %rsi     # 0x4f231
movq 0x10(%rsp), %r15
movq %r15, %rdi
callq 0x1ce65
movq %r15, %rdi
movq %r14, %rsi
callq 0x1ce65
movq %r14, %rdi
callq 0x19548
movq (%rsp), %r14
incl %r14d
movq 0x8(%rsp), %r12
leaq 0x2c9d6(%rip), %rsi     # 0x4eeb8
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x22536
leaq 0x47b91(%rip), %rax     # 0x6a088
movl 0x150(%rax), %ecx
leaq 0x2d175(%rip), %rdx     # 0x4f679
leaq 0xa0(%rsp), %rbx
pushq $0x20
popq %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x122d0
leaq 0x2c998(%rip), %rsi     # 0x4eeb8
movq %r15, %rdi
callq 0x1ce65
movq %r15, %rdi
movq %rbx, %rsi
callq 0x1ce65
incl %r14d
leaq 0x2c954(%rip), %rsi     # 0x4ee91
movq %r12, %rdi
xorl %edx, %edx
callq 0x1f0de
testl %eax, %eax
je 0x22593
leaq 0x47b36(%rip), %rdi     # 0x6a088
movl 0x140(%rdi), %esi
addq $0xc0, %rdi
leaq 0x2d0c0(%rip), %rdx     # 0x4f626
callq 0x1aa6d
movq %rax, %rbx
leaq 0x2c91c(%rip), %rsi     # 0x4ee91
movq %r15, %rdi
callq 0x1ce65
movq %r15, %rdi
movq %rbx, %rsi
callq 0x1ce65
movq %rbx, %rdi
callq 0x19548
incl %r14d
addl %r14d, %r14d
movq %r15, %rdi
movq 0x18(%rsp), %rsi
movq %r14, %rdx
callq 0x1cd33
addq $0x4a8, %rsp            # imm = 0x4A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2d038(%rip), %rdx     # 0x4f5f7
leaq 0x2cbaa(%rip), %rcx     # 0x4f170
movq %r15, %rdi
movq %rbx, %rsi
movl $0x2c8, %r8d            # imm = 0x2C8
callq 0x24087
pushq $0x1
popq %rdi
callq 0x12120