// File: sisong[P]ApkDiffPatch/src/patch/NewStream.cpp
// Function: file_entry_end(NewStream*)
static bool _file_entry_end(NewStream* self){
    check(!self->isFinish);
    check(self->_curFileIndex==self->_fileCount);
    check(self->_curSamePairIndex==self->_samePairCount);
    check(self->_curNewOtherCompressIndex==self->_newRefOtherCompressedCount);
    check(self->_curNewReCompressSizeIndex==self->_newReCompressSizeCount);
    
    check(Zipper_copyExtra_before_fileHeader(self->_out_newZip,&self->_newZipVCE));
    
    for (int i=0; i<self->_fileCount; ++i) {
        check(Zipper_fileHeader_append(self->_out_newZip,&self->_newZipVCE,i));
    }
    check(Zipper_endCentralDirectory_append(self->_out_newZip,&self->_newZipVCE));
    self->isFinish=true;
    return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
testb $0x1, 0x8(%rax)
je 0xa3583
leaq 0x1b85e(%rip), %rdi     # 0xbedbb
movb $0x0, %al
callq 0x4060
leaq 0x9d05(%rip), %rdi      # 0xad270
leaq 0x1b64e(%rip), %rsi     # 0xbebc0
movl $0x106, %edx            # imm = 0x106
leaq 0x1bf91(%rip), %rcx     # 0xbf50f
callq 0x4270
movq -0x8(%rbp), %rax
movl 0xa4(%rax), %eax
movq -0x8(%rbp), %rcx
cmpl 0x90(%rcx), %eax
je 0xa35c6
leaq 0x1bf91(%rip), %rdi     # 0xbf531
movb $0x0, %al
callq 0x4060
leaq 0x9cc2(%rip), %rdi      # 0xad270
leaq 0x1b60b(%rip), %rsi     # 0xbebc0
movl $0x107, %edx            # imm = 0x107
leaq 0x1bf4e(%rip), %rcx     # 0xbf50f
callq 0x4270
movq -0x8(%rbp), %rax
movq 0xb0(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x38(%rcx), %rax
je 0xa3608
leaq 0x1bf7d(%rip), %rdi     # 0xbf55f
movb $0x0, %al
callq 0x4060
leaq 0x9c80(%rip), %rdi      # 0xad270
leaq 0x1b5c9(%rip), %rsi     # 0xbebc0
movl $0x108, %edx            # imm = 0x108
leaq 0x1bf0c(%rip), %rcx     # 0xbf50f
callq 0x4270
movq -0x8(%rbp), %rax
movq 0xb8(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x48(%rcx), %rax
je 0xa364a
leaq 0x1bf71(%rip), %rdi     # 0xbf595
movb $0x0, %al
callq 0x4060
leaq 0x9c3e(%rip), %rdi      # 0xad270
leaq 0x1b587(%rip), %rsi     # 0xbebc0
movl $0x109, %edx            # imm = 0x109
leaq 0x1beca(%rip), %rcx     # 0xbf50f
callq 0x4270
movq -0x8(%rbp), %rax
movq 0xc0(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x68(%rcx), %rax
je 0xa368c
leaq 0x1bf7a(%rip), %rdi     # 0xbf5e0
movb $0x0, %al
callq 0x4060
leaq 0x9bfc(%rip), %rdi      # 0xad270
leaq 0x1b545(%rip), %rsi     # 0xbebc0
movl $0x10a, %edx            # imm = 0x10A
leaq 0x1be88(%rip), %rcx     # 0xbf50f
callq 0x4270
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x8(%rbp), %rsi
addq $0xd0, %rsi
callq 0x83990
testb $0x1, %al
jne 0xa36d5
leaq 0x1bf79(%rip), %rdi     # 0xbf628
movb $0x0, %al
callq 0x4060
leaq 0x9bb3(%rip), %rdi      # 0xad270
leaq 0x1b4fc(%rip), %rsi     # 0xbebc0
movl $0x10c, %edx            # imm = 0x10C
leaq 0x1be3f(%rip), %rcx     # 0xbf50f
callq 0x4270
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x90(%rcx), %eax
jge 0xa3744
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x8(%rbp), %rsi
addq $0xd0, %rsi
movl -0xc(%rbp), %edx
callq 0x83a00
testb $0x1, %al
jne 0xa3737
leaq 0x1bf67(%rip), %rdi     # 0xbf678
movb $0x0, %al
callq 0x4060
leaq 0x9b51(%rip), %rdi      # 0xad270
leaq 0x1b49a(%rip), %rsi     # 0xbebc0
movl $0x10f, %edx            # imm = 0x10F
leaq 0x1bddd(%rip), %rcx     # 0xbf50f
callq 0x4270
jmp 0xa3739
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0xa36dc
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x8(%rbp), %rsi
addq $0xd0, %rsi
callq 0x83aa0
testb $0x1, %al
jne 0xa378d
leaq 0x1bf59(%rip), %rdi     # 0xbf6c0
movb $0x0, %al
callq 0x4060
leaq 0x9afb(%rip), %rdi      # 0xad270
leaq 0x1b444(%rip), %rsi     # 0xbebc0
movl $0x111, %edx            # imm = 0x111
leaq 0x1bd87(%rip), %rcx     # 0xbf50f
callq 0x4270
movq -0x8(%rbp), %rax
movb $0x1, 0x8(%rax)
movb $0x1, %al
andb $0x1, %al
addq $0x10, %rsp
popq %rbp
retq
nop