// File: /workspace/github_cpp_makefile_star2_O3/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, %r14
movq %rdx, %r12
movq %rsi, %r13
movq %rdi, %r15
movq (%rsi), %rax
movq 0x8(%rsi), %rcx
movq %rcx, %rbp
subq %rax, %rbp
sarq $0x3, %rbp
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rbp
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
cmpq %rax, %rcx
je 0xe775
movq %r14, 0x128(%rsp)
movq %r15, 0x130(%rsp)
movq %r12, 0x140(%rsp)
cmpq $0x1, %rbp
movq %rbp, 0x138(%rsp)
movq %rbp, %r14
adcq $0x0, %r14
xorl %r15d, %r15d
leaq 0x148(%rsp), %rbp
leaq 0x20(%rsp), %rbx
xorl %edx, %edx
xorl %r12d, %r12d
movq (%rax,%r15), %rcx
movq %rcx, %rax
subq %rdx, %rax
jge 0xe643
subq %rcx, %rdx
movq %rbp, 0x100(%rsp)
leaq 0x100(%rsp), %rdi
leaq 0x153(%rsp), %rsi
movl $0x1, %ecx
movl $0x1, %r8d
callq 0x43254
testl %eax, %eax
je 0xee89
movq 0x28(%rsp), %rsi
movq 0x100(%rsp), %rcx
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x9c50
jmp 0xe68b
movq %rbp, 0x100(%rsp)
leaq 0x100(%rsp), %rdi
leaq 0x153(%rsp), %rsi
movq %rax, %rdx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x43254
testl %eax, %eax
je 0xeea7
movq 0x28(%rsp), %rsi
movq 0x100(%rsp), %rcx
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x9c50
movq (%r13), %rax
movq 0x8(%rax,%r15), %rdx
subq %r12, %rdx
jl 0xee4c
movq %rbp, 0x100(%rsp)
leaq 0x100(%rsp), %rdi
leaq 0x153(%rsp), %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x43254
testl %eax, %eax
je 0xee6b
movq 0x28(%rsp), %rsi
movq 0x100(%rsp), %rcx
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x9c50
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 0x43254
testl %eax, %eax
je 0xee2e
movq 0x28(%rsp), %rsi
movq 0x100(%rsp), %rcx
movq %rbx, %rdi
movq %rbp, %rdx
callq 0x9c50
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 0xe5ea
movq 0x8(%r13), %rcx
movq 0x140(%rsp), %r12
movq 0x138(%rsp), %rbp
movq 0x130(%rsp), %r15
movq 0x128(%rsp), %r14
xorps %xmm0, %xmm0
jmp 0xe778
movq %rax, %rcx
subq %rax, %rcx
movaps %xmm0, 0x60(%rsp)
xorl %r10d, %r10d
movq %r10, 0x70(%rsp)
movq %r10, 0x50(%rsp)
movaps %xmm0, 0x40(%rsp)
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
leaq 0x100(%rsp), %r9
movq %rax, 0x10(%r9)
movq %rcx, 0x18(%r9)
movb $0x0, 0x20(%r9)
movq %r10, (%r9)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq 0x10(%r15), %rcx
movq 0x18(%r15), %r8
leaq 0x148(%rsp), %rdi
pushq %r10
pushq %r10
callq 0x24028
addq $0x10, %rsp
leaq 0x60(%rsp), %rdi
leaq 0x40(%rsp), %rsi
leaq 0x148(%rsp), %rdx
movl $0x1, %ecx
callq 0x1aa62
movq 0x178(%rsp), %rax
cmpq 0x150(%rsp), %rax
jne 0xeed9
movq 0x1b0(%rsp), %rdi
testq %rdi, %rdi
je 0xe824
callq 0x43b0
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 0x433a9
leaq 0xe0(%rsp), %rdi
leaq 0x148(%rsp), %rsi
movq %r14, %rdx
xorl %ecx, %ecx
callq 0x25eb1
movq 0x60(%rsp), %rsi
movq 0x68(%rsp), %rdx
leaq 0x148(%rsp), %rdi
callq 0x433a9
leaq 0xc0(%rsp), %rdi
leaq 0x148(%rsp), %rsi
movq %r14, %rdx
xorl %ecx, %ecx
callq 0x25eb1
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
leaq 0x148(%rsp), %rdi
callq 0x433a9
leaq 0xa0(%rsp), %rdi
leaq 0x148(%rsp), %rsi
movq %r14, %rdx
xorl %ecx, %ecx
callq 0x25eb1
movq (%r13), %rax
movq 0x8(%r13), %rcx
subq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rdx, %rcx
movq %rax, 0x110(%rsp)
movq %rcx, 0x118(%rsp)
movb $0x0, 0x120(%rsp)
movq $0x0, 0x100(%rsp)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
leaq 0x208(%rsp), %rbx
movq %rbx, %rdi
callq 0x433a9
leaq 0x100(%rsp), %rdi
movq %rdi, 0x168(%rsp)
movq %rbx, 0x170(%rsp)
movq 0x210(%rsp), %rsi
callq 0x23b46
leaq 0x148(%rsp), %rdi
movq %rax, %rsi
callq 0x2388e
leaq 0x80(%rsp), %rdi
leaq 0x148(%rsp), %rsi
movq %r14, %rdx
xorl %ecx, %ecx
callq 0x25eb1
leaq 0x4d98b(%rip), %rdx     # 0x5c335
movq %r12, %rdi
movq %r14, %rsi
callq 0x1091e
movq 0x8(%r15), %rdx
movq %r15, %rax
movq 0x10(%r15), %r15
subq (%rax), %rdx
movq 0x18(%rax), %rbx
leaq 0x15(%rsp), %rax
leaq 0x8(%rsp), %rdi
movq %rax, (%rdi)
leaq 0x20(%rsp), %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x43254
testl %eax, %eax
je 0xeef8
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %r14
movq %r12, %rdi
movq %r14, %rdx
callq 0x9c50
subq %r15, %rbx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x20(%rsp), %rsi
movq %rbx, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x43254
testl %eax, %eax
je 0xef19
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9c50
leaq 0x8(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x20(%rsp), %rsi
movq %rbp, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x43254
testl %eax, %eax
je 0xef3a
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9c50
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 0x43254
testl %eax, %eax
je 0xef5b
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9c50
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 0x43254
testl %eax, %eax
je 0xef7c
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9c50
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 0x43254
testl %eax, %eax
je 0xef9d
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9c50
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 0x43254
testl %eax, %eax
je 0xefbe
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9c50
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 0x43254
testl %eax, %eax
je 0xefdc
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9c50
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 0x43254
testl %eax, %eax
je 0xeffa
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9c50
movq 0x150(%rsp), %rdx
leaq 0x8(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x20(%rsp), %rsi
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x43254
testl %eax, %eax
je 0xf018
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rbx
movq %r12, %rdi
movq %rbx, %rdx
callq 0x9c50
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 0x43254
testl %eax, %eax
je 0xf036
movq 0x8(%r12), %rsi
movq 0x8(%rsp), %rcx
leaq 0x15(%rsp), %rdx
movq %r12, %rdi
callq 0x9c50
movq 0xe0(%rsp), %rdx
movq 0xe8(%rsp), %rcx
movq 0x8(%r12), %rsi
cmpq %rcx, %rdx
jne 0xeccf
movq 0x20(%rsp), %rdx
movq 0x28(%rsp), %rcx
movq %r12, %rdi
callq 0xa020
movq 0xc0(%rsp), %rdx
movq 0xc8(%rsp), %rcx
movq 0x8(%r12), %rsi
cmpq %rcx, %rdx
jne 0xecfb
movq 0x60(%rsp), %rdx
movq 0x68(%rsp), %rcx
movq %r12, %rdi
callq 0xa020
movq 0xa0(%rsp), %rdx
movq 0xa8(%rsp), %rcx
movq 0x8(%r12), %rsi
cmpq %rcx, %rdx
jne 0xed27
movq 0x40(%rsp), %rdx
movq 0x48(%rsp), %rcx
movq %r12, %rdi
callq 0xa020
movq 0x80(%rsp), %rdx
movq 0x88(%rsp), %rcx
cmpq %rcx, %rdx
je 0xed53
movq 0x8(%r12), %rsi
movq %r12, %rdi
callq 0xa020
jmp 0xed63
leaq 0x148(%rsp), %rsi
movq %r12, %rdi
callq 0x15343
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0xed80
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0xa0(%rsp), %rdi
testq %rdi, %rdi
je 0xed9d
movq 0xb0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0xedba
movq 0xd0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0xe0(%rsp), %rdi
testq %rdi, %rdi
je 0xedd7
movq 0xf0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0xedee
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0xee05
movq 0x70(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0xee1c
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
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b5be(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xeec3
leaq 0x4d28f(%rip), %rdi     # 0x5c0e2
leaq 0x4cadd(%rip), %rsi     # 0x5b937
leaq 0x4d3e5(%rip), %rcx     # 0x5c246
movl $0x29d, %edx            # imm = 0x29D
callq 0x4200
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b581(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xeec3
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b563(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xeec3
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b545(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
movq 0x6d11e(%rip), %rsi     # 0x7bfe8
movq 0x6d0e7(%rip), %rdx     # 0x7bfb8
movq %r14, %rdi
callq 0x4590
leaq 0x4d2c2(%rip), %rdi     # 0x5c1a2
leaq 0x4d2d2(%rip), %rsi     # 0x5c1b9
leaq 0x4d319(%rip), %rcx     # 0x5c207
movl $0x3d, %edx
callq 0x4200
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b4f4(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf052
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b4d3(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf052
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b4b2(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf052
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b491(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf052
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b470(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf052
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b44f(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf052
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b42e(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf052
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b410(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf052
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b3f2(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf052
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b3d4(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
jmp 0xf052
movl $0x10, %edi
callq 0x4190
movq %rax, %r14
leaq 0x4b3b6(%rip), %rsi     # 0x5a400
movq %rax, %rdi
callq 0x4110
movq 0x6cf8f(%rip), %rsi     # 0x7bfe8
movq 0x6cf58(%rip), %rdx     # 0x7bfb8
movq %r14, %rdi
callq 0x4590
jmp 0xf07c
jmp 0xf07c
jmp 0xf07c
jmp 0xf07c
jmp 0xf07c
jmp 0xf07c
jmp 0xf07c
jmp 0xf07c
jmp 0xf07c
jmp 0xf07c
movq %rax, %rbx
movq %r14, %rdi
callq 0x4260
jmp 0xf0ca
jmp 0xf0c7
movq %rax, %rbx
leaq 0x148(%rsp), %rdi
callq 0x155e8
jmp 0xf13e
movq %rax, %rbx
jmp 0xf13e
jmp 0xf0c7
jmp 0xf0b2
jmp 0xf0b2
jmp 0xf0c7
jmp 0xf0b2
movq %rax, %rbx
movq %r14, %rdi
callq 0x4260
jmp 0xf171
jmp 0xf16e
movq %rax, %rbx
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0xf0e7
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0xa0(%rsp), %rdi
testq %rdi, %rdi
je 0xf104
movq 0xb0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0xf121
movq 0xd0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0xe0(%rsp), %rdi
testq %rdi, %rdi
je 0xf13e
movq 0xf0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0xf155
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0xf171
movq 0x70(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
jmp 0xf171
movq %rax, %rbx
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0xf188
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x4300
movq %rbx, %rdi
callq 0x45e0