// File: /workspace/github_c_makefile_star2_O2/enzo1982[P]smooth/libraries/libwebp/src/dec/vp8l_dec.c
// Function: VP8LDecodeAlphaImageStream
int VP8LDecodeAlphaImageStream(ALPHDecoder* const alph_dec, int last_row) {
  VP8LDecoder* const dec = alph_dec->vp8l_dec_;
  assert(dec != NULL);
  assert(last_row <= dec->height_);

  if (dec->last_row_ >= last_row) {
    return 1;  // done
  }

  if (!alph_dec->use_8b_decode_) WebPInitAlphaProcessing();

  // Decode (with special row processing).
  return alph_dec->use_8b_decode_ ?
      DecodeAlphaData(dec, (uint8_t*)dec->pixels_, dec->width_, dec->height_,
                      last_row) :
      DecodeImageData(dec, dec->pixels_, dec->width_, dec->height_,
                      last_row, ExtractAlphaRows);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq 0x18(%rdi), %rbx
testq %rbx, %rbx
je 0xcd109
movl 0x88(%rbx), %r13d
cmpl %esi, %r13d
jl 0xcd128
movq %rdi, %r15
pushq $0x1
popq %rdi
cmpl %esi, 0x8c(%rbx)
jge 0xcd0ab
cmpl $0x0, 0xc0(%r15)
movl %esi, (%rsp)
jne 0xccce4
callq 0xcead0
cmpl $0x0, 0xc0(%r15)
movl 0x88(%rbx), %r13d
je 0xcd0bc
movl (%rsp), %esi
movq 0x18(%rbx), %rax
movq %rax, 0x40(%rsp)
movl 0x84(%rbx), %r12d
movl 0x90(%rbx), %ecx
movl %ecx, %eax
cltd
idivl %r12d
movl %eax, %r15d
movl %edx, %ebp
leaq 0x98(%rbx), %rdi
movl %r13d, %eax
imull %r12d, %eax
movl %eax, 0x14(%rsp)
movl %r12d, %eax
imull %esi, %eax
movl 0xc0(%rbx), %edx
movl %edx, 0x1c(%rsp)
movl %ecx, 0x4(%rsp)
movl %eax, 0x24(%rsp)
cmpl %eax, %ecx
movq %rdi, 0x30(%rsp)
jge 0xccd4f
movl %ebp, %esi
movl %r15d, %edx
callq 0xce4f6
movq 0x30(%rsp), %rdi
movl (%rsp), %esi
movq %rax, %r14
jmp 0xccd52
xorl %r14d, %r14d
movl 0x4(%rsp), %eax
cmpl 0x14(%rsp), %eax
jg 0xcd147
cmpl %esi, %r13d
jl 0xcd166
callq 0xccb92
testl %eax, %eax
je 0xcd185
movq %r14, %r13
leaq 0x28(%rbx), %rax
movq %rax, 0x28(%rsp)
movq %rbx, 0x8(%rsp)
movl 0x4c(%rbx), %eax
movl (%rsp), %esi
movl 0x4(%rsp), %ebx
movl %r12d, 0x18(%rsp)
testl %eax, %eax
sete %al
cmpl 0x24(%rsp), %ebx
setl %r14b
andb %al, %r14b
cmpb $0x1, %r14b
jne 0xcd047
testl %ebp, 0x1c(%rsp)
jne 0xccdc8
movq 0x30(%rsp), %rdi
movl %ebp, %esi
movl %r15d, %edx
callq 0xce4f6
movq %rax, %r13
testq %r13, %r13
je 0xcd0ea
movl %ebx, %r12d
movq 0x28(%rsp), %rbx
movq %rbx, %rdi
callq 0xce4b1
movq %r13, 0x38(%rsp)
movq (%r13), %rdi
movq %rbx, %rsi
callq 0xce548
movl %r12d, %ebx
movslq %r12d, %r13
cmpl $0xff, %eax
ja 0xcce27
movq 0x40(%rsp), %rcx
movb %al, (%rcx,%r13)
incl %ebx
incl %ebp
movl 0x18(%rsp), %r12d
cmpl %r12d, %ebp
jge 0xccf08
movl %r15d, %r13d
movq 0x8(%rsp), %r14
jmp 0xccfb2
cmpl $0x117, %eax            # imm = 0x117
ja 0xcd058
addl $0xffffff00, %eax       # imm = 0xFFFFFF00
movl %eax, %edi
movq 0x28(%rsp), %r12
movq %r12, %rsi
callq 0xce6c5
movl %eax, 0x20(%rsp)
movq 0x38(%rsp), %rax
movq 0x20(%rax), %rdi
movq %r12, %rsi
callq 0xce548
movl %ebx, 0x4(%rsp)
movl %eax, %ebx
movq %r12, %rdi
callq 0xce4b1
movl %ebx, %edi
movl 0x4(%rsp), %ebx
movq %r12, %rsi
movl 0x20(%rsp), %r12d
callq 0xce6c5
movl 0x18(%rsp), %edi
movl %eax, %esi
callq 0xce6ee
cmpl %eax, %ebx
jl 0xcd058
movl 0x14(%rsp), %ecx
subl %ebx, %ecx
cmpl %r12d, %ecx
jl 0xcd058
addq 0x40(%rsp), %r13
movslq %eax, %rcx
movq %r13, %rsi
subq %rcx, %rsi
cmpl $0x8, %r12d
movq 0x8(%rsp), %r14
jl 0xccedc
cmpl $0x4, %eax
je 0xccfdb
cmpl $0x2, %eax
je 0xccfd0
cmpl $0x1, %eax
jne 0xccedc
movzbl (%rsi), %eax
imull $0x1010101, %eax, %eax  # imm = 0x1010101
jmp 0xccfdd
cmpl %r12d, %eax
jge 0xccf39
negq %rcx
testl %r12d, %r12d
movl $0x0, %eax
cmovgl %r12d, %eax
movl (%rsp), %r8d
subq $0x1, %rax
jb 0xccf48
movb (%r13,%rcx), %dl
movb %dl, (%r13)
incq %r13
jmp 0xccef4
leal 0x1(%r15), %r13d
cmpl (%rsp), %r15d
setl %al
testb $0xf, %r13b
sete %cl
andb %al, %cl
xorl %ebp, %ebp
cmpb $0x1, %cl
movq 0x8(%rsp), %r14
jne 0xccfb2
movq %r14, %rdi
movl %r13d, %esi
callq 0xce59a
jmp 0xccfb2
movslq %r12d, %rdx
movq %r13, %rdi
callq 0x562f0
movl (%rsp), %r8d
addl %r12d, %ebp
movl %ebp, %ebx
movl 0x18(%rsp), %r12d
subl %r12d, %ebx
jl 0xccf85
leal 0x1(%r15), %r13d
cmpl %r8d, %r15d
setl %al
testb $0xf, %r13b
sete %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0xccf7e
movq %r14, %rdi
movl %r13d, %esi
callq 0xce59a
movl (%rsp), %r8d
movl %ebx, %ebp
movl %r13d, %r15d
jmp 0xccf52
movl 0x4(%rsp), %ebx
addl 0x20(%rsp), %ebx
cmpl 0x24(%rsp), %ebx
jge 0xccfaf
movl %ebp, %eax
andl 0x1c(%rsp), %eax
je 0xccfaf
movq 0x30(%rsp), %rdi
movl %ebp, %esi
movl %r15d, %edx
callq 0xce4f6
movq %rax, 0x38(%rsp)
movl %r15d, %r13d
movq 0x28(%rsp), %rdi
callq 0xce722
movl %eax, 0x4c(%r14)
movl %r13d, %r15d
movl (%rsp), %esi
movq 0x38(%rsp), %r13
jmp 0xccd96
movzwl (%rsi), %eax
imull $0x10001, %eax, %eax    # imm = 0x10001
jmp 0xccfdd
movl (%rsi), %eax
movl %r12d, %ecx
movl (%rsp), %r8d
testb $0x3, %r13b
je 0xccffd
movb (%rsi), %dl
incq %rsi
movb %dl, (%r13)
incq %r13
roll $0x18, %eax
decl %ecx
jmp 0xccfe4
movl %ecx, %edx
sarl $0x2, %edx
testl %edx, %edx
movl $0x0, %edi
cmovlel %edi, %edx
xorl %edi, %edi
cmpq %rdi, %rdx
je 0xcd01d
movl %eax, (%r13,%rdi,4)
incq %rdi
jmp 0xcd00e
movslq %ecx, %rax
leaq (,%rdx,4), %rcx
addq %r13, %rcx
shlq $0x2, %rdx
cmpq %rax, %rdx
jge 0xccf48
movb (%rsi,%rdx), %dil
movb %dil, (%rcx)
incq %rdx
incq %rcx
jmp 0xcd02f
cmpl %esi, %r15d
cmovll %r15d, %esi
movq 0x8(%rsp), %rdi
callq 0xce59a
movq 0x28(%rsp), %rdi
callq 0xce722
movq 0x8(%rsp), %rcx
movl %eax, 0x4c(%rcx)
testb %r14b, %r14b
jne 0xcd079
testl %eax, %eax
je 0xcd09d
cmpl %ebx, 0x14(%rsp)
jle 0xcd09d
movq 0x8(%rsp), %rdx
movl (%rdx), %ecx
xorl %edi, %edi
cmpl $0x5, %ecx
je 0xcd08b
testl %ecx, %ecx
jne 0xcd0ab
xorl %ecx, %ecx
testl %eax, %eax
setne %cl
leal 0x3(,%rcx,2), %eax
movl %eax, (%rdx)
jmp 0xcd0ab
movq 0x8(%rsp), %rax
movl %ebx, 0x90(%rax)
pushq $0x1
popq %rdi
movl %edi, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x18(%rbx), %rsi
movl 0x84(%rbx), %edx
leaq 0x951(%rip), %r9        # 0xcda1e
movq %rbx, %rdi
movl %r13d, %ecx
movl (%rsp), %r8d
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xcd1a4
leaq 0x4c9ea(%rip), %rdi     # 0x119adb
leaq 0x4c521(%rip), %rsi     # 0x119619
leaq 0x4c96d(%rip), %rcx     # 0x119a6c
movl $0x423, %edx            # imm = 0x423
callq 0x56770
leaq 0x4c4fd(%rip), %rdi     # 0x11960d
leaq 0x4c502(%rip), %rsi     # 0x119619
leaq 0x4c55a(%rip), %rcx     # 0x119678
movl $0x678, %edx            # imm = 0x678
callq 0x56770
leaq 0x4c581(%rip), %rdi     # 0x1196b0
leaq 0x4c4e3(%rip), %rsi     # 0x119619
leaq 0x4c53b(%rip), %rcx     # 0x119678
movl $0x679, %edx            # imm = 0x679
callq 0x56770
leaq 0x4c913(%rip), %rdi     # 0x119a61
leaq 0x4c4c4(%rip), %rsi     # 0x119619
leaq 0x4c910(%rip), %rcx     # 0x119a6c
movl $0x419, %edx            # imm = 0x419
callq 0x56770
leaq 0x4c946(%rip), %rdi     # 0x119ab3
leaq 0x4c4a5(%rip), %rsi     # 0x119619
leaq 0x4c8f1(%rip), %rcx     # 0x119a6c
movl $0x41a, %edx            # imm = 0x41A
callq 0x56770
leaq 0x4c93a(%rip), %rdi     # 0x119ac6
leaq 0x4c486(%rip), %rsi     # 0x119619
leaq 0x4c8d2(%rip), %rcx     # 0x119a6c
movl $0x41b, %edx            # imm = 0x41B
callq 0x56770