// File: /workspace/github_c_makefile_star2_O0/gplessis[P]dotdeb-redis/src/rdb.c
// Function: rdbSaveObjectType
int rdbSaveObjectType(rio *rdb, robj *o) {
    switch (o->type) {
    case OBJ_STRING:
        return rdbSaveType(rdb,RDB_TYPE_STRING);
    case OBJ_LIST:
        if (o->encoding == OBJ_ENCODING_QUICKLIST)
            return rdbSaveType(rdb,RDB_TYPE_LIST_QUICKLIST);
        else
            serverPanic("Unknown list encoding");
    case OBJ_SET:
        if (o->encoding == OBJ_ENCODING_INTSET)
            return rdbSaveType(rdb,RDB_TYPE_SET_INTSET);
        else if (o->encoding == OBJ_ENCODING_HT)
            return rdbSaveType(rdb,RDB_TYPE_SET);
        else
            serverPanic("Unknown set encoding");
    case OBJ_ZSET:
        if (o->encoding == OBJ_ENCODING_ZIPLIST)
            return rdbSaveType(rdb,RDB_TYPE_ZSET_ZIPLIST);
        else if (o->encoding == OBJ_ENCODING_SKIPLIST)
            return rdbSaveType(rdb,RDB_TYPE_ZSET);
        else
            serverPanic("Unknown sorted set encoding");
    case OBJ_HASH:
        if (o->encoding == OBJ_ENCODING_ZIPLIST)
            return rdbSaveType(rdb,RDB_TYPE_HASH_ZIPLIST);
        else if (o->encoding == OBJ_ENCODING_HT)
            return rdbSaveType(rdb,RDB_TYPE_HASH);
        else
            serverPanic("Unknown hash encoding");
    default:
        serverPanic("Unknown object type");
    }
    return -1; /* avoid warning */
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%rbp), %rax
movl (%rax), %eax
andl $0xf, %eax
movl %eax, %ecx
movq %rcx, -0x20(%rbp)
subl $0x4, %eax
ja 0x54032
movq -0x20(%rbp), %rax
leaq 0xe9239(%rip), %rcx     # 0x13d0bc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0x52bb0
movl %eax, -0x4(%rbp)
jmp 0x54054
movq -0x18(%rbp), %rax
movl (%rax), %eax
shrl $0x4, %eax
andl $0xf, %eax
cmpl $0x9, %eax
jne 0x53ec6
movq -0x10(%rbp), %rdi
movl $0xe, %esi
callq 0x52bb0
movl %eax, -0x4(%rbp)
jmp 0x54054
leaq 0xe9318(%rip), %rdi     # 0x13d1e5
leaq 0xe92cd(%rip), %rsi     # 0x13d1a1
movl $0x215, %edx            # imm = 0x215
callq 0x76d80
movl $0x1, %edi
callq 0x263c0
movq -0x18(%rbp), %rax
movl (%rax), %eax
shrl $0x4, %eax
andl $0xf, %eax
cmpl $0x6, %eax
jne 0x53f0f
movq -0x10(%rbp), %rdi
movl $0xb, %esi
callq 0x52bb0
movl %eax, -0x4(%rbp)
jmp 0x54054
movq -0x18(%rbp), %rax
movl (%rax), %eax
shrl $0x4, %eax
andl $0xf, %eax
cmpl $0x2, %eax
jne 0x53f36
movq -0x10(%rbp), %rdi
movl $0x2, %esi
callq 0x52bb0
movl %eax, -0x4(%rbp)
jmp 0x54054
leaq 0xe92c0(%rip), %rdi     # 0x13d1fd
leaq 0xe925d(%rip), %rsi     # 0x13d1a1
movl $0x21c, %edx            # imm = 0x21C
callq 0x76d80
movl $0x1, %edi
callq 0x263c0
movq -0x18(%rbp), %rax
movl (%rax), %eax
shrl $0x4, %eax
andl $0xf, %eax
cmpl $0x5, %eax
jne 0x53f7f
movq -0x10(%rbp), %rdi
movl $0xc, %esi
callq 0x52bb0
movl %eax, -0x4(%rbp)
jmp 0x54054
movq -0x18(%rbp), %rax
movl (%rax), %eax
shrl $0x4, %eax
andl $0xf, %eax
cmpl $0x7, %eax
jne 0x53fa6
movq -0x10(%rbp), %rdi
movl $0x3, %esi
callq 0x52bb0
movl %eax, -0x4(%rbp)
jmp 0x54054
leaq 0xe773d(%rip), %rdi     # 0x13b6ea
leaq 0xe91ed(%rip), %rsi     # 0x13d1a1
movl $0x223, %edx            # imm = 0x223
callq 0x76d80
movl $0x1, %edi
callq 0x263c0
movq -0x18(%rbp), %rax
movl (%rax), %eax
shrl $0x4, %eax
andl $0xf, %eax
cmpl $0x5, %eax
jne 0x53fec
movq -0x10(%rbp), %rdi
movl $0xd, %esi
callq 0x52bb0
movl %eax, -0x4(%rbp)
jmp 0x54054
movq -0x18(%rbp), %rax
movl (%rax), %eax
shrl $0x4, %eax
andl $0xf, %eax
cmpl $0x2, %eax
jne 0x54010
movq -0x10(%rbp), %rdi
movl $0x4, %esi
callq 0x52bb0
movl %eax, -0x4(%rbp)
jmp 0x54054
leaq 0xe91fd(%rip), %rdi     # 0x13d214
leaq 0xe9183(%rip), %rsi     # 0x13d1a1
movl $0x22a, %edx            # imm = 0x22A
callq 0x76d80
movl $0x1, %edi
callq 0x263c0
leaq 0xe7711(%rip), %rdi     # 0x13b74a
leaq 0xe9161(%rip), %rsi     # 0x13d1a1
movl $0x22c, %edx            # imm = 0x22C
callq 0x76d80
movl $0x1, %edi
callq 0x263c0
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)