// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/ciff.c
// Function: print_ciff_value
void
print_ciff_value(FILE *inptr,struct ciff_direntry *entry, unsigned short byteorder,
                            unsigned long fileoffset_base,unsigned long entry_offset,
                            char *dirname,struct image_summary *summary_entry,
                            int level,int indent)
{
    unsigned short location;
    unsigned long max_dir_offset = 0;
    int chpr = 0;

    location = entry->type & CIFF_LOCATIONMASK;
    if(location == CIFF_INREC)
    {
        /* chpr += printf("INREC"); */
        max_dir_offset = process_ciff_direntry(inptr,CIFF_INREC,byteorder,entry,
                                        entry_offset,dirname,summary_entry,level,
                                        indent);
    }
    else if(PRINT_SECTION)
    {
        if(PRINT_BOTH_OFFSET)
            chpr += printf("@%#lx=%lu",entry->offset + fileoffset_base,
                    entry->offset + fileoffset_base);
        else if(PRINT_HEX_OFFSET)
            chpr += printf("@%#lx",entry->offset + fileoffset_base);
        else /* default to decimal offset if nothing is selected      */
            chpr += printf("@%lu",entry->offset + fileoffset_base);

        if(fileoffset_base && (PRINT_ENTRY_RELOFFSET))
            chpr += printf(" (%lu) ",entry->offset);
        chpr = newline(chpr);
    }
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movw %dx, %ax
movl 0x20(%rbp), %edx
movl 0x18(%rbp), %edx
movq 0x10(%rbp), %rdx
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movw %ax, -0x12(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq $0x0, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movq -0x10(%rbp), %rax
movzwl (%rax), %eax
andl $0xc000, %eax           # imm = 0xC000
movw %ax, -0x32(%rbp)
movzwl -0x32(%rbp), %eax
cmpl $0x4000, %eax           # imm = 0x4000
jne 0x2d6e9
movq -0x8(%rbp), %rdi
movw -0x12(%rbp), %dx
movq -0x10(%rbp), %rcx
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %r11
movl 0x18(%rbp), %r10d
movl 0x20(%rbp), %eax
movl $0x4000, %esi           # imm = 0x4000
movzwl %dx, %edx
movq %r11, (%rsp)
movl %r10d, 0x8(%rsp)
movl %eax, 0x10(%rsp)
callq 0x29bd0
movq %rax, -0x40(%rbp)
jmp 0x2d7e9
leaq 0x49a90(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x40000, %rax          # imm = 0x40000
cmpq $0x0, %rax
je 0x2d7e7
leaq 0x49a76(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x300, %rax            # imm = 0x300
cmpq $0x300, %rax            # imm = 0x300
jne 0x2d749
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
addq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdx
addq -0x20(%rbp), %rdx
leaq 0x3a1a5(%rip), %rdi     # 0x678df
movb $0x0, %al
callq 0x3110
addl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
jmp 0x2d7a3
leaq 0x49a30(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x100, %rax            # imm = 0x100
cmpq $0x0, %rax
je 0x2d781
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
addq -0x20(%rbp), %rsi
leaq 0x3a17a(%rip), %rdi     # 0x678ec
movb $0x0, %al
callq 0x3110
addl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
jmp 0x2d7a1
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
addq -0x20(%rbp), %rsi
leaq 0x3d5f7(%rip), %rdi     # 0x6ad8b
movb $0x0, %al
callq 0x3110
addl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
jmp 0x2d7a3
cmpq $0x0, -0x20(%rbp)
je 0x2d7dc
leaq 0x499cf(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x4000000, %rax        # imm = 0x4000000
cmpq $0x0, %rax
je 0x2d7dc
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
leaq 0x36de1(%rip), %rdi     # 0x645b0
movb $0x0, %al
callq 0x3110
addl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
movl -0x44(%rbp), %edi
callq 0x1ef50
movl %eax, -0x44(%rbp)
jmp 0x2d7e9
movl -0x44(%rbp), %edi
callq 0x1ff00
addq $0x60, %rsp
popq %rbp
retq
nopw (%rax,%rax)