LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_sensingmethod
void
print_sensingmethod(unsigned long method)
{
    int chpr = 0;

    print_startvalue();
    switch(method)
    {
        case 0: chpr += printf("Not defined"); break;
        case 1: chpr += printf("Monochrome area sensor"); break;
        case 2: chpr += printf("One-chip color area sensor"); break;
        case 3: chpr += printf("Two-chip color area sensor"); break;
        case 4: chpr += printf("Three-chip color area sensor"); break;
        case 5: chpr += printf("Color sequential area sensor"); break;
        case 7: chpr += printf("Trilinear sensor"); break;
        case 8: chpr += printf("Color sequential linear sensor"); break;
        default: chpr += printf("reserved"); break;
    }
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
subq $0x8, %rax
ja 0x21859
movq -0x18(%rbp), %rax
leaq 0x46e41(%rip), %rcx     # 0x685d8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x470fc(%rip), %rdi     # 0x688a3
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x2186d
leaq 0x470ef(%rip), %rdi     # 0x688af
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x2186d
leaq 0x470ed(%rip), %rdi     # 0x688c6
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x2186d
leaq 0x470ef(%rip), %rdi     # 0x688e1
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x2186d
leaq 0x470f4(%rip), %rdi     # 0x688fc
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x2186d
leaq 0x470fb(%rip), %rdi     # 0x68919
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x2186d
leaq 0x47102(%rip), %rdi     # 0x68936
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x2186d
leaq 0x470fd(%rip), %rdi     # 0x68947
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x2186d
leaq 0x47009(%rip), %rdi     # 0x68869
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
movb $0x0, %al
callq 0xb9d0
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_exposureprogram
void
print_exposureprogram(unsigned long program)
{
    int chpr = 0;

    print_startvalue();
    switch(program)
    {
        case 0: chpr += printf("Not defined"); break;
        case 1: chpr += printf("Manual"); break;
        case 2: chpr += printf("Normal"); break;
        case 3: chpr += printf("Aperture Priority"); break;
        case 4: chpr += printf("Shutter Priority"); break;
        case 5: chpr += printf("Creative Program"); break;
        case 6: chpr += printf("Action Program"); break;
        case 7: chpr += printf("Portrait Mode"); break;
        case 8: chpr += printf("Landscape Mode"); break;
        default:
            if(program < 255)
                printf("reserved");
            break;
    }
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
subq $0x8, %rax
ja 0x219a2
movq -0x18(%rbp), %rax
leaq 0x46d35(%rip), %rcx     # 0x685fc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x46fcc(%rip), %rdi     # 0x688a3
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x219bc
leaq 0x47076(%rip), %rdi     # 0x68966
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x219bc
leaq 0x4c0e0(%rip), %rdi     # 0x6d9e9
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x219bc
leaq 0x4704b(%rip), %rdi     # 0x6896d
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x219bc
leaq 0x47044(%rip), %rdi     # 0x6897f
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x219bc
leaq 0x4703f(%rip), %rdi     # 0x68990
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x219bc
leaq 0x4703a(%rip), %rdi     # 0x689a1
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x219bc
leaq 0x47033(%rip), %rdi     # 0x689b0
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x219bc
leaq 0x4702b(%rip), %rdi     # 0x689be
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x219bc
cmpq $0xff, -0x8(%rbp)
jae 0x219ba
leaq 0x46eb6(%rip), %rdi     # 0x68869
movb $0x0, %al
callq 0x3110
jmp 0x219bc
movb $0x0, %al
callq 0xb9d0
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_componentsconfig
void
print_componentsconfig(unsigned long components)
{
    char *comp = (char *)&components;
    int i;
    int chpr = 0;

    print_startvalue();
    for(i = 0; i < 4; ++i)
    {
        switch(*comp++)
        {
        case 1: putchar('Y'); break;
        case 2: putchar('C'); putchar('b'); break;
        case 3: putchar('C'); putchar('r'); break;
        case 4: putchar('R'); break;
        case 5: putchar('G'); break;
        case 6: putchar('B'); break;
        case 0: break;
        default:
            putchar('.');
            break;
        }
        ++chpr;
    }
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
leaq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movl $0x0, -0x18(%rbp)
movb $0x0, %al
callq 0xb9a0
movl $0x0, -0x14(%rbp)
cmpl $0x4, -0x14(%rbp)
jge 0x21ac2
movq -0x10(%rbp), %rax
movq %rax, %rcx
incq %rcx
movq %rcx, -0x10(%rbp)
movsbl (%rax), %eax
movl %eax, %ecx
movq %rcx, -0x20(%rbp)
subl $0x6, %eax
ja 0x21aa1
movq -0x20(%rbp), %rax
leaq 0x46be6(%rip), %rcx     # 0x68620
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x59, %edi
callq 0x3050
jmp 0x21aab
movl $0x43, %edi
callq 0x3050
movl $0x62, %edi
callq 0x3050
jmp 0x21aab
movl $0x43, %edi
callq 0x3050
movl $0x72, %edi
callq 0x3050
jmp 0x21aab
movl $0x52, %edi
callq 0x3050
jmp 0x21aab
movl $0x47, %edi
callq 0x3050
jmp 0x21aab
movl $0x42, %edi
callq 0x3050
jmp 0x21aab
jmp 0x21aab
movl $0x2e, %edi
callq 0x3050
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x21a09
movb $0x0, %al
callq 0xb9d0
movl -0x18(%rbp), %edi
callq 0x1ff00
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_oldsubfiletype
void
print_oldsubfiletype(unsigned long type)
{
    int chpr = 0;

    print_startvalue();
    if(type == 1)
        chpr += printf("primary");
    else if(type == 2)
        chpr += printf("thumbnail");
    else
        chpr += printf("unknown");
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movb $0x0, %al
callq 0xb9a0
cmpq $0x1, -0x8(%rbp)
jne 0x21b17
leaq 0x469d1(%rip), %rdi     # 0x684d9
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x21b4a
cmpq $0x2, -0x8(%rbp)
jne 0x21b34
leaq 0x45cf9(%rip), %rdi     # 0x6781e
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x21b48
leaq 0x464a3(%rip), %rdi     # 0x67fde
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x21b4a
movb $0x0, %al
callq 0xb9d0
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_newsubfiletype
void
print_newsubfiletype(unsigned long type)
{
    int chpr = 0;

    print_startvalue();
    switch(type)
    {
        case 0: chpr += printf("primary"); break;
        case 1: chpr += printf("thumbnail"); break;
        case 2: chpr += printf("page"); break;
        case 4: chpr += printf("mask"); break;
        default: chpr += printf("unknown"); break;
    }
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
subq $0x4, %rax
ja 0x21bf4
movq -0x18(%rbp), %rax
leaq 0x46aa9(%rip), %rcx     # 0x6863c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x46936(%rip), %rdi     # 0x684d9
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x21c08
leaq 0x45c65(%rip), %rdi     # 0x6781e
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x21c08
leaq 0x46918(%rip), %rdi     # 0x684e7
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x21c08
leaq 0x4690d(%rip), %rdi     # 0x684f2
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x21c08
leaq 0x463e3(%rip), %rdi     # 0x67fde
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
movb $0x0, %al
callq 0xb9d0
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_planarconfig
void
print_planarconfig(unsigned long config)
{
    int chpr = 0;

    print_startvalue();
    if(config == 1)
        chpr += printf("chunky/contig");
    else if(config == 2)
        chpr += printf("planar/separate");
    else
        chpr += printf("unknown");
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movb $0x0, %al
callq 0xb9a0
cmpq $0x1, -0x8(%rbp)
jne 0x21c57
leaq 0x46d85(%rip), %rdi     # 0x689cd
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x21c8a
cmpq $0x2, -0x8(%rbp)
jne 0x21c74
leaq 0x46d76(%rip), %rdi     # 0x689db
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x21c88
leaq 0x46363(%rip), %rdi     # 0x67fde
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x21c8a
movb $0x0, %al
callq 0xb9d0
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_jpegproc
void
print_jpegproc(unsigned long process)
{
    int chpr = 0;

    print_startvalue();
    if(process == 1)
        chpr += printf("baseline");
    else if(process == 14)
        chpr += printf("lossless");
    else
        chpr += printf("unknown");
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movb $0x0, %al
callq 0xb9a0
cmpq $0x1, -0x8(%rbp)
jne 0x21cd7
leaq 0x46d23(%rip), %rdi     # 0x689eb
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x21d0a
cmpq $0xe, -0x8(%rbp)
jne 0x21cf4
leaq 0x46d0f(%rip), %rdi     # 0x689f4
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x21d08
leaq 0x462e3(%rip), %rdi     # 0x67fde
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x21d0a
movb $0x0, %al
callq 0xb9d0
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_ycbcrpositioning
void
print_ycbcrpositioning(unsigned long position)
{
    int chpr = 0;

    print_startvalue();
    if(position == 1)
        chpr += printf("centered");
    else if(position == 2)
        chpr += printf("co-sited");
    else
        chpr += printf("unknown");
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movb $0x0, %al
callq 0xb9a0
cmpq $0x1, -0x8(%rbp)
jne 0x21d57
leaq 0x46cb5(%rip), %rdi     # 0x689fd
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x21d8a
cmpq $0x2, -0x8(%rbp)
jne 0x21d74
leaq 0x46ca1(%rip), %rdi     # 0x68a06
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x21d88
leaq 0x46263(%rip), %rdi     # 0x67fde
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x21d8a
movb $0x0, %al
callq 0xb9d0
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_filesource
void
print_filesource(unsigned long source)
{
    int chpr = 0;

    print_startvalue();
    switch(source)
    {
        case 0: chpr += printf("not specified"); break;
        case 1: chpr += printf("scanner - transparent"); break;
        case 2: chpr += printf("scanner - reflex"); break;
        case 3: chpr += printf("DSC"); break;
        default: chpr += printf("undefined");
    }
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
subq $0x3, %rax
ja 0x22244
movq -0x18(%rbp), %rax
leaq 0x464d5(%rip), %rcx     # 0x686b8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x46983(%rip), %rdi     # 0x68b76
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22258
leaq 0x4697b(%rip), %rdi     # 0x68b84
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22258
leaq 0x4697b(%rip), %rdi     # 0x68b9a
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22258
leaq 0x46976(%rip), %rdi     # 0x68bab
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22258
leaq 0x493c0(%rip), %rdi     # 0x6b60b
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
movb $0x0, %al
callq 0xb9d0
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_scenetype
void
print_scenetype(unsigned long type)
{
    int chpr = 0;

    print_startvalue();
    if(type == 1)
        chpr += printf("direct photo");
    else
        chpr += printf("not direct photo");
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movb $0x0, %al
callq 0xb9a0
cmpq $0x1, -0x8(%rbp)
jne 0x222a7
leaq 0x4691b(%rip), %rdi     # 0x68bb3
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x222bb
leaq 0x46901(%rip), %rdi     # 0x68baf
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
movb $0x0, %al
callq 0xb9d0
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_custom
void
print_custom(unsigned long rendered)
{
    int chpr = 0;

    print_startvalue();
    if(rendered == 0)
        chpr += printf("Normal");
    else if(rendered == 1)
        chpr += printf("Custom");
    else
        chpr += printf("reserved");
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movb $0x0, %al
callq 0xb9a0
cmpq $0x0, -0x8(%rbp)
jne 0x22307
leaq 0x4b6f1(%rip), %rdi     # 0x6d9e9
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x2233a
cmpq $0x1, -0x8(%rbp)
jne 0x22324
leaq 0x4e445(%rip), %rdi     # 0x7075a
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22338
leaq 0x4653e(%rip), %rdi     # 0x68869
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x2233a
movb $0x0, %al
callq 0xb9d0
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_exposuremode
void
print_exposuremode(unsigned long mode)
{
    int chpr = 0;

    print_startvalue();
    switch(mode)
    {
        case 0: chpr += printf("Auto"); break;
        case 1: chpr += printf("Manual"); break;
        case 2: chpr += printf("Auto Bracket"); break;
        default: chpr += printf("???"); break;
    }
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
testq %rax, %rax
je 0x22391
jmp 0x22379
movq -0x18(%rbp), %rax
subq $0x1, %rax
je 0x223a7
jmp 0x22385
movq -0x18(%rbp), %rax
subq $0x2, %rax
je 0x223bd
jmp 0x223d3
leaq 0x4ba22(%rip), %rdi     # 0x6ddba
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x223e7
leaq 0x465b8(%rip), %rdi     # 0x68966
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x223e7
leaq 0x467fc(%rip), %rdi     # 0x68bc0
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x223e7
leaq 0x45380(%rip), %rdi     # 0x6775a
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
movb $0x0, %al
callq 0xb9d0
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_whitebalance
void
print_whitebalance(unsigned long mode)
{
    int chpr = 0;

    print_startvalue();
    switch(mode)
    {
        case 0: chpr += printf("Auto"); break;
        case 1: chpr += printf("Manual"); break;
        default: chpr += printf("???"); break;
    }
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
testq %rax, %rax
je 0x22435
jmp 0x22429
movq -0x18(%rbp), %rax
subq $0x1, %rax
je 0x2244b
jmp 0x22461
leaq 0x4b97e(%rip), %rdi     # 0x6ddba
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22475
leaq 0x46514(%rip), %rdi     # 0x68966
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22475
leaq 0x452f2(%rip), %rdi     # 0x6775a
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
movb $0x0, %al
callq 0xb9d0
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_capturetype
void
print_capturetype(unsigned long type)
{
    int chpr = 0;

    print_startvalue();
    switch(type)
    {
        case 0: chpr += printf("Standard"); break;
        case 1: chpr += printf("Landscape"); break;
        case 2: chpr += printf("Portrait"); break;
        case 3: chpr += printf("Night Scene"); break;
        default: chpr += printf("reserved"); break;
    }
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
subq $0x3, %rax
ja 0x22524
movq -0x18(%rbp), %rax
leaq 0x46205(%rip), %rcx     # 0x686c8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x466fa(%rip), %rdi     # 0x68bcd
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22538
leaq 0x466ed(%rip), %rdi     # 0x68bd6
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22538
leaq 0x4c0b1(%rip), %rdi     # 0x6e5b0
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22538
leaq 0x466cb(%rip), %rdi     # 0x68be0
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22538
leaq 0x4633e(%rip), %rdi     # 0x68869
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
movb $0x0, %al
callq 0xb9d0
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_gaincontrol
void
print_gaincontrol(unsigned long type)
{ 
    int chpr = 0;

    print_startvalue();
    switch(type)
    {
        case 0: chpr += printf("None"); break;
        case 1: chpr += printf("Low gain up"); break;
        case 2: chpr += printf("High gain up"); break;
        case 3: chpr += printf("Low gain down"); break;
        case 4: chpr += printf("Hign gain down"); break;
        default: chpr += printf("reserved"); break;
    }
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
subq $0x4, %rax
ja 0x225fe
movq -0x18(%rbp), %rax
leaq 0x46151(%rip), %rcx     # 0x686d8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x46655(%rip), %rdi     # 0x68bec
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22612
leaq 0x46644(%rip), %rdi     # 0x68bf1
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22612
leaq 0x4663a(%rip), %rdi     # 0x68bfd
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22612
leaq 0x46631(%rip), %rdi     # 0x68c0a
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22612
leaq 0x46629(%rip), %rdi     # 0x68c18
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22612
leaq 0x46264(%rip), %rdi     # 0x68869
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
movb $0x0, %al
callq 0xb9d0
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_contrast
void
print_contrast(unsigned long contrast)
{
    int chpr = 0;

    print_startvalue();
    switch(contrast)
    {
        case 0: chpr += printf("Normal"); break;
        case 1: chpr += printf("Soft"); break;
        case 2: chpr += printf("Hard"); break;
        default: chpr += printf("???"); break;
    }
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
testq %rax, %rax
je 0x22671
jmp 0x22659
movq -0x18(%rbp), %rax
subq $0x1, %rax
je 0x22687
jmp 0x22665
movq -0x18(%rbp), %rax
subq $0x2, %rax
je 0x2269d
jmp 0x226b3
leaq 0x4b371(%rip), %rdi     # 0x6d9e9
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x226c7
leaq 0x4e863(%rip), %rdi     # 0x70ef1
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x226c7
leaq 0x4e859(%rip), %rdi     # 0x70efd
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x226c7
leaq 0x450a0(%rip), %rdi     # 0x6775a
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
movb $0x0, %al
callq 0xb9d0
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_saturation
void
print_saturation(unsigned long saturation)
{
    int chpr = 0;

    print_startvalue();
    switch(saturation)
    {
        case 0: chpr += printf("Normal"); break;
        case 1: chpr += printf("Low"); break;
        case 2: chpr += printf("High"); break;
        default: chpr += printf("???"); break;
    }
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
testq %rax, %rax
je 0x22721
jmp 0x22709
movq -0x18(%rbp), %rax
subq $0x1, %rax
je 0x22737
jmp 0x22715
movq -0x18(%rbp), %rax
subq $0x2, %rax
je 0x2274d
jmp 0x22763
leaq 0x4b2c1(%rip), %rdi     # 0x6d9e9
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22777
leaq 0x4e79c(%rip), %rdi     # 0x70eda
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22777
leaq 0x4e791(%rip), %rdi     # 0x70ee5
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22777
leaq 0x44ff0(%rip), %rdi     # 0x6775a
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
movb $0x0, %al
callq 0xb9d0
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_sharpness
void
print_sharpness(unsigned long sharpness)
{
    int chpr = 0;

    print_startvalue();
    switch(sharpness)
    {
        case 0: chpr += printf("Normal"); break;
        case 1: chpr += printf("Soft"); break;
        case 2: chpr += printf("Hard"); break;
        default: chpr += printf("???"); break;
    }
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
testq %rax, %rax
je 0x227d1
jmp 0x227b9
movq -0x18(%rbp), %rax
subq $0x1, %rax
je 0x227e7
jmp 0x227c5
movq -0x18(%rbp), %rax
subq $0x2, %rax
je 0x227fd
jmp 0x22813
leaq 0x4b211(%rip), %rdi     # 0x6d9e9
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22827
leaq 0x4e703(%rip), %rdi     # 0x70ef1
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22827
leaq 0x4e6f9(%rip), %rdi     # 0x70efd
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x22827
leaq 0x44f40(%rip), %rdi     # 0x6775a
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
movb $0x0, %al
callq 0xb9d0
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_subjectdistancerange
void
print_subjectdistancerange(unsigned long range)
{
    int chpr = 0;

    print_startvalue();
    switch(range)
    {
        case 0: chpr += printf("???"); break;
        case 1: chpr += printf("Macro"); break;
        case 2: chpr += printf("Close view"); break;
        case 3: chpr += printf("Distant view"); break;
        default: chpr += printf("???"); break;
    }
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
subq $0x3, %rax
ja 0x228d4
movq -0x18(%rbp), %rax
leaq 0x45e79(%rip), %rcx     # 0x686ec
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x44ed7(%rip), %rdi     # 0x6775a
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x228e8
leaq 0x4638e(%rip), %rdi     # 0x68c27
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x228e8
leaq 0x4637e(%rip), %rdi     # 0x68c2d
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x228e8
leaq 0x46373(%rip), %rdi     # 0x68c38
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x228e8
leaq 0x44e7f(%rip), %rdi     # 0x6775a
movb $0x0, %al
callq 0x3110
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
movb $0x0, %al
callq 0xb9d0
movl -0xc(%rbp), %edi
callq 0x1ff00
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_offset_epcfapattern
void
print_offset_epcfapattern(FILE *inptr,struct ifd_entry *entry_ptr,
                                    unsigned long fileoffset_base)
{
    unsigned long offset;
    unsigned short p;
    int i;
    int chpr = 0;

    if(inptr)
    {
        offset = entry_ptr->value + fileoffset_base;
        print_startvalue();
        for(i = 0; i < entry_ptr->count; ++i)
        {
            p = read_ubyte(inptr,offset++);
            if(i)
            {
                putchar(',');
                ++chpr;
            }
            putcolorchar(p & 0xff);
        }
        print_endvalue();
    }
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x2c(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x22baa
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
addq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movb $0x0, %al
callq 0xb9a0
movl $0x0, -0x28(%rbp)
movslq -0x28(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jae 0x22ba3
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq %rsi, %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
callq 0x4f20
movw %ax, -0x22(%rbp)
cmpl $0x0, -0x28(%rbp)
je 0x22b87
movl $0x2c, %edi
callq 0x3050
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
movzwl -0x22(%rbp), %eax
andl $0xff, %eax
movzwl %ax, %edi
callq 0xb8d0
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x22b44
movb $0x0, %al
callq 0xb9d0
movl -0x2c(%rbp), %edi
callq 0x1ff00
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_shutterspeed
void
print_shutterspeed(FILE *inptr,unsigned short byteorder,unsigned long offset)
{
    double speed_value,exptime;
    long num,denom;
    int chpr = 0;

    num = read_ulong(inptr,byteorder,offset);
    denom = read_ulong(inptr,byteorder,HERE);
    speed_value = (double)((double)num/(double)denom);
    exptime = pow(2.0,-speed_value);
    print_startvalue();
    chpr += printf("%g sec",exptime);
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movw %si, %ax
movq %rdi, -0x8(%rbp)
movw %ax, -0xa(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x3c(%rbp)
movq -0x8(%rbp), %rdi
movw -0xa(%rbp), %ax
movq -0x18(%rbp), %rdx
movzwl %ax, %esi
callq 0x4610
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movzwl -0xa(%rbp), %esi
callq 0x4610
movq %rax, -0x38(%rbp)
cvtsi2sdq -0x30(%rbp), %xmm0
cvtsi2sdq -0x38(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movsd -0x20(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
movsd 0x45abb(%rip), %xmm0    # 0x68700
callq 0x30d0
movsd %xmm0, -0x28(%rbp)
movb $0x0, %al
callq 0xb9a0
movsd -0x28(%rbp), %xmm0
leaq 0x45fe9(%rip), %rdi     # 0x68c4b
movb $0x1, %al
callq 0x3110
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movb $0x0, %al
callq 0xb9d0
movl -0x3c(%rbp), %edi
callq 0x1ff00
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_aperture
void
print_aperture(FILE *inptr,unsigned short byteorder,unsigned long offset)
{
    double aperture_value,fnumber;
    unsigned long num,denom;
    int chpr = 0;

    num = read_ulong(inptr,byteorder,offset);
    denom = read_ulong(inptr,byteorder,HERE);
    aperture_value = (double)((double)num/(double)denom);
    fnumber = pow(2.0,aperture_value/2.0);
    print_startvalue();
    chpr += printf("f%.1f",fnumber);
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movw %si, %ax
movq %rdi, -0x8(%rbp)
movw %ax, -0xa(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x3c(%rbp)
movq -0x8(%rbp), %rdi
movzwl -0xa(%rbp), %esi
movq -0x18(%rbp), %rdx
callq 0x4610
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movzwl -0xa(%rbp), %esi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x4610
movq %rax, -0x38(%rbp)
movaps 0x417c0(%rip), %xmm3    # 0x644a0
movq -0x30(%rbp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
movapd 0x417bf(%rip), %xmm2    # 0x644b0
subpd %xmm2, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movq -0x38(%rbp), %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movsd -0x20(%rbp), %xmm1
movsd 0x459d2(%rip), %xmm0    # 0x68700
divsd %xmm0, %xmm1
movsd 0x459c6(%rip), %xmm0    # 0x68700
callq 0x30d0
movsd %xmm0, -0x28(%rbp)
movb $0x0, %al
callq 0xb9a0
movsd -0x28(%rbp), %xmm0
leaq 0x45eee(%rip), %rdi     # 0x68c45
movb $0x1, %al
callq 0x3110
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movb $0x0, %al
callq 0xb9d0
movl -0x3c(%rbp), %edi
callq 0x1ff00
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/interpret.c
// Function: print_brightness
void
print_brightness(FILE *inptr,unsigned short byteorder,unsigned long offset)
{
    double brightness_value,brightness;
    long num,denom;
    int chpr = 0;

    num = read_ulong(inptr,byteorder,offset);
    denom = read_ulong(inptr,byteorder,HERE);
    brightness_value = (double)((double)num/(double)denom);
    brightness = pow(2.0,brightness_value);
    print_startvalue();
    chpr += printf("%.3g foot lambert",brightness);
    print_endvalue();
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movw %si, %ax
movq %rdi, -0x8(%rbp)
movw %ax, -0xa(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x3c(%rbp)
movq -0x8(%rbp), %rdi
movw -0xa(%rbp), %ax
movq -0x18(%rbp), %rdx
movzwl %ax, %esi
callq 0x4610
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movzwl -0xa(%rbp), %esi
callq 0x4610
movq %rax, -0x38(%rbp)
cvtsi2sdq -0x30(%rbp), %xmm0
cvtsi2sdq -0x38(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movsd -0x20(%rbp), %xmm1
movsd 0x45912(%rip), %xmm0    # 0x68700
callq 0x30d0
movsd %xmm0, -0x28(%rbp)
movb $0x0, %al
callq 0xb9a0
movsd -0x28(%rbp), %xmm0
leaq 0x45e47(%rip), %rdi     # 0x68c52
movb $0x1, %al
callq 0x3110
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movb $0x0, %al
callq 0xb9d0
movl -0x3c(%rbp), %edi
callq 0x1ff00
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/print_maker.c
// Function: print_makertagid
void
print_makertagid(struct ifd_entry *entry_ptr,int width, char *sep,
                                                int make,int model)
{
    char *nameoftag;
    int chpr = 0;

    if(entry_ptr)
    {
        if((PRINT_TAGNAME))
        {
            nameoftag = maker_tagname(entry_ptr->tag,make,model);
            chpr = printf("%-*.*s",width,width,nameoftag);
        }
        else if(PRINT_HEX_TAGNO)
            chpr = printf("<%#06x>",entry_ptr->tag & 0xffff);
        else if(PRINT_DEC_TAGNO)
            chpr = printf("<%5u>",entry_ptr->tag & 0xffff);
        if(PRINT_VALUE)
            chpr += printf("%s",sep ? sep : " = ");
    }
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movl %r8d, -0x20(%rbp)
movl $0x0, -0x2c(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x23f4e
leaq 0x5332d(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x1000, %rax           # imm = 0x1000
cmpq $0x0, %rax
je 0x23e98
movq -0x8(%rbp), %rax
movw (%rax), %ax
movl -0x1c(%rbp), %esi
movl -0x20(%rbp), %edx
movzwl %ax, %edi
callq 0x28160
movq %rax, -0x28(%rbp)
movl -0xc(%rbp), %esi
movl -0xc(%rbp), %edx
movq -0x28(%rbp), %rcx
leaq 0x47210(%rip), %rdi     # 0x6b09c
movb $0x0, %al
callq 0x3110
movl %eax, -0x2c(%rbp)
jmp 0x23f02
leaq 0x532e1(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x23ecc
movq -0x8(%rbp), %rax
movzwl (%rax), %esi
andl $0xffff, %esi           # imm = 0xFFFF
leaq 0x40713(%rip), %rdi     # 0x645d3
movb $0x0, %al
callq 0x3110
movl %eax, -0x2c(%rbp)
jmp 0x23f00
leaq 0x532ad(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x2, %rax
cmpq $0x0, %rax
je 0x23efe
movq -0x8(%rbp), %rax
movzwl (%rax), %esi
andl $0xffff, %esi           # imm = 0xFFFF
leaq 0x406e7(%rip), %rdi     # 0x645db
movb $0x0, %al
callq 0x3110
movl %eax, -0x2c(%rbp)
jmp 0x23f00
jmp 0x23f02
leaq 0x53277(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x23f4c
cmpq $0x0, -0x18(%rbp)
je 0x23f27
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x23f34
leaq 0x48dea(%rip), %rax     # 0x6cd18
movq %rax, -0x38(%rbp)
jmp 0x23f34
movq -0x38(%rbp), %rsi
leaq 0x40158(%rip), %rdi     # 0x64097
movb $0x0, %al
callq 0x3110
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
jmp 0x23f4e
movl -0x2c(%rbp), %edi
callq 0x1ff00
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/print_maker.c
// Function: fake_strcasestr
char *
fake_strcasestr(char *string,char *pattern)
{
    char *match = CNULL;
    int plen,slen;

    if(string && pattern)
    {
        plen = strlen(pattern);
        if(plen == 0)
            match = string;
        else
        {
            slen = strlen(string);
            while(plen <= slen)
            {
                if(strncasecmp(string,pattern,plen) == 0)
                {
                    match = string;
                    break;
                }
                ++string;
                --slen;
            }
        }
    }
    return(match);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x24c71
cmpq $0x0, -0x10(%rbp)
je 0x24c71
movq -0x10(%rbp), %rdi
callq 0x30f0
movl %eax, -0x1c(%rbp)
cmpl $0x0, -0x1c(%rbp)
jne 0x24c22
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x24c6f
movq -0x8(%rbp), %rdi
callq 0x30f0
movl %eax, -0x20(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x20(%rbp), %eax
jg 0x24c6d
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movslq -0x1c(%rbp), %rdx
callq 0x31e0
cmpl $0x0, %eax
jne 0x24c56
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x24c6d
movq -0x8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x8(%rbp)
movl -0x20(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x24c2e
jmp 0x24c6f
jmp 0x24c71
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/print_maker.c
// Function: print_camera_models
void
print_camera_models(struct camera_id *model_names,char *pattern)
{
    struct camera_id *maker_id;
    int chpr = 0;

    chpr = newline(0);
    for(maker_id = model_names ; maker_id && maker_id->name; ++maker_id)
    {
        if(pattern)
        {
            if(STRCASESTR(maker_id->name,pattern))
            {
                chpr += printf("\t\t%-32.32s ",maker_id->name);
                chpr += printf("\t[%2d,%d]",maker_id->id,
                                maker_id->noteversion);
                chpr = newline(chpr);
            }
        }
        else
        {
            chpr += printf("\t\t%-32.32s ",maker_id->name);
            chpr += printf("\t[%2d,%d]",maker_id->id,
                                maker_id->noteversion);
            chpr = newline(chpr);
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x1c(%rbp)
xorl %edi, %edi
callq 0x1ef50
movl %eax, -0x1c(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x18(%rbp)
movb %al, -0x1d(%rbp)
je 0x24cc3
movq -0x18(%rbp), %rax
cmpq $0x0, (%rax)
setne %al
movb %al, -0x1d(%rbp)
movb -0x1d(%rbp), %al
testb $0x1, %al
jne 0x24ccf
jmp 0x24d91
cmpq $0x0, -0x10(%rbp)
je 0x24d36
movq -0x18(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x24be0
cmpq $0x0, %rax
je 0x24d34
movq -0x18(%rbp), %rax
movq (%rax), %rsi
leaq 0x443f1(%rip), %rdi     # 0x690eb
movb $0x0, %al
callq 0x3110
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movq -0x18(%rbp), %rax
movl 0xc(%rax), %esi
movq -0x18(%rbp), %rax
movl 0x10(%rax), %edx
leaq 0x443db(%rip), %rdi     # 0x690f7
movb $0x0, %al
callq 0x3110
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %edi
callq 0x1ef50
movl %eax, -0x1c(%rbp)
jmp 0x24d7e
movq -0x18(%rbp), %rax
movq (%rax), %rsi
leaq 0x443a7(%rip), %rdi     # 0x690eb
movb $0x0, %al
callq 0x3110
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movq -0x18(%rbp), %rax
movl 0xc(%rax), %esi
movq -0x18(%rbp), %rax
movl 0x10(%rax), %edx
leaq 0x44391(%rip), %rdi     # 0x690f7
movb $0x0, %al
callq 0x3110
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %edi
callq 0x1ef50
movl %eax, -0x1c(%rbp)
jmp 0x24d80
movq -0x18(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x18(%rbp)
jmp 0x24ca9
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_generic.c
// Function: maker_number
int
maker_number(char *make)
{
    struct camera_name *maker_id;
    int number = NO_MAKE;

    if(make)
    {
        /* 'Camera_make' is a global parameter                            */
        for(maker_id = Camera_make; maker_id && maker_id->name; ++maker_id)
        {
            if(strncasecmp(make,maker_id->name,maker_id->namelen) == 0)
            {
                number = maker_id->id;
                break;
            }
        }
    }
    return(number);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0x14(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x26e13
leaq 0x513ef(%rip), %rax     # 0x781a0
movq %rax, -0x10(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x10(%rbp)
movb %al, -0x15(%rbp)
je 0x26dcf
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
setne %al
movb %al, -0x15(%rbp)
movb -0x15(%rbp), %al
testb $0x1, %al
jne 0x26dd8
jmp 0x26e11
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
movq -0x10(%rbp), %rax
movslq 0x8(%rax), %rdx
callq 0x31e0
cmpl $0x0, %eax
jne 0x26e01
movq -0x10(%rbp), %rax
movl 0xc(%rax), %eax
movl %eax, -0x14(%rbp)
jmp 0x26e11
jmp 0x26e03
movq -0x10(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x10(%rbp)
jmp 0x26db5
jmp 0x26e13
movl -0x14(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_generic.c
// Function: maker_value_is_offset
int
maker_value_is_offset(struct ifd_entry *entry,int make,int model)
{
    int is_offset = 0;

    if(entry)
    {
        switch(make)
        {
            case MAKER_ASAHI:
            case MAKER_PENTAX:
                is_offset = maker_asahi_value_is_offset(entry,model);
                break;
            case MAKER_CANON:
                is_offset = maker_canon_value_is_offset(entry,model);
                break;
            case MAKER_CASIO:
                is_offset = maker_casio_value_is_offset(entry,model);
                break;
            case MAKER_NIKON:
                is_offset = maker_nikon_value_is_offset(entry,model);
                break;
            case MAKER_MINOLTA:
                is_offset = maker_minolta_value_is_offset(entry,model);
                break;
            default:
                break;
        }
    }
    return(is_offset);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x27d1e
movl -0xc(%rbp), %eax
addl $-0x2, %eax
movl %eax, %ecx
movq %rcx, -0x20(%rbp)
subl $0xd, %eax
ja 0x27d1a
movq -0x20(%rbp), %rax
leaq 0x4150c(%rip), %rcx     # 0x691c8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x8(%rbp), %rdi
movl -0x10(%rbp), %esi
callq 0x60a10
movl %eax, -0x14(%rbp)
jmp 0x27d1c
movq -0x8(%rbp), %rdi
movl -0x10(%rbp), %esi
callq 0x5ba80
movl %eax, -0x14(%rbp)
jmp 0x27d1c
movq -0x8(%rbp), %rdi
movl -0x10(%rbp), %esi
callq 0x49980
movl %eax, -0x14(%rbp)
jmp 0x27d1c
movq -0x8(%rbp), %rdi
movl -0x10(%rbp), %esi
callq 0x413f0
movl %eax, -0x14(%rbp)
jmp 0x27d1c
movq -0x8(%rbp), %rdi
movl -0x10(%rbp), %esi
callq 0x4e790
movl %eax, -0x14(%rbp)
jmp 0x27d1c
jmp 0x27d1c
jmp 0x27d1e
movl -0x14(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_generic.c
// Function: check_printable
char *
check_printable(char *id, int maxlen)
{
    static char buffer[MAX_IDLEN];
    char *idval,*bufval;
    int i = 0;

    memset(buffer,'\0',MAX_IDLEN);
    if(maxlen > MAX_IDLEN)
        maxlen = MAX_IDLEN;
    bufval = buffer;

    for(idval = id; idval && (i < maxlen - 1); ++idval,++bufval,++i)
        if(!isprint(*idval))
        {
            *bufval = '\0';
            break;
        }
        else
            *bufval = *idval;
    return(buffer);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl $0x0, -0x24(%rbp)
leaq 0x54893(%rip), %rdi     # 0x7c610
xorl %esi, %esi
movl $0x18, %edx
callq 0x3130
cmpl $0x18, -0xc(%rbp)
jle 0x27d96
movl $0x18, -0xc(%rbp)
leaq 0x54873(%rip), %rax     # 0x7c610
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x18(%rbp)
movb %al, -0x25(%rbp)
je 0x27dc6
movl -0x24(%rbp), %eax
movl -0xc(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
setl %al
movb %al, -0x25(%rbp)
movb -0x25(%rbp), %al
testb $0x1, %al
jne 0x27dcf
jmp 0x27e29
callq 0x32c0
movq (%rax), %rax
movq -0x18(%rbp), %rcx
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x4000, %eax           # imm = 0x4000
cmpl $0x0, %eax
jne 0x27df8
movq -0x20(%rbp), %rax
movb $0x0, (%rax)
jmp 0x27e29
movq -0x18(%rbp), %rax
movb (%rax), %cl
movq -0x20(%rbp), %rax
movb %cl, (%rax)
jmp 0x27e06
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x27da9
leaq 0x547e0(%rip), %rax     # 0x7c610
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_generic.c
// Function: valid_tiffhdr
unsigned short
valid_tiffhdr(FILE *inptr,unsigned long offset,int print_marker)
{
    struct fileheader *header;
    unsigned short marker = 0;
    int chpr = 0;

    if(inptr && offset)
    {
        if(print_marker)
            chpr = printf(" read at offset %lu ",offset);
        header = read_imageheader(inptr,offset);
        if(header)
        {
            if(print_marker)
                chpr += printf(" %#x ",header->file_marker);
            switch(header->probe_magic)
            {
                case TIFF_MAGIC:
                    marker = header->file_marker;
                    break;
                default:
                    marker = 0;
                    break;
            }
        }
    }
    setcharsprinted(chpr);
    return(marker);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movw $0x0, -0x22(%rbp)
movl $0x0, -0x28(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x27eed
cmpq $0x0, -0x10(%rbp)
je 0x27eed
cmpl $0x0, -0x14(%rbp)
je 0x27e8d
movq -0x10(%rbp), %rsi
leaq 0x42143(%rip), %rdi     # 0x69fc6
movb $0x0, %al
callq 0x3110
movl %eax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x3f70
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x27eeb
cmpl $0x0, -0x14(%rbp)
je 0x27ec6
movq -0x20(%rbp), %rax
movzwl (%rax), %esi
leaq 0x3fa85(%rip), %rdi     # 0x6793e
movb $0x0, %al
callq 0x3110
addl -0x28(%rbp), %eax
movl %eax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
subq $0x2a, %rax
jne 0x27ee3
jmp 0x27ed6
movq -0x20(%rbp), %rax
movw (%rax), %ax
movw %ax, -0x22(%rbp)
jmp 0x27ee9
movw $0x0, -0x22(%rbp)
jmp 0x27eeb
jmp 0x27eed
movl -0x28(%rbp), %edi
callq 0x1ff00
movw -0x22(%rbp), %ax
addq $0x30, %rsp
popq %rbp
retq
nop