// File: /workspace/github_cpp_makefile_star2_O1/sisong[P]ApkDiffPatch/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/covers.h
// Function: hdiff_private::TCoversBuf::_collate_covers(hpatch_TOutputCovers*)
static void _collate_covers(struct hpatch_TOutputCovers* out_covers){
        TCoversBuf* self=(TCoversBuf*)out_covers;
        if (self->_isCover32){
            tm_collate_covers(self->m_covers_limit);
            self->_update(self->m_covers_limit);
        }else{
            tm_collate_covers(self->m_covers_larger);
            self->_update(self->m_covers_larger);
        }
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
cmpb $0x1, 0x20(%rdi)
jne 0x15d98
leaq 0x28(%rbx), %r14
leaq 0x30(%rbx), %r13
movq 0x28(%rbx), %r12
movq 0x30(%rbx), %r15
movq %r15, %rax
subq %r12, %rax
sarq $0x2, %rax
movabsq $-0x5555555555555555, %rbp # imm = 0xAAAAAAAAAAAAAAAB
imulq %rbp, %rax
movl $0xc, %esi
cmpq $0x2, %rax
jb 0x15edc
cmpq %r15, %r12
je 0x15cab
bsrq %rax, %rdx
xorl $0x3f, %edx
addl %edx, %edx
xorq $0x7e, %rdx
movq %r12, %rdi
movq %r15, %rsi
callq 0x16233
movq %r12, %rdi
movq %r15, %rsi
callq 0x162f2
movq (%r13), %rax
movq (%r14), %rdx
subq %rdx, %rax
sarq $0x2, %rax
imulq %rbp, %rax
movl $0x1, %esi
cmpq $0x2, %rax
jb 0x15d86
movl $0x1, %eax
movl $0xc, %ecx
xorl %esi, %esi
leaq (%rdx,%rcx), %rdi
movl 0x4(%rdx,%rcx), %r9d
leaq (%rsi,%rsi,2), %r8
leaq (%rdx,%r8,4), %r8
movl 0x4(%r8), %r10d
movl 0x8(%r8), %r11d
leal (%r11,%r10), %r15d
cmpl %r15d, %r9d
jae 0x15d21
movl 0x8(%rdx,%rcx), %r11d
addl %r9d, %r11d
cmpl %r15d, %r11d
jbe 0x15d61
movl (%rdi), %r15d
addl %r10d, %r15d
movl (%r8), %r12d
addl %r9d, %r12d
cmpl %r12d, %r15d
jne 0x15d3e
subl %r10d, %r11d
movl %r11d, 0x8(%r8)
jmp 0x15d61
jne 0x15d39
movl (%r8), %r9d
addl %r11d, %r9d
cmpl %r9d, (%rdi)
jne 0x15d39
addl 0x8(%rdx,%rcx), %r11d
movl %r11d, 0x8(%r8)
jmp 0x15d61
incq %rsi
jmp 0x15d4d
subl %r10d, %r9d
movl %r9d, 0x8(%r8)
cmpl $0x5, %r9d
sbbq $-0x1, %rsi
leaq (%rsi,%rsi,2), %r8
movl 0x8(%rdi), %r9d
movl %r9d, 0x8(%rdx,%r8,4)
movq (%rdi), %rdi
movq %rdi, (%rdx,%r8,4)
incq %rax
movq (%r13), %rdi
movq (%r14), %rdx
subq %rdx, %rdi
sarq $0x2, %rdi
imulq %rbp, %rdi
addq $0xc, %rcx
cmpq %rdi, %rax
jb 0x15cd8
incq %rsi
movq %r14, %rdi
callq 0x161f0
movl $0xc, %esi
jmp 0x15edc
leaq 0x40(%rbx), %r14
leaq 0x48(%rbx), %r13
movq 0x40(%rbx), %r12
movq 0x48(%rbx), %r15
movq %r15, %rax
subq %r12, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rbp # imm = 0xAAAAAAAAAAAAAAAB
imulq %rbp, %rax
movl $0x18, %esi
cmpq $0x2, %rax
jb 0x15edc
cmpq %r15, %r12
je 0x15df7
bsrq %rax, %rdx
xorl $0x3f, %edx
addl %edx, %edx
xorq $0x7e, %rdx
movq %r12, %rdi
movq %r15, %rsi
callq 0x169c3
movq %r12, %rdi
movq %r15, %rsi
callq 0x16a82
movq (%r13), %rax
movq (%r14), %rdx
subq %rdx, %rax
sarq $0x3, %rax
imulq %rbp, %rax
movl $0x1, %esi
cmpq $0x2, %rax
jb 0x15ecf
movl $0x1, %eax
movl $0x18, %ecx
xorl %esi, %esi
leaq (%rdx,%rcx), %rdi
movq 0x8(%rdx,%rcx), %r9
leaq (%rsi,%rsi,2), %r8
leaq (%rdx,%r8,8), %r8
movq 0x8(%r8), %r10
movq 0x10(%r8), %r11
leaq (%r11,%r10), %r15
cmpq %r15, %r9
jae 0x15e69
movq 0x10(%rdx,%rcx), %r11
addq %r9, %r11
cmpq %r15, %r11
jbe 0x15eaa
movq (%rdi), %r15
addq %r10, %r15
movq (%r8), %r12
addq %r9, %r12
cmpq %r12, %r15
jne 0x15e86
subq %r10, %r11
jmp 0x15e7b
jne 0x15e81
movq (%r8), %r9
addq %r11, %r9
cmpq %r9, (%rdi)
jne 0x15e81
addq 0x10(%rdx,%rcx), %r11
movq %r11, 0x10(%r8)
jmp 0x15eaa
incq %rsi
jmp 0x15e95
subq %r10, %r9
movq %r9, 0x10(%r8)
cmpq $0x5, %r9
sbbq $-0x1, %rsi
leaq (%rsi,%rsi,2), %r8
movq 0x10(%rdi), %r9
movq %r9, 0x10(%rdx,%r8,8)
movups (%rdi), %xmm0
movups %xmm0, (%rdx,%r8,8)
incq %rax
movq (%r13), %rdi
movq (%r14), %rdx
subq %rdx, %rdi
sarq $0x3, %rdi
imulq %rbp, %rdi
addq $0x18, %rcx
cmpq %rdi, %rax
jb 0x15e24
incq %rsi
movq %r14, %rdi
callq 0x16980
movl $0x18, %esi
movq (%r14), %rcx
movq %rcx, 0x10(%rbx)
movq (%r13), %rax
subq %rcx, %rax
cqto
idivq %rsi
movq %rax, 0x18(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq