// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/libraries/libwebp/src/dec/vp8_dec.c
// Function: GetLargeValue
static int GetLargeValue(VP8BitReader* const br, const uint8_t* const p) {
  int v;
  if (!VP8GetBit(br, p[3], "coeffs")) {
    if (!VP8GetBit(br, p[4], "coeffs")) {
      v = 2;
    } else {
      v = 3 + VP8GetBit(br, p[5], "coeffs");
    }
  } else {
    if (!VP8GetBit(br, p[6], "coeffs")) {
      if (!VP8GetBit(br, p[7], "coeffs")) {
        v = 5 + VP8GetBit(br, 159, "coeffs");
      } else {
        v = 7 + 2 * VP8GetBit(br, 165, "coeffs");
        v += VP8GetBit(br, 145, "coeffs");
      }
    } else {
      const uint8_t* tab;
      const int bit1 = VP8GetBit(br, p[8], "coeffs");
      const int bit0 = VP8GetBit(br, p[9 + bit1], "coeffs");
      const int cat = 2 * bit1 + bit0;
      v = 0;
      for (tab = kCat3456[cat]; *tab; ++tab) {
        v += v + VP8GetBit(br, *tab, "coeffs");
      }
      v += 3 + (8 << cat);
    }
  }
  return v;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movzbl 0x3(%rsi), %r12d
movl 0x8(%rdi), %r15d
movl 0xc(%rdi), %eax
testl %eax, %eax
jns 0xd3e28
testq %rbx, %rbx
je 0xd4524
movq 0x10(%rbx), %rcx
testq %rcx, %rcx
je 0xd4524
cmpq 0x20(%rbx), %rcx
jae 0xd3e20
movq (%rcx), %rdx
addq $0x7, %rcx
movq %rcx, 0x10(%rbx)
bswapq %rdx
shldq $0x38, %rdx, (%rbx)
addl $0x38, %eax
movl %eax, 0xc(%rbx)
jmp 0xd3e28
movq %rbx, %rdi
callq 0xf096e
movl 0xc(%rbx), %eax
imull %r15d, %r12d
shrl $0x8, %r12d
movq (%rbx), %rsi
movq %rsi, %rdx
movl %eax, %ecx
shrq %cl, %rdx
cmpl %edx, %r12d
jae 0xd3e59
movl %r12d, %edi
incq %rdi
movl %eax, %ecx
shlq %cl, %rdi
subl %r12d, %r15d
subq %rdi, %rsi
movq %rsi, (%rbx)
jmp 0xd3e5e
leal 0x1(%r12), %r15d
bsrl %r15d, %ecx
xorl $0x7, %ecx
shll %cl, %r15d
subl %ecx, %eax
decl %r15d
movl %eax, 0xc(%rbx)
movl %r15d, 0x8(%rbx)
cmpl %edx, %r12d
jae 0xd3ebd
movzbl 0x6(%r14), %r12d
testl %eax, %eax
jns 0xd3f10
testq %rbx, %rbx
je 0xd4524
movq 0x10(%rbx), %rcx
testq %rcx, %rcx
je 0xd4524
cmpq 0x20(%rbx), %rcx
jae 0xd3f08
movq (%rcx), %rdx
addq $0x7, %rcx
movq %rcx, 0x10(%rbx)
bswapq %rdx
shldq $0x38, %rdx, (%rbx)
addl $0x38, %eax
movl %eax, 0xc(%rbx)
jmp 0xd3f10
movzbl 0x4(%r14), %r12d
testl %eax, %eax
jns 0xd3fff
testq %rbx, %rbx
je 0xd4524
movq 0x10(%rbx), %rcx
testq %rcx, %rcx
je 0xd4524
cmpq 0x20(%rbx), %rcx
jae 0xd3ff7
movq (%rcx), %rdx
addq $0x7, %rcx
movq %rcx, 0x10(%rbx)
bswapq %rdx
shldq $0x38, %rdx, (%rbx)
addl $0x38, %eax
movl %eax, 0xc(%rbx)
jmp 0xd3fff
movq %rbx, %rdi
callq 0xf096e
movl 0xc(%rbx), %eax
imull %r15d, %r12d
shrl $0x8, %r12d
movq (%rbx), %rsi
movq %rsi, %rdx
movl %eax, %ecx
shrq %cl, %rdx
cmpl %edx, %r12d
jae 0xd3f41
movl %r12d, %edi
incq %rdi
movl %eax, %ecx
shlq %cl, %rdi
subl %r12d, %r15d
subq %rdi, %rsi
movq %rsi, (%rbx)
jmp 0xd3f46
leal 0x1(%r12), %r15d
bsrl %r15d, %ecx
xorl $0x7, %ecx
shll %cl, %r15d
subl %ecx, %eax
decl %r15d
movl %eax, 0xc(%rbx)
movl %r15d, 0x8(%rbx)
cmpl %edx, %r12d
jae 0xd3fac
movzbl 0x8(%r14), %r12d
testl %eax, %eax
jns 0xd40ac
testq %rbx, %rbx
je 0xd4524
movq 0x10(%rbx), %rcx
testq %rcx, %rcx
je 0xd4524
cmpq 0x20(%rbx), %rcx
jae 0xd40a4
movq (%rcx), %rdx
addq $0x7, %rcx
movq %rcx, 0x10(%rbx)
bswapq %rdx
shldq $0x38, %rdx, (%rbx)
addl $0x38, %eax
movl %eax, 0xc(%rbx)
jmp 0xd40ac
movzbl 0x7(%r14), %r14d
testl %eax, %eax
jns 0xd414f
testq %rbx, %rbx
je 0xd4524
movq 0x10(%rbx), %rcx
testq %rcx, %rcx
je 0xd4524
cmpq 0x20(%rbx), %rcx
jae 0xd4147
movq (%rcx), %rdx
addq $0x7, %rcx
movq %rcx, 0x10(%rbx)
bswapq %rdx
shldq $0x38, %rdx, (%rbx)
addl $0x38, %eax
movl %eax, 0xc(%rbx)
jmp 0xd414f
movq %rbx, %rdi
callq 0xf096e
movl 0xc(%rbx), %eax
imull %r15d, %r12d
shrl $0x8, %r12d
movq (%rbx), %rsi
movq %rsi, %rdx
movl %eax, %ecx
shrq %cl, %rdx
cmpl %edx, %r12d
jae 0xd4030
movl %r12d, %edi
incq %rdi
movl %eax, %ecx
shlq %cl, %rdi
subl %r12d, %r15d
subq %rdi, %rsi
movq %rsi, (%rbx)
jmp 0xd4035
leal 0x1(%r12), %r15d
bsrl %r15d, %ecx
xorl $0x7, %ecx
shll %cl, %r15d
subl %ecx, %eax
decl %r15d
movl %eax, 0xc(%rbx)
movl %r15d, 0x8(%rbx)
movl $0x2, %ebp
cmpl %edx, %r12d
jae 0xd4513
movzbl 0x5(%r14), %r14d
testl %eax, %eax
jns 0xd4233
testq %rbx, %rbx
je 0xd4524
movq 0x10(%rbx), %rcx
testq %rcx, %rcx
je 0xd4524
cmpq 0x20(%rbx), %rcx
jae 0xd422b
movq (%rcx), %rdx
addq $0x7, %rcx
movq %rcx, 0x10(%rbx)
bswapq %rdx
shldq $0x38, %rdx, (%rbx)
addl $0x38, %eax
movl %eax, 0xc(%rbx)
jmp 0xd4233
movq %rbx, %rdi
callq 0xf096e
movl 0xc(%rbx), %eax
imull %r15d, %r12d
shrl $0x8, %r12d
movq (%rbx), %rdx
movq %rdx, %r13
movl %eax, %ecx
shrq %cl, %r13
cmpl %r13d, %r12d
jae 0xd40dd
movl %r12d, %esi
incq %rsi
movl %eax, %ecx
shlq %cl, %rsi
subl %r12d, %r15d
subq %rsi, %rdx
movq %rdx, (%rbx)
jmp 0xd40e2
leal 0x1(%r12), %r15d
bsrl %r15d, %ecx
xorl $0x7, %ecx
shll %cl, %r15d
decl %r15d
cmpl %r13d, %r12d
adcq $0x9, %r14
subl %ecx, %eax
movl %eax, 0xc(%rbx)
movl %r15d, 0x8(%rbx)
movzbl (%r14), %r14d
jns 0xd4284
testq %rbx, %rbx
je 0xd4524
movq 0x10(%rbx), %rcx
testq %rcx, %rcx
je 0xd4524
cmpq 0x20(%rbx), %rcx
jae 0xd427c
movq (%rcx), %rdx
addq $0x7, %rcx
movq %rcx, 0x10(%rbx)
bswapq %rdx
shldq $0x38, %rdx, (%rbx)
addl $0x38, %eax
movl %eax, 0xc(%rbx)
jmp 0xd4284
movq %rbx, %rdi
callq 0xf096e
movl 0xc(%rbx), %eax
imull %r15d, %r14d
shrl $0x8, %r14d
movq (%rbx), %rsi
movq %rsi, %rdx
movl %eax, %ecx
shrq %cl, %rdx
cmpl %edx, %r14d
jae 0xd4180
movl %r14d, %edi
incq %rdi
movl %eax, %ecx
shlq %cl, %rdi
subl %r14d, %r15d
subq %rdi, %rsi
movq %rsi, (%rbx)
jmp 0xd4184
leal 0x1(%r14), %r15d
bsrl %r15d, %ecx
xorl $0x7, %ecx
shll %cl, %r15d
subl %ecx, %eax
decl %r15d
movl %eax, 0xc(%rbx)
movl %r15d, 0x8(%rbx)
cmpl %edx, %r14d
jae 0xd41e5
testl %eax, %eax
jns 0xd43c7
testq %rbx, %rbx
je 0xd4524
movq 0x10(%rbx), %rcx
testq %rcx, %rcx
je 0xd4524
cmpq 0x20(%rbx), %rcx
jae 0xd43bf
movq (%rcx), %rdx
addq $0x7, %rcx
movq %rcx, 0x10(%rbx)
bswapq %rdx
shldq $0x38, %rdx, (%rbx)
addl $0x38, %eax
movl %eax, 0xc(%rbx)
jmp 0xd43c7
testl %eax, %eax
jns 0xd4462
testq %rbx, %rbx
je 0xd4524
movq 0x10(%rbx), %rcx
testq %rcx, %rcx
je 0xd4524
cmpq 0x20(%rbx), %rcx
jae 0xd445a
movq (%rcx), %rdx
addq $0x7, %rcx
movq %rcx, 0x10(%rbx)
bswapq %rdx
shldq $0x38, %rdx, (%rbx)
addl $0x38, %eax
movl %eax, 0xc(%rbx)
jmp 0xd4462
movq %rbx, %rdi
callq 0xf096e
movl 0xc(%rbx), %eax
imull %r15d, %r14d
shrl $0x8, %r14d
movq (%rbx), %rdx
movq %rdx, %rsi
movl %eax, %ecx
shrq %cl, %rsi
cmpl %esi, %r14d
jae 0xd426c
movl %r14d, %esi
incq %rsi
movl %eax, %ecx
shlq %cl, %rsi
subl %r14d, %r15d
subq %rsi, %rdx
movq %rdx, (%rbx)
movl $0x4, %ebp
jmp 0xd44a2
incl %r14d
movl $0x3, %ebp
movl %r14d, %r15d
jmp 0xd44a2
movq %rbx, %rdi
callq 0xf096e
movl 0xc(%rbx), %eax
imull %r15d, %r14d
shrl $0x8, %r14d
movq (%rbx), %rsi
movq %rsi, %rdx
movl %eax, %ecx
shrq %cl, %rdx
cmpl %edx, %r14d
jae 0xd42b5
movl %r14d, %edi
incq %rdi
movl %eax, %ecx
shlq %cl, %rdi
subl %r14d, %r15d
subq %rdi, %rsi
movq %rsi, (%rbx)
jmp 0xd42b9
leal 0x1(%r14), %r15d
xorl %esi, %esi
cmpl %edx, %r14d
setb %sil
xorl %edx, %edx
cmpl %r13d, %r12d
setb %dl
bsrl %r15d, %ecx
xorl $0x7, %ecx
shll %cl, %r15d
subl %ecx, %eax
movl %eax, 0xc(%rbx)
decl %r15d
movl %r15d, 0x8(%rbx)
leal (%rsi,%rdx,2), %r14d
leaq 0x97cc5(%rip), %rax     # 0x16bfb0
movq (%rax,%r14,8), %r12
movb (%r12), %r13b
testb %r13b, %r13b
je 0xd43a6
incq %r12
xorl %r15d, %r15d
movl 0x8(%rbx), %ebp
movl 0xc(%rbx), %eax
testl %eax, %eax
jns 0xd4342
movq 0x10(%rbx), %rcx
testq %rcx, %rcx
je 0xd4524
cmpq 0x20(%rbx), %rcx
jae 0xd433a
movq (%rcx), %rdx
addq $0x7, %rcx
movq %rcx, 0x10(%rbx)
bswapq %rdx
shldq $0x38, %rdx, (%rbx)
addl $0x38, %eax
movl %eax, 0xc(%rbx)
jmp 0xd4342
movq %rbx, %rdi
callq 0xf096e
movzbl %r13b, %edx
movl 0xc(%rbx), %eax
imull %ebp, %edx
shrl $0x8, %edx
movq (%rbx), %rdi
movq %rdi, %rsi
movl %eax, %ecx
shrq %cl, %rsi
cmpl %esi, %edx
jae 0xd4373
movl %edx, %r8d
incq %r8
movl %eax, %ecx
shlq %cl, %r8
subl %edx, %ebp
subq %r8, %rdi
movq %rdi, (%rbx)
jmp 0xd4376
leal 0x1(%rdx), %ebp
xorl %edi, %edi
cmpl %esi, %edx
setb %dil
bsrl %ebp, %ecx
xorl $0x7, %ecx
shll %cl, %ebp
subl %ecx, %eax
movl %eax, 0xc(%rbx)
decl %ebp
movl %ebp, 0x8(%rbx)
leal (%rdi,%r15,2), %r15d
movb (%r12), %r13b
incq %r12
testb %r13b, %r13b
jne 0xd4302
jmp 0xd43a9
xorl %r15d, %r15d
movl $0x8, %eax
movl %r14d, %ecx
shll %cl, %eax
leal (%r15,%rax), %ebp
addl $0x3, %ebp
jmp 0xd4513
movq %rbx, %rdi
callq 0xf096e
movl 0xc(%rbx), %eax
imull $0xa5, %r15d, %edx
shrl $0x8, %edx
movq (%rbx), %rsi
movq %rsi, %rdi
movl %eax, %ecx
shrq %cl, %rdi
cmpl %edi, %edx
jae 0xd43fd
movl %edx, %edi
incq %rdi
movl %eax, %ecx
shlq %cl, %rdi
subl %edx, %r15d
subq %rdi, %rsi
movq %rsi, (%rbx)
movl $0x9, %ebp
jmp 0xd4407
incl %edx
movl $0x7, %ebp
movl %edx, %r15d
bsrl %r15d, %ecx
xorl $0x7, %ecx
shll %cl, %r15d
decl %r15d
subl %ecx, %eax
movl %eax, 0xc(%rbx)
movl %r15d, 0x8(%rbx)
jns 0xd44c2
testq %rbx, %rbx
je 0xd4524
movq 0x10(%rbx), %rcx
testq %rcx, %rcx
je 0xd4524
cmpq 0x20(%rbx), %rcx
jae 0xd44ba
movq (%rcx), %rdx
addq $0x7, %rcx
movq %rcx, 0x10(%rbx)
bswapq %rdx
shldq $0x38, %rdx, (%rbx)
addl $0x38, %eax
movl %eax, 0xc(%rbx)
jmp 0xd44c2
movq %rbx, %rdi
callq 0xf096e
movl 0xc(%rbx), %eax
imull $0x9f, %r15d, %edx
shrl $0x8, %edx
movq (%rbx), %rsi
movq %rsi, %rdi
movl %eax, %ecx
shrq %cl, %rdi
cmpl %edi, %edx
jae 0xd4498
movl %edx, %edi
incq %rdi
movl %eax, %ecx
shlq %cl, %rdi
subl %edx, %r15d
subq %rdi, %rsi
movq %rsi, (%rbx)
movl $0x6, %ebp
jmp 0xd44a2
incl %edx
movl $0x5, %ebp
movl %edx, %r15d
bsrl %r15d, %ecx
xorl $0x7, %ecx
shll %cl, %r15d
subl %ecx, %eax
movl %eax, 0xc(%rbx)
decl %r15d
movl %r15d, 0x8(%rbx)
jmp 0xd4513
movq %rbx, %rdi
callq 0xf096e
movl 0xc(%rbx), %eax
imull $0x91, %r15d, %edx
shrl $0x8, %edx
movq (%rbx), %rdi
movq %rdi, %rsi
movl %eax, %ecx
shrq %cl, %rsi
cmpl %esi, %edx
jae 0xd44f4
movl %edx, %r8d
incq %r8
movl %eax, %ecx
shlq %cl, %r8
subl %edx, %r15d
subq %r8, %rdi
movq %rdi, (%rbx)
jmp 0xd44f8
leal 0x1(%rdx), %r15d
bsrl %r15d, %ecx
xorl $0x7, %ecx
shll %cl, %r15d
subl %ecx, %eax
decl %r15d
cmpl %esi, %edx
movl %eax, 0xc(%rbx)
movl %r15d, 0x8(%rbx)
adcl $0x0, %ebp
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x55f75(%rip), %rdi     # 0x12a4a0
leaq 0x55f8d(%rip), %rsi     # 0x12a4bf
leaq 0x55ff1(%rip), %rcx     # 0x12a52a
movl $0x3b, %edx
callq 0x55710
nop