// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/maker_olympus.c
// Function: olympus2010_interpret_value
void
olympus2010_interpret_value(struct ifd_entry *entry_ptr,char *prefix)
{
    int chpr = 0;

    if(entry_ptr && (PRINT_VALUE))
    {
        switch(entry_ptr->tag)
        {
            case 0x1000: 
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 0: chpr += printf("None"); break;
                    case 2: chpr += printf("Simple E-System"); break;
                    case 3: chpr += printf("E-System"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            case 0x1001: 
                print_startvalue();
                switch(entry_ptr->value)
                {
                    case 1: chpr += printf("FL-20"); break;
                    case 2: chpr += printf("FL-50"); break;
                    case 3: chpr += printf("RF-11"); break;
                    case 4: chpr += printf("TF-22"); break;
                    case 5: chpr += printf("FL-36"); break;
                    default: chpr += printf("unknown"); break;
                }
                print_endvalue();
                break;
            default:
                break;
        }
    }
    setcharsprinted(chpr);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x44a27
leaq 0x328e7(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x30, %rax
cmpq $0x0, %rax
je 0x44a27
movq -0x8(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x18(%rbp)
subl $0x1000, %eax           # imm = 0x1000
je 0x448d0
jmp 0x448bd
movl -0x18(%rbp), %eax
subl $0x1001, %eax           # imm = 0x1001
je 0x44964
jmp 0x44a23
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x20(%rbp)
testq %rax, %rax
je 0x44902
jmp 0x448ea
movq -0x20(%rbp), %rax
subq $0x2, %rax
je 0x44918
jmp 0x448f6
movq -0x20(%rbp), %rax
subq $0x3, %rax
je 0x4492e
jmp 0x44944
leaq 0x242e3(%rip), %rdi     # 0x68bec
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x44958
leaq 0x28d1c(%rip), %rdi     # 0x6d63b
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x44958
leaq 0x28d0d(%rip), %rdi     # 0x6d642
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x44958
leaq 0x23693(%rip), %rdi     # 0x67fde
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movb $0x0, %al
callq 0xb9d0
jmp 0x44a25
xorl %eax, %eax
callq 0xb9a0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
decq %rax
movq %rax, -0x28(%rbp)
subq $0x4, %rax
ja 0x44a06
movq -0x28(%rbp), %rax
leaq 0x285d9(%rip), %rcx     # 0x6cf68
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x28cac(%rip), %rdi     # 0x6d64b
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x44a1a
leaq 0x28c9c(%rip), %rdi     # 0x6d651
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x44a1a
leaq 0x28c8c(%rip), %rdi     # 0x6d657
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x44a1a
leaq 0x28c7c(%rip), %rdi     # 0x6d65d
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x44a1a
leaq 0x28c6c(%rip), %rdi     # 0x6d663
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x44a1a
leaq 0x235d1(%rip), %rdi     # 0x67fde
movb $0x0, %al
callq 0x3110
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movb $0x0, %al
callq 0xb9d0
jmp 0x44a25
jmp 0x44a25
jmp 0x44a27
movl -0x14(%rbp), %edi
callq 0x1ff00
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)