// File: /workspace/github_c_makefile_star2_O3/enzo1982[P]smooth/libraries/libwebp/src/dec/tree_dec.c
// Function: VP8ParseProba
void VP8ParseProba(VP8BitReader* const br, VP8Decoder* const dec) {
  VP8Proba* const proba = &dec->proba_;
  int t, b, c, p;
  for (t = 0; t < NUM_TYPES; ++t) {
    for (b = 0; b < NUM_BANDS; ++b) {
      for (c = 0; c < NUM_CTX; ++c) {
        for (p = 0; p < NUM_PROBAS; ++p) {
          const int v =
              VP8GetBit(br, CoeffsUpdateProba[t][b][c][p], "global-header") ?
                        VP8GetValue(br, 8, "global-header") :
                        CoeffsProba0[t][b][c][p];
          proba->bands_[t][b].probas_[c][p] = v;
        }
      }
    }
    for (b = 0; b < 16 + 1; ++b) {
      proba->bands_ptr_[t][b] = &proba->bands_[t][kBands[b]];
    }
  }
  dec->use_skip_proba_ = VP8Get(br, "global-header");
  if (dec->use_skip_proba_) {
    dec->skip_p_ = VP8GetValue(br, 8, "global-header");
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rdi, %r14
leaq 0x4ab(%rsi), %rdi
movq %rsi, 0x8(%rsp)
addq $0x8d0, %rsi            # imm = 0x8D0
leaq 0x3beb9(%rip), %r15     # 0x12e5c0
leaq 0x3c2d2(%rip), %rcx     # 0x12e9e0
xorl %r8d, %r8d
movq %rdi, %rbp
movq %rdi, 0x10(%rsp)
movq %r8, 0x20(%rsp)
movq %rsi, 0x38(%rsp)
movq %rbp, 0x18(%rsp)
movq %rcx, 0x28(%rsp)
movq %r15, 0x30(%rsp)
xorl %eax, %eax
movq %rax, 0x40(%rsp)
movq %rbp, 0x58(%rsp)
movq %rcx, 0x50(%rsp)
movq %rcx, (%rsp)
movq %r15, 0x48(%rsp)
xorl %eax, %eax
movq %rax, 0x60(%rsp)
xorl %ebx, %ebx
movzbl (%r15,%rbx), %r12d
movl 0x8(%r14), %r13d
movl 0xc(%r14), %ecx
testl %ecx, %ecx
jns 0xf279d
movq 0x10(%r14), %rax
testq %rax, %rax
je 0xf2911
cmpq 0x20(%r14), %rax
jae 0xf2791
movq (%rax), %rdx
addq $0x7, %rax
movq %rax, 0x10(%r14)
bswapq %rdx
shldq $0x38, %rdx, (%r14)
addl $0x38, %ecx
jmp 0xf279d
movq %r14, %rdi
callq 0xefba6
movl 0xc(%r14), %ecx
imull %r13d, %r12d
shrl $0x8, %r12d
movq (%r14), %rsi
movl %ecx, %eax
movq %rsi, %rdx
shrq %cl, %rdx
cmpl %edx, %r12d
jae 0xf27cb
movl %r12d, %edi
incq %rdi
movl %eax, %ecx
shlq %cl, %rdi
subl %r12d, %r13d
subq %rdi, %rsi
movq %rsi, (%r14)
jmp 0xf27d0
leal 0x1(%r12), %r13d
bsrl %r13d, %ecx
xorl $0x7, %ecx
shll %cl, %r13d
subl %ecx, %eax
decl %r13d
movl %eax, 0xc(%r14)
movl %r13d, 0x8(%r14)
cmpl %edx, %r12d
jae 0xf27fb
movq %r14, %rdi
movl $0x8, %esi
callq 0xefc15
jmp 0xf2802
movq (%rsp), %rax
movb (%rax,%rbx), %al
movb %al, (%rbp,%rbx)
incq %rbx
cmpq $0xb, %rbx
jne 0xf2755
movq 0x60(%rsp), %rax
incq %rax
addq $0xb, %r15
addq $0xb, (%rsp)
addq $0xb, %rbp
cmpq $0x3, %rax
jne 0xf274e
movq 0x40(%rsp), %rax
incq %rax
movq 0x48(%rsp), %r15
addq $0x21, %r15
movq 0x50(%rsp), %rcx
addq $0x21, %rcx
movq 0x58(%rsp), %rbp
addq $0x21, %rbp
cmpq $0x8, %rax
jne 0xf2734
xorl %eax, %eax
movq 0x10(%rsp), %rdi
movq 0x38(%rsp), %rsi
movq 0x20(%rsp), %r8
leaq 0x3c589(%rip), %r9      # 0x12ee00
movzbl (%rax,%r9), %ecx
movl %ecx, %edx
shll $0x5, %edx
addq %rcx, %rdx
movq %r8, %rcx
shlq $0x8, %rcx
leaq (%rcx,%r8,8), %rcx
addq %rdi, %rcx
addq %rdx, %rcx
movq %rcx, (%rsi,%rax,8)
incq %rax
cmpq $0x11, %rax
jne 0xf2877
incq %r8
movq 0x30(%rsp), %r15
movl $0x108, %edx            # imm = 0x108
addq %rdx, %r15
movq 0x28(%rsp), %rcx
addq %rdx, %rcx
movq 0x18(%rsp), %rbp
addq %rdx, %rbp
addq $0x88, %rsi
cmpq $0x4, %r8
jne 0xf2719
movq %r14, %rdi
movl $0x1, %esi
callq 0xefc15
movq 0x8(%rsp), %rbx
movl %eax, 0xaf0(%rbx)
testl %eax, %eax
je 0xf2902
movq %r14, %rdi
movl $0x8, %esi
callq 0xefc15
movb %al, 0xaf4(%rbx)
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x36da8(%rip), %rdi     # 0x1296c0
leaq 0x36dc0(%rip), %rsi     # 0x1296df
leaq 0x36e24(%rip), %rcx     # 0x12974a
movl $0x3b, %edx
callq 0x55710