LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/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 %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %di, %ax
movw %ax, -0x2(%rbp)
movq $0x0, -0x10(%rbp)
movzwl -0x2(%rbp), %eax
movl %eax, -0x14(%rbp)
subl $0x100, %eax            # imm = 0x100
je 0x5d7be
jmp 0x5d71b
movl -0x14(%rbp), %eax
subl $0x200, %eax            # imm = 0x200
je 0x5d7ce
jmp 0x5d72b
movl -0x14(%rbp), %eax
subl $0x201, %eax            # imm = 0x201
je 0x5d7db
jmp 0x5d73b
movl -0x14(%rbp), %eax
subl $0x202, %eax            # imm = 0x202
je 0x5d7e8
jmp 0x5d74b
movl -0x14(%rbp), %eax
subl $0x204, %eax            # imm = 0x204
je 0x5d7f5
jmp 0x5d75b
movl -0x14(%rbp), %eax
subl $0x207, %eax            # imm = 0x207
je 0x5d802
jmp 0x5d76b
movl -0x14(%rbp), %eax
subl $0x208, %eax            # imm = 0x208
je 0x5d80f
jmp 0x5d77b
movl -0x14(%rbp), %eax
subl $0x209, %eax            # imm = 0x209
je 0x5d81c
jmp 0x5d78b
movl -0x14(%rbp), %eax
subl $0x20b, %eax            # imm = 0x20B
je 0x5d829
jmp 0x5d79b
movl -0x14(%rbp), %eax
subl $0x20c, %eax            # imm = 0x20C
je 0x5d836
jmp 0x5d7ab
movl -0x14(%rbp), %eax
subl $0xf00, %eax            # imm = 0xF00
je 0x5d843
jmp 0x5d850
leaq 0x8fa8(%rip), %rax      # 0x6676d
movq %rax, -0x10(%rbp)
jmp 0x5d852
leaq 0xf623(%rip), %rax      # 0x6cdf8
movq %rax, -0x10(%rbp)
jmp 0x5d852
leaq 0x109b1(%rip), %rax     # 0x6e193
movq %rax, -0x10(%rbp)
jmp 0x5d852
leaq 0xb438(%rip), %rax      # 0x68c27
movq %rax, -0x10(%rbp)
jmp 0x5d852
leaq 0xf0aa(%rip), %rax      # 0x6c8a6
movq %rax, -0x10(%rbp)
jmp 0x5d852
leaq 0xf625(%rip), %rax      # 0x6ce2e
movq %rax, -0x10(%rbp)
jmp 0x5d852
leaq 0x8ea4(%rip), %rax      # 0x666ba
movq %rax, -0x10(%rbp)
jmp 0x5d852
leaq 0xf5f1(%rip), %rax      # 0x6ce14
movq %rax, -0x10(%rbp)
jmp 0x5d852
leaq 0x12df2(%rip), %rax     # 0x70622
movq %rax, -0x10(%rbp)
jmp 0x5d852
leaq 0x12df7(%rip), %rax     # 0x70634
movq %rax, -0x10(%rbp)
jmp 0x5d852
leaq 0x9799(%rip), %rax      # 0x66fe3
movq %rax, -0x10(%rbp)
jmp 0x5d852
jmp 0x5d852
movl $0x1, %edi
callq 0x28100
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_asahi.c
// Function: set_asahi_noteversion
int
set_asahi_noteversion()
{
    struct maker_scheme *scheme;
    int noteversion = 0;
    int tagset = 0;

    scheme = retrieve_makerscheme();
    if(scheme->note_version <= 0)
    {
        switch(scheme->scheme_type)
        {
            case HAS_ID_SCHEME:
                if(scheme->first_entry.tag == 0x1)
                {
                    tagset = 3;
                    noteversion = 3;
                }
                else
                {
                    tagset = 2;
                    noteversion = 2;
                }
                break;
            case PLAIN_IFD_SCHEME:
                tagset = 1;
                noteversion = 1;
                break;
        }
        setnotetagset(tagset);
        setnoteversion(noteversion);
    }
    else
        noteversion = scheme->note_version;
    return(noteversion);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl $0x0, -0xc(%rbp)
movl $0x0, -0x10(%rbp)
movb $0x0, %al
callq 0x28130
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x40(%rax)
jg 0x5d9a7
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
subq $0x1, %rax
je 0x5d987
jmp 0x5d94e
movq -0x18(%rbp), %rax
subq $0x2, %rax
jne 0x5d995
jmp 0x5d95a
movq -0x8(%rbp), %rax
movzwl 0x58(%rax), %eax
cmpl $0x1, %eax
jne 0x5d977
movl $0x3, -0x10(%rbp)
movl $0x3, -0xc(%rbp)
jmp 0x5d985
movl $0x2, -0x10(%rbp)
movl $0x2, -0xc(%rbp)
jmp 0x5d995
movl $0x1, -0x10(%rbp)
movl $0x1, -0xc(%rbp)
movl -0x10(%rbp), %edi
callq 0x28100
movl -0xc(%rbp), %edi
callq 0x28080
jmp 0x5d9b1
movq -0x8(%rbp), %rax
movl 0x40(%rax), %eax
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movb $0x0, %al
callq 0x280d0
movl %eax, -0x1c(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x5da7f
movl -0x1c(%rbp), %eax
movl %eax, -0x20(%rbp)
subl $0x1, %eax
je 0x5da4f
jmp 0x5d9ff
movl -0x20(%rbp), %eax
subl $0x2, %eax
je 0x5da31
jmp 0x5da09
movl -0x20(%rbp), %eax
subl $0x3, %eax
jne 0x5da6d
jmp 0x5da13
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
movq -0x18(%rbp), %rcx
callq 0x5da90
movq -0x8(%rbp), %rdi
callq 0x5dad0
jmp 0x5da7d
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
movq -0x18(%rbp), %rcx
callq 0x5da90
movq -0x8(%rbp), %rdi
callq 0x5e590
jmp 0x5da7d
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
movq -0x18(%rbp), %rcx
callq 0x5da90
movq -0x8(%rbp), %rdi
callq 0x5f050
jmp 0x5da7d
movq -0x8(%rbp), %rdi
leaq 0xc8a2(%rip), %rsi      # 0x6a31a
callq 0x71d0
jmp 0x5da7f
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_asahi.c
// Function: maker_asahi_tagname
char *
maker_asahi_tagname(unsigned short tag,int model)
{
    char *tagname = (char *)0;
    int noteversion = 0;

    /* Should have to do this only once, and only for unrecognized    */
    /* models. If the model is recognized (or the user has forced a   */
    /* noteversion) noteversion will already be set.                  */
    /* This should already have been done in find_maker_scheme(), but */
    /* there is no harm in checking noteversion after retrieving it.  */
    if(((noteversion = getnoteversion()) == 0))
        noteversion = set_asahi_noteversion();

    switch(noteversion)
    {
        case 1:
            tagname = maker_asahi1_tagname(tag,model);
            break;
        case 2:
            tagname = maker_asahi2_tagname(tag,model);
            break;
        case 3:
            tagname = maker_asahi3_tagname(tag,model);
            break;
        default:
            break;
    }

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %di, %ax
movw %ax, -0x2(%rbp)
movl %esi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movb $0x0, %al
callq 0x280d0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jne 0x60158
callq 0x5d910
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x18(%rbp)
subl $0x1, %eax
je 0x60179
jmp 0x60165
movl -0x18(%rbp), %eax
subl $0x2, %eax
je 0x6018e
jmp 0x6016f
movl -0x18(%rbp), %eax
subl $0x3, %eax
je 0x601a3
jmp 0x601b8
movw -0x2(%rbp), %ax
movl -0x8(%rbp), %esi
movzwl %ax, %edi
callq 0x601f0
movq %rax, -0x10(%rbp)
jmp 0x601ba
movw -0x2(%rbp), %ax
movl -0x8(%rbp), %esi
movzwl %ax, %edi
callq 0x60390
movq %rax, -0x10(%rbp)
jmp 0x601ba
movw -0x2(%rbp), %ax
movl -0x8(%rbp), %esi
movzwl %ax, %edi
callq 0x60700
movq %rax, -0x10(%rbp)
jmp 0x601ba
jmp 0x601ba
cmpq $0x0, -0x10(%rbp)
jne 0x601de
movw -0x2(%rbp), %ax
subw $0xe00, %ax             # imm = 0xE00
jne 0x601da
jmp 0x601cd
leaq 0x58f6(%rip), %rax      # 0x65aca
movq %rax, -0x10(%rbp)
jmp 0x601dc
jmp 0x601dc
jmp 0x601de
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/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 %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %di, %ax
movw %ax, -0x2(%rbp)
movl %esi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
movzwl -0x2(%rbp), %eax
movl %eax, -0x14(%rbp)
subl $0x1, %eax
je 0x602cb
jmp 0x6021c
movl -0x14(%rbp), %eax
subl $0x2, %eax
je 0x602db
jmp 0x6022a
movl -0x14(%rbp), %eax
subl $0x3, %eax
je 0x602eb
jmp 0x60238
movl -0x14(%rbp), %eax
subl $0x4, %eax
je 0x602fb
jmp 0x60246
movl -0x14(%rbp), %eax
subl $0x7, %eax
je 0x60308
jmp 0x60254
movl -0x14(%rbp), %eax
subl $0xa, %eax
je 0x60315
jmp 0x60262
movl -0x14(%rbp), %eax
subl $0xb, %eax
je 0x60322
jmp 0x60270
movl -0x14(%rbp), %eax
subl $0xc, %eax
je 0x6032f
jmp 0x6027e
movl -0x14(%rbp), %eax
subl $0xd, %eax
je 0x6033c
jmp 0x6028c
movl -0x14(%rbp), %eax
subl $0x14, %eax
je 0x60349
jmp 0x6029a
movl -0x14(%rbp), %eax
subl $0x17, %eax
je 0x60356
jmp 0x602a8
movl -0x14(%rbp), %eax
subl $0x1000, %eax           # imm = 0x1000
je 0x60363
jmp 0x602b8
movl -0x14(%rbp), %eax
subl $0x1001, %eax           # imm = 0x1001
je 0x60370
jmp 0x6037b
leaq 0x10afe(%rip), %rax     # 0x70dd0
movq %rax, -0x10(%rbp)
jmp 0x6037b
leaq 0xdeb1(%rip), %rax      # 0x6e193
movq %rax, -0x10(%rbp)
jmp 0x6037b
leaq 0xc5de(%rip), %rax      # 0x6c8d0
movq %rax, -0x10(%rbp)
jmp 0x6037b
leaq 0xce3c(%rip), %rax      # 0x6d13e
movq %rax, -0x10(%rbp)
jmp 0x6037b
leaq 0x56e4(%rip), %rax      # 0x659f3
movq %rax, -0x10(%rbp)
jmp 0x6037b
leaq 0xc58a(%rip), %rax      # 0x6c8a6
movq %rax, -0x10(%rbp)
jmp 0x6037b
leaq 0x5964(%rip), %rax      # 0x65c8d
movq %rax, -0x10(%rbp)
jmp 0x6037b
leaq 0x570e(%rip), %rax      # 0x65a44
movq %rax, -0x10(%rbp)
jmp 0x6037b
leaq 0xd072(%rip), %rax      # 0x6d3b5
movq %rax, -0x10(%rbp)
jmp 0x6037b
leaq 0x10a8c(%rip), %rax     # 0x70ddc
movq %rax, -0x10(%rbp)
jmp 0x6037b
leaq 0xe302(%rip), %rax      # 0x6e65f
movq %rax, -0x10(%rbp)
jmp 0x6037b
leaq 0xd999(%rip), %rax      # 0x6dd03
movq %rax, -0x10(%rbp)
jmp 0x6037b
leaq 0x10a75(%rip), %rax     # 0x70dec
movq %rax, -0x10(%rbp)
movl $0x1, %edi
callq 0x28100
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_asahi.c
// Function: maker_asahi_value_is_offset
int
maker_asahi_value_is_offset(struct ifd_entry *entry_ptr,int model)
{
    int is_offset = 0;
    int noteversion = 0;

    if(entry_ptr)
    {
        noteversion = getnoteversion();

        switch(noteversion)
        {
            case 2:
                switch(entry_ptr->tag)
                {
                    case 0x0004: is_offset = 1; break;
                    default: break;
                }
                break;
            case 3:
                /* A negative value here forces call of the maker offset  */
                /* value routine, so that the routine may record          */
                /* information it will need later; the value is not       */
                /* treated as an offset.                                  */
                switch(entry_ptr->tag)
                {
                    case 0x0003: is_offset = -1; break; 
                    case 0x0004: is_offset = 1; break;
                    default: break;
                }
                break;
            case 1:
            default:
                break;
        }
    }

    return(is_offset);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl $0x0, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x60ab2
xorl %eax, %eax
callq 0x280d0
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x18(%rbp)
subl $0x1, %eax
je 0x60aac
jmp 0x60a4b
movl -0x18(%rbp), %eax
subl $0x2, %eax
je 0x60a5f
jmp 0x60a55
movl -0x18(%rbp), %eax
subl $0x3, %eax
je 0x60a7b
jmp 0x60aae
movq -0x8(%rbp), %rax
movw (%rax), %ax
subw $0x4, %ax
jne 0x60a77
jmp 0x60a6e
movl $0x1, -0x10(%rbp)
jmp 0x60a79
jmp 0x60a79
jmp 0x60ab0
movq -0x8(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x1c(%rbp)
subl $0x3, %eax
je 0x60a96
jmp 0x60a8c
movl -0x1c(%rbp), %eax
subl $0x4, %eax
je 0x60a9f
jmp 0x60aa8
movl $0xffffffff, -0x10(%rbp) # imm = 0xFFFFFFFF
jmp 0x60aaa
movl $0x1, -0x10(%rbp)
jmp 0x60aaa
jmp 0x60aaa
jmp 0x60ab0
jmp 0x60aae
jmp 0x60ab0
jmp 0x60ab2
movl -0x10(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movb $0x0, %al
callq 0x280d0
movl %eax, -0x1c(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x60bdc
leaq 0x165eb(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x60bdc
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0x60bca
jmp 0x60bac
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
movq -0x18(%rbp), %rcx
callq 0x60bf0
movq -0x8(%rbp), %rdi
callq 0x60c40
jmp 0x60bda
movq -0x8(%rbp), %rdi
leaq 0x9745(%rip), %rsi      # 0x6a31a
callq 0x71d0
jmp 0x60bdc
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x60, %rsp
movw %si, %ax
movl 0x30(%rbp), %esi
movl 0x28(%rbp), %esi
movl 0x20(%rbp), %esi
movl 0x18(%rbp), %esi
movq 0x10(%rbp), %rsi
movq %rdi, -0x18(%rbp)
movw %ax, -0x1a(%rbp)
movq %rdx, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movq %r8, -0x38(%rbp)
movq %r9, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movb $0x0, %al
callq 0x280d0
movl %eax, -0x44(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x616c7
movl -0x44(%rbp), %eax
subl $0x1, %eax
jne 0x61686
jmp 0x6163c
movq -0x18(%rbp), %rdi
movw -0x1a(%rbp), %si
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq -0x38(%rbp), %r8
movq -0x40(%rbp), %r9
movq 0x10(%rbp), %r14
movl 0x18(%rbp), %ebx
movl 0x20(%rbp), %r11d
movl 0x28(%rbp), %r10d
movl 0x30(%rbp), %eax
movzwl %si, %esi
movq %r14, (%rsp)
movl %ebx, 0x8(%rsp)
movl %r11d, 0x10(%rsp)
movl %r10d, 0x18(%rsp)
movl %eax, 0x20(%rsp)
callq 0x616d0
jmp 0x616c5
movq -0x18(%rbp), %rdi
movw -0x1a(%rbp), %si
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq -0x40(%rbp), %r8
movq 0x10(%rbp), %r9
movl 0x18(%rbp), %ebx
movl 0x20(%rbp), %r11d
movl 0x28(%rbp), %r10d
movl 0x30(%rbp), %eax
movzwl %si, %esi
movl %ebx, (%rsp)
movl %r11d, 0x8(%rsp)
movl %r10d, 0x10(%rsp)
movl %eax, 0x18(%rsp)
callq 0x23f60
jmp 0x616c7
addq $0x60, %rsp
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_panasonic.c
// Function: maker_panasonic_tagname
char *
maker_panasonic_tagname(unsigned short tag,int model)
{
    char *tagname = (char *)0;
    int noteversion = 0;

    /* Should have to do this only once, and only for unrecognized    */
    /* models. If the model is recognized (or the user has forced a   */
    /* noteversion) noteversion will already be set.                  */
    if((noteversion = getnoteversion()) == 0)
    {

        noteversion = 1;
        setnoteversion(1);
    }

    switch(noteversion)
    {
        case 1:
            tagname = maker_panasonic1_tagname(tag,model);
            break;
        default:
            break;
    }
    return(tagname);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %di, %ax
movw %ax, -0x2(%rbp)
movl %esi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movb $0x0, %al
callq 0x280d0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jne 0x618c1
movl $0x1, -0x14(%rbp)
movl $0x1, %edi
callq 0x28080
movl -0x14(%rbp), %eax
subl $0x1, %eax
jne 0x618e0
jmp 0x618cb
movw -0x2(%rbp), %ax
movl -0x8(%rbp), %esi
movzwl %ax, %edi
callq 0x618f0
movq %rax, -0x10(%rbp)
jmp 0x618e2
jmp 0x618e2
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_kyocera.c
// Function: print_kyocera_makervalue
void
print_kyocera_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_kyocera1_makervalue(entry_ptr,make,model,prefix);
                break;
            default:
                print_value(entry_ptr,PREFIX);
                break;
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movb $0x0, %al
callq 0x280d0
movl %eax, -0x1c(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x61c03
leaq 0x155bb(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x61c03
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0x61bf1
jmp 0x61bdc
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
movq -0x18(%rbp), %rcx
callq 0x61c10
jmp 0x61c01
movq -0x8(%rbp), %rdi
leaq 0x871e(%rip), %rsi      # 0x6a31a
callq 0x71d0
jmp 0x61c03
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x60, %rsp
movw %si, %ax
movl 0x30(%rbp), %esi
movl 0x28(%rbp), %esi
movl 0x20(%rbp), %esi
movl 0x18(%rbp), %esi
movq 0x10(%rbp), %rsi
movq %rdi, -0x18(%rbp)
movw %ax, -0x1a(%rbp)
movq %rdx, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movq %r8, -0x38(%rbp)
movq %r9, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movb $0x0, %al
callq 0x280d0
movl %eax, -0x44(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x61d47
movl -0x44(%rbp), %eax
subl $0x1, %eax
jne 0x61d06
jmp 0x61cbc
movq -0x18(%rbp), %rdi
movw -0x1a(%rbp), %si
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq -0x38(%rbp), %r8
movq -0x40(%rbp), %r9
movq 0x10(%rbp), %r14
movl 0x18(%rbp), %ebx
movl 0x20(%rbp), %r11d
movl 0x28(%rbp), %r10d
movl 0x30(%rbp), %eax
movzwl %si, %esi
movq %r14, (%rsp)
movl %ebx, 0x8(%rsp)
movl %r11d, 0x10(%rsp)
movl %r10d, 0x18(%rsp)
movl %eax, 0x20(%rsp)
callq 0x61d50
jmp 0x61d45
movq -0x18(%rbp), %rdi
movw -0x1a(%rbp), %si
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq -0x40(%rbp), %r8
movq 0x10(%rbp), %r9
movl 0x18(%rbp), %ebx
movl 0x20(%rbp), %r11d
movl 0x28(%rbp), %r10d
movl 0x30(%rbp), %eax
movzwl %si, %esi
movl %ebx, (%rsp)
movl %r11d, 0x8(%rsp)
movl %r10d, 0x10(%rsp)
movl %eax, 0x18(%rsp)
callq 0x23f60
jmp 0x61d47
addq $0x60, %rsp
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_kyocera.c
// Function: maker_kyocera_tagname
char *
maker_kyocera_tagname(unsigned short tag,int model)
{
    char *tagname = CNULL;
    int noteversion = 0;

    /* Should have to do this only once, and only for unrecognized    */
    /* models. If the model is recognized (or the user has forced a   */
    /* noteversion) noteversion will already be set.                  */
    if((noteversion = getnoteversion()) == 0)
    {
        noteversion = -1;
        setnoteversion(-1);
    }

    if(tagname == NULL)
    {
        switch(tag)
        {
            case 0x0e00: tagname = "PrintIM"; break;
            default: break;
        }
    }
    return(tagname);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %di, %ax
movw %ax, -0x2(%rbp)
movl %esi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movb $0x0, %al
callq 0x280d0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jne 0x61f41
movl $0xffffffff, -0x14(%rbp) # imm = 0xFFFFFFFF
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x28080
cmpq $0x0, -0x10(%rbp)
jne 0x61f65
movw -0x2(%rbp), %ax
subw $0xe00, %ax             # imm = 0xE00
jne 0x61f61
jmp 0x61f54
leaq 0x3b6f(%rip), %rax      # 0x65aca
movq %rax, -0x10(%rbp)
jmp 0x61f63
jmp 0x61f63
jmp 0x61f65
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/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 %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x6206a
leaq 0x15145(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x6206a
xorl %eax, %eax
callq 0x280d0
movl %eax, -0x1c(%rbp)
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
leaq 0x82b7(%rip), %rcx      # 0x6a31a
callq 0x62070
jmp 0x6206a
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x60, %rsp
movw %si, %ax
movl 0x30(%rbp), %esi
movl 0x28(%rbp), %esi
movl 0x20(%rbp), %esi
movl 0x18(%rbp), %esi
movq 0x10(%rbp), %rsi
movq %rdi, -0x18(%rbp)
movw %ax, -0x1a(%rbp)
movq %rdx, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movq %r8, -0x38(%rbp)
movq %r9, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x621a7
xorl %eax, %eax
callq 0x280d0
movl %eax, -0x44(%rbp)
movl -0x44(%rbp), %eax
subl $0x1, %eax
jne 0x62166
jmp 0x6211c
movq -0x18(%rbp), %rdi
movw -0x1a(%rbp), %si
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq -0x38(%rbp), %r8
movq -0x40(%rbp), %r9
movq 0x10(%rbp), %r14
movl 0x18(%rbp), %ebx
movl 0x20(%rbp), %r11d
movl 0x28(%rbp), %r10d
movl 0x30(%rbp), %eax
movzwl %si, %esi
movq %r14, (%rsp)
movl %ebx, 0x8(%rsp)
movl %r11d, 0x10(%rsp)
movl %r10d, 0x18(%rsp)
movl %eax, 0x20(%rsp)
callq 0x621b0
jmp 0x621a5
movq -0x18(%rbp), %rdi
movw -0x1a(%rbp), %si
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq -0x40(%rbp), %r8
movq 0x10(%rbp), %r9
movl 0x18(%rbp), %ebx
movl 0x20(%rbp), %r11d
movl 0x28(%rbp), %r10d
movl 0x30(%rbp), %eax
movzwl %si, %esi
movl %ebx, (%rsp)
movl %r11d, 0x8(%rsp)
movl %r10d, 0x10(%rsp)
movl %eax, 0x18(%rsp)
callq 0x23f60
jmp 0x621a7
addq $0x60, %rsp
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/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 %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x624b3
leaq 0x14d15(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x624b3
xorl %eax, %eax
callq 0x280d0
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0x624a1
jmp 0x6248c
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
movq -0x18(%rbp), %rcx
callq 0x624c0
jmp 0x624b1
movq -0x8(%rbp), %rdi
leaq 0x7e6e(%rip), %rsi      # 0x6a31a
callq 0x71d0
jmp 0x624b3
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_sigma.c
// Function: print_sigma_offset_makervalue
void
print_sigma_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:
                sigma1_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
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x60, %rsp
movw %si, %ax
movl 0x30(%rbp), %esi
movl 0x28(%rbp), %esi
movl 0x20(%rbp), %esi
movl 0x18(%rbp), %esi
movq 0x10(%rbp), %rsi
movq %rdi, -0x18(%rbp)
movw %ax, -0x1a(%rbp)
movq %rdx, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movq %r8, -0x38(%rbp)
movq %r9, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x625f7
xorl %eax, %eax
callq 0x280d0
movl %eax, -0x44(%rbp)
movl -0x44(%rbp), %eax
subl $0x1, %eax
jne 0x625b6
jmp 0x6256c
movq -0x18(%rbp), %rdi
movw -0x1a(%rbp), %si
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq -0x38(%rbp), %r8
movq -0x40(%rbp), %r9
movq 0x10(%rbp), %r14
movl 0x18(%rbp), %ebx
movl 0x20(%rbp), %r11d
movl 0x28(%rbp), %r10d
movl 0x30(%rbp), %eax
movzwl %si, %esi
movq %r14, (%rsp)
movl %ebx, 0x8(%rsp)
movl %r11d, 0x10(%rsp)
movl %r10d, 0x18(%rsp)
movl %eax, 0x20(%rsp)
callq 0x62600
jmp 0x625f5
movq -0x18(%rbp), %rdi
movw -0x1a(%rbp), %si
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq -0x40(%rbp), %r8
movq 0x10(%rbp), %r9
movl 0x18(%rbp), %ebx
movl 0x20(%rbp), %r11d
movl 0x28(%rbp), %r10d
movl 0x30(%rbp), %eax
movzwl %si, %esi
movl %ebx, (%rsp)
movl %r11d, 0x8(%rsp)
movl %r10d, 0x10(%rsp)
movl %eax, 0x18(%rsp)
callq 0x23f60
jmp 0x625f7
addq $0x60, %rsp
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_sigma.c
// Function: sigma1_offset_makervalue
void
sigma1_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)
{
	char *nameoftag;
    char *fulldirname = NULL;

	if(entry_ptr)
	{
		nameoftag = maker_tagname(entry_ptr->tag,make,model); 
        fulldirname = splice(parent_name,".",nameoftag);

		switch(entry_ptr->tag)
		{
			default:
				print_generic_offset_makervalue(inptr,byteorder,entry_ptr,
										fileoffset_base,fulldirname,prefix,indent,
										make,model,at_offset);
				break;
		}
        if(fulldirname)
            free(fulldirname);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x68, %rsp
movw %si, %ax
movl 0x30(%rbp), %esi
movl 0x28(%rbp), %esi
movl 0x20(%rbp), %esi
movl 0x18(%rbp), %esi
movq 0x10(%rbp), %rsi
movq %rdi, -0x10(%rbp)
movw %ax, -0x12(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movq $0x0, -0x48(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x626c2
movq -0x20(%rbp), %rax
movzwl (%rax), %edi
movl 0x20(%rbp), %esi
movl 0x28(%rbp), %edx
callq 0x28160
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rdx
leaq 0x22fa(%rip), %rsi      # 0x64962
callq 0x20960
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rdi
movw -0x12(%rbp), %si
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
movq -0x48(%rbp), %r8
movq 0x10(%rbp), %r9
movl 0x18(%rbp), %ebx
movl 0x20(%rbp), %r11d
movl 0x28(%rbp), %r10d
movl 0x30(%rbp), %eax
movzwl %si, %esi
movl %ebx, (%rsp)
movl %r11d, 0x8(%rsp)
movl %r10d, 0x10(%rsp)
movl %eax, 0x18(%rsp)
callq 0x23f60
cmpq $0x0, -0x48(%rbp)
je 0x626c0
movq -0x48(%rbp), %rdi
callq 0x3040
jmp 0x626c2
addq $0x68, %rsp
popq %rbx
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_sigma.c
// Function: maker_sigma_tagname
char *
maker_sigma_tagname(unsigned short tag,int model)
{
	char *tagname = CNULL;
    int noteversion = 0;

    if((noteversion = getnoteversion()) == 0)
    {
        /* Need more model samples before it is safe to assume a      */
        /* default                                                    */
        noteversion = 1;
        setnoteversion(1);
    }

	switch(noteversion)
	{
		case 1:
			tagname = maker_sigma1_tagname(tag,model);
			break;
		default:
			break;
	}

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %di, %ax
movw %ax, -0x2(%rbp)
movl %esi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movb $0x0, %al
callq 0x280d0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jne 0x62711
movl $0x1, -0x14(%rbp)
movl $0x1, %edi
callq 0x28080
movl -0x14(%rbp), %eax
subl $0x1, %eax
jne 0x62730
jmp 0x6271b
movw -0x2(%rbp), %ax
movl -0x8(%rbp), %esi
movzwl %ax, %edi
callq 0x62760
movq %rax, -0x10(%rbp)
jmp 0x62732
jmp 0x62732
cmpq $0x0, -0x10(%rbp)
jne 0x62756
movw -0x2(%rbp), %ax
subw $0xe00, %ax             # imm = 0xE00
jne 0x62752
jmp 0x62745
leaq 0x337e(%rip), %rax      # 0x65aca
movq %rax, -0x10(%rbp)
jmp 0x62754
jmp 0x62754
jmp 0x62756
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_sony.c
// Function: print_sony_makervalue
void
print_sony_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_sony1_makervalue(entry_ptr,make,model,prefix);
                break;
            default:
                print_value(entry_ptr,PREFIX);
                break;
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movb $0x0, %al
callq 0x280d0
movl %eax, -0x1c(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x62a13
leaq 0x147ab(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x62a13
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0x62a01
jmp 0x629ec
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
movq -0x18(%rbp), %rcx
callq 0x62a20
jmp 0x62a11
movq -0x8(%rbp), %rdi
leaq 0x790e(%rip), %rsi      # 0x6a31a
callq 0x71d0
jmp 0x62a13
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_sony.c
// Function: print_sony_offset_makervalue
void
print_sony_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:
                sony1_offset_makervalue(inptr,byteorder,entry_ptr,
                                            fileoffset_base,summary_entry,
                                            parent_name,prefix,indent,
                                            make,model,at_offset);
                break;
            default:
                break;
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x60, %rsp
movw %si, %ax
movl 0x30(%rbp), %esi
movl 0x28(%rbp), %esi
movl 0x20(%rbp), %esi
movl 0x18(%rbp), %esi
movq 0x10(%rbp), %rsi
movq %rdi, -0x18(%rbp)
movw %ax, -0x1a(%rbp)
movq %rdx, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movq %r8, -0x38(%rbp)
movq %r9, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x62b16
xorl %eax, %eax
callq 0x280d0
movl %eax, -0x44(%rbp)
movl -0x44(%rbp), %eax
subl $0x1, %eax
jne 0x62b12
jmp 0x62ac8
movq -0x18(%rbp), %rdi
movw -0x1a(%rbp), %si
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq -0x38(%rbp), %r8
movq -0x40(%rbp), %r9
movq 0x10(%rbp), %r14
movl 0x18(%rbp), %ebx
movl 0x20(%rbp), %r11d
movl 0x28(%rbp), %r10d
movl 0x30(%rbp), %eax
movzwl %si, %esi
movq %r14, (%rsp)
movl %ebx, 0x8(%rsp)
movl %r11d, 0x10(%rsp)
movl %r10d, 0x18(%rsp)
movl %eax, 0x20(%rsp)
callq 0x62b20
jmp 0x62b14
jmp 0x62b14
jmp 0x62b16
addq $0x60, %rsp
popq %rbx
popq %r14
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_sony.c
// Function: maker_sony_tagname
char *
maker_sony_tagname(unsigned short tag,int model)
{
    char *tagname = (char *)0;
    int noteversion = 0;

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

    switch(noteversion)
    {
        default:
            break;
    }

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %di, %ax
movw %ax, -0x2(%rbp)
movl %esi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movb $0x0, %al
callq 0x280d0
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jne 0x62d11
movl $0x1, -0x14(%rbp)
movl $0x1, %edi
callq 0x28080
jmp 0x62d13
cmpq $0x0, -0x10(%rbp)
jne 0x62d37
movw -0x2(%rbp), %ax
subw $0xe00, %ax             # imm = 0xE00
jne 0x62d33
jmp 0x62d26
leaq 0x2d9d(%rip), %rax      # 0x65aca
movq %rax, -0x10(%rbp)
jmp 0x62d35
jmp 0x62d35
jmp 0x62d37
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_konica.c
// Function: print_konica_makervalue
void
print_konica_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_konica_makervalue(entry_ptr,make,model,prefix);
                break;
            default:
                print_value(entry_ptr,PREFIX);
                break;
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x62e63
leaq 0x14365(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x62e63
xorl %eax, %eax
callq 0x280d0
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
subl $0x1, %eax
jne 0x62e51
jmp 0x62e3c
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movl -0x10(%rbp), %edx
movq -0x18(%rbp), %rcx
callq 0x62df0
jmp 0x62e61
movq -0x8(%rbp), %rdi
leaq 0x74be(%rip), %rsi      # 0x6a31a
callq 0x71d0
jmp 0x62e63
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_konica.c
// Function: print_konica_offset_makervalue
void
print_konica_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:
                konica1_offset_makervalue(inptr,byteorder,entry_ptr,
                                            fileoffset_base,summary_entry,
                                            parent_name,prefix,indent,
                                            make,model,at_offset);
            default:
                print_generic_offset_makervalue(inptr,byteorder,entry_ptr,
                                        fileoffset_base,parent_name,prefix,indent,
                                        make,model,at_offset);
                break;
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x60, %rsp
movw %si, %ax
movl 0x30(%rbp), %esi
movl 0x28(%rbp), %esi
movl 0x20(%rbp), %esi
movl 0x18(%rbp), %esi
movq 0x10(%rbp), %rsi
movq %rdi, -0x18(%rbp)
movw %ax, -0x1a(%rbp)
movq %rdx, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movq %r8, -0x38(%rbp)
movq %r9, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
movb $0x0, %al
callq 0x280d0
movl %eax, -0x44(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x62fa5
movl -0x44(%rbp), %eax
subl $0x1, %eax
jne 0x62f64
jmp 0x62f1c
movq -0x18(%rbp), %rdi
movw -0x1a(%rbp), %si
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq -0x38(%rbp), %r8
movq -0x40(%rbp), %r9
movq 0x10(%rbp), %r14
movl 0x18(%rbp), %ebx
movl 0x20(%rbp), %r11d
movl 0x28(%rbp), %r10d
movl 0x30(%rbp), %eax
movzwl %si, %esi
movq %r14, (%rsp)
movl %ebx, 0x8(%rsp)
movl %r11d, 0x10(%rsp)
movl %r10d, 0x18(%rsp)
movl %eax, 0x20(%rsp)
callq 0x62fb0
movq -0x18(%rbp), %rdi
movw -0x1a(%rbp), %si
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq -0x40(%rbp), %r8
movq 0x10(%rbp), %r9
movl 0x18(%rbp), %ebx
movl 0x20(%rbp), %r11d
movl 0x28(%rbp), %r10d
movl 0x30(%rbp), %eax
movzwl %si, %esi
movl %ebx, (%rsp)
movl %r11d, 0x8(%rsp)
movl %r10d, 0x10(%rsp)
movl %eax, 0x18(%rsp)
callq 0x23f60
jmp 0x62fa5
addq $0x60, %rsp
popq %rbx
popq %r14
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_konica.c
// Function: maker_konica_tagname
char *
maker_konica_tagname(unsigned short tag,int model)
{
    char *tagname = (char *)0;


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

// Assembly:
pushq %rbp
movq %rsp, %rbp
movw %di, %ax
movw %ax, -0x2(%rbp)
movl %esi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x6319a
movw -0x2(%rbp), %ax
subw $0xe00, %ax             # imm = 0xE00
jne 0x63196
jmp 0x63189
leaq 0x293a(%rip), %rax      # 0x65aca
movq %rax, -0x10(%rbp)
jmp 0x63198
jmp 0x63198
jmp 0x6319a
movq -0x10(%rbp), %rax
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/gadget114514[P]fatfs-example/rd.c
// Function: main
void main()
{
  FILINFO fn;
  FATFS fs;
  FCHK(f_mount(&fs, "", 0)); 
  
  FCHK(f_opendir(&d, "/abc"));
  printf("d.fn %s\n", d.fn);
  
  for (;;) {
    if (f_readdir(&d, &fn) != FR_OK || fn.fname[0] == '\0') break;
    printf("fn.name %s\n", fn.fname);
  }
  
  FCHK(f_closedir(&d));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x290, %rsp            # imm = 0x290
leaq -0x278(%rbp), %rdi
leaq 0x62fd(%rip), %rsi      # 0x7496
xorl %edx, %edx
callq 0x1630
movl %eax, -0x27c(%rbp)
movl -0x27c(%rbp), %eax
movl %eax, -0x28c(%rbp)
movl -0x27c(%rbp), %edi
callq 0x12d0
movl -0x28c(%rbp), %edx
movq %rax, %rcx
leaq 0x5e87(%rip), %rdi      # 0x7054
leaq 0x5e93(%rip), %rsi      # 0x7067
movb $0x0, %al
callq 0x1040
leaq 0x8e7e(%rip), %rdi      # 0xa060
leaq 0x5e92(%rip), %rsi      # 0x707b
callq 0x3f70
movl %eax, -0x280(%rbp)
movl -0x280(%rbp), %eax
movl %eax, -0x288(%rbp)
movl -0x280(%rbp), %edi
callq 0x12d0
movl -0x288(%rbp), %edx
movq %rax, %rcx
leaq 0x5e39(%rip), %rdi      # 0x7054
leaq 0x5e5e(%rip), %rsi      # 0x7080
movb $0x0, %al
callq 0x1040
leaq 0x5e66(%rip), %rdi      # 0x7096
leaq 0x8e29(%rip), %rsi      # 0xa060
addq $0x40, %rsi
movb $0x0, %al
callq 0x1040
leaq 0x8e17(%rip), %rdi      # 0xa060
leaq -0x20(%rbp), %rsi
callq 0x4250
cmpl $0x0, %eax
jne 0x1260
movsbl -0x13(%rbp), %eax
cmpl $0x0, %eax
jne 0x1262
jmp 0x127a
leaq -0x20(%rbp), %rsi
addq $0xd, %rsi
leaq 0x5e2e(%rip), %rdi      # 0x709f
movb $0x0, %al
callq 0x1040
jmp 0x1242
leaq 0x8ddf(%rip), %rdi      # 0xa060
callq 0x4210
movl %eax, -0x284(%rbp)
movl -0x284(%rbp), %eax
movl %eax, -0x290(%rbp)
movl -0x284(%rbp), %edi
callq 0x12d0
movl -0x290(%rbp), %edx
movq %rax, %rcx
leaq 0x5da1(%rip), %rdi      # 0x7054
leaq 0x5df1(%rip), %rsi      # 0x70ab
movb $0x0, %al
callq 0x1040
addq $0x290, %rsp            # imm = 0x290
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/qpfiffer[P]lair/src/main.c
// Function: load_file
int _load_file(const char *argv[]) {
	/* The file we're going to load in: */
	const char *file_path = argv[1];
	/* Where we're going to store our loaded buffer: */
	char *buf = NULL;
	size_t buf_siz = 0;

	buf = lair_load_file(file_path, &buf_siz);
	if (buf == NULL) {
		error_and_die(ERR_RUNTIME, "Could not load file.");
		return 1;
	}

	int rc = lair_execute(buf, buf_siz);
	if (rc != 0) {
		error_and_die(ERR_RUNTIME, "Could not execute.");
		return 1;
	}

	lair_unload_file(buf, buf_siz);
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
movq -0x18(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x51b0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x133a
movl $0x2, %edi
leaq 0x4cd8(%rip), %rsi      # 0x6004
callq 0x18c0
movl $0x1, -0x4(%rbp)
jmp 0x137e
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x52a0
movl %eax, -0x2c(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x136a
movl $0x2, %edi
leaq 0x4cbd(%rip), %rsi      # 0x6019
callq 0x18c0
movl $0x1, -0x4(%rbp)
jmp 0x137e
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x5380
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)