// File: /workspace/github_c_makefile_star2_O0/hfiguiere[P]exifprobe/options.c
// Function: process_options
int
process_options(int argc,char **argv)
{
    int opt;
    unsigned long bits;
    int nv;

    if((CHECK_TTY_FOR_COLOR))
    {
        if(isatty(fileno(stdout)) == 0)
            Print_options &= ~PCOLOR;
    }
    while((opt = getopt(argc,argv,"ace:hil:m:np:s:tuA:B:C:DILM:N:O:RSU:VXY:Z")) != EOF)
    {
        switch(opt & 0xff)
        {
            case 'I':   /* Indent: after -> before -> none -> after   */
                        if(PRINT_INDENT_AFTER_ADDRESS)
                        {
                            Print_options &= ~INDENT_AFTER_ADDRESS;
                            Print_options |= INDENT_BEFORE_ADDRESS;
                        }
                        else if(PRINT_INDENT_BEFORE_ADDRESS)
                            Print_options &= ~(INDENT_BEFORE_ADDRESS|INDENT_AFTER_ADDRESS);
                        else
                        {
                            Print_options &= ~INDENT_BEFORE_ADDRESS;
                            Print_options |= INDENT_AFTER_ADDRESS;
                        }
                        break;
            /* Modes: structural (default), report, or list           */
            case 'S':   Print_options = DEFAULT_OPTIONS; break;
            case 'R':   Print_options = REPORT_OPTIONS; break;
            case 'L':   Print_options = LIST_OPTIONS; break;


            /* Want hex?...or decimal                                 */
            case 'D':   bits = Print_options & HEX_ONLY;
                        bits = (bits << 1) & DECIMAL_ONLY;
                        Print_options &= ~HEX_ONLY;
                        Print_options |= bits;
                        break;
            case 'X':   bits = Print_options & DECIMAL_ONLY;
                        bits = (bits >> 1) & HEX_ONLY;
                        Print_options &= ~DECIMAL_ONLY;
                        Print_options |= bits;
                        break;

            /* Zero all print options; leaves only image summary and  */
            /* filetype/fileformat. Leave LONGNAMES on.               */
            case 'Z':   Print_options = LONGNAMES_FLAG; break;

            /* toggle use of color highlighting                       */
            case 'c':   Print_options = toggle(Print_options,PCOLOR); break;
            /* toggle printing of offset values in IFDs "(i)nline"    */
            /* with the directory entry (not at the value offset)     */
            case 'i':   Print_options = toggle(Print_options,VALUE_AT_OFFSET); break;

            case 'a':   Print_options = toggle(Print_options,HEXADDRESS | DECADDRESS); break;

            /* 'e'ntry options; which parts of an entry to            */
            /* (de)activate                                           */
            case 'e':   while(*optarg)
                        {
                            switch(*optarg)
                            {
                                case 't': Print_options = toggle(Print_options,TAGNAME); break;
                                case 'n': Print_options = toggle(Print_options,DECTAGNO); break;
                                case 'N': Print_options = toggle(Print_options,HEXTAGNO); break;
                                case 'T': Print_options = toggle(Print_options,TYPE); break;
                                case 'v': Print_options = toggle(Print_options,DECVALUE); break;
                                case 'V': Print_options = toggle(Print_options,HEXVALUE); break;
                                case 'o': Print_options = toggle(Print_options,DECOFFSET); break;
                                case 'O': Print_options = toggle(Print_options,HEXOFFSET); break;
                                case 'r': Print_options = toggle(Print_options,RELOFFSET); break;
                                case 'R': Print_options = toggle(Print_options,RAW_VALUES); break;
                                case 'a': Print_options = toggle(Print_options,ASCII_IGNORE_LENGTH); break;
                                case 'A': Print_options = toggle(Print_options,MULTIVAL_PRINT_ALL); break;
                            }
                            ++optarg;
                        }
                        break;

            case 'n': Print_options = toggle(Print_options,FILENAMES); break;

            /* 'p'rint options; which sections/features to            */
            /* (de)activeate                                          */
            case 'p':   while(*optarg)
                        {
                            switch(*optarg)
                            {
                                case 'l': Print_options = toggle(Print_options,LONGNAMES_FLAG); break;
                                case 's': Print_options = toggle(Print_options,SECTION); break;
                                case 'a': Print_options = toggle(Print_options,APP_ENTRY); break;
                                case 'g': Print_options = toggle(Print_options,SEGMENT); break;
                                case 'm': Print_options |= MAKERNOTE_SCHEME; break;
                                case 'M': Print_options |= MAKERNOTE_SCHEME|SCHEME_DEBUG; break;
                                case 'e': Print_options = toggle(Print_options,ENTRY); break;
                            }
                            ++optarg;
                        }
                        break;

            case 'B':   /* dump binary image segments and failed Jpeg */
                        /* image segments                             */
                        if(optarg)
                        {
                            if(*optarg == 'a')
                                Max_imgdump = DUMPALL;
                            else
                                Max_imgdump = strtoul(optarg,NULL,0);
                        }
                        else
                            Max_imgdump = DUMPALL;
                        break;
            case 'U':   /* dump UNDEFINED segments                    */
                        /* Also affects raw image sections            */
                        if(optarg)
                        {
                            if(*optarg == 'a')
                                Max_undefined = DUMPALL;
                            else
                                Max_undefined = strtoul(optarg,NULL,0);
                        }
                        else
                            Max_undefined = DUMPALL;
                        break;
            case 'M':   /* dump MakerNotes                            */
                        Print_options |= MAKERDUMP;
                        if(optarg)
                        {
                            if(*optarg == 'a')
                                Max_makerdump = DUMPALL;
                            else
                                Max_makerdump = strtoul(optarg,NULL,0);
                        }
                        break;
            case 'N':   /* force a noteversion                        */
                        if(optarg)
                        {
                            nv = atoi(optarg);
                            setoptionnoteversion(nv);
                        }
                        break;
            case 'A':   /* dump APPn segments                         */
                        Print_options |= APPNDUMP;
                        if(optarg)
                        {
                            if(*optarg == 'a')
                                Max_appdump = DUMPALL;
                            else
                                Max_appdump = strtoul(optarg,NULL,0);
                        }
                        break;
            /* Options to force makernote routines to use a specific  */
            /* set of routines to interpret MakerNotes. Scheme        */
            /* detection is automatic and (largely) unaffected        */
            /* (except for certain details which are unavoidably      */
            /* maker-specific). This may be used to check whether a   */
            /* set of MakerNote tags for an undocumented camera       */
            /* actually match a set for which routines exist for      */
            /* another camera                                         */

            /* "Software" has proven unreliable for identification    */
            /* purposes, and is not used for anything. Changing it    */
            /* here will accomplish nothing.                          */

            case 'm':   Use_Make_name = optarg;
                        break;
            case 'l':   Use_Model_name = optarg;
                        break;
            case 's':   Use_Software_name = optarg; /* useless        */
                        break;

            /* help and version                                       */
            case 'h':   usage(); exit(0); break;
            case 'V':   print_version(); break;

            /* Y is this happpening? Random debug for development     */
            /* only; e.g bit 0x4 shows summary debug, bit 0x8 shows   */
            /* noteversion debug...                                   */
            case 'Y':   Debug = strtoul(optarg,(char **)0,0); break;

            /* Print make and/or model names of digital cameras       */
            /* "known" to the program. The format is -C make+model,   */
            /* where 'make' and 'model' are strings subjected to a    */
            /* simple substring match with known info. A missing      */
            /* pattern matches everything, so "-C +" prints all known */
            /* makes and models. As a special case "-C -" prints all  */
            /* makes. Make and Model are significant only for         */
            /* MakerNotes.                                            */
            case 'C':   Camera_name_pattern = optarg;
                        Print_options = toggle(Print_options,CAMERA_NAMES);
                        break;
            case 'O':   Start_offset = strtoul(optarg,0,0);
                        break;
            case 't':   Print_options = toggle(Print_options,TTY_COLOR_CHECK); 
                        break;
            case 'u':   Print_options = toggle(Print_options,UNICODE_FLAG); 
                        break;
            default:    usage();
                        exit(1);
                        break;
        }
    }
    return(optind);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
leaq 0x4edda(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x80, %rax
cmpq $0x0, %rax
je 0x283ea
movq 0x4ec0c(%rip), %rax     # 0x76fc8
movq (%rax), %rdi
callq 0x31c0
movl %eax, %edi
callq 0x30b0
cmpl $0x0, %eax
jne 0x283e8
leaq 0x4eda9(%rip), %rax     # 0x77180
movq (%rax), %rcx
andq $-0x1, %rcx
leaq 0x4ed9b(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x283ea
jmp 0x283ec
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rsi
leaq 0x41ee2(%rip), %rdx     # 0x6a2dc
movb $0x0, %al
callq 0x3230
movl %eax, -0x14(%rbp)
cmpl $-0x1, %eax
je 0x28d21
movzbl -0x14(%rbp), %eax
addl $-0x41, %eax
movl %eax, %ecx
movq %rcx, -0x30(%rbp)
subl $0x34, %eax
ja 0x28d0d
movq -0x30(%rbp), %rax
leaq 0x41c1e(%rip), %rcx     # 0x6a04c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x4ed42(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x10000000, %rax       # imm = 0x10000000
cmpq $0x0, %rax
je 0x28485
leaq 0x4ed2c(%rip), %rax     # 0x77180
movq (%rax), %rcx
andq $-0x10000001, %rcx      # imm = 0xEFFFFFFF
leaq 0x4ed1b(%rip), %rax     # 0x77180
movq %rcx, (%rax)
leaq 0x4ed11(%rip), %rax     # 0x77180
movq (%rax), %rcx
orq $0x20000000, %rcx       # imm = 0x20000000
leaq 0x4ed00(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x284f0
leaq 0x4ecf4(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x20000000, %rax       # imm = 0x20000000
cmpq $0x0, %rax
je 0x284b8
leaq 0x4ecde(%rip), %rax     # 0x77180
movq (%rax), %rcx
andq $-0x30000001, %rcx      # imm = 0xCFFFFFFF
leaq 0x4eccd(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x284ee
leaq 0x4ecc1(%rip), %rax     # 0x77180
movq (%rax), %rcx
andq $-0x20000001, %rcx      # imm = 0xDFFFFFFF
leaq 0x4ecb0(%rip), %rax     # 0x77180
movq %rcx, (%rax)
leaq 0x4eca6(%rip), %rax     # 0x77180
movq (%rax), %rcx
orq $0x10000000, %rcx       # imm = 0x10000000
leaq 0x4ec95(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x284f0
jmp 0x28d1c
leaq 0x4ec84(%rip), %rax     # 0x77180
movq $0x111f3323, (%rax)     # imm = 0x111F3323
jmp 0x28d1c
leaq 0x4ec71(%rip), %rax     # 0x77180
movq $0x501c1020, (%rax)     # imm = 0x501C1020
jmp 0x28d1c
leaq 0x4ec5e(%rip), %rax     # 0x77180
movq $0x40101060, (%rax)     # imm = 0x40101060
jmp 0x28d1c
leaq 0x4ec4b(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x10111, %rax          # imm = 0x10111
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
shlq %rax
andq $0x20222, %rax          # imm = 0x20222
movq %rax, -0x20(%rbp)
leaq 0x4ec26(%rip), %rax     # 0x77180
movq (%rax), %rcx
andq $-0x10112, %rcx         # imm = 0xFFFEFEEE
leaq 0x4ec15(%rip), %rax     # 0x77180
movq %rcx, (%rax)
movq -0x20(%rbp), %rcx
leaq 0x4ec07(%rip), %rax     # 0x77180
orq (%rax), %rcx
leaq 0x4ebfd(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x28d1c
leaq 0x4ebee(%rip), %rax     # 0x77180
movq (%rax), %rax
andq $0x20222, %rax          # imm = 0x20222
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
shrq %rax
andq $0x10111, %rax          # imm = 0x10111
movq %rax, -0x20(%rbp)
leaq 0x4ebc9(%rip), %rax     # 0x77180
movq (%rax), %rcx
andq $-0x20223, %rcx         # imm = 0xFFFDFDDD
leaq 0x4ebb8(%rip), %rax     # 0x77180
movq %rcx, (%rax)
movq -0x20(%rbp), %rcx
leaq 0x4ebaa(%rip), %rax     # 0x77180
orq (%rax), %rcx
leaq 0x4eba0(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x28d1c
leaq 0x4eb91(%rip), %rax     # 0x77180
movq $0x40, (%rax)
jmp 0x28d1c
leaq 0x4eb7e(%rip), %rax     # 0x77180
movq (%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x20890
movq %rax, %rcx
leaq 0x4eb68(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x28d1c
leaq 0x4eb59(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x1000000, %esi        # imm = 0x1000000
callq 0x20890
movq %rax, %rcx
leaq 0x4eb42(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x28d1c
leaq 0x4eb33(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x30000, %esi          # imm = 0x30000
callq 0x20890
movq %rax, %rcx
leaq 0x4eb1c(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x28d1c
jmp 0x2866e
movq 0x4e963(%rip), %rax     # 0x76fd8
movq (%rax), %rax
cmpb $0x0, (%rax)
je 0x2888b
movq 0x4e950(%rip), %rax     # 0x76fd8
movq (%rax), %rax
movsbl (%rax), %eax
addl $-0x41, %eax
movl %eax, %ecx
movq %rcx, -0x38(%rbp)
subl $0x35, %eax
ja 0x2886e
movq -0x38(%rbp), %rax
leaq 0x41b11(%rip), %rcx     # 0x6a1bc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x4eac5(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x1000, %esi           # imm = 0x1000
callq 0x20890
movq %rax, %rcx
leaq 0x4eaae(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x2886e
leaq 0x4ea9f(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x2, %esi
callq 0x20890
movq %rax, %rcx
leaq 0x4ea88(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x2886e
leaq 0x4ea79(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x1, %esi
callq 0x20890
movq %rax, %rcx
leaq 0x4ea62(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x2886e
leaq 0x4ea53(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x2000, %esi           # imm = 0x2000
callq 0x20890
movq %rax, %rcx
leaq 0x4ea3c(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x2886e
leaq 0x4ea2d(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x20, %esi
callq 0x20890
movq %rax, %rcx
leaq 0x4ea16(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x2886e
leaq 0x4ea07(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x10, %esi
callq 0x20890
movq %rax, %rcx
leaq 0x4e9f0(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x2886e
leaq 0x4e9e1(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0x20890
movq %rax, %rcx
leaq 0x4e9ca(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x2886e
leaq 0x4e9bb(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x100, %esi            # imm = 0x100
callq 0x20890
movq %rax, %rcx
leaq 0x4e9a4(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x2886e
leaq 0x4e995(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x4000000, %esi        # imm = 0x4000000
callq 0x20890
movq %rax, %rcx
leaq 0x4e97e(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x2886e
leaq 0x4e972(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x2000000, %esi        # imm = 0x2000000
callq 0x20890
movq %rax, %rcx
leaq 0x4e95b(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x2886e
leaq 0x4e94f(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x40000000, %esi       # imm = 0x40000000
callq 0x20890
movq %rax, %rcx
leaq 0x4e938(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x2886e
leaq 0x4e92c(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x8000000, %esi        # imm = 0x8000000
callq 0x20890
movq %rax, %rcx
leaq 0x4e915(%rip), %rax     # 0x77180
movq %rcx, (%rax)
movq 0x4e763(%rip), %rax     # 0x76fd8
movq (%rax), %rcx
addq $0x1, %rcx
movq 0x4e755(%rip), %rax     # 0x76fd8
movq %rcx, (%rax)
jmp 0x2866e
jmp 0x28d1c
leaq 0x4e8e9(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x800, %esi            # imm = 0x800
callq 0x20890
movq %rax, %rcx
leaq 0x4e8d2(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x28d1c
jmp 0x288b8
movq 0x4e719(%rip), %rax     # 0x76fd8
movq (%rax), %rax
cmpb $0x0, (%rax)
je 0x28a02
movq 0x4e706(%rip), %rax     # 0x76fd8
movq (%rax), %rax
movsbl (%rax), %eax
addl $-0x4d, %eax
movl %eax, %ecx
movq %rcx, -0x40(%rbp)
subl $0x26, %eax
ja 0x289e5
movq -0x40(%rbp), %rax
leaq 0x4182b(%rip), %rcx     # 0x6a120
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x4e87b(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x40, %esi
callq 0x20890
movq %rax, %rcx
leaq 0x4e864(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x289e5
leaq 0x4e855(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x40000, %esi          # imm = 0x40000
callq 0x20890
movq %rax, %rcx
leaq 0x4e83e(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x289e5
leaq 0x4e82f(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x100000, %esi         # imm = 0x100000
callq 0x20890
movq %rax, %rcx
leaq 0x4e818(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x289e5
leaq 0x4e80c(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x80000, %esi          # imm = 0x80000
callq 0x20890
movq %rax, %rcx
leaq 0x4e7f5(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x289e5
leaq 0x4e7e9(%rip), %rax     # 0x77180
movq (%rax), %rcx
orq $0x4, %rcx
leaq 0x4e7db(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x289e5
leaq 0x4e7cf(%rip), %rax     # 0x77180
movq (%rax), %rcx
orq $0xc, %rcx
leaq 0x4e7c1(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x289e5
leaq 0x4e7b5(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x4003333, %esi        # imm = 0x4003333
callq 0x20890
movq %rax, %rcx
leaq 0x4e79e(%rip), %rax     # 0x77180
movq %rcx, (%rax)
movq 0x4e5ec(%rip), %rax     # 0x76fd8
movq (%rax), %rcx
addq $0x1, %rcx
movq 0x4e5de(%rip), %rax     # 0x76fd8
movq %rcx, (%rax)
jmp 0x288b8
jmp 0x28d1c
movq 0x4e5ca(%rip), %rax     # 0x76fd8
cmpq $0x0, (%rax)
je 0x28a5b
movq 0x4e5bd(%rip), %rax     # 0x76fd8
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x61, %eax
jne 0x28a37
leaq 0x4f9f3(%rip), %rax     # 0x78420
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movq %rcx, (%rax)
jmp 0x28a59
movq 0x4e59a(%rip), %rax     # 0x76fd8
movq (%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x3240
movq %rax, %rcx
leaq 0x4f9ca(%rip), %rax     # 0x78420
movq %rcx, (%rax)
jmp 0x28a6a
leaq 0x4f9be(%rip), %rax     # 0x78420
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movq %rcx, (%rax)
jmp 0x28d1c
movq 0x4e562(%rip), %rax     # 0x76fd8
cmpq $0x0, (%rax)
je 0x28ac3
movq 0x4e555(%rip), %rax     # 0x76fd8
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x61, %eax
jne 0x28a9f
leaq 0x4f973(%rip), %rax     # 0x78408
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movq %rcx, (%rax)
jmp 0x28ac1
movq 0x4e532(%rip), %rax     # 0x76fd8
movq (%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x3240
movq %rax, %rcx
leaq 0x4f94a(%rip), %rax     # 0x78408
movq %rcx, (%rax)
jmp 0x28ad2
leaq 0x4f93e(%rip), %rax     # 0x78408
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movq %rcx, (%rax)
jmp 0x28d1c
leaq 0x4e6a2(%rip), %rax     # 0x77180
movq (%rax), %rcx
orq $0x200000, %rcx         # imm = 0x200000
leaq 0x4e691(%rip), %rax     # 0x77180
movq %rcx, (%rax)
movq 0x4e4df(%rip), %rax     # 0x76fd8
cmpq $0x0, (%rax)
je 0x28b46
movq 0x4e4d2(%rip), %rax     # 0x76fd8
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x61, %eax
jne 0x28b22
leaq 0x4f8f8(%rip), %rax     # 0x78410
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movq %rcx, (%rax)
jmp 0x28b44
movq 0x4e4af(%rip), %rax     # 0x76fd8
movq (%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x3240
movq %rax, %rcx
leaq 0x4f8cf(%rip), %rax     # 0x78410
movq %rcx, (%rax)
jmp 0x28b46
jmp 0x28d1c
movq 0x4e486(%rip), %rax     # 0x76fd8
cmpq $0x0, (%rax)
je 0x28b72
movq 0x4e479(%rip), %rax     # 0x76fd8
movq (%rax), %rdi
callq 0x3250
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %edi
callq 0x280b0
jmp 0x28d1c
leaq 0x4e602(%rip), %rax     # 0x77180
movq (%rax), %rcx
orq $0x400000, %rcx         # imm = 0x400000
leaq 0x4e5f1(%rip), %rax     # 0x77180
movq %rcx, (%rax)
movq 0x4e43f(%rip), %rax     # 0x76fd8
cmpq $0x0, (%rax)
je 0x28be6
movq 0x4e432(%rip), %rax     # 0x76fd8
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x61, %eax
jne 0x28bc2
leaq 0x4f860(%rip), %rax     # 0x78418
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movq %rcx, (%rax)
jmp 0x28be4
movq 0x4e40f(%rip), %rax     # 0x76fd8
movq (%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x3240
movq %rax, %rcx
leaq 0x4f837(%rip), %rax     # 0x78418
movq %rcx, (%rax)
jmp 0x28be6
jmp 0x28d1c
movq 0x4e3e6(%rip), %rax     # 0x76fd8
movq (%rax), %rcx
leaq 0x4f84c(%rip), %rax     # 0x78448
movq %rcx, (%rax)
jmp 0x28d1c
movq 0x4e3cd(%rip), %rax     # 0x76fd8
movq (%rax), %rcx
leaq 0x4f83b(%rip), %rax     # 0x78450
movq %rcx, (%rax)
jmp 0x28d1c
movq 0x4e3b4(%rip), %rax     # 0x76fd8
movq (%rax), %rcx
leaq 0x4f82a(%rip), %rax     # 0x78458
movq %rcx, (%rax)
jmp 0x28d1c
callq 0x28e30
xorl %edi, %edi
callq 0x3280
callq 0x29110
jmp 0x28d1c
movq 0x4e385(%rip), %rax     # 0x76fd8
movq (%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x3240
movl %eax, 0x53a49(%rip)     # 0x7c6b0
jmp 0x28d1c
movq 0x4e365(%rip), %rax     # 0x76fd8
movq (%rax), %rcx
leaq 0x4f7e3(%rip), %rax     # 0x78460
movq %rcx, (%rax)
leaq 0x4e4f9(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x400, %esi            # imm = 0x400
callq 0x20890
movq %rax, %rcx
leaq 0x4e4e2(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x28d1c
movq 0x4e32e(%rip), %rax     # 0x76fd8
movq (%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x3240
movq %rax, %rcx
leaq 0x4f766(%rip), %rax     # 0x78428
movq %rcx, (%rax)
jmp 0x28d1c
leaq 0x4e4b2(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x80, %esi
callq 0x20890
movq %rax, %rcx
leaq 0x4e49b(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x28d1c
leaq 0x4e48f(%rip), %rax     # 0x77180
movq (%rax), %rdi
movl $0x4000, %esi           # imm = 0x4000
callq 0x20890
movq %rax, %rcx
leaq 0x4e478(%rip), %rax     # 0x77180
movq %rcx, (%rax)
jmp 0x28d1c
callq 0x28e30
movl $0x1, %edi
callq 0x3280
jmp 0x283ec
movq 0x4e2a8(%rip), %rax     # 0x76fd0
movl (%rax), %eax
addq $0x40, %rsp
popq %rbp
retq