// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/libraries/libwebp/src/dsp/dec.c
// Function: FilterLoop24_C
static WEBP_INLINE void FilterLoop24_C(uint8_t* p,
                                       int hstride, int vstride, int size,
                                       int thresh, int ithresh,
                                       int hev_thresh) {
  const int thresh2 = 2 * thresh + 1;
  while (size-- > 0) {
    if (NeedsFilter2_C(p, hstride, thresh2, ithresh)) {
      if (Hev(p, hstride, hev_thresh)) {
        DoFilter2_C(p, hstride);
      } else {
        DoFilter4_C(p, hstride);
      }
    }
    p += vstride;
  }
}

// Assembly:
testl %ecx, %ecx
jle 0xda7b9
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
leal 0x1(%r8,%r8), %r8d
movslq %esi, %rsi
leaq (%rsi,%rsi,2), %r10
movq %r10, -0x18(%rsp)
negq %r10
movq %r10, -0x8(%rsp)
leaq (%rsi,%rsi), %rbx
negq %rbx
movq %rsi, %r14
negq %r14
leaq 0x91a6f(%rip), %rax     # 0x16bfe8
movq (%rax), %r15
leal (,%rsi,4), %eax
negl %eax
cltq
movq %rax, -0x10(%rsp)
leaq 0x91a45(%rip), %rax     # 0x16bfd8
movq (%rax), %rax
movq %rax, -0x38(%rsp)
leaq 0x91a3e(%rip), %rax     # 0x16bfe0
movq (%rax), %rax
movq %rax, -0x40(%rsp)
leaq 0x91a1f(%rip), %rax     # 0x16bfd0
movq (%rax), %rax
movq %rax, -0x20(%rsp)
movslq %edx, %rdx
incl %ecx
movzbl (%rdi,%rbx), %r11d
movzbl (%rdi,%r14), %ebp
movzbl (%rdi), %r13d
movzbl (%rdi,%rsi), %eax
movq %rbp, %r12
subq %r13, %r12
movzbl (%r15,%r12), %r12d
movq %r11, %r10
subq %rax, %r10
movzbl (%r15,%r10), %r10d
leal (%r10,%r12,4), %r10d
cmpl %r8d, %r10d
jg 0xda7a1
movq -0x8(%rsp), %r10
movzbl (%rdi,%r10), %r12d
movq -0x10(%rsp), %r10
movzbl (%rdi,%r10), %r10d
subq %r12, %r10
movzbl (%r15,%r10), %r10d
cmpl %r9d, %r10d
jg 0xda7a1
subq %r11, %r12
movzbl (%r15,%r12), %r10d
cmpl %r9d, %r10d
jg 0xda7a1
movq %r11, %r10
subq %rbp, %r10
movzbl (%r15,%r10), %r10d
cmpl %r9d, %r10d
jg 0xda7a1
movzbl (%rdi,%rsi,2), %r12d
movq -0x18(%rsp), %r10
movzbl (%rdi,%r10), %r10d
subq %r12, %r10
movzbl (%r15,%r10), %r10d
cmpl %r9d, %r10d
jg 0xda7a1
subq %rax, %r12
movzbl (%r15,%r12), %r10d
cmpl %r9d, %r10d
jg 0xda7a1
movq %rax, %r10
subq %r13, %r10
movzbl (%r15,%r10), %r10d
cmpl %r9d, %r10d
jg 0xda7a1
movl %r11d, %r10d
movl %ebp, %r12d
movq %r10, -0x48(%rsp)
movq %r12, -0x28(%rsp)
subq %r12, %r10
movzbl (%r15,%r10), %r10d
cmpl 0x38(%rsp), %r10d
jg 0xda6b6
movl %eax, %r10d
movl %r13d, %r12d
subq %r12, %r10
movzbl (%r15,%r10), %r10d
cmpl 0x38(%rsp), %r10d
jle 0xda716
movl %r13d, %r10d
subl %ebp, %r10d
leal (%r10,%r10,2), %r10d
movq -0x48(%rsp), %r11
subq %rax, %r11
movq -0x20(%rsp), %rax
movsbl (%rax,%r11), %eax
leal (%rax,%r10), %r11d
addl $0x4, %r11d
sarl $0x3, %r11d
movslq %r11d, %r11
movq -0x38(%rsp), %r12
movsbl (%r12,%r11), %r11d
addl %r10d, %eax
addl $0x3, %eax
sarl $0x3, %eax
cltq
movsbq (%r12,%rax), %rax
addq %rbp, %rax
movq -0x40(%rsp), %r12
movb (%r12,%rax), %al
movb %al, (%rdi,%r14)
subl %r11d, %r13d
movq %rdi, %r10
jmp 0xda797
leaq (%rdi,%rsi), %r10
movq %r10, -0x48(%rsp)
movl %r13d, %r10d
subl %ebp, %r10d
leal (%r10,%r10,2), %ebp
addl $0x4, %ebp
sarl $0x3, %ebp
movslq %ebp, %r12
movq -0x38(%rsp), %rbp
movsbq (%rbp,%r12), %r12
movq %r12, -0x30(%rsp)
leal (%r10,%r10,2), %r10d
addl $0x3, %r10d
sarl $0x3, %r10d
movslq %r10d, %r10
movsbq (%rbp,%r10), %r10
leal 0x1(%r12), %ebp
sarl %ebp
movslq %ebp, %rbp
addq %rbp, %r11
movq -0x40(%rsp), %r12
movb (%r12,%r11), %r11b
movb %r11b, (%rdi,%rbx)
movq -0x28(%rsp), %r11
addq %r10, %r11
movb (%r12,%r11), %r10b
movb %r10b, (%rdi,%r14)
subq -0x30(%rsp), %r13
movb (%r12,%r13), %r10b
movb %r10b, (%rdi)
movq -0x48(%rsp), %r10
subl %ebp, %eax
movl %eax, %r13d
movslq %r13d, %rax
movb (%r12,%rax), %al
movb %al, (%r10)
addq %rdx, %rdi
decl %ecx
cmpl $0x1, %ecx
jg 0xda5be
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop