// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/options.c
// Function: usage
void
usage()
{
    printf("Usage:\n%s [options] filenames(s)\n",Progname);
    printf("\t-h - print this help message\n");
    printf("\t-V - print program version and copyright\n");
    (void)putchar('\n');
    printf("\t-R - Report mode: only tagnames and decimal values, indented, inline\n");
    printf("\t-S - Structure mode: everything, offset values not inline (default)\n");
    printf("\t-L - List mode: list all tags and values (only); no structure\n");
    printf("\t-Z - Zero (turn off) all output flags\n");
    (void)putchar('\n');
    printf("\t-a - toggle print addresses in hex and decimal\n");
    printf("\t-D - toggle print enabled addresses, tag numbers and values in decimal only\n");
    printf("\t-X - toggle print enabled addresses, tag numbers and values in hex only\n");
    printf("\t-I - toggle indent (after address -> before -> none)\n");
    printf("\t-i - toggle \"inline\" print of IFD values\n");
    printf("\t-n - toggle printing of filename at start of each output line\n");
    printf("\t-c - toggle use of color to highlight certain sections\n");
    printf("\t-u - print all 16 bits of unicode data\n");
    (void)putchar('\n');

    printf("\t-p[items] - toggle print identifiers for:\n");
    printf("\t\ts - sections\n");
    printf("\t\tg - segments\n");
    printf("\t\te - IFD entries\n");
    printf("\t\ta - expand known entries in APP0...APPN segents\n");
    printf("\t\tm - print MakerNote scheme detection info\n");
    printf("\t\tM - debug MakerNote scheme detection info\n");
    printf("\t\tl - long tagnames (default in List mode)\n");
    (void)putchar('\n');

    printf("\t-e[items] - toggle print IFD entry items:\n");
    printf("\t\tt - tagname\n");
    printf("\t\tn - tag number in decimal\n");
    printf("\t\tN - tag number in hex\n");
    printf("\t\tT - entry type\n");
    printf("\t\tv - value in decimal\n");
    printf("\t\tV - value in hex\n");
    printf("\t\to - file offset to value in decimal\n");
    printf("\t\tO - file offset to value in hex\n");
    printf("\t\tr - relative (unadjusted) offset in decimal\n");
    printf("\t\tR - print \"raw\" values where expansion of values is needed\n");
    printf("\t\ta - print ascii strings until null, rather than by length\n");
    printf("\t\tA - print ALL elements of multiple-value tags\n");
    (void)putchar('\n');

    printf("\t-M[len|a] - hex/ascii dump 'len' (or all) bytes of unknown MakerNotes\n");
    printf("\t-A[len|a] - hex/ascii dump 'len' (or all) bytes of unknown APPn segments\n");
    printf("\t-U[len|a] - hex/ascii dump 'len' (or all) bytes of UNDEFINED data of unknown format\n");
    printf("\t-B[len|a] - hex/ascii dump 'len' (or all) bytes of binary images or invalid JPEG data\n");
    printf("\t-N[num]   - force noteversion 'num' for MakerNote interpretation\n");
    printf("\t-m[name]  - force use of maker 'name' to select MakerNote interpretation routines\n");
    printf("\t-l[model] - force use of 'model' to select MakerNote interpretation routines\n");
    (void)putchar('\n');
    printf("\t-O[offset]       - start processing at 'offset' in file\n");
    printf("\t-C[make]+[model] - print makes matching 'make', models matching 'model' (substrings)\n");
    (void)putchar('\n');
    print_version();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x4f62d(%rip), %rax     # 0x78468
movq (%rax), %rsi
leaq 0x414d6(%rip), %rdi     # 0x6a31b
movb $0x0, %al
callq 0x3110
leaq 0x414ea(%rip), %rdi     # 0x6a33d
movb $0x0, %al
callq 0x3110
leaq 0x414fb(%rip), %rdi     # 0x6a35c
movb $0x0, %al
callq 0x3110
movl $0xa, %edi
callq 0x3050
leaq 0x4150e(%rip), %rdi     # 0x6a387
movb $0x0, %al
callq 0x3110
leaq 0x41547(%rip), %rdi     # 0x6a3ce
movb $0x0, %al
callq 0x3110
leaq 0x4157f(%rip), %rdi     # 0x6a414
movb $0x0, %al
callq 0x3110
leaq 0x415b1(%rip), %rdi     # 0x6a454
movb $0x0, %al
callq 0x3110
movl $0xa, %edi
callq 0x3050
leaq 0x415c1(%rip), %rdi     # 0x6a47c
movb $0x0, %al
callq 0x3110
leaq 0x415e4(%rip), %rdi     # 0x6a4ad
movb $0x0, %al
callq 0x3110
leaq 0x41624(%rip), %rdi     # 0x6a4fb
movb $0x0, %al
callq 0x3110
leaq 0x41660(%rip), %rdi     # 0x6a545
movb $0x0, %al
callq 0x3110
leaq 0x41689(%rip), %rdi     # 0x6a57c
movb $0x0, %al
callq 0x3110
leaq 0x416a6(%rip), %rdi     # 0x6a5a7
movb $0x0, %al
callq 0x3110
leaq 0x416d8(%rip), %rdi     # 0x6a5e7
movb $0x0, %al
callq 0x3110
leaq 0x41703(%rip), %rdi     # 0x6a620
movb $0x0, %al
callq 0x3110
movl $0xa, %edi
callq 0x3050
leaq 0x41714(%rip), %rdi     # 0x6a649
movb $0x0, %al
callq 0x3110
leaq 0x41732(%rip), %rdi     # 0x6a675
movb $0x0, %al
callq 0x3110
leaq 0x41734(%rip), %rdi     # 0x6a685
movb $0x0, %al
callq 0x3110
leaq 0x41736(%rip), %rdi     # 0x6a695
movb $0x0, %al
callq 0x3110
leaq 0x4173b(%rip), %rdi     # 0x6a6a8
movb $0x0, %al
callq 0x3110
leaq 0x41760(%rip), %rdi     # 0x6a6db
movb $0x0, %al
callq 0x3110
leaq 0x4177f(%rip), %rdi     # 0x6a708
movb $0x0, %al
callq 0x3110
leaq 0x4179e(%rip), %rdi     # 0x6a735
movb $0x0, %al
callq 0x3110
movl $0xa, %edi
callq 0x3050
leaq 0x417b2(%rip), %rdi     # 0x6a761
movb $0x0, %al
callq 0x3110
leaq 0x417d0(%rip), %rdi     # 0x6a78d
movb $0x0, %al
callq 0x3110
leaq 0x417d1(%rip), %rdi     # 0x6a79c
movb $0x0, %al
callq 0x3110
leaq 0x417e0(%rip), %rdi     # 0x6a7b9
movb $0x0, %al
callq 0x3110
leaq 0x417eb(%rip), %rdi     # 0x6a7d2
movb $0x0, %al
callq 0x3110
leaq 0x417ef(%rip), %rdi     # 0x6a7e4
movb $0x0, %al
callq 0x3110
leaq 0x417f9(%rip), %rdi     # 0x6a7fc
movb $0x0, %al
callq 0x3110
leaq 0x417ff(%rip), %rdi     # 0x6a810
movb $0x0, %al
callq 0x3110
leaq 0x41818(%rip), %rdi     # 0x6a837
movb $0x0, %al
callq 0x3110
leaq 0x4182d(%rip), %rdi     # 0x6a85a
movb $0x0, %al
callq 0x3110
leaq 0x4184e(%rip), %rdi     # 0x6a889
movb $0x0, %al
callq 0x3110
leaq 0x4187e(%rip), %rdi     # 0x6a8c7
movb $0x0, %al
callq 0x3110
leaq 0x418ad(%rip), %rdi     # 0x6a904
movb $0x0, %al
callq 0x3110
movl $0xa, %edi
callq 0x3050
leaq 0x418c6(%rip), %rdi     # 0x6a935
movb $0x0, %al
callq 0x3110
leaq 0x41900(%rip), %rdi     # 0x6a97d
movb $0x0, %al
callq 0x3110
leaq 0x4193d(%rip), %rdi     # 0x6a9c8
movb $0x0, %al
callq 0x3110
leaq 0x41985(%rip), %rdi     # 0x6aa1e
movb $0x0, %al
callq 0x3110
leaq 0x419cf(%rip), %rdi     # 0x6aa76
movb $0x0, %al
callq 0x3110
leaq 0x41a04(%rip), %rdi     # 0x6aab9
movb $0x0, %al
callq 0x3110
leaq 0x41a4a(%rip), %rdi     # 0x6ab0d
movb $0x0, %al
callq 0x3110
movl $0xa, %edi
callq 0x3050
leaq 0x41a81(%rip), %rdi     # 0x6ab5c
movb $0x0, %al
callq 0x3110
leaq 0x41aad(%rip), %rdi     # 0x6ab96
movb $0x0, %al
callq 0x3110
movl $0xa, %edi
callq 0x3050
callq 0x29110
popq %rbp
retq
nopw %cs:(%rax,%rax)