// File: /workspace/github_cpp_makefile_star2_O3/sisong[P]ApkDiffPatch/HDiffPatch/libHDiffPatch/HDiff/match_block.cpp
// Function: hdiff_private::TMatchBlock::unpackData(IDiffInsertCover*, void*, unsigned long, bool)
void TMatchBlock::unpackData(IDiffInsertCover* diffi,void* pcovers,size_t coverCount,bool isCover32){
    doUnpackData(oldData,oldData_end,packedCoversForOld);
    oldData_end_cur=oldData_end;
    doUnpackData(newData,newData_end,packedCoversForNew);
    newData_end_cur=newData_end;

    std::vector<hpatch_TCover> clipCovers;
    doClipCover<true>(pcovers,coverCount,isCover32,packedCoversForNew,clipCovers);
    _clearV(packedCoversForNew);
    _insertCovers(clipCovers);

    sortCover<false>(pcovers,coverCount,isCover32);
    clipCovers.clear();
    doClipCover<false>(pcovers,coverCount,isCover32,packedCoversForOld,clipCovers);
    _clearV(packedCoversForOld);
    _insertCovers(clipCovers);
    _clearV(clipCovers);
    _insertCovers(blockCovers);
    _clearV(blockCovers);

    sortCover<true>(pcovers,coverCount,isCover32);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
movl %r8d, %ebx
movq %rcx, %r15
movq %rdx, %r12
movq %rsi, 0x70(%rsp)
movq %rdi, %r14
movq 0x18(%rdi), %rdi
movq 0x20(%r14), %rsi
leaq 0x58(%r14), %rdx
movq %rdx, 0x78(%rsp)
callq 0x17dca
movq 0x20(%r14), %rax
movq %rax, 0x28(%r14)
movq (%r14), %rdi
movq 0x8(%r14), %rsi
leaq 0x70(%r14), %r13
movq %r13, %rdx
callq 0x17dca
movq 0x8(%r14), %rax
movq %rax, 0x10(%r14)
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movq $0x0, 0x20(%rsp)
movq 0x70(%r14), %rsi
movq %r15, 0x60(%rsp)
testq %r15, %r15
movl %ebx, 0x54(%rsp)
movq %r14, 0x68(%rsp)
je 0x17593
movq %r13, 0x80(%rsp)
movq 0x78(%r14), %r14
testb %bl, %bl
movq %r12, 0x58(%rsp)
je 0x1759b
cmpq %r14, %rsi
je 0x17706
movq 0x8(%rsi), %rbx
xorl %edi, %edi
movq $0x0, 0x8(%rsp)
leaq (%rdi,%rdi,2), %rcx
movl 0x4(%r12,%rcx,4), %eax
cmpq %rax, %rbx
ja 0x1747c
cmpq %r14, %rsi
je 0x17d46
movq %rsi, %rdx
addq $0x18, %rsi
cmpq %r14, %rsi
je 0x17462
movq 0x20(%rdx), %rbx
cmpq %rax, %rbx
jbe 0x17442
jmp 0x17469
movq $-0x1, %rbx
movq (%rdx), %rsi
subq 0x8(%rdx), %rsi
movq %rsi, 0x8(%rsp)
addq $0x18, %rdx
movq %rdx, %rsi
movq %rdi, 0x48(%rsp)
leaq (%r12,%rcx,4), %r15
movl 0x8(%r15), %ecx
addq %rax, %rcx
cmpq %rbx, %rcx
movq %rsi, 0x28(%rsp)
jbe 0x17565
movl (%r15), %ecx
movq 0x8(%rsp), %r13
movq %rbx, %rbp
movq %rsi, %r12
movl %ecx, %ecx
movq %rcx, 0x30(%rsp)
movl %eax, %ecx
movq %rbp, %rdx
subq %rax, %rdx
movq %rdx, 0x40(%rsp)
movl %r13d, %eax
addq %rcx, %rax
movq %rax, 0x38(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
je 0x174ec
movq 0x40(%rsp), %rax
movq %rax, 0x10(%rsi)
movups 0x30(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x18, 0x18(%rsp)
jmp 0x174fb
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x15d40
movl 0x40(%rsp), %esi
movl (%r15), %ecx
addl %esi, %ecx
movl %ecx, (%r15)
movl 0x4(%r15), %eax
addl %esi, %eax
movl %eax, 0x4(%r15)
movl 0x8(%r15), %edx
subl %esi, %edx
movl %edx, 0x8(%r15)
cmpq %rax, %rbp
ja 0x17555
cmpq %r14, %r12
je 0x17cba
movq %r12, %rsi
addq $0x18, %r12
cmpq %r14, %r12
je 0x17540
movq 0x20(%rsi), %rbp
cmpq %rax, %rbp
jbe 0x17520
jmp 0x17547
movq $-0x1, %rbp
movq (%rsi), %r13
subq 0x8(%rsi), %r13
addq $0x18, %rsi
movq %rsi, %r12
movl %edx, %edx
addq %rax, %rdx
cmpq %rbp, %rdx
ja 0x174a8
jmp 0x1756a
movq 0x8(%rsp), %r13
addl %eax, %r13d
movl %r13d, 0x4(%r15)
movq 0x48(%rsp), %rdi
incq %rdi
cmpq 0x60(%rsp), %rdi
movq 0x58(%rsp), %r12
movq 0x28(%rsp), %rsi
jne 0x17434
jmp 0x17706
movq %rsi, %rdi
jmp 0x17717
cmpq %r14, %rsi
je 0x17706
movq 0x8(%rsi), %rbp
xorl %edi, %edi
movq $0x0, 0x8(%rsp)
leaq (%rdi,%rdi,2), %rcx
movq 0x8(%r12,%rcx,8), %rax
movq %rsi, %rdx
cmpq %rbp, %rax
jb 0x175f8
cmpq %r14, %rdx
je 0x17d0a
leaq 0x18(%rdx), %rsi
cmpq %r14, %rsi
je 0x175dc
movq 0x20(%rdx), %rbp
jmp 0x175e3
movq $-0x1, %rbp
movq %rsi, %rdx
cmpq %rbp, %rax
jae 0x175c4
movq -0x18(%rsi), %rdx
subq -0x10(%rsi), %rdx
movq %rdx, 0x8(%rsp)
movq %rdi, 0x48(%rsp)
leaq (%r12,%rcx,8), %rbx
movq 0x10(%rbx), %rcx
addq %rax, %rcx
cmpq %rbp, %rcx
movq %rsi, 0x28(%rsp)
jbe 0x176dd
movq (%rbx), %rcx
movq 0x8(%rsp), %r13
movq %rbp, %r12
movq %rsi, %r15
movq %rcx, 0x30(%rsp)
movq %r12, %rcx
subq %rax, %rcx
movq %rcx, 0x40(%rsp)
addq %r13, %rax
movq %rax, 0x38(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
je 0x17661
movq 0x40(%rsp), %rax
movq %rax, 0x10(%rsi)
movups 0x30(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x18, 0x18(%rsp)
jmp 0x17670
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x15d40
movq 0x40(%rsp), %rdi
movq (%rbx), %rcx
addq %rdi, %rcx
movq %rcx, (%rbx)
movq 0x8(%rbx), %rdx
movq 0x10(%rbx), %rsi
leaq (%rdx,%rdi), %rax
movq %rax, 0x8(%rbx)
movq %rsi, %r8
subq %rdi, %r8
movq %r8, 0x10(%rbx)
cmpq %r12, %rax
jb 0x176cf
cmpq %r14, %r15
je 0x17c7e
leaq 0x18(%r15), %rdi
cmpq %r14, %rdi
je 0x176b5
movq 0x20(%r15), %r12
jmp 0x176bc
movq $-0x1, %r12
movq %rdi, %r15
cmpq %r12, %rax
jae 0x1769d
movq -0x18(%rdi), %r13
subq -0x10(%rdi), %r13
movq %rdi, %r15
addq %rdx, %rsi
cmpq %r12, %rsi
ja 0x17624
jmp 0x176e2
movq 0x8(%rsp), %r13
addq %r13, %rax
movq %rax, 0x8(%rbx)
movq 0x48(%rsp), %rdi
incq %rdi
cmpq 0x60(%rsp), %rdi
movq 0x58(%rsp), %r12
movq 0x28(%rsp), %rsi
jne 0x175b3
movq 0x80(%rsp), %r13
movq (%r13), %rdi
movq 0x68(%rsp), %r14
movq 0x80(%r14), %rsi
xorps %xmm0, %xmm0
movups %xmm0, (%r13)
movq $0x0, 0x10(%r13)
testq %rdi, %rdi
je 0x1773b
subq %rdi, %rsi
callq 0x4300
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
subq %rsi, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %r12 # imm = 0xAAAAAAAAAAAAAAAB
imulq %r12, %rdx
movq 0x70(%rsp), %rdi
xorl %ecx, %ecx
callq *(%rdi)
movq %rax, %r14
movq 0x18(%rsp), %rax
subq 0x10(%rsp), %rax
sarq $0x3, %rax
imulq %r12, %rax
addq 0x60(%rsp), %rax
movq %rax, 0x28(%rsp)
je 0x177db
movq 0x28(%rsp), %rax
bsrq %rax, %rdx
xorl $0x3f, %edx
addl %edx, %edx
xorq $0x7e, %rdx
cmpb $0x0, 0x54(%rsp)
je 0x177bd
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,4), %rbx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x190af
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1916e
jmp 0x177db
leaq (%rax,%rax,2), %rax
leaq (%r14,%rax,8), %rbx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1966d
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1972c
movq 0x10(%rsp), %rax
cmpq %rax, 0x18(%rsp)
je 0x177ec
movq %rax, 0x18(%rsp)
movq 0x68(%rsp), %rcx
movq 0x58(%rcx), %rsi
cmpq $0x0, 0x28(%rsp)
movl 0x54(%rsp), %eax
je 0x17992
movq 0x60(%rcx), %r13
testb %al, %al
movq %r14, 0x60(%rsp)
je 0x1799f
cmpq %r13, %rsi
je 0x17b08
movq 0x8(%rsi), %rbp
xorl %edi, %edi
movq $0x0, 0x8(%rsp)
leaq (%rdi,%rdi,2), %rcx
movl (%r14,%rcx,4), %eax
cmpq %rax, %rbp
ja 0x17875
cmpq %r13, %rsi
je 0x17d64
movq %rsi, %rdx
addq $0x18, %rsi
cmpq %r13, %rsi
je 0x1785b
movq 0x20(%rdx), %rbp
cmpq %rax, %rbp
jbe 0x1783b
jmp 0x17862
movq $-0x1, %rbp
movq (%rdx), %rsi
subq 0x8(%rdx), %rsi
movq %rsi, 0x8(%rsp)
addq $0x18, %rdx
movq %rdx, %rsi
movq %rdi, 0x58(%rsp)
leaq (%r14,%rcx,4), %r15
movl 0x8(%r15), %ecx
addq %rax, %rcx
cmpq %rbp, %rcx
movq %rbp, 0x48(%rsp)
jbe 0x1795f
movl 0x4(%r15), %ecx
movq 0x8(%rsp), %r14
movq %rsi, %r12
movq %rsi, %rbx
movl %eax, %edx
movl %ecx, %ecx
movq %rcx, 0x38(%rsp)
movq %rbp, %rcx
subq %rax, %rcx
movq %rcx, 0x40(%rsp)
movl %r14d, %eax
addq %rdx, %rax
movq %rax, 0x30(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
je 0x178e6
movq 0x40(%rsp), %rax
movq %rax, 0x10(%rsi)
movups 0x30(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x18, 0x18(%rsp)
jmp 0x178f5
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x15d40
movl 0x40(%rsp), %esi
movl (%r15), %eax
addl %esi, %eax
movl %eax, (%r15)
movl 0x4(%r15), %ecx
addl %esi, %ecx
movl %ecx, 0x4(%r15)
movl 0x8(%r15), %edx
subl %esi, %edx
movl %edx, 0x8(%r15)
cmpq %rax, %rbp
ja 0x1794f
cmpq %r13, %rbx
je 0x17cd8
movq %rbx, %rsi
addq $0x18, %rbx
cmpq %r13, %rbx
je 0x1793a
movq 0x20(%rsi), %rbp
cmpq %rax, %rbp
jbe 0x1791a
jmp 0x17941
movq $-0x1, %rbp
movq (%rsi), %r14
subq 0x8(%rsi), %r14
addq $0x18, %rsi
movq %rsi, %rbx
movl %edx, %edx
addq %rax, %rdx
cmpq %rbp, %rdx
ja 0x178a2
jmp 0x17967
movq %rsi, %r12
movq 0x8(%rsp), %r14
addl %eax, %r14d
movl %r14d, (%r15)
movq 0x58(%rsp), %rdi
incq %rdi
cmpq 0x28(%rsp), %rdi
movq 0x60(%rsp), %r14
movq %r12, %rsi
movq 0x48(%rsp), %rbp
jne 0x1782e
jmp 0x17b08
movq 0x78(%rsp), %rax
movq %rsi, %rdi
jmp 0x17b1f
cmpq %r13, %rsi
je 0x17b08
movq 0x8(%rsi), %rbx
xorl %edi, %edi
movq $0x0, 0x8(%rsp)
leaq (%rdi,%rdi,2), %rcx
movq (%r14,%rcx,8), %rax
movq %rsi, %rdx
cmpq %rbx, %rax
jb 0x179fb
cmpq %r13, %rdx
je 0x17d28
leaq 0x18(%rdx), %rsi
cmpq %r13, %rsi
je 0x179df
movq 0x20(%rdx), %rbx
jmp 0x179e6
movq $-0x1, %rbx
movq %rsi, %rdx
cmpq %rbx, %rax
jae 0x179c7
movq -0x18(%rsi), %rdx
subq -0x10(%rsi), %rdx
movq %rdx, 0x8(%rsp)
movq %rdi, 0x48(%rsp)
leaq (%r14,%rcx,8), %r15
movq 0x10(%r15), %rcx
addq %rax, %rcx
cmpq %rbx, %rcx
movq %rsi, 0x58(%rsp)
jbe 0x17ae0
movq 0x8(%r15), %rcx
movq 0x8(%rsp), %r14
movq %rbx, %rbp
movq %rsi, %r12
movq %rcx, 0x38(%rsp)
movq %rbp, %rcx
subq %rax, %rcx
movq %rcx, 0x40(%rsp)
addq %r14, %rax
movq %rax, 0x30(%rsp)
movq 0x18(%rsp), %rsi
cmpq 0x20(%rsp), %rsi
je 0x17a65
movq 0x40(%rsp), %rax
movq %rax, 0x10(%rsi)
movups 0x30(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x18, 0x18(%rsp)
jmp 0x17a74
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x15d40
movq 0x40(%rsp), %rcx
movq (%r15), %rdx
movq 0x10(%r15), %rsi
leaq (%rdx,%rcx), %rax
movq %rax, (%r15)
movq %rsi, %rdi
subq %rcx, %rdi
addq 0x8(%r15), %rcx
movq %rcx, 0x8(%r15)
movq %rdi, 0x10(%r15)
cmpq %rbp, %rax
jb 0x17ad2
cmpq %r13, %r12
je 0x17c9c
leaq 0x18(%r12), %rdi
cmpq %r13, %rdi
je 0x17ab8
movq 0x20(%r12), %rbp
jmp 0x17abf
movq $-0x1, %rbp
movq %rdi, %r12
cmpq %rbp, %rax
jae 0x17a9e
movq -0x18(%rdi), %r14
subq -0x10(%rdi), %r14
movq %rdi, %r12
addq %rdx, %rsi
cmpq %rbp, %rsi
ja 0x17a28
jmp 0x17ae5
movq 0x8(%rsp), %r14
addq %r14, %rax
movq %rax, (%r15)
movq 0x48(%rsp), %rdi
incq %rdi
cmpq 0x28(%rsp), %rdi
movq 0x60(%rsp), %r14
movq 0x58(%rsp), %rsi
jne 0x179b7
movq 0x78(%rsp), %rax
movq (%rax), %rdi
movq 0x68(%rsp), %rcx
movabsq $-0x5555555555555555, %r12 # imm = 0xAAAAAAAAAAAAAAAB
movq 0x68(%rcx), %rsi
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
testq %rdi, %rdi
je 0x17b3e
subq %rdi, %rsi
callq 0x4300
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
subq %rsi, %rdx
sarq $0x3, %rdx
imulq %r12, %rdx
movq 0x70(%rsp), %rdi
xorl %ecx, %ecx
callq *(%rdi)
movq 0x10(%rsp), %r15
movq 0x18(%rsp), %r14
movq 0x20(%rsp), %rsi
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movq $0x0, 0x20(%rsp)
testq %r15, %r15
je 0x17b8c
subq %r15, %rsi
movq %r15, %rdi
callq 0x4300
movq 0x68(%rsp), %rax
movq 0x40(%rax), %rsi
movq 0x48(%rax), %rdx
subq %rsi, %rdx
sarq $0x3, %rdx
imulq %r12, %rdx
movq 0x70(%rsp), %rdi
xorl %ecx, %ecx
callq *(%rdi)
movq %rax, %rbx
subq %r15, %r14
sarq $0x3, %r14
imulq %r12, %r14
movq 0x68(%rsp), %rcx
leaq 0x40(%rcx), %rax
addq 0x28(%rsp), %r14
movq 0x40(%rcx), %rdi
movq 0x48(%rcx), %r15
subq %rdi, %r15
sarq $0x3, %r15
imulq %r12, %r15
addq %r14, %r15
movq 0x50(%rcx), %rsi
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
testq %rdi, %rdi
je 0x17bfe
subq %rdi, %rsi
callq 0x4300
testq %r15, %r15
je 0x17c55
bsrq %r15, %rdx
xorl $0x3f, %edx
addl %edx, %edx
xorq $0x7e, %rdx
cmpb $0x0, 0x54(%rsp)
je 0x17c37
leaq (%r15,%r15,2), %rax
leaq (%rbx,%rax,4), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x19c8d
movq %rbx, %rdi
movq %r14, %rsi
callq 0x19d4c
jmp 0x17c55
leaq (%r15,%r15,2), %rax
leaq (%rbx,%rax,8), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1a25c
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1a31b
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x17c6c
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x10, %edi
callq 0x4190
movq %rax, %rbx
leaq 0x44aca(%rip), %rsi     # 0x5c75c
movq %rax, %rdi
callq 0x4110
jmp 0x17cf4
movl $0x10, %edi
callq 0x4190
movq %rax, %rbx
leaq 0x44aac(%rip), %rsi     # 0x5c75c
movq %rax, %rdi
callq 0x4110
jmp 0x17cf4
movl $0x10, %edi
callq 0x4190
movq %rax, %rbx
leaq 0x44a8e(%rip), %rsi     # 0x5c75c
movq %rax, %rdi
callq 0x4110
jmp 0x17cf4
movl $0x10, %edi
callq 0x4190
movq %rax, %rbx
leaq 0x44a70(%rip), %rsi     # 0x5c75c
movq %rax, %rdi
callq 0x4110
movq 0x642ed(%rip), %rsi     # 0x7bfe8
movq 0x642b6(%rip), %rdx     # 0x7bfb8
movq %rbx, %rdi
callq 0x4590
movl $0x10, %edi
callq 0x4190
movq %rax, %rbx
leaq 0x44a3e(%rip), %rsi     # 0x5c75c
movq %rax, %rdi
callq 0x4110
jmp 0x17cf4
movl $0x10, %edi
callq 0x4190
movq %rax, %rbx
leaq 0x44a20(%rip), %rsi     # 0x5c75c
movq %rax, %rdi
callq 0x4110
jmp 0x17cf4
movl $0x10, %edi
callq 0x4190
movq %rax, %rbx
leaq 0x44a02(%rip), %rsi     # 0x5c75c
movq %rax, %rdi
callq 0x4110
jmp 0x17cf4
movl $0x10, %edi
callq 0x4190
movq %rax, %rbx
leaq 0x449e4(%rip), %rsi     # 0x5c75c
movq %rax, %rdi
callq 0x4110
jmp 0x17cf4
jmp 0x17d9b
jmp 0x17d9b
jmp 0x17da8
jmp 0x17da8
jmp 0x17da8
jmp 0x17da8
jmp 0x17d9b
jmp 0x17d9b
jmp 0x17d9b
jmp 0x17d9b
jmp 0x17d9b
movq %rax, %r14
movq %rbx, %rdi
callq 0x4260
jmp 0x17dab
movq %rax, %r14
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x17dc2
movq 0x20(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq %r14, %rdi
callq 0x45e0