// File: /workspace/github_c_makefile_star2_O1/akumrao[P]videoAnalyzer/core/mc.c
// Function: mc_xy13(unsigned char*, int, unsigned char*, int, int, int)
static void mc_xy13( 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,              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 0x9ac0
movq -0x38(%rbp), %rcx
leal (%rcx,%rcx), %eax
movslq %eax, %r11
negl %eax
movslq %eax, %rbx
movl %ecx, %eax
negl %eax
movslq %eax, %r14
leal (%rcx,%rcx,2), %eax
movslq %eax, %r15
addq %rdi, %r15
addq %rdi, %r11
leaq (%rdi,%rcx), %r12
addq %rdi, %r14
addq %rdi, %rbx
leaq -0x260(%rbp), %r13
xorl %edx, %edx
leaq 0x1c4c0(%rip), %rcx     # 0x25f00
movq %rdi, %r8
movq %rdx, -0x58(%rbp)
cmpl $0x0, -0x2c(%rbp)
jle 0x9a9b
xorl %r9d, %r9d
movzbl (%r14,%r9), %r10d
movzbl (%r8,%r9), %eax
movzbl (%r12,%r9), %edx
addl %eax, %edx
movzbl (%r11,%r9), %eax
addl %r10d, %eax
movzbl (%rbx,%r9), %r10d
leal (%rdx,%rdx,4), %edx
leal (%r10,%rdx,4), %edx
movzbl (%r15,%r9), %r10d
addl %r10d, %edx
leal (%rax,%rax,4), %eax
subl %eax, %edx
addl $0x10, %edx
sarl $0x5, %edx
addl $0x50, %edx
movb (%rdx,%rcx), %al
movb %al, (%r13,%r9)
incq %r9
cmpq %r9, %rsi
jne 0x9a50
movq -0x38(%rbp), %rax
addq %rax, %r8
addq -0x48(%rbp), %r13
movq -0x58(%rbp), %rdx
incl %edx
addq %rax, %r15
addq %rax, %r11
addq %rax, %r12
addq %rax, %r14
addq %rax, %rbx
cmpl -0x30(%rbp), %edx
jne 0x9a43
movl -0x30(%rbp), %r14d
testl %r14d, %r14d
movl -0x2c(%rbp), %r15d
movq -0x50(%rbp), %r12
movq -0x48(%rbp), %r13
jle 0x9ba5
addq -0x38(%rbp), %rdi
leaq -0x160(%rbp), %rax
xorl %ecx, %ecx
leaq 0x1c413(%rip), %r8      # 0x25f00
testl %r15d, %r15d
jle 0x9b47
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 0x9af5
addq %r13, %rax
incl %ecx
addq -0x38(%rbp), %rdi
cmpl %r14d, %ecx
jne 0x9aed
testl %r14d, %r14d
jle 0x9ba5
movslq -0x3c(%rbp), %rax
leaq -0x160(%rbp), %rcx
leaq -0x260(%rbp), %rdi
xorl %r8d, %r8d
testl %r15d, %r15d
jle 0x9b94
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 0x9b77
addq %rax, %r12
addq %r13, %rdi
addq %r13, %rcx
incl %r8d
cmpl %r14d, %r8d
jne 0x9b6f
addq $0x1b8, %rsp            # imm = 0x1B8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq