// File: /workspace/github_c_makefile_star2_O3/redis-force[P]rpm/module/rpm_redis.c
// Function: redis_response_reader_next
redis_response_status redis_response_reader_next(redis_response_reader *reader, redis_response **response) {
  *response = NULL;
  REDIS_RESPONSE_READER_CHECK_ERROR(reader);
  if (reader->len == 0) {
    return REDIS_RESPONSE_OK;
  }

  if (reader->task_idx == -1) {
    redis_response_reader_task_init(NULL, reader->tasks, -1);
    reader->task_idx = 0;
  }

  while (reader->task_idx >= 0) {
    if (redis_response_process_item(reader) != REDIS_RESPONSE_OK) {
      break;
    }
  }

  REDIS_RESPONSE_READER_CHECK_ERROR(reader);

  if (reader->pos >= 1024) {
    memmove(reader->buf, reader->buf + reader->pos, reader->len - reader->pos);
    reader->len -= reader->pos;
    reader->pos = 0;
  }

  if (reader->task_idx == -1) {
    *response = reader->response;
    reader->response = NULL;
  }
  return REDIS_RESPONSE_OK;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
movq $0x0, (%rsi)
movl (%rdi), %eax
testl %eax, %eax
je 0x8a04
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rdi, %r8
cmpq $0x0, 0xa8(%rdi)
je 0x9010
movq %rsi, 0x18(%rsp)
cmpl $-0x1, 0x1d8(%r8)
jne 0x8a50
movq $-0x1, 0xb8(%r8)
movl $0xffffffff, 0xc0(%r8) # imm = 0xFFFFFFFF
movl $0x0, 0x1d8(%r8)
xorps %xmm0, %xmm0
movups %xmm0, 0xc8(%r8)
leaq 0xb8(%r8), %rax
movq %rax, 0x10(%rsp)
movq %r8, (%rsp)
movslq 0x1d8(%r8), %rcx
testq %rcx, %rcx
js 0x8f90
movq %rcx, %rax
shlq $0x5, %rax
movq 0x10(%rsp), %rdx
leaq (%rdx,%rax), %r14
movl (%rdx,%rax), %eax
testl %eax, %eax
js 0x8abc
decl %eax
cmpl $0x5, %eax
ja 0x9017
leaq 0x27ff(%rip), %rdx      # 0xb298
movslq (%rdx,%rax,4), %rax
addq %rdx, %rax
jmpq *%rax
movq %r14, %rbx
movq 0x90(%r8), %r15
movq 0xa0(%r8), %rbp
movq 0xa8(%r8), %r14
jmp 0x8b18
movq %r14, %rbx
movq 0xa0(%r8), %rax
movq 0xa8(%r8), %r14
cmpq %rax, %r14
je 0x8f90
movq 0x90(%r8), %r15
leaq 0x1(%rax), %rbp
movq %rbp, 0xa0(%r8)
testq %r15, %r15
je 0x8f90
movzbl (%r15,%rax), %eax
leal -0x24(%rax), %edx
cmpl $0x9, %edx
ja 0x8b86
leaq 0x27a7(%rip), %rsi      # 0xb2b0
movslq (%rsi,%rdx,4), %rdx
addq %rsi, %rdx
jmpq *%rdx
movl $0x1, (%rbx)
addq %rbp, %r15
movq %r14, %rsi
subq %rbp, %rsi
movq %r15, %rdi
callq 0x9399
testq %rax, %rax
movq (%rsp), %r8
je 0x8f90
movq %rax, %r13
movq %rax, %r12
subq %r15, %r12
movq %r15, %rdi
callq 0x91ad
testq %rax, %rax
js 0x8bd0
leaq (%r12,%rax), %rcx
addq %rbp, %rcx
addq $0x4, %rcx
cmpq %r14, %rcx
movq (%rsp), %r8
ja 0x8f90
addq %rax, %r12
addq $0x4, %r12
addq $0x2, %r13
movq %r8, %rdi
movq %rbx, %rsi
movq %r13, %rdx
movq %rax, %rcx
callq 0x9208
jmp 0x8be0
cmpl $0x3a, %eax
jne 0x8b95
movl $0x3, %eax
jmp 0x8c2d
movsbl %al, %r15d
movzbl %r15b, %ecx
leal -0x7(%rcx), %edx
cmpl $0x6, %edx
ja 0x8e8d
leaq 0x2728(%rip), %rsi      # 0xb2d8
movslq (%rsi,%rdx,4), %rcx
addq %rsi, %rcx
leaq 0x8(%rsp), %r12
jmpq *%rcx
movb $0x0, 0xc(%rsp)
movl $0x22615c22, 0x8(%rsp)  # imm = 0x22615C22
jmp 0x8f51
addq $0x2, %r12
movq (%rsp), %rdi
movq %rbx, %rsi
callq 0x9402
testq %rax, %rax
je 0x8c09
movq (%rsp), %rdi
addq %r12, 0xa0(%rdi)
cmpl $0x0, 0x1d8(%rdi)
jne 0x8ce9
movq %rax, 0x1e0(%rdi)
jmp 0x8ce9
movq (%rsp), %rbx
movq %rbx, %rdi
movl $0x3, %esi
leaq 0x26e4(%rip), %rdx      # 0xb300
jmp 0x8f7e
movl $0x5, %eax
jmp 0x8c2d
movl $0x6, %eax
movq %rbx, %r14
movl %eax, (%rbx)
movq %r8, %rdi
leaq 0x20(%rsp), %rsi
callq 0x9149
testq %rax, %rax
je 0x8cac
cmpl $0x3, (%r14)
jne 0x8cba
movq %rax, %rdi
callq 0x91ad
movq %rax, %r15
movq (%rsp), %rbx
movq 0x88(%rbx), %rdi
movl $0x20, %esi
callq 0x5290
testq %rax, %rax
je 0x8cf9
movl $0x3, (%rax)
movq 0x88(%rbx), %rcx
movq %rcx, 0x8(%rax)
movq %r15, 0x10(%rax)
movq 0x18(%r14), %rcx
testq %rcx, %rcx
je 0x8cd6
movq 0x10(%rcx), %rcx
cmpl $0x2, (%rcx)
jne 0x9036
movq 0x10(%rcx), %rcx
movslq 0x8(%r14), %rdx
movq %rax, (%rcx,%rdx,8)
jmp 0x8cd6
movl $0x1, %eax
movq (%rsp), %r8
jmp 0x8f88
movslq 0x20(%rsp), %rcx
movq (%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x9208
testq %rax, %rax
je 0x8cf9
cmpl $0x0, 0x1d8(%rbx)
jne 0x8ce6
movq %rax, 0x1e0(%rbx)
movq %rbx, %rdi
callq 0x92fe
movq (%rsp), %r8
xorl %eax, %eax
jmp 0x8f88
movq %rbx, %rdi
movl $0x3, %esi
leaq 0x25f8(%rip), %rdx      # 0xb300
jmp 0x8d43
movq %rbx, %r14
movl $0x2, (%rbx)
cmpl 0x1dc(%r8), %ecx
jne 0x8d54
movl $0x40, %esi
leaq 0x20(%rsp), %r14
movq %r14, %rdi
leaq 0x28f0(%rip), %rdx      # 0xb620
xorl %eax, %eax
callq 0x50e0
movq (%rsp), %rdi
movl $0x2, %esi
movq %r14, %rdx
callq 0x90b1
movq (%rsp), %r8
movl (%r8), %eax
jmp 0x8f88
movq %r8, %rdi
xorl %esi, %esi
movq %r8, %rbx
callq 0x9149
testq %rax, %rax
je 0x8e4a
movq %rax, %rdi
callq 0x91ad
movl 0x1d8(%rbx), %ebp
cmpq $-0x1, %rax
je 0x8e54
movq %rax, %r15
movq 0x88(%rbx), %rdi
movl $0x20, %esi
callq 0x5290
testq %rax, %rax
je 0x8f1d
movq %rax, %r13
movl $0x2, (%rax)
movq 0x88(%rbx), %rdi
movq %rdi, 0x8(%rax)
testl %r15d, %r15d
jle 0x8ddb
movl %r15d, %esi
andl $0x7fffffff, %esi       # imm = 0x7FFFFFFF
shlq $0x3, %rsi
callq 0x5290
movq (%rsp), %rbx
movq %rax, 0x10(%r13)
testq %rax, %rax
je 0x8f15
movslq %r15d, %rax
movq %rax, 0x18(%r13)
movq 0x18(%r14), %rax
testq %rax, %rax
je 0x8e04
movq 0x10(%rax), %rax
cmpl $0x2, (%rax)
jne 0x9055
movq 0x10(%rax), %rax
movslq 0x8(%r14), %rcx
movq %r13, (%rax,%rcx,8)
testq %r15, %r15
jle 0x8e6b
movl %r15d, 0x4(%r14)
movq %r13, 0x10(%r14)
movslq 0x1d8(%rbx), %rax
incq %rax
movl %eax, 0x1d8(%rbx)
shlq $0x5, %rax
movq 0x10(%rsp), %rcx
movq $-0x1, (%rcx,%rax)
movl $0x0, 0x8(%rcx,%rax)
movq $0x0, 0x10(%rcx,%rax)
movq %r14, 0x18(%rcx,%rax)
jmp 0x8e73
movl $0x1, %eax
jmp 0x8f33
movq %rbx, %rdi
movq %r14, %rsi
callq 0x9402
testq %rax, %rax
je 0x8f1d
movq %rax, %r13
movq %rbx, %rdi
callq 0x92fe
xorl %eax, %eax
testl %ebp, %ebp
jne 0x8cb1
movq (%rsp), %r8
movq %r13, 0x1e0(%r8)
jmp 0x8f88
cmpl $0x5c, %ecx
leaq 0x8(%rsp), %r12
je 0x8e9c
cmpl $0x22, %ecx
jne 0x8eb0
movl $0x8, %esi
movq %r12, %rdi
leaq 0x24d9(%rip), %rdx      # 0xb384
jmp 0x8f47
movsbq %al, %r14
callq 0x5410
movq (%rax), %rax
testb $0x40, 0x1(%rax,%r14,2)
jne 0x8f38
movzbl %r14b, %ecx
movl $0x8, %esi
movq %r12, %rdi
leaq 0x24d1(%rip), %rdx      # 0xb3a8
jmp 0x8f4a
movb $0x0, 0xc(%rsp)
movl $0x22625c22, 0x8(%rsp)  # imm = 0x22625C22
jmp 0x8f51
movb $0x0, 0xc(%rsp)
movl $0x22745c22, 0x8(%rsp)  # imm = 0x22745C22
jmp 0x8f51
movb $0x0, 0xc(%rsp)
movl $0x226e5c22, 0x8(%rsp)  # imm = 0x226E5C22
jmp 0x8f51
movb $0x0, 0xc(%rsp)
movl $0x22725c22, 0x8(%rsp)  # imm = 0x22725C22
jmp 0x8f51
movq %r13, %rdi
callq 0x5250
movq %rbx, %rdi
movl $0x3, %esi
leaq 0x23d4(%rip), %rdx      # 0xb300
callq 0x90b1
movl (%rbx), %eax
movq %rbx, %r8
jmp 0x8f88
movl $0x8, %esi
movq %r12, %rdi
leaq 0x245c(%rip), %rdx      # 0xb3a3
movl %r15d, %ecx
xorl %eax, %eax
callq 0x50e0
movl $0x80, %esi
leaq 0x20(%rsp), %r14
movq %r14, %rdi
leaq 0x23f2(%rip), %rdx      # 0xb357
movq %r12, %rcx
xorl %eax, %eax
callq 0x50e0
movq (%rsp), %rbx
movq %rbx, %rdi
movl $0x2, %esi
movq %r14, %rdx
callq 0x90b1
movq %rbx, %r8
movl (%rbx), %eax
testl %eax, %eax
je 0x8a60
movl (%r8), %eax
testl %eax, %eax
movq 0x18(%rsp), %r14
jne 0x89f2
movq 0xa0(%r8), %rax
cmpq $0x400, %rax            # imm = 0x400
jb 0x8fe6
movq 0x90(%r8), %rdi
movq 0xa8(%r8), %rdx
leaq (%rdi,%rax), %rsi
subq %rax, %rdx
callq 0x52d0
movq (%rsp), %r8
movq 0xa0(%r8), %rax
subq %rax, 0xa8(%r8)
movq $0x0, 0xa0(%r8)
xorl %eax, %eax
cmpl $-0x1, 0x1d8(%r8)
jne 0x89f2
movq 0x1e0(%r8), %rcx
movq %rcx, (%r14)
movq $0x0, 0x1e0(%r8)
jmp 0x89f2
xorl %eax, %eax
jmp 0x89f2
leaq 0x1e64(%rip), %rdi      # 0xae82
leaq 0x22e9(%rip), %rsi      # 0xb30e
leaq 0x22ee(%rip), %rcx      # 0xb31a
movl $0x251, %edx            # imm = 0x251
callq 0x50f0
leaq 0x2374(%rip), %rdi      # 0xb3b1
leaq 0x22ca(%rip), %rsi      # 0xb30e
leaq 0x238b(%rip), %rcx      # 0xb3d6
movl $0xcb, %edx
callq 0x50f0
leaq 0x2355(%rip), %rdi      # 0xb3b1
leaq 0x22ab(%rip), %rsi      # 0xb30e
leaq 0x25f3(%rip), %rcx      # 0xb65d
movl $0xbc, %edx
callq 0x50f0