// File: sisong[P]ApkDiffPatch/src/diff/Differ.cpp
// Function: checkZipInfo(UnZipper*, UnZipper*)
static bool checkZipInfo(UnZipper* oldZip,UnZipper* newZip){
    bool isOk=true;
    if (oldZip->_isDataNormalized)
        printf("  NOTE: oldZip maybe normalized\n");
    if (UnZipper_isHaveApkV1Sign(oldZip))
        printf("  NOTE: oldZip found JarSign(ApkV1Sign)\n");
    if (UnZipper_isHaveApkV2Sign(oldZip))
        printf("  NOTE: oldZip found ApkV2Sign\n");
    if (UnZipper_isHaveApkV3Sign(oldZip))
        printf("  NOTE: oldZip found ApkV3Sign\n");
    if (newZip->_isDataNormalized)
        printf("  NOTE: newZip maybe normalized\n");
    if (UnZipper_isHaveApkV1Sign(newZip))
        printf("  NOTE: newZip found JarSign(ApkV1Sign)\n");
    bool newIsV2Sign=UnZipper_isHaveApkV2Sign(newZip);
    if (newIsV2Sign)
        printf("  NOTE: newZip found ApkV2Sign\n");
    if (UnZipper_isHaveApkV3Sign(newZip))
        printf("  NOTE: newZip found ApkV3Sign\n");
    
    if (newIsV2Sign&(!newZip->_isDataNormalized)){
        //maybe bring apk can't install ERROR!
        printf("  ERROR: newZip not Normalized, need do "
               "newZip=AndroidSDK#apksigner(ApkNormalized(newZip)) before running ZipDiff!\n");
        isOk=false;
    }
    if ((!newIsV2Sign)&&UnZipper_isHaveApkV2orV3SignTag_in_ApkV1SignFile(newZip)){
        //maybe bring apk can't install ERROR!
        printf("  ERROR: newZip fond \"X-Android-APK-Signed: 2(or 3...)\" in ApkV1Sign file, need re-sign "
               "newZip:=AndroidSDK#apksigner(newZip) before running ZipDiff!\n");
        isOk=false;
    }
    printf("\n");
    return isOk;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb $0x1, -0x11(%rbp)
movq -0x8(%rbp), %rax
testb $0x1, 0x89(%rax)
je 0x13fdf
leaq 0x9a54d(%rip), %rdi     # 0xae525
movb $0x0, %al
callq 0x4060
movq -0x8(%rbp), %rdi
callq 0x7ec90
testb $0x1, %al
jne 0x13fee
jmp 0x13ffc
leaq 0x9a551(%rip), %rdi     # 0xae546
movb $0x0, %al
callq 0x4060
movq -0x8(%rbp), %rdi
callq 0x13f80
testb $0x1, %al
jne 0x1400b
jmp 0x14019
leaq 0x9a55d(%rip), %rdi     # 0xae56f
movb $0x0, %al
callq 0x4060
movq -0x8(%rbp), %rdi
callq 0x7f320
testb $0x1, %al
jne 0x14028
jmp 0x14036
leaq 0x9a560(%rip), %rdi     # 0xae58f
movb $0x0, %al
callq 0x4060
movq -0x10(%rbp), %rax
testb $0x1, 0x89(%rax)
je 0x14051
leaq 0x9a565(%rip), %rdi     # 0xae5af
movb $0x0, %al
callq 0x4060
movq -0x10(%rbp), %rdi
callq 0x7ec90
testb $0x1, %al
jne 0x14060
jmp 0x1406e
leaq 0x9a569(%rip), %rdi     # 0xae5d0
movb $0x0, %al
callq 0x4060
movq -0x10(%rbp), %rdi
callq 0x13f80
andb $0x1, %al
movb %al, -0x12(%rbp)
testb $0x1, -0x12(%rbp)
je 0x14090
leaq 0x9a570(%rip), %rdi     # 0xae5f9
movb $0x0, %al
callq 0x4060
movq -0x10(%rbp), %rdi
callq 0x7f320
testb $0x1, %al
jne 0x1409f
jmp 0x140ad
leaq 0x9a573(%rip), %rdi     # 0xae619
movb $0x0, %al
callq 0x4060
movb -0x12(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movq -0x10(%rbp), %rcx
movb 0x89(%rcx), %cl
xorb $-0x1, %cl
andb $0x1, %cl
movzbl %cl, %ecx
andl %ecx, %eax
cmpl $0x0, %eax
je 0x140e1
leaq 0x9a563(%rip), %rdi     # 0xae639
movb $0x0, %al
callq 0x4060
movb $0x0, -0x11(%rbp)
testb $0x1, -0x12(%rbp)
jne 0x14108
movq -0x10(%rbp), %rdi
callq 0x7eff0
testb $0x1, %al
jne 0x140f6
jmp 0x14108
leaq 0x9a5b0(%rip), %rdi     # 0xae6ad
movb $0x0, %al
callq 0x4060
movb $0x0, -0x11(%rbp)
leaq 0x98337(%rip), %rdi     # 0xac446
movb $0x0, %al
callq 0x4060
movb -0x11(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)