// File: /workspace/github_cpp_makefile_star2_O3/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 0x15a65
movq 0x28(%rbx), %r15
movq 0x30(%rbx), %r12
movq %r12, %rax
subq %r15, %rax
sarq $0x2, %rax
movabsq $-0x5555555555555555, %rbp # imm = 0xAAAAAAAAAAAAAAAB
imulq %rbp, %rax
cmpq $0x2, %rax
jb 0x15bb3
leaq 0x28(%rbx), %r14
leaq 0x30(%rbx), %r13
cmpq %r12, %r15
je 0x15999
bsrq %rax, %rdx
xorl $0x3f, %edx
addl %edx, %edx
xorq $0x7e, %rdx
movq %r15, %rdi
movq %r12, %rsi
callq 0x15efb
movq %r15, %rdi
movq %r12, %rsi
callq 0x15fba
movq (%r13), %rax
movq (%r14), %r15
subq %r15, %rax
sarq $0x2, %rax
imulq %rbp, %rax
movl $0x1, %esi
cmpq $0x1, %rax
jbe 0x15a53
movl $0x1, %eax
movl $0xc, %ecx
xorl %esi, %esi
leaq (%r15,%rcx), %rdx
movl 0x4(%r15,%rcx), %r8d
leaq (%rsi,%rsi,2), %rdi
leaq (%r15,%rdi,4), %rdi
movl 0x4(%rdi), %r9d
movl 0x8(%rdi), %r10d
leal (%r10,%r9), %r11d
cmpl %r11d, %r8d
jae 0x159ee
movl 0x8(%r15,%rcx), %r10d
addl %r8d, %r10d
cmpl %r11d, %r10d
jbe 0x15a2e
movl (%rdx), %r11d
addl %r9d, %r11d
movl (%rdi), %r12d
addl %r8d, %r12d
cmpl %r12d, %r11d
jne 0x15a0b
subl %r9d, %r10d
movl %r10d, 0x8(%rdi)
jmp 0x15a2e
jne 0x15a06
movl (%rdi), %r8d
addl %r10d, %r8d
cmpl %r8d, (%rdx)
jne 0x15a06
addl 0x8(%r15,%rcx), %r10d
movl %r10d, 0x8(%rdi)
jmp 0x15a2e
incq %rsi
jmp 0x15a1a
subl %r9d, %r8d
movl %r8d, 0x8(%rdi)
cmpl $0x5, %r8d
sbbq $-0x1, %rsi
leaq (%rsi,%rsi,2), %rdi
movl 0x8(%rdx), %r8d
movl %r8d, 0x8(%r15,%rdi,4)
movq (%rdx), %rdx
movq %rdx, (%r15,%rdi,4)
incq %rax
movq (%r13), %rdx
movq (%r14), %r15
subq %r15, %rdx
sarq $0x2, %rdx
imulq %rbp, %rdx
addq $0xc, %rcx
cmpq %rdx, %rax
jb 0x159a5
incq %rsi
movq %r14, %rdi
callq 0x15eb8
movl $0xc, %ecx
jmp 0x15ba4
movq 0x40(%rbx), %r15
movq 0x48(%rbx), %r12
movq %r12, %rax
subq %r15, %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rbp # imm = 0xAAAAAAAAAAAAAAAB
imulq %rbp, %rax
cmpq $0x2, %rax
jb 0x15bb3
leaq 0x40(%rbx), %r14
leaq 0x48(%rbx), %r13
cmpq %r12, %r15
je 0x15ae0
bsrq %rax, %rdx
xorl $0x3f, %edx
addl %edx, %edx
xorq $0x7e, %rdx
movq %r15, %rdi
movq %r12, %rsi
callq 0x16683
movq %r15, %rdi
movq %r12, %rsi
callq 0x16742
movq (%r13), %rax
movq (%r14), %r15
subq %r15, %rax
sarq $0x3, %rax
imulq %rbp, %rax
movl $0x1, %esi
cmpq $0x1, %rax
jbe 0x15b97
movl $0x1, %eax
movl $0x18, %ecx
xorl %esi, %esi
leaq (%r15,%rcx), %rdx
movq 0x8(%r15,%rcx), %r8
leaq (%rsi,%rsi,2), %rdi
leaq (%r15,%rdi,8), %rdi
movq 0x8(%rdi), %r9
movq 0x10(%rdi), %r10
leaq (%r10,%r9), %r11
cmpq %r11, %r8
jae 0x15b31
movq 0x10(%r15,%rcx), %r10
addq %r8, %r10
cmpq %r11, %r10
jbe 0x15b72
movq (%rdx), %r11
addq %r9, %r11
movq (%rdi), %r12
addq %r8, %r12
cmpq %r12, %r11
jne 0x15b4e
subq %r9, %r10
jmp 0x15b43
jne 0x15b49
movq (%rdi), %r8
addq %r10, %r8
cmpq %r8, (%rdx)
jne 0x15b49
addq 0x10(%r15,%rcx), %r10
movq %r10, 0x10(%rdi)
jmp 0x15b72
incq %rsi
jmp 0x15b5d
subq %r9, %r8
movq %r8, 0x10(%rdi)
cmpq $0x5, %r8
sbbq $-0x1, %rsi
leaq (%rsi,%rsi,2), %rdi
movq 0x10(%rdx), %r8
movq %r8, 0x10(%r15,%rdi,8)
movups (%rdx), %xmm0
movups %xmm0, (%r15,%rdi,8)
incq %rax
movq (%r13), %rdx
movq (%r14), %r15
subq %r15, %rdx
sarq $0x3, %rdx
imulq %rbp, %rdx
addq $0x18, %rcx
cmpq %rdx, %rax
jb 0x15aec
incq %rsi
movq %r14, %rdi
callq 0x16640
movl $0x18, %ecx
movq (%r14), %r15
movq (%r13), %rax
subq %r15, %rax
cqto
idivq %rcx
movq %r15, 0x10(%rbx)
movq %rax, 0x18(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq