// File: /workspace/github_c_makefile_star2_O1/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       # 0x257c
callq 0x360f
cmpl $0x2, %r14d
jl 0x2dfa
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 0x2ca2
movzbl 0x1(%rbp), %eax
cmpl $0x63, %eax
jle 0x265b
leal -0x64(%rax), %ecx
cmpl $0xd, %ecx
ja 0x2b12
leaq 0xf9c9(%rip), %rdx      # 0x12004
movslq (%rdx,%rcx,4), %rax
addq %rdx, %rax
jmpq *%rax
cmpb $0x0, 0x2(%rbp)
je 0x2bab
addq $0x2, %rbp
movq %rbp, 0x8(%r13)
jmp 0x2ca2
cmpl $0x2d, %eax
jne 0x2e0b
leaq 0x2(%rbp), %r13
movl $0x13, %edx
movq %r13, %rdi
leaq 0xfa80(%rip), %rsi      # 0x120f7
callq 0x20a0
testl %eax, %eax
je 0x2bf4
movl $0xc, %edx
movq %r13, %rdi
leaq 0xfa78(%rip), %rsi      # 0x1210b
callq 0x20a0
testl %eax, %eax
je 0x2c03
movl $0x10, %edx
movq %r13, %rdi
leaq 0xfa69(%rip), %rsi      # 0x12118
callq 0x20a0
testl %eax, %eax
je 0x2c34
movl $0xf, %edx
movq %r13, %rdi
leaq 0xfa5e(%rip), %rsi      # 0x12129
callq 0x20a0
testl %eax, %eax
je 0x2c47
movl $0x8, %edx
movq %r13, %rdi
leaq 0xfa61(%rip), %rsi      # 0x12148
callq 0x20a0
testl %eax, %eax
je 0x2c64
movl $0xb, %edx
movq %r13, %rdi
leaq 0xfa36(%rip), %rsi      # 0x12139
callq 0x20a0
testl %eax, %eax
je 0x2c60
movl $0xb, %edx
movq %r13, %rdi
leaq 0xfa26(%rip), %rsi      # 0x12145
callq 0x20a0
testl %eax, %eax
je 0x2c60
movl $0x6, %edx
movq %r13, %rdi
leaq 0xfa1a(%rip), %rsi      # 0x12155
callq 0x20a0
testl %eax, %eax
je 0x2c70
movl $0x7, %edx
movq %r13, %rdi
leaq 0xfa09(%rip), %rsi      # 0x12160
callq 0x20a0
testl %eax, %eax
je 0x2c77
movl $0x5, %edx
movq %r13, %rdi
leaq 0xf9f9(%rip), %rsi      # 0x1216c
callq 0x20a0
testl %eax, %eax
je 0x2c7e
movl $0xa, %edx
movq %r13, %rdi
leaq 0xf9c2(%rip), %rsi      # 0x12151
callq 0x20a0
testl %eax, %eax
je 0x2c85
movl $0xb, %edx
movq %r13, %rdi
leaq 0xf9b1(%rip), %rsi      # 0x1215c
callq 0x20a0
testl %eax, %eax
je 0x2c8c
movl $0x9, %edx
movq %r13, %rdi
leaq 0xf9a1(%rip), %rsi      # 0x12168
callq 0x20a0
testl %eax, %eax
je 0x2c93
movl $0x9, %edx
movq %r13, %rdi
leaq 0xf98f(%rip), %rsi      # 0x12172
callq 0x20a0
testl %eax, %eax
je 0x2cba
movl $0xc, %edx
movq %r13, %rdi
leaq 0xf97d(%rip), %rsi      # 0x1217c
callq 0x20a0
testl %eax, %eax
je 0x2cb3
movl $0xc, %edx
movq %r13, %rdi
leaq 0xf96e(%rip), %rsi      # 0x12189
callq 0x20a0
testl %eax, %eax
je 0x2cb3
movl $0xc, %edx
movq %r13, %rdi
leaq 0xf95f(%rip), %rsi      # 0x12196
callq 0x20a0
testl %eax, %eax
je 0x2cc3
movl $0x9, %edx
movq %r13, %rdi
leaq 0xf950(%rip), %rsi      # 0x121a3
callq 0x20a0
testl %eax, %eax
je 0x2ccf
movl $0xa, %edx
movq %r13, %rdi
leaq 0xf93b(%rip), %rsi      # 0x121aa
callq 0x20a0
testl %eax, %eax
je 0x2ce5
movl $0x9, %edx
movq %r13, %rdi
leaq 0xf926(%rip), %rsi      # 0x121b1
callq 0x20a0
testl %eax, %eax
je 0x2cf8
movl $0xb, %edx
movq %r13, %rdi
leaq 0xf911(%rip), %rsi      # 0x121b8
callq 0x20a0
testl %eax, %eax
je 0x2cec
movl $0xb, %edx
movq %r13, %rdi
leaq 0xf901(%rip), %rsi      # 0x121c4
callq 0x20a0
testl %eax, %eax
je 0x2cec
movl $0x5, %edx
movq %r13, %rdi
leaq 0xf8f1(%rip), %rsi      # 0x121d0
callq 0x20a0
testl %eax, %eax
je 0x2d04
movl $0x7, %edx
movq %r13, %rdi
leaq 0xf8db(%rip), %rsi      # 0x121d6
callq 0x20a0
testl %eax, %eax
je 0x2d10
movl $0x8, %edx
movq %r13, %rdi
leaq 0xf8c7(%rip), %rsi      # 0x121de
callq 0x20a0
testl %eax, %eax
je 0x2d28
movl $0xb, %edx
movq %r13, %rdi
leaq 0xf8b4(%rip), %rsi      # 0x121e7
callq 0x20a0
testl %eax, %eax
je 0x2d1c
movl $0xb, %edx
movq %r13, %rdi
leaq 0xf8a4(%rip), %rsi      # 0x121f3
callq 0x20a0
testl %eax, %eax
je 0x2d1c
movl $0x7, %edx
movq %r13, %rdi
leaq 0xf894(%rip), %rsi      # 0x121ff
callq 0x20a0
testl %eax, %eax
je 0x2d37
movl $0x6, %edx
movq %r13, %rdi
leaq 0xf880(%rip), %rsi      # 0x12207
callq 0x20a0
testl %eax, %eax
je 0x2d43
movl $0x9, %edx
movq %r13, %rdi
leaq 0xf86b(%rip), %rsi      # 0x1220e
callq 0x20a0
testl %eax, %eax
je 0x2d4f
movl $0x12, %edx
movq %r13, %rdi
leaq 0xf859(%rip), %rsi      # 0x12218
callq 0x20a0
testl %eax, %eax
je 0x2d5b
movl $0xb, %edx
movq %r13, %rdi
leaq 0xf850(%rip), %rsi      # 0x1222b
callq 0x20a0
testl %eax, %eax
je 0x2d67
movl $0x6, %edx
movq %r13, %rdi
leaq 0xf840(%rip), %rsi      # 0x12237
callq 0x20a0
testl %eax, %eax
je 0x2d73
movl $0x11, %edx
movq %r13, %rdi
leaq 0xf82b(%rip), %rsi      # 0x1223e
callq 0x20a0
testl %eax, %eax
je 0x2d7f
movl $0xc, %edx
movq %r13, %rdi
leaq 0xf82a(%rip), %rsi      # 0x12259
callq 0x20a0
testl %eax, %eax
je 0x2d8b
movl $0x14, %edx
movq %r13, %rdi
leaq 0xf806(%rip), %rsi      # 0x12251
callq 0x20a0
testl %eax, %eax
je 0x2d92
movl $0x15, %edx
movq %r13, %rdi
leaq 0xf7ff(%rip), %rsi      # 0x12266
callq 0x20a0
testl %eax, %eax
je 0x2d9e
movl $0xd, %edx
movq %r13, %rdi
leaq 0xf7f9(%rip), %rsi      # 0x1227c
callq 0x20a0
testl %eax, %eax
je 0x2daa
movl $0x7, %edx
movq %r13, %rdi
leaq 0xf7eb(%rip), %rsi      # 0x1228a
callq 0x20a0
testl %eax, %eax
je 0x2dd1
movl $0xa, %edx
movq %r13, %rdi
leaq 0xf7d7(%rip), %rsi      # 0x12292
callq 0x20a0
testl %eax, %eax
je 0x2e6d
movl $0x7, %edx
movq %r13, %rdi
leaq 0xf868(%rip), %rsi      # 0x1233f
callq 0x20a0
testl %eax, %eax
je 0x2e9c
movl $0xf, %edx
movq %r13, %rdi
leaq 0xf854(%rip), %rsi      # 0x12347
callq 0x20a0
testl %eax, %eax
jne 0x2e2a
movq 0x8(%rsp), %r13
movl $0x1, 0x10(%r13)
jmp 0x2ca2
cmpl $0x76, %eax
jne 0x2e2a
movl $0x1, %edi
callq 0x34db
movl $0x1, 0x20(%r13)
jmp 0x2ca2
movl $0x1, %edi
callq 0x362b
movq (%rbx,%r15,8), %rdi
cmpb $0x0, 0x2(%rdi)
je 0x2b8d
addq $0x2, %rdi
callq 0x363d
jmp 0x2ca2
movl $0x1, 0x18(%r13)
movl $0x1, %edi
callq 0x34be
jmp 0x2ca2
cmpb $0x0, 0x2(%rbp)
je 0x2bc3
addq $0x2, %rbp
movq %rbp, %rdi
jmp 0x2bd2
cmpb $0x0, 0x2(%rbp)
je 0x2bdc
addq $0x2, %rbp
movq %rbp, (%r13)
jmp 0x2ca2
cmpl 0x14(%rsp), %r12d
jge 0x2ca2
movq 0x8(%rbx,%r15,8), %rdi
cmpb $0x2d, (%rdi)
je 0x2ca2
incl %r12d
jmp 0x2b4a
incl %r12d
cmpl %r14d, %r12d
jge 0x2c12
movslq %r12d, %rax
movq (%rbx,%rax,8), %rax
movq %rax, 0x8(%r13)
jmp 0x2ca2
incl %r12d
cmpl %r14d, %r12d
jge 0x2c1b
movslq %r12d, %rax
movq (%rbx,%rax,8), %rdi
callq 0x359c
jmp 0x2ca2
incl %r12d
cmpl %r14d, %r12d
jge 0x2c24
movslq %r12d, %rax
movq (%rbx,%rax,8), %rax
movq %rax, (%r13)
jmp 0x2ca2
movl $0x1, %edi
callq 0x35d9
jmp 0x2c9d
movl $0x1, %edi
callq 0x3606
jmp 0x2c9d
leaq 0xf488(%rip), %rdi      # 0x120a1
jmp 0x2c2b
leaq 0xf4aa(%rip), %rdi      # 0x120cc
jmp 0x2c2b
leaq 0xf44b(%rip), %rdi      # 0x12076
xorl %eax, %eax
callq 0xc960
jmp 0x2ca2
movl $0x1, %edi
callq 0x35c7
xorl %edi, %edi
callq 0x360f
jmp 0x2c9d
movq 0x8(%rsp), %r13
movl $0x1, 0x1c(%r13)
movl $0x1, %edi
callq 0x35fd
jmp 0x2ca2
xorl %edi, %edi
jmp 0x2c69
movl $0x1, %edi
callq 0x3678
jmp 0x2c9d
movl $0x2, %edi
jmp 0x2c98
movl $0x3, %edi
jmp 0x2c98
movl $0x1, %edi
jmp 0x2c98
movl $0x5, %edi
jmp 0x2c98
movl $0x6, %edi
jmp 0x2c98
movl $0x4, %edi
callq 0x3694
movq 0x8(%rsp), %r13
incl %r12d
cmpl %r14d, %r12d
jl 0x260e
jmp 0x2dfa
movl $0x1, %edi
jmp 0x2cbc
xorl %edi, %edi
callq 0x366f
jmp 0x2c9d
movl $0x1, %edi
callq 0x347c
jmp 0x2c9d
movl $0x4, %edi
callq 0xc78c
movl $0x16, %edi
callq 0xc79f
jmp 0x2c9d
movl $0x1, %edi
jmp 0x2cfd
movl $0x1, %edi
callq 0x3666
jmp 0x2c9d
movl $0x2, %edi
callq 0xc78c
jmp 0x2c9d
movl $0x1, %edi
callq 0x3485
jmp 0x2c9d
movl $0x1, %edi
callq 0x3684
jmp 0x2c9d
xorl %edi, %edi
callq 0x3534
jmp 0x2c9d
movl $0x1, %edi
callq 0x76ed
jmp 0x2c9d
xorl %edi, %edi
callq 0x3519
jmp 0x2c9d
xorl %edi, %edi
callq 0x352b
jmp 0x2c9d
xorl %edi, %edi
callq 0x3548
jmp 0x2c9d
xorl %edi, %edi
callq 0x3551
jmp 0x2c9d
xorl %edi, %edi
callq 0x3565
jmp 0x2c9d
xorl %edi, %edi
callq 0x3571
jmp 0x2c9d
xorl %edi, %edi
callq 0x7f45
jmp 0x2c9d
movl $0x1, %edi
jmp 0x2d94
xorl %edi, %edi
callq 0x357a
jmp 0x2c9d
xorl %edi, %edi
callq 0x3634
jmp 0x2c9d
movq 0x8(%rbx,%r15,8), %rdi
testq %rdi, %rdi
je 0x2c9d
callq 0x2360
testl %eax, %eax
jle 0x2c9d
movl %eax, %edi
callq 0x3510
jmp 0x2c9d
movq 0x8(%rbx,%r15,8), %rdi
testq %rdi, %rdi
je 0x2c9d
callq 0x2360
testl %eax, %eax
jle 0x2c9d
movq 0x8(%rsp), %r13
movl %eax, 0x14(%r13)
jmp 0x2ca2
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x56, %eax
jne 0x2e2a
movq 0x1d1b9(%rip), %rax     # 0x1ffd0
movq (%rax), %rdi
leaq 0x15912(%rip), %rsi     # 0x18733
leaq 0x1d3f8(%rip), %rdx     # 0x20220
jmp 0x2e5c
leaq 0xf526(%rip), %rdi      # 0x12357
leaq 0x1d438(%rip), %rdx     # 0x20270
movq %rbp, %rsi
xorl %eax, %eax
callq 0xc960
jmp 0x2e63
movq 0x1d185(%rip), %rax     # 0x1ffd0
movq (%rax), %rdi
leaq 0x158de(%rip), %rsi     # 0x18733
leaq 0x1d414(%rip), %rdx     # 0x20270
xorl %eax, %eax
callq 0x2220
movl $0x1, %edi
callq 0x2390
movq 0x1d15c(%rip), %rax     # 0x1ffd0
movq (%rax), %rdi
leaq 0xf41f(%rip), %rsi      # 0x1229d
leaq 0xf422(%rip), %rdx      # 0x122a7
leaq 0xf426(%rip), %rcx      # 0x122b2
leaq 0xf43c(%rip), %r8       # 0x122cf
xorl %eax, %eax
callq 0x2220
jmp 0x2ebb
movq 0x1d12d(%rip), %rax     # 0x1ffd0
movq (%rax), %rdi
leaq 0x15886(%rip), %rsi     # 0x18733
leaq 0x1d36c(%rip), %rdx     # 0x20220
xorl %eax, %eax
callq 0x2220
xorl %edi, %edi
callq 0x2390