// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/misc.c
// Function: print_image_summary_entry
int
print_image_summary_entry(struct image_summary *entry,char *prefix)
{
    int chpr = 0;
    int image_found = 0;

    if(entry && (entry->entry_lock > 0) && (entry->imageformat != IMGFMT_NOIMAGE))
    {
        /* Make shell comments out of these if addresses are not      */
        /* printed                                                    */
        if(!(PRINT_ADDRESS))
            chpr += printf("# ");
        else
            print_tag_address(SECTION|ENTRY|SEGMENT,entry->offset,0,"@");
        if(Debug & 0x4)
            chpr += printf("#%d: ",entry->entry_lock);
        chpr += printf("Start of");
        print_imageformat(entry);
        if((entry->imagesubformat & ~IMGSUBFMT_ERRORMASK) != IMGSUBFMT_JPEGTABLES)
        {
            print_imagesubformat(entry);
            print_imagecompression(entry); 
            print_imagesubtype(entry); 
            print_imagesize(entry);
            print_location(entry);
            ++image_found;
        }
        else
            chpr += printf(" length %lu",entry->length);

        if(entry->imagesubformat & IMGSUBFMT_NO_JPEG)
        {
            printred(" (NO SOI)");
            image_found = 0;
        }
        else if(entry->imagesubformat & IMGSUBFMT_JPEGFAILED)
            printred(" (CORRUPTED)");
        else if(entry->imagesubformat & IMGSUBFMT_TRUNCATED)
            printred(" (TRUNCATED)");
        if(entry->length > 0)
        {
            if((PRINT_ADDRESS) == 0)   /* print_tag_address didn't do it     */
                chpr += printf(" at offset %#lx/%lu",entry->offset,entry->offset);
            chpr = newline(chpr);

            if((PRINT_ADDRESS) == 0)
                chpr += printf("# ");
            else
                print_tag_address(SECTION|ENTRY|SEGMENT,
                                            entry->offset + entry->length - 1,
                                            0,"-");
            chpr += printf("  End of");
            print_imageformat(entry); 
            if(entry->imagesubformat != IMGSUBFMT_JPEGTABLES)
            {
                print_imagesubtype(entry);
                if((PRINT_ADDRESS) == 0)   /* print_tag_address didn't do it     */
                    chpr += printf(" image data at offset %#lx/%lu",
                                                    entry->offset + entry->length - 1,
                                                    entry->offset + entry->length - 1);
                else
                    chpr += printf(" image data");
            }
            if(entry->imageformat & IMGFMT_MISMARKED)
            {
                PUSHCOLOR(RED);
                chpr += printf(" *uncompressed data marked as JPEG");
                POPCOLOR();
            }
            chpr = newline(chpr);
        }
        else
        {
            printred(" (no image)");
            image_found = 0;
        }
    }
    
    chpr = newline(chpr);
    return(image_found);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movl $0x0, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x1ef38
movq -0x8(%rbp), %rax
cmpl $0x0, 0x10(%rax)
jle 0x1ef38
movq -0x8(%rbp), %rax
cmpq $0x0, 0x80(%rax)
je 0x1ef38
leaq 0x58570(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30000, %rax          # imm = 0x30000
cmpq $0x0, %rax
jne 0x1ec35
leaq 0x490ec(%rip), %rdi     # 0x67d12
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x1ec53
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rsi
movl $0x40c3333, %edi        # imm = 0x40C3333
xorl %edx, %edx
leaq 0x4548e(%rip), %rcx     # 0x640dc
callq 0x5ed0
leaq 0x5da56(%rip), %rax     # 0x7c6b0
movl (%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x1ec7f
movq -0x8(%rbp), %rax
movl 0x10(%rax), %esi
leaq 0x490a3(%rip), %rdi     # 0x67d15
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
leaq 0x49095(%rip), %rdi     # 0x67d1b
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
callq 0x1ef90
movq -0x8(%rbp), %rax
movq 0x88(%rax), %rax
andq $0xfffffff, %rax        # imm = 0xFFFFFFF
cmpq $0x15b, %rax            # imm = 0x15B
je 0x1eced
movq -0x8(%rbp), %rdi
callq 0x1f210
movq -0x8(%rbp), %rdi
callq 0x1f3c0
movq -0x8(%rbp), %rdi
callq 0x1f490
movq -0x8(%rbp), %rdi
callq 0x1f560
movq -0x8(%rbp), %rdi
callq 0x1f660
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x1ed0c
movq -0x8(%rbp), %rax
movq 0x98(%rax), %rsi
leaq 0x4bfba(%rip), %rdi     # 0x6acb9
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rax
movq 0x88(%rax), %rax
andq $0x40000000, %rax       # imm = 0x40000000
cmpq $0x0, %rax
je 0x1ed38
leaq 0x48ffa(%rip), %rdi     # 0x67d24
callq 0x6860
movl $0x0, -0x18(%rbp)
jmp 0x1ed88
movq -0x8(%rbp), %rcx
movabsq $0x80000000, %rax       # imm = 0x80000000
andq 0x88(%rcx), %rax
cmpq $0x0, %rax
je 0x1ed61
leaq 0x48fd4(%rip), %rdi     # 0x67d2e
callq 0x6860
jmp 0x1ed86
movq -0x8(%rbp), %rax
movq 0x88(%rax), %rax
andq $0x10000000, %rax       # imm = 0x10000000
cmpq $0x0, %rax
je 0x1ed84
leaq 0x48fbc(%rip), %rdi     # 0x67d3b
callq 0x6860
jmp 0x1ed86
jmp 0x1ed88
movq -0x8(%rbp), %rax
cmpq $0x0, 0x98(%rax)
jbe 0x1ef23
leaq 0x583df(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30000, %rax          # imm = 0x30000
cmpq $0x0, %rax
jne 0x1edda
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rsi
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rdx
leaq 0x48f8f(%rip), %rdi     # 0x67d5c
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %edi
callq 0x1ef50
movl %eax, -0x14(%rbp)
leaq 0x58394(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30000, %rax          # imm = 0x30000
cmpq $0x0, %rax
jne 0x1ee11
leaq 0x48f10(%rip), %rdi     # 0x67d12
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x1ee3e
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rsi
movq -0x8(%rbp), %rax
addq 0x98(%rax), %rsi
subq $0x1, %rsi
movl $0x40c3333, %edi        # imm = 0x40C3333
xorl %edx, %edx
leaq 0x452c0(%rip), %rcx     # 0x640f9
callq 0x5ed0
leaq 0x48f03(%rip), %rdi     # 0x67d48
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
callq 0x1ef90
movq -0x8(%rbp), %rax
cmpq $0x15b, 0x88(%rax) # imm = 0x15B
je 0x1eeeb
movq -0x8(%rbp), %rdi
callq 0x1f490
leaq 0x58304(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30000, %rax          # imm = 0x30000
cmpq $0x0, %rax
jne 0x1eed5
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rsi
movq -0x8(%rbp), %rax
addq 0x98(%rax), %rsi
subq $0x1, %rsi
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rdx
movq -0x8(%rbp), %rax
addq 0x98(%rax), %rdx
subq $0x1, %rdx
leaq 0x48e8b(%rip), %rdi     # 0x67d51
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x1eee9
leaq 0x481b2(%rip), %rdi     # 0x6708e
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x1eeeb
movq -0x8(%rbp), %rax
movq 0x80(%rax), %rax
andq $0x10000000, %rax       # imm = 0x10000000
cmpq $0x0, %rax
je 0x1ef16
leaq 0x48e67(%rip), %rdi     # 0x67d70
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %edi
callq 0x1ef50
movl %eax, -0x14(%rbp)
jmp 0x1ef36
leaq 0x48e69(%rip), %rdi     # 0x67d93
callq 0x6860
movl $0x0, -0x18(%rbp)
jmp 0x1ef38
movl -0x14(%rbp), %edi
callq 0x1ef50
movl %eax, -0x14(%rbp)
movl -0x18(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)