// File: /workspace/github_c_makefile_star2_O1/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 0xd6007
movl %esi, %r10d
cmpl %esi, 0x88(%rbx)
jl 0xd6026
movl $0x1, %eax
cmpl %r10d, 0x8c(%rbx)
jge 0xd5f9b
movq %rdi, %r14
cmpl $0x0, 0xc0(%rdi)
movl %r10d, 0xc(%rsp)
jne 0xd5968
callq 0xd7d82
movl 0xc(%rsp), %r10d
cmpl $0x0, 0xc0(%r14)
movq 0x18(%rbx), %rsi
movl 0x84(%rbx), %r12d
movl 0x88(%rbx), %r8d
je 0xd5f00
movq %rsi, 0x30(%rsp)
movl 0x90(%rbx), %ebp
movl 0xc0(%rbx), %eax
movl %eax, 0x20(%rsp)
movl %ebp, %eax
cltd
idivl %r12d
movl %eax, %r15d
movl %edx, %r13d
movl %r12d, %eax
imull %r10d, %eax
xorl %r14d, %r14d
movl %eax, 0x24(%rsp)
cmpl %eax, %ebp
jge 0xd5a04
movl 0xc4(%rbx), %ecx
testl %ecx, %ecx
je 0xd59e6
movl %r15d, %eax
sarl %cl, %eax
imull 0xc8(%rbx), %eax
movl %r13d, %edx
sarl %cl, %edx
movq 0xd0(%rbx), %rcx
addl %eax, %edx
movslq %edx, %rax
movl (%rcx,%rax,4), %r14d
cmpl 0xd8(%rbx), %r14d
jge 0xd5fe8
movslq %r14d, %rax
imulq $0x238, %rax, %r14      # imm = 0x238
addq 0xe0(%rbx), %r14
movl %r8d, %eax
imull %r12d, %eax
movl %eax, 0x1c(%rsp)
cmpl %eax, %ebp
jg 0xd6045
cmpl %r10d, %r8d
jl 0xd6064
leaq 0x98(%rbx), %rdi
callq 0xd582a
testl %eax, %eax
je 0xd6083
leaq 0x28(%rbx), %rax
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rax
incq %rax
movq %rax, 0x40(%rsp)
movl $0x1, 0x14(%rsp)
movl 0xc(%rsp), %r10d
cmpl $0x0, 0x4c(%rbx)
jne 0xd5f26
cmpl 0x24(%rsp), %ebp
jge 0xd5f26
testl %r13d, 0x20(%rsp)
jne 0xd5abc
movl 0xc4(%rbx), %ecx
testl %ecx, %ecx
je 0xd5a9e
movl %r15d, %eax
sarl %cl, %eax
imull 0xc8(%rbx), %eax
movl %r13d, %edx
sarl %cl, %edx
movq 0xd0(%rbx), %rcx
addl %eax, %edx
movslq %edx, %rax
movl (%rcx,%rax,4), %eax
jmp 0xd5aa0
xorl %eax, %eax
cmpl 0xd8(%rbx), %eax
jge 0xd5fe8
cltq
imulq $0x238, %rax, %r14      # imm = 0x238
addq 0xe0(%rbx), %r14
testq %r14, %r14
je 0xd5faa
cmpl $0x20, 0x48(%rbx)
jl 0xd5ada
movq 0x28(%rsp), %rdi
callq 0xf0c80
movl 0xc(%rsp), %r10d
movq (%r14), %rax
movq 0x28(%rbx), %rdx
movl 0x48(%rbx), %ecx
movq %rdx, %rsi
shrq %cl, %rsi
movzbl %sil, %esi
leaq (%rax,%rsi,4), %rsi
movzbl (%rsi), %eax
cmpl $0x9, %eax
movq %r14, 0x38(%rsp)
jb 0xd5b27
addl $0x8, %ecx
shrq %cl, %rdx
movl %ecx, 0x48(%rbx)
movzwl 0x2(%rsi), %edi
addb $-0x8, %al
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r8d
leaq (%rsi,%rdi,4), %rax
notl %r8d
andl %edx, %r8d
leaq (%rax,%r8,4), %rsi
movzbl (%rsi), %eax
addl %eax, 0x48(%rbx)
movzwl 0x2(%rsi), %r14d
cmpl $0xff, %r14d
ja 0xd5b59
movslq %ebp, %rax
movq 0x30(%rsp), %rcx
movb %r14b, (%rcx,%rax)
incl %ebp
incl %r13d
cmpl %r12d, %r13d
jge 0xd5b74
movl %r15d, %r14d
jmp 0xd5eb5
cmpl $0x117, %r14d           # imm = 0x117
ja 0xd5ba8
cmpl $0x104, %r14d           # imm = 0x104
jae 0xd5bbd
addl $0xffffff00, %r14d      # imm = 0xFFFFFF00
jmp 0xd5be3
leal 0x1(%r15), %r14d
cmpl %r10d, %r15d
setl %al
testb $0xf, %r14b
sete %cl
andb %al, %cl
xorl %r13d, %r13d
cmpb $0x1, %cl
jne 0xd5eb5
movq %rbx, %rdi
movl %r14d, %esi
callq 0xd782f
movl 0xc(%rsp), %r10d
jmp 0xd5eb5
movl $0x4, %eax
movl $0x0, 0x14(%rsp)
movl %r15d, %r14d
jmp 0xd5ee6
leal -0x102(%r14), %ecx
shrl %ecx
andl $0x1, %r14d
orl $0x2, %r14d
shll %cl, %r14d
movq 0x28(%rsp), %rdi
movl %ecx, %esi
callq 0xf0d7f
addl %r14d, %eax
movl %eax, %r14d
movq 0x38(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x28(%rbx), %rdx
movl 0x48(%rbx), %ecx
movq %rdx, %rsi
shrq %cl, %rsi
movzbl %sil, %esi
leaq (%rax,%rsi,4), %rsi
movzbl (%rsi), %eax
cmpl $0x9, %eax
movl %ebp, 0x10(%rsp)
jb 0xd5c35
addl $0x8, %ecx
shrq %cl, %rdx
movl %ecx, 0x48(%rbx)
movzwl 0x2(%rsi), %edi
addb $-0x8, %al
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r8d
leaq (%rsi,%rdi,4), %rax
notl %r8d
andl %edx, %r8d
leaq (%rax,%r8,4), %rsi
movzbl (%rsi), %eax
addl 0x48(%rbx), %eax
movl %eax, 0x48(%rbx)
movzwl 0x2(%rsi), %ebp
cmpl $0x20, %eax
jl 0xd5c51
movq 0x28(%rsp), %rdi
callq 0xf0c80
cmpw $0x4, %bp
jb 0xd5c74
leal -0x2(%rbp), %ecx
shrl %ecx
andl $0x1, %ebp
orl $0x2, %ebp
shll %cl, %ebp
movq 0x28(%rsp), %rdi
movl %ecx, %esi
callq 0xf0d7f
addl %ebp, %eax
movl %eax, %ebp
movl 0xc(%rsp), %r10d
leal 0x1(%rbp), %eax
cmpl $0x79, %eax
jl 0xd5c86
addl $-0x77, %ebp
jmp 0xd5cb0
movslq %ebp, %rax
leaq 0x549a0(%rip), %rcx     # 0x12a630
movzbl (%rax,%rcx), %eax
movl %eax, %ebp
shrl $0x4, %ebp
andl $0xf, %eax
imull %r12d, %ebp
subl %eax, %ebp
addl $0x8, %ebp
cmpl $0x2, %ebp
movl $0x1, %eax
cmovll %eax, %ebp
leal 0x1(%r14), %r11d
movl 0x10(%rsp), %edx
cmpl %ebp, %edx
setge %al
movl 0x1c(%rsp), %ecx
subl %edx, %ecx
cmpl %r11d, %ecx
setge %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0xd5d13
movslq %edx, %r8
movq 0x30(%rsp), %rax
leaq (%rax,%r8), %rdi
movslq %ebp, %rax
movq %rdi, %rsi
subq %rax, %rsi
negq %rax
movl %r11d, %r9d
cmpl $0x8, %r11d
movb %cl, 0xb(%rsp)
jl 0xd5d27
cmpl $0x4, %ebp
je 0xd5d8c
cmpl $0x2, %ebp
je 0xd5d80
cmpl $0x1, %ebp
jne 0xd5d27
movzbl (%rsi), %ecx
imull $0x1010101, %ecx, %ecx  # imm = 0x1010101
jmp 0xd5d8e
movl $0x4, %eax
movl $0x0, 0x14(%rsp)
movl %edx, %ebp
jmp 0xd5eae
movl %r12d, 0x18(%rsp)
movl %r9d, %r12d
cmpl %r9d, %ebp
jge 0xd5d62
cmpl $0x7ffffffe, %r14d      # imm = 0x7FFFFFFE
movl 0x10(%rsp), %ebp
movl %r12d, %r14d
movl 0x18(%rsp), %r12d
ja 0xd5e0a
movl %r14d, %ecx
movb (%rdi,%rax), %dl
movb %dl, (%rdi)
incq %rdi
decq %rcx
jne 0xd5d50
jmp 0xd5e0a
movslq %r12d, %rdx
callq 0x552d0
movl 0xc(%rsp), %r10d
movl 0x10(%rsp), %ebp
movl %r12d, %r14d
movl 0x18(%rsp), %r12d
jmp 0xd5e0a
movzwl (%rsi), %edx
movl %edx, %ecx
shll $0x10, %ecx
orl %edx, %ecx
jmp 0xd5d8e
movl (%rsi), %ecx
testb $0x3, %dil
movl 0x10(%rsp), %ebp
movl %r9d, %r14d
je 0xd5dc9
addq 0x40(%rsp), %r8
movl %r14d, %edx
movq %r8, %rsi
movb (%rdi,%rax), %r9b
movb %r9b, (%rdi)
incq %rdi
roll $0x18, %ecx
decl %edx
incq %rsi
testb $0x3, %r8b
movq %rsi, %r8
jne 0xd5da6
addq %rdi, %rax
movq %rax, %rsi
jmp 0xd5dcc
movl %r14d, %edx
movl %edx, %eax
sarl $0x2, %eax
testl %eax, %eax
jle 0xd5de7
movl %eax, %r8d
xorl %eax, %eax
movl %ecx, (%rdi,%rax,4)
incq %rax
cmpq %rax, %r8
jne 0xd5dda
jmp 0xd5de9
xorl %eax, %eax
leal (,%rax,4), %ecx
cmpl %edx, %ecx
jge 0xd5e0a
movl %eax, %eax
shlq $0x2, %rax
movl %edx, %ecx
movb (%rsi,%rax), %dl
movb %dl, (%rdi,%rax)
incq %rax
cmpq %rax, %rcx
jne 0xd5dfc
addl %r14d, %r13d
cmpl %r12d, %r13d
jl 0xd5e3f
cmpl %r10d, %r15d
leal 0x1(%r15), %r15d
setl %al
testb $0xf, %r15b
sete %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0xd5e3a
movq %rbx, %rdi
movl %r15d, %esi
callq 0xd782f
movl 0xc(%rsp), %r10d
subl %r12d, %r13d
jmp 0xd5e0d
addl %r14d, %ebp
xorl %eax, %eax
cmpl 0x24(%rsp), %ebp
jge 0xd5e7f
movl %r13d, %ecx
andl 0x20(%rsp), %ecx
je 0xd5e7f
movl 0xc4(%rbx), %ecx
testl %ecx, %ecx
je 0xd5e85
movl %r15d, %eax
sarl %cl, %eax
imull 0xc8(%rbx), %eax
movl %r13d, %edx
sarl %cl, %edx
movq 0xd0(%rbx), %rcx
addl %eax, %edx
movslq %edx, %rax
movl (%rcx,%rax,4), %eax
jmp 0xd5e87
movb 0xb(%rsp), %cl
jmp 0xd5eae
xorl %eax, %eax
cmpl 0xd8(%rbx), %eax
movb 0xb(%rsp), %cl
jge 0xd5fe8
cltq
imulq $0x238, %rax, %rax      # imm = 0x238
addq 0xe0(%rbx), %rax
movq %rax, 0x38(%rsp)
xorl %eax, %eax
movl %r15d, %r14d
testb %cl, %cl
je 0xd5ee6
movq 0x38(%rbx), %rcx
movq 0x40(%rbx), %rdx
cmpq %rcx, %rdx
ja 0xd5fc9
movl $0x1, %eax
cmpl $0x0, 0x4c(%rbx)
jne 0xd5ee1
xorl %eax, %eax
cmpq %rcx, %rdx
jne 0xd5ee1
xorl %eax, %eax
cmpl $0x41, 0x48(%rbx)
setge %al
movl %eax, 0x4c(%rbx)
xorl %eax, %eax
movl %r14d, %r15d
testl %eax, %eax
movq 0x38(%rsp), %r14
je 0xd5a57
cmpl $0x4, %eax
je 0xd5f38
jmp 0xd5f9b
leaq 0xd95(%rip), %r9        # 0xd6c9c
movq %rbx, %rdi
movl %r12d, %edx
movl %r8d, %ecx
movl %r10d, %r8d
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xd60a2
cmpl %r10d, %r15d
cmovll %r15d, %r10d
movq %rbx, %rdi
movl %r10d, %esi
callq 0xd782f
movq 0x38(%rbx), %rax
movq 0x40(%rbx), %rdx
cmpq %rax, %rdx
ja 0xd5fc9
movl $0x1, %ecx
cmpl $0x0, 0x4c(%rbx)
jne 0xd5f64
xorl %ecx, %ecx
cmpq %rax, %rdx
jne 0xd5f64
xorl %ecx, %ecx
cmpl $0x41, 0x48(%rbx)
setge %cl
movl %ecx, 0x4c(%rbx)
cmpl $0x0, 0x14(%rsp)
je 0xd5f78
testl %ecx, %ecx
je 0xd5f90
cmpl 0x1c(%rsp), %ebp
jge 0xd5f90
movl (%rbx), %edx
xorl %eax, %eax
cmpl $0x5, %edx
je 0xd5f85
testl %edx, %edx
jne 0xd5f9b
leal 0x3(,%rcx,2), %ecx
movl %ecx, (%rbx)
jmp 0xd5f9b
movl %ebp, 0x90(%rbx)
movl $0x1, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x54bd4(%rip), %rdi     # 0x12ab85
leaq 0x54701(%rip), %rsi     # 0x12a6b9
leaq 0x54b57(%rip), %rcx     # 0x12ab16
movl $0x423, %edx            # imm = 0x423
callq 0x55710
leaq 0x54d39(%rip), %rdi     # 0x12ad09
leaq 0x54d47(%rip), %rsi     # 0x12ad1e
leaq 0x54da7(%rip), %rcx     # 0x12ad85
movl $0xac, %edx
callq 0x55710
leaq 0x54baa(%rip), %rdi     # 0x12ab99
leaq 0x546c3(%rip), %rsi     # 0x12a6b9
leaq 0x54bc0(%rip), %rcx     # 0x12abbd
movl $0x30a, %edx            # imm = 0x30A
callq 0x55710
leaq 0x5469f(%rip), %rdi     # 0x12a6ad
leaq 0x546a4(%rip), %rsi     # 0x12a6b9
leaq 0x546fc(%rip), %rcx     # 0x12a718
movl $0x678, %edx            # imm = 0x678
callq 0x55710
leaq 0x54723(%rip), %rdi     # 0x12a750
leaq 0x54685(%rip), %rsi     # 0x12a6b9
leaq 0x546dd(%rip), %rcx     # 0x12a718
movl $0x679, %edx            # imm = 0x679
callq 0x55710
leaq 0x54abf(%rip), %rdi     # 0x12ab0b
leaq 0x54666(%rip), %rsi     # 0x12a6b9
leaq 0x54abc(%rip), %rcx     # 0x12ab16
movl $0x419, %edx            # imm = 0x419
callq 0x55710
leaq 0x54af2(%rip), %rdi     # 0x12ab5d
leaq 0x54647(%rip), %rsi     # 0x12a6b9
leaq 0x54a9d(%rip), %rcx     # 0x12ab16
movl $0x41a, %edx            # imm = 0x41A
callq 0x55710
leaq 0x54ae6(%rip), %rdi     # 0x12ab70
leaq 0x54628(%rip), %rsi     # 0x12a6b9
leaq 0x54a7e(%rip), %rcx     # 0x12ab16
movl $0x41b, %edx            # imm = 0x41B
callq 0x55710