// File: /workspace/github_c_makefile_star2_O0/gplessis[P]dotdeb-redis/src/debug.c
// Function: serverLogObjectDebugInfo
void serverLogObjectDebugInfo(robj *o) {
    serverLog(LL_WARNING,"Object type: %d", o->type);
    serverLog(LL_WARNING,"Object encoding: %d", o->encoding);
    serverLog(LL_WARNING,"Object refcount: %d", o->refcount);
    if (o->type == OBJ_STRING && sdsEncodedObject(o)) {
        serverLog(LL_WARNING,"Object raw string len: %zu", sdslen(o->ptr));
        if (sdslen(o->ptr) < 4096) {
            sds repr = sdscatrepr(sdsempty(),o->ptr,sdslen(o->ptr));
            serverLog(LL_WARNING,"Object raw string content: %s", repr);
            sdsfree(repr);
        }
    } else if (o->type == OBJ_LIST) {
        serverLog(LL_WARNING,"List length: %d", (int) listTypeLength(o));
    } else if (o->type == OBJ_SET) {
        serverLog(LL_WARNING,"Set size: %d", (int) setTypeSize(o));
    } else if (o->type == OBJ_HASH) {
        serverLog(LL_WARNING,"Hash size: %d", (int) hashTypeLength(o));
    } else if (o->type == OBJ_ZSET) {
        serverLog(LL_WARNING,"Sorted set size: %d", (int) zsetLength(o));
        if (o->encoding == OBJ_ENCODING_SKIPLIST)
            serverLog(LL_WARNING,"Skiplist level: %d", (int) ((zset*)o->ptr)->zsl->level);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movl (%rax), %edx
andl $0xf, %edx
movl $0x3, %edi
leaq 0xc871a(%rip), %rsi     # 0x140dcb
movb $0x0, %al
callq 0x2fc60
movq -0x8(%rbp), %rax
movl (%rax), %edx
shrl $0x4, %edx
andl $0xf, %edx
movl $0x3, %edi
leaq 0xc870b(%rip), %rsi     # 0x140ddb
movb $0x0, %al
callq 0x2fc60
movq -0x8(%rbp), %rax
movl 0x4(%rax), %edx
movl $0x3, %edi
leaq 0xc8705(%rip), %rsi     # 0x140def
movb $0x0, %al
callq 0x2fc60
movq -0x8(%rbp), %rax
movl (%rax), %eax
andl $0xf, %eax
cmpl $0x0, %eax
jne 0x787bc
movq -0x8(%rbp), %rax
movl (%rax), %eax
shrl $0x4, %eax
andl $0xf, %eax
cmpl $0x0, %eax
je 0x78729
movq -0x8(%rbp), %rax
movl (%rax), %eax
shrl $0x4, %eax
andl $0xf, %eax
cmpl $0x8, %eax
jne 0x787bc
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x76360
movq %rax, %rdx
movl $0x3, %edi
leaq 0xc86be(%rip), %rsi     # 0x140e03
movb $0x0, %al
callq 0x2fc60
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x76360
cmpq $0x1000, %rax           # imm = 0x1000
jae 0x787b7
callq 0x384f0
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x76360
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq %rax, %rdx
callq 0x3a2c0
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdx
movl $0x3, %edi
leaq 0xc8677(%rip), %rsi     # 0x140e1e
movb $0x0, %al
callq 0x2fc60
movq -0x10(%rbp), %rdi
callq 0x38620
jmp 0x788b5
movq -0x8(%rbp), %rax
movl (%rax), %eax
andl $0xf, %eax
cmpl $0x1, %eax
jne 0x787ed
movq -0x8(%rbp), %rdi
callq 0x59140
movl %eax, %edx
movl $0x3, %edi
leaq 0xc865b(%rip), %rsi     # 0x140e3c
movb $0x0, %al
callq 0x2fc60
jmp 0x788b3
movq -0x8(%rbp), %rax
movl (%rax), %eax
andl $0xf, %eax
cmpl $0x2, %eax
jne 0x7881e
movq -0x8(%rbp), %rdi
callq 0x5bf20
movl %eax, %edx
movl $0x3, %edi
leaq 0xc863a(%rip), %rsi     # 0x140e4c
movb $0x0, %al
callq 0x2fc60
jmp 0x788b1
movq -0x8(%rbp), %rax
movl (%rax), %eax
andl $0xf, %eax
cmpl $0x4, %eax
jne 0x7884c
movq -0x8(%rbp), %rdi
callq 0x66c10
movl %eax, %edx
movl $0x3, %edi
leaq 0xc8616(%rip), %rsi     # 0x140e59
movb $0x0, %al
callq 0x2fc60
jmp 0x788af
movq -0x8(%rbp), %rax
movl (%rax), %eax
andl $0xf, %eax
cmpl $0x3, %eax
jne 0x788ad
movq -0x8(%rbp), %rdi
callq 0x61060
movl %eax, %edx
movl $0x3, %edi
leaq 0xc85f6(%rip), %rsi     # 0x140e67
movb $0x0, %al
callq 0x2fc60
movq -0x8(%rbp), %rax
movl (%rax), %eax
shrl $0x4, %eax
andl $0xf, %eax
cmpl $0x7, %eax
jne 0x788ab
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movl 0x18(%rax), %edx
movl $0x3, %edi
leaq 0xc85d7(%rip), %rsi     # 0x140e7b
movb $0x0, %al
callq 0x2fc60
jmp 0x788ad
jmp 0x788af
jmp 0x788b1
jmp 0x788b3
jmp 0x788b5
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)