// File: /workspace/github_c_makefile_star2_O0/nilyang[P]redis-tdd-annotation/src/config.c
// Function: rewriteConfig
int rewriteConfig(char *path) {
    struct rewriteConfigState *state;
    sds newcontent;
    int retval;

    /* Step 1: read the old config into our rewrite state. */
    if ((state = rewriteConfigReadOldFile(path)) == NULL) return -1;

    /* Step 2: rewrite every single option, replacing or appending it inside
     * the rewrite state. */

    rewriteConfigYesNoOption(state,"daemonize",server.daemonize,0);
    rewriteConfigStringOption(state,"pidfile",server.pidfile,REDIS_DEFAULT_PID_FILE);
    rewriteConfigNumericalOption(state,"port",server.port,REDIS_SERVERPORT);
    rewriteConfigNumericalOption(state,"tcp-backlog",server.tcp_backlog,REDIS_TCP_BACKLOG);
    rewriteConfigBindOption(state);
    rewriteConfigStringOption(state,"unixsocket",server.unixsocket,NULL);
    rewriteConfigOctalOption(state,"unixsocketperm",server.unixsocketperm,REDIS_DEFAULT_UNIX_SOCKET_PERM);
    rewriteConfigNumericalOption(state,"timeout",server.maxidletime,REDIS_MAXIDLETIME);
    rewriteConfigNumericalOption(state,"tcp-keepalive",server.tcpkeepalive,REDIS_DEFAULT_TCP_KEEPALIVE);
    rewriteConfigEnumOption(state,"loglevel",server.verbosity,
        "debug", REDIS_DEBUG,
        "verbose", REDIS_VERBOSE,
        "notice", REDIS_NOTICE,
        "warning", REDIS_WARNING,
        NULL, REDIS_DEFAULT_VERBOSITY);
    rewriteConfigStringOption(state,"logfile",server.logfile,REDIS_DEFAULT_LOGFILE);
    rewriteConfigYesNoOption(state,"syslog-enabled",server.syslog_enabled,REDIS_DEFAULT_SYSLOG_ENABLED);
    rewriteConfigStringOption(state,"syslog-ident",server.syslog_ident,REDIS_DEFAULT_SYSLOG_IDENT);
    rewriteConfigSyslogfacilityOption(state);
    rewriteConfigSaveOption(state);
    rewriteConfigNumericalOption(state,"databases",server.dbnum,REDIS_DEFAULT_DBNUM);
    rewriteConfigYesNoOption(state,"stop-writes-on-bgsave-error",server.stop_writes_on_bgsave_err,REDIS_DEFAULT_STOP_WRITES_ON_BGSAVE_ERROR);
    rewriteConfigYesNoOption(state,"rdbcompression",server.rdb_compression,REDIS_DEFAULT_RDB_COMPRESSION);
    rewriteConfigYesNoOption(state,"rdbchecksum",server.rdb_checksum,REDIS_DEFAULT_RDB_CHECKSUM);
    rewriteConfigStringOption(state,"dbfilename",server.rdb_filename,REDIS_DEFAULT_RDB_FILENAME);
    rewriteConfigDirOption(state);
    rewriteConfigSlaveofOption(state);
    rewriteConfigStringOption(state,"masterauth",server.masterauth,NULL);
    rewriteConfigYesNoOption(state,"slave-serve-stale-data",server.repl_serve_stale_data,REDIS_DEFAULT_SLAVE_SERVE_STALE_DATA);
    rewriteConfigYesNoOption(state,"slave-read-only",server.repl_slave_ro,REDIS_DEFAULT_SLAVE_READ_ONLY);
    rewriteConfigNumericalOption(state,"repl-ping-slave-period",server.repl_ping_slave_period,REDIS_REPL_PING_SLAVE_PERIOD);
    rewriteConfigNumericalOption(state,"repl-timeout",server.repl_timeout,REDIS_REPL_TIMEOUT);
    rewriteConfigBytesOption(state,"repl-backlog-size",server.repl_backlog_size,REDIS_DEFAULT_REPL_BACKLOG_SIZE);
    rewriteConfigBytesOption(state,"repl-backlog-ttl",server.repl_backlog_time_limit,REDIS_DEFAULT_REPL_BACKLOG_TIME_LIMIT);
    rewriteConfigYesNoOption(state,"repl-disable-tcp-nodelay",server.repl_disable_tcp_nodelay,REDIS_DEFAULT_REPL_DISABLE_TCP_NODELAY);
    rewriteConfigNumericalOption(state,"slave-priority",server.slave_priority,REDIS_DEFAULT_SLAVE_PRIORITY);
    rewriteConfigNumericalOption(state,"min-slaves-to-write",server.repl_min_slaves_to_write,REDIS_DEFAULT_MIN_SLAVES_TO_WRITE);
    rewriteConfigNumericalOption(state,"min-slaves-max-lag",server.repl_min_slaves_max_lag,REDIS_DEFAULT_MIN_SLAVES_MAX_LAG);
    rewriteConfigStringOption(state,"requirepass",server.requirepass,NULL);
    rewriteConfigNumericalOption(state,"maxclients",server.maxclients,REDIS_MAX_CLIENTS);
    rewriteConfigBytesOption(state,"maxmemory",server.maxmemory,REDIS_DEFAULT_MAXMEMORY);
    rewriteConfigEnumOption(state,"maxmemory-policy",server.maxmemory_policy,
        "volatile-lru", REDIS_MAXMEMORY_VOLATILE_LRU,
        "allkeys-lru", REDIS_MAXMEMORY_ALLKEYS_LRU,
        "volatile-random", REDIS_MAXMEMORY_VOLATILE_RANDOM,
        "allkeys-random", REDIS_MAXMEMORY_ALLKEYS_RANDOM,
        "volatile-ttl", REDIS_MAXMEMORY_VOLATILE_TTL,
        "noeviction", REDIS_MAXMEMORY_NO_EVICTION,
        NULL, REDIS_DEFAULT_MAXMEMORY_POLICY);
    rewriteConfigNumericalOption(state,"maxmemory-samples",server.maxmemory_samples,REDIS_DEFAULT_MAXMEMORY_SAMPLES);
    rewriteConfigYesNoOption(state,"appendonly",server.aof_state != REDIS_AOF_OFF,0);
    rewriteConfigStringOption(state,"appendfilename",server.aof_filename,REDIS_DEFAULT_AOF_FILENAME);
    rewriteConfigEnumOption(state,"appendfsync",server.aof_fsync,
        "everysec", AOF_FSYNC_EVERYSEC,
        "always", AOF_FSYNC_ALWAYS,
        "no", AOF_FSYNC_NO,
        NULL, REDIS_DEFAULT_AOF_FSYNC);
    rewriteConfigYesNoOption(state,"no-appendfsync-on-rewrite",server.aof_no_fsync_on_rewrite,REDIS_DEFAULT_AOF_NO_FSYNC_ON_REWRITE);
    rewriteConfigNumericalOption(state,"auto-aof-rewrite-percentage",server.aof_rewrite_perc,REDIS_AOF_REWRITE_PERC);
    rewriteConfigBytesOption(state,"auto-aof-rewrite-min-size",server.aof_rewrite_min_size,REDIS_AOF_REWRITE_MIN_SIZE);
    rewriteConfigNumericalOption(state,"lua-time-limit",server.lua_time_limit,REDIS_LUA_TIME_LIMIT);
    rewriteConfigYesNoOption(state,"cluster-enabled",server.cluster_enabled,0);
    rewriteConfigStringOption(state,"cluster-config-file",server.cluster_configfile,REDIS_DEFAULT_CLUSTER_CONFIG_FILE);
    rewriteConfigNumericalOption(state,"cluster-node-timeout",server.cluster_node_timeout,REDIS_CLUSTER_DEFAULT_NODE_TIMEOUT);
    rewriteConfigNumericalOption(state,"cluster-migration-barrier",server.cluster_migration_barrier,REDIS_CLUSTER_DEFAULT_MIGRATION_BARRIER);
    rewriteConfigNumericalOption(state,"slowlog-log-slower-than",server.slowlog_log_slower_than,REDIS_SLOWLOG_LOG_SLOWER_THAN);
    rewriteConfigNumericalOption(state,"slowlog-max-len",server.slowlog_max_len,REDIS_SLOWLOG_MAX_LEN);
    rewriteConfigNotifykeyspaceeventsOption(state);
    rewriteConfigNumericalOption(state,"hash-max-ziplist-entries",server.hash_max_ziplist_entries,REDIS_HASH_MAX_ZIPLIST_ENTRIES);
    rewriteConfigNumericalOption(state,"hash-max-ziplist-value",server.hash_max_ziplist_value,REDIS_HASH_MAX_ZIPLIST_VALUE);
    rewriteConfigNumericalOption(state,"list-max-ziplist-entries",server.list_max_ziplist_entries,REDIS_LIST_MAX_ZIPLIST_ENTRIES);
    rewriteConfigNumericalOption(state,"list-max-ziplist-value",server.list_max_ziplist_value,REDIS_LIST_MAX_ZIPLIST_VALUE);
    rewriteConfigNumericalOption(state,"set-max-intset-entries",server.set_max_intset_entries,REDIS_SET_MAX_INTSET_ENTRIES);
    rewriteConfigNumericalOption(state,"zset-max-ziplist-entries",server.zset_max_ziplist_entries,REDIS_ZSET_MAX_ZIPLIST_ENTRIES);
    rewriteConfigNumericalOption(state,"zset-max-ziplist-value",server.zset_max_ziplist_value,REDIS_ZSET_MAX_ZIPLIST_VALUE);
    rewriteConfigNumericalOption(state,"hll-sparse-max-bytes",server.hll_sparse_max_bytes,REDIS_DEFAULT_HLL_SPARSE_MAX_BYTES);
    rewriteConfigYesNoOption(state,"activerehashing",server.activerehashing,REDIS_DEFAULT_ACTIVE_REHASHING);
    rewriteConfigClientoutputbufferlimitOption(state);
    rewriteConfigNumericalOption(state,"hz",server.hz,REDIS_DEFAULT_HZ);
    rewriteConfigYesNoOption(state,"aof-rewrite-incremental-fsync",server.aof_rewrite_incremental_fsync,REDIS_DEFAULT_AOF_REWRITE_INCREMENTAL_FSYNC);
    if (server.sentinel_mode) rewriteConfigSentinelOption(state);

    /* Step 3: remove all the orphaned lines in the old file, that is, lines
     * that were used by a config option and are no longer used, like in case
     * of multiple "save" options or duplicated options. */
    rewriteConfigRemoveOrphaned(state);

    /* Step 4: generate a new configuration file from the modified state
     * and write it into the original file. */
    newcontent = rewriteConfigGetContentFromState(state);
    retval = rewriteConfigOverwriteFile(server.configfile,newcontent);

    sdsfree(newcontent);
    rewriteConfigReleaseState(state);
    return retval;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x80, %rsp
movq %rdi, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x5c8c0
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
jne 0x5dbc1
movl $0xffffffff, -0x14(%rbp) # imm = 0xFFFFFFFF
jmp 0x5e511
movq -0x28(%rbp), %rdi
leaq 0xb5d2c(%rip), %rax     # 0x1138f8
movl 0x484(%rax), %edx
leaq 0x86094(%rip), %rsi     # 0xe3c6d
xorl %ecx, %ecx
callq 0x5ce00
movq -0x28(%rbp), %rdi
leaq 0xb5d0d(%rip), %rax     # 0x1138f8
movq 0x48(%rax), %rdx
leaq 0x861f2(%rip), %rsi     # 0xe3de8
leaq 0x81182(%rip), %rcx     # 0xded7f
callq 0x5ce80
movq -0x28(%rbp), %rdi
leaq 0xb5ceb(%rip), %rax     # 0x1138f8
movslq 0x88(%rax), %rdx
leaq 0x85c36(%rip), %rsi     # 0xe3851
movl $0x18eb, %ecx           # imm = 0x18EB
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb5cc8(%rip), %rax     # 0x1138f8
movslq 0x8c(%rax), %rdx
leaq 0x85c18(%rip), %rsi     # 0xe3856
movl $0x1ff, %ecx            # imm = 0x1FF
callq 0x5cf50
movq -0x28(%rbp), %rdi
callq 0x5d740
movq -0x28(%rbp), %rdi
leaq 0xb5c9c(%rip), %rax     # 0x1138f8
movq 0x118(%rax), %rdx
leaq 0x85c35(%rip), %rsi     # 0xe389f
xorl %eax, %eax
movl %eax, %ecx
callq 0x5ce80
movq -0x28(%rbp), %rdi
leaq 0xb5c7a(%rip), %rax     # 0x1138f8
movl 0x120(%rax), %edx
leaq 0x85c1f(%rip), %rsi     # 0xe38aa
xorl %ecx, %ecx
callq 0x5cfc0
movq -0x28(%rbp), %rdi
leaq 0xb5c5b(%rip), %rax     # 0x1138f8
movslq 0x468(%rax), %rdx
leaq 0x862b7(%rip), %rsi     # 0xe3f62
xorl %eax, %eax
movl %eax, %ecx
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb5c39(%rip), %rax     # 0x1138f8
movslq 0x46c(%rax), %rdx
leaq 0x85b52(%rip), %rsi     # 0xe381f
xorl %eax, %eax
movl %eax, %ecx
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb5c17(%rip), %rax     # 0x1138f8
movl 0x464(%rax), %edx
leaq 0x85c1f(%rip), %rsi     # 0xe390d
leaq 0x900d8(%rip), %rcx     # 0xeddcd
xorl %r8d, %r8d
leaq 0x85c17(%rip), %r9      # 0xe3916
leaq 0x85c18(%rip), %r10     # 0xe391e
leaq 0x85c49(%rip), %rax     # 0xe3956
xorl %r11d, %r11d
movl $0x1, (%rsp)
movq %r10, 0x8(%rsp)
movl $0x2, 0x10(%rsp)
movq %rax, 0x18(%rsp)
movl $0x3, 0x20(%rsp)
movq $0x0, 0x28(%rsp)
movl $0x2, 0x30(%rsp)
movb $0x0, %al
callq 0x5d030
movq -0x28(%rbp), %rdi
leaq 0xb5ba4(%rip), %rax     # 0x1138f8
movq 0x5d0(%rax), %rdx
leaq 0x85bfc(%rip), %rsi     # 0xe395e
leaq 0x83690(%rip), %rcx     # 0xe13f9
callq 0x5ce80
movq -0x28(%rbp), %rdi
leaq 0xb5b7f(%rip), %rax     # 0x1138f8
movl 0x5d8(%rax), %edx
leaq 0x85bfc(%rip), %rsi     # 0xe3982
xorl %ecx, %ecx
callq 0x5ce00
movq -0x28(%rbp), %rdi
leaq 0xb5b60(%rip), %rax     # 0x1138f8
movq 0x5e0(%rax), %rdx
leaq 0x85c0a(%rip), %rsi     # 0xe39b0
leaq 0x80fcc(%rip), %rcx     # 0xded79
callq 0x5ce80
movq -0x28(%rbp), %rdi
callq 0x5d200
movq -0x28(%rbp), %rdi
callq 0x5d2e0
movq -0x28(%rbp), %rdi
leaq 0xb5b29(%rip), %rax     # 0x1138f8
movslq 0x480(%rax), %rdx
leaq 0x85c45(%rip), %rsi     # 0xe3a22
movl $0x10, %ecx
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb5b06(%rip), %rax     # 0x1138f8
movl 0x5bc(%rax), %edx
leaq 0x86280(%rip), %rsi     # 0xe407f
movl $0x1, %ecx
callq 0x5ce00
movq -0x28(%rbp), %rdi
leaq 0xb5ae4(%rip), %rax     # 0x1138f8
movl 0x590(%rax), %edx
leaq 0x85e21(%rip), %rsi     # 0xe3c42
movl $0x1, %ecx
callq 0x5ce00
movq -0x28(%rbp), %rdi
leaq 0xb5ac2(%rip), %rax     # 0x1138f8
movl 0x594(%rax), %edx
leaq 0x85e0e(%rip), %rsi     # 0xe3c51
movl $0x1, %ecx
callq 0x5ce00
movq -0x28(%rbp), %rdi
leaq 0xb5aa0(%rip), %rax     # 0x1138f8
movq 0x588(%rax), %rdx
leaq 0x85f8a(%rip), %rsi     # 0xe3df0
leaq 0x80f25(%rip), %rcx     # 0xded92
callq 0x5ce80
movq -0x28(%rbp), %rdi
callq 0x5d3a0
movq -0x28(%rbp), %rdi
callq 0x5d400
movq -0x28(%rbp), %rdi
leaq 0xb5a69(%rip), %rax     # 0x1138f8
movq 0x648(%rax), %rdx
leaq 0x85d73(%rip), %rsi     # 0xe3c10
xorl %eax, %eax
movl %eax, %ecx
callq 0x5ce80
movq -0x28(%rbp), %rdi
leaq 0xb5a47(%rip), %rax     # 0x1138f8
movl 0x6a8(%rax), %edx
leaq 0x85d5d(%rip), %rsi     # 0xe3c1b
movl $0x1, %ecx
callq 0x5ce00
movq -0x28(%rbp), %rdi
leaq 0xb5a25(%rip), %rax     # 0x1138f8
movl 0x6ac(%rax), %edx
leaq 0x85d52(%rip), %rsi     # 0xe3c32
movl $0x1, %ecx
callq 0x5ce00
movq -0x28(%rbp), %rdi
leaq 0xb5a03(%rip), %rax     # 0x1138f8
movslq 0x5f8(%rax), %rdx
leaq 0x85c13(%rip), %rsi     # 0xe3b16
movl $0xa, %ecx
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb59e0(%rip), %rax     # 0x1138f8
movslq 0x65c(%rax), %rdx
leaq 0x85c33(%rip), %rsi     # 0xe3b59
movl $0x3c, %ecx
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb59bd(%rip), %rax     # 0x1138f8
movq 0x608(%rax), %rdx
leaq 0x85c58(%rip), %rsi     # 0xe3ba1
movl $0x100000, %ecx         # imm = 0x100000
callq 0x5cd80
movq -0x28(%rbp), %rdi
leaq 0xb599a(%rip), %rax     # 0x1138f8
movq 0x628(%rax), %rdx
leaq 0x85c6f(%rip), %rsi     # 0xe3bdb
movl $0xe10, %ecx            # imm = 0xE10
callq 0x5cd80
movq -0x28(%rbp), %rdi
leaq 0xb5977(%rip), %rax     # 0x1138f8
movl 0x6b8(%rax), %edx
leaq 0x85bfa(%rip), %rsi     # 0xe3b88
xorl %ecx, %ecx
callq 0x5ce00
movq -0x28(%rbp), %rdi
leaq 0xb5958(%rip), %rax     # 0x1138f8
movslq 0x6bc(%rax), %rdx
leaq 0x860ed(%rip), %rsi     # 0xe409b
movl $0x64, %ecx
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb5935(%rip), %rax     # 0x1138f8
movslq 0x638(%rax), %rdx
leaq 0x860d9(%rip), %rsi     # 0xe40aa
xorl %eax, %eax
movl %eax, %ecx
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb5913(%rip), %rax     # 0x1138f8
movslq 0x63c(%rax), %rdx
leaq 0x860f2(%rip), %rsi     # 0xe40e5
movl $0xa, %ecx
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb58f0(%rip), %rax     # 0x1138f8
movq 0x40(%rax), %rdx
leaq 0x85d9a(%rip), %rsi     # 0xe3dad
xorl %eax, %eax
movl %eax, %ecx
callq 0x5ce80
movq -0x28(%rbp), %rdi
leaq 0xb58d1(%rip), %rax     # 0x1138f8
movslq 0x71c(%rax), %rdx
leaq 0x859ff(%rip), %rsi     # 0xe3a34
movl $0x2710, %ecx           # imm = 0x2710
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb58ae(%rip), %rax     # 0x1138f8
movq 0x720(%rax), %rdx
leaq 0x85a01(%rip), %rsi     # 0xe3a59
xorl %eax, %eax
movl %eax, %ecx
callq 0x5cd80
movq -0x28(%rbp), %rdi
leaq 0xb588c(%rip), %rax     # 0x1138f8
movl 0x728(%rax), %edx
leaq 0x859ea(%rip), %rsi     # 0xe3a63
leaq 0x859f4(%rip), %rcx     # 0xe3a74
xorl %r8d, %r8d
leaq 0x85a14(%rip), %r9      # 0xe3a9e
leaq 0x859f0(%rip), %rbx     # 0xe3a81
leaq 0x85a12(%rip), %r11     # 0xe3aaa
leaq 0x859f2(%rip), %r10     # 0xe3a91
leaq 0x85a13(%rip), %rax     # 0xe3ab9
xorl %r14d, %r14d
movl $0x3, (%rsp)
movq %rbx, 0x8(%rsp)
movl $0x2, 0x10(%rsp)
movq %r11, 0x18(%rsp)
movl $0x4, 0x20(%rsp)
movq %r10, 0x28(%rsp)
movl $0x1, 0x30(%rsp)
movq %rax, 0x38(%rsp)
movl $0x5, 0x40(%rsp)
movq $0x0, 0x48(%rsp)
movl $0x5, 0x50(%rsp)
movb $0x0, %al
callq 0x5d030
movq -0x28(%rbp), %rdi
leaq 0xb57f1(%rip), %rax     # 0x1138f8
movslq 0x72c(%rax), %rdx
leaq 0x859c8(%rip), %rsi     # 0xe3add
movl $0x5, %ecx
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb57ce(%rip), %rax     # 0x1138f8
cmpl $0x0, 0x4d0(%rax)
setne %al
andb $0x1, %al
movzbl %al, %edx
leaq 0x85b3a(%rip), %rsi     # 0xe3c7a
xorl %ecx, %ecx
callq 0x5ce00
movq -0x28(%rbp), %rdi
leaq 0xb57a6(%rip), %rax     # 0x1138f8
movq 0x4d8(%rax), %rdx
leaq 0x85b25(%rip), %rsi     # 0xe3c85
leaq 0x80c34(%rip), %rcx     # 0xded9b
callq 0x5ce80
movq -0x28(%rbp), %rdi
leaq 0xb5781(%rip), %rax     # 0x1138f8
movl 0x4d4(%rax), %edx
leaq 0x85b5a(%rip), %rsi     # 0xe3cde
leaq 0x85b66(%rip), %rcx     # 0xe3cf1
movl $0x2, %r8d
leaq 0x85b52(%rip), %r9      # 0xe3cea
leaq 0x8456f(%rip), %rax     # 0xe270e
xorl %r10d, %r10d
xorl %r10d, %r10d
movl $0x1, (%rsp)
movq %rax, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
movq $0x0, 0x18(%rsp)
movl $0x2, 0x20(%rsp)
movb $0x0, %al
callq 0x5d030
movq -0x28(%rbp), %rdi
leaq 0xb571c(%rip), %rax     # 0x1138f8
movl 0x4e0(%rax), %edx
leaq 0x85adb(%rip), %rsi     # 0xe3cc4
xorl %ecx, %ecx
callq 0x5ce00
movq -0x28(%rbp), %rdi
leaq 0xb56fd(%rip), %rax     # 0x1138f8
movslq 0x4e4(%rax), %rdx
leaq 0x85b1f(%rip), %rsi     # 0xe3d28
movl $0x64, %ecx
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb56da(%rip), %rax     # 0x1138f8
movq 0x4e8(%rax), %rdx
leaq 0x85b49(%rip), %rsi     # 0xe3d75
movl $0x4000000, %ecx        # imm = 0x4000000
callq 0x5cd80
movq -0x28(%rbp), %rdi
leaq 0xb56b7(%rip), %rax     # 0x1138f8
movq 0x800(%rax), %rdx
leaq 0x85d8a(%rip), %rsi     # 0xe3fd9
movl $0x1388, %ecx           # imm = 0x1388
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb5694(%rip), %rax     # 0x1138f8
movl 0x7bc(%rax), %edx
leaq 0x85cc0(%rip), %rsi     # 0xe3f31
xorl %ecx, %ecx
callq 0x5ce00
movq -0x28(%rbp), %rdi
leaq 0xb5675(%rip), %rax     # 0x1138f8
movq 0x7c8(%rax), %rdx
leaq 0x85cb0(%rip), %rsi     # 0xe3f41
leaq 0x80b12(%rip), %rcx     # 0xdedaa
callq 0x5ce80
movq -0x28(%rbp), %rdi
leaq 0xb5650(%rip), %rax     # 0x1138f8
movq 0x7c0(%rax), %rdx
leaq 0x85c9f(%rip), %rsi     # 0xe3f55
movl $0x3a98, %ecx           # imm = 0x3A98
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb562d(%rip), %rax     # 0x1138f8
movslq 0x7d8(%rax), %rdx
leaq 0x85cbb(%rip), %rsi     # 0xe3f94
movl $0x1, %ecx
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb560a(%rip), %rax     # 0x1138f8
movq 0x3b8(%rax), %rdx
leaq 0x85cec(%rip), %rsi     # 0xe3fe8
movl $0x2710, %ecx           # imm = 0x2710
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb55e7(%rip), %rax     # 0x1138f8
movq 0x3c0(%rax), %rdx
leaq 0x85ce1(%rip), %rsi     # 0xe4000
movl $0x80, %ecx
callq 0x5cf50
movq -0x28(%rbp), %rdi
callq 0x5d4a0
movq -0x28(%rbp), %rdi
leaq 0xb55bb(%rip), %rax     # 0x1138f8
movq 0x758(%rax), %rdx
leaq 0x85adc(%rip), %rsi     # 0xe3e27
movl $0x200, %ecx            # imm = 0x200
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb5598(%rip), %rax     # 0x1138f8
movq 0x760(%rax), %rdx
leaq 0x85ad2(%rip), %rsi     # 0xe3e40
movl $0x40, %ecx
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb5575(%rip), %rax     # 0x1138f8
movq 0x768(%rax), %rdx
leaq 0x85ac6(%rip), %rsi     # 0xe3e57
movl $0x200, %ecx            # imm = 0x200
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb5552(%rip), %rax     # 0x1138f8
movq 0x770(%rax), %rdx
leaq 0x85abc(%rip), %rsi     # 0xe3e70
movl $0x40, %ecx
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb552f(%rip), %rax     # 0x1138f8
movq 0x778(%rax), %rdx
leaq 0x85ab0(%rip), %rsi     # 0xe3e87
movl $0x200, %ecx            # imm = 0x200
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb550c(%rip), %rax     # 0x1138f8
movq 0x780(%rax), %rdx
leaq 0x85aa4(%rip), %rsi     # 0xe3e9e
movl $0x80, %ecx
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb54e9(%rip), %rax     # 0x1138f8
movq 0x788(%rax), %rdx
leaq 0x85a9a(%rip), %rsi     # 0xe3eb7
movl $0x40, %ecx
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb54c6(%rip), %rax     # 0x1138f8
movq 0x790(%rax), %rdx
leaq 0x85a8e(%rip), %rsi     # 0xe3ece
movl $0xbb8, %ecx            # imm = 0xBB8
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb54a3(%rip), %rax     # 0x1138f8
movl 0x38(%rax), %edx
leaq 0x857fe(%rip), %rsi     # 0xe3c5d
movl $0x1, %ecx
callq 0x5ce00
movq -0x28(%rbp), %rdi
callq 0x5d560
movq -0x28(%rbp), %rdi
leaq 0xb547b(%rip), %rax     # 0x1138f8
movslq 0x8(%rax), %rdx
leaq 0x857ef(%rip), %rsi     # 0xe3c77
movl $0xa, %ecx
callq 0x5cf50
movq -0x28(%rbp), %rdi
leaq 0xb545b(%rip), %rax     # 0x1138f8
movl 0x550(%rax), %edx
leaq 0x858e5(%rip), %rsi     # 0xe3d8f
movl $0x1, %ecx
callq 0x5ce00
leaq 0xb543d(%rip), %rax     # 0x1138f8
cmpl $0x0, 0x84(%rax)
je 0x5e4cd
movq -0x28(%rbp), %rdi
callq 0x7c160
movq -0x28(%rbp), %rdi
callq 0x5d910
movq -0x28(%rbp), %rdi
callq 0x5d810
movq %rax, -0x30(%rbp)
leaq 0xb540e(%rip), %rax     # 0x1138f8
movq (%rax), %rdi
movq -0x30(%rbp), %rsi
callq 0x5da00
movl %eax, -0x34(%rbp)
movq -0x30(%rbp), %rdi
callq 0x2c160
movq -0x28(%rbp), %rdi
callq 0x5d8c0
movl -0x34(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
addq $0x80, %rsp
popq %rbx
popq %r14
popq %rbp
retq