// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/libraries/libwebp/src/dec/buffer_dec.c
// Function: WebPCopyDecBufferPixels
VP8StatusCode WebPCopyDecBufferPixels(const WebPDecBuffer* const src_buf,
                                      WebPDecBuffer* const dst_buf) {
  assert(src_buf != NULL && dst_buf != NULL);
  assert(src_buf->colorspace == dst_buf->colorspace);

  dst_buf->width = src_buf->width;
  dst_buf->height = src_buf->height;
  if (CheckDecBuffer(dst_buf) != VP8_STATUS_OK) {
    return VP8_STATUS_INVALID_PARAM;
  }
  if (WebPIsRGBMode(src_buf->colorspace)) {
    const WebPRGBABuffer* const src = &src_buf->u.RGBA;
    const WebPRGBABuffer* const dst = &dst_buf->u.RGBA;
    WebPCopyPlane(src->rgba, src->stride, dst->rgba, dst->stride,
                  src_buf->width * kModeBpp[src_buf->colorspace],
                  src_buf->height);
  } else {
    const WebPYUVABuffer* const src = &src_buf->u.YUVA;
    const WebPYUVABuffer* const dst = &dst_buf->u.YUVA;
    WebPCopyPlane(src->y, src->y_stride, dst->y, dst->y_stride,
                  src_buf->width, src_buf->height);
    WebPCopyPlane(src->u, src->u_stride, dst->u, dst->u_stride,
                  (src_buf->width + 1) / 2, (src_buf->height + 1) / 2);
    WebPCopyPlane(src->v, src->v_stride, dst->v, dst->v_stride,
                  (src_buf->width + 1) / 2, (src_buf->height + 1) / 2);
    if (WebPIsAlphaMode(src_buf->colorspace)) {
      WebPCopyPlane(src->a, src->a_stride, dst->a, dst->a_stride,
                    src_buf->width, src_buf->height);
    }
  }
  return VP8_STATUS_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x13ae00
cmpq $0x0, -0x18(%rbp)
je 0x13ae00
jmp 0x13ae1f
leaq 0x8130d(%rip), %rdi     # 0x1bc114
leaq 0x81329(%rip), %rsi     # 0x1bc137
movl $0x10f, %edx            # imm = 0x10F
leaq 0x81332(%rip), %rcx     # 0x1bc14c
callq 0x598a0
movq -0x10(%rbp), %rax
movl (%rax), %eax
movq -0x18(%rbp), %rcx
cmpl (%rcx), %eax
jne 0x13ae2f
jmp 0x13ae4e
leaq 0x8136e(%rip), %rdi     # 0x1bc1a4
leaq 0x812fa(%rip), %rsi     # 0x1bc137
movl $0x110, %edx            # imm = 0x110
leaq 0x81303(%rip), %rcx     # 0x1bc14c
callq 0x598a0
movq -0x10(%rbp), %rax
movl 0x4(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x10(%rbp), %rax
movl 0x8(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x18(%rbp), %rdi
callq 0x13b050
cmpl $0x0, %eax
je 0x13ae84
movl $0x2, -0x4(%rbp)
jmp 0x13b042
movq -0x10(%rbp), %rax
movl (%rax), %edi
callq 0x13a860
cmpl $0x0, %eax
je 0x13aefb
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq (%rax), %rdi
movq -0x20(%rbp), %rax
movl 0x8(%rax), %esi
movq -0x28(%rbp), %rax
movq (%rax), %rdx
movq -0x28(%rbp), %rax
movl 0x8(%rax), %ecx
movq -0x10(%rbp), %rax
movl 0x4(%rax), %r8d
movq -0x10(%rbp), %rax
movl (%rax), %eax
movl %eax, %r9d
leaq 0x81356(%rip), %rax     # 0x1bc236
movzbl (%rax,%r9), %eax
imull %eax, %r8d
movq -0x10(%rbp), %rax
movl 0x8(%rax), %r9d
callq 0x5ccc0
jmp 0x13b03b
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
movq (%rax), %rdi
movq -0x30(%rbp), %rax
movl 0x20(%rax), %esi
movq -0x38(%rbp), %rax
movq (%rax), %rdx
movq -0x38(%rbp), %rax
movl 0x20(%rax), %ecx
movq -0x10(%rbp), %rax
movl 0x4(%rax), %r8d
movq -0x10(%rbp), %rax
movl 0x8(%rax), %r9d
callq 0x5ccc0
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x30(%rbp), %rax
movl 0x24(%rax), %esi
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x38(%rbp), %rax
movl 0x24(%rax), %ecx
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
addl $0x1, %eax
movl $0x2, %r8d
cltd
idivl %r8d
movl %eax, %r8d
movq -0x10(%rbp), %rax
movl 0x8(%rax), %eax
addl $0x1, %eax
movl $0x2, %r9d
cltd
idivl %r9d
movq -0x48(%rbp), %rdx
movl %eax, %r9d
callq 0x5ccc0
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x30(%rbp), %rax
movl 0x28(%rax), %esi
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rax
movl 0x28(%rax), %ecx
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
addl $0x1, %eax
movl $0x2, %r8d
cltd
idivl %r8d
movl %eax, %r8d
movq -0x10(%rbp), %rax
movl 0x8(%rax), %eax
addl $0x1, %eax
movl $0x2, %r9d
cltd
idivl %r9d
movq -0x40(%rbp), %rdx
movl %eax, %r9d
callq 0x5ccc0
movq -0x10(%rbp), %rax
movl (%rax), %edi
callq 0x13b370
cmpl $0x0, %eax
je 0x13b039
movq -0x30(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x30(%rbp), %rax
movl 0x2c(%rax), %esi
movq -0x38(%rbp), %rax
movq 0x18(%rax), %rdx
movq -0x38(%rbp), %rax
movl 0x2c(%rax), %ecx
movq -0x10(%rbp), %rax
movl 0x4(%rax), %r8d
movq -0x10(%rbp), %rax
movl 0x8(%rax), %r9d
callq 0x5ccc0
jmp 0x13b03b
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)