// File: /workspace/github_c_makefile_star2_O3/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 0xd98e3
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 0x91952(%rip), %rax     # 0x16afe8
movq (%rax), %r15
leal (,%rsi,4), %eax
negl %eax
cltq
movq %rax, -0x10(%rsp)
leaq 0x91928(%rip), %rax     # 0x16afd8
movq (%rax), %rax
movq %rax, -0x30(%rsp)
leaq 0x91921(%rip), %rax     # 0x16afe0
movq (%rax), %rax
movq %rax, -0x38(%rsp)
leaq 0x91902(%rip), %rax     # 0x16afd0
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 0xd98cb
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 0xd98cb
subq %r11, %r12
movzbl (%r15,%r12), %r10d
cmpl %r9d, %r10d
ja 0xd98cb
movq %r11, %r10
subq %rbp, %r10
movzbl (%r15,%r10), %r10d
cmpl %r9d, %r10d
ja 0xd98cb
movzbl (%rdi,%rsi,2), %r12d
movq -0x18(%rsp), %r10
movzbl (%rdi,%r10), %r10d
subq %r12, %r10
movzbl (%r15,%r10), %r10d
cmpl %r9d, %r10d
ja 0xd98cb
subq %rax, %r12
movzbl (%r15,%r12), %r10d
cmpl %r9d, %r10d
ja 0xd98cb
movq %rax, %r10
subq %r13, %r10
movzbl (%r15,%r10), %r10d
cmpl %r9d, %r10d
ja 0xd98cb
movl %r11d, %r10d
movl %ebp, %r12d
movq %r10, -0x40(%rsp)
movq %r12, -0x28(%rsp)
subq %r12, %r10
movzbl (%r15,%r10), %r10d
movl %eax, %r12d
cmpl 0x38(%rsp), %r10d
jg 0xd97e2
movl %r13d, %r10d
movq %r12, -0x48(%rsp)
movq -0x48(%rsp), %r12
subq %r10, %r12
movzbl (%r15,%r12), %r10d
movq -0x48(%rsp), %r12
cmpl 0x38(%rsp), %r10d
jbe 0xd9840
movl %r13d, %eax
subl %ebp, %eax
leal (%rax,%rax,2), %eax
movq -0x40(%rsp), %r11
subq %r12, %r11
movq -0x20(%rsp), %r10
movsbl (%r10,%r11), %r10d
leal (%r10,%rax), %r11d
addl $0x4, %r11d
sarl $0x3, %r11d
movslq %r11d, %r11
movq -0x30(%rsp), %r12
movsbl (%r12,%r11), %r11d
addl %r10d, %eax
addl $0x3, %eax
sarl $0x3, %eax
cltq
movsbq (%r12,%rax), %rax
addq %rbp, %rax
movq -0x38(%rsp), %r12
movb (%r12,%rax), %al
movb %al, (%rdi,%r14)
subl %r11d, %r13d
movq %rdi, %r10
jmp 0xd98c1
leaq (%rdi,%rsi), %r10
movq %r10, -0x40(%rsp)
movl %r13d, %r10d
subl %ebp, %r10d
leal (%r10,%r10,2), %ebp
addl $0x4, %ebp
sarl $0x3, %ebp
movslq %ebp, %r12
movq -0x30(%rsp), %rbp
movsbq (%rbp,%r12), %r12
movq %r12, -0x48(%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 -0x38(%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 -0x48(%rsp), %r13
movb (%r12,%r13), %r10b
movb %r10b, (%rdi)
movq -0x40(%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
ja 0xd96db
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq