// File: /workspace/github_cpp_makefile_star2_O3/sisong[P]ApkDiffPatch/HDiffPatch/libHDiffPatch/HPatch/patch.c
// Function: packedCovers_open
static hpatch_BOOL _packedCovers_open(_TPackedCovers** out_self,
                                      _THDiffHead* out_diffHead,
                                      const hpatch_TStreamInput* serializedDiff,
                                      TByte* temp_cache,TByte* temp_cache_end){
    hpatch_size_t   cacheSize;
    _TPackedCovers* self=0;
    _cache_alloc(self,_TPackedCovers,sizeof(_TPackedCovers),temp_cache,temp_cache_end);
    cacheSize=(temp_cache_end-temp_cache)/3;
    {
        hpatch_StreamPos_t       diffPos0;
        if (!read_diff_head(out_diffHead,serializedDiff)) return _hpatch_FALSE;
        diffPos0=out_diffHead->headEndPos;
        _TStreamCacheClip_init(&self->code_lengthsClip,serializedDiff,diffPos0,
                               diffPos0+out_diffHead->lengthSize,temp_cache,cacheSize);
        temp_cache+=cacheSize;
        diffPos0+=out_diffHead->lengthSize;
        _TStreamCacheClip_init(&self->code_inc_newPosClip,serializedDiff,diffPos0,
                               diffPos0+out_diffHead->inc_newPosSize,temp_cache,cacheSize);
        temp_cache+=cacheSize;
        diffPos0+=out_diffHead->inc_newPosSize;
        _TStreamCacheClip_init(&self->code_inc_oldPosClip,serializedDiff,diffPos0,
                               diffPos0+out_diffHead->inc_oldPosSize,temp_cache,cacheSize);
    }
    
     _covers_init(&self->base,out_diffHead->coverCount,&self->code_inc_oldPosClip,
                  &self->code_inc_newPosClip,&self->code_lengthsClip,hpatch_FALSE);
    *out_self=self;
    return hpatch_TRUE;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %r8, %rax
subq %rcx, %rax
xorl %ebp, %ebp
cmpq $0xf0, %rax
jb 0x45dab
movq %r8, %r13
movq %rcx, %rbx
movq %rdx, %r12
movq %rsi, %r15
movq %rdi, %r14
movq %rsi, %rdi
movq %rdx, %rsi
callq 0x46e59
testl %eax, %eax
je 0x45dab
addq $0x7, %rbx
andq $-0x8, %rbx
leaq 0xe8(%rbx), %rcx
subq %rcx, %r13
movabsq $0x5555555555555556, %rdx # imm = 0x5555555555555556
movq %r13, %rax
imulq %rdx
movq 0x28(%r15), %rdi
movq 0x8(%r15), %rsi
addq %rdi, %rsi
jb 0x45dbc
testq %r12, %r12
je 0x45c73
movq 0x8(%r12), %rax
jmp 0x45c75
xorl %eax, %eax
cmpq %rsi, %rax
jb 0x45dbc
movq %rdx, %rax
shrq $0x3f, %rax
addq %rdx, %rax
movq %rdi, 0xb8(%rbx)
movq %rsi, 0xc0(%rbx)
movq %r12, 0xc8(%rbx)
movq %rcx, 0xd0(%rbx)
movq %rax, 0xd8(%rbx)
movq %rax, 0xe0(%rbx)
movq 0x10(%r15), %rdx
addq %rsi, %rdx
jb 0x45dbc
testq %r12, %r12
je 0x45ccb
movq 0x8(%r12), %rdi
jmp 0x45ccd
xorl %edi, %edi
cmpq %rdx, %rdi
jb 0x45dbc
addq %rax, %rcx
movq %rsi, 0x88(%rbx)
movq %rdx, 0x90(%rbx)
movq %r12, 0x98(%rbx)
movq %rcx, 0xa0(%rbx)
movq %rax, 0xa8(%rbx)
movq %rax, 0xb0(%rbx)
movq 0x18(%r15), %rsi
addq %rdx, %rsi
jb 0x45dbc
testq %r12, %r12
je 0x45d1c
movq 0x8(%r12), %rdi
jmp 0x45d1e
xorl %edi, %edi
cmpq %rsi, %rdi
jb 0x45dbc
leaq 0xb8(%rbx), %rdi
leaq 0x88(%rbx), %r8
addq %rax, %rcx
leaq 0x58(%rbx), %r9
movq %rdx, 0x58(%rbx)
movq %rsi, 0x60(%rbx)
movq %r12, 0x68(%rbx)
movq %rcx, 0x70(%rbx)
movq %rax, 0x78(%rbx)
movq %rax, 0x80(%rbx)
movq (%r15), %rax
leaq 0x175e(%rip), %rcx      # 0x474bf
movq %rcx, (%rbx)
leaq 0x1759(%rip), %rcx      # 0x474c4
movq %rcx, 0x8(%rbx)
leaq 0x185b(%rip), %rcx      # 0x475d1
movq %rcx, 0x10(%rbx)
leaq 0xf09(%rip), %rcx       # 0x46c8a
movq %rcx, 0x18(%rbx)
movq %rax, 0x20(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x28(%rbx)
movq %r9, 0x38(%rbx)
movq %r8, 0x40(%rbx)
movq %rdi, 0x48(%rbx)
movl $0x0, 0x50(%rbx)
movq %rbx, (%r14)
movl $0x1, %ebp
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1bd5c(%rip), %rdi     # 0x61b1f
leaq 0x1bda6(%rip), %rsi     # 0x61b70
leaq 0x1bdcf(%rip), %rcx     # 0x61ba0
movl $0x55, %edx
callq 0x4200