// File: /workspace/github_c_makefile_star2_O3/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), %ecx
testl %ecx, %ecx
jns 0xd2f14
movq 0x10(%rbx), %rax
testq %rax, %rax
je 0xd35de
cmpq 0x20(%rbx), %rax
jae 0xd2f09
movq (%rax), %rdx
addq $0x7, %rax
movq %rax, 0x10(%rbx)
bswapq %rdx
shldq $0x38, %rdx, (%rbx)
addl $0x38, %ecx
jmp 0xd2f14
movq %rbx, %rdi
callq 0xefba6
movl 0xc(%rbx), %ecx
imull %r15d, %r12d
shrl $0x8, %r12d
movq (%rbx), %rdi
movl %ecx, %eax
movq %rdi, %rdx
shrq %cl, %rdx
cmpl %edx, %r12d
jae 0xd2f42
movl %r12d, %esi
incq %rsi
movl %eax, %ecx
shlq %cl, %rsi
subl %r12d, %r15d
subq %rsi, %rdi
movq %rdi, (%rbx)
jmp 0xd2f47
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 0xd2f99
movzbl 0x6(%r14), %r12d
testl %eax, %eax
jns 0xd2fe9
movq 0x10(%rbx), %rcx
testq %rcx, %rcx
je 0xd35de
cmpq 0x20(%rbx), %rcx
jae 0xd2fdb
movq (%rcx), %rdx
addq $0x7, %rcx
movq %rcx, 0x10(%rbx)
bswapq %rdx
shldq $0x38, %rdx, %rdi
movq %rdi, (%rbx)
addl $0x38, %eax
jmp 0xd2fe9
movzbl 0x4(%r14), %r12d
testl %eax, %eax
jns 0xd30c8
movq 0x10(%rbx), %rcx
testq %rcx, %rcx
je 0xd35de
cmpq 0x20(%rbx), %rcx
jae 0xd30ba
movq (%rcx), %rdx
addq $0x7, %rcx
movq %rcx, 0x10(%rbx)
bswapq %rdx
shldq $0x38, %rdx, %rdi
movq %rdi, (%rbx)
addl $0x38, %eax
jmp 0xd30c8
movq %rbx, %rdi
callq 0xefba6
movl 0xc(%rbx), %eax
movq (%rbx), %rdi
imull %r15d, %r12d
shrl $0x8, %r12d
movl %eax, %edx
movq %rdi, %rsi
movl %eax, %ecx
shrq %cl, %rsi
cmpl %esi, %r12d
jae 0xd3016
movl %r12d, %eax
incq %rax
movl %edx, %ecx
shlq %cl, %rax
subl %r12d, %r15d
subq %rax, %rdi
movq %rdi, (%rbx)
jmp 0xd301b
leal 0x1(%r12), %r15d
bsrl %r15d, %ecx
xorl $0x7, %ecx
shll %cl, %r15d
subl %ecx, %edx
decl %r15d
movl %edx, 0xc(%rbx)
movl %r15d, 0x8(%rbx)
cmpl %esi, %r12d
jae 0xd3078
movzbl 0x8(%r14), %r12d
testl %edx, %edx
jns 0xd316e
movq 0x10(%rbx), %rax
testq %rax, %rax
je 0xd35de
cmpq 0x20(%rbx), %rax
jae 0xd3160
movq (%rax), %rcx
addq $0x7, %rax
movq %rax, 0x10(%rbx)
bswapq %rcx
shldq $0x38, %rcx, %rdi
movq %rdi, (%rbx)
addl $0x38, %edx
jmp 0xd316e
movzbl 0x7(%r14), %r14d
testl %edx, %edx
jns 0xd320a
movq 0x10(%rbx), %rax
testq %rax, %rax
je 0xd35de
cmpq 0x20(%rbx), %rax
jae 0xd31fc
movq (%rax), %rcx
addq $0x7, %rax
movq %rax, 0x10(%rbx)
bswapq %rcx
shldq $0x38, %rcx, %rdi
movq %rdi, (%rbx)
addl $0x38, %edx
jmp 0xd320a
movq %rbx, %rdi
callq 0xefba6
movl 0xc(%rbx), %eax
movq (%rbx), %rdi
imull %r15d, %r12d
shrl $0x8, %r12d
movl %eax, %edx
movq %rdi, %rsi
movl %eax, %ecx
shrq %cl, %rsi
cmpl %esi, %r12d
jae 0xd30f5
movl %r12d, %eax
incq %rax
movl %edx, %ecx
shlq %cl, %rax
subl %r12d, %r15d
subq %rax, %rdi
movq %rdi, (%rbx)
jmp 0xd30fa
leal 0x1(%r12), %r15d
bsrl %r15d, %ecx
xorl $0x7, %ecx
shll %cl, %r15d
subl %ecx, %edx
decl %r15d
movl %edx, 0xc(%rbx)
movl %r15d, 0x8(%rbx)
movl $0x2, %ebp
cmpl %esi, %r12d
jae 0xd35cd
movzbl 0x5(%r14), %r14d
testl %edx, %edx
jns 0xd32de
movq 0x10(%rbx), %rax
testq %rax, %rax
je 0xd35de
cmpq 0x20(%rbx), %rax
jae 0xd32d0
movq (%rax), %rcx
addq $0x7, %rax
movq %rax, 0x10(%rbx)
bswapq %rcx
shldq $0x38, %rcx, %rdi
movq %rdi, (%rbx)
addl $0x38, %edx
jmp 0xd32de
movq %rbx, %rdi
callq 0xefba6
movl 0xc(%rbx), %edx
movq (%rbx), %rdi
imull %r15d, %r12d
shrl $0x8, %r12d
movl %edx, %esi
movq %rdi, %r13
movl %edx, %ecx
shrq %cl, %r13
cmpl %r13d, %r12d
jae 0xd319b
movl %r12d, %eax
incq %rax
movl %esi, %ecx
shlq %cl, %rax
subl %r12d, %r15d
subq %rax, %rdi
movq %rdi, (%rbx)
jmp 0xd31a0
leal 0x1(%r12), %r15d
bsrl %r15d, %ecx
xorl $0x7, %ecx
shll %cl, %r15d
decl %r15d
cmpl %r13d, %r12d
adcq $0x9, %r14
subl %ecx, %esi
movl %esi, 0xc(%rbx)
movl %r15d, 0x8(%rbx)
movzbl (%r14), %r14d
jns 0xd333d
movq 0x10(%rbx), %rax
testq %rax, %rax
je 0xd35de
cmpq 0x20(%rbx), %rax
jae 0xd332f
movq (%rax), %rcx
addq $0x7, %rax
movq %rax, 0x10(%rbx)
bswapq %rcx
shldq $0x38, %rcx, %rdi
movq %rdi, (%rbx)
addl $0x38, %esi
jmp 0xd333d
movq %rbx, %rdi
callq 0xefba6
movl 0xc(%rbx), %edx
movq (%rbx), %rdi
imull %r15d, %r14d
shrl $0x8, %r14d
movl %edx, %eax
movq %rdi, %rsi
movl %edx, %ecx
shrq %cl, %rsi
cmpl %esi, %r14d
jae 0xd3237
movl %r14d, %edx
incq %rdx
movl %eax, %ecx
shlq %cl, %rdx
subl %r14d, %r15d
subq %rdx, %rdi
movq %rdi, (%rbx)
jmp 0xd323b
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 %esi, %r14d
jae 0xd3293
testl %eax, %eax
jns 0xd3487
movq 0x10(%rbx), %rcx
testq %rcx, %rcx
je 0xd35de
cmpq 0x20(%rbx), %rcx
jae 0xd3479
movq (%rcx), %rdx
addq $0x7, %rcx
movq %rcx, 0x10(%rbx)
bswapq %rdx
shldq $0x38, %rdx, %rdi
movq %rdi, (%rbx)
addl $0x38, %eax
jmp 0xd3487
testl %eax, %eax
jns 0xd351c
movq 0x10(%rbx), %rcx
testq %rcx, %rcx
je 0xd35de
cmpq 0x20(%rbx), %rcx
jae 0xd350e
movq (%rcx), %rdx
addq $0x7, %rcx
movq %rcx, 0x10(%rbx)
bswapq %rdx
shldq $0x38, %rdx, %rdi
movq %rdi, (%rbx)
addl $0x38, %eax
jmp 0xd351c
movq %rbx, %rdi
callq 0xefba6
movl 0xc(%rbx), %edx
movq (%rbx), %rdi
imull %r15d, %r14d
shrl $0x8, %r14d
movl %edx, %eax
movq %rdi, %rsi
movl %edx, %ecx
shrq %cl, %rsi
cmpl %esi, %r14d
jae 0xd3310
movl %r14d, %edx
incq %rdx
movl %eax, %ecx
shlq %cl, %rdx
subl %r14d, %r15d
subq %rdx, %rdi
movq %rdi, (%rbx)
movl $0x4, %ebp
jmp 0xd331b
incl %r14d
movl $0x3, %ebp
movl %r14d, %r15d
bsrl %r15d, %ecx
xorl $0x7, %ecx
shll %cl, %r15d
subl %ecx, %eax
movl %eax, 0xc(%rbx)
jmp 0xd3568
movq %rbx, %rdi
callq 0xefba6
movl 0xc(%rbx), %esi
movq (%rbx), %rdi
imull %r15d, %r14d
shrl $0x8, %r14d
movl %esi, %eax
movq %rdi, %rdx
movl %esi, %ecx
shrq %cl, %rdx
cmpl %edx, %r14d
jae 0xd336a
movl %r14d, %esi
incq %rsi
movl %eax, %ecx
shlq %cl, %rsi
subl %r14d, %r15d
subq %rsi, %rdi
movq %rdi, (%rbx)
jmp 0xd336e
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 0x97c10(%rip), %rcx     # 0x16afb0
movq (%rcx,%r14,8), %r13
movb (%r13), %bpl
testb %bpl, %bpl
je 0xd3460
incq %r13
xorl %r12d, %r12d
testl %eax, %eax
jns 0xd33f7
movq 0x10(%rbx), %rcx
testq %rcx, %rcx
je 0xd35de
cmpq 0x20(%rbx), %rcx
jae 0xd33e9
movq (%rcx), %rdx
addq $0x7, %rcx
movq %rcx, 0x10(%rbx)
bswapq %rdx
shldq $0x38, %rdx, %rdi
movq %rdi, (%rbx)
addl $0x38, %eax
jmp 0xd33f7
movq %rbx, %rdi
callq 0xefba6
movl 0xc(%rbx), %eax
movq (%rbx), %rdi
movzbl %bpl, %esi
imull %r15d, %esi
shrl $0x8, %esi
movl %eax, %edx
movq %rdi, %r8
movl %eax, %ecx
shrq %cl, %r8
cmpl %r8d, %esi
jae 0xd3426
movl %esi, %eax
incq %rax
movl %edx, %ecx
shlq %cl, %rax
subl %esi, %r15d
subq %rax, %rdi
movq %rdi, (%rbx)
jmp 0xd342a
leal 0x1(%rsi), %r15d
xorl %eax, %eax
cmpl %r8d, %esi
setb %al
bsrl %r15d, %ecx
xorl $0x7, %ecx
shll %cl, %r15d
subl %ecx, %edx
movl %edx, 0xc(%rbx)
decl %r15d
movl %r15d, 0x8(%rbx)
leal (%rax,%r12,2), %r12d
movb (%r13), %bpl
incq %r13
movl %edx, %eax
testb %bpl, %bpl
jne 0xd33b7
jmp 0xd3463
xorl %r12d, %r12d
movl $0x8, %eax
movl %r14d, %ecx
shll %cl, %eax
leal (%r12,%rax), %ebp
addl $0x3, %ebp
jmp 0xd35cd
movq %rbx, %rdi
callq 0xefba6
movl 0xc(%rbx), %eax
movq (%rbx), %rdi
imull $0xa5, %r15d, %esi
shrl $0x8, %esi
movl %eax, %edx
movq %rdi, %r8
movl %eax, %ecx
shrq %cl, %r8
cmpl %r8d, %esi
jae 0xd34ba
movl %esi, %eax
incq %rax
movl %edx, %ecx
shlq %cl, %rax
subl %esi, %r15d
subq %rax, %rdi
movq %rdi, (%rbx)
movl $0x9, %ebp
jmp 0xd34c4
incl %esi
movl $0x7, %ebp
movl %esi, %r15d
bsrl %r15d, %ecx
xorl $0x7, %ecx
shll %cl, %r15d
decl %r15d
subl %ecx, %edx
movl %edx, 0xc(%rbx)
movl %r15d, 0x8(%rbx)
jns 0xd357f
movq 0x10(%rbx), %rax
testq %rax, %rax
je 0xd35de
cmpq 0x20(%rbx), %rax
jae 0xd3571
movq (%rax), %rcx
addq $0x7, %rax
movq %rax, 0x10(%rbx)
bswapq %rcx
shldq $0x38, %rcx, %rdi
movq %rdi, (%rbx)
addl $0x38, %edx
jmp 0xd357f
movq %rbx, %rdi
callq 0xefba6
movl 0xc(%rbx), %eax
movq (%rbx), %rdi
imull $0x9f, %r15d, %esi
shrl $0x8, %esi
movl %eax, %edx
movq %rdi, %r8
movl %eax, %ecx
shrq %cl, %r8
cmpl %r8d, %esi
jae 0xd354f
movl %esi, %eax
incq %rax
movl %edx, %ecx
shlq %cl, %rax
subl %esi, %r15d
subq %rax, %rdi
movq %rdi, (%rbx)
movl $0x6, %ebp
jmp 0xd3559
incl %esi
movl $0x5, %ebp
movl %esi, %r15d
bsrl %r15d, %ecx
xorl $0x7, %ecx
shll %cl, %r15d
subl %ecx, %edx
movl %edx, 0xc(%rbx)
decl %r15d
movl %r15d, 0x8(%rbx)
jmp 0xd35cd
movq %rbx, %rdi
callq 0xefba6
movl 0xc(%rbx), %edx
movq (%rbx), %rdi
imull $0x91, %r15d, %esi
shrl $0x8, %esi
movl %edx, %eax
movq %rdi, %r8
movl %edx, %ecx
shrq %cl, %r8
cmpl %r8d, %esi
jae 0xd35ad
movl %esi, %edx
incq %rdx
movl %eax, %ecx
shlq %cl, %rdx
subl %esi, %r15d
subq %rdx, %rdi
movq %rdi, (%rbx)
jmp 0xd35b1
leal 0x1(%rsi), %r15d
bsrl %r15d, %ecx
xorl $0x7, %ecx
shll %cl, %r15d
subl %ecx, %eax
decl %r15d
cmpl %r8d, %esi
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 0x560db(%rip), %rdi     # 0x1296c0
leaq 0x560f3(%rip), %rsi     # 0x1296df
leaq 0x56157(%rip), %rcx     # 0x12974a
movl $0x3b, %edx
callq 0x55710
nopl (%rax)