LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_casio.c
// Function: maker_casio_tagname
char *
maker_casio_tagname(unsigned short tag,int model)
{
    char *tagname = (char *)0;
    int noteversion = 0;

    if((noteversion = getnoteversion()) == 0)
    {
        noteversion = set_casio_noteversion();
        setnoteversion(noteversion);
    }

    /* Check noteversions first                                       */
    switch(noteversion)
    {
        case 1:
            tagname = maker_casio1_tagname(tag,model);
            break;
        case 2:
            tagname = maker_casio2_tagname(tag,model);
            break;
        default:
            break;
    }

    /* If no version-specific tag is found, check "generic" tags      */
    if(tagname == NULL)
    {
        switch(tag)
        {
            case 0x0e00: tagname = "PrintIM"; break;
            default: break;
        }
    }
    return(tagname);
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movl %edi, %ebx
xorl %eax, %eax
callq 0x1bfe0
movl %eax, %ebp
testl %eax, %eax
jne 0x31b8f
callq 0x30add
movl %eax, %ebp
movl %eax, %edi
callq 0x1bfc7
movzwl %bx, %ebx
cmpl $0x2, %ebp
je 0x31ba5
cmpl $0x1, %ebp
jne 0x31bae
movl %ebx, %edi
callq 0x31bd2
jmp 0x31bb0
movl %ebx, %edi
callq 0x31bfc
jmp 0x31bb0
xorl %eax, %eax
testq %rax, %rax
leaq 0x11708(%rip), %rcx     # 0x432c2
cmovneq %rax, %rcx
cmpl $0xe00, %ebx            # imm = 0xE00
cmovneq %rax, %rcx
movq %rcx, %rax
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_minolta.c
// Function: print_minolta_makervalue
void
print_minolta_makervalue(struct ifd_entry *entry_ptr,int make, int model,
                                                            char *prefix)
{
    int noteversion = 0;

    noteversion = getnoteversion();

    if(entry_ptr && (PRINT_VALUE))
    {
        switch(noteversion)
        {
            case 1:
                print_minolta1_makervalue(entry_ptr,make,model,prefix);
                minolta1_interpret_value(entry_ptr,model);
                break;
            default:
                print_value(entry_ptr,PREFIX);
                break;
        }
    }
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movl %edx, %ebp
movq %rdi, %rbx
xorl %eax, %eax
callq 0x1bfe0
testq %rbx, %rbx
je 0x31e7a
leaq 0x26328(%rip), %rcx     # 0x58180
testb $0x30, (%rcx)
je 0x31e7a
cmpl $0x1, %eax
jne 0x31e81
movq %rbx, %rdi
callq 0x31e96
movq %rbx, %rdi
movl %ebp, %esi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x31f03
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
leaq 0x15e0e(%rip), %rsi     # 0x47c96
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x62c7
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_minolta.c
// Function: print_minolta1_makervalue
void
print_minolta1_makervalue(struct ifd_entry *entry_ptr,int make, int model,
                                                            char *prefix)
{
    int chpr = 0;
    if(entry_ptr && (PRINT_VALUE))
    {
        switch(entry_ptr->tag) 
        {
                case 0x0040:    /* ImageByteSize                      */
                    chpr += printf("%lu ",entry_ptr->value);
                    if(entry_ptr->count > 1)
                    {
                        printred("# BAD COUNT");
                        setcharsprinted(chpr);
                    }
                    break;
                default:
                    print_value(entry_ptr,PREFIX);
                break;
        }
    }
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x31ee7
leaq 0x262db(%rip), %rax     # 0x58180
testb $0x30, (%rax)
je 0x31ee7
movq %rdi, %rbx
cmpw $0x40, (%rdi)
jne 0x31eee
movq 0x10(%rbx), %rsi
leaq 0x169cb(%rip), %rdi     # 0x48889
xorl %eax, %eax
callq 0x3120
cmpq $0x2, 0x8(%rbx)
jb 0x31ee7
movl %eax, %ebp
leaq 0x19d1b(%rip), %rdi     # 0x4bbf0
callq 0x5c33
movl %ebp, %edi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x17530
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
leaq 0x15da1(%rip), %rsi     # 0x47c96
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x62c7
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_minolta.c
// Function: print_minolta_offset_makervalue
void
print_minolta_offset_makervalue(FILE *inptr,unsigned short byteorder,
    struct ifd_entry *entry_ptr,unsigned long fileoffset_base,
    struct image_summary *summary_entry,char *parent_name,char*prefix,
    int indent,int make,int model,int at_offset)
{
    int noteversion = 0;


    if(entry_ptr)
    {
        noteversion = getnoteversion();
        switch(noteversion)
        {
            case 1:
                minolta1_offset_makervalue(inptr,byteorder,entry_ptr,
                                            fileoffset_base,summary_entry,
                                            parent_name,prefix,indent,
                                            make,model,at_offset);
                minolta1_interpret_offset_makervalue(inptr,byteorder,entry_ptr,
                                            fileoffset_base);
                break;
            default:
                print_generic_offset_makervalue(inptr,byteorder,entry_ptr,
                                        fileoffset_base,parent_name,prefix,indent,
                                        make,model,at_offset);
                break;
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
testq %rdx, %rdx
je 0x3222a
movq %r9, %r12
movq %r8, %rbp
movq %rcx, %rbx
movq %rdx, %r14
movl %esi, %r13d
movq %rdi, %r15
movl 0x80(%rsp), %eax
movq %rax, (%rsp)
movl 0x78(%rsp), %eax
movq %rax, 0x8(%rsp)
movl 0x70(%rsp), %eax
movq %rax, 0x18(%rsp)
movl 0x68(%rsp), %eax
movq %rax, 0x20(%rsp)
movq 0x60(%rsp), %rax
movq %rax, 0x10(%rsp)
xorl %eax, %eax
callq 0x1bfe0
cmpl $0x1, %eax
jne 0x32230
subq $0x8, %rsp
movzwl %r13w, %r13d
movq %r15, %rdi
movl %r13d, %esi
movq %r14, %rdx
movq %rbx, %rcx
movq %rbp, %r8
movq %r12, %r9
pushq 0x8(%rsp)
pushq 0x18(%rsp)
pushq 0x30(%rsp)
pushq 0x40(%rsp)
pushq 0x38(%rsp)
callq 0x32268
addq $0x30, %rsp
movq %r15, %rdi
movl %r13d, %esi
movq %r14, %rdx
movq %rbx, %rcx
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x32a49
addq $0x28, %rsp
jmp 0x3225d
movzwl %r13w, %esi
movq %r15, %rdi
movq %r14, %rdx
movq %rbx, %rcx
movq %r12, %r8
movq 0x10(%rsp), %r9
pushq (%rsp)
pushq 0x10(%rsp)
pushq 0x28(%rsp)
pushq 0x38(%rsp)
callq 0x191ac
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_sanyo.c
// Function: sanyo_model_number
int
sanyo_model_number(char *model,char *software)
{
    struct camera_id *model_id;
    int number = NO_MODEL;

    for(model_id = &sanyo_model_id[0]; model_id && model_id->name; ++model_id)
    {
        if(strncasecmp(model,model_id->name,model_id->namelen) == 0)
        {
            number = model_id->id;
            setnoteversion(model_id->noteversion);
            setnotetagset(model_id->notetagset);    /* info only      */
            break;
        }
    }

    return(number);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
leaq 0x246a4(%rip), %r15     # 0x59000
movq (%r15), %rsi
xorl %ebx, %ebx
testq %rsi, %rsi
je 0x349a1
movq %rdi, %r14
addq $0x18, %r15
movslq -0x10(%r15), %rdx
movq %r14, %rdi
callq 0x31f0
testl %eax, %eax
je 0x3498b
movq (%r15), %rsi
addq $0x18, %r15
testq %rsi, %rsi
jne 0x3496d
jmp 0x349a1
movl -0xc(%r15), %ebx
movl -0x8(%r15), %edi
callq 0x1bfc7
movl -0x4(%r15), %edi
callq 0x1bff7
movl %ebx, %eax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_sanyo.c
// Function: print_sanyo_makervalue
void
print_sanyo_makervalue(struct ifd_entry *entry_ptr,int make,int model,
                    char *prefix)
{
    int noteversion = 0;

    noteversion = getnoteversion();

    if(entry_ptr && (PRINT_VALUE))
    {
        switch(noteversion)
        {
            case 1:
                print_sanyo1_makervalue(entry_ptr,make,model,prefix);
                sanyo1_interpret_value(entry_ptr);
                break;
            default:
                print_value(entry_ptr,PREFIX);
                break;
        }
    }
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
xorl %eax, %eax
callq 0x1bfe0
testq %rbx, %rbx
je 0x349eb
movl %eax, %ebp
leaq 0x237bc(%rip), %rax     # 0x58180
testb $0x30, (%rax)
je 0x349eb
leaq 0x132c6(%rip), %rsi     # 0x47c96
movq %rbx, %rdi
callq 0x62c7
cmpl $0x1, %ebp
jne 0x349eb
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x34a10
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_sanyo.c
// Function: print_sanyo_offset_makervalue
void
print_sanyo_offset_makervalue(FILE *inptr,unsigned short byteorder,
    struct ifd_entry *entry_ptr,unsigned long fileoffset_base,
    struct image_summary *summary_entry,char *parent_name,char*prefix,
    int indent,int make,int model,int at_offset)
{
    int noteversion = 0;

    noteversion = getnoteversion();

    if(entry_ptr)
    {
        switch(noteversion)
        {
            case 1:
                sanyo1_offset_makervalue(inptr,byteorder,entry_ptr,
                                            fileoffset_base,summary_entry,
                                            parent_name,prefix,indent,
                                            make,model,at_offset);
                sanyo1_interpret_offset_makervalue(inptr,byteorder,entry_ptr,
                                            fileoffset_base);
                break;
            default:
                print_generic_offset_makervalue(inptr,byteorder,entry_ptr,
                                        fileoffset_base,parent_name,prefix,indent,
                                        make,model,at_offset);
                break;
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %r9, %r13
movq %r8, 0x20(%rsp)
movq %rcx, %rbx
movq %rdx, %r14
movl %esi, %ebp
movq %rdi, %r15
movl 0x80(%rsp), %r12d
movl 0x78(%rsp), %eax
movq %rax, (%rsp)
movl 0x70(%rsp), %eax
movq %rax, 0x10(%rsp)
movl 0x68(%rsp), %eax
movq %rax, 0x18(%rsp)
movq 0x60(%rsp), %rax
movq %rax, 0x8(%rsp)
xorl %eax, %eax
callq 0x1bfe0
testq %r14, %r14
je 0x34e3f
cmpl $0x1, %eax
jne 0x34e45
subq $0x8, %rsp
movzwl %bp, %ebp
movq %r15, %rdi
movl %ebp, %esi
movq %r14, %rdx
movq %rbx, %rcx
movq 0x28(%rsp), %r8
movq %r13, %r9
pushq %r12
pushq 0x10(%rsp)
pushq 0x28(%rsp)
pushq 0x38(%rsp)
pushq 0x30(%rsp)
callq 0x34e7b
addq $0x30, %rsp
movq %r15, %rdi
movl %ebp, %esi
movq %r14, %rdx
movq %rbx, %rcx
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x35400
addq $0x28, %rsp
jmp 0x34e70
movzwl %bp, %esi
movq %r15, %rdi
movq %r14, %rdx
movq %rbx, %rcx
movq %r13, %r8
movq 0x8(%rsp), %r9
pushq %r12
pushq 0x8(%rsp)
pushq 0x20(%rsp)
pushq 0x30(%rsp)
callq 0x191ac
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_canon.c
// Function: print_canon1_makervalue
void
print_canon1_makervalue(struct ifd_entry *entry_ptr,int make, int model,
                                                            char *prefix)
{
    if(entry_ptr && (PRINT_VALUE))
    {
        switch(entry_ptr->tag) 
        {
            case 0x000C:    /* Camera serial number                   */
                print_value(entry_ptr,PREFIX);
                /* ###%%%                                             */
                /* perhaps this should be in canon1_interpret_value() */
                (void)print_canon_serialno(entry_ptr->value);
                break;
            default:
                print_value(entry_ptr,PREFIX);
                break;
        }
    }
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x357ce
leaq 0x229de(%rip), %rax     # 0x58180
testb $0x30, (%rax)
je 0x357ce
movq %rdi, %rbx
movzwl (%rdi), %ebp
leaq 0x124e2(%rip), %rsi     # 0x47c96
callq 0x62c7
cmpw $0xc, %bp
jne 0x357ce
movq 0x10(%rbx), %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x357d6
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_canon.c
// Function: print_canon_serialno
int
print_canon_serialno(unsigned long value)
{
    unsigned long tmp;
    int chpr = 0;

    print_startvalue();
    tmp = (value & 0xffff0000) >> 16;
    chpr += printf("%04lX",value & 0xffff);
    tmp = value & 0xffff;
    chpr += printf("%05lu",value & 0xffff);
    print_endvalue();
    setcharsprinted(chpr);
    return(chpr);
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
xorl %eax, %eax
callq 0x95d2
movzwl %bx, %ebx
leaq 0x174ef(%rip), %rdi     # 0x4ccdc
movq %rbx, %rsi
xorl %eax, %eax
callq 0x3120
movl %eax, %ebp
leaq 0x174e2(%rip), %rdi     # 0x4cce2
movq %rbx, %rsi
xorl %eax, %eax
callq 0x3120
movl %eax, %ebx
addl %ebp, %ebx
xorl %eax, %eax
callq 0x95f3
movl %ebx, %edi
callq 0x17530
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_canon.c
// Function: print_canon_offset_makervalue
void
print_canon_offset_makervalue(FILE *inptr,unsigned short byteorder,
                    struct ifd_entry *entry_ptr,unsigned long fileoffset_base,
                    struct image_summary *summary_entry,char *parent_name,
                    char *prefix,int indent,int make,int model,
                    int at_offset)
{
    int noteversion = 0;

    noteversion = getnoteversion();

    if(entry_ptr)
    {
        switch(noteversion)
        {
            /* noteversion 1 assumes the single known tagset is       */
            /* correct, but imposes a "generic" routine for           */
            /* CustomFunctions (which presents values but interprets  */
            /* nothing) for unrecognized models or those for which no */
            /* information is available.                              */
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                canon1_offset_makervalue(inptr,byteorder,entry_ptr,
                                            fileoffset_base,summary_entry,
                                            parent_name,prefix,indent,
                                            make,model,at_offset);
                break;
            default:
                print_generic_offset_makervalue(inptr,byteorder,entry_ptr,fileoffset_base,
                                                parent_name,prefix,indent,
                                                make,model,at_offset);
                break;
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %r9, %rbx
movq %r8, 0x8(%rsp)
movq %rcx, %r14
movq %rdx, %r15
movl %esi, %ebp
movq %rdi, %r13
movl 0x80(%rsp), %eax
movq %rax, (%rsp)
movl 0x78(%rsp), %eax
movq %rax, 0x10(%rsp)
movl 0x70(%rsp), %eax
movq %rax, 0x18(%rsp)
movl 0x68(%rsp), %eax
movq %rax, 0x20(%rsp)
movq 0x60(%rsp), %r12
xorl %eax, %eax
callq 0x1bfe0
testq %r15, %r15
je 0x358ab
decl %eax
movzwl %bp, %esi
movq %r13, %rdi
movq %r15, %rdx
movq %r14, %rcx
cmpl $0x4, %eax
ja 0x358b1
movq 0x8(%rsp), %r8
movq %rbx, %r9
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x358da
addq $0x28, %rsp
jmp 0x358cf
movq %rbx, %r8
movq %r12, %r9
pushq (%rsp)
pushq 0x18(%rsp)
pushq 0x28(%rsp)
pushq 0x38(%rsp)
callq 0x191ac
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_canon.c
// Function: canon_customfunctions
unsigned long
canon_customfunctions(FILE *inptr,unsigned short byteorder,
    char *tagprefix,unsigned long offset,
    unsigned long dirlength,int model,int indent)
{
    unsigned long max_offset;
    int noteversion = 0;

    noteversion = getnoteversion();

    switch(noteversion)
    {
    case 5:  /* 20 entries (or 21,22) */
        max_offset = canon_customfunctions1D(inptr,byteorder,tagprefix,offset,dirlength,indent);
        break;
    case 4:  /* 18 entries                                            */
        max_offset = canon_customfunctions20D(inptr,byteorder,tagprefix,offset,dirlength,indent);
        break;
    case 3:  /* 17 entries starting at 1*/
        max_offset = canon_customfunctions10D(inptr,byteorder,tagprefix,offset,dirlength,indent);
        break;
    case 2:  /* 16 entries                                            */
        max_offset = canon_customfunctionsD30(inptr,byteorder,tagprefix,offset,dirlength,indent);
        break;
    case 1:  /* unknown customfuctions                                */
    default:
        max_offset = canon_customfunctions_unk(inptr,byteorder,tagprefix,offset,dirlength,indent);
        break;
    }
    return(max_offset);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %r8, %rbx
movq %rcx, %r14
movq %rdx, %r15
movl %esi, %r13d
movq %rdi, %r12
movl 0x40(%rsp), %ebp
xorl %eax, %eax
callq 0x1bfe0
addl $-0x2, %eax
cmpl $0x3, %eax
ja 0x37f90
leaq 0x149b9(%rip), %rcx     # 0x4c8a8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movzwl %r13w, %esi
movq %r12, %rdi
movq %r15, %rdx
movq %r14, %rcx
movq %rbx, %r8
movl %ebp, %r9d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3add5
movzwl %r13w, %esi
movq %r12, %rdi
movq %r15, %rdx
movq %r14, %rcx
movq %rbx, %r8
movl %ebp, %r9d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x397bc
movzwl %r13w, %esi
movq %r12, %rdi
movq %r15, %rdx
movq %r14, %rcx
movq %rbx, %r8
movl %ebp, %r9d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x38a46
movzwl %r13w, %esi
movq %r12, %rdi
movq %r15, %rdx
movq %r14, %rcx
movq %rbx, %r8
movl %ebp, %r9d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3a257
movzwl %r13w, %esi
movq %r12, %rdi
movq %r15, %rdx
movq %r14, %rcx
movq %rbx, %r8
movl %ebp, %r9d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3b6fe
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_leica.c
// Function: print_leica_makervalue
void
print_leica_makervalue(struct ifd_entry *entry_ptr,int make,int model,
                    char *prefix)
{
    int noteversion = 0;

    noteversion = getnoteversion();

    if(entry_ptr && (PRINT_VALUE))
    {
        switch(noteversion)
        {
            case 1:
                print_leica1_makervalue(entry_ptr,make,model,PREFIX);
                leica1_interpret_value(entry_ptr);
                break;
            default:
                print_value(entry_ptr,PREFIX);
                break;
        }
    }
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
xorl %eax, %eax
callq 0x1bfe0
testq %rbx, %rbx
je 0x3c2db
movl %eax, %ebp
leaq 0x1becc(%rip), %rax     # 0x58180
testb $0x30, (%rax)
je 0x3c2db
leaq 0xb9d6(%rip), %rsi      # 0x47c96
movq %rbx, %rdi
callq 0x62c7
cmpl $0x1, %ebp
jne 0x3c2db
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x3c300
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_leica.c
// Function: maker_leica1_tagname
char *
maker_leica1_tagname(unsigned short tag,int model)
{
    char *tagname = CNULL;

    switch(tag)
    {
        case 0x0000: tagname = "Version"; break;
        case 0x1000: tagname = "Quality"; break;
        case 0x1001: tagname = "Sharpness"; break;
        case 0x1002: tagname = "WhiteBalance"; break;
        case 0x1003: tagname = "Color"; break;
        case 0x1004: tagname = "Tone"; break;
        case 0x1010: tagname = "FlashMode"; break;
        case 0x1011: tagname = "FlashStrength"; break;
        case 0x1020: tagname = "Macro"; break;
        case 0x1021: tagname = "FocusMode"; break;
        case 0x1030: tagname = "SlowSync"; break;
        case 0x1031: tagname = "PictureMode"; break;
        case 0x1100: tagname = "ContTake-Bracket"; break;
        case 0x1300: tagname = "BlurWarning"; break;
        case 0x1301: tagname = "FocusWarning"; break;
        case 0x1302: tagname = "AEWarning"; break;
        default: break;
    }
    setnotetagset(1);
    return(tagname);
}

// Assembly:
pushq %rbx
xorl %ebx, %ebx
cmpl $0x101f, %edi           # imm = 0x101F
jg 0x3c844
cmpl $0x100f, %edi           # imm = 0x100F
jg 0x3c8a4
leal -0x1000(%rdi), %eax
cmpl $0x4, %eax
ja 0x3c8f6
leaq 0x11905(%rip), %rcx     # 0x4e134
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xf424(%rip), %rbx      # 0x4bc63
jmp 0x3c952
cmpl $0x10ff, %edi           # imm = 0x10FF
jg 0x3c878
cmpl $0x102f, %edi           # imm = 0x102F
jg 0x3c8c4
cmpl $0x1020, %edi           # imm = 0x1020
je 0x3c91e
cmpl $0x1021, %edi           # imm = 0x1021
jne 0x3c952
leaq 0xd8c1(%rip), %rbx      # 0x4a134
jmp 0x3c952
cmpl $0x1300, %edi           # imm = 0x1300
jg 0x3c8dd
cmpl $0x1100, %edi           # imm = 0x1100
je 0x3c927
cmpl $0x1300, %edi           # imm = 0x1300
jne 0x3c952
leaq 0xea2b(%rip), %rbx      # 0x4b2ca
jmp 0x3c952
cmpl $0x1010, %edi           # imm = 0x1010
je 0x3c90c
cmpl $0x1011, %edi           # imm = 0x1011
jne 0x3c952
leaq 0xe9d7(%rip), %rbx      # 0x4b296
jmp 0x3c952
cmpl $0x1030, %edi           # imm = 0x1030
je 0x3c930
cmpl $0x1031, %edi           # imm = 0x1031
jne 0x3c952
leaq 0xe9d2(%rip), %rbx      # 0x4b2ad
jmp 0x3c952
cmpl $0x1301, %edi           # imm = 0x1301
je 0x3c939
cmpl $0x1302, %edi           # imm = 0x1302
jne 0x3c952
leaq 0xe9ef(%rip), %rbx      # 0x4b2e3
jmp 0x3c952
testl %edi, %edi
jne 0x3c952
leaq 0x69f9(%rip), %rbx      # 0x432fa
jmp 0x3c952
leaq 0xe987(%rip), %rbx      # 0x4b291
jmp 0x3c952
leaq 0xe19f(%rip), %rbx      # 0x4aab2
jmp 0x3c952
leaq 0x68cf(%rip), %rbx      # 0x431eb
jmp 0x3c952
leaq 0x9db2(%rip), %rbx      # 0x466d7
jmp 0x3c952
leaq 0xe98b(%rip), %rbx      # 0x4b2b9
jmp 0x3c952
leaq 0xe96d(%rip), %rbx      # 0x4b2a4
jmp 0x3c952
leaq 0xe996(%rip), %rbx      # 0x4b2d6
jmp 0x3c952
leaq 0xf7e6(%rip), %rbx      # 0x4c12f
jmp 0x3c952
leaq 0x6b33(%rip), %rbx      # 0x43485
movl $0x1, %edi
callq 0x1bff7
movq %rbx, %rax
popq %rbx
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_agfa.c
// Function: print_agfa_makervalue
void
print_agfa_makervalue(struct ifd_entry *entry_ptr,int make, int model,
                    char *prefix)
{
    int noteversion;

    noteversion = getnoteversion();

    if(entry_ptr && (PRINT_VALUE))
    {
        switch(noteversion)
        {
            case 1:
                print_agfa1_makervalue(entry_ptr,make,model,prefix);
                agfa1_interpret_value(entry_ptr);
                break;
            default:
                print_value(entry_ptr,PREFIX);
                break;
        }
    }
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
xorl %eax, %eax
callq 0x1bfe0
testq %rbx, %rbx
je 0x3c9ff
movl %eax, %ebp
leaq 0x1b7a8(%rip), %rax     # 0x58180
testb $0x30, (%rax)
je 0x3c9ff
leaq 0xb2b2(%rip), %rsi      # 0x47c96
movq %rbx, %rdi
callq 0x62c7
cmpl $0x1, %ebp
jne 0x3c9ff
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x3ca24
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_agfa.c
// Function: agfa1_interpret_value
void
agfa1_interpret_value(struct ifd_entry *entry_ptr)
{
    int chpr = 0;

    if(entry_ptr && (PRINT_VALUE))
    {
        switch(entry_ptr->tag)
        {
            case 0x0201:    /* Compression Mode */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 1: chpr += printf("SQ"); break;
                    case 2: chpr += printf("HQ"); break;
                    case 3: chpr += printf("SHQ"); break;
                    case 33: chpr += printf("not compressed"); break; /* TIFF  */
                    case 34:    /* not sure about this one ###%%%         */
                                chpr += printf("not compressed");
                                break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            case 0x0202:    /* Macro */
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("Normal"); break;
                    case 1: chpr += printf("Macro"); break;
                    case 2: chpr += printf("View"); break;
                    default: printred("undefined"); break;
                }
                print_endvalue();
                break;
            default:
                break;
        }
    }
}

// Assembly:
pushq %rbx
testq %rdi, %rdi
je 0x3ca76
leaq 0x1b74f(%rip), %rax     # 0x58180
testb $0x30, (%rax)
je 0x3ca76
movq %rdi, %rbx
movzwl (%rdi), %eax
cmpl $0x202, %eax            # imm = 0x202
je 0x3ca78
cmpl $0x201, %eax            # imm = 0x201
jne 0x3ca76
xorl %eax, %eax
callq 0x95d2
movq 0x10(%rbx), %rax
cmpq $0x2, %rax
jle 0x3ca9d
cmpq $0x3, %rax
je 0x3cad2
cmpq $0x21, %rax
je 0x3ca6d
cmpq $0x22, %rax
jne 0x3cab2
leaq 0xdbe3(%rip), %rdi      # 0x4a657
jmp 0x3cae2
popq %rbx
retq
xorl %eax, %eax
callq 0x95d2
movq 0x10(%rbx), %rax
cmpq $0x2, %rax
je 0x3cac9
cmpq $0x1, %rax
je 0x3cac0
testq %rax, %rax
jne 0x3cab2
leaq 0xe91e(%rip), %rdi      # 0x4b3b9
jmp 0x3cae2
cmpq $0x1, %rax
je 0x3cadb
cmpq $0x2, %rax
jne 0x3cab2
leaq 0xdba4(%rip), %rdi      # 0x4a654
jmp 0x3cae2
leaq 0xc370(%rip), %rdi      # 0x48e29
callq 0x5c33
jmp 0x3cae9
leaq 0x9c10(%rip), %rdi      # 0x466d7
jmp 0x3cae2
leaq 0xe0c2(%rip), %rdi      # 0x4ab92
jmp 0x3cae2
leaq 0xdb7a(%rip), %rdi      # 0x4a653
jmp 0x3cae2
leaq 0xdb6e(%rip), %rdi      # 0x4a650
xorl %eax, %eax
callq 0x3120
xorl %eax, %eax
popq %rbx
jmp 0x95f3
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_agfa.c
// Function: print_agfa_offset_makervalue
void
print_agfa_offset_makervalue(FILE *inptr,unsigned short byteorder,
    struct ifd_entry *entry_ptr,unsigned long fileoffset_base,
    struct image_summary *summary_entry,char *parent_name,char*prefix,
    int indent,int make,int model,int at_offset)
{
    int noteversion;

    noteversion = getnoteversion();

    if(entry_ptr)
    {
        switch(noteversion)
        {
            case 1:
                agfa1_offset_makervalue(inptr,byteorder,entry_ptr,
                                            fileoffset_base,summary_entry,
                                            parent_name,prefix,indent,
                                            make,model,at_offset);
                agfa1_interpret_offset_makervalue(inptr,byteorder,entry_ptr,
                                            fileoffset_base);
                break;
            default: 
                /* Insufficent information about other models to do   */
                /* anything but generic.                              */
                print_generic_offset_makervalue(inptr,byteorder,entry_ptr,
                                        fileoffset_base,parent_name,prefix,indent,
                                        make,model,at_offset);
                break;
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %r9, %r13
movq %r8, 0x20(%rsp)
movq %rcx, %rbx
movq %rdx, %r14
movl %esi, %ebp
movq %rdi, %r15
movl 0x80(%rsp), %r12d
movl 0x78(%rsp), %eax
movq %rax, (%rsp)
movl 0x70(%rsp), %eax
movq %rax, 0x10(%rsp)
movl 0x68(%rsp), %eax
movq %rax, 0x18(%rsp)
movq 0x60(%rsp), %rax
movq %rax, 0x8(%rsp)
xorl %eax, %eax
callq 0x1bfe0
testq %r14, %r14
je 0x3cba2
cmpl $0x1, %eax
jne 0x3cba8
subq $0x8, %rsp
movzwl %bp, %ebp
movq %r15, %rdi
movl %ebp, %esi
movq %r14, %rdx
movq %rbx, %rcx
movq 0x28(%rsp), %r8
movq %r13, %r9
pushq %r12
pushq 0x10(%rsp)
pushq 0x28(%rsp)
pushq 0x38(%rsp)
pushq 0x30(%rsp)
callq 0x3cbde
addq $0x30, %rsp
movq %r15, %rdi
movl %ebp, %esi
movq %r14, %rdx
movq %rbx, %rcx
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3d0e5
addq $0x28, %rsp
jmp 0x3cbd3
movzwl %bp, %esi
movq %r15, %rdi
movq %r14, %rdx
movq %rbx, %rcx
movq %r13, %r8
movq 0x8(%rsp), %r9
pushq %r12
pushq 0x8(%rsp)
pushq 0x20(%rsp)
pushq 0x30(%rsp)
callq 0x191ac
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_agfa.c
// Function: maker_agfa1_tagname
char *
maker_agfa1_tagname(unsigned short tag)
{
    char *tagname = CNULL;

    switch(tag)
    {
        case 0x0100: tagname = "JpegThumbnail"; break;
        case 0x0200: tagname = "SpecialMode"; break;
        case 0x0201: tagname = "Quality"; break;
        case 0x0202: tagname = "Macro"; break;
        case 0x0204: tagname = "DigitalZoom"; break;
        case 0x0207: tagname = "SoftwareRelease"; break;
        case 0x0208: tagname = "PictureInfo"; break;
        case 0x0209: tagname = "CameraID"; break;
        case 0x020b: tagname = "ImageWidth"; break; /* ? */
        case 0x020c: tagname = "ImageHeight"; break; /* ? */
        case 0x0f00: tagname = "Data"; break;
        default: break;
    }
    setnotetagset(1);
    return(tagname);
}

// Assembly:
pushq %rbx
xorl %ebx, %ebx
leal -0x200(%rdi), %eax
cmpl $0xc, %eax
ja 0x3d2ac
leaq 0x10ece(%rip), %rcx     # 0x4e168
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xd34e(%rip), %rbx      # 0x4a5f8
jmp 0x3d314
cmpl $0xf00, %edi            # imm = 0xF00
je 0x3d30d
cmpl $0x100, %edi            # imm = 0x100
jne 0x3d314
leaq 0x6ca2(%rip), %rbx      # 0x43f65
jmp 0x3d314
leaq 0xd362(%rip), %rbx      # 0x4a62e
jmp 0x3d314
leaq 0x9402(%rip), %rbx      # 0x466d7
jmp 0x3d314
leaq 0x10bd6(%rip), %rbx     # 0x4deb4
jmp 0x3d314
leaq 0xce23(%rip), %rbx      # 0x4a10a
jmp 0x3d314
leaq 0xe973(%rip), %rbx      # 0x4bc63
jmp 0x3d314
leaq 0xd31b(%rip), %rbx      # 0x4a614
jmp 0x3d314
leaq 0x10ba0(%rip), %rbx     # 0x4dea2
jmp 0x3d314
leaq 0x6ba7(%rip), %rbx      # 0x43eb2
jmp 0x3d314
leaq 0x75fd(%rip), %rbx      # 0x44911
movl $0x1, %edi
callq 0x1bff7
movq %rbx, %rax
popq %rbx
retq
nop
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_asahi.c
// Function: print_asahi_makervalue
void
print_asahi_makervalue(struct ifd_entry *entry_ptr,int make,int model,
                                                        char *prefix)
{
    int noteversion = 0;

    noteversion = getnoteversion();

    if(entry_ptr)
    {
        switch(noteversion)
        {
            case 3:
                print_asahi1_makervalue(entry_ptr,make,model,prefix);
                asahi3_interpret_value(entry_ptr);
                break;
            case 2:
                print_asahi1_makervalue(entry_ptr,make,model,prefix);
                asahi2_interpret_value(entry_ptr);
                break;
            case 1:
                print_asahi1_makervalue(entry_ptr,make,model,prefix);
                asahi1_interpret_value(entry_ptr);
                break;
            default:
                print_value(entry_ptr,PREFIX);
                break;
        }
    }
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
xorl %eax, %eax
callq 0x1bfe0
testq %rbx, %rbx
je 0x3d405
movl %eax, %ebp
leaq 0xa8b6(%rip), %rsi      # 0x47c96
movq %rbx, %rdi
callq 0x62c7
cmpl $0x1, %ebp
je 0x3d41a
cmpl $0x2, %ebp
je 0x3d40c
cmpl $0x3, %ebp
jne 0x3d405
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x3d43a
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x3d844
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x3dbc7
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_asahi.c
// Function: print_asahi_offset_makervalue
void
print_asahi_offset_makervalue(FILE *inptr,unsigned short byteorder,
    struct ifd_entry *entry_ptr,unsigned long fileoffset_base,
    struct image_summary *summary_entry,char *parent_name,
    char *prefix,int indent,int make,int model,int at_offset)
{
    int noteversion = 0;

    noteversion = getnoteversion();

    if(entry_ptr)
    {
        switch(noteversion)
        {
            case 3:
                asahi2_offset_makervalue(inptr,byteorder,entry_ptr,
                                            fileoffset_base,summary_entry,
                                            parent_name,prefix,indent,
                                            make,model,at_offset);
                break;
            case 2:
                asahi1_offset_makervalue(inptr,byteorder,entry_ptr,
                                            fileoffset_base,summary_entry,
                                            parent_name,prefix,indent,
                                            make,model,at_offset);
                break;
            case 1:
                asahi1_offset_makervalue(inptr,byteorder,entry_ptr,
                                            fileoffset_base,summary_entry,
                                            parent_name,prefix,indent,
                                            make,model,at_offset);
                break;
            default:
                print_value(entry_ptr,PREFIX);
                break;
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %r9, %rbx
movq %r8, %r14
movq %rcx, %r15
movq %rdx, %r12
movl %esi, %ebp
movq %rdi, %r13
movl 0x80(%rsp), %eax
movq %rax, (%rsp)
movl 0x78(%rsp), %eax
movq %rax, 0x8(%rsp)
movl 0x70(%rsp), %eax
movq %rax, 0x10(%rsp)
movl 0x68(%rsp), %eax
movq %rax, 0x18(%rsp)
movq 0x60(%rsp), %rax
movq %rax, 0x20(%rsp)
xorl %eax, %eax
callq 0x1bfe0
testq %r12, %r12
je 0x3de5c
cmpl $0x1, %eax
je 0x3dea0
cmpl $0x2, %eax
je 0x3de62
cmpl $0x3, %eax
jne 0x3dec5
subq $0x8, %rsp
movzwl %bp, %esi
movq %r13, %rdi
movq %r12, %rdx
movq %r15, %rcx
movq %r14, %r8
movq %rbx, %r9
pushq 0x8(%rsp)
pushq 0x18(%rsp)
pushq 0x28(%rsp)
pushq 0x38(%rsp)
pushq 0x48(%rsp)
callq 0x3dee2
jmp 0x3de91
addq $0x28, %rsp
jmp 0x3de95
subq $0x8, %rsp
movzwl %bp, %esi
movq %r13, %rdi
movq %r12, %rdx
movq %r15, %rcx
movq %r14, %r8
movq %rbx, %r9
pushq 0x8(%rsp)
pushq 0x18(%rsp)
pushq 0x28(%rsp)
pushq 0x38(%rsp)
pushq 0x48(%rsp)
callq 0x3e27c
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movzwl %bp, %esi
movq %r13, %rdi
movq %r12, %rdx
movq %r15, %rcx
movq %r14, %r8
movq %rbx, %r9
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3e27c
leaq 0x9dca(%rip), %rsi      # 0x47c96
movq %r12, %rdi
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x62c7
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_asahi.c
// Function: maker_asahi1_tagname
char *
maker_asahi1_tagname(unsigned short tag,int model)
{
    char *tagname = CNULL;

    switch(tag)
    {
        case 0x0001: tagname = "CaptureMode"; break;
        case 0x0002: tagname = "Quality"; break;
        case 0x0003: tagname = "FocusMode"; break;
        case 0x0004: tagname = "FlashMode"; break;
        case 0x0007: tagname = "WhiteBalance"; break;
        case 0x000a: tagname = "DigitalZoom"; break;
        case 0x000b: tagname = "Sharpness"; break;
        case 0x000c: tagname = "Contrast"; break;
        case 0x000d: tagname = "Saturation"; break;
        case 0x0014: tagname = "ISOSpeedSetting"; break;
        case 0x0017: tagname = "Color"; break;
        case 0x1000: tagname = "TimeZone"; break;
        case 0x1001: tagname = "DaylightSavings"; break;
    }
    setnotetagset(1);
    return(tagname);
}

// Assembly:
pushq %rbx
xorl %ebx, %ebx
leal -0x1(%rdi), %eax
cmpl $0x16, %eax
ja 0x3e6eb
leaq 0xfc97(%rip), %rcx      # 0x4e370
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xff2b(%rip), %rbx      # 0x4e614
jmp 0x3e765
cmpl $0x1000, %edi           # imm = 0x1000
je 0x3e75e
cmpl $0x1001, %edi           # imm = 0x1001
jne 0x3e765
leaq 0xff2e(%rip), %rbx      # 0x4e630
jmp 0x3e765
leaq 0xff15(%rip), %rbx      # 0x4e620
jmp 0x3e765
leaq 0x4b28(%rip), %rbx      # 0x4323c
jmp 0x3e765
leaq 0xc395(%rip), %rbx      # 0x4aab2
jmp 0x3e765
leaq 0xba0e(%rip), %rbx      # 0x4a134
jmp 0x3e765
leaq 0xd534(%rip), %rbx      # 0x4bc63
jmp 0x3e765
leaq 0xb9d2(%rip), %rbx      # 0x4a10a
jmp 0x3e765
leaq 0x4aaa(%rip), %rbx      # 0x431eb
jmp 0x3e765
leaq 0xd9e5(%rip), %rbx      # 0x4c12f
jmp 0x3e765
leaq 0xc5d6(%rip), %rbx      # 0x4ad29
jmp 0x3e765
leaq 0x4d29(%rip), %rbx      # 0x43485
jmp 0x3e765
leaq 0xcf9e(%rip), %rbx      # 0x4b703
movl $0x1, %edi
callq 0x1bff7
movq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_panasonic.c
// Function: print_panasonic_makervalue
void
print_panasonic_makervalue(struct ifd_entry *entry_ptr,int make,int model,
                    char *prefix)
{
    int noteversion = 0;

    noteversion = getnoteversion();

    if(entry_ptr && (PRINT_VALUE))
    {
        switch(noteversion)
        {
            case 1:
                print_panasonic1_makervalue(entry_ptr,make,model,prefix);
                panasonic1_interpret_value(entry_ptr);
                break;
            default:
                print_value(entry_ptr,PREFIX);
                break;
        }
    }
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
xorl %eax, %eax
callq 0x1bfe0
testq %rbx, %rbx
je 0x3eb8f
movl %eax, %ebp
leaq 0x19618(%rip), %rax     # 0x58180
testb $0x30, (%rax)
je 0x3eb8f
leaq 0x9122(%rip), %rsi      # 0x47c96
movq %rbx, %rdi
callq 0x62c7
cmpl $0x1, %ebp
jne 0x3eb8f
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x3ebb4
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_panasonic.c
// Function: print_panasonic_offset_makervalue
void
print_panasonic_offset_makervalue(FILE *inptr,unsigned short byteorder,
    struct ifd_entry *entry_ptr,unsigned long fileoffset_base,
    struct image_summary *summary_entry,char *parent_name,char *prefix,
    int indent,int make,int model,int at_offset)
{
    int noteversion = 0;

    noteversion = getnoteversion();

    if(entry_ptr)
    {
        switch(noteversion)
        {
            case 1:
                panasonic1_offset_makervalue(inptr,byteorder,entry_ptr,
                                            fileoffset_base,summary_entry,
                                            parent_name,prefix,indent,
                                            make,model,at_offset);

                break;
            default:
                print_generic_offset_makervalue(inptr,byteorder,entry_ptr,
                                        fileoffset_base,parent_name,prefix,indent,
                                        make,model,at_offset);
                break;
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %r9, %rbx
movq %rcx, %r14
movq %rdx, %r15
movl %esi, %ebp
movq %rdi, %r12
movl 0x80(%rsp), %eax
movq %rax, 0x8(%rsp)
movl 0x78(%rsp), %eax
movq %rax, 0x10(%rsp)
movl 0x70(%rsp), %eax
movq %rax, 0x18(%rsp)
movl 0x68(%rsp), %eax
movq %rax, 0x20(%rsp)
movq 0x60(%rsp), %r13
xorl %eax, %eax
callq 0x1bfe0
testq %r15, %r15
je 0x3f14a
movzwl %bp, %esi
movq %r12, %rdi
movq %r15, %rdx
movq %r14, %rcx
cmpl $0x1, %eax
jne 0x3f150
movq %rbx, %r9
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3f17a
addq $0x28, %rsp
jmp 0x3f16f
movq %rbx, %r8
movq %r13, %r9
pushq 0x8(%rsp)
pushq 0x18(%rsp)
pushq 0x28(%rsp)
pushq 0x38(%rsp)
callq 0x191ac
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_panasonic.c
// Function: maker_panasonic1_tagname
char *
maker_panasonic1_tagname(unsigned short tag,int model)
{
    char *tagname = CNULL;

    switch(tag)
    {
        case 0x0001: tagname = "Quality"; break;
        case 0x0002: tagname = "FirmwareVersion"; break;
        case 0x0003: tagname = "WhiteBalance"; break; 
        case 0x0007: tagname = "FocusMode"; break;
        case 0x000f: tagname = "SpotMode"; break;
        case 0x001a: tagname = "StabilizerMode"; break;
        case 0x001c: tagname = "Macro"; break;
        case 0x001f: tagname = "PictureMode"; break;
        case 0x0020: tagname = "Audio"; break;
        case 0x0023: tagname = "WhiteBalanceAdjust"; break;
        case 0x0024: tagname = "FlashStrength"; break;
        case 0x0028: tagname = "ColorMode"; break;
        case 0x0029: tagname = "TimeSincePowerOn"; break;
        case 0x002c: tagname = "Contrast"; break;
        case 0x002d: tagname = "NoiseReduction"; break;
        case 0x0e00: tagname = "PrintIM"; break;
        default: break;
    }
    setnotetagset(1);
    return(tagname);
}

// Assembly:
pushq %rbx
xorl %ebx, %ebx
cmpl $0x19, %edi
jle 0x3f351
leal -0x1a(%rdi), %eax
cmpl $0x13, %eax
ja 0x3f375
leaq 0xf55c(%rip), %rcx      # 0x4e898
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xf5a5(%rip), %rbx      # 0x4e8f1
jmp 0x3f402
leal -0x1(%rdi), %eax
cmpl $0x6, %eax
ja 0x3f38a
leaq 0xf51c(%rip), %rcx      # 0x4e87c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xc8f3(%rip), %rbx      # 0x4bc63
jmp 0x3f402
cmpl $0xe00, %edi            # imm = 0xE00
jne 0x3f402
leaq 0x3f3a(%rip), %rbx      # 0x432c2
jmp 0x3f402
cmpl $0xf, %edi
jne 0x3f402
leaq 0xf552(%rip), %rbx      # 0x4e8e8
jmp 0x3f402
leaq 0x3e4c(%rip), %rbx      # 0x431eb
jmp 0x3f402
leaq 0xb8d4(%rip), %rbx      # 0x4ac7c
jmp 0x3f402
leaq 0xad83(%rip), %rbx      # 0x4a134
jmp 0x3f402
leaq 0xdfcb(%rip), %rbx      # 0x4d385
jmp 0x3f402
leaq 0xf556(%rip), %rbx      # 0x4e919
jmp 0x3f402
leaq 0xa233(%rip), %rbx      # 0x495ff
jmp 0x3f402
leaq 0xbec1(%rip), %rbx      # 0x4b296
jmp 0x3f402
leaq 0xbecf(%rip), %rbx      # 0x4b2ad
jmp 0x3f402
leaq 0x3e55(%rip), %rbx      # 0x4323c
jmp 0x3f402
leaq 0x72e7(%rip), %rbx      # 0x466d7
jmp 0x3f402
leaq 0xf507(%rip), %rbx      # 0x4e900
jmp 0x3f402
leaq 0xf504(%rip), %rbx      # 0x4e906
movl $0x1, %edi
callq 0x1bff7
movq %rbx, %rax
popq %rbx
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_kyocera.c
// Function: print_kyocera_offset_makervalue
void
print_kyocera_offset_makervalue(FILE *inptr,unsigned short byteorder,
    struct ifd_entry *entry_ptr,unsigned long fileoffset_base,
    struct image_summary *summary_entry,char *parent_name,char *prefix,
    int indent,int make,int model,int at_offset)
{
    int noteversion = 0;

    noteversion = getnoteversion();

    if(entry_ptr)
    {
        switch(noteversion)
        {
            case 1:
                kyocera1_offset_makervalue(inptr,byteorder,entry_ptr,
                                            fileoffset_base,summary_entry,
                                            parent_name,prefix,indent,
                                            make,model,at_offset);
                break;
            default:
                print_generic_offset_makervalue(inptr,byteorder,entry_ptr,fileoffset_base,
                                                parent_name,prefix,indent,
                                                make,model,at_offset);
                break;
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %r9, %rbx
movq %rcx, %r14
movq %rdx, %r15
movl %esi, %ebp
movq %rdi, %r12
movl 0x80(%rsp), %eax
movq %rax, 0x8(%rsp)
movl 0x78(%rsp), %eax
movq %rax, 0x10(%rsp)
movl 0x70(%rsp), %eax
movq %rax, 0x18(%rsp)
movl 0x68(%rsp), %eax
movq %rax, 0x20(%rsp)
movq 0x60(%rsp), %r13
xorl %eax, %eax
callq 0x1bfe0
testq %r15, %r15
je 0x3f534
movzwl %bp, %esi
movq %r12, %rdi
movq %r15, %rdx
movq %r14, %rcx
cmpl $0x1, %eax
jne 0x3f53a
movq %rbx, %r9
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3f564
addq $0x28, %rsp
jmp 0x3f559
movq %rbx, %r8
movq %r13, %r9
pushq 0x8(%rsp)
pushq 0x18(%rsp)
pushq 0x28(%rsp)
pushq 0x38(%rsp)
callq 0x191ac
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_toshiba.c
// Function: print_toshiba_makervalue
void
print_toshiba_makervalue(struct ifd_entry *entry_ptr,int make,int model,
                    char *prefix)
{
    int noteversion = 0;

    if(entry_ptr && (PRINT_VALUE))
    {
        noteversion = getnoteversion();
        switch(noteversion)
        {
            default:
                print_toshiba1_makervalue(entry_ptr,make,model,PREFIX);
                break;
        }
    }
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x3f795
leaq 0x18a17(%rip), %r14     # 0x58180
testb $0x30, (%r14)
je 0x3f795
movq %rdi, %rbx
xorl %eax, %eax
callq 0x1bfe0
testb $0x30, (%r14)
je 0x3f795
leaq 0x8510(%rip), %rsi      # 0x47c96
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x62c7
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_toshiba.c
// Function: print_toshiba_offset_makervalue
void
print_toshiba_offset_makervalue(FILE *inptr,unsigned short byteorder,
    struct ifd_entry *entry_ptr,unsigned long fileoffset_base,
    struct image_summary *summary_entry,char *parent_name,char *prefix,
    int indent,int make,int model,int at_offset)
{
    int noteversion = 0;

    if(entry_ptr)
    {
        noteversion = getnoteversion();
        switch(noteversion)
        {
            case 1:
                toshiba1_offset_makervalue(inptr,byteorder,entry_ptr,
                                            fileoffset_base,summary_entry,
                                            parent_name,prefix,indent,
                                            make,model,at_offset);
                break;
            default:
                print_generic_offset_makervalue(inptr,byteorder,entry_ptr,
                                        fileoffset_base,parent_name,prefix,indent,
                                        make,model,at_offset);
                break;
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
testq %rdx, %rdx
je 0x3f836
movq %r9, %rbx
movq %rcx, %r14
movq %rdx, %r15
movl %esi, %ebp
movq %rdi, %r12
movl 0x80(%rsp), %eax
movq %rax, 0x8(%rsp)
movl 0x78(%rsp), %eax
movq %rax, 0x10(%rsp)
movl 0x70(%rsp), %eax
movq %rax, 0x18(%rsp)
movl 0x68(%rsp), %eax
movq %rax, 0x20(%rsp)
movq 0x60(%rsp), %r13
xorl %eax, %eax
callq 0x1bfe0
movzwl %bp, %esi
movq %r12, %rdi
movq %r15, %rdx
movq %r14, %rcx
cmpl $0x1, %eax
jne 0x3f83c
movq %rbx, %r9
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3f866
addq $0x28, %rsp
jmp 0x3f85b
movq %rbx, %r8
movq %r13, %r9
pushq 0x8(%rsp)
pushq 0x18(%rsp)
pushq 0x28(%rsp)
pushq 0x38(%rsp)
callq 0x191ac
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/hfiguiere[P]exifprobe/maker_sigma.c
// Function: print_sigma_makervalue
void
print_sigma_makervalue(struct ifd_entry *entry_ptr,int make, int model,
					char *prefix)
{
    int noteversion = 0;

    if(entry_ptr && (PRINT_VALUE))
    {
        noteversion = getnoteversion();
        switch(noteversion)
        {
            case 1:
                print_sigma1_makervalue(entry_ptr,make,model,prefix);
                break;
            default:
                print_value(entry_ptr,PREFIX);
                break;
        }
    }
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x3fa7e
leaq 0x18733(%rip), %r14     # 0x58180
testb $0x30, (%r14)
je 0x3fa7e
movq %rdi, %rbx
xorl %eax, %eax
callq 0x1bfe0
cmpl $0x1, %eax
jne 0x3fa68
testb $0x30, (%r14)
je 0x3fa7e
leaq 0x8227(%rip), %rsi      # 0x47c96
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x62c7
addq $0x8, %rsp
popq %rbx
popq %r14
retq