// File: /workspace/github_c_makefile_star2_O3/nilyang[P]redis-tdd-annotation/src/config.c
// Function: configGetCommand
void configGetCommand(redisClient *c) {
    robj *o = c->argv[2];
    void *replylen = addDeferredMultiBulkLength(c);
    char *pattern = o->ptr;
    char buf[128];
    int matches = 0;
    redisAssertWithInfo(c,o,sdsEncodedObject(o));

    /* String values */
    config_get_string_field("dbfilename",server.rdb_filename);
    config_get_string_field("requirepass",server.requirepass);
    config_get_string_field("masterauth",server.masterauth);
    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("maxmemory-samples",server.maxmemory_samples);
    config_get_numerical_field("timeout",server.maxidletime);
    config_get_numerical_field("tcp-keepalive",server.tcpkeepalive);
    config_get_numerical_field("auto-aof-rewrite-percentage",
            server.aof_rewrite_perc);
    config_get_numerical_field("auto-aof-rewrite-min-size",
            server.aof_rewrite_min_size);
    config_get_numerical_field("hash-max-ziplist-entries",
            server.hash_max_ziplist_entries);
    config_get_numerical_field("hash-max-ziplist-value",
            server.hash_max_ziplist_value);
    config_get_numerical_field("list-max-ziplist-entries",
            server.list_max_ziplist_entries);
    config_get_numerical_field("list-max-ziplist-value",
            server.list_max_ziplist_value);
    config_get_numerical_field("set-max-intset-entries",
            server.set_max_intset_entries);
    config_get_numerical_field("zset-max-ziplist-entries",
            server.zset_max_ziplist_entries);
    config_get_numerical_field("zset-max-ziplist-value",
            server.zset_max_ziplist_value);
    config_get_numerical_field("hll-sparse-max-bytes",
            server.hll_sparse_max_bytes);
    config_get_numerical_field("lua-time-limit",server.lua_time_limit);
    config_get_numerical_field("slowlog-log-slower-than",
            server.slowlog_log_slower_than);
    config_get_numerical_field("slowlog-max-len",
            server.slowlog_max_len);
    config_get_numerical_field("port",server.port);
    config_get_numerical_field("tcp-backlog",server.tcp_backlog);
    config_get_numerical_field("databases",server.dbnum);
    config_get_numerical_field("repl-ping-slave-period",server.repl_ping_slave_period);
    config_get_numerical_field("repl-timeout",server.repl_timeout);
    config_get_numerical_field("repl-backlog-size",server.repl_backlog_size);
    config_get_numerical_field("repl-backlog-ttl",server.repl_backlog_time_limit);
    config_get_numerical_field("maxclients",server.maxclients);
    config_get_numerical_field("watchdog-period",server.watchdog_period);
    config_get_numerical_field("slave-priority",server.slave_priority);
    config_get_numerical_field("min-slaves-to-write",server.repl_min_slaves_to_write);
    config_get_numerical_field("min-slaves-max-lag",server.repl_min_slaves_max_lag);
    config_get_numerical_field("hz",server.hz);
    config_get_numerical_field("cluster-node-timeout",server.cluster_node_timeout);
    config_get_numerical_field("cluster-migration-barrier",server.cluster_migration_barrier);

    /* Bool (yes/no) values */
    config_get_bool_field("no-appendfsync-on-rewrite",
            server.aof_no_fsync_on_rewrite);
    config_get_bool_field("slave-serve-stale-data",
            server.repl_serve_stale_data);
    config_get_bool_field("slave-read-only",
            server.repl_slave_ro);
    config_get_bool_field("stop-writes-on-bgsave-error",
            server.stop_writes_on_bgsave_err);
    config_get_bool_field("daemonize", server.daemonize);
    config_get_bool_field("rdbcompression", server.rdb_compression);
    config_get_bool_field("rdbchecksum", server.rdb_checksum);
    config_get_bool_field("activerehashing", server.activerehashing);
    config_get_bool_field("repl-disable-tcp-nodelay",
            server.repl_disable_tcp_nodelay);
    config_get_bool_field("aof-rewrite-incremental-fsync",
            server.aof_rewrite_incremental_fsync);

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

    if (stringmatch(pattern,"appendonly",0)) {
        addReplyBulkCString(c,"appendonly");
        addReplyBulkCString(c,server.aof_state == REDIS_AOF_OFF ? "no" : "yes");
        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,"maxmemory-policy",0)) {
        char *s;

        switch(server.maxmemory_policy) {
        case REDIS_MAXMEMORY_VOLATILE_LRU: s = "volatile-lru"; break;
        case REDIS_MAXMEMORY_VOLATILE_TTL: s = "volatile-ttl"; break;
        case REDIS_MAXMEMORY_VOLATILE_RANDOM: s = "volatile-random"; break;
        case REDIS_MAXMEMORY_ALLKEYS_LRU: s = "allkeys-lru"; break;
        case REDIS_MAXMEMORY_ALLKEYS_RANDOM: s = "allkeys-random"; break;
        case REDIS_MAXMEMORY_NO_EVICTION: s = "noeviction"; break;
        default: s = "unknown"; break; /* too harmless to panic */
        }
        addReplyBulkCString(c,"maxmemory-policy");
        addReplyBulkCString(c,s);
        matches++;
    }
    if (stringmatch(pattern,"appendfsync",0)) {
        char *policy;

        switch(server.aof_fsync) {
        case AOF_FSYNC_NO: policy = "no"; break;
        case AOF_FSYNC_EVERYSEC: policy = "everysec"; break;
        case AOF_FSYNC_ALWAYS: policy = "always"; break;
        default: policy = "unknown"; break; /* too harmless to panic */
        }
        addReplyBulkCString(c,"appendfsync");
        addReplyBulkCString(c,policy);
        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,"loglevel",0)) {
        char *s;

        switch(server.verbosity) {
        case REDIS_WARNING: s = "warning"; break;
        case REDIS_VERBOSE: s = "verbose"; break;
        case REDIS_NOTICE: s = "notice"; break;
        case REDIS_DEBUG: s = "debug"; break;
        default: s = "unknown"; break; /* too harmless to panic */
        }
        addReplyBulkCString(c,"loglevel");
        addReplyBulkCString(c,s);
        matches++;
    }
    if (stringmatch(pattern,"client-output-buffer-limit",0)) {
        sds buf = sdsempty();
        int j;

        for (j = 0; j < REDIS_CLIENT_LIMIT_NUM_CLASSES; j++) {
            buf = sdscatprintf(buf,"%s %llu %llu %ld",
                    getClientLimitClassName(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 != REDIS_CLIENT_LIMIT_NUM_CLASSES-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,"slaveof",0)) {
        char buf[256];

        addReplyBulkCString(c,"slaveof");
        if (server.masterhost)
            snprintf(buf,sizeof(buf),"%s %d",
                server.masterhost, server.masterport);
        else
            buf[0] = '\0';
        addReplyBulkCString(c,buf);
        matches++;
    }
    if (stringmatch(pattern,"notify-keyspace-events",0)) {
        robj *flagsobj = createObject(REDIS_STRING,
            keyspaceEventsFlagsToString(server.notify_keyspace_events));

        addReplyBulkCString(c,"notify-keyspace-events");
        addReplyBulk(c,flagsobj);
        decrRefCount(flagsobj);
        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 $0x4b8, %rsp            # imm = 0x4B8
movq %rdi, %rbx
movq 0x38(%rdi), %rax
movq 0x10(%rax), %r14
callq 0x2de9a
movq %rax, 0xa8(%rsp)
movl (%r14), %eax
shrl $0x4, %eax
testb $0x7, %al
jne 0x47763
movq 0x8(%r14), %r12
leaq 0x53a0f(%rip), %rsi     # 0x99d21
xorl %r15d, %r15d
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x4635c
leaq 0x539f7(%rip), %rsi     # 0x99d21
movq %rbx, %rdi
callq 0x2e051
leaq 0x83c6f(%rip), %rax     # 0xc9fa8
movq 0x588(%rax), %rax
testq %rax, %rax
leaq 0x50ff7(%rip), %rsi     # 0x97341
cmovneq %rax, %rsi
movq %rbx, %rdi
callq 0x2e051
movl $0x1, %r15d
leaq 0x5397b(%rip), %rsi     # 0x99cde
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x463a4
leaq 0x53966(%rip), %rsi     # 0x99cde
movq %rbx, %rdi
callq 0x2e051
leaq 0x83c21(%rip), %rax     # 0xc9fa8
movq 0x40(%rax), %rax
testq %rax, %rax
leaq 0x50fac(%rip), %rsi     # 0x97341
cmovneq %rax, %rsi
movq %rbx, %rdi
callq 0x2e051
incl %r15d
leaq 0x53796(%rip), %rsi     # 0x99b41
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x463ef
leaq 0x53781(%rip), %rsi     # 0x99b41
movq %rbx, %rdi
callq 0x2e051
leaq 0x83bd9(%rip), %rax     # 0xc9fa8
movq 0x648(%rax), %rax
testq %rax, %rax
leaq 0x50f61(%rip), %rsi     # 0x97341
cmovneq %rax, %rsi
movq %rbx, %rdi
callq 0x2e051
incl %r15d
leaq 0x533da(%rip), %rsi     # 0x997d0
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x4643a
leaq 0x533c5(%rip), %rsi     # 0x997d0
movq %rbx, %rdi
callq 0x2e051
leaq 0x83b8e(%rip), %rax     # 0xc9fa8
movq 0x118(%rax), %rax
testq %rax, %rax
leaq 0x50f16(%rip), %rsi     # 0x97341
cmovneq %rax, %rsi
movq %rbx, %rdi
callq 0x2e051
incl %r15d
leaq 0x5344e(%rip), %rsi     # 0x9988f
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46485
leaq 0x53439(%rip), %rsi     # 0x9988f
movq %rbx, %rdi
callq 0x2e051
leaq 0x83b43(%rip), %rax     # 0xc9fa8
movq 0x5d0(%rax), %rax
testq %rax, %rax
leaq 0x50ecb(%rip), %rsi     # 0x97341
cmovneq %rax, %rsi
movq %rbx, %rdi
callq 0x2e051
incl %r15d
leaq 0x5388d(%rip), %rsi     # 0x99d19
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x464cd
leaq 0x53878(%rip), %rsi     # 0x99d19
movq %rbx, %rdi
callq 0x2e051
leaq 0x83af8(%rip), %rax     # 0xc9fa8
movq 0x48(%rax), %rax
testq %rax, %rax
leaq 0x50e83(%rip), %rsi     # 0x97341
cmovneq %rax, %rsi
movq %rbx, %rdi
callq 0x2e051
incl %r15d
leaq 0x534b6(%rip), %rsi     # 0x9998a
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x4651f
leaq 0x83abf(%rip), %rax     # 0xc9fa8
movq 0x720(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x53481(%rip), %rsi     # 0x9998a
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x534e8(%rip), %rsi     # 0x99a0e
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46571
leaq 0x83a6d(%rip), %rax     # 0xc9fa8
movslq 0x72c(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x534b3(%rip), %rsi     # 0x99a0e
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x5391b(%rip), %rsi     # 0x99e93
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x465c3
leaq 0x83a1b(%rip), %rax     # 0xc9fa8
movslq 0x468(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x538e6(%rip), %rsi     # 0x99e93
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x53186(%rip), %rsi     # 0x99750
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46615
leaq 0x839c9(%rip), %rax     # 0xc9fa8
movslq 0x46c(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x53151(%rip), %rsi     # 0x99750
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x5363d(%rip), %rsi     # 0x99c59
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46667
leaq 0x83977(%rip), %rax     # 0xc9fa8
movslq 0x4e4(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x53608(%rip), %rsi     # 0x99c59
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x53638(%rip), %rsi     # 0x99ca6
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x466b9
leaq 0x83925(%rip), %rax     # 0xc9fa8
movq 0x4e8(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x53603(%rip), %rsi     # 0x99ca6
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x53698(%rip), %rsi     # 0x99d58
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x4670b
leaq 0x838d3(%rip), %rax     # 0xc9fa8
movq 0x758(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x53663(%rip), %rsi     # 0x99d58
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x5365f(%rip), %rsi     # 0x99d71
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x4675d
leaq 0x83881(%rip), %rax     # 0xc9fa8
movq 0x760(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x5362a(%rip), %rsi     # 0x99d71
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x53624(%rip), %rsi     # 0x99d88
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x467af
leaq 0x8382f(%rip), %rax     # 0xc9fa8
movq 0x768(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x535ef(%rip), %rsi     # 0x99d88
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x535eb(%rip), %rsi     # 0x99da1
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46801
leaq 0x837dd(%rip), %rax     # 0xc9fa8
movq 0x770(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x535b6(%rip), %rsi     # 0x99da1
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x535b0(%rip), %rsi     # 0x99db8
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46853
leaq 0x8378b(%rip), %rax     # 0xc9fa8
movq 0x778(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x5357b(%rip), %rsi     # 0x99db8
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x53575(%rip), %rsi     # 0x99dcf
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x468a5
leaq 0x83739(%rip), %rax     # 0xc9fa8
movq 0x780(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x53540(%rip), %rsi     # 0x99dcf
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x5353c(%rip), %rsi     # 0x99de8
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x468f7
leaq 0x836e7(%rip), %rax     # 0xc9fa8
movq 0x788(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x53507(%rip), %rsi     # 0x99de8
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x53501(%rip), %rsi     # 0x99dff
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46949
leaq 0x83695(%rip), %rax     # 0xc9fa8
movq 0x790(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x534cc(%rip), %rsi     # 0x99dff
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x535ba(%rip), %rsi     # 0x99f0a
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x4699b
leaq 0x83643(%rip), %rax     # 0xc9fa8
movq 0x800(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x53585(%rip), %rsi     # 0x99f0a
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x53577(%rip), %rsi     # 0x99f19
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x469ed
leaq 0x835f1(%rip), %rax     # 0xc9fa8
movq 0x3b8(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x53542(%rip), %rsi     # 0x99f19
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x5353d(%rip), %rsi     # 0x99f31
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46a3f
leaq 0x8359f(%rip), %rax     # 0xc9fa8
movq 0x3c0(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x53508(%rip), %rsi     # 0x99f31
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x52d3c(%rip), %rsi     # 0x99782
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46a91
leaq 0x8354d(%rip), %rax     # 0xc9fa8
movslq 0x88(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x52d07(%rip), %rsi     # 0x99782
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x52cef(%rip), %rsi     # 0x99787
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46ae3
leaq 0x834fb(%rip), %rax     # 0xc9fa8
movslq 0x8c(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x52cba(%rip), %rsi     # 0x99787
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x52e69(%rip), %rsi     # 0x99953
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46b35
leaq 0x834a9(%rip), %rax     # 0xc9fa8
movslq 0x480(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x52e34(%rip), %rsi     # 0x99953
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x52f0b(%rip), %rsi     # 0x99a47
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46b87
leaq 0x83457(%rip), %rax     # 0xc9fa8
movslq 0x5f8(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x52ed6(%rip), %rsi     # 0x99a47
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x52efc(%rip), %rsi     # 0x99a8a
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46bd9
leaq 0x83405(%rip), %rax     # 0xc9fa8
movslq 0x65c(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x52ec7(%rip), %rsi     # 0x99a8a
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x52ef2(%rip), %rsi     # 0x99ad2
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46c2b
leaq 0x833b3(%rip), %rax     # 0xc9fa8
movq 0x608(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x52ebd(%rip), %rsi     # 0x99ad2
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x52eda(%rip), %rsi     # 0x99b0c
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46c7d
leaq 0x83361(%rip), %rax     # 0xc9fa8
movq 0x628(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x52ea5(%rip), %rsi     # 0x99b0c
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x52ce1(%rip), %rsi     # 0x99965
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46ccf
leaq 0x8330f(%rip), %rax     # 0xc9fa8
movslq 0x71c(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x52cac(%rip), %rsi     # 0x99965
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x536c3(%rip), %rsi     # 0x9a399
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46d21
leaq 0x832bd(%rip), %rax     # 0xc9fa8
movslq 0x838(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x5368e(%rip), %rsi     # 0x9a399
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x532a4(%rip), %rsi     # 0x99fcc
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46d73
leaq 0x8326b(%rip), %rax     # 0xc9fa8
movslq 0x6bc(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x5326f(%rip), %rsi     # 0x99fcc
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x53261(%rip), %rsi     # 0x99fdb
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46dc5
leaq 0x83219(%rip), %rax     # 0xc9fa8
movslq 0x638(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x5322c(%rip), %rsi     # 0x99fdb
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x5324a(%rip), %rsi     # 0x9a016
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46e17
leaq 0x831c7(%rip), %rax     # 0xc9fa8
movslq 0x63c(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x53215(%rip), %rsi     # 0x9a016
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x52d8a(%rip), %rsi     # 0x99ba8
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46e66
leaq 0x83175(%rip), %rax     # 0xc9fa8
movslq 0x8(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x52d58(%rip), %rsi     # 0x99ba8
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x53019(%rip), %rsi     # 0x99e86
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46eb8
leaq 0x83126(%rip), %rax     # 0xc9fa8
movq 0x7c0(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x52fe4(%rip), %rsi     # 0x99e86
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x53006(%rip), %rsi     # 0x99ec5
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46f0a
leaq 0x830d4(%rip), %rax     # 0xc9fa8
movslq 0x7d8(%rax), %rdx
leaq 0x20(%rsp), %r14
movl $0x80, %esi
movq %r14, %rdi
callq 0x300c7
leaq 0x52fd1(%rip), %rsi     # 0x99ec5
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x52ce4(%rip), %rsi     # 0x99bf5
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46f59
leaq 0x52ccf(%rip), %rsi     # 0x99bf5
movq %rbx, %rdi
callq 0x2e051
leaq 0x83073(%rip), %rax     # 0xc9fa8
cmpl $0x0, 0x4e0(%rax)
leaq 0x516ff(%rip), %rax     # 0x98642
leaq 0x527bf(%rip), %rsi     # 0x99709
cmoveq %rax, %rsi
movq %rbx, %rdi
callq 0x2e051
incl %r15d
leaq 0x52bec(%rip), %rsi     # 0x99b4c
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46fa8
leaq 0x52bd7(%rip), %rsi     # 0x99b4c
movq %rbx, %rdi
callq 0x2e051
leaq 0x83024(%rip), %rax     # 0xc9fa8
cmpl $0x0, 0x6a8(%rax)
leaq 0x516b0(%rip), %rax     # 0x98642
leaq 0x52770(%rip), %rsi     # 0x99709
cmoveq %rax, %rsi
movq %rbx, %rdi
callq 0x2e051
incl %r15d
leaq 0x52bb4(%rip), %rsi     # 0x99b63
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x46ff7
leaq 0x52b9f(%rip), %rsi     # 0x99b63
movq %rbx, %rdi
callq 0x2e051
leaq 0x82fd5(%rip), %rax     # 0xc9fa8
cmpl $0x0, 0x6ac(%rax)
leaq 0x51661(%rip), %rax     # 0x98642
leaq 0x52721(%rip), %rsi     # 0x99709
cmoveq %rax, %rsi
movq %rbx, %rdi
callq 0x2e051
incl %r15d
leaq 0x52fb2(%rip), %rsi     # 0x99fb0
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x47046
leaq 0x52f9d(%rip), %rsi     # 0x99fb0
movq %rbx, %rdi
callq 0x2e051
leaq 0x82f86(%rip), %rax     # 0xc9fa8
cmpl $0x0, 0x5bc(%rax)
leaq 0x51612(%rip), %rax     # 0x98642
leaq 0x526d2(%rip), %rsi     # 0x99709
cmoveq %rax, %rsi
movq %rbx, %rdi
callq 0x2e051
incl %r15d
leaq 0x52b51(%rip), %rsi     # 0x99b9e
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x47095
leaq 0x52b3c(%rip), %rsi     # 0x99b9e
movq %rbx, %rdi
callq 0x2e051
leaq 0x82f37(%rip), %rax     # 0xc9fa8
cmpl $0x0, 0x484(%rax)
leaq 0x515c3(%rip), %rax     # 0x98642
leaq 0x52683(%rip), %rsi     # 0x99709
cmoveq %rax, %rsi
movq %rbx, %rdi
callq 0x2e051
incl %r15d
leaq 0x52ad7(%rip), %rsi     # 0x99b73
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x470e4
leaq 0x52ac2(%rip), %rsi     # 0x99b73
movq %rbx, %rdi
callq 0x2e051
leaq 0x82ee8(%rip), %rax     # 0xc9fa8
cmpl $0x0, 0x590(%rax)
leaq 0x51574(%rip), %rax     # 0x98642
leaq 0x52634(%rip), %rsi     # 0x99709
cmoveq %rax, %rsi
movq %rbx, %rdi
callq 0x2e051
incl %r15d
leaq 0x52a97(%rip), %rsi     # 0x99b82
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x47133
leaq 0x52a82(%rip), %rsi     # 0x99b82
movq %rbx, %rdi
callq 0x2e051
leaq 0x82e99(%rip), %rax     # 0xc9fa8
cmpl $0x0, 0x594(%rax)
leaq 0x51525(%rip), %rax     # 0x98642
leaq 0x525e5(%rip), %rsi     # 0x99709
cmoveq %rax, %rsi
movq %rbx, %rdi
callq 0x2e051
incl %r15d
leaq 0x52a54(%rip), %rsi     # 0x99b8e
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x4717f
leaq 0x52a3f(%rip), %rsi     # 0x99b8e
movq %rbx, %rdi
callq 0x2e051
leaq 0x82e4a(%rip), %rax     # 0xc9fa8
cmpl $0x0, 0x38(%rax)
leaq 0x514d9(%rip), %rax     # 0x98642
leaq 0x52599(%rip), %rsi     # 0x99709
cmoveq %rax, %rsi
movq %rbx, %rdi
callq 0x2e051
incl %r15d
leaq 0x52933(%rip), %rsi     # 0x99ab9
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x471ce
leaq 0x5291e(%rip), %rsi     # 0x99ab9
movq %rbx, %rdi
callq 0x2e051
leaq 0x82dfe(%rip), %rax     # 0xc9fa8
cmpl $0x0, 0x6b8(%rax)
leaq 0x5148a(%rip), %rax     # 0x98642
leaq 0x5254a(%rip), %rsi     # 0x99709
cmoveq %rax, %rsi
movq %rbx, %rdi
callq 0x2e051
incl %r15d
leaq 0x52aeb(%rip), %rsi     # 0x99cc0
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x4721d
leaq 0x52ad6(%rip), %rsi     # 0x99cc0
movq %rbx, %rdi
callq 0x2e051
leaq 0x82daf(%rip), %rax     # 0xc9fa8
cmpl $0x0, 0x550(%rax)
leaq 0x5143b(%rip), %rax     # 0x98642
leaq 0x524fb(%rip), %rsi     # 0x99709
cmoveq %rax, %rsi
movq %rbx, %rdi
callq 0x2e051
incl %r15d
leaq 0x52987(%rip), %rsi     # 0x99bab
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x4726c
leaq 0x52972(%rip), %rsi     # 0x99bab
movq %rbx, %rdi
callq 0x2e051
leaq 0x82d60(%rip), %rax     # 0xc9fa8
cmpl $0x0, 0x4d0(%rax)
leaq 0x513ec(%rip), %rax     # 0x98642
leaq 0x524ac(%rip), %rsi     # 0x99709
cmoveq %rax, %rsi
movq %rbx, %rdi
callq 0x2e051
incl %r15d
leaq 0x525af(%rip), %rsi     # 0x99822
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x472c2
leaq 0xb0(%rsp), %rdi
movl $0x400, %esi            # imm = 0x400
callq 0x1f8a0
testq %rax, %rax
jne 0x472a0
movb $0x0, 0xb0(%rsp)
leaq 0x5257b(%rip), %rsi     # 0x99822
movq %rbx, %rdi
callq 0x2e051
leaq 0xb0(%rsp), %rsi
movq %rbx, %rdi
callq 0x2e051
incl %r15d
leaq 0x526cb(%rip), %rsi     # 0x99994
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x4731e
leaq 0x82cca(%rip), %rax     # 0xc9fa8
movl 0x728(%rax), %eax
cmpq $0x5, %rax
ja 0x472fa
leaq 0x532d3(%rip), %rcx     # 0x9a5c4
movslq (%rcx,%rax,4), %r14
addq %rcx, %r14
jmp 0x47301
leaq 0x501ed(%rip), %r14     # 0x974ee
leaq 0x5268c(%rip), %rsi     # 0x99994
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x528ea(%rip), %rsi     # 0x99c0f
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x4737a
leaq 0x82c6e(%rip), %rax     # 0xc9fa8
movl 0x4d4(%rax), %eax
cmpq $0x2, %rax
ja 0x47356
leaq 0x5328f(%rip), %rcx     # 0x9a5dc
movslq (%rcx,%rax,4), %r14
addq %rcx, %r14
jmp 0x4735d
leaq 0x50191(%rip), %r14     # 0x974ee
leaq 0x528ab(%rip), %rsi     # 0x99c0f
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x508ac(%rip), %rsi     # 0x97c2d
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
movq %rbx, 0x18(%rsp)
movq %r12, 0x10(%rsp)
je 0x4745f
movq %r15, 0x8(%rsp)
callq 0x2845e
movq %rax, %r13
leaq 0x82bf7(%rip), %r12     # 0xc9fa8
cmpl $0x0, 0x580(%r12)
jle 0x4742b
movl $0x8, %ebx
leaq 0x5302c(%rip), %rbp     # 0x9a3f4
leaq 0x53040(%rip), %r14     # 0x9a40f
xorl %r15d, %r15d
movq 0x578(%r12), %rax
movq -0x8(%rax,%rbx), %rdx
movl (%rax,%rbx), %ecx
movq %r13, %rdi
movq %rbp, %rsi
xorl %eax, %eax
callq 0x28a5e
movq %rax, %r13
movl 0x580(%r12), %eax
leal -0x1(%rax), %ecx
cmpq %rcx, %r15
je 0x4741d
movl $0x1, %edx
movq %r13, %rdi
movq %r14, %rsi
callq 0x28689
movq %rax, %r13
movl 0x580(%r12), %eax
incq %r15
cltq
addq $0x10, %rbx
cmpq %rax, %r15
jl 0x473d2
leaq 0x507fb(%rip), %rsi     # 0x97c2d
movq 0x18(%rsp), %rbx
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r13, %rsi
callq 0x2e051
movq %r13, %rdi
callq 0x2850d
movq 0x8(%rsp), %r15
incl %r15d
movq 0x10(%rsp), %r12
leaq 0x523d8(%rip), %rsi     # 0x9983e
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x474bb
leaq 0x82b2d(%rip), %rax     # 0xc9fa8
movl 0x464(%rax), %eax
cmpq $0x3, %rax
ja 0x47497
leaq 0x5315a(%rip), %rcx     # 0x9a5e8
movslq (%rcx,%rax,4), %r14
addq %rcx, %r14
jmp 0x4749e
leaq 0x50050(%rip), %r14     # 0x974ee
leaq 0x52399(%rip), %rsi     # 0x9983e
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x52a7f(%rip), %rsi     # 0x99f41
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x475b2
movq %r15, 0x8(%rsp)
callq 0x2845e
movq %rax, %r14
xorl %edi, %edi
callq 0x2fae5
leaq 0x82ab9(%rip), %rbx     # 0xc9fa8
movq 0x488(%rbx), %rcx
movq 0x490(%rbx), %r8
movq 0x498(%rbx), %r9
leaq 0x52ef0(%rip), %r13     # 0x9a3fb
movq %r14, %rdi
movq %r13, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x28a5e
movq %rax, %r12
movl $0x1, %ebp
leaq 0x52ee5(%rip), %r14     # 0x9a40f
xorl %r15d, %r15d
movl $0x1, %edx
movq %r12, %rdi
movq %r14, %rsi
callq 0x28689
movq %rax, %r12
movl %ebp, %edi
callq 0x2fae5
movq 0x4a0(%rbx,%r15), %rcx
movq 0x4a8(%rbx,%r15), %r8
movq 0x4b0(%rbx,%r15), %r9
movq %r12, %rdi
movq %r13, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x28a5e
movq %rax, %r12
addq $0x18, %r15
incl %ebp
cmpq $0x30, %r15
jne 0x4752d
leaq 0x529bc(%rip), %rsi     # 0x99f41
movq 0x18(%rsp), %rbx
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r12, %rsi
callq 0x2e051
movq %r12, %rdi
callq 0x2850d
movq 0x8(%rsp), %r15
incl %r15d
movq 0x10(%rsp), %r12
leaq 0x52222(%rip), %rsi     # 0x997db
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x4760f
leaq 0x829da(%rip), %rax     # 0xc9fa8
movl 0x120(%rax), %ecx
leaq 0x52e7b(%rip), %rdx     # 0x9a456
leaq 0xb0(%rsp), %r14
movl $0x20, %esi
movq %r14, %rdi
xorl %eax, %eax
callq 0x1f120
leaq 0x521e2(%rip), %rsi     # 0x997db
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
incl %r15d
leaq 0x4cfc5(%rip), %rsi     # 0x945db
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x47685
leaq 0x4cfb0(%rip), %rsi     # 0x945db
movq %rbx, %rdi
callq 0x2e051
leaq 0x8296e(%rip), %rax     # 0xc9fa8
movq 0x650(%rax), %rcx
testq %rcx, %rcx
je 0x4766a
movl 0x658(%rax), %r8d
leaq 0x580c6(%rip), %rdx     # 0x9f71a
leaq 0xb0(%rsp), %rdi
movl $0x100, %esi            # imm = 0x100
xorl %eax, %eax
callq 0x1f120
jmp 0x47672
movb $0x0, 0xb0(%rsp)
leaq 0xb0(%rsp), %rsi
movq %rbx, %rdi
callq 0x2e051
incl %r15d
leaq 0x529c3(%rip), %rsi     # 0x9a04f
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x476de
leaq 0x82907(%rip), %rax     # 0xc9fa8
movl 0x7b8(%rax), %edi
callq 0x60253
xorl %edi, %edi
movq %rax, %rsi
callq 0x3059c
movq %rax, %r14
leaq 0x5298f(%rip), %rsi     # 0x9a04f
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e204
movq %r14, %rdi
callq 0x30b0c
incl %r15d
leaq 0x520c4(%rip), %rsi     # 0x997a9
movq %r12, %rdi
xorl %edx, %edx
callq 0x2fef2
testl %eax, %eax
je 0x4773b
leaq 0x828ae(%rip), %rdi     # 0xc9fa8
movl 0x110(%rdi), %esi
addq $0x90, %rdi
leaq 0x52d01(%rip), %rdx     # 0x9a40f
callq 0x2993c
movq %rax, %r14
leaq 0x5208c(%rip), %rsi     # 0x997a9
movq %rbx, %rdi
callq 0x2e051
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2e051
movq %r14, %rdi
callq 0x2850d
incl %r15d
addl %r15d, %r15d
movq %rbx, %rdi
movq 0xa8(%rsp), %rsi
movq %r15, %rdx
callq 0x2ded6
addq $0x4b8, %rsp            # imm = 0x4B8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x51897(%rip), %rdx     # 0x99001
leaq 0x526c5(%rip), %rcx     # 0x99e36
movq %rbx, %rdi
movq %r14, %rsi
movl $0x3ce, %r8d            # imm = 0x3CE
callq 0x4d277
movl $0x1, %edi
callq 0x1f3b0