// File: /workspace/github_c_makefile_star2_O1/akumrao[P]videoAnalyzer/core/mc.c
// Function: mc_xy33(unsigned char*, int, unsigned char*, int, int, int)
static void mc_xy33( uint8_t *src, int i_src_stride, uint8_t *dst, int i_dst_stride, int i_width, int i_height )
{
    uint8_t tmp1[16*16];
    uint8_t tmp2[16*16];

    mc_hv( src+1,            i_src_stride, tmp1, i_width, i_width, i_height );
    mc_hh( src+i_src_stride, i_src_stride, tmp2, i_width, i_width, i_height );
    pixel_avg( dst, i_dst_stride, tmp1, i_width, tmp2, i_width, i_width, i_height );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1b8, %rsp            # imm = 0x1B8
movl %ecx, -0x3c(%rbp)
movq %rdx, -0x50(%rbp)
movslq %esi, %rax
movq %rax, -0x38(%rbp)
movslq %r8d, %rax
movq %rax, -0x48(%rbp)
movl %r8d, -0x2c(%rbp)
movl %r8d, %esi
movl %r9d, -0x30(%rbp)
testl %r9d, %r9d
jle 0x9def
leaq 0x1(%rdi), %r11
movq -0x38(%rbp), %rdx
leal (%rdx,%rdx), %eax
movslq %eax, %rcx
negl %eax
cltq
leal (%rdx,%rdx,2), %r8d
movslq %r8d, %r8
leaq (%rdi,%r8), %rbx
incq %rbx
leaq (%rdi,%rcx), %r14
incq %r14
leaq (%rdi,%rdx), %r15
incq %r15
movq %rdi, %r12
subq %rdx, %r12
incq %r12
leaq (%rdi,%rax), %r13
incq %r13
leaq -0x260(%rbp), %rax
xorl %edx, %edx
leaq 0x1c18f(%rip), %r8      # 0x25f00
movq %rdx, -0x58(%rbp)
cmpl $0x0, -0x2c(%rbp)
jle 0x9dca
xorl %r9d, %r9d
movzbl (%r12,%r9), %r10d
movzbl (%r11,%r9), %ecx
movzbl (%r15,%r9), %edx
addl %ecx, %edx
movzbl (%r14,%r9), %ecx
addl %r10d, %ecx
movzbl (%r13,%r9), %r10d
leal (%rdx,%rdx,4), %edx
leal (%r10,%rdx,4), %edx
movzbl (%rbx,%r9), %r10d
addl %r10d, %edx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %edx
addl $0x10, %edx
sarl $0x5, %edx
addl $0x50, %edx
movb (%rdx,%r8), %cl
movb %cl, (%rax,%r9)
incq %r9
cmpq %r9, %rsi
jne 0x9d7e
movq -0x38(%rbp), %rcx
addq %rcx, %r11
addq -0x48(%rbp), %rax
movq -0x58(%rbp), %rdx
incl %edx
addq %rcx, %rbx
addq %rcx, %r14
addq %rcx, %r15
addq %rcx, %r12
addq %rcx, %r13
cmpl -0x30(%rbp), %edx
jne 0x9d71
movl -0x30(%rbp), %r14d
testl %r14d, %r14d
movl -0x2c(%rbp), %r15d
movq -0x50(%rbp), %r12
movq -0x48(%rbp), %r13
jle 0x9ed4
addq -0x38(%rbp), %rdi
leaq -0x160(%rbp), %rax
xorl %ecx, %ecx
leaq 0x1c0e4(%rip), %r8      # 0x25f00
testl %r15d, %r15d
jle 0x9e76
xorl %r9d, %r9d
movzbl -0x2(%rdi,%r9), %edx
movzbl -0x1(%rdi,%r9), %r10d
movzbl (%rdi,%r9), %r11d
movzbl 0x1(%rdi,%r9), %ebx
addl %r11d, %ebx
leal (%rbx,%rbx,4), %r11d
movzbl 0x2(%rdi,%r9), %ebx
addl %r10d, %ebx
movzbl 0x3(%rdi,%r9), %r10d
leal (%rbx,%rbx,4), %ebx
leal (%rdx,%r11,4), %edx
addl %r10d, %edx
subl %ebx, %edx
addl $0x10, %edx
sarl $0x5, %edx
addl $0x50, %edx
movb (%rdx,%r8), %dl
movb %dl, (%rax,%r9)
incq %r9
cmpq %r9, %rsi
jne 0x9e24
addq %r13, %rax
incl %ecx
addq -0x38(%rbp), %rdi
cmpl %r14d, %ecx
jne 0x9e1c
testl %r14d, %r14d
jle 0x9ed4
movslq -0x3c(%rbp), %rax
leaq -0x160(%rbp), %rcx
leaq -0x260(%rbp), %rdi
xorl %r8d, %r8d
testl %r15d, %r15d
jle 0x9ec3
xorl %r9d, %r9d
movzbl (%rdi,%r9), %edx
movzbl (%rcx,%r9), %r10d
addl %r10d, %edx
incl %edx
shrl %edx
movb %dl, (%r12,%r9)
incq %r9
cmpq %r9, %rsi
jne 0x9ea6
addq %rax, %r12
addq %r13, %rdi
addq %r13, %rcx
incl %r8d
cmpl %r14d, %r8d
jne 0x9e9e
addq $0x1b8, %rsp            # imm = 0x1B8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop