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

    shared.crlf = createObject(OBJ_STRING,sdsnew("\r\n"));
    shared.ok = createObject(OBJ_STRING,sdsnew("+OK\r\n"));
    shared.err = createObject(OBJ_STRING,sdsnew("-ERR\r\n"));
    shared.emptybulk = createObject(OBJ_STRING,sdsnew("$0\r\n\r\n"));
    shared.czero = createObject(OBJ_STRING,sdsnew(":0\r\n"));
    shared.cone = createObject(OBJ_STRING,sdsnew(":1\r\n"));
    shared.cnegone = createObject(OBJ_STRING,sdsnew(":-1\r\n"));
    shared.nullbulk = createObject(OBJ_STRING,sdsnew("$-1\r\n"));
    shared.nullmultibulk = createObject(OBJ_STRING,sdsnew("*-1\r\n"));
    shared.emptymultibulk = createObject(OBJ_STRING,sdsnew("*0\r\n"));
    shared.pong = createObject(OBJ_STRING,sdsnew("+PONG\r\n"));
    shared.queued = createObject(OBJ_STRING,sdsnew("+QUEUED\r\n"));
    shared.wrongtypeerr = createObject(OBJ_STRING,sdsnew(
        "-WRONGTYPE Operation against a key holding the wrong kind of value\r\n"));
    shared.nokeyerr = createObject(OBJ_STRING,sdsnew(
        "-ERR no such key\r\n"));
    shared.syntaxerr = createObject(OBJ_STRING,sdsnew(
        "-ERR syntax error\r\n"));
    shared.sameobjecterr = createObject(OBJ_STRING,sdsnew(
        "-ERR source and destination objects are the same\r\n"));
    shared.outofrangeerr = createObject(OBJ_STRING,sdsnew(
        "-ERR index out of range\r\n"));
    shared.noscripterr = createObject(OBJ_STRING,sdsnew(
        "-NOSCRIPT No matching script. Please use EVAL.\r\n"));
    shared.loadingerr = createObject(OBJ_STRING,sdsnew(
        "-LOADING Discnt is loading the dataset in memory\r\n"));
    shared.slowscripterr = createObject(OBJ_STRING,sdsnew(
        "-BUSY Discnt is busy running a script. You can only call SCRIPT KILL or SHUTDOWN NOSAVE.\r\n"));
    shared.masterdownerr = createObject(OBJ_STRING,sdsnew(
        "-MASTERDOWN Link with MASTER is down and slave-serve-stale-data is set to 'no'.\r\n"));
    shared.bgsaveerr = createObject(OBJ_STRING,sdsnew(
        "-MISCONF Discnt is configured to save DDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Discnt logs for details about the error.\r\n"));
    shared.roslaveerr = createObject(OBJ_STRING,sdsnew(
        "-READONLY You can't write against a read only slave.\r\n"));
    shared.noautherr = createObject(OBJ_STRING,sdsnew(
        "-NOAUTH Authentication required.\r\n"));
    shared.oomerr = createObject(OBJ_STRING,sdsnew(
        "-OOM command not allowed when used memory > 'maxmemory'.\r\n"));
    shared.execaborterr = createObject(OBJ_STRING,sdsnew(
        "-EXECABORT Transaction discarded because of previous errors.\r\n"));
    shared.noreplicaserr = createObject(OBJ_STRING,sdsnew(
        "-NOREPLICAS Not enough good slaves to write.\r\n"));
    shared.busykeyerr = createObject(OBJ_STRING,sdsnew(
        "-BUSYKEY Target key name already exists.\r\n"));
    shared.space = createObject(OBJ_STRING,sdsnew(" "));
    shared.colon = createObject(OBJ_STRING,sdsnew(":"));
    shared.plus = createObject(OBJ_STRING,sdsnew("+"));
    shared.messagebulk = createStringObject("$7\r\nmessage\r\n",13);
    shared.pmessagebulk = createStringObject("$8\r\npmessage\r\n",14);
    shared.subscribebulk = createStringObject("$9\r\nsubscribe\r\n",15);
    shared.unsubscribebulk = createStringObject("$11\r\nunsubscribe\r\n",18);
    shared.psubscribebulk = createStringObject("$10\r\npsubscribe\r\n",17);
    shared.punsubscribebulk = createStringObject("$12\r\npunsubscribe\r\n",19);
    for (j = 0; j < OBJ_SHARED_INTEGERS; j++) {
        shared.integers[j] = createObject(OBJ_STRING,(void*)(long)j);
        shared.integers[j]->encoding = OBJ_ENCODING_INT;
    }
    for (j = 0; j < OBJ_SHARED_BULKHDR_LEN; j++) {
        shared.mbulkhdr[j] = createObject(OBJ_STRING,
            sdscatprintf(sdsempty(),"*%d\r\n",j));
        shared.bulkhdr[j] = createObject(OBJ_STRING,
            sdscatprintf(sdsempty(),"$%d\r\n",j));
    }
    /* The following two shared objects, minstring and maxstrings, are not
     * actually used for their value but as a special object meaning
     * respectively the minimum possible string and the maximum possible
     * string in string comparisons for the ZRANGEBYLEX command. */
    shared.minstring = createStringObject("minstring",9);
    shared.maxstring = createStringObject("maxstring",9);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
leaq 0x38731(%rip), %rdi     # 0x4edf7
callq 0x194da
xorl %ebx, %ebx
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x540ba(%rip)     # 0x6a798
leaq 0x35f2a(%rip), %rdi     # 0x4c60f
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x540a5(%rip)     # 0x6a7a0
leaq 0x35f13(%rip), %rdi     # 0x4c615
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x54090(%rip)     # 0x6a7a8
leaq 0x35efd(%rip), %rdi     # 0x4c61c
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x5407b(%rip)     # 0x6a7b0
leaq 0x35ee7(%rip), %rdi     # 0x4c623
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x54066(%rip)     # 0x6a7b8
leaq 0x35ecf(%rip), %rdi     # 0x4c628
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x54051(%rip)     # 0x6a7c0
leaq 0x35eb7(%rip), %rdi     # 0x4c62d
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x5403c(%rip)     # 0x6a7c8
leaq 0x35ea0(%rip), %rdi     # 0x4c633
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x5403f(%rip)     # 0x6a7e8
leaq 0x35e89(%rip), %rdi     # 0x4c639
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x5402a(%rip)     # 0x6a7f0
leaq 0x35e72(%rip), %rdi     # 0x4c63f
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x5401d(%rip)     # 0x6a800
leaq 0x35e5a(%rip), %rdi     # 0x4c644
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53fd0(%rip)     # 0x6a7d0
leaq 0x35e45(%rip), %rdi     # 0x4c64c
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53fdb(%rip)     # 0x6a7f8
leaq 0x35e32(%rip), %rdi     # 0x4c656
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53fce(%rip)     # 0x6a808
leaq 0x35e5a(%rip), %rdi     # 0x4c69b
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53fb9(%rip)     # 0x6a810
leaq 0x35e50(%rip), %rdi     # 0x4c6ae
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53fa4(%rip)     # 0x6a818
leaq 0x35e47(%rip), %rdi     # 0x4c6c2
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53f8f(%rip)     # 0x6a820
leaq 0x35e5d(%rip), %rdi     # 0x4c6f5
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53f7a(%rip)     # 0x6a828
leaq 0x35e5a(%rip), %rdi     # 0x4c70f
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53f65(%rip)     # 0x6a830
leaq 0x35e6e(%rip), %rdi     # 0x4c740
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53f50(%rip)     # 0x6a838
leaq 0x35e84(%rip), %rdi     # 0x4c773
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53f3b(%rip)     # 0x6a840
leaq 0x35ec2(%rip), %rdi     # 0x4c7ce
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53f2e(%rip)     # 0x6a850
leaq 0x35ef7(%rip), %rdi     # 0x4c820
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53f09(%rip)     # 0x6a848
leaq 0x35fa9(%rip), %rdi     # 0x4c8ef
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53efc(%rip)     # 0x6a858
leaq 0x35fc3(%rip), %rdi     # 0x4c926
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53eef(%rip)     # 0x6a868
leaq 0x35fc9(%rip), %rdi     # 0x4c949
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53eea(%rip)     # 0x6a880
leaq 0x35fe7(%rip), %rdi     # 0x4c984
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53ead(%rip)     # 0x6a860
leaq 0x36009(%rip), %rdi     # 0x4c9c3
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53ea0(%rip)     # 0x6a870
leaq 0x3601b(%rip), %rdi     # 0x4c9f2
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53e8b(%rip)     # 0x6a878
leaq 0x38c32(%rip), %rdi     # 0x4f626
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53dce(%rip)     # 0x6a7d8
leaq 0x3964e(%rip), %rdi     # 0x5005f
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53db9(%rip)     # 0x6a7e0
leaq 0x35fef(%rip), %rdi     # 0x4ca1d
callq 0x194da
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x53e44(%rip)     # 0x6a888
leaq 0x35fd4(%rip), %rdi     # 0x4ca1f
pushq $0xd
popq %rsi
callq 0x1f9d5
movq %rax, 0x53e36(%rip)     # 0x6a890
leaq 0x35fcc(%rip), %rdi     # 0x4ca2d
pushq $0xe
popq %rsi
callq 0x1f9d5
movq %rax, 0x53e28(%rip)     # 0x6a898
leaq 0x35fc5(%rip), %rdi     # 0x4ca3c
pushq $0xf
popq %rsi
callq 0x1f9d5
movq %rax, 0x53e1a(%rip)     # 0x6a8a0
leaq 0x35fbf(%rip), %rdi     # 0x4ca4c
pushq $0x12
popq %rsi
callq 0x1f9d5
movq %rax, 0x53e0c(%rip)     # 0x6a8a8
leaq 0x35fbc(%rip), %rdi     # 0x4ca5f
pushq $0x11
popq %rsi
callq 0x1f9d5
movq %rax, 0x53dfe(%rip)     # 0x6a8b0
leaq 0x35fb8(%rip), %rdi     # 0x4ca71
pushq $0x13
popq %rsi
callq 0x1f9d5
movq %rax, 0x53df0(%rip)     # 0x6a8b8
leaq 0x53cc9(%rip), %r12     # 0x6a798
movl $0xffffff0f, %ebp       # imm = 0xFFFFFF0F
cmpq $0x2710, %rbx           # imm = 0x2710
je 0x16afd
xorl %edi, %edi
movq %rbx, %rsi
callq 0x1f928
movq %rax, 0x148(%r12,%rbx,8)
movl (%rax), %ecx
andl %ebp, %ecx
orl $0x10, %ecx
movl %ecx, (%rax)
incq %rbx
jmp 0x16ad4
leaq 0x35f81(%rip), %rbx     # 0x4ca85
leaq 0x35f80(%rip), %r14     # 0x4ca8b
xorl %r15d, %r15d
cmpq $0x20, %r15
je 0x16b67
callq 0x194cc
movq %rax, %rdi
movq %rbx, %rsi
movl %r15d, %edx
xorl %eax, %eax
callq 0x19db8
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x139c8(%r12,%r15,8)
callq 0x194cc
movq %rax, %rdi
movq %r14, %rsi
movl %r15d, %edx
xorl %eax, %eax
callq 0x19db8
xorl %edi, %edi
movq %rax, %rsi
callq 0x1f928
movq %rax, 0x13ac8(%r12,%r15,8)
incq %r15
jmp 0x16b0e
leaq 0x35f23(%rip), %rdi     # 0x4ca91
pushq $0x9
popq %rbx
movq %rbx, %rsi
callq 0x1f9d5
movq %rax, 0x53d50(%rip)     # 0x6a8d0
leaq 0x35f14(%rip), %rdi     # 0x4ca9b
movq %rbx, %rsi
callq 0x1f9d5
movq %rax, 0x53d42(%rip)     # 0x6a8d8
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq