// File: /workspace/github_c_makefile_star2_O3/inflex[P]ripMIME/ripmime.c
// Function: RIPMIME_parse_parameters
int RIPMIME_parse_parameters (struct RIPMIME_globals *glb, int argc, char **argv)
{
   int i;
   int result = 0;

   MIME_set_filename_report_fn (RIPMIME_report_filename_decoded);

   for (i = 1; i < argc; i++)
   {
       // if the first char of the argument is a '-', then we possibly have a flag

       if (argv[i][0] == '-')
       {
           // test the 2nd char of the parameter

           switch (argv[i][1])
           {
               case 'i':
                   if (argv[i][2] != '\0')
                   {
                       glb->inputfile = &argv[i][2];
                   }
                   else
                   {
                       i++;
                       if (i < argc)
                       {
                           glb->inputfile = argv[i];
                       }
                       else
                       {
                           LOGGER_log("ERROR: insufficient parameters after '-i'\n");
                       }
                   }
                   break;

               case 'd':
                   if (argv[i][2] != '\0')
                   {
                       glb->dir = &(argv[i][2]);
                   }
                   else
                   {
                       i++;
                       if (i < argc)
                       {
                           glb->dir = argv[i];
                       }
                       else
                       {
                           LOGGER_log("ERROR: insufficient parameters after '-d'\n");
                       }
                   }

                   break;

               case 'p':
                   if (argv[i][2] != '\0')
                   {
                       MIME_set_blankfileprefix (&argv[i][2]);
                   }
                   else
                   {
                       i++;
                       if (i < argc)
                       {
                           MIME_set_blankfileprefix (argv[i]);
                       }
                       else
                       {
                           LOGGER_log("ERROR: insufficient parameters after '-p'\n");
                       }
                   }
                   break;      // this is in mime.h

               case 'e':
                   MIME_set_dumpheaders (1);
                   if (argv[i][2] != '\0')
                   {
                       MIME_set_headersname (&argv[i][2]);
                   }
                   else
                   {
                       if ((i < (argc - 1)) && (argv[i + 1][0] != '-'))
                           MIME_set_headersname (argv[++i]);
                   }
                   break;      // makes MIME dump out the headers to a file
#ifdef RIPMIME_BLANKZONE
               case 'b':
                   if (argv[i][2] != '\0')
                   {
                       MIME_set_blankzone_filename (&argv[i][2]);
                   }
                   else
                   {
                       if ((i < (argc - 1)) && (argv[i + 1][0] != '-'))
                           MIME_set_blankzone_filename (argv[++i]);
                   }
                   break;      // blankzone storage option
#endif

               case 'v':
                   MIME_set_verbosity (1);
                   glb->verbose = 1;
                   break;

               case 'q':
                   glb->quiet = 1;
                   MIME_set_quiet(glb->quiet);
                   break;

               case 'V':
                   fprintf (stdout, "%s\n", version);
                   exit (1);
                   break;
               case 'h':
                   fprintf (stdout, "%s\n", help);
                   exit (1);
                   break;

                   // if we get ANOTHER - symbol, then we have an extended flag

               case '-':
                   if (strncmp (&(argv[i][2]), "verbose-contenttype", strlen ("verbose-contenttype")) == 0) {
                       MIME_set_verbosity_contenttype (1);

                   /** 20051117-0927:PLD:
                    ** If client uses --verbose-mime, then make ripMIME report when it
                    ** detects a MIME encoded email **/
                   } else if (strncmp(&(argv[i][2]), "verbose-mime", strlen("verbose-mime"))==0) {
                       MIME_set_report_MIME(1);

                   } else if (strncmp (&(argv[i][2]), "verbose-oldstyle", strlen ("verbose-oldstyle")) == 0) {
                           MIME_set_verbosity_12x_style (1);
                           MIME_set_filename_report_fn (NULL);
                       }
                       else if (strncmp (&(argv[i][2]), "verbose-defects",15) == 0)
                       {
                           glb->verbose_defects = 1;
                           MIME_set_verbose_defects(1);
                       }
                       else if (strncmp (&(argv[i][2]), "paranoid", 8) == 0)
                       {
                           MIME_set_paranoid (1);
                       }
                       else if (strncmp (&(argv[i][2]), "no_paranoid", 11) == 0)
                       {
                           MIME_set_paranoid (0);
                       }
                       else if (strncmp (&(argv[i][2]), "no-paranoid", 11) == 0)
                       {
                           MIME_set_paranoid (0);
                       }
                       else if (strncmp (&(argv[i][2]), "prefix", 6) == 0)
                       {
                           MIME_set_renamemethod (_MIME_RENAME_METHOD_PREFIX);
                       }
                       else if (strncmp (&(argv[i][2]), "postfix", 7) == 0)
                       {
                           MIME_set_renamemethod (_MIME_RENAME_METHOD_POSTFIX);
                       }
                       else if (strncmp (&(argv[i][2]), "infix", 5) == 0)
                       {
                           MIME_set_renamemethod (_MIME_RENAME_METHOD_INFIX);
                       }
                       /* New methods of generating file name: add counter and random number*/
                       else if (strncmp (&(argv[i][2]), "randprefix", 10) == 0)
                       {
                           MIME_set_renamemethod (_MIME_RENAME_METHOD_RANDPREFIX);
                       }
                       else if (strncmp (&(argv[i][2]), "randpostfix", 11) == 0)
                       {
                           MIME_set_renamemethod (_MIME_RENAME_METHOD_RANDPOSTFIX);
                       }
                       else if (strncmp (&(argv[i][2]), "randinfix", 9) == 0)
                       {
                           MIME_set_renamemethod (_MIME_RENAME_METHOD_RANDINFIX);
                       }
                       else if (strncmp (&(argv[i][2]), "overwrite", 9) == 0)
                       {
                           MIME_set_uniquenames (0);
                       }
                       else if (strncmp (&(argv[i][2]), "unique_names", 12) == 0)
                       {
                           MIME_set_uniquenames (1);
                       }
                       else if (strncmp (&(argv[i][2]), "unique-names", 12) == 0)
                       {
                           MIME_set_uniquenames (1);
                       }
                       else if (strncmp(&(argv[i][2]), "name-by-type", 12) == 0)
                       {
                           MIME_set_name_by_type(1);
                       }
                       else if (strncmp (&(argv[i][2]), "syslog", 9) == 0)
                       {
                           LOGGER_set_output_mode (_LOGGER_SYSLOG);
                           LOGGER_set_syslog_mode (LOG_MAIL | LOG_INFO);
                       }
                       else if (strncmp (&(argv[i][2]), "stderr", 10) == 0)
                       {
                           LOGGER_set_output_mode (_LOGGER_STDERR);
                       }
                       else if (strncmp (&(argv[i][2]), "stdout", 9) == 0)
                       {
                           LOGGER_set_output_mode (_LOGGER_STDOUT);
                       }
                       else if (strncmp (&(argv[i][2]), "no_nameless", 11) == 0)
                       {
                           MIME_set_no_nameless (1);
                       }
                       else if (strncmp (&(argv[i][2]), "no-nameless", 11) == 0)
                       {
                           MIME_set_no_nameless (1);
                       }
                       else if (strncmp (&(argv[i][2]), "debug", 5) == 0)
                       {
                           MIME_set_debug (1);
                       }
                       else if (strncmp (&(argv[i][2]), "mailbox", 7) == 0)
                       {
                           MIME_set_mailboxformat (1);
                       }
                       else if (strncmp(&(argv[i][2]), "formdata", 8) == 0)
                       {
                           // Form data usually contains embedded \0 sequences
                           //      so we need to explicitly turn this off.
                           FFGET_set_allow_nul(1);
                       }
                       else if (strncmp (&(argv[i][2]), "no_uudecode", 11) == 0)
                       {
                           // We are transitioning away from negative-logic function
                           //  names because they can cause confusion when reading, so
                           // from here on, we will use things like _set_foo() rather
                           // than _set_no_foo()

                           MIME_set_decode_uudecode(0);
                       }
                       else if (strncmp (&(argv[i][2]), "no-uudecode", 11) == 0)
                       {
                           MIME_set_decode_uudecode(0);
                       }
                       else if (strncmp (&(argv[i][2]), "no-tnef", 7) == 0)
                       {
                           MIME_set_decode_tnef (0);
                       }
                       else if (strncmp (&(argv[i][2]), "no-ole", 6) == 0)
                       {
                           MIME_set_decode_ole(0);
                       }
                       else if (strncmp (&(argv[i][2]), "no-base64", 9) == 0)
                       {
                           MIME_set_decode_base64(0);
                       }
                       else if (strncmp (&(argv[i][2]), "no-quotedprintable", strlen("no-quotedprintable")) == 0)
                       {
                           MIME_set_decode_qp(0);
                       }
                       else if (strncmp(&(argv[i][2]), "no-doublecr", strlen("no-doublecr")) == 0)
                       {
                           MIME_set_decode_doubleCR(0);
                       }
                       else if (strncmp(&(argv[i][2]), "no-mht", strlen("no-mht")) == 0)
                       {
                           MIME_set_decode_mht(0);
                       }
                   else if (strncmp(&(argv[i][2]), "disable-header-fix", strlen("disable-headerfix")) == 0) {
                           MIMEH_set_headerfix(0);
                   }
                       else if (strncmp(&(argv[i][2]), "qmail-bounce", strlen("qmail-bounce")) == 0)
                       {
                           MIME_set_header_longsearch(1);
                       }
                       else if (strncmp(&(argv[i][2]), "disable-qmail-bounce", strlen("disable-qmail-bounce")) == 0)
                       {
                           MIME_set_header_longsearch(0);
                       }
                       else if (strncmp(&(argv[i][2]), "no-multiple-filenames", strlen("no-multiple-filenames")) == 0)
                       {
                           MIME_set_multiple_filenames(0);
                       }
                       else if (strncmp(&(argv[i][2]), "recursion-max", strlen("recursion-max")) == 0)
                       {
                           if (argv[i+1] != NULL)
                           {
                               int level;

                               level = atoi(argv[i+1]);
                               if (level > 0)
                               {
                                   MIME_set_recursion_level(level);
                               }
                           }
                       }
                       else if (strncmp(&(argv[i][2]), "timeout", strlen("timeout")) == 0)
                       {
                           if (argv[i+1] != NULL)
                           {
                               int seconds;

                               seconds = atoi(argv[i+1]);
                               if (seconds > 0)
                               {
                                   glb->timeout = seconds;
                               }
                           }
                       }
                       else if (strncmp (&(argv[i][2]), "buildcodes", 10) == 0)
                       {
                           fprintf(stdout,"%s\n%s\n%s\n", BUILD_CODE, BUILD_DATE, BUILD_BOX);
                           exit(0);
                       }
                       else if (strncmp (&(argv[i][2]), "version", 7) == 0)
                       {
                           fprintf (stdout, "%s\n", version);
                           exit (0);
                       }
                       else if (strncmp(&(argv[i][2]), "extended-errors", strlen("extended-errors")) == 0)
                       {
                           glb->use_return_codes = 1;
                       }
                       else
                       {
                           LOGGER_log ("Cannot interpret option \"%s\"\n%s\n", argv[i],
                                   help);
                           exit (1);
                           break;
                       }
                   break;

                   // else, just dump out the help message

               default:
                   LOGGER_log ("Cannot interpret option \"%s\"\n%s\n", argv[i],
                           help);
                   exit (1);
                   break;

           }           // Switch argv[i][1]

       }           // if argv[i][0] == -

   }               // for

   return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdx, %rbx
movl %esi, %r14d
movq %rdi, %r13
leaq -0x70(%rip), %rdi       # 0x256c
callq 0x35e3
cmpl $0x2, %r14d
jl 0x2dea
leal -0x1(%r14), %eax
movl %eax, 0x14(%rsp)
movl $0x1, %r12d
movq %r13, 0x8(%rsp)
movslq %r12d, %r15
movq (%rbx,%r15,8), %rbp
cmpb $0x2d, (%rbp)
jne 0x2c92
movzbl 0x1(%rbp), %eax
cmpl $0x63, %eax
jle 0x264b
leal -0x64(%rax), %ecx
cmpl $0xd, %ecx
ja 0x2b02
leaq 0xf9d9(%rip), %rdx      # 0x12004
movslq (%rdx,%rcx,4), %rax
addq %rdx, %rax
jmpq *%rax
cmpb $0x0, 0x2(%rbp)
je 0x2b9b
addq $0x2, %rbp
movq %rbp, 0x8(%r13)
jmp 0x2c92
cmpl $0x2d, %eax
jne 0x2dfb
leaq 0x2(%rbp), %r13
movl $0x13, %edx
movq %r13, %rdi
leaq 0xfa90(%rip), %rsi      # 0x120f7
callq 0x20a0
testl %eax, %eax
je 0x2be4
movl $0xc, %edx
movq %r13, %rdi
leaq 0xfa88(%rip), %rsi      # 0x1210b
callq 0x20a0
testl %eax, %eax
je 0x2bf3
movl $0x10, %edx
movq %r13, %rdi
leaq 0xfa79(%rip), %rsi      # 0x12118
callq 0x20a0
testl %eax, %eax
je 0x2c24
movl $0xf, %edx
movq %r13, %rdi
leaq 0xfa6e(%rip), %rsi      # 0x12129
callq 0x20a0
testl %eax, %eax
je 0x2c37
movl $0x8, %edx
movq %r13, %rdi
leaq 0xfa71(%rip), %rsi      # 0x12148
callq 0x20a0
testl %eax, %eax
je 0x2c54
movl $0xb, %edx
movq %r13, %rdi
leaq 0xfa46(%rip), %rsi      # 0x12139
callq 0x20a0
testl %eax, %eax
je 0x2c50
movl $0xb, %edx
movq %r13, %rdi
leaq 0xfa36(%rip), %rsi      # 0x12145
callq 0x20a0
testl %eax, %eax
je 0x2c50
movl $0x6, %edx
movq %r13, %rdi
leaq 0xfa2a(%rip), %rsi      # 0x12155
callq 0x20a0
testl %eax, %eax
je 0x2c60
movl $0x7, %edx
movq %r13, %rdi
leaq 0xfa19(%rip), %rsi      # 0x12160
callq 0x20a0
testl %eax, %eax
je 0x2c67
movl $0x5, %edx
movq %r13, %rdi
leaq 0xfa09(%rip), %rsi      # 0x1216c
callq 0x20a0
testl %eax, %eax
je 0x2c6e
movl $0xa, %edx
movq %r13, %rdi
leaq 0xf9d2(%rip), %rsi      # 0x12151
callq 0x20a0
testl %eax, %eax
je 0x2c75
movl $0xb, %edx
movq %r13, %rdi
leaq 0xf9c1(%rip), %rsi      # 0x1215c
callq 0x20a0
testl %eax, %eax
je 0x2c7c
movl $0x9, %edx
movq %r13, %rdi
leaq 0xf9b1(%rip), %rsi      # 0x12168
callq 0x20a0
testl %eax, %eax
je 0x2c83
movl $0x9, %edx
movq %r13, %rdi
leaq 0xf99f(%rip), %rsi      # 0x12172
callq 0x20a0
testl %eax, %eax
je 0x2caa
movl $0xc, %edx
movq %r13, %rdi
leaq 0xf98d(%rip), %rsi      # 0x1217c
callq 0x20a0
testl %eax, %eax
je 0x2ca3
movl $0xc, %edx
movq %r13, %rdi
leaq 0xf97e(%rip), %rsi      # 0x12189
callq 0x20a0
testl %eax, %eax
je 0x2ca3
movl $0xc, %edx
movq %r13, %rdi
leaq 0xf96f(%rip), %rsi      # 0x12196
callq 0x20a0
testl %eax, %eax
je 0x2cb3
movl $0x9, %edx
movq %r13, %rdi
leaq 0xf960(%rip), %rsi      # 0x121a3
callq 0x20a0
testl %eax, %eax
je 0x2cbf
movl $0xa, %edx
movq %r13, %rdi
leaq 0xf94b(%rip), %rsi      # 0x121aa
callq 0x20a0
testl %eax, %eax
je 0x2cd5
movl $0x9, %edx
movq %r13, %rdi
leaq 0xf936(%rip), %rsi      # 0x121b1
callq 0x20a0
testl %eax, %eax
je 0x2ce8
movl $0xb, %edx
movq %r13, %rdi
leaq 0xf921(%rip), %rsi      # 0x121b8
callq 0x20a0
testl %eax, %eax
je 0x2cdc
movl $0xb, %edx
movq %r13, %rdi
leaq 0xf911(%rip), %rsi      # 0x121c4
callq 0x20a0
testl %eax, %eax
je 0x2cdc
movl $0x5, %edx
movq %r13, %rdi
leaq 0xf901(%rip), %rsi      # 0x121d0
callq 0x20a0
testl %eax, %eax
je 0x2cf4
movl $0x7, %edx
movq %r13, %rdi
leaq 0xf8eb(%rip), %rsi      # 0x121d6
callq 0x20a0
testl %eax, %eax
je 0x2d00
movl $0x8, %edx
movq %r13, %rdi
leaq 0xf8d7(%rip), %rsi      # 0x121de
callq 0x20a0
testl %eax, %eax
je 0x2d18
movl $0xb, %edx
movq %r13, %rdi
leaq 0xf8c4(%rip), %rsi      # 0x121e7
callq 0x20a0
testl %eax, %eax
je 0x2d0c
movl $0xb, %edx
movq %r13, %rdi
leaq 0xf8b4(%rip), %rsi      # 0x121f3
callq 0x20a0
testl %eax, %eax
je 0x2d0c
movl $0x7, %edx
movq %r13, %rdi
leaq 0xf8a4(%rip), %rsi      # 0x121ff
callq 0x20a0
testl %eax, %eax
je 0x2d27
movl $0x6, %edx
movq %r13, %rdi
leaq 0xf890(%rip), %rsi      # 0x12207
callq 0x20a0
testl %eax, %eax
je 0x2d33
movl $0x9, %edx
movq %r13, %rdi
leaq 0xf87b(%rip), %rsi      # 0x1220e
callq 0x20a0
testl %eax, %eax
je 0x2d3f
movl $0x12, %edx
movq %r13, %rdi
leaq 0xf869(%rip), %rsi      # 0x12218
callq 0x20a0
testl %eax, %eax
je 0x2d4b
movl $0xb, %edx
movq %r13, %rdi
leaq 0xf860(%rip), %rsi      # 0x1222b
callq 0x20a0
testl %eax, %eax
je 0x2d57
movl $0x6, %edx
movq %r13, %rdi
leaq 0xf850(%rip), %rsi      # 0x12237
callq 0x20a0
testl %eax, %eax
je 0x2d63
movl $0x11, %edx
movq %r13, %rdi
leaq 0xf83b(%rip), %rsi      # 0x1223e
callq 0x20a0
testl %eax, %eax
je 0x2d6f
movl $0xc, %edx
movq %r13, %rdi
leaq 0xf83a(%rip), %rsi      # 0x12259
callq 0x20a0
testl %eax, %eax
je 0x2d7b
movl $0x14, %edx
movq %r13, %rdi
leaq 0xf816(%rip), %rsi      # 0x12251
callq 0x20a0
testl %eax, %eax
je 0x2d82
movl $0x15, %edx
movq %r13, %rdi
leaq 0xf80f(%rip), %rsi      # 0x12266
callq 0x20a0
testl %eax, %eax
je 0x2d8e
movl $0xd, %edx
movq %r13, %rdi
leaq 0xf809(%rip), %rsi      # 0x1227c
callq 0x20a0
testl %eax, %eax
je 0x2d9a
movl $0x7, %edx
movq %r13, %rdi
leaq 0xf7fb(%rip), %rsi      # 0x1228a
callq 0x20a0
testl %eax, %eax
je 0x2dc1
movl $0xa, %edx
movq %r13, %rdi
leaq 0xf7e7(%rip), %rsi      # 0x12292
callq 0x20a0
testl %eax, %eax
je 0x2e5d
movl $0x7, %edx
movq %r13, %rdi
leaq 0xf878(%rip), %rsi      # 0x1233f
callq 0x20a0
testl %eax, %eax
je 0x2e8c
movl $0xf, %edx
movq %r13, %rdi
leaq 0xf864(%rip), %rsi      # 0x12347
callq 0x20a0
testl %eax, %eax
jne 0x2e1a
movq 0x8(%rsp), %r13
movl $0x1, 0x10(%r13)
jmp 0x2c92
cmpl $0x76, %eax
jne 0x2e1a
movl $0x1, %edi
callq 0x34af
movl $0x1, 0x20(%r13)
jmp 0x2c92
movl $0x1, %edi
callq 0x35ff
movq (%rbx,%r15,8), %rdi
cmpb $0x0, 0x2(%rdi)
je 0x2b7d
addq $0x2, %rdi
callq 0x3611
jmp 0x2c92
movl $0x1, 0x18(%r13)
movl $0x1, %edi
callq 0x3492
jmp 0x2c92
cmpb $0x0, 0x2(%rbp)
je 0x2bb3
addq $0x2, %rbp
movq %rbp, %rdi
jmp 0x2bc2
cmpb $0x0, 0x2(%rbp)
je 0x2bcc
addq $0x2, %rbp
movq %rbp, (%r13)
jmp 0x2c92
cmpl 0x14(%rsp), %r12d
jge 0x2c92
movq 0x8(%rbx,%r15,8), %rdi
cmpb $0x2d, (%rdi)
je 0x2c92
incl %r12d
jmp 0x2b3a
incl %r12d
cmpl %r14d, %r12d
jge 0x2c02
movslq %r12d, %rax
movq (%rbx,%rax,8), %rax
movq %rax, 0x8(%r13)
jmp 0x2c92
incl %r12d
cmpl %r14d, %r12d
jge 0x2c0b
movslq %r12d, %rax
movq (%rbx,%rax,8), %rdi
callq 0x3570
jmp 0x2c92
incl %r12d
cmpl %r14d, %r12d
jge 0x2c14
movslq %r12d, %rax
movq (%rbx,%rax,8), %rax
movq %rax, (%r13)
jmp 0x2c92
movl $0x1, %edi
callq 0x35ad
jmp 0x2c8d
movl $0x1, %edi
callq 0x35da
jmp 0x2c8d
leaq 0xf498(%rip), %rdi      # 0x120a1
jmp 0x2c1b
leaq 0xf4ba(%rip), %rdi      # 0x120cc
jmp 0x2c1b
leaq 0xf45b(%rip), %rdi      # 0x12076
xorl %eax, %eax
callq 0xc84f
jmp 0x2c92
movl $0x1, %edi
callq 0x359b
xorl %edi, %edi
callq 0x35e3
jmp 0x2c8d
movq 0x8(%rsp), %r13
movl $0x1, 0x1c(%r13)
movl $0x1, %edi
callq 0x35d1
jmp 0x2c92
xorl %edi, %edi
jmp 0x2c59
movl $0x1, %edi
callq 0x364c
jmp 0x2c8d
movl $0x2, %edi
jmp 0x2c88
movl $0x3, %edi
jmp 0x2c88
movl $0x1, %edi
jmp 0x2c88
movl $0x5, %edi
jmp 0x2c88
movl $0x6, %edi
jmp 0x2c88
movl $0x4, %edi
callq 0x3668
movq 0x8(%rsp), %r13
incl %r12d
cmpl %r14d, %r12d
jl 0x25fe
jmp 0x2dea
movl $0x1, %edi
jmp 0x2cac
xorl %edi, %edi
callq 0x3643
jmp 0x2c8d
movl $0x1, %edi
callq 0x3450
jmp 0x2c8d
movl $0x4, %edi
callq 0xc674
movl $0x16, %edi
callq 0xc687
jmp 0x2c8d
movl $0x1, %edi
jmp 0x2ced
movl $0x1, %edi
callq 0x363a
jmp 0x2c8d
movl $0x2, %edi
callq 0xc674
jmp 0x2c8d
movl $0x1, %edi
callq 0x3459
jmp 0x2c8d
movl $0x1, %edi
callq 0x3658
jmp 0x2c8d
xorl %edi, %edi
callq 0x3508
jmp 0x2c8d
movl $0x1, %edi
callq 0x762d
jmp 0x2c8d
xorl %edi, %edi
callq 0x34ed
jmp 0x2c8d
xorl %edi, %edi
callq 0x34ff
jmp 0x2c8d
xorl %edi, %edi
callq 0x351c
jmp 0x2c8d
xorl %edi, %edi
callq 0x3525
jmp 0x2c8d
xorl %edi, %edi
callq 0x3539
jmp 0x2c8d
xorl %edi, %edi
callq 0x3545
jmp 0x2c8d
xorl %edi, %edi
callq 0x7e8d
jmp 0x2c8d
movl $0x1, %edi
jmp 0x2d84
xorl %edi, %edi
callq 0x354e
jmp 0x2c8d
xorl %edi, %edi
callq 0x3608
jmp 0x2c8d
movq 0x8(%rbx,%r15,8), %rdi
testq %rdi, %rdi
je 0x2c8d
callq 0x2350
testl %eax, %eax
jle 0x2c8d
movl %eax, %edi
callq 0x34e4
jmp 0x2c8d
movq 0x8(%rbx,%r15,8), %rdi
testq %rdi, %rdi
je 0x2c8d
callq 0x2350
testl %eax, %eax
jle 0x2c8d
movq 0x8(%rsp), %r13
movl %eax, 0x14(%r13)
jmp 0x2c92
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x56, %eax
jne 0x2e1a
movq 0x1d1c9(%rip), %rax     # 0x1ffd0
movq (%rax), %rdi
leaq 0x15912(%rip), %rsi     # 0x18723
leaq 0x1d408(%rip), %rdx     # 0x20220
jmp 0x2e4c
leaq 0xf536(%rip), %rdi      # 0x12357
leaq 0x1d448(%rip), %rdx     # 0x20270
movq %rbp, %rsi
xorl %eax, %eax
callq 0xc84f
jmp 0x2e53
movq 0x1d195(%rip), %rax     # 0x1ffd0
movq (%rax), %rdi
leaq 0x158de(%rip), %rsi     # 0x18723
leaq 0x1d424(%rip), %rdx     # 0x20270
xorl %eax, %eax
callq 0x2210
movl $0x1, %edi
callq 0x2380
movq 0x1d16c(%rip), %rax     # 0x1ffd0
movq (%rax), %rdi
leaq 0xf42f(%rip), %rsi      # 0x1229d
leaq 0xf432(%rip), %rdx      # 0x122a7
leaq 0xf436(%rip), %rcx      # 0x122b2
leaq 0xf44c(%rip), %r8       # 0x122cf
xorl %eax, %eax
callq 0x2210
jmp 0x2eab
movq 0x1d13d(%rip), %rax     # 0x1ffd0
movq (%rax), %rdi
leaq 0x15886(%rip), %rsi     # 0x18723
leaq 0x1d37c(%rip), %rdx     # 0x20220
xorl %eax, %eax
callq 0x2210
xorl %edi, %edi
callq 0x2380