// File: /workspace/github_c_makefile_star2_O1/zhou-yuxin[P]redis-aof-no-cow/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,CONFIG_DEFAULT_PID_FILE);
    rewriteConfigNumericalOption(state,"port",server.port,CONFIG_DEFAULT_SERVER_PORT);
    rewriteConfigNumericalOption(state,"tcp-backlog",server.tcp_backlog,CONFIG_DEFAULT_TCP_BACKLOG);
    rewriteConfigBindOption(state);
    rewriteConfigStringOption(state,"unixsocket",server.unixsocket,NULL);
    rewriteConfigOctalOption(state,"unixsocketperm",server.unixsocketperm,CONFIG_DEFAULT_UNIX_SOCKET_PERM);
    rewriteConfigNumericalOption(state,"timeout",server.maxidletime,CONFIG_DEFAULT_CLIENT_TIMEOUT);
    rewriteConfigNumericalOption(state,"tcp-keepalive",server.tcpkeepalive,CONFIG_DEFAULT_TCP_KEEPALIVE);
    rewriteConfigNumericalOption(state,"slave-announce-port",server.slave_announce_port,CONFIG_DEFAULT_SLAVE_ANNOUNCE_PORT);
    rewriteConfigEnumOption(state,"loglevel",server.verbosity,loglevel_enum,CONFIG_DEFAULT_VERBOSITY);
    rewriteConfigStringOption(state,"logfile",server.logfile,CONFIG_DEFAULT_LOGFILE);
    rewriteConfigYesNoOption(state,"syslog-enabled",server.syslog_enabled,CONFIG_DEFAULT_SYSLOG_ENABLED);
    rewriteConfigStringOption(state,"syslog-ident",server.syslog_ident,CONFIG_DEFAULT_SYSLOG_IDENT);
    rewriteConfigSyslogfacilityOption(state);
    rewriteConfigSaveOption(state);
    rewriteConfigNumericalOption(state,"databases",server.dbnum,CONFIG_DEFAULT_DBNUM);
    rewriteConfigYesNoOption(state,"stop-writes-on-bgsave-error",server.stop_writes_on_bgsave_err,CONFIG_DEFAULT_STOP_WRITES_ON_BGSAVE_ERROR);
    rewriteConfigYesNoOption(state,"rdbcompression",server.rdb_compression,CONFIG_DEFAULT_RDB_COMPRESSION);
    rewriteConfigYesNoOption(state,"rdbchecksum",server.rdb_checksum,CONFIG_DEFAULT_RDB_CHECKSUM);
    rewriteConfigStringOption(state,"dbfilename",server.rdb_filename,CONFIG_DEFAULT_RDB_FILENAME);
    rewriteConfigDirOption(state);
    rewriteConfigSlaveofOption(state);
    rewriteConfigStringOption(state,"slave-announce-ip",server.slave_announce_ip,CONFIG_DEFAULT_SLAVE_ANNOUNCE_IP);
    rewriteConfigStringOption(state,"masterauth",server.masterauth,NULL);
    rewriteConfigYesNoOption(state,"slave-serve-stale-data",server.repl_serve_stale_data,CONFIG_DEFAULT_SLAVE_SERVE_STALE_DATA);
    rewriteConfigYesNoOption(state,"slave-read-only",server.repl_slave_ro,CONFIG_DEFAULT_SLAVE_READ_ONLY);
    rewriteConfigNumericalOption(state,"repl-ping-slave-period",server.repl_ping_slave_period,CONFIG_DEFAULT_REPL_PING_SLAVE_PERIOD);
    rewriteConfigNumericalOption(state,"repl-timeout",server.repl_timeout,CONFIG_DEFAULT_REPL_TIMEOUT);
    rewriteConfigBytesOption(state,"repl-backlog-size",server.repl_backlog_size,CONFIG_DEFAULT_REPL_BACKLOG_SIZE);
    rewriteConfigBytesOption(state,"repl-backlog-ttl",server.repl_backlog_time_limit,CONFIG_DEFAULT_REPL_BACKLOG_TIME_LIMIT);
    rewriteConfigYesNoOption(state,"repl-disable-tcp-nodelay",server.repl_disable_tcp_nodelay,CONFIG_DEFAULT_REPL_DISABLE_TCP_NODELAY);
    rewriteConfigYesNoOption(state,"repl-diskless-sync",server.repl_diskless_sync,CONFIG_DEFAULT_REPL_DISKLESS_SYNC);
    rewriteConfigNumericalOption(state,"repl-diskless-sync-delay",server.repl_diskless_sync_delay,CONFIG_DEFAULT_REPL_DISKLESS_SYNC_DELAY);
    rewriteConfigNumericalOption(state,"slave-priority",server.slave_priority,CONFIG_DEFAULT_SLAVE_PRIORITY);
    rewriteConfigNumericalOption(state,"min-slaves-to-write",server.repl_min_slaves_to_write,CONFIG_DEFAULT_MIN_SLAVES_TO_WRITE);
    rewriteConfigNumericalOption(state,"min-slaves-max-lag",server.repl_min_slaves_max_lag,CONFIG_DEFAULT_MIN_SLAVES_MAX_LAG);
    rewriteConfigStringOption(state,"requirepass",server.requirepass,NULL);
    rewriteConfigNumericalOption(state,"maxclients",server.maxclients,CONFIG_DEFAULT_MAX_CLIENTS);
    rewriteConfigBytesOption(state,"maxmemory",server.maxmemory,CONFIG_DEFAULT_MAXMEMORY);
    rewriteConfigEnumOption(state,"maxmemory-policy",server.maxmemory_policy,maxmemory_policy_enum,CONFIG_DEFAULT_MAXMEMORY_POLICY);
    rewriteConfigNumericalOption(state,"maxmemory-samples",server.maxmemory_samples,CONFIG_DEFAULT_MAXMEMORY_SAMPLES);
    rewriteConfigYesNoOption(state,"appendonly",server.aof_state != AOF_OFF,0);
    rewriteConfigStringOption(state,"appendfilename",server.aof_filename,CONFIG_DEFAULT_AOF_FILENAME);
    rewriteConfigEnumOption(state,"appendfsync",server.aof_fsync,aof_fsync_enum,CONFIG_DEFAULT_AOF_FSYNC);
    rewriteConfigYesNoOption(state,"no-appendfsync-on-rewrite",server.aof_no_fsync_on_rewrite,CONFIG_DEFAULT_AOF_NO_FSYNC_ON_REWRITE);
    rewriteConfigNumericalOption(state,"auto-aof-rewrite-percentage",server.aof_rewrite_perc,AOF_REWRITE_PERC);
    rewriteConfigBytesOption(state,"auto-aof-rewrite-min-size",server.aof_rewrite_min_size,AOF_REWRITE_MIN_SIZE);
    rewriteConfigNumericalOption(state,"lua-time-limit",server.lua_time_limit,LUA_SCRIPT_TIME_LIMIT);
    rewriteConfigYesNoOption(state,"cluster-enabled",server.cluster_enabled,0);
    rewriteConfigStringOption(state,"cluster-config-file",server.cluster_configfile,CONFIG_DEFAULT_CLUSTER_CONFIG_FILE);
    rewriteConfigYesNoOption(state,"cluster-require-full-coverage",server.cluster_require_full_coverage,CLUSTER_DEFAULT_REQUIRE_FULL_COVERAGE);
    rewriteConfigNumericalOption(state,"cluster-node-timeout",server.cluster_node_timeout,CLUSTER_DEFAULT_NODE_TIMEOUT);
    rewriteConfigNumericalOption(state,"cluster-migration-barrier",server.cluster_migration_barrier,CLUSTER_DEFAULT_MIGRATION_BARRIER);
    rewriteConfigNumericalOption(state,"cluster-slave-validity-factor",server.cluster_slave_validity_factor,CLUSTER_DEFAULT_SLAVE_VALIDITY);
    rewriteConfigNumericalOption(state,"slowlog-log-slower-than",server.slowlog_log_slower_than,CONFIG_DEFAULT_SLOWLOG_LOG_SLOWER_THAN);
    rewriteConfigNumericalOption(state,"latency-monitor-threshold",server.latency_monitor_threshold,CONFIG_DEFAULT_LATENCY_MONITOR_THRESHOLD);
    rewriteConfigNumericalOption(state,"slowlog-max-len",server.slowlog_max_len,CONFIG_DEFAULT_SLOWLOG_MAX_LEN);
    rewriteConfigNotifykeyspaceeventsOption(state);
    rewriteConfigNumericalOption(state,"hash-max-ziplist-entries",server.hash_max_ziplist_entries,OBJ_HASH_MAX_ZIPLIST_ENTRIES);
    rewriteConfigNumericalOption(state,"hash-max-ziplist-value",server.hash_max_ziplist_value,OBJ_HASH_MAX_ZIPLIST_VALUE);
    rewriteConfigNumericalOption(state,"list-max-ziplist-size",server.list_max_ziplist_size,OBJ_LIST_MAX_ZIPLIST_SIZE);
    rewriteConfigNumericalOption(state,"list-compress-depth",server.list_compress_depth,OBJ_LIST_COMPRESS_DEPTH);
    rewriteConfigNumericalOption(state,"set-max-intset-entries",server.set_max_intset_entries,OBJ_SET_MAX_INTSET_ENTRIES);
    rewriteConfigNumericalOption(state,"zset-max-ziplist-entries",server.zset_max_ziplist_entries,OBJ_ZSET_MAX_ZIPLIST_ENTRIES);
    rewriteConfigNumericalOption(state,"zset-max-ziplist-value",server.zset_max_ziplist_value,OBJ_ZSET_MAX_ZIPLIST_VALUE);
    rewriteConfigNumericalOption(state,"hll-sparse-max-bytes",server.hll_sparse_max_bytes,CONFIG_DEFAULT_HLL_SPARSE_MAX_BYTES);
    rewriteConfigYesNoOption(state,"activerehashing",server.activerehashing,CONFIG_DEFAULT_ACTIVE_REHASHING);
    rewriteConfigYesNoOption(state,"protected-mode",server.protected_mode,CONFIG_DEFAULT_PROTECTED_MODE);
    rewriteConfigClientoutputbufferlimitOption(state);
    rewriteConfigNumericalOption(state,"hz",server.hz,CONFIG_DEFAULT_HZ);
    rewriteConfigYesNoOption(state,"aof-rewrite-incremental-fsync",server.aof_rewrite_incremental_fsync,CONFIG_DEFAULT_AOF_REWRITE_INCREMENTAL_FSYNC);
    rewriteConfigYesNoOption(state,"aof-load-truncated",server.aof_load_truncated,CONFIG_DEFAULT_AOF_LOAD_TRUNCATED);
    rewriteConfigEnumOption(state,"supervised",server.supervised_mode,supervised_mode_enum,SUPERVISED_NONE);

    /* Rewrite Sentinel config if in Sentinel mode. */
    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
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
callq 0x5f29a
testq %rax, %rax
je 0x60777
movq %rax, %rbx
leaq 0xa6860(%rip), %r15     # 0x106858
movl 0x60c(%r15), %edx
leaq 0x671fe(%rip), %rsi     # 0xc7204
movq %rax, %rdi
xorl %ecx, %ecx
callq 0x5f699
movq 0x60(%r15), %rdx
leaq 0x67368(%rip), %rsi     # 0xc7383
leaq 0x6173b(%rip), %rcx     # 0xc175d
movq %rbx, %rdi
callq 0x5f6f7
movslq 0xa0(%r15), %rdx
leaq 0x66dd9(%rip), %rsi     # 0xc6e11
movl $0x18eb, %ecx           # imm = 0x18EB
movq %rbx, %rdi
callq 0x5f78c
movslq 0xa4(%r15), %rdx
leaq 0x66dc3(%rip), %rsi     # 0xc6e16
movl $0x1ff, %ecx            # imm = 0x1FF
movq %rbx, %rdi
callq 0x5f78c
movq %rbx, %rdi
callq 0x5fc70
movq 0x130(%r15), %rdx
leaq 0x5f0bd(%rip), %rsi     # 0xbf133
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x5f6f7
movl 0x138(%r15), %edx
leaq 0x66dd1(%rip), %rsi     # 0xc6e5f
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x5f7db
movslq 0x5ec(%r15), %rdx
leaq 0x6749f(%rip), %rsi     # 0xc7545
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x5f78c
movslq 0x5f0(%r15), %rdx
leaq 0x66cf3(%rip), %rsi     # 0xc6db1
movl $0x12c, %ecx            # imm = 0x12C
movq %rbx, %rdi
callq 0x5f78c
movslq 0x888(%r15), %rdx
leaq 0x676ae(%rip), %rsi     # 0xc7787
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x5f78c
movl 0x5e8(%r15), %edx
leaq 0x66dd1(%rip), %rsi     # 0xc6ec2
leaq 0xa5f78(%rip), %rcx     # 0x106070
movq %rbx, %rdi
movl $0x2, %r8d
callq 0x5f827
movq 0x790(%r15), %rdx
leaq 0x66df9(%rip), %rsi     # 0xc6f0d
leaq 0x63952(%rip), %rcx     # 0xc3a6d
movq %rbx, %rdi
callq 0x5f6f7
movl 0x798(%r15), %edx
leaq 0x66e00(%rip), %rsi     # 0xc6f31
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x5f699
movq 0x7a0(%r15), %rdx
leaq 0x66df7(%rip), %rsi     # 0xc6f40
leaq 0x5ff06(%rip), %rcx     # 0xc0056
movq %rbx, %rdi
callq 0x5f6f7
movq %rbx, %rdi
callq 0x5f8aa
movq %rbx, %rdi
callq 0x5f94a
movslq 0x600(%r15), %rdx
leaq 0x66e3c(%rip), %rsi     # 0xc6fb2
movl $0x10, %ecx
movq %rbx, %rdi
callq 0x5f78c
movl 0x774(%r15), %edx
leaq 0x675b9(%rip), %rsi     # 0xc774a
movq %rbx, %rdi
movl $0x1, %ecx
callq 0x5f699
movl 0x740(%r15), %edx
leaq 0x6702d(%rip), %rsi     # 0xc71d9
movq %rbx, %rdi
movl $0x1, %ecx
callq 0x5f699
movl 0x744(%r15), %edx
leaq 0x67021(%rip), %rsi     # 0xc71e8
movq %rbx, %rdi
movl $0x1, %ecx
callq 0x5f699
movq 0x738(%r15), %rdx
leaq 0x671a9(%rip), %rsi     # 0xc738b
leaq 0x5fe73(%rip), %rcx     # 0xc005c
movq %rbx, %rdi
callq 0x5f6f7
movq %rbx, %rdi
callq 0x5f9e7
movq %rbx, %rdi
callq 0x5fa2b
movq 0x890(%r15), %rdx
leaq 0x67566(%rip), %rsi     # 0xc7775
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x5f6f7
movq 0x810(%r15), %rdx
leaq 0x66f80(%rip), %rsi     # 0xc71a7
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x5f6f7
movl 0x870(%r15), %edx
leaq 0x66f73(%rip), %rsi     # 0xc71b2
movq %rbx, %rdi
movl $0x1, %ecx
callq 0x5f699
movl 0x874(%r15), %edx
leaq 0x66f6f(%rip), %rsi     # 0xc71c9
movq %rbx, %rdi
movl $0x1, %ecx
callq 0x5f699
movslq 0x7b8(%r15), %rdx
leaq 0x66de1(%rip), %rsi     # 0xc7056
movl $0xa, %ecx
movq %rbx, %rdi
callq 0x5f78c
movslq 0x824(%r15), %rdx
leaq 0x66e09(%rip), %rsi     # 0xc7099
movl $0x3c, %ecx
movq %rbx, %rdi
callq 0x5f78c
movq 0x7c8(%r15), %rdx
leaq 0x66e8d(%rip), %rsi     # 0xc7138
movl $0x100000, %ecx         # imm = 0x100000
movq %rbx, %rdi
callq 0x5f639
movq 0x7e8(%r15), %rdx
leaq 0x66eac(%rip), %rsi     # 0xc7172
movl $0xe10, %ecx            # imm = 0xE10
movq %rbx, %rdi
callq 0x5f639
movl 0x880(%r15), %edx
leaq 0x66de7(%rip), %rsi     # 0xc70c8
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x5f699
movl 0x804(%r15), %edx
leaq 0x66de8(%rip), %rsi     # 0xc70e1
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x5f699
movslq 0x808(%r15), %rdx
leaq 0x66de3(%rip), %rsi     # 0xc70f4
movl $0x5, %ecx
movq %rbx, %rdi
callq 0x5f78c
movslq 0x884(%r15), %rdx
leaq 0x6743a(%rip), %rsi     # 0xc7766
movl $0x64, %ecx
movq %rbx, %rdi
callq 0x5f78c
movslq 0x7f8(%r15), %rdx
leaq 0x67454(%rip), %rsi     # 0xc779b
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x5f78c
movslq 0x7fc(%r15), %rdx
leaq 0x67477(%rip), %rsi     # 0xc77d6
movl $0xa, %ecx
movq %rbx, %rdi
callq 0x5f78c
movq 0x58(%r15), %rdx
leaq 0x66fd0(%rip), %rsi     # 0xc7347
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x5f6f7
movl 0x8f4(%r15), %edx
leaq 0x66c35(%rip), %rsi     # 0xc6fc4
movl $0x2710, %ecx           # imm = 0x2710
movq %rbx, %rdi
callq 0x5f78c
movq 0x8f8(%r15), %rdx
leaq 0x66c3f(%rip), %rsi     # 0xc6fe9
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x5f639
movl 0x900(%r15), %edx
leaq 0x66c31(%rip), %rsi     # 0xc6ff3
leaq 0xa5b97(%rip), %rcx     # 0x105f60
movq %rbx, %rdi
movl $0x5, %r8d
callq 0x5f827
movslq 0x904(%r15), %rdx
leaq 0x66c38(%rip), %rsi     # 0xc701d
movl $0x5, %ecx
movq %rbx, %rdi
callq 0x5f78c
xorl %edx, %edx
cmpl $0x0, 0x658(%r15)
setne %dl
leaq 0x66e0b(%rip), %rsi     # 0xc7211
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x5f699
movq 0x660(%r15), %rdx
leaq 0x66dfe(%rip), %rsi     # 0xc721c
leaq 0x5fc40(%rip), %rcx     # 0xc0065
movq %rbx, %rdi
callq 0x5f6f7
movl 0x65c(%r15), %edx
leaq 0x66e3a(%rip), %rsi     # 0xc7275
leaq 0xa5cce(%rip), %rcx     # 0x106110
movq %rbx, %rdi
movl $0x2, %r8d
callq 0x5f827
movl 0x668(%r15), %edx
leaq 0x66dfd(%rip), %rsi     # 0xc725b
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x5f699
movslq 0x66c(%r15), %rdx
leaq 0x66e39(%rip), %rsi     # 0xc72af
movl $0x64, %ecx
movq %rbx, %rdi
callq 0x5f78c
movq 0x670(%r15), %rdx
leaq 0x66e6b(%rip), %rsi     # 0xc72fc
movl $0x4000000, %ecx        # imm = 0x4000000
movq %rbx, %rdi
callq 0x5f639
movq 0x9d8(%r15), %rdx
leaq 0x6716a(%rip), %rsi     # 0xc7616
movl $0x1388, %ecx           # imm = 0x1388
movq %rbx, %rdi
callq 0x5f78c
movl 0x98c(%r15), %edx
leaq 0x6702f(%rip), %rsi     # 0xc74f6
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x5f699
movq 0x998(%r15), %rdx
leaq 0x67027(%rip), %rsi     # 0xc7506
leaq 0x5fb8e(%rip), %rcx     # 0xc0074
movq %rbx, %rdi
callq 0x5f6f7
movl 0x9b0(%r15), %edx
leaq 0x6701e(%rip), %rsi     # 0xc751a
movq %rbx, %rdi
movl $0x1, %ecx
callq 0x5f699
movq 0x990(%r15), %rdx
leaq 0x67021(%rip), %rsi     # 0xc7538
movl $0x3a98, %ecx           # imm = 0x3A98
movq %rbx, %rdi
callq 0x5f78c
movslq 0x9a8(%r15), %rdx
leaq 0x67045(%rip), %rsi     # 0xc7577
movl $0x1, %ecx
movq %rbx, %rdi
callq 0x5f78c
movslq 0x9ac(%r15), %rdx
leaq 0x67074(%rip), %rsi     # 0xc75c1
movl $0xa, %ecx
movq %rbx, %rdi
callq 0x5f78c
movq 0x3f8(%r15), %rdx
leaq 0x670bd(%rip), %rsi     # 0xc7625
movl $0x2710, %ecx           # imm = 0x2710
movq %rbx, %rdi
callq 0x5f78c
movq 0xa08(%r15), %rdx
leaq 0x670ba(%rip), %rsi     # 0xc763d
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x5f78c
movq 0x400(%r15), %rdx
leaq 0x670e4(%rip), %rsi     # 0xc767f
movl $0x80, %ecx
movq %rbx, %rdi
callq 0x5f78c
movq %rbx, %rdi
callq 0x5faab
movq 0x930(%r15), %rdx
leaq 0x66e04(%rip), %rsi     # 0xc73c2
movl $0x200, %ecx            # imm = 0x200
movq %rbx, %rdi
callq 0x5f78c
movq 0x938(%r15), %rdx
leaq 0x66e02(%rip), %rsi     # 0xc73db
movl $0x40, %ecx
movq %rbx, %rdi
callq 0x5f78c
movslq 0x960(%r15), %rdx
leaq 0x66e2e(%rip), %rsi     # 0xc7422
movq %rbx, %rdi
movq $-0x2, %rcx
callq 0x5f78c
movslq 0x964(%r15), %rdx
leaq 0x66e27(%rip), %rsi     # 0xc7438
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x5f78c
movq 0x940(%r15), %rdx
leaq 0x66e23(%rip), %rsi     # 0xc744c
movl $0x200, %ecx            # imm = 0x200
movq %rbx, %rdi
callq 0x5f78c
movq 0x948(%r15), %rdx
leaq 0x66e1f(%rip), %rsi     # 0xc7463
movl $0x80, %ecx
movq %rbx, %rdi
callq 0x5f78c
movq 0x950(%r15), %rdx
leaq 0x66e1d(%rip), %rsi     # 0xc747c
movl $0x40, %ecx
movq %rbx, %rdi
callq 0x5f78c
movq 0x958(%r15), %rdx
leaq 0x66e19(%rip), %rsi     # 0xc7493
movl $0xbb8, %ecx            # imm = 0xBB8
movq %rbx, %rdi
callq 0x5f78c
movl 0x50(%r15), %edx
leaq 0x66b62(%rip), %rsi     # 0xc71f4
movq %rbx, %rdi
movl $0x1, %ecx
callq 0x5f699
movl 0x318(%r15), %edx
leaq 0x6672e(%rip), %rsi     # 0xc6ddb
movq %rbx, %rdi
movl $0x1, %ecx
callq 0x5f699
movq %rbx, %rdi
callq 0x5fb69
movslq 0x20(%r15), %rdx
leaq 0x66b41(%rip), %rsi     # 0xc720e
movl $0xa, %ecx
movq %rbx, %rdi
callq 0x5f78c
movl 0x6d8(%r15), %edx
leaq 0x66c2e(%rip), %rsi     # 0xc7316
movq %rbx, %rdi
movl $0x1, %ecx
callq 0x5f699
movl 0x6e4(%r15), %edx
leaq 0x66c31(%rip), %rsi     # 0xc7334
movq %rbx, %rdi
movl $0x1, %ecx
callq 0x5f699
movl 0x608(%r15), %edx
leaq 0x67138(%rip), %rsi     # 0xc7856
leaq 0xa599b(%rip), %rcx     # 0x1060c0
movq %rbx, %rdi
xorl %r8d, %r8d
callq 0x5f827
cmpl $0x0, 0x9c(%r15)
je 0x60742
movq %rbx, %rdi
callq 0x7c2d1
movq %rbx, %rdi
callq 0x5fdec
movq %rbx, %rdi
callq 0x5fd17
movq %rax, %r14
movq 0x8(%r15), %rdi
movq %rax, %rsi
callq 0x5fe9a
movl %eax, %ebp
movq %r14, %rdi
callq 0x392b6
movq %rbx, %rdi
callq 0x5fdc2
movl %ebp, %eax
jmp 0x6077c
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq