// File: /workspace/github_c_makefile_star2_O3/nilyang[P]redis-tdd-annotation/src/config.c
// Function: configSetCommand
void configSetCommand(redisClient *c) {
    robj *o;
    long long ll;
    redisAssertWithInfo(c,c->argv[2],sdsEncodedObject(c->argv[2]));
    redisAssertWithInfo(c,c->argv[3],sdsEncodedObject(c->argv[3]));
    o = c->argv[3];

    if (!strcasecmp(c->argv[2]->ptr,"dbfilename")) {
        if (!pathIsBaseName(o->ptr)) {
            addReplyError(c, "dbfilename can't be a path, just a filename");
            return;
        }
        zfree(server.rdb_filename);
        server.rdb_filename = zstrdup(o->ptr);
    } else if (!strcasecmp(c->argv[2]->ptr,"requirepass")) {
        if (sdslen(o->ptr) > REDIS_AUTHPASS_MAX_LEN) goto badfmt;
        zfree(server.requirepass);
        server.requirepass = ((char*)o->ptr)[0] ? zstrdup(o->ptr) : NULL;
    } else if (!strcasecmp(c->argv[2]->ptr,"masterauth")) {
        zfree(server.masterauth);
        server.masterauth = ((char*)o->ptr)[0] ? zstrdup(o->ptr) : NULL;
    } else if (!strcasecmp(c->argv[2]->ptr,"maxmemory")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR ||
            ll < 0) goto badfmt;
        server.maxmemory = ll;
        if (server.maxmemory) {
            if (server.maxmemory < zmalloc_used_memory()) {
                redisLog(REDIS_WARNING,"WARNING: the new maxmemory value set via CONFIG SET is smaller than the current memory usage. This will result in keys eviction and/or inability to accept new write commands depending on the maxmemory-policy.");
            }
            freeMemoryIfNeeded();
        }
    } else if (!strcasecmp(c->argv[2]->ptr,"maxclients")) {
        int orig_value = server.maxclients;

        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll < 1) goto badfmt;

        /* Try to check if the OS is capable of supporting so many FDs. */
        server.maxclients = ll;
        if (ll > orig_value) {
            adjustOpenFilesLimit();
            if (server.maxclients != ll) {
                addReplyErrorFormat(c,"The operating system is not able to handle the specified number of clients, try with %d", server.maxclients);
                server.maxclients = orig_value;
                return;
            }
            if (aeGetSetSize(server.el) <
                server.maxclients + REDIS_EVENTLOOP_FDSET_INCR)
            {
                if (aeResizeSetSize(server.el,
                    server.maxclients + REDIS_EVENTLOOP_FDSET_INCR) == AE_ERR)
                {
                    addReplyError(c,"The event loop API used by Redis is not able to handle the specified number of clients");
                    server.maxclients = orig_value;
                    return;
                }
            }
        }
    } else if (!strcasecmp(c->argv[2]->ptr,"hz")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll < 0) goto badfmt;
        server.hz = ll;
        if (server.hz < REDIS_MIN_HZ) server.hz = REDIS_MIN_HZ;
        if (server.hz > REDIS_MAX_HZ) server.hz = REDIS_MAX_HZ;
    } else if (!strcasecmp(c->argv[2]->ptr,"maxmemory-policy")) {
        if (!strcasecmp(o->ptr,"volatile-lru")) {
            server.maxmemory_policy = REDIS_MAXMEMORY_VOLATILE_LRU;
        } else if (!strcasecmp(o->ptr,"volatile-random")) {
            server.maxmemory_policy = REDIS_MAXMEMORY_VOLATILE_RANDOM;
        } else if (!strcasecmp(o->ptr,"volatile-ttl")) {
            server.maxmemory_policy = REDIS_MAXMEMORY_VOLATILE_TTL;
        } else if (!strcasecmp(o->ptr,"allkeys-lru")) {
            server.maxmemory_policy = REDIS_MAXMEMORY_ALLKEYS_LRU;
        } else if (!strcasecmp(o->ptr,"allkeys-random")) {
            server.maxmemory_policy = REDIS_MAXMEMORY_ALLKEYS_RANDOM;
        } else if (!strcasecmp(o->ptr,"noeviction")) {
            server.maxmemory_policy = REDIS_MAXMEMORY_NO_EVICTION;
        } else {
            goto badfmt;
        }
    } else if (!strcasecmp(c->argv[2]->ptr,"maxmemory-samples")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR ||
            ll <= 0) goto badfmt;
        server.maxmemory_samples = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"timeout")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR ||
            ll < 0 || ll > LONG_MAX) goto badfmt;
        server.maxidletime = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"tcp-keepalive")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR ||
            ll < 0 || ll > INT_MAX) goto badfmt;
        server.tcpkeepalive = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"appendfsync")) {
        if (!strcasecmp(o->ptr,"no")) {
            server.aof_fsync = AOF_FSYNC_NO;
        } else if (!strcasecmp(o->ptr,"everysec")) {
            server.aof_fsync = AOF_FSYNC_EVERYSEC;
        } else if (!strcasecmp(o->ptr,"always")) {
            server.aof_fsync = AOF_FSYNC_ALWAYS;
        } else {
            goto badfmt;
        }
    } else if (!strcasecmp(c->argv[2]->ptr,"no-appendfsync-on-rewrite")) {
        int yn = yesnotoi(o->ptr);

        if (yn == -1) goto badfmt;
        server.aof_no_fsync_on_rewrite = yn;
    } else if (!strcasecmp(c->argv[2]->ptr,"appendonly")) {
        int enable = yesnotoi(o->ptr);

        if (enable == -1) goto badfmt;
        if (enable == 0 && server.aof_state != REDIS_AOF_OFF) {
            stopAppendOnly();
        } else if (enable && server.aof_state == REDIS_AOF_OFF) {
            if (startAppendOnly() == REDIS_ERR) {
                addReplyError(c,
                    "Unable to turn on AOF. Check server logs.");
                return;
            }
        }
    } else if (!strcasecmp(c->argv[2]->ptr,"auto-aof-rewrite-percentage")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll < 0) goto badfmt;
        server.aof_rewrite_perc = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"auto-aof-rewrite-min-size")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll < 0) goto badfmt;
        server.aof_rewrite_min_size = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"aof-rewrite-incremental-fsync")) {
        int yn = yesnotoi(o->ptr);

        if (yn == -1) goto badfmt;
        server.aof_rewrite_incremental_fsync = yn;
    } else if (!strcasecmp(c->argv[2]->ptr,"save")) {
        int vlen, j;
        sds *v = sdssplitlen(o->ptr,sdslen(o->ptr)," ",1,&vlen);

        /* Perform sanity check before setting the new config:
         * - Even number of args
         * - Seconds >= 1, changes >= 0 */
        if (vlen & 1) {
            sdsfreesplitres(v,vlen);
            goto badfmt;
        }
        for (j = 0; j < vlen; j++) {
            char *eptr;
            long val;

            val = strtoll(v[j], &eptr, 10);
            if (eptr[0] != '\0' ||
                ((j & 1) == 0 && val < 1) ||
                ((j & 1) == 1 && val < 0)) {
                sdsfreesplitres(v,vlen);
                goto badfmt;
            }
        }
        /* Finally set the new config */
        resetServerSaveParams();
        for (j = 0; j < vlen; j += 2) {
            time_t seconds;
            int changes;

            seconds = strtoll(v[j],NULL,10);
            changes = strtoll(v[j+1],NULL,10);
            appendServerSaveParams(seconds, changes);
        }
        sdsfreesplitres(v,vlen);
    } else if (!strcasecmp(c->argv[2]->ptr,"slave-serve-stale-data")) {
        int yn = yesnotoi(o->ptr);

        if (yn == -1) goto badfmt;
        server.repl_serve_stale_data = yn;
    } else if (!strcasecmp(c->argv[2]->ptr,"slave-read-only")) {
        int yn = yesnotoi(o->ptr);

        if (yn == -1) goto badfmt;
        server.repl_slave_ro = yn;
    } else if (!strcasecmp(c->argv[2]->ptr,"dir")) {
        if (chdir((char*)o->ptr) == -1) {
            addReplyErrorFormat(c,"Changing directory: %s", strerror(errno));
            return;
        }
    } else if (!strcasecmp(c->argv[2]->ptr,"hash-max-ziplist-entries")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll < 0) goto badfmt;
        server.hash_max_ziplist_entries = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"hash-max-ziplist-value")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll < 0) goto badfmt;
        server.hash_max_ziplist_value = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"list-max-ziplist-entries")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll < 0) goto badfmt;
        server.list_max_ziplist_entries = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"list-max-ziplist-value")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll < 0) goto badfmt;
        server.list_max_ziplist_value = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"set-max-intset-entries")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll < 0) goto badfmt;
        server.set_max_intset_entries = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"zset-max-ziplist-entries")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll < 0) goto badfmt;
        server.zset_max_ziplist_entries = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"zset-max-ziplist-value")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll < 0) goto badfmt;
        server.zset_max_ziplist_value = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"hll-sparse-max-bytes")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll < 0) goto badfmt;
        server.hll_sparse_max_bytes = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"lua-time-limit")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll < 0) goto badfmt;
        server.lua_time_limit = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"slowlog-log-slower-than")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR) goto badfmt;
        server.slowlog_log_slower_than = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"slowlog-max-len")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll < 0) goto badfmt;
        server.slowlog_max_len = (unsigned)ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"loglevel")) {
        if (!strcasecmp(o->ptr,"warning")) {
            server.verbosity = REDIS_WARNING;
        } else if (!strcasecmp(o->ptr,"notice")) {
            server.verbosity = REDIS_NOTICE;
        } else if (!strcasecmp(o->ptr,"verbose")) {
            server.verbosity = REDIS_VERBOSE;
        } else if (!strcasecmp(o->ptr,"debug")) {
            server.verbosity = REDIS_DEBUG;
        } else {
            goto badfmt;
        }
    } else if (!strcasecmp(c->argv[2]->ptr,"client-output-buffer-limit")) {
        int vlen, j;
        sds *v = sdssplitlen(o->ptr,sdslen(o->ptr)," ",1,&vlen);

        /* We need a multiple of 4: <class> <hard> <soft> <soft_seconds> */
        if (vlen % 4) {
            sdsfreesplitres(v,vlen);
            goto badfmt;
        }

        /* Sanity check of single arguments, so that we either refuse the
         * whole configuration string or accept it all, even if a single
         * error in a single client class is present. */
        for (j = 0; j < vlen; j++) {
            char *eptr;
            long val;

            if ((j % 4) == 0) {
                if (getClientLimitClassByName(v[j]) == -1) {
                    sdsfreesplitres(v,vlen);
                    goto badfmt;
                }
            } else {
                val = strtoll(v[j], &eptr, 10);
                if (eptr[0] != '\0' || val < 0) {
                    sdsfreesplitres(v,vlen);
                    goto badfmt;
                }
            }
        }
        /* Finally set the new config */
        for (j = 0; j < vlen; j += 4) {
            int class;
            unsigned long long hard, soft;
            int soft_seconds;

            class = getClientLimitClassByName(v[j]);
            hard = strtoll(v[j+1],NULL,10);
            soft = strtoll(v[j+2],NULL,10);
            soft_seconds = strtoll(v[j+3],NULL,10);

            server.client_obuf_limits[class].hard_limit_bytes = hard;
            server.client_obuf_limits[class].soft_limit_bytes = soft;
            server.client_obuf_limits[class].soft_limit_seconds = soft_seconds;
        }
        sdsfreesplitres(v,vlen);
    } else if (!strcasecmp(c->argv[2]->ptr,"stop-writes-on-bgsave-error")) {
        int yn = yesnotoi(o->ptr);

        if (yn == -1) goto badfmt;
        server.stop_writes_on_bgsave_err = yn;
    } else if (!strcasecmp(c->argv[2]->ptr,"repl-ping-slave-period")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll <= 0) goto badfmt;
        server.repl_ping_slave_period = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"repl-timeout")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll <= 0) goto badfmt;
        server.repl_timeout = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"repl-backlog-size")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll <= 0) goto badfmt;
        resizeReplicationBacklog(ll);
    } else if (!strcasecmp(c->argv[2]->ptr,"repl-backlog-ttl")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll < 0) goto badfmt;
        server.repl_backlog_time_limit = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"watchdog-period")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR || ll < 0) goto badfmt;
        if (ll)
            enableWatchdog(ll);
        else
            disableWatchdog();
    } else if (!strcasecmp(c->argv[2]->ptr,"rdbcompression")) {
        int yn = yesnotoi(o->ptr);

        if (yn == -1) goto badfmt;
        server.rdb_compression = yn;
    } else if (!strcasecmp(c->argv[2]->ptr,"notify-keyspace-events")) {
        int flags = keyspaceEventsStringToFlags(o->ptr);

        if (flags == -1) goto badfmt;
        server.notify_keyspace_events = flags;
    } else if (!strcasecmp(c->argv[2]->ptr,"repl-disable-tcp-nodelay")) {
        int yn = yesnotoi(o->ptr);

        if (yn == -1) goto badfmt;
        server.repl_disable_tcp_nodelay = yn;
    } else if (!strcasecmp(c->argv[2]->ptr,"slave-priority")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR ||
            ll < 0) goto badfmt;
        server.slave_priority = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"min-slaves-to-write")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR ||
            ll < 0) goto badfmt;
        server.repl_min_slaves_to_write = ll;
        refreshGoodSlavesCount();
    } else if (!strcasecmp(c->argv[2]->ptr,"min-slaves-max-lag")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR ||
            ll < 0) goto badfmt;
        server.repl_min_slaves_max_lag = ll;
        refreshGoodSlavesCount();
    } else if (!strcasecmp(c->argv[2]->ptr,"cluster-node-timeout")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR ||
            ll <= 0) goto badfmt;
        server.cluster_node_timeout = ll;
    } else if (!strcasecmp(c->argv[2]->ptr,"cluster-migration-barrier")) {
        if (getLongLongFromObject(o,&ll) == REDIS_ERR ||
            ll < 0) goto badfmt;
        server.cluster_migration_barrier = ll;
    } else {
        addReplyErrorFormat(c,"Unsupported CONFIG parameter: %s",
            (char*)c->argv[2]->ptr);
        return;
    }
    addReply(c,shared.ok);
    return;

badfmt: /* Bad format errors */
    addReplyErrorFormat(c,"Invalid argument '%s' for CONFIG SET '%s'",
            (char*)o->ptr,
            (char*)c->argv[2]->ptr);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
movq 0x38(%rdi), %rax
movq 0x10(%rax), %rsi
movl (%rsi), %ecx
shrl $0x4, %ecx
testb $0x7, %cl
jne 0x45d4c
movq 0x18(%rax), %r14
movl (%r14), %eax
shrl $0x4, %eax
testb $0x7, %al
jne 0x45d65
movq 0x8(%rsi), %r15
leaq 0x54d6a(%rip), %rsi     # 0x99d21
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x453fb
leaq 0x54d10(%rip), %rsi     # 0x99cde
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45434
leaq 0x54b5c(%rip), %rsi     # 0x99b41
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x4546c
leaq 0x5498e(%rip), %rsi     # 0x9998a
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x454b3
leaq 0x54952(%rip), %rsi     # 0x99965
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45518
leaq 0x54b7e(%rip), %rsi     # 0x99ba8
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x455db
leaq 0x54953(%rip), %rsi     # 0x99994
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45623
leaq 0x549b6(%rip), %rsi     # 0x99a0e
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x456c7
leaq 0x54e24(%rip), %rsi     # 0x99e93
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45700
leaq 0x546ca(%rip), %rsi     # 0x99750
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x4576d
leaq 0x54b72(%rip), %rsi     # 0x99c0f
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x457bf
leaq 0x54b41(%rip), %rsi     # 0x99bf5
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45834
leaq 0x54ae0(%rip), %rsi     # 0x99bab
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x4586e
leaq 0x54b77(%rip), %rsi     # 0x99c59
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x458db
leaq 0x54bad(%rip), %rsi     # 0x99ca6
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x4592a
leaq 0x54bb0(%rip), %rsi     # 0x99cc0
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45993
leaq 0x52b06(%rip), %rsi     # 0x97c2d
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x459b7
leaq 0x54a0e(%rip), %rsi     # 0x99b4c
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45aba
leaq 0x54a0e(%rip), %rsi     # 0x99b63
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45ade
leaq 0x546b6(%rip), %rsi     # 0x99822
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45b02
leaq 0x54bd5(%rip), %rsi     # 0x99d58
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45b42
leaq 0x54bd7(%rip), %rsi     # 0x99d71
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45b7c
leaq 0x54bd7(%rip), %rsi     # 0x99d88
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45bb6
leaq 0x54bd9(%rip), %rsi     # 0x99da1
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45bf0
leaq 0x54bd9(%rip), %rsi     # 0x99db8
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45c2a
leaq 0x54bd9(%rip), %rsi     # 0x99dcf
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45c64
leaq 0x54bdb(%rip), %rsi     # 0x99de8
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45c9e
leaq 0x54bdb(%rip), %rsi     # 0x99dff
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45cd8
leaq 0x54ccf(%rip), %rsi     # 0x99f0a
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45d12
leaq 0x54cc7(%rip), %rsi     # 0x99f19
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45d8e
leaq 0x54cc8(%rip), %rsi     # 0x99f31
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45dbc
leaq 0x545be(%rip), %rsi     # 0x9983e
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45df8
leaq 0x54caa(%rip), %rsi     # 0x99f41
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45e6e
leaq 0x54d02(%rip), %rsi     # 0x99fb0
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45ea7
leaq 0x54782(%rip), %rsi     # 0x99a47
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45ee1
leaq 0x547ae(%rip), %rsi     # 0x99a8a
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x4604e
leaq 0x547df(%rip), %rsi     # 0x99ad2
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x46099
leaq 0x54802(%rip), %rsi     # 0x99b0c
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x460ca
leaq 0x55078(%rip), %rsi     # 0x9a399
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x46104
leaq 0x5483b(%rip), %rsi     # 0x99b73
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x4613a
leaq 0x54d00(%rip), %rsi     # 0x9a04f
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x4615e
leaq 0x54753(%rip), %rsi     # 0x99ab9
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x46182
leaq 0x54c4f(%rip), %rsi     # 0x99fcc
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x461b0
leaq 0x54c47(%rip), %rsi     # 0x99fdb
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x461e9
leaq 0x54c6b(%rip), %rsi     # 0x9a016
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x4621f
leaq 0x54ac4(%rip), %rsi     # 0x99e86
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x4625d
leaq 0x54aec(%rip), %rsi     # 0x99ec5
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x46297
leaq 0x54fb9(%rip), %rsi     # 0x9a3a9
movq %rbx, %rdi
movq %r15, %rdx
jmp 0x45b2d
movq 0x8(%r14), %rdi
callq 0x3056a
testl %eax, %eax
je 0x45496
leaq 0x84b95(%rip), %r15     # 0xc9fa8
movq 0x588(%r15), %rdi
callq 0x29af7
movq 0x8(%r14), %rdi
callq 0x29b31
movq %rax, 0x588(%r15)
jmp 0x455c3
movq 0x8(%r14), %rax
cmpl $0x200, -0x8(%rax)      # imm = 0x200
ja 0x4601e
leaq 0x84b5c(%rip), %r15     # 0xc9fa8
movq 0x40(%r15), %rdi
callq 0x29af7
movq 0x8(%r14), %rdi
cmpb $0x0, (%rdi)
je 0x455bd
callq 0x29b31
jmp 0x455bf
leaq 0x84b35(%rip), %r15     # 0xc9fa8
movq 0x648(%r15), %rdi
callq 0x29af7
movq 0x8(%r14), %rdi
cmpb $0x0, (%rdi)
je 0x455b2
callq 0x29b31
jmp 0x455b4
leaq 0x5488f(%rip), %rsi     # 0x99d2c
movq %rbx, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2dc63
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %al
movq (%r15), %r15
testq %r15, %r15
sets %cl
orb %al, %cl
jne 0x4601e
leaq 0x84ac7(%rip), %rax     # 0xc9fa8
movq %r15, 0x720(%rax)
testq %r15, %r15
je 0x455c3
callq 0x29b5e
cmpq %rax, %r15
jae 0x4550e
leaq 0x54cd6(%rip), %rsi     # 0x9a1d8
movl $0x3, %edi
xorl %eax, %eax
callq 0x23223
callq 0x264f7
jmp 0x455c3
leaq 0x84a89(%rip), %r12     # 0xc9fa8
movl 0x71c(%r12), %ebp
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
setle %dl
orb %cl, %dl
jne 0x4601e
movslq %ebp, %rcx
movl %eax, 0x71c(%r12)
cmpq %rcx, %rax
jle 0x455c3
callq 0x2514a
movslq 0x71c(%r12), %rdx
cmpq %rdx, 0x8(%rsp)
jne 0x4574f
movq 0x28(%r12), %rdi
callq 0x20a32
movl 0x71c(%r12), %esi
subl $-0x80, %esi
cmpl %esi, %eax
jge 0x455c3
movq 0x28(%r12), %rdi
callq 0x20a36
cmpl $-0x1, %eax
jne 0x455c3
leaq 0x54d5c(%rip), %rsi     # 0x9a301
movq %rbx, %rdi
callq 0x2dc63
jmp 0x45760
xorl %eax, %eax
movq %rax, 0x648(%r15)
jmp 0x455c3
xorl %eax, %eax
movq %rax, 0x40(%r15)
leaq 0x85236(%rip), %rax     # 0xca800
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0x2d97c
jmp 0x4603f
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
cmpl $0x2, %eax
movl $0x1, %ecx
cmovgel %eax, %ecx
movl $0x1f4, %eax            # imm = 0x1F4
cmpl %eax, %ecx
cmovgel %eax, %ecx
leaq 0x8498a(%rip), %rax     # 0xc9fa8
movl %ecx, 0x8(%rax)
jmp 0x455c3
movq 0x8(%r14), %r15
leaq 0x54377(%rip), %rsi     # 0x999a5
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45739
leaq 0x5436d(%rip), %rsi     # 0x999b2
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x457a9
leaq 0x54366(%rip), %rsi     # 0x999c2
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x4581e
leaq 0x5435c(%rip), %rsi     # 0x999cf
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45858
leaq 0x54351(%rip), %rsi     # 0x999db
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x458af
leaq 0x54349(%rip), %rsi     # 0x999ea
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
jne 0x4601e
leaq 0x848f0(%rip), %rax     # 0xc9fa8
movl $0x5, 0x728(%rax)
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
setle %dl
orb %cl, %dl
jne 0x4601e
leaq 0x848b3(%rip), %rcx     # 0xc9fa8
movl %eax, 0x72c(%rcx)
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
leaq 0x8487a(%rip), %rcx     # 0xc9fa8
movl %eax, 0x468(%rcx)
jmp 0x455c3
leaq 0x84868(%rip), %rax     # 0xc9fa8
movl $0x0, 0x728(%rax)
jmp 0x455c3
leaq 0x54b53(%rip), %rsi     # 0x9a2a9
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2dc8a
movl %ebp, 0x71c(%r12)
jmp 0x4603f
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
cmpq $0x7fffffff, %rax       # imm = 0x7FFFFFFF
seta %dl
orb %cl, %dl
jne 0x4601e
leaq 0x8480a(%rip), %rcx     # 0xc9fa8
movl %eax, 0x46c(%rcx)
jmp 0x455c3
leaq 0x847f8(%rip), %rax     # 0xc9fa8
movl $0x2, 0x728(%rax)
jmp 0x455c3
movq 0x8(%r14), %r15
leaq 0x52e78(%rip), %rsi     # 0x98642
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x458c5
leaq 0x54441(%rip), %rsi     # 0x99c22
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45914
leaq 0x54423(%rip), %rsi     # 0x99c1b
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
jne 0x4601e
leaq 0x84799(%rip), %rax     # 0xc9fa8
movl $0x1, 0x4d4(%rax)
jmp 0x455c3
leaq 0x84783(%rip), %rax     # 0xc9fa8
movl $0x1, 0x728(%rax)
jmp 0x455c3
movq 0x8(%r14), %rdi
callq 0x43798
cmpl $-0x1, %eax
je 0x4601e
leaq 0x8475b(%rip), %rcx     # 0xc9fa8
movl %eax, 0x4e0(%rcx)
jmp 0x455c3
leaq 0x84749(%rip), %rax     # 0xc9fa8
movl $0x3, 0x728(%rax)
jmp 0x455c3
movq 0x8(%r14), %rdi
callq 0x43798
cmpl $-0x1, %eax
je 0x4601e
testl %eax, %eax
sete %dl
leaq 0x8471c(%rip), %rcx     # 0xc9fa8
movl 0x4d0(%rcx), %ecx
testl %ecx, %ecx
setne %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x45964
callq 0x4909a
jmp 0x455c3
leaq 0x846f2(%rip), %rax     # 0xc9fa8
movl $0x4, 0x728(%rax)
jmp 0x455c3
leaq 0x846dc(%rip), %rax     # 0xc9fa8
movl $0x0, 0x4d4(%rax)
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
leaq 0x8469f(%rip), %rcx     # 0xc9fa8
movl %eax, 0x4e4(%rcx)
jmp 0x455c3
leaq 0x8468d(%rip), %rax     # 0xc9fa8
movl $0x2, 0x4d4(%rax)
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
leaq 0x84650(%rip), %rcx     # 0xc9fa8
movq %rax, 0x4e8(%rcx)
jmp 0x455c3
testl %eax, %eax
setne %al
testl %ecx, %ecx
sete %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x455c3
callq 0x494fe
cmpl $-0x1, %eax
jne 0x455c3
leaq 0x549ca(%rip), %rsi     # 0x9a358
jmp 0x4549d
movq 0x8(%r14), %rdi
callq 0x43798
cmpl $-0x1, %eax
je 0x4601e
leaq 0x845fc(%rip), %rcx     # 0xc9fa8
movl %eax, 0x550(%rcx)
jmp 0x455c3
movq 0x8(%r14), %rdi
movl -0x8(%rdi), %esi
leaq 0x54a4a(%rip), %rdx     # 0x9a40f
leaq 0x14(%rsp), %r12
movl $0x1, %ecx
movq %r12, %r8
callq 0x29056
movq %rax, %r15
movl (%r12), %esi
testb $0x1, %sil
jne 0x46016
testl %esi, %esi
jle 0x45a3e
xorl %r13d, %r13d
leaq 0x8(%rsp), %r12
movq (%r15,%r13,8), %rdi
movq %r12, %rsi
movl $0xa, %edx
callq 0x1fa70
movq 0x8(%rsp), %rcx
cmpb $0x0, (%rcx)
jne 0x46012
testb $0x1, %r13b
jne 0x45a22
testq %rax, %rax
jle 0x46012
testb $0x1, %r13b
je 0x45a31
testq %rax, %rax
js 0x46012
incq %r13
movslq 0x14(%rsp), %rax
cmpq %rax, %r13
jl 0x459f4
leaq 0x84563(%rip), %r14     # 0xc9fa8
movq 0x578(%r14), %rdi
callq 0x29af7
movq $0x0, 0x578(%r14)
movl $0x0, 0x580(%r14)
movl 0x14(%rsp), %esi
testl %esi, %esi
jle 0x45aad
xorl %r12d, %r12d
movq (%r15,%r12,8), %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0x1fa70
movq %rax, %r14
movq 0x8(%r15,%r12,8), %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0x1fa70
movq %r14, %rdi
movl %eax, %esi
callq 0x437cc
addq $0x2, %r12
movl 0x14(%rsp), %esi
cmpl %r12d, %esi
jg 0x45a72
movq %r15, %rdi
callq 0x2921e
jmp 0x455c3
movq 0x8(%r14), %rdi
callq 0x43798
cmpl $-0x1, %eax
je 0x4601e
leaq 0x844d5(%rip), %rcx     # 0xc9fa8
movl %eax, 0x6a8(%rcx)
jmp 0x455c3
movq 0x8(%r14), %rdi
callq 0x43798
cmpl $-0x1, %eax
je 0x4601e
leaq 0x844b1(%rip), %rcx     # 0xc9fa8
movl %eax, 0x6ac(%rcx)
jmp 0x455c3
movq 0x8(%r14), %rdi
callq 0x1f060
cmpl $-0x1, %eax
jne 0x455c3
callq 0x1f810
movl (%rax), %edi
callq 0x1f630
leaq 0x5485b(%rip), %rsi     # 0x9a382
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2dc8a
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
leaq 0x84438(%rip), %rcx     # 0xc9fa8
movq %rax, 0x758(%rcx)
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
leaq 0x843fe(%rip), %rcx     # 0xc9fa8
movq %rax, 0x760(%rcx)
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
leaq 0x843c4(%rip), %rcx     # 0xc9fa8
movq %rax, 0x768(%rcx)
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
leaq 0x8438a(%rip), %rcx     # 0xc9fa8
movq %rax, 0x770(%rcx)
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
leaq 0x84350(%rip), %rcx     # 0xc9fa8
movq %rax, 0x778(%rcx)
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
leaq 0x84316(%rip), %rcx     # 0xc9fa8
movq %rax, 0x780(%rcx)
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
leaq 0x842dc(%rip), %rcx     # 0xc9fa8
movq %rax, 0x788(%rcx)
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
leaq 0x842a2(%rip), %rcx     # 0xc9fa8
movq %rax, 0x790(%rcx)
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
leaq 0x84268(%rip), %rcx     # 0xc9fa8
movq %rax, 0x800(%rcx)
jmp 0x455c3
leaq 0x5444b(%rip), %rdx     # 0x9a19e
leaq 0x540dc(%rip), %rcx     # 0x99e36
movq %rbx, %rdi
movl $0x257, %r8d            # imm = 0x257
jmp 0x45d7f
leaq 0x5444f(%rip), %rdx     # 0x9a1bb
leaq 0x540c3(%rip), %rcx     # 0x99e36
movq %rbx, %rdi
movq %r14, %rsi
movl $0x258, %r8d            # imm = 0x258
callq 0x4d277
movl $0x1, %edi
callq 0x1f3b0
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x31271
cmpl $-0x1, %eax
je 0x4601e
movq 0x8(%rsp), %rax
leaq 0x841f8(%rip), %rcx     # 0xc9fa8
movq %rax, 0x3b8(%rcx)
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
movl %eax, %eax
leaq 0x841bc(%rip), %rcx     # 0xc9fa8
movq %rax, 0x3c0(%rcx)
jmp 0x455c3
movq 0x8(%r14), %r15
leaq 0x53a84(%rip), %rsi     # 0x99887
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45ecb
leaq 0x53a35(%rip), %rsi     # 0x9984f
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x45f1a
leaq 0x53a16(%rip), %rsi     # 0x99847
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
je 0x46083
leaq 0x5da50(%rip), %rsi     # 0xa3898
movq %r15, %rdi
callq 0x1f2e0
testl %eax, %eax
jne 0x4601e
leaq 0x84149(%rip), %rax     # 0xc9fa8
movl $0x0, 0x464(%rax)
jmp 0x455c3
movq 0x8(%r14), %rdi
movl -0x8(%rdi), %esi
leaq 0x54593(%rip), %rdx     # 0x9a40f
leaq 0x14(%rsp), %r12
movl $0x1, %ecx
movq %r12, %r8
callq 0x29056
movq %rax, %r15
movl (%r12), %esi
testb $0x3, %sil
je 0x45f30
movq %r15, %rdi
jmp 0x46019
movq 0x8(%r14), %rdi
callq 0x43798
cmpl $-0x1, %eax
je 0x4601e
leaq 0x840e8(%rip), %rcx     # 0xc9fa8
movl %eax, 0x5bc(%rcx)
jmp 0x455c3
leaq 0x840d6(%rip), %rax     # 0xc9fa8
movl $0x3, 0x464(%rax)
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
setle %dl
orb %cl, %dl
jne 0x4601e
leaq 0x84099(%rip), %rcx     # 0xc9fa8
movl %eax, 0x5f8(%rcx)
jmp 0x455c3
leaq 0x84087(%rip), %rax     # 0xc9fa8
movl $0x2, 0x464(%rax)
jmp 0x455c3
testl %esi, %esi
jle 0x4600a
xorl %r13d, %r13d
leaq 0x8(%rsp), %r12
movq (%r15,%r13,8), %rdi
testb $0x3, %r13b
je 0x45f6f
movq %r12, %rsi
movl $0xa, %edx
callq 0x1fa70
movq 0x8(%rsp), %rcx
cmpb $0x0, (%rcx)
jne 0x46012
testq %rax, %rax
jns 0x45f7d
jmp 0x46012
callq 0x2fa97
cmpl $-0x1, %eax
je 0x46012
incq %r13
movslq 0x14(%rsp), %rsi
cmpq %rsi, %r13
jl 0x45f40
testl %esi, %esi
jle 0x4600a
xorl %r13d, %r13d
movq (%r15,%r13,8), %rdi
callq 0x2fa97
movl %eax, %ebp
movq 0x8(%r15,%r13,8), %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0x1fa70
movq %rax, %r14
movq 0x10(%r15,%r13,8), %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0x1fa70
movq %rax, %r12
movq 0x18(%r15,%r13,8), %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0x1fa70
movslq %ebp, %rcx
leaq (%rcx,%rcx,2), %rcx
leaq 0x83fc5(%rip), %rdx     # 0xc9fa8
movq %r14, 0x488(%rdx,%rcx,8)
movq %r12, 0x490(%rdx,%rcx,8)
cltq
movq %rax, 0x498(%rdx,%rcx,8)
addq $0x4, %r13
movl 0x14(%rsp), %esi
cmpl %r13d, %esi
jg 0x45f91
movq %r15, %rdi
jmp 0x45ab0
movl 0x14(%rsp), %esi
movq %r15, %rdi
callq 0x2921e
movq 0x8(%r14), %rdx
movq 0x38(%rbx), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
leaq 0x54395(%rip), %rsi     # 0x9a3ca
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2dc8a
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
setle %dl
orb %cl, %dl
jne 0x4601e
leaq 0x83f30(%rip), %rcx     # 0xc9fa8
movl %eax, 0x65c(%rcx)
jmp 0x455c3
leaq 0x83f1e(%rip), %rax     # 0xc9fa8
movl $0x1, 0x464(%rax)
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %al
movq (%r15), %rdi
testq %rdi, %rdi
setle %cl
orb %al, %cl
jne 0x4601e
callq 0x335c8
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
leaq 0x83eb0(%rip), %rcx     # 0xc9fa8
movq %rax, 0x628(%rcx)
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %al
movq (%r15), %rdi
testq %rdi, %rdi
sets %cl
orb %al, %cl
jne 0x4601e
testq %rdi, %rdi
je 0x461a6
callq 0x4df3c
jmp 0x455c3
movq 0x8(%r14), %rdi
callq 0x43798
cmpl $-0x1, %eax
je 0x4601e
leaq 0x83e55(%rip), %rcx     # 0xc9fa8
movl %eax, 0x590(%rcx)
jmp 0x455c3
movq 0x8(%r14), %rdi
callq 0x601a0
cmpl $-0x1, %eax
je 0x4601e
leaq 0x83e31(%rip), %rcx     # 0xc9fa8
movl %eax, 0x7b8(%rcx)
jmp 0x455c3
movq 0x8(%r14), %rdi
callq 0x43798
cmpl $-0x1, %eax
je 0x4601e
leaq 0x83e0d(%rip), %rcx     # 0xc9fa8
movl %eax, 0x6b8(%rcx)
jmp 0x455c3
callq 0x4dff8
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
leaq 0x83dca(%rip), %rcx     # 0xc9fa8
movl %eax, 0x6bc(%rcx)
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
leaq 0x83d91(%rip), %rcx     # 0xc9fa8
movl %eax, 0x638(%rcx)
jmp 0x46253
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
leaq 0x83d5b(%rip), %rcx     # 0xc9fa8
movl %eax, 0x63c(%rcx)
callq 0x33f0b
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
setle %dl
orb %cl, %dl
jne 0x4601e
leaq 0x83d1d(%rip), %rcx     # 0xc9fa8
movq %rax, 0x7c0(%rcx)
jmp 0x455c3
leaq 0x8(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x31271
cmpl $-0x1, %eax
sete %cl
movq (%r15), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x4601e
leaq 0x83ce3(%rip), %rcx     # 0xc9fa8
movl %eax, 0x7d8(%rcx)
jmp 0x455c3