// File: /workspace/github_cpp_makefile_star2_O3/Sherhang[P]redis-for-cpp/credis.cpp
// Function: Redis::zadd(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>> const&)
int64_t Redis::zadd(const std::string& key, const std::map<std::string, std::string>& members)
{
    int64_t ret = -1;
    std::string cmd =  "ZADD " + key;
    std::map<std::string, std::string>::const_iterator it = members.begin();
    for (; it != members.end(); ++it)
    {
        cmd += " " + it->first + " " + it->second;
    }
    execReplyInt(cmd, ret);
    return ret;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movq %rdx, %r14
movq %rsi, %rdx
movq %rdi, 0x30(%rsp)
movq $-0x1, 0x8(%rsp)
leaq 0xd5cf(%rip), %rsi      # 0x14165
leaq 0x78(%rsp), %rdi
callq 0xa64c
movq 0x18(%r14), %r15
addq $0x8, %r14
cmpq %r14, %r15
je 0x6cd0
leaq 0x48(%rsp), %rbp
leaq 0x20(%rsp), %rbx
leaq 0xe030(%rip), %r12      # 0x14bf2
leaq 0x58(%rsp), %r13
leaq 0x20(%r15), %rdx
movq %r13, %rdi
movq %r12, %rsi
callq 0xa64c
movq %r13, %rdi
movq %r12, %rsi
callq 0x3600
movq %rbp, 0x38(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6c04
movq %rdx, 0x38(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x48(%rsp)
jmp 0x6c0b
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x40(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x40(%r15), %rsi
movq 0x48(%r15), %rdx
leaq 0x38(%rsp), %rdi
callq 0x3110
movq %rbx, 0x10(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6c58
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x6c5e
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
leaq 0x78(%rsp), %rdi
callq 0x3110
movq 0x10(%rsp), %rdi
cmpq %rbx, %rdi
je 0x6c99
callq 0x3350
movq 0x38(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6ca8
callq 0x3350
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x6cbc
callq 0x3350
movq %r15, %rdi
callq 0x3400
movq %rax, %r15
cmpq %r14, %rax
jne 0x6bc7
leaq 0x78(%rsp), %rsi
leaq 0x8(%rsp), %rdx
movq 0x30(%rsp), %rdi
callq 0x4928
movq 0x8(%rsp), %rbx
leaq 0x88(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6cff
callq 0x3350
movq %rbx, %rax
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x6d16
movq %rax, %r14
jmp 0x6d5a
movq %rax, %r14
jmp 0x6d46
movq %rax, %r14
jmp 0x6d37
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %rbx, %rdi
je 0x6d37
callq 0x3350
movq 0x38(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6d46
callq 0x3350
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x6d5a
callq 0x3350
leaq 0x88(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6d70
callq 0x3350
movq %r14, %rdi
callq 0x35b0