// File: /workspace/github_c_makefile_star2_O0/erikdubbelboer[P]discnt/src/server.c
// Function: initServerConfig
void initServerConfig(void) {
    int j;

    getRandomHexChars(server.runid,CONFIG_RUN_ID_SIZE);
    server.configfile = NULL;
    server.executable = NULL;
    server.hz = CONFIG_DEFAULT_HZ;
    server.runid[CONFIG_RUN_ID_SIZE] = '\0';
    server.arch_bits = (sizeof(long) == 8) ? 64 : 32;
    server.port = CONFIG_DEFAULT_SERVER_PORT;
    server.tcp_backlog = CONFIG_DEFAULT_TCP_BACKLOG;
    server.bindaddr_count = 0;
    server.unixsocket = NULL;
    server.unixsocketperm = CONFIG_DEFAULT_UNIX_SOCKET_PERM;
    server.ipfd_count = 0;
    server.sofd = -1;
    server.verbosity = CONFIG_DEFAULT_VERBOSITY;
    server.maxidletime = CONFIG_DEFAULT_CLIENT_TIMEOUT;
    server.tcpkeepalive = CONFIG_DEFAULT_TCP_KEEPALIVE;
    server.active_expire_enabled = 1;
    server.client_max_querybuf_len = PROTO_MAX_QUERYBUF_LEN;
    server.saveparams = NULL;
    server.loading = 0;
    server.logfile = zstrdup(CONFIG_DEFAULT_LOGFILE);
    server.syslog_enabled = CONFIG_DEFAULT_SYSLOG_ENABLED;
    server.syslog_ident = zstrdup(CONFIG_DEFAULT_SYSLOG_IDENT);
    server.syslog_facility = LOG_LOCAL0;
    server.daemonize = CONFIG_DEFAULT_DAEMONIZE;
    server.supervised = 0;
    server.supervised_mode = SUPERVISED_NONE;
    server.pidfile = zstrdup(CONFIG_DEFAULT_PID_FILE);
    server.ddb_filename = zstrdup(CONFIG_DEFAULT_DDB_FILENAME);
    server.requirepass = NULL;
    server.ddb_checksum = CONFIG_DEFAULT_DDB_CHECKSUM;
    server.stop_writes_on_bgsave_err = CONFIG_DEFAULT_STOP_WRITES_ON_BGSAVE_ERROR;
    server.activerehashing = CONFIG_DEFAULT_ACTIVE_REHASHING;
    server.maxclients = CONFIG_DEFAULT_MAX_CLIENTS;
    server.default_precision = CONFIG_DEFAULT_PRECISION;
    server.history_size = CONFIG_HISTORY;
    server.history_index = 0;
    server.bpop_blocked_clients = 0;
    server.maxmemory = CONFIG_DEFAULT_MAXMEMORY;
    server.shutdown_asap = 0;
    server.cluster_node_timeout = CLUSTER_DEFAULT_NODE_TIMEOUT;
    server.cluster_configfile = zstrdup(CONFIG_DEFAULT_CLUSTER_CONFIG_FILE);
    server.next_client_id = 1; /* Client IDs, start from 1 .*/
    server.loading_process_events_interval_bytes = (1024*1024*2);

    resetServerSaveParams();
    appendServerSaveParams(60*60,1); /* save after 1 hour and 1 change */
    appendServerSaveParams(300,100); /* save after 5 minutes and 100 changes */
    appendServerSaveParams(60,10000); /* save after 1 minute and 10000 changes */

    /* Client output buffer limits */
    for (j = 0; j < CLIENT_TYPE_COUNT; j++)
        server.client_obuf_limits[j] = clientBufferLimitsDefaults[j];

    /* Double constants initialization */
    R_Zero = 0.0;
    R_PosInf = 1.0/R_Zero;
    R_NegInf = -1.0/R_Zero;
    R_Nan = R_Zero/R_Zero;

    /* Command table -- we initiialize it here as it is part of the
     * initial configuration, since command names may be changed via
     * discnt.conf using the rename-command directive. */
    server.commands = dictCreate(&commandTableDictType,NULL);
    server.orig_commands = dictCreate(&commandTableDictType,NULL);
    populateCommandTable();
    server.delCommand = lookupCommandByCString("del");
    server.multiCommand = lookupCommandByCString("multi");
    server.lpushCommand = lookupCommandByCString("lpush");
    server.lpopCommand = lookupCommandByCString("lpop");
    server.rpopCommand = lookupCommandByCString("rpop");

    /* Latency monitor */
    server.latency_monitor_threshold = CONFIG_DEFAULT_LATENCY_MONITOR_THRESHOLD;

    /* Debugging */
    server.assert_failed = "<no assertion failed>";
    server.assert_file = "<no file>";
    server.assert_line = 0;
    server.bug_report_start = 0;
    server.watchdog_period = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
leaq 0xa4cc9(%rip), %rdi     # 0xbf0e8
addq $0x60, %rdi
movl $0x28, %esi
callq 0x28b10
movq $0x0, 0xa4cb8(%rip) # 0xbf0f0
movq $0x0, 0xa4cb5(%rip) # 0xbf0f8
movl $0xa, 0xa4cbb(%rip)     # 0xbf108
movb $0x0, 0xa4d1c(%rip)     # 0xbf170
movl $0x40, 0xa4ce2(%rip)    # 0xbf140
movl $0x148e, 0xa4d34(%rip)  # imm = 0x148E
movl $0x1ff, 0xa4d2e(%rip)   # imm = 0x1FF
movl $0x0, 0xa4dac(%rip)     # 0xbf228
movq $0x0, 0xa4da9(%rip) # 0xbf230
movl $0x0, 0xa4da7(%rip)     # 0xbf238
movl $0x0, 0xa4de1(%rip)     # 0xbf27c
movl $0xffffffff, 0xa4ddb(%rip) # imm = 0xFFFFFFFF
movl $0x2, 0xa51d1(%rip)     # 0xbf680
movl $0x0, 0xa51cb(%rip)     # 0xbf684
movl $0x0, 0xa51c5(%rip)     # 0xbf688
movl $0x1, 0xa51bf(%rip)     # 0xbf68c
movq $0x40000000, 0xa51b8(%rip) # imm = 0x40000000
movq $0x0, 0xa52bd(%rip) # 0xbf7a0
movl $0x0, 0xa4f1b(%rip)     # 0xbf408
leaq 0x8b87e(%rip), %rdi     # 0xa5d72
callq 0x20d90
movq %rax, 0xa51d8(%rip)     # 0xbf6d8
movl $0x0, 0xa51d6(%rip)     # 0xbf6e0
leaq 0x89644(%rip), %rdi     # 0xa3b55
callq 0x20d90
movq %rax, 0xa51cb(%rip)     # 0xbf6e8
movl $0x80, 0xa51c9(%rip)    # 0xbf6f0
movl $0x0, 0xa516f(%rip)     # 0xbf6a0
movl $0x0, 0xa515d(%rip)     # 0xbf698
movl $0x0, 0xa5157(%rip)     # 0xbf69c
leaq 0x89610(%rip), %rdi     # 0xa3b5c
callq 0x20d90
movq %rax, 0xa4be0(%rip)     # 0xbf138
leaq 0x89611(%rip), %rdi     # 0xa3b70
callq 0x20d90
movq %rax, 0xa5245(%rip)     # 0xbf7b0
movq $0x0, 0xa4bba(%rip) # 0xbf130
movl $0x1, 0xa523c(%rip)     # 0xbf7bc
movl $0x1, 0xa525e(%rip)     # 0xbf7e8
movl $0x1, 0xa4b98(%rip)     # 0xbf12c
movl $0x2710, 0xa5156(%rip)  # imm = 0x2710
movsd 0x88e82(%rip), %xmm0    # 0xa3428
movsd %xmm0, 0xa515a(%rip)    # 0xbf708
movl $0xa, 0xa5158(%rip)     # 0xbf710
movl $0x0, 0xa5152(%rip)     # 0xbf714
movl $0x0, 0xa514c(%rip)     # 0xbf718
movq $0x40000000, 0xa5121(%rip) # imm = 0x40000000
movl $0x0, 0xa4b47(%rip)     # 0xbf128
movq $0x3a98, 0xa5154(%rip) # imm = 0x3A98
leaq 0x89586(%rip), %rdi     # 0xa3b79
callq 0x20d90
movq %rax, 0xa5149(%rip)     # 0xbf748
movq $0x1, 0xa4df6(%rip) # 0xbf400
movq $0x200000, 0xa4e13(%rip) # imm = 0x200000
callq 0x2aa30
movl $0xe10, %edi            # imm = 0xE10
movl $0x1, %esi
callq 0x2a970
movl $0x12c, %edi            # imm = 0x12C
movl $0x64, %esi
callq 0x2a970
movl $0x3c, %edi
movl $0x2710, %esi           # imm = 0x2710
callq 0x2a970
movl $0x0, -0x4(%rbp)
cmpl $0x2, -0x4(%rbp)
jge 0x1a69f
movslq -0x4(%rbp), %rcx
leaq 0xa4a89(%rip), %rax     # 0xbf0e8
addq $0x5c0, %rax            # imm = 0x5C0
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movslq -0x4(%rbp), %rdx
leaq 0xb8f59(%rip), %rcx     # 0xd35d0
imulq $0x18, %rdx, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rdx
movq %rdx, 0x8(%rax)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rax)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x1a64e
xorps %xmm0, %xmm0
movsd %xmm0, 0xb8d16(%rip)    # 0xd33c0
movsd 0x88d76(%rip), %xmm0    # 0xa3428
divsd 0xb8d06(%rip), %xmm0    # 0xd33c0
movsd %xmm0, 0xb8d06(%rip)    # 0xd33c8
movsd 0x88d66(%rip), %xmm0    # 0xa3430
divsd 0xb8cee(%rip), %xmm0    # 0xd33c0
movsd %xmm0, 0xb8cf6(%rip)    # 0xd33d0
movsd 0xb8cde(%rip), %xmm0    # 0xd33c0
divsd 0xb8cd6(%rip), %xmm0    # 0xd33c0
movsd %xmm0, 0xb8ce6(%rip)    # 0xd33d8
leaq 0xa4617(%rip), %rdi     # 0xbed10
xorl %eax, %eax
movl %eax, %esi
callq 0x16120
movq %rax, 0xa4a07(%rip)     # 0xbf110
leaq 0xa4600(%rip), %rdi     # 0xbed10
xorl %eax, %eax
movl %eax, %esi
callq 0x16120
movq %rax, 0xa49f8(%rip)     # 0xbf118
callq 0x1a7d0
leaq 0x89458(%rip), %rdi     # 0xa3b84
callq 0x1a9b0
movq %rax, 0xa4cf8(%rip)     # 0xbf430
leaq 0x89449(%rip), %rdi     # 0xa3b88
callq 0x1a9b0
movq %rax, 0xa4ced(%rip)     # 0xbf438
leaq 0x8943c(%rip), %rdi     # 0xa3b8e
callq 0x1a9b0
movq %rax, 0xa4ce2(%rip)     # 0xbf440
leaq 0x8942f(%rip), %rdi     # 0xa3b94
callq 0x1a9b0
movq %rax, 0xa4cd7(%rip)     # 0xbf448
leaq 0x89421(%rip), %rdi     # 0xa3b99
callq 0x1a9b0
movq %rax, 0xa4ccc(%rip)     # 0xbf450
movq $0x0, 0xa4fc9(%rip) # 0xbf758
leaq 0x89408(%rip), %rax     # 0xa3b9e
movq %rax, 0xa4fcb(%rip)     # 0xbf768
leaq 0x89410(%rip), %rax     # 0xa3bb4
movq %rax, 0xa4fc5(%rip)     # 0xbf770
movl $0x0, 0xa4fc3(%rip)     # 0xbf778
movl $0x0, 0xa4fbd(%rip)     # 0xbf77c
movl $0x0, 0xa4fb7(%rip)     # 0xbf780
addq $0x10, %rsp
popq %rbp
retq
nop