// File: /workspace/github_cpp_makefile_star2_O1/sisong[P]ApkDiffPatch/HDiffPatch/libHDiffPatch/HDiff/diff.cpp
// Function: (anonymous namespace)::serialize_compressed_diff((anonymous namespace)::TDiffData const&, std::vector<(anonymous namespace)::TOldCover, std::allocator<(anonymous namespace)::TOldCover>>&, std::vector<unsigned char, std::allocator<unsigned char>>&, hdiff_TCompress const*)
static void serialize_compressed_diff(const TDiffData& diff,std::vector<TOldCover>& covers,std::vector<TByte>& out_diff,
                                      const hdiff_TCompress* compressPlugin){
    const TUInt coverCount=(TUInt)covers.size();
    std::vector<TByte> cover_buf;
    {
        TInt lastOldEnd=0;
        TInt lastNewEnd=0;
        for (TUInt i=0; i<coverCount; ++i) {
            if (covers[i].oldPos>=lastOldEnd){ //save inc_oldPos
                packUIntWithTag(cover_buf,(TUInt)(covers[i].oldPos-lastOldEnd), 0, 1);
            }else{
                packUIntWithTag(cover_buf,(TUInt)(lastOldEnd-covers[i].oldPos), 1, 1);//sub safe
            }
            assert(covers[i].newPos>=lastNewEnd);
            packUInt(cover_buf,(TUInt)(covers[i].newPos-lastNewEnd)); //save inc_newPos
            packUInt(cover_buf,(TUInt)covers[i].length);
            lastOldEnd=covers[i].oldPos+covers[i].length;//! +length
            lastNewEnd=covers[i].newPos+covers[i].length;
        }
    }
    
    std::vector<TByte> rle_ctrlBuf;
    std::vector<TByte> rle_codeBuf;
    {
        const TCovers _covers((void*)covers.data(),covers.size(),
                              sizeof(*covers.data())==sizeof(hpatch_TCover32));
        TNewDataSubDiffStream_mem newDataSubDiff(diff.newData,diff.newData_end,
                                                 diff.oldData,diff.oldData_end,_covers);
        bytesRLE_save(rle_ctrlBuf,rle_codeBuf,&newDataSubDiff,kRle_bestSize);
    }
    
    std::vector<TByte> compress_cover_buf;
    std::vector<TByte> compress_rle_ctrlBuf;
    std::vector<TByte> compress_rle_codeBuf;
    std::vector<TByte> compress_newDataDiff;
    do_compress(compress_cover_buf,cover_buf,compressPlugin);
    do_compress(compress_rle_ctrlBuf,rle_ctrlBuf,compressPlugin);
    do_compress(compress_rle_codeBuf,rle_codeBuf,compressPlugin);
    
    const TCovers _covers((void*)covers.data(),covers.size(),
                          sizeof(*covers.data())==sizeof(hpatch_TCover32));
    hpatch_TStreamInput _newDataStream;
    mem_as_hStreamInput(&_newDataStream,diff.newData,diff.newData_end);
    TNewDataDiffStream newDataDiffStream(_covers,&_newDataStream);
    do_compress(compress_newDataDiff,&newDataDiffStream,compressPlugin);

    _outType(out_diff,compressPlugin);
    const TUInt newDataSize=(size_t)(diff.newData_end-diff.newData);
    const TUInt oldDataSize=(size_t)(diff.oldData_end-diff.oldData);
    packUInt(out_diff, newDataSize);
    packUInt(out_diff, oldDataSize);
    packUInt(out_diff, coverCount);
    packUInt(out_diff, (TUInt)cover_buf.size());
    packUInt(out_diff, (TUInt)compress_cover_buf.size());
    packUInt(out_diff, (TUInt)rle_ctrlBuf.size());
    packUInt(out_diff, (TUInt)compress_rle_ctrlBuf.size());
    packUInt(out_diff, (TUInt)rle_codeBuf.size());
    packUInt(out_diff, (TUInt)compress_rle_codeBuf.size());
    packUInt(out_diff, newDataDiffStream.streamSize);
    packUInt(out_diff, (TUInt)compress_newDataDiff.size());
            
    pushCompressCode(out_diff,compress_cover_buf,cover_buf);
    pushCompressCode(out_diff,compress_rle_ctrlBuf,rle_ctrlBuf);
    pushCompressCode(out_diff,compress_rle_codeBuf,rle_codeBuf);
    pushCompressCode(out_diff,compress_newDataDiff,&newDataDiffStream);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x228, %rsp            # imm = 0x228
movq %rcx, 0x138(%rsp)
movq %rdx, 0x130(%rsp)
movq %rsi, %r13
movq %rdi, 0x140(%rsp)
movq 0x8(%rsi), %rax
movq (%rsi), %rcx
movq %rax, %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
movq %rdx, 0x128(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
cmpq %rcx, %rax
je 0xea89
movq 0x128(%rsp), %r14
cmpq $0x1, %r14
adcq $0x0, %r14
xorl %r15d, %r15d
leaq 0x148(%rsp), %rbp
leaq 0x20(%rsp), %rbx
xorl %edx, %edx
xorl %r12d, %r12d
movq (%r13), %rax
movq (%rax,%r15), %rcx
movq %rcx, %rax
subq %rdx, %rax
jge 0xe980
subq %rcx, %rdx
movq %rbp, 0x100(%rsp)
leaq 0x100(%rsp), %rdi
leaq 0x153(%rsp), %rsi
movl $0x1, %ecx
movl $0x1, %r8d
callq 0x437d8
testl %eax, %eax
je 0xf1c9
movq 0x28(%rsp), %rsi
movq 0x100(%rsp), %rcx
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x9e84
jmp 0xe9c8
movq %rbp, 0x100(%rsp)
leaq 0x100(%rsp), %rdi
leaq 0x153(%rsp), %rsi
movq %rax, %rdx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x437d8
testl %eax, %eax
je 0xf1e7
movq 0x28(%rsp), %rsi
movq 0x100(%rsp), %rcx
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x9e84
movq (%r13), %rax
movq 0x8(%rax,%r15), %rdx
subq %r12, %rdx
jl 0xf16e
movq %rbp, 0x100(%rsp)
leaq 0x100(%rsp), %rdi
leaq 0x153(%rsp), %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x437d8
testl %eax, %eax
je 0xf18d
movq 0x28(%rsp), %rsi
movq 0x100(%rsp), %rcx
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x9e84
movq (%r13), %rax
movq 0x10(%rax,%r15), %rdx
movq %rbp, 0x100(%rsp)
leaq 0x100(%rsp), %rdi
leaq 0x153(%rsp), %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x437d8
testl %eax, %eax
je 0xf1ab
movq 0x28(%rsp), %rsi
movq 0x100(%rsp), %rcx
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x9e84
movq (%r13), %rax
movq 0x10(%rax,%r15), %r12
movq (%rax,%r15), %rdx
addq %r12, %rdx
addq 0x8(%rax,%r15), %r12
addq $0x18, %r15
decq %r14
jne 0xe923
xorps %xmm0, %xmm0
movaps %xmm0, 0x60(%rsp)
xorl %eax, %eax
movq %rax, 0x70(%rsp)
movq %rax, 0x50(%rsp)
movaps %xmm0, 0x40(%rsp)
movq (%r13), %rcx
movq 0x8(%r13), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %r12 # imm = 0xAAAAAAAAAAAAAAAB
imulq %r12, %rdx
leaq 0x100(%rsp), %r14
movq %rcx, 0x10(%r14)
movq %rdx, 0x18(%r14)
movb $0x0, 0x20(%r14)
movq %rax, (%r14)
movq 0x140(%rsp), %rbp
movq (%rbp), %rsi
movq 0x8(%rbp), %rdx
movq 0x10(%rbp), %rcx
movq 0x18(%rbp), %r8
leaq 0x148(%rsp), %rdi
movq %r14, %r9
pushq %rax
pushq %rax
callq 0x2431e
addq $0x10, %rsp
leaq 0x60(%rsp), %rdi
leaq 0x40(%rsp), %rsi
leaq 0x148(%rsp), %rdx
movl $0x1, %ecx
callq 0x1ad70
movq 0x178(%rsp), %rax
cmpq 0x150(%rsp), %rax
jne 0xf219
movq 0x1b0(%rsp), %rdi
testq %rdi, %rdi
movq 0x138(%rsp), %r15
je 0xeb67
leaq 0x1b0(%rsp), %rbx
callq 0x43b0
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
xorl %eax, %eax
movq %rax, 0xf0(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0xe0(%rsp)
movq %rax, 0xd0(%rsp)
movaps %xmm0, 0xc0(%rsp)
movq %rax, 0xb0(%rsp)
movaps %xmm0, 0xa0(%rsp)
movq %rax, 0x90(%rsp)
movaps %xmm0, 0x80(%rsp)
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
leaq 0x148(%rsp), %rdi
callq 0x4392d
leaq 0xe0(%rsp), %rdi
leaq 0x148(%rsp), %rsi
movq %r15, %rdx
xorl %ecx, %ecx
callq 0x26172
movq 0x60(%rsp), %rsi
movq 0x68(%rsp), %rdx
leaq 0x148(%rsp), %rdi
callq 0x4392d
leaq 0xc0(%rsp), %rdi
leaq 0x148(%rsp), %rsi
movq %r15, %rdx
xorl %ecx, %ecx
callq 0x26172
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
leaq 0x148(%rsp), %rdi
callq 0x4392d
leaq 0xa0(%rsp), %rdi
leaq 0x148(%rsp), %rsi
movq %r15, %rdx
xorl %ecx, %ecx
callq 0x26172
movq (%r13), %rax
movq 0x8(%r13), %rcx
subq %rax, %rcx
sarq $0x3, %rcx
imulq %r12, %rcx
movq %rax, 0x110(%rsp)
movq %rcx, 0x118(%rsp)
movb $0x0, 0x120(%rsp)
movq $0x0, 0x100(%rsp)
movq (%rbp), %rsi
movq 0x8(%rbp), %rdx
leaq 0x208(%rsp), %rbx
movq %rbx, %rdi
callq 0x4392d
movq %r14, 0x168(%rsp)
movq %rbx, 0x170(%rsp)
movq 0x210(%rsp), %rsi
movq %r14, %rdi
callq 0x23e44
movq 0x130(%rsp), %r12
leaq 0x148(%rsp), %rdi
movq %rax, %rsi
callq 0x23b34
leaq 0x80(%rsp), %rdi
leaq 0x148(%rsp), %rsi
movq %r15, %rdx
xorl %ecx, %ecx
callq 0x26172
leaq 0x4d64e(%rip), %rdx     # 0x5c335
movq %r12, %rdi
movq %r15, %rsi
callq 0x10c65
movq 0x8(%rbp), %rdx
movq 0x10(%rbp), %r15
subq (%rbp), %rdx
movq 0x18(%rbp), %rbx
leaq 0x15(%rsp), %rax
leaq 0x8(%rsp), %rdi
movq %rax, (%rdi)
leaq 0x20(%rsp), %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x437d8
testl %eax, %eax
je 0xf238
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %r14
movq %r12, %rdi
movq %r14, %rdx
callq 0x9e84
subq %r15, %rbx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x20(%rsp), %rsi
movq %rbx, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x437d8
testl %eax, %eax
je 0xf259
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9e84
leaq 0x8(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x20(%rsp), %rsi
movq 0x128(%rsp), %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x437d8
testl %eax, %eax
je 0xf27a
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9e84
movq 0x28(%rsp), %rdx
subq 0x20(%rsp), %rdx
leaq 0x8(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x20(%rsp), %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x437d8
testl %eax, %eax
je 0xf29b
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9e84
movq 0xe8(%rsp), %rdx
subq 0xe0(%rsp), %rdx
leaq 0x8(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x20(%rsp), %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x437d8
testl %eax, %eax
je 0xf2bc
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9e84
movq 0x68(%rsp), %rdx
subq 0x60(%rsp), %rdx
leaq 0x8(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x20(%rsp), %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x437d8
testl %eax, %eax
je 0xf2dd
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9e84
movq 0xc8(%rsp), %rdx
subq 0xc0(%rsp), %rdx
leaq 0x8(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x20(%rsp), %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x437d8
testl %eax, %eax
je 0xf2fe
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9e84
movq 0x48(%rsp), %rdx
subq 0x40(%rsp), %rdx
leaq 0x8(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x20(%rsp), %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x437d8
testl %eax, %eax
je 0xf31c
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9e84
movq 0xa8(%rsp), %rdx
subq 0xa0(%rsp), %rdx
leaq 0x8(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x20(%rsp), %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x437d8
testl %eax, %eax
je 0xf33a
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9e84
movq 0x150(%rsp), %rdx
leaq 0x8(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x20(%rsp), %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x437d8
testl %eax, %eax
je 0xf358
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9e84
movq 0x88(%rsp), %rdx
subq 0x80(%rsp), %rdx
leaq 0x8(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x20(%rsp), %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x437d8
testl %eax, %eax
je 0xf376
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rdx
movq %r12, %rdi
callq 0x9e84
movq 0xe0(%rsp), %rdx
movq 0xe8(%rsp), %rcx
movq 0x8(%r12), %rsi
cmpq %rcx, %rdx
jne 0xf00f
movq 0x20(%rsp), %rdx
movq 0x28(%rsp), %rcx
movq %r12, %rdi
callq 0xa244
movq 0xc0(%rsp), %rdx
movq 0xc8(%rsp), %rcx
movq 0x8(%r12), %rsi
cmpq %rcx, %rdx
jne 0xf03b
movq 0x60(%rsp), %rdx
movq 0x68(%rsp), %rcx
movq %r12, %rdi
callq 0xa244
movq 0xa0(%rsp), %rdx
movq 0xa8(%rsp), %rcx
movq 0x8(%r12), %rsi
cmpq %rcx, %rdx
jne 0xf067
movq 0x40(%rsp), %rdx
movq 0x48(%rsp), %rcx
movq %r12, %rdi
callq 0xa244
movq 0x80(%rsp), %rdx
movq 0x88(%rsp), %rcx
cmpq %rcx, %rdx
je 0xf093
movq 0x8(%r12), %rsi
movq %r12, %rdi
callq 0xa244
jmp 0xf0a3
leaq 0x148(%rsp), %rsi
movq %r12, %rdi
callq 0x155bc
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0xf0c0
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0xa0(%rsp), %rdi
testq %rdi, %rdi
je 0xf0dd
movq 0xb0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0xf0fa
movq 0xd0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0xe0(%rsp), %rdi
testq %rdi, %rdi
je 0xf117
movq 0xf0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0xf12e
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0xf145
movq 0x70(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0xf15c
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
addq $0x228, %rsp            # imm = 0x228
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x4cf6d(%rip), %rdi     # 0x5c0e2
leaq 0x4c7bb(%rip), %rsi     # 0x5b937
leaq 0x4d0c3(%rip), %rcx     # 0x5c246
movl $0x29d, %edx            # imm = 0x29D
callq 0x4200
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b25f(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf203
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b241(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf203
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b223(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf203
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b205(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
movq 0x6cdde(%rip), %rsi     # 0x7bfe8
movq 0x6cda7(%rip), %rdx     # 0x7bfb8
movq %r14, %rdi
callq 0x4590
leaq 0x4cf82(%rip), %rdi     # 0x5c1a2
leaq 0x4cf92(%rip), %rsi     # 0x5c1b9
leaq 0x4cfd9(%rip), %rcx     # 0x5c207
movl $0x3d, %edx
callq 0x4200
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b1b4(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf392
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b193(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf392
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b172(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf392
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b151(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf392
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b130(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf392
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b10f(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf392
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b0ee(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf392
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b0d0(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf392
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b0b2(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf392
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b094(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf392
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b076(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
movq 0x6cc4f(%rip), %rsi     # 0x7bfe8
movq 0x6cc18(%rip), %rdx     # 0x7bfb8
movq %r14, %rdi
callq 0x4590
jmp 0xf3bc
jmp 0xf3bc
jmp 0xf3bc
jmp 0xf3bc
jmp 0xf3bc
jmp 0xf3bc
jmp 0xf3bc
jmp 0xf3bc
jmp 0xf3bc
jmp 0xf3bc
movq %rax, %rbx
movq %r14, %rdi
callq 0x4260
jmp 0xf40a
jmp 0xf407
movq %rax, %rbx
leaq 0x148(%rsp), %rdi
callq 0x1592c
jmp 0xf47e
movq %rax, %rbx
jmp 0xf47e
jmp 0xf407
jmp 0xf3f2
jmp 0xf3f2
jmp 0xf407
jmp 0xf3f2
movq %rax, %rbx
movq %r14, %rdi
callq 0x4260
jmp 0xf4b1
jmp 0xf4ae
movq %rax, %rbx
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0xf427
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0xa0(%rsp), %rdi
testq %rdi, %rdi
je 0xf444
movq 0xb0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0xf461
movq 0xd0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0xe0(%rsp), %rdi
testq %rdi, %rdi
je 0xf47e
movq 0xf0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0xf495
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0xf4b1
movq 0x70(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
jmp 0xf4b1
movq %rax, %rbx
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0xf4c8
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq %rbx, %rdi
callq 0x45e0