// File: /workspace/github_cpp_makefile_star2_O1/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, 0x3c(%rsp)
movq %rcx, %rbp
movq %rdx, %r15
movq %rsi, 0x68(%rsp)
movq %rdi, %rbx
movq 0x18(%rdi), %rdi
movq 0x20(%rbx), %rsi
leaq 0x58(%rbx), %rdx
movq %rdx, 0x78(%rsp)
callq 0x18076
movq 0x20(%rbx), %rax
movq %rax, 0x28(%rbx)
movq (%rbx), %rdi
movq 0x8(%rbx), %rsi
leaq 0x70(%rbx), %rdx
movq %rdx, 0x70(%rsp)
callq 0x18076
movq 0x8(%rbx), %rax
movq %rbx, 0x58(%rsp)
movq %rax, 0x10(%rbx)
xorps %xmm0, %xmm0
movaps %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rbp, %rbp
je 0x179f9
movq 0x58(%rsp), %rax
movq 0x70(%rax), %rbx
movq 0x78(%rax), %r14
cmpb $0x0, 0x3c(%rsp)
movq %r15, 0x40(%rsp)
je 0x1788e
cmpq %r14, %rbx
je 0x179f9
movq 0x8(%rbx), %r8
xorl %edi, %edi
movq $0x0, 0x60(%rsp)
leaq (%rdi,%rdi,2), %rcx
movl 0x4(%r15,%rcx,4), %eax
movq %rbx, %rdx
cmpq %rax, %r8
ja 0x1777d
cmpq %r14, %rdx
je 0x17fb7
leaq 0x18(%rdx), %rbx
cmpq %r14, %rbx
je 0x17761
movq 0x20(%rdx), %r8
jmp 0x17768
movq $-0x1, %r8
movq %rbx, %rdx
cmpq %rax, %r8
jbe 0x17749
movq -0x18(%rbx), %rdx
subq -0x10(%rbx), %rdx
movq %rdx, 0x60(%rsp)
movq %rdi, 0x48(%rsp)
leaq (%r15,%rcx,4), %r12
movl 0x8(%r12), %ecx
addq %rax, %rcx
movq 0x60(%rsp), %r15
movq %r8, %r13
movq %rbx, 0x50(%rsp)
movq %r8, 0x18(%rsp)
cmpq %r8, %rcx
jbe 0x17864
movl (%r12), %ecx
movq %rcx, 0x20(%rsp)
movl 0x4(%r12), %ecx
movq %r13, %rdx
subq %rax, %rdx
movq %rdx, 0x30(%rsp)
movl %r15d, %eax
addq %rcx, %rax
movq %rax, 0x28(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x177f2
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsi)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x18, 0x8(%rsp)
jmp 0x177ff
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0x16078
movl 0x30(%rsp), %edx
addl %edx, (%r12)
movl 0x4(%r12), %eax
addl %edx, %eax
movl %eax, 0x4(%r12)
movl 0x8(%r12), %ecx
subl %edx, %ecx
movl %ecx, 0x8(%r12)
cmpq %rax, %r13
ja 0x17856
cmpq %r14, %rbx
je 0x17f2b
leaq 0x18(%rbx), %rdx
cmpq %r14, %rdx
je 0x1783c
movq 0x20(%rbx), %r13
jmp 0x17843
movq $-0x1, %r13
movq %rdx, %rbx
cmpq %rax, %r13
jbe 0x17824
movq -0x18(%rdx), %r15
subq -0x10(%rdx), %r15
movq %rdx, %rbx
movl %ecx, %ecx
addq %rax, %rcx
cmpq %r13, %rcx
ja 0x177a9
addl %r15d, 0x4(%r12)
movq 0x48(%rsp), %rdi
incq %rdi
cmpq %rbp, %rdi
movq 0x40(%rsp), %r15
movq 0x50(%rsp), %rbx
movq 0x18(%rsp), %r8
jne 0x17738
jmp 0x179f9
cmpq %r14, %rbx
je 0x179f9
movq 0x8(%rbx), %r12
xorl %edi, %edi
movq $0x0, 0x18(%rsp)
movq %rbp, 0x80(%rsp)
leaq (%rdi,%rdi,2), %rcx
movq 0x8(%r15,%rcx,8), %rax
movq %rbx, %rdx
cmpq %r12, %rax
jb 0x178f3
cmpq %r14, %rdx
je 0x17fd5
leaq 0x18(%rdx), %rbx
cmpq %r14, %rbx
je 0x178d7
movq 0x20(%rdx), %r12
jmp 0x178de
movq $-0x1, %r12
movq %rbx, %rdx
cmpq %r12, %rax
jae 0x178bf
movq -0x18(%rbx), %rdx
subq -0x10(%rbx), %rdx
movq %rdx, 0x18(%rsp)
movq %rdi, 0x48(%rsp)
leaq (%r15,%rcx,8), %r15
movq 0x10(%r15), %rcx
addq %rax, %rcx
movq 0x18(%rsp), %r13
movq %rbx, %rbp
movq %r12, %rbx
movq %rbp, 0x50(%rsp)
cmpq %r12, %rcx
jbe 0x179d2
movq (%r15), %rcx
movq %rcx, 0x20(%rsp)
movq %rbx, %rcx
subq %rax, %rcx
movq 0x8(%r15), %rax
addq %r13, %rax
movq %rcx, 0x30(%rsp)
movq %rax, 0x28(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x17960
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsi)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x18, 0x8(%rsp)
jmp 0x1796d
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0x16078
movq 0x30(%rsp), %rsi
addq %rsi, (%r15)
movq 0x8(%r15), %rcx
movq 0x10(%r15), %rdx
leaq (%rcx,%rsi), %rax
movq %rax, 0x8(%r15)
movq %rdx, %rdi
subq %rsi, %rdi
movq %rdi, 0x10(%r15)
cmpq %rbx, %rax
jb 0x179c6
cmpq %r14, %rbp
je 0x17f49
leaq 0x18(%rbp), %rsi
cmpq %r14, %rsi
je 0x179ac
movq 0x20(%rbp), %rbx
jmp 0x179b3
movq $-0x1, %rbx
movq %rsi, %rbp
cmpq %rbx, %rax
jae 0x17994
movq -0x18(%rsi), %r13
subq -0x10(%rsi), %r13
movq %rsi, %rbp
addq %rcx, %rdx
cmpq %rbx, %rdx
ja 0x1791c
addq %r13, 0x8(%r15)
movq 0x48(%rsp), %rdi
incq %rdi
movq 0x80(%rsp), %rbp
cmpq %rbp, %rdi
movq 0x40(%rsp), %r15
movq 0x50(%rsp), %rbx
jne 0x178ae
movq 0x58(%rsp), %rax
movq 0x70(%rax), %rdi
movq 0x80(%rax), %rsi
movq 0x70(%rsp), %rax
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
testq %rdi, %rdi
je 0x17a29
subq %rdi, %rsi
callq 0x4300
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
subq %rsi, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rbx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rbx, %rdx
movq 0x68(%rsp), %rdi
xorl %ecx, %ecx
callq *(%rdi)
movq %rax, %r15
movq 0x8(%rsp), %rax
subq (%rsp), %rax
sarq $0x3, %rax
imulq %rbx, %rax
addq %rbp, %rax
movq %rax, 0x40(%rsp)
je 0x17ac1
movq 0x40(%rsp), %rax
bsrq %rax, %rdx
xorl $0x3f, %edx
addl %edx, %edx
xorq $0x7e, %rdx
leaq (%rax,%rax,2), %rax
cmpb $0x0, 0x3c(%rsp)
je 0x17aa7
leaq (%r15,%rax,4), %rbx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x19394
movq %r15, %rdi
movq %rbx, %rsi
callq 0x19453
jmp 0x17ac1
leaq (%r15,%rax,8), %rbx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x19954
movq %r15, %rdi
movq %rbx, %rsi
callq 0x19a13
movq (%rsp), %rax
cmpq %rax, 0x8(%rsp)
je 0x17ad1
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x40(%rsp)
je 0x17db8
movq 0x58(%rsp), %rax
movq 0x58(%rax), %rsi
movq 0x60(%rax), %rbp
cmpb $0x0, 0x3c(%rsp)
je 0x17c54
cmpq %rbp, %rsi
je 0x17db8
movq 0x8(%rsi), %r8
xorl %edi, %edi
movq $0x0, 0x60(%rsp)
leaq (%rdi,%rdi,2), %rcx
movl (%r15,%rcx,4), %eax
movq %rsi, %rdx
cmpq %rax, %r8
ja 0x17b51
cmpq %rbp, %rdx
je 0x17ff3
leaq 0x18(%rdx), %rsi
cmpq %rbp, %rsi
je 0x17b35
movq 0x20(%rdx), %r8
jmp 0x17b3c
movq $-0x1, %r8
movq %rsi, %rdx
cmpq %rax, %r8
jbe 0x17b1d
movq -0x18(%rsi), %rdx
subq -0x10(%rsi), %rdx
movq %rdx, 0x60(%rsp)
movq %rdi, 0x48(%rsp)
movq %rsi, %r14
leaq (%r15,%rcx,4), %rbx
movl 0x8(%rbx), %ecx
addq %rax, %rcx
movq 0x60(%rsp), %r12
movq %r8, %r13
movq %rsi, 0x50(%rsp)
movq %r8, 0x18(%rsp)
cmpq %r8, %rcx
jbe 0x17c2f
movl (%rbx), %ecx
movq %rcx, 0x20(%rsp)
movl 0x4(%rbx), %edx
movq %rdx, 0x28(%rsp)
movq %r13, %rdx
subq %rax, %rdx
movq %rdx, 0x30(%rsp)
movl %r12d, %eax
addq %rcx, %rax
movq %rax, 0x20(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x17bc8
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsi)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x18, 0x8(%rsp)
jmp 0x17bd5
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0x16078
movl 0x30(%rsp), %edx
movl (%rbx), %eax
addl %edx, %eax
movl %eax, (%rbx)
addl %edx, 0x4(%rbx)
movl 0x8(%rbx), %ecx
subl %edx, %ecx
movl %ecx, 0x8(%rbx)
cmpq %rax, %r13
ja 0x17c21
cmpq %rbp, %r14
je 0x17f67
leaq 0x18(%r14), %rdx
cmpq %rbp, %rdx
je 0x17c07
movq 0x20(%r14), %r13
jmp 0x17c0e
movq $-0x1, %r13
movq %rdx, %r14
cmpq %rax, %r13
jbe 0x17bef
movq -0x18(%rdx), %r12
subq -0x10(%rdx), %r12
movq %rdx, %r14
movl %ecx, %ecx
addq %rax, %rcx
cmpq %r13, %rcx
ja 0x17b7e
addl %r12d, (%rbx)
movq 0x48(%rsp), %rdi
incq %rdi
cmpq 0x40(%rsp), %rdi
movq 0x50(%rsp), %rsi
movq 0x18(%rsp), %r8
jne 0x17b0d
jmp 0x17db8
cmpq %rbp, %rsi
je 0x17db8
movq 0x8(%rsi), %r14
xorl %edi, %edi
movq $0x0, 0x18(%rsp)
movq %r15, 0x70(%rsp)
leaq (%rdi,%rdi,2), %rcx
movq (%r15,%rcx,8), %rax
movq %rsi, %rdx
cmpq %r14, %rax
jb 0x17cb5
cmpq %rbp, %rdx
je 0x18011
leaq 0x18(%rdx), %rsi
cmpq %rbp, %rsi
je 0x17c99
movq 0x20(%rdx), %r14
jmp 0x17ca0
movq $-0x1, %r14
movq %rsi, %rdx
cmpq %r14, %rax
jae 0x17c81
movq -0x18(%rsi), %rdx
subq -0x10(%rsi), %rdx
movq %rdx, 0x18(%rsp)
movq %rdi, 0x48(%rsp)
leaq (%r15,%rcx,8), %rbx
movq 0x10(%rbx), %rcx
addq %rax, %rcx
movq 0x18(%rsp), %r12
movq %r14, %r13
movq %rsi, 0x50(%rsp)
movq %rsi, %r15
cmpq %r14, %rcx
jbe 0x17d98
movq (%rbx), %rcx
movq %rcx, 0x20(%rsp)
movq 0x8(%rbx), %rdx
movq %rdx, 0x28(%rsp)
movq %r13, %rdx
subq %rax, %rdx
movq %rdx, 0x30(%rsp)
addq %r12, %rcx
movq %rcx, 0x20(%rsp)
movq 0x8(%rsp), %rsi
cmpq 0x10(%rsp), %rsi
je 0x17d27
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsi)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x18, 0x8(%rsp)
jmp 0x17d34
movq %rsp, %rdi
leaq 0x20(%rsp), %rdx
callq 0x16078
movq 0x30(%rsp), %rsi
movq (%rbx), %rcx
movq 0x10(%rbx), %rdx
leaq (%rcx,%rsi), %rax
movq %rax, (%rbx)
addq %rsi, 0x8(%rbx)
movq %rdx, %rdi
subq %rsi, %rdi
movq %rdi, 0x10(%rbx)
cmpq %r13, %rax
jb 0x17d8c
cmpq %rbp, %r15
je 0x17f85
leaq 0x18(%r15), %rsi
cmpq %rbp, %rsi
je 0x17d72
movq 0x20(%r15), %r13
jmp 0x17d79
movq $-0x1, %r13
movq %rsi, %r15
cmpq %r13, %rax
jae 0x17d5a
movq -0x18(%rsi), %r12
subq -0x10(%rsi), %r12
movq %rsi, %r15
addq %rcx, %rdx
cmpq %r13, %rdx
ja 0x17cde
addq %r12, (%rbx)
movq 0x48(%rsp), %rdi
incq %rdi
cmpq 0x40(%rsp), %rdi
movq 0x70(%rsp), %r15
movq 0x50(%rsp), %rsi
jne 0x17c71
movq 0x58(%rsp), %rax
movq 0x58(%rax), %rdi
movq 0x68(%rax), %rsi
xorps %xmm0, %xmm0
movq 0x78(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
testq %rdi, %rdi
je 0x17de5
subq %rdi, %rsi
callq 0x4300
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
subq %rsi, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %r12 # imm = 0xAAAAAAAAAAAAAAAB
imulq %r12, %rdx
movq 0x68(%rsp), %rdi
xorl %ecx, %ecx
callq *(%rdi)
movq (%rsp), %r15
movq 0x8(%rsp), %r14
movq 0x10(%rsp), %rsi
xorps %xmm0, %xmm0
movaps %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %r15, %r15
je 0x17e3a
subq %r15, %rsi
movq %r15, %rdi
callq 0x4300
movq 0x58(%rsp), %rax
movq 0x40(%rax), %rsi
movq 0x48(%rax), %rdx
subq %rsi, %rdx
sarq $0x3, %rdx
imulq %r12, %rdx
movq 0x68(%rsp), %rdi
xorl %ecx, %ecx
callq *(%rdi)
movq %rax, %rbx
subq %r15, %r14
sarq $0x3, %r14
imulq %r12, %r14
movq 0x58(%rsp), %rcx
leaq 0x40(%rcx), %rax
addq 0x40(%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 0x17eac
subq %rdi, %rsi
callq 0x4300
testq %r15, %r15
je 0x17f03
bsrq %r15, %rdx
xorl $0x3f, %edx
addl %edx, %edx
xorq $0x7e, %rdx
cmpb $0x0, 0x3c(%rsp)
je 0x17ee5
leaq (%r15,%r15,2), %rax
leaq (%rbx,%rax,4), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x19f87
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1a046
jmp 0x17f03
leaq (%r15,%r15,2), %rax
leaq (%rbx,%rax,8), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1a557
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1a616
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x17f19
movq 0x10(%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 0x44838(%rip), %rsi     # 0x5c777
movq %rax, %rdi
callq 0x4110
jmp 0x17fa1
movl $0x10, %edi
callq 0x4190
movq %rax, %rbx
leaq 0x4481a(%rip), %rsi     # 0x5c777
movq %rax, %rdi
callq 0x4110
jmp 0x17fa1
movl $0x10, %edi
callq 0x4190
movq %rax, %rbx
leaq 0x447fc(%rip), %rsi     # 0x5c777
movq %rax, %rdi
callq 0x4110
jmp 0x17fa1
movl $0x10, %edi
callq 0x4190
movq %rax, %rbx
leaq 0x447de(%rip), %rsi     # 0x5c777
movq %rax, %rdi
callq 0x4110
movq 0x64040(%rip), %rsi     # 0x7bfe8
movq 0x64009(%rip), %rdx     # 0x7bfb8
movq %rbx, %rdi
callq 0x4590
movl $0x10, %edi
callq 0x4190
movq %rax, %rbx
leaq 0x447ac(%rip), %rsi     # 0x5c777
movq %rax, %rdi
callq 0x4110
jmp 0x17fa1
movl $0x10, %edi
callq 0x4190
movq %rax, %rbx
leaq 0x4478e(%rip), %rsi     # 0x5c777
movq %rax, %rdi
callq 0x4110
jmp 0x17fa1
movl $0x10, %edi
callq 0x4190
movq %rax, %rbx
leaq 0x44770(%rip), %rsi     # 0x5c777
movq %rax, %rdi
callq 0x4110
jmp 0x17fa1
movl $0x10, %edi
callq 0x4190
movq %rax, %rbx
leaq 0x44752(%rip), %rsi     # 0x5c777
movq %rax, %rdi
callq 0x4110
jmp 0x17fa1
jmp 0x18055
jmp 0x18055
jmp 0x18055
jmp 0x18055
jmp 0x18048
jmp 0x18048
jmp 0x18048
jmp 0x18048
jmp 0x18048
jmp 0x18048
jmp 0x18048
movq %rax, %r14
movq %rbx, %rdi
callq 0x4260
jmp 0x18058
movq %rax, %r14
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1806e
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq %r14, %rdi
callq 0x45e0