// File: /workspace/github_c_makefile_star2_O0/gplessis[P]dotdeb-redis/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
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x6e830
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x6f98b
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x70342
movq -0x18(%rbp), %rdi
leaq 0x108842(%rip), %rax    # 0x1781d8
movl 0x61c(%rax), %edx
leaq 0xced79(%rip), %rsi     # 0x13e71c
xorl %ecx, %ecx
callq 0x6ed70
movq -0x18(%rbp), %rdi
leaq 0x108823(%rip), %rax    # 0x1781d8
movq 0x60(%rax), %rdx
leaq 0xceedb(%rip), %rsi     # 0x13e89b
leaq 0xc9d78(%rip), %rcx     # 0x13973f
callq 0x6edf0
movq -0x18(%rbp), %rdi
leaq 0x108801(%rip), %rax    # 0x1781d8
movslq 0xa0(%rax), %rdx
leaq 0xce944(%rip), %rsi     # 0x13e329
movl $0x18eb, %ecx           # imm = 0x18EB
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x1087de(%rip), %rax    # 0x1781d8
movslq 0xa4(%rax), %rdx
leaq 0xce926(%rip), %rsi     # 0x13e32e
movl $0x1ff, %ecx            # imm = 0x1FF
callq 0x6eec0
movq -0x18(%rbp), %rdi
callq 0x6f510
movq -0x18(%rbp), %rdi
leaq 0x1087b2(%rip), %rax    # 0x1781d8
movq 0x130(%rax), %rdx
leaq 0xc76ef(%rip), %rsi     # 0x137123
xorl %eax, %eax
movl %eax, %ecx
callq 0x6edf0
movq -0x18(%rbp), %rdi
leaq 0x108790(%rip), %rax    # 0x1781d8
movl 0x138(%rax), %edx
leaq 0xce922(%rip), %rsi     # 0x13e377
xorl %ecx, %ecx
callq 0x6ef30
movq -0x18(%rbp), %rdi
leaq 0x108771(%rip), %rax    # 0x1781d8
movslq 0x5fc(%rax), %rdx
leaq 0xcefe8(%rip), %rsi     # 0x13ea5d
xorl %eax, %eax
movl %eax, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x10874f(%rip), %rax    # 0x1781d8
movslq 0x600(%rax), %rdx
leaq 0xce832(%rip), %rsi     # 0x13e2c9
movl $0x12c, %ecx            # imm = 0x12C
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x10872c(%rip), %rax    # 0x1781d8
movslq 0x898(%rax), %rdx
leaq 0xcf1e5(%rip), %rsi     # 0x13ec9f
xorl %eax, %eax
movl %eax, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x10870a(%rip), %rax    # 0x1781d8
movl 0x5f8(%rax), %edx
leaq 0xce8ff(%rip), %rsi     # 0x13e3da
leaq 0x10763e(%rip), %rcx    # 0x177120
movl $0x2, %r8d
callq 0x6efa0
movq -0x18(%rbp), %rdi
leaq 0x1086e0(%rip), %rax    # 0x1781d8
movq 0x7a0(%rax), %rdx
leaq 0xce91f(%rip), %rsi     # 0x13e425
leaq 0xcbb05(%rip), %rcx     # 0x13b612
callq 0x6edf0
movq -0x18(%rbp), %rdi
leaq 0x1086bb(%rip), %rax    # 0x1781d8
movl 0x7a8(%rax), %edx
leaq 0xce91f(%rip), %rsi     # 0x13e449
xorl %ecx, %ecx
callq 0x6ed70
movq -0x18(%rbp), %rdi
leaq 0x10869c(%rip), %rax    # 0x1781d8
movq 0x7b0(%rax), %rdx
leaq 0xce90e(%rip), %rsi     # 0x13e458
leaq 0xc84e7(%rip), %rcx     # 0x138038
callq 0x6edf0
movq -0x18(%rbp), %rdi
callq 0x6f020
movq -0x18(%rbp), %rdi
callq 0x6f0b0
movq -0x18(%rbp), %rdi
leaq 0x108665(%rip), %rax    # 0x1781d8
movslq 0x610(%rax), %rdx
leaq 0xce949(%rip), %rsi     # 0x13e4ca
movl $0x10, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x108642(%rip), %rax    # 0x1781d8
movl 0x784(%rax), %edx
leaq 0xcf0bf(%rip), %rsi     # 0x13ec62
movl $0x1, %ecx
callq 0x6ed70
movq -0x18(%rbp), %rdi
leaq 0x108620(%rip), %rax    # 0x1781d8
movl 0x750(%rax), %edx
leaq 0xceb2c(%rip), %rsi     # 0x13e6f1
movl $0x1, %ecx
callq 0x6ed70
movq -0x18(%rbp), %rdi
leaq 0x1085fe(%rip), %rax    # 0x1781d8
movl 0x754(%rax), %edx
leaq 0xceb19(%rip), %rsi     # 0x13e700
movl $0x1, %ecx
callq 0x6ed70
movq -0x18(%rbp), %rdi
leaq 0x1085dc(%rip), %rax    # 0x1781d8
movq 0x748(%rax), %rdx
leaq 0xcec99(%rip), %rsi     # 0x13e8a3
leaq 0xc842d(%rip), %rcx     # 0x13803e
callq 0x6edf0
movq -0x18(%rbp), %rdi
callq 0x6f170
movq -0x18(%rbp), %rdi
callq 0x6f1d0
movq -0x18(%rbp), %rdi
leaq 0x1085a5(%rip), %rax    # 0x1781d8
movq 0x8a0(%rax), %rdx
leaq 0xcf04c(%rip), %rsi     # 0x13ec8d
xorl %eax, %eax
movl %eax, %ecx
callq 0x6edf0
movq -0x18(%rbp), %rdi
leaq 0x108583(%rip), %rax    # 0x1781d8
movq 0x820(%rax), %rdx
leaq 0xcea5c(%rip), %rsi     # 0x13e6bf
xorl %eax, %eax
movl %eax, %ecx
callq 0x6edf0
movq -0x18(%rbp), %rdi
leaq 0x108561(%rip), %rax    # 0x1781d8
movl 0x880(%rax), %edx
leaq 0xcea46(%rip), %rsi     # 0x13e6ca
movl $0x1, %ecx
callq 0x6ed70
movq -0x18(%rbp), %rdi
leaq 0x10853f(%rip), %rax    # 0x1781d8
movl 0x884(%rax), %edx
leaq 0xcea3b(%rip), %rsi     # 0x13e6e1
movl $0x1, %ecx
callq 0x6ed70
movq -0x18(%rbp), %rdi
leaq 0x10851d(%rip), %rax    # 0x1781d8
movslq 0x7c8(%rax), %rdx
leaq 0xce8a5(%rip), %rsi     # 0x13e56e
movl $0xa, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x1084fa(%rip), %rax    # 0x1781d8
movslq 0x834(%rax), %rdx
leaq 0xce8c5(%rip), %rsi     # 0x13e5b1
movl $0x3c, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x1084d7(%rip), %rax    # 0x1781d8
movq 0x7d8(%rax), %rdx
leaq 0xce941(%rip), %rsi     # 0x13e650
movl $0x100000, %ecx         # imm = 0x100000
callq 0x6ecf0
movq -0x18(%rbp), %rdi
leaq 0x1084b4(%rip), %rax    # 0x1781d8
movq 0x7f8(%rax), %rdx
leaq 0xce958(%rip), %rsi     # 0x13e68a
movl $0xe10, %ecx            # imm = 0xE10
callq 0x6ecf0
movq -0x18(%rbp), %rdi
leaq 0x108491(%rip), %rax    # 0x1781d8
movl 0x890(%rax), %edx
leaq 0xce88c(%rip), %rsi     # 0x13e5e0
xorl %ecx, %ecx
callq 0x6ed70
movq -0x18(%rbp), %rdi
leaq 0x108472(%rip), %rax    # 0x1781d8
movl 0x814(%rax), %edx
leaq 0xce886(%rip), %rsi     # 0x13e5f9
xorl %ecx, %ecx
callq 0x6ed70
movq -0x18(%rbp), %rdi
leaq 0x108453(%rip), %rax    # 0x1781d8
movslq 0x818(%rax), %rdx
leaq 0xce879(%rip), %rsi     # 0x13e60c
movl $0x5, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x108430(%rip), %rax    # 0x1781d8
movslq 0x894(%rax), %rdx
leaq 0xceec8(%rip), %rsi     # 0x13ec7e
movl $0x64, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x10840d(%rip), %rax    # 0x1781d8
movslq 0x808(%rax), %rdx
leaq 0xceeda(%rip), %rsi     # 0x13ecb3
xorl %eax, %eax
movl %eax, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x1083eb(%rip), %rax    # 0x1781d8
movslq 0x80c(%rax), %rdx
leaq 0xceef3(%rip), %rsi     # 0x13ecee
movl $0xa, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x1083c8(%rip), %rax    # 0x1781d8
movq 0x58(%rax), %rdx
leaq 0xcea44(%rip), %rsi     # 0x13e85f
xorl %eax, %eax
movl %eax, %ecx
callq 0x6edf0
movq -0x18(%rbp), %rdi
leaq 0x1083a9(%rip), %rax    # 0x1781d8
movl 0x904(%rax), %eax
movl %eax, %edx
leaq 0xce69e(%rip), %rsi     # 0x13e4dc
movl $0x2710, %ecx           # imm = 0x2710
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x108385(%rip), %rax    # 0x1781d8
movq 0x908(%rax), %rdx
leaq 0xce6a0(%rip), %rsi     # 0x13e501
xorl %eax, %eax
movl %eax, %ecx
callq 0x6ecf0
movq -0x18(%rbp), %rdi
leaq 0x108363(%rip), %rax    # 0x1781d8
movl 0x910(%rax), %edx
leaq 0xce689(%rip), %rsi     # 0x13e50b
leaq 0x107187(%rip), %rcx    # 0x177010
movl $0x5, %r8d
callq 0x6efa0
movq -0x18(%rbp), %rdi
leaq 0x108339(%rip), %rax    # 0x1781d8
movslq 0x914(%rax), %rdx
leaq 0xce688(%rip), %rsi     # 0x13e535
movl $0x5, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x108316(%rip), %rax    # 0x1781d8
cmpl $0x0, 0x668(%rax)
setne %al
andb $0x1, %al
movzbl %al, %edx
leaq 0xce851(%rip), %rsi     # 0x13e729
xorl %ecx, %ecx
callq 0x6ed70
movq -0x18(%rbp), %rdi
leaq 0x1082ee(%rip), %rax    # 0x1781d8
movq 0x670(%rax), %rdx
leaq 0xce83c(%rip), %rsi     # 0x13e734
leaq 0xc8148(%rip), %rcx     # 0x138047
callq 0x6edf0
movq -0x18(%rbp), %rdi
leaq 0x1082c9(%rip), %rax    # 0x1781d8
movl 0x66c(%rax), %edx
leaq 0xce871(%rip), %rsi     # 0x13e78d
leaq 0x10729d(%rip), %rcx    # 0x1771c0
movl $0x2, %r8d
callq 0x6efa0
movq -0x18(%rbp), %rdi
leaq 0x10829f(%rip), %rax    # 0x1781d8
movl 0x678(%rax), %edx
leaq 0xce82d(%rip), %rsi     # 0x13e773
xorl %ecx, %ecx
callq 0x6ed70
movq -0x18(%rbp), %rdi
leaq 0x108280(%rip), %rax    # 0x1781d8
movslq 0x67c(%rax), %rdx
leaq 0xce861(%rip), %rsi     # 0x13e7c7
movl $0x64, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x10825d(%rip), %rax    # 0x1781d8
movq 0x680(%rax), %rdx
leaq 0xce88b(%rip), %rsi     # 0x13e814
movl $0x4000000, %ecx        # imm = 0x4000000
callq 0x6ecf0
movq -0x18(%rbp), %rdi
leaq 0x10823a(%rip), %rax    # 0x1781d8
movq 0x9e8(%rax), %rdx
leaq 0xceb82(%rip), %rsi     # 0x13eb2e
movl $0x1388, %ecx           # imm = 0x1388
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x108217(%rip), %rax    # 0x1781d8
movl 0x99c(%rax), %edx
leaq 0xcea40(%rip), %rsi     # 0x13ea0e
xorl %ecx, %ecx
callq 0x6ed70
movq -0x18(%rbp), %rdi
leaq 0x1081f8(%rip), %rax    # 0x1781d8
movq 0x9a8(%rax), %rdx
leaq 0xcea30(%rip), %rsi     # 0x13ea1e
leaq 0xc8061(%rip), %rcx     # 0x138056
callq 0x6edf0
movq -0x18(%rbp), %rdi
leaq 0x1081d3(%rip), %rax    # 0x1781d8
movl 0x9c0(%rax), %edx
leaq 0xcea20(%rip), %rsi     # 0x13ea32
movl $0x1, %ecx
callq 0x6ed70
movq -0x18(%rbp), %rdi
leaq 0x1081b1(%rip), %rax    # 0x1781d8
movq 0x9a0(%rax), %rdx
leaq 0xcea1b(%rip), %rsi     # 0x13ea50
movl $0x3a98, %ecx           # imm = 0x3A98
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x10818e(%rip), %rax    # 0x1781d8
movslq 0x9b8(%rax), %rdx
leaq 0xcea37(%rip), %rsi     # 0x13ea8f
movl $0x1, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x10816b(%rip), %rax    # 0x1781d8
movslq 0x9bc(%rax), %rdx
leaq 0xcea5e(%rip), %rsi     # 0x13ead9
movl $0xa, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x108148(%rip), %rax    # 0x1781d8
movq 0x408(%rax), %rdx
leaq 0xcea9f(%rip), %rsi     # 0x13eb3d
movl $0x2710, %ecx           # imm = 0x2710
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x108125(%rip), %rax    # 0x1781d8
movq 0xa18(%rax), %rdx
leaq 0xcea94(%rip), %rsi     # 0x13eb55
xorl %eax, %eax
movl %eax, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x108103(%rip), %rax    # 0x1781d8
movq 0x410(%rax), %rdx
leaq 0xceab4(%rip), %rsi     # 0x13eb97
movl $0x80, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
callq 0x6f270
movq -0x18(%rbp), %rdi
leaq 0x1080d7(%rip), %rax    # 0x1781d8
movq 0x940(%rax), %rdx
leaq 0xce7cb(%rip), %rsi     # 0x13e8da
movl $0x200, %ecx            # imm = 0x200
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x1080b4(%rip), %rax    # 0x1781d8
movq 0x948(%rax), %rdx
leaq 0xce7c1(%rip), %rsi     # 0x13e8f3
movl $0x40, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x108091(%rip), %rax    # 0x1781d8
movslq 0x970(%rax), %rdx
leaq 0xce7e5(%rip), %rsi     # 0x13e93a
movq $-0x2, %rcx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x10806c(%rip), %rax    # 0x1781d8
movslq 0x974(%rax), %rdx
leaq 0xce7d6(%rip), %rsi     # 0x13e950
xorl %eax, %eax
movl %eax, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x10804a(%rip), %rax    # 0x1781d8
movq 0x950(%rax), %rdx
leaq 0xce7c8(%rip), %rsi     # 0x13e964
movl $0x200, %ecx            # imm = 0x200
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x108027(%rip), %rax    # 0x1781d8
movq 0x958(%rax), %rdx
leaq 0xce7bc(%rip), %rsi     # 0x13e97b
movl $0x80, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x108004(%rip), %rax    # 0x1781d8
movq 0x960(%rax), %rdx
leaq 0xce7b2(%rip), %rsi     # 0x13e994
movl $0x40, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x107fe1(%rip), %rax    # 0x1781d8
movq 0x968(%rax), %rdx
leaq 0xce7a6(%rip), %rsi     # 0x13e9ab
movl $0xbb8, %ecx            # imm = 0xBB8
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x107fbe(%rip), %rax    # 0x1781d8
movl 0x50(%rax), %edx
leaq 0xce4e8(%rip), %rsi     # 0x13e70c
movl $0x1, %ecx
callq 0x6ed70
movq -0x18(%rbp), %rdi
leaq 0x107f9f(%rip), %rax    # 0x1781d8
movl 0x318(%rax), %edx
leaq 0xce0ad(%rip), %rsi     # 0x13e2f3
movl $0x1, %ecx
callq 0x6ed70
movq -0x18(%rbp), %rdi
callq 0x6f330
movq -0x18(%rbp), %rdi
leaq 0x107f74(%rip), %rax    # 0x1781d8
movslq 0x20(%rax), %rdx
leaq 0xce4b7(%rip), %rsi     # 0x13e726
movl $0xa, %ecx
callq 0x6eec0
movq -0x18(%rbp), %rdi
leaq 0x107f54(%rip), %rax    # 0x1781d8
movl 0x6e8(%rax), %edx
leaq 0xce59d(%rip), %rsi     # 0x13e82e
movl $0x1, %ecx
callq 0x6ed70
movq -0x18(%rbp), %rdi
leaq 0x107f32(%rip), %rax    # 0x1781d8
movl 0x6f4(%rax), %edx
leaq 0xce599(%rip), %rsi     # 0x13e84c
movl $0x1, %ecx
callq 0x6ed70
movq -0x18(%rbp), %rdi
leaq 0x107f10(%rip), %rax    # 0x1781d8
movl 0x618(%rax), %edx
leaq 0xcea99(%rip), %rsi     # 0x13ed6e
leaq 0x106e94(%rip), %rcx    # 0x177170
xorl %r8d, %r8d
callq 0x6efa0
leaq 0x107eed(%rip), %rax    # 0x1781d8
cmpl $0x0, 0x9c(%rax)
je 0x702fd
movq -0x18(%rbp), %rdi
callq 0x97530
movq -0x18(%rbp), %rdi
callq 0x6f6e0
movq -0x18(%rbp), %rdi
callq 0x6f5e0
movq %rax, -0x20(%rbp)
leaq 0x107ebe(%rip), %rax    # 0x1781d8
movq 0x8(%rax), %rdi
movq -0x20(%rbp), %rsi
callq 0x6f7d0
movl %eax, -0x24(%rbp)
movq -0x20(%rbp), %rdi
callq 0x38620
movq -0x18(%rbp), %rdi
callq 0x6f690
movl -0x24(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)