// File: sisong[P]ApkDiffPatch/HDiffPatch/libHDiffPatch/HDiff/diff.cpp
// Function: (anonymous namespace)::TDiffInsertCover::_insertCover(void const*, unsigned long, bool)
void* _insertCover(const void* pInsertCovers,size_t insertCoverCount,bool insertIsCover32){
        const bool isCover32=sizeof(*covers.data())==sizeof(hpatch_TCover32);
        if (insertIsCover32==isCover32){
            covers.insert(covers.end(),(const TOldCover*)pInsertCovers,
                          ((const TOldCover*)pInsertCovers)+insertCoverCount);
        }else{
            size_t oldSize=covers.size();
            covers.resize(oldSize +insertCoverCount);
            for (size_t i=0;i<insertCoverCount;i++){
                if (insertIsCover32){
                    const hpatch_TCover32& s=((const hpatch_TCover32*)pInsertCovers)[i];
                    covers[oldSize+i]=TOldCover((TInt)s.oldPos,(TInt)s.newPos,(TInt)s.length);
                }else{
                    const hpatch_TCover& s=((const hpatch_TCover*)pInsertCovers)[i];
                    covers[oldSize+i]=TOldCover((TInt)s.oldPos,(TInt)s.newPos,(TInt)s.length);
                }
            }
        }
        return covers.data();
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movb %cl, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
andb $0x1, %al
movb %al, -0x19(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x90(%rbp)
movb $0x0, -0x1a(%rbp)
movb -0x19(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x275ff
movq -0x90(%rbp), %rax
movq 0x8(%rax), %rcx
movq %rcx, -0x98(%rbp)
movq 0x8(%rax), %rdi
callq 0x1edf0
movq %rax, -0x30(%rbp)
leaq -0x28(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x1ee20
movq -0x98(%rbp), %rdi
movq -0x10(%rbp), %rdx
movq -0x10(%rbp), %rcx
imulq $0x18, -0x18(%rbp), %rax
addq %rax, %rcx
movq -0x28(%rbp), %rsi
callq 0x27750
movq %rax, -0x38(%rbp)
jmp 0x27728
movq -0x90(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x1a300
movq %rax, %rcx
movq -0x90(%rbp), %rax
movq %rcx, -0x40(%rbp)
movq 0x8(%rax), %rdi
movq -0x40(%rbp), %rsi
addq -0x18(%rbp), %rsi
callq 0x1e9f0
movq $0x0, -0x48(%rbp)
movq -0x48(%rbp), %rax
cmpq -0x18(%rbp), %rax
jae 0x27726
testb $0x1, -0x19(%rbp)
je 0x276ae
movq -0x10(%rbp), %rax
imulq $0xc, -0x48(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movl (%rax), %eax
movl %eax, %esi
movq -0x50(%rbp), %rax
movl 0x4(%rax), %eax
movl %eax, %edx
movq -0x50(%rbp), %rax
movl 0x8(%rax), %eax
movl %eax, %ecx
leaq -0x68(%rbp), %rdi
callq 0x1cc20
movq -0x90(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x40(%rbp), %rsi
addq -0x48(%rbp), %rsi
callq 0x1fb50
movq -0x68(%rbp), %rcx
movq %rcx, (%rax)
movq -0x60(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x58(%rbp), %rcx
movq %rcx, 0x10(%rax)
jmp 0x27713
movq -0x10(%rbp), %rax
imulq $0x18, -0x48(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq (%rax), %rsi
movq -0x70(%rbp), %rax
movq 0x8(%rax), %rdx
movq -0x70(%rbp), %rax
movq 0x10(%rax), %rcx
leaq -0x88(%rbp), %rdi
callq 0x1cc20
movq -0x90(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x40(%rbp), %rsi
addq -0x48(%rbp), %rsi
callq 0x1fb50
movq -0x88(%rbp), %rcx
movq %rcx, (%rax)
movq -0x80(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x78(%rbp), %rcx
movq %rcx, 0x10(%rax)
jmp 0x27715
movq -0x48(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x48(%rbp)
jmp 0x27636
jmp 0x27728
movq -0x90(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x1a2e0
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)