// File: /workspace/github_c_makefile_star2_O0/erikdubbelboer[P]discnt/src/server.c
// Function: addReplyCommand
void addReplyCommand(client *c, struct serverCommand *cmd) {
    if (!cmd) {
        addReply(c, shared.nullbulk);
    } else {
        /* We are adding: command name, arg count, flags, first, last, offset */
        addReplyMultiBulkLen(c, 6);
        addReplyBulkCString(c, cmd->name);
        addReplyLongLong(c, cmd->arity);

        int flagcount = 0;
        void *flaglen = addDeferredMultiBulkLength(c);
        flagcount += addReplyCommandFlag(c,cmd,CMD_WRITE, "write");
        flagcount += addReplyCommandFlag(c,cmd,CMD_READONLY, "readonly");
        flagcount += addReplyCommandFlag(c,cmd,CMD_DENYOOM, "denyoom");
        flagcount += addReplyCommandFlag(c,cmd,CMD_ADMIN, "admin");
        flagcount += addReplyCommandFlag(c,cmd,CMD_PUBSUB, "pubsub");
        flagcount += addReplyCommandFlag(c,cmd,CMD_RANDOM, "random");
        flagcount += addReplyCommandFlag(c,cmd,CMD_LOADING, "loading");
        flagcount += addReplyCommandFlag(c,cmd,CMD_SKIP_MONITOR, "skip_monitor");
        flagcount += addReplyCommandFlag(c,cmd,CMD_FAST, "fast");
        setDeferredMultiBulkLength(c, flaglen, flagcount);

        addReplyLongLong(c, cmd->firstkey);
        addReplyLongLong(c, cmd->lastkey);
        addReplyLongLong(c, cmd->keystep);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x1c1bc
movq -0x8(%rbp), %rdi
movq 0xa3696(%rip), %rsi     # 0xbf848
callq 0x24050
jmp 0x1c35a
movq -0x8(%rbp), %rdi
movl $0x6, %esi
callq 0x24b20
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
callq 0x24860
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movslq 0x10(%rax), %rsi
callq 0x24ab0
movl $0x0, -0x14(%rbp)
movq -0x8(%rbp), %rdi
callq 0x24630
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x1, %edx
leaq 0x8d32d(%rip), %rcx     # 0xa9540
callq 0x1c140
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x2, %edx
leaq 0x88093(%rip), %rcx     # 0xa42c5
callq 0x1c140
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x4, %edx
leaq 0x8807d(%rip), %rcx     # 0xa42ce
callq 0x1c140
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x10, %edx
leaq 0x88066(%rip), %rcx     # 0xa42d6
callq 0x1c140
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x20, %edx
leaq 0x8804d(%rip), %rcx     # 0xa42dc
callq 0x1c140
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x80, %edx
leaq 0x89ab9(%rip), %rcx     # 0xa5d67
callq 0x1c140
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x200, %edx            # imm = 0x200
leaq 0x88016(%rip), %rcx     # 0xa42e3
callq 0x1c140
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x800, %edx            # imm = 0x800
leaq 0x87fff(%rip), %rcx     # 0xa42eb
callq 0x1c140
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl $0x2000, %edx           # imm = 0x2000
leaq 0x87fed(%rip), %rcx     # 0xa42f8
callq 0x1c140
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
movslq -0x14(%rbp), %rdx
callq 0x24680
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movslq 0x24(%rax), %rsi
callq 0x24ab0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movslq 0x28(%rax), %rsi
callq 0x24ab0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movslq 0x2c(%rax), %rsi
callq 0x24ab0
addq $0x20, %rsp
popq %rbp
retq