// File: /workspace/github_c_makefile_star2_O0/gplessis[P]dotdeb-redis/src/redis-cli.c
// Function: reconnectingRedisCommand
static redisReply *reconnectingRedisCommand(redisContext *c, const char *fmt, ...) {
    redisReply *reply = NULL;
    int tries = 0;
    va_list ap;

    assert(!c->err);
    while(reply == NULL) {
        while (c->err & (REDIS_ERR_IO | REDIS_ERR_EOF)) {
            printf("\r\x1b[0K"); /* Cursor to left edge + clear line. */
            printf("Reconnecting... %d\r", ++tries);
            fflush(stdout);

            redisFree(c);
            c = redisConnect(config.hostip,config.hostport);
            usleep(1000000);
        }

        va_start(ap,fmt);
        reply = redisvCommand(c,fmt,ap);
        va_end(ap);

        if (c->err && !(c->err & (REDIS_ERR_IO | REDIS_ERR_EOF))) {
            fprintf(stderr, "Error: %s\n", c->errstr);
            exit(1);
        } else if (tries > 0) {
            printf("\r\x1b[0K"); /* Cursor to left edge + clear line. */
        }
    }

    context = c;
    return reply;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
testb %al, %al
je 0x16f7b
movaps %xmm0, -0xc0(%rbp)
movaps %xmm1, -0xb0(%rbp)
movaps %xmm2, -0xa0(%rbp)
movaps %xmm3, -0x90(%rbp)
movaps %xmm4, -0x80(%rbp)
movaps %xmm5, -0x70(%rbp)
movaps %xmm6, -0x60(%rbp)
movaps %xmm7, -0x50(%rbp)
movq %r9, -0xc8(%rbp)
movq %r8, -0xd0(%rbp)
movq %rcx, -0xd8(%rbp)
movq %rdx, -0xe0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, (%rax)
jne 0x16fb9
jmp 0x16fd8
leaq 0x74df3(%rip), %rdi     # 0x8bdb3
leaq 0x74df4(%rip), %rsi     # 0x8bdbb
movl $0x3b0, %edx            # imm = 0x3B0
leaq 0x74df4(%rip), %rcx     # 0x8bdc7
callq 0x10230
jmp 0x16fda
cmpq $0x0, -0x18(%rbp)
jne 0x170ed
jmp 0x16fe7
movq -0x8(%rbp), %rax
movl (%rax), %eax
andl $0x3, %eax
cmpl $0x0, %eax
je 0x17054
leaq 0x74e13(%rip), %rdi     # 0x8be0f
movb $0x0, %al
callq 0x101d0
movl -0x1c(%rbp), %esi
addl $0x1, %esi
movl %esi, -0x1c(%rbp)
leaq 0x74e02(%rip), %rdi     # 0x8be15
movb $0x0, %al
callq 0x101d0
movq 0x87f9f(%rip), %rax     # 0x9efc0
movq (%rax), %rdi
callq 0x10430
movq -0x8(%rbp), %rdi
callq 0x1cb90
movq 0x8a44f(%rip), %rdi     # 0xa1488
movl 0x8a451(%rip), %esi     # 0xa1490
callq 0x1cc50
movq %rax, -0x8(%rbp)
movl $0xf4240, %edi          # imm = 0xF4240
callq 0x106f0
jmp 0x16fe7
leaq -0x40(%rbp), %rax
leaq -0xf0(%rbp), %rcx
movq %rcx, 0x10(%rax)
leaq 0x10(%rbp), %rcx
movq %rcx, 0x8(%rax)
movl $0x30, 0x4(%rax)
movl $0x10, (%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x1d740
movq %rax, -0x18(%rbp)
leaq -0x40(%rbp), %rax
movq -0x8(%rbp), %rax
cmpl $0x0, (%rax)
je 0x170d2
movq -0x8(%rbp), %rax
movl (%rax), %eax
andl $0x3, %eax
cmpl $0x0, %eax
jne 0x170d2
movq 0x87f41(%rip), %rax     # 0x9eff0
movq (%rax), %rdi
movq -0x8(%rbp), %rdx
addq $0x4, %rdx
leaq 0x74d68(%rip), %rsi     # 0x8be29
movb $0x0, %al
callq 0x10360
movl $0x1, %edi
callq 0x10600
cmpl $0x0, -0x1c(%rbp)
jle 0x170e6
leaq 0x74d30(%rip), %rdi     # 0x8be0f
movb $0x0, %al
callq 0x101d0
jmp 0x170e8
jmp 0x16fda
movq -0x8(%rbp), %rax
movq %rax, 0x8a4e0(%rip)     # 0xa15d8
movq -0x18(%rbp), %rax
addq $0xf0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)