// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/libraries/libwebp/src/dec/vp8l_dec.c
// Function: EmitRescaledRowsRGBA
static int EmitRescaledRowsRGBA(const VP8LDecoder* const dec,
                                uint8_t* in, int in_stride, int mb_h,
                                uint8_t* const out, int out_stride) {
  const WEBP_CSP_MODE colorspace = dec->output_->colorspace;
  int num_lines_in = 0;
  int num_lines_out = 0;
  while (num_lines_in < mb_h) {
    uint8_t* const row_in = in + (uint64_t)num_lines_in * in_stride;
    uint8_t* const row_out = out + (uint64_t)num_lines_out * out_stride;
    const int lines_left = mb_h - num_lines_in;
    const int needed_lines = WebPRescaleNeededLines(dec->rescaler, lines_left);
    int lines_imported;
    assert(needed_lines > 0 && needed_lines <= lines_left);
    WebPMultARGBRows(row_in, in_stride,
                     dec->rescaler->src_width, needed_lines, 0);
    lines_imported =
        WebPRescalerImport(dec->rescaler, lines_left, row_in, in_stride);
    assert(lines_imported == needed_lines);
    num_lines_in += lines_imported;
    num_lines_out += Export(dec->rescaler, colorspace, out_stride, row_out);
  }
  return num_lines_out;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl %ecx, -0x18(%rbp)
movq %r8, -0x20(%rbp)
movl %r9d, -0x24(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movl (%rax), %eax
movl %eax, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movl $0x0, -0x30(%rbp)
movl -0x2c(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x148bc5
movq -0x10(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movslq -0x14(%rbp), %rdx
imulq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rax
movslq -0x30(%rbp), %rcx
movslq -0x24(%rbp), %rdx
imulq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x40(%rbp)
movl -0x18(%rbp), %eax
subl -0x2c(%rbp), %eax
movl %eax, -0x44(%rbp)
movq -0x8(%rbp), %rax
movq 0x188(%rax), %rdi
movl -0x44(%rbp), %esi
callq 0x13d7e0
movl %eax, -0x48(%rbp)
cmpl $0x0, -0x48(%rbp)
jle 0x148b12
movl -0x48(%rbp), %eax
cmpl -0x44(%rbp), %eax
jg 0x148b12
jmp 0x148b31
leaq 0x75596(%rip), %rdi     # 0x1be0af
leaq 0x749c9(%rip), %rsi     # 0x1bd4e9
movl $0x278, %edx            # imm = 0x278
leaq 0x755b2(%rip), %rcx     # 0x1be0de
callq 0x598a0
movq -0x38(%rbp), %rdi
movl -0x14(%rbp), %esi
movq -0x8(%rbp), %rax
movq 0x188(%rax), %rax
movl 0x2c(%rax), %edx
movl -0x48(%rbp), %ecx
xorl %r8d, %r8d
callq 0x1492d0
movq -0x8(%rbp), %rax
movq 0x188(%rax), %rdi
movl -0x44(%rbp), %esi
movq -0x38(%rbp), %rdx
movl -0x14(%rbp), %ecx
callq 0x13d830
movl %eax, -0x4c(%rbp)
movl -0x4c(%rbp), %eax
cmpl -0x48(%rbp), %eax
jne 0x148b78
jmp 0x148b97
leaq 0x755bc(%rip), %rdi     # 0x1be13b
leaq 0x74963(%rip), %rsi     # 0x1bd4e9
movl $0x27d, %edx            # imm = 0x27D
leaq 0x7554c(%rip), %rcx     # 0x1be0de
callq 0x598a0
movl -0x4c(%rbp), %eax
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movq -0x8(%rbp), %rax
movq 0x188(%rax), %rdi
movl -0x28(%rbp), %esi
movl -0x24(%rbp), %edx
movq -0x40(%rbp), %rcx
callq 0x148dd0
addl -0x30(%rbp), %eax
movl %eax, -0x30(%rbp)
jmp 0x148aa9
movl -0x30(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nop