// File: /workspace/github_c_makefile_star2_O0/coapp-packages[P]bzip2/bzip2.c
// Function: main
IntNative main ( IntNative argc, Char *argv[] )
{
   Int32  i, j;
   Char   *tmp;
   Cell   *argList;
   Cell   *aa;
   Bool   decode;

   /*-- Be really really really paranoid :-) --*/
   if (sizeof(Int32) != 4 || sizeof(UInt32) != 4  ||
       sizeof(Int16) != 2 || sizeof(UInt16) != 2  ||
       sizeof(Char)  != 1 || sizeof(UChar)  != 1)
      configError();

   /*-- Initialise --*/
   outputHandleJustInCase  = NULL;
   smallMode               = False;
   keepInputFiles          = False;
   forceOverwrite          = False;
   noisy                   = True;
   verbosity               = 0;
   blockSize100k           = 9;
   testFailsExist          = False;
   unzFailsExist           = False;
   numFileNames            = 0;
   numFilesProcessed       = 0;
   workFactor              = 30;
   deleteOutputOnInterrupt = False;
   exitValue               = 0;
   i = j = 0; /* avoid bogus warning from egcs-1.1.X */

   /*-- Set up signal handlers for mem access errors --*/
   signal (SIGSEGV, mySIGSEGVorSIGBUScatcher);
#  if BZ_UNIX
#  ifndef __DJGPP__
   signal (SIGBUS,  mySIGSEGVorSIGBUScatcher);
#  endif
#  endif

   copyFileName ( inName,  (Char*)"(none)" );
   copyFileName ( outName, (Char*)"(none)" );

   copyFileName ( progNameReally, argv[0] );
   progName = &progNameReally[0];
   for (tmp = &progNameReally[0]; *tmp != '\0'; tmp++)
      if (*tmp == PATH_SEP) progName = tmp + 1;


   /*-- Copy flags from env var BZIP2, and 
        expand filename wildcards in arg list.
   --*/
   argList = NULL;
   addFlagsFromEnvVar ( &argList,  (Char*)"BZIP2" );
   addFlagsFromEnvVar ( &argList,  (Char*)"BZIP" );
   for (i = 1; i <= argc-1; i++)
      APPEND_FILESPEC(argList, argv[i]);


   /*-- Find the length of the longest filename --*/
   longestFileName = 7;
   numFileNames    = 0;
   decode          = True;
   for (aa = argList; aa != NULL; aa = aa->link) {
      if (ISFLAG("--")) { decode = False; continue; }
      if (aa->name[0] == '-' && decode) continue;
      numFileNames++;
      if (longestFileName < (Int32)strlen(aa->name) )
         longestFileName = (Int32)strlen(aa->name);
   }


   /*-- Determine source modes; flag handling may change this too. --*/
   if (numFileNames == 0)
      srcMode = SM_I2O; else srcMode = SM_F2F;


   /*-- Determine what to do (compress/uncompress/test/cat). --*/
   /*-- Note that subsequent flag handling may change this. --*/
   opMode = OM_Z;

   if ( (strstr ( progName, "unzip" ) != 0) ||
        (strstr ( progName, "UNZIP" ) != 0) )
      opMode = OM_UNZ;

   if ( (strstr ( progName, "z2cat" ) != 0) ||
        (strstr ( progName, "Z2CAT" ) != 0) ||
        (strstr ( progName, "zcat" ) != 0)  ||
        (strstr ( progName, "ZCAT" ) != 0) )  {
      opMode = OM_UNZ;
      srcMode = (numFileNames == 0) ? SM_I2O : SM_F2O;
   }


   /*-- Look at the flags. --*/
   for (aa = argList; aa != NULL; aa = aa->link) {
      if (ISFLAG("--")) break;
      if (aa->name[0] == '-' && aa->name[1] != '-') {
         for (j = 1; aa->name[j] != '\0'; j++) {
            switch (aa->name[j]) {
               case 'c': srcMode          = SM_F2O; break;
               case 'd': opMode           = OM_UNZ; break;
               case 'z': opMode           = OM_Z; break;
               case 'f': forceOverwrite   = True; break;
               case 't': opMode           = OM_TEST; break;
               case 'k': keepInputFiles   = True; break;
               case 's': smallMode        = True; break;
               case 'q': noisy            = False; break;
               case '1': blockSize100k    = 1; break;
               case '2': blockSize100k    = 2; break;
               case '3': blockSize100k    = 3; break;
               case '4': blockSize100k    = 4; break;
               case '5': blockSize100k    = 5; break;
               case '6': blockSize100k    = 6; break;
               case '7': blockSize100k    = 7; break;
               case '8': blockSize100k    = 8; break;
               case '9': blockSize100k    = 9; break;
               case 'V':
               case 'L': license();            break;
               case 'v': verbosity++; break;
               case 'h': usage ( progName );
                         exit ( 0 );
                         break;
               default:  fprintf ( stderr, "%s: Bad flag `%s'\n",
                                   progName, aa->name );
                         usage ( progName );
                         exit ( 1 );
                         break;
            }
         }
      }
   }
   
   /*-- And again ... --*/
   for (aa = argList; aa != NULL; aa = aa->link) {
      if (ISFLAG("--")) break;
      if (ISFLAG("--stdout"))            srcMode          = SM_F2O;  else
      if (ISFLAG("--decompress"))        opMode           = OM_UNZ;  else
      if (ISFLAG("--compress"))          opMode           = OM_Z;    else
      if (ISFLAG("--force"))             forceOverwrite   = True;    else
      if (ISFLAG("--test"))              opMode           = OM_TEST; else
      if (ISFLAG("--keep"))              keepInputFiles   = True;    else
      if (ISFLAG("--small"))             smallMode        = True;    else
      if (ISFLAG("--quiet"))             noisy            = False;   else
      if (ISFLAG("--version"))           license();                  else
      if (ISFLAG("--license"))           license();                  else
      if (ISFLAG("--exponential"))       workFactor = 1;             else 
      if (ISFLAG("--repetitive-best"))   redundant(aa->name);        else
      if (ISFLAG("--repetitive-fast"))   redundant(aa->name);        else
      if (ISFLAG("--fast"))              blockSize100k = 1;          else
      if (ISFLAG("--best"))              blockSize100k = 9;          else
      if (ISFLAG("--verbose"))           verbosity++;                else
      if (ISFLAG("--help"))              { usage ( progName ); exit ( 0 ); }
         else
         if (strncmp ( aa->name, "--", 2) == 0) {
            fprintf ( stderr, "%s: Bad flag `%s'\n", progName, aa->name );
            usage ( progName );
            exit ( 1 );
         }
   }

   if (verbosity > 4) verbosity = 4;
   if (opMode == OM_Z && smallMode && blockSize100k > 2) 
      blockSize100k = 2;

   if (opMode == OM_TEST && srcMode == SM_F2O) {
      fprintf ( stderr, "%s: -c and -t cannot be used together.\n",
                progName );
      exit ( 1 );
   }

   if (srcMode == SM_F2O && numFileNames == 0)
      srcMode = SM_I2O;

   if (opMode != OM_Z) blockSize100k = 0;

   if (srcMode == SM_F2F) {
      signal (SIGINT,  mySignalCatcher);
      signal (SIGTERM, mySignalCatcher);
#     if BZ_UNIX
      signal (SIGHUP,  mySignalCatcher);
#     endif
   }

   if (opMode == OM_Z) {
     if (srcMode == SM_I2O) {
        compress ( NULL );
     } else {
        decode = True;
        for (aa = argList; aa != NULL; aa = aa->link) {
           if (ISFLAG("--")) { decode = False; continue; }
           if (aa->name[0] == '-' && decode) continue;
           numFilesProcessed++;
           compress ( aa->name );
        }
     }
   } 
   else

   if (opMode == OM_UNZ) {
      unzFailsExist = False;
      if (srcMode == SM_I2O) {
         uncompress ( NULL );
      } else {
         decode = True;
         for (aa = argList; aa != NULL; aa = aa->link) {
            if (ISFLAG("--")) { decode = False; continue; }
            if (aa->name[0] == '-' && decode) continue;
            numFilesProcessed++;
            uncompress ( aa->name );
         }      
      }
      if (unzFailsExist) { 
         setExit(2); 
         exit(exitValue);
      }
   } 

   else {
      testFailsExist = False;
      if (srcMode == SM_I2O) {
         testf ( NULL );
      } else {
         decode = True;
         for (aa = argList; aa != NULL; aa = aa->link) {
	    if (ISFLAG("--")) { decode = False; continue; }
            if (aa->name[0] == '-' && decode) continue;
            numFilesProcessed++;
            testf ( aa->name );
	 }
      }
      if (testFailsExist && noisy) {
         fprintf ( stderr,
           "\n"
           "You can use the `bzip2recover' program to attempt to recover\n"
           "data from undamaged sections of corrupted files.\n\n"
         );
         setExit(2);
         exit(exitValue);
      }
   }

   /* Free the argument list memory to mollify leak detectors 
      (eg) Purify, Checker.  Serves no other useful purpose.
   */
   aa = argList;
   while (aa != NULL) {
      Cell* aa2 = aa->link;
      if (aa->name != NULL) free(aa->name);
      free(aa);
      aa = aa2;
   }

   return exitValue;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, 0x1babf(%rip) # 0x1de70
movb $0x0, 0x1bac0(%rip)     # 0x1de78
movb $0x0, 0x1baba(%rip)     # 0x1de79
movb $0x0, 0x1bab4(%rip)     # 0x1de7a
movb $0x1, 0x1baae(%rip)     # 0x1de7b
movl $0x0, 0x1baa5(%rip)     # 0x1de7c
movl $0x9, 0x1ba9f(%rip)     # 0x1de80
movb $0x0, 0x1ba9c(%rip)     # 0x1de84
movb $0x0, 0x1ba96(%rip)     # 0x1de85
movl $0x0, 0x1ba8f(%rip)     # 0x1de88
movl $0x0, 0x1ba89(%rip)     # 0x1de8c
movl $0x1e, 0x1ba83(%rip)    # 0x1de90
movb $0x0, 0x1ba80(%rip)     # 0x1de94
movl $0x0, 0x1ba7a(%rip)     # 0x1de98
movl $0x0, -0x18(%rbp)
movl $0x0, -0x14(%rbp)
movl $0xb, %edi
leaq 0xb88(%rip), %rsi       # 0x2fc0
callq 0x2160
movl $0x7, %edi
leaq 0xb77(%rip), %rsi       # 0x2fc0
callq 0x2160
leaq 0x1ba4b(%rip), %rdi     # 0x1dea0
leaq 0x15d45(%rip), %rsi     # 0x181a1
callq 0x3040
leaq 0x1be48(%rip), %rdi     # 0x1e2b0
leaq 0x15d32(%rip), %rsi     # 0x181a1
callq 0x3040
movq -0x10(%rbp), %rax
movq (%rax), %rsi
leaq 0x1c23e(%rip), %rdi     # 0x1e6c0
callq 0x3040
leaq 0x1c232(%rip), %rax     # 0x1e6c0
movq %rax, 0x1c63b(%rip)     # 0x1ead0
leaq 0x1c224(%rip), %rax     # 0x1e6c0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x24d7
movq -0x20(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2f, %eax
jne 0x24c7
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, 0x1c609(%rip)     # 0x1ead0
jmp 0x24c9
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x24a0
movq $0x0, -0x28(%rbp)
leaq -0x28(%rbp), %rdi
leaq 0x15cbe(%rip), %rsi     # 0x181a8
callq 0x30c0
leaq -0x28(%rbp), %rdi
leaq 0x15cb4(%rip), %rsi     # 0x181ae
callq 0x30c0
movl $0x1, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl -0x8(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jg 0x2537
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x3240
movq %rax, -0x28(%rbp)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x2506
movl $0x7, 0x1c597(%rip)     # 0x1ead8
movl $0x0, 0x1b93d(%rip)     # 0x1de88
movb $0x1, -0x31(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x25ed
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x15c43(%rip), %rsi     # 0x181b3
callq 0x2150
cmpl $0x0, %eax
jne 0x2580
movb $0x0, -0x31(%rbp)
jmp 0x25dc
movq -0x30(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x259a
movzbl -0x31(%rbp), %eax
cmpl $0x0, %eax
je 0x259a
jmp 0x25dc
movl 0x1b8e8(%rip), %eax     # 0x1de88
addl $0x1, %eax
movl %eax, 0x1b8df(%rip)     # 0x1de88
movl 0x1c529(%rip), %eax     # 0x1ead8
movl %eax, -0x44(%rbp)
movq -0x30(%rbp), %rax
movq (%rax), %rdi
callq 0x20f0
movq %rax, %rcx
movl -0x44(%rbp), %eax
cmpl %ecx, %eax
jge 0x25da
movq -0x30(%rbp), %rax
movq (%rax), %rdi
callq 0x20f0
movl %eax, 0x1c4fe(%rip)     # 0x1ead8
jmp 0x25dc
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x2557
cmpl $0x0, 0x1b894(%rip)     # 0x1de88
jne 0x2602
movl $0x1, 0x1c4dc(%rip)     # 0x1eadc
jmp 0x260c
movl $0x3, 0x1c4d0(%rip)     # 0x1eadc
movl $0x1, 0x1c4ca(%rip)     # 0x1eae0
movq 0x1c4b3(%rip), %rdi     # 0x1ead0
leaq 0x15b92(%rip), %rsi     # 0x181b6
callq 0x2270
cmpq $0x0, %rax
jne 0x2648
movq 0x1c49a(%rip), %rdi     # 0x1ead0
leaq 0x15b7f(%rip), %rsi     # 0x181bc
callq 0x2270
cmpq $0x0, %rax
je 0x2652
movl $0x2, 0x1c48e(%rip)     # 0x1eae0
movq 0x1c477(%rip), %rdi     # 0x1ead0
leaq 0x15b62(%rip), %rsi     # 0x181c2
callq 0x2270
cmpq $0x0, %rax
jne 0x26b6
movq 0x1c45e(%rip), %rdi     # 0x1ead0
leaq 0x15b4f(%rip), %rsi     # 0x181c8
callq 0x2270
cmpq $0x0, %rax
jne 0x26b6
movq 0x1c445(%rip), %rdi     # 0x1ead0
leaq 0x15b3c(%rip), %rsi     # 0x181ce
callq 0x2270
cmpq $0x0, %rax
jne 0x26b6
movq 0x1c42c(%rip), %rdi     # 0x1ead0
leaq 0x15b28(%rip), %rsi     # 0x181d3
callq 0x2270
cmpq $0x0, %rax
je 0x26dc
movl $0x2, 0x1c420(%rip)     # 0x1eae0
movl 0x1b7c2(%rip), %edx     # 0x1de88
movl $0x2, %eax
movl $0x1, %ecx
cmpl $0x0, %edx
cmovel %ecx, %eax
movl %eax, 0x1c400(%rip)     # 0x1eadc
movq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x28fd
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x15ab6(%rip), %rsi     # 0x181b3
callq 0x2150
cmpl $0x0, %eax
jne 0x270c
jmp 0x28fd
movq -0x30(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x28ea
movq -0x30(%rbp), %rax
movq (%rax), %rax
movsbl 0x1(%rax), %eax
cmpl $0x2d, %eax
je 0x28ea
movl $0x1, -0x18(%rbp)
movq -0x30(%rbp), %rax
movq (%rax), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x28e8
movq -0x30(%rbp), %rax
movq (%rax), %rax
movslq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
addl $-0x31, %eax
movl %eax, %ecx
movq %rcx, -0x50(%rbp)
subl $0x49, %eax
ja 0x289c
movq -0x50(%rbp), %rax
leaq 0x15886(%rip), %rcx     # 0x18004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x2, 0x1c34b(%rip)     # 0x1eadc
jmp 0x28d8
movl $0x2, 0x1c340(%rip)     # 0x1eae0
jmp 0x28d8
movl $0x1, 0x1c331(%rip)     # 0x1eae0
jmp 0x28d8
movb $0x1, 0x1b6bf(%rip)     # 0x1de7a
jmp 0x28d8
movl $0x3, 0x1c316(%rip)     # 0x1eae0
jmp 0x28d8
movb $0x1, 0x1b6a3(%rip)     # 0x1de79
jmp 0x28d8
movb $0x1, 0x1b696(%rip)     # 0x1de78
jmp 0x28d8
movb $0x0, 0x1b68d(%rip)     # 0x1de7b
jmp 0x28d8
movl $0x1, 0x1b683(%rip)     # 0x1de80
jmp 0x28d8
movl $0x2, 0x1b674(%rip)     # 0x1de80
jmp 0x28d8
movl $0x3, 0x1b665(%rip)     # 0x1de80
jmp 0x28d8
movl $0x4, 0x1b656(%rip)     # 0x1de80
jmp 0x28d8
movl $0x5, 0x1b647(%rip)     # 0x1de80
jmp 0x28d8
movl $0x6, 0x1b638(%rip)     # 0x1de80
jmp 0x28d8
movl $0x7, 0x1b629(%rip)     # 0x1de80
jmp 0x28d8
movl $0x8, 0x1b61d(%rip)     # 0x1de80
jmp 0x28d8
movl $0x9, 0x1b611(%rip)     # 0x1de80
jmp 0x28d8
callq 0x32f0
jmp 0x28d8
movl 0x1b5fe(%rip), %eax     # 0x1de7c
addl $0x1, %eax
movl %eax, 0x1b5f5(%rip)     # 0x1de7c
jmp 0x28d8
movq 0x1c240(%rip), %rdi     # 0x1ead0
callq 0x3330
xorl %edi, %edi
callq 0x2240
movq 0x1a755(%rip), %rax     # 0x1cff8
movq (%rax), %rdi
movq 0x1c223(%rip), %rdx     # 0x1ead0
movq -0x30(%rbp), %rax
movq (%rax), %rcx
leaq 0x1591d(%rip), %rsi     # 0x181d8
movb $0x0, %al
callq 0x2170
movq 0x1c207(%rip), %rdi     # 0x1ead0
callq 0x3330
movl $0x1, %edi
callq 0x2240
jmp 0x28da
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x273a
jmp 0x28ea
jmp 0x28ec
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x26e4
movq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x2c49
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x15895(%rip), %rsi     # 0x181b3
callq 0x2150
cmpl $0x0, %eax
jne 0x292d
jmp 0x2c49
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x158b0(%rip), %rsi     # 0x181eb
callq 0x2150
cmpl $0x0, %eax
jne 0x2954
movl $0x2, 0x1c18d(%rip)     # 0x1eadc
jmp 0x2c36
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x15892(%rip), %rsi     # 0x181f4
callq 0x2150
cmpl $0x0, %eax
jne 0x297b
movl $0x2, 0x1c16a(%rip)     # 0x1eae0
jmp 0x2c34
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x15878(%rip), %rsi     # 0x18201
callq 0x2150
cmpl $0x0, %eax
jne 0x29a2
movl $0x1, 0x1c143(%rip)     # 0x1eae0
jmp 0x2c32
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x1585c(%rip), %rsi     # 0x1820c
callq 0x2150
cmpl $0x0, %eax
jne 0x29c6
movb $0x1, 0x1b4b9(%rip)     # 0x1de7a
jmp 0x2c30
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x15840(%rip), %rsi     # 0x18214
callq 0x2150
cmpl $0x0, %eax
jne 0x29ed
movl $0x3, 0x1c0f8(%rip)     # 0x1eae0
jmp 0x2c2e
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x15820(%rip), %rsi     # 0x1821b
callq 0x2150
cmpl $0x0, %eax
jne 0x2a11
movb $0x1, 0x1b46d(%rip)     # 0x1de79
jmp 0x2c2c
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x15803(%rip), %rsi     # 0x18222
callq 0x2150
cmpl $0x0, %eax
jne 0x2a35
movb $0x1, 0x1b448(%rip)     # 0x1de78
jmp 0x2c2a
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x157e7(%rip), %rsi     # 0x1822a
callq 0x2150
cmpl $0x0, %eax
jne 0x2a59
movb $0x0, 0x1b427(%rip)     # 0x1de7b
jmp 0x2c28
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x157cb(%rip), %rsi     # 0x18232
callq 0x2150
cmpl $0x0, %eax
jne 0x2a7b
callq 0x32f0
jmp 0x2c26
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x157b3(%rip), %rsi     # 0x1823c
callq 0x2150
cmpl $0x0, %eax
jne 0x2a9d
callq 0x32f0
jmp 0x2c24
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x1579b(%rip), %rsi     # 0x18246
callq 0x2150
cmpl $0x0, %eax
jne 0x2ac4
movl $0x1, 0x1b3d1(%rip)     # 0x1de90
jmp 0x2c22
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x15782(%rip), %rsi     # 0x18254
callq 0x2150
cmpl $0x0, %eax
jne 0x2aed
movq -0x30(%rbp), %rax
movq (%rax), %rdi
callq 0x3370
jmp 0x2c20
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x1576b(%rip), %rsi     # 0x18266
callq 0x2150
cmpl $0x0, %eax
jne 0x2b16
movq -0x30(%rbp), %rax
movq (%rax), %rdi
callq 0x3370
jmp 0x2c1e
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x15754(%rip), %rsi     # 0x18278
callq 0x2150
cmpl $0x0, %eax
jne 0x2b3d
movl $0x1, 0x1b348(%rip)     # 0x1de80
jmp 0x2c1c
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x15734(%rip), %rsi     # 0x1827f
callq 0x2150
cmpl $0x0, %eax
jne 0x2b64
movl $0x9, 0x1b321(%rip)     # 0x1de80
jmp 0x2c1a
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x15714(%rip), %rsi     # 0x18286
callq 0x2150
cmpl $0x0, %eax
jne 0x2b90
movl 0x1b2fa(%rip), %eax     # 0x1de7c
addl $0x1, %eax
movl %eax, 0x1b2f1(%rip)     # 0x1de7c
jmp 0x2c18
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x156f2(%rip), %rsi     # 0x18290
callq 0x2150
cmpl $0x0, %eax
jne 0x2bbb
movq 0x1bf21(%rip), %rdi     # 0x1ead0
callq 0x3330
xorl %edi, %edi
callq 0x2240
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x155ea(%rip), %rsi     # 0x181b3
movl $0x2, %edx
callq 0x2090
cmpl $0x0, %eax
jne 0x2c14
movq 0x1a419(%rip), %rax     # 0x1cff8
movq (%rax), %rdi
movq 0x1bee7(%rip), %rdx     # 0x1ead0
movq -0x30(%rbp), %rax
movq (%rax), %rcx
leaq 0x155e1(%rip), %rsi     # 0x181d8
movb $0x0, %al
callq 0x2170
movq 0x1becb(%rip), %rdi     # 0x1ead0
callq 0x3330
movl $0x1, %edi
callq 0x2240
jmp 0x2c16
jmp 0x2c18
jmp 0x2c1a
jmp 0x2c1c
jmp 0x2c1e
jmp 0x2c20
jmp 0x2c22
jmp 0x2c24
jmp 0x2c26
jmp 0x2c28
jmp 0x2c2a
jmp 0x2c2c
jmp 0x2c2e
jmp 0x2c30
jmp 0x2c32
jmp 0x2c34
jmp 0x2c36
jmp 0x2c38
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x2905
cmpl $0x4, 0x1b22c(%rip)     # 0x1de7c
jle 0x2c5c
movl $0x4, 0x1b220(%rip)     # 0x1de7c
cmpl $0x1, 0x1be7d(%rip)     # 0x1eae0
jne 0x2c84
movzbl 0x1b20c(%rip), %eax     # 0x1de78
cmpl $0x0, %eax
je 0x2c84
cmpl $0x2, 0x1b208(%rip)     # 0x1de80
jle 0x2c84
movl $0x2, 0x1b1fc(%rip)     # 0x1de80
cmpl $0x3, 0x1be55(%rip)     # 0x1eae0
jne 0x2cbf
cmpl $0x2, 0x1be48(%rip)     # 0x1eadc
jne 0x2cbf
movq 0x1a35b(%rip), %rax     # 0x1cff8
movq (%rax), %rdi
movq 0x1be29(%rip), %rdx     # 0x1ead0
leaq 0x155e9(%rip), %rsi     # 0x18297
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2240
cmpl $0x2, 0x1be16(%rip)     # 0x1eadc
jne 0x2cdb
cmpl $0x0, 0x1b1b9(%rip)     # 0x1de88
jne 0x2cdb
movl $0x1, 0x1be01(%rip)     # 0x1eadc
cmpl $0x1, 0x1bdfe(%rip)     # 0x1eae0
je 0x2cee
movl $0x0, 0x1b192(%rip)     # 0x1de80
cmpl $0x3, 0x1bde7(%rip)     # 0x1eadc
jne 0x2d2a
movl $0x2, %edi
leaq 0x6ad(%rip), %rsi       # 0x33b0
callq 0x2160
movl $0xf, %edi
leaq 0x69c(%rip), %rsi       # 0x33b0
callq 0x2160
movl $0x1, %edi
leaq 0x68b(%rip), %rsi       # 0x33b0
callq 0x2160
cmpl $0x1, 0x1bdaf(%rip)     # 0x1eae0
jne 0x2dc6
cmpl $0x1, 0x1bd9e(%rip)     # 0x1eadc
jne 0x2d4b
xorl %eax, %eax
movl %eax, %edi
callq 0x33f0
jmp 0x2dc1
movb $0x1, -0x31(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x2dbf
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x15447(%rip), %rsi     # 0x181b3
callq 0x2150
cmpl $0x0, %eax
jne 0x2d7c
movb $0x0, -0x31(%rbp)
jmp 0x2db1
movq -0x30(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x2d96
movzbl -0x31(%rbp), %eax
cmpl $0x0, %eax
je 0x2d96
jmp 0x2db1
movl 0x1b0f0(%rip), %eax     # 0x1de8c
addl $0x1, %eax
movl %eax, 0x1b0e7(%rip)     # 0x1de8c
movq -0x30(%rbp), %rax
movq (%rax), %rdi
callq 0x33f0
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x2d57
jmp 0x2dc1
jmp 0x2f61
cmpl $0x2, 0x1bd13(%rip)     # 0x1eae0
jne 0x2e87
movb $0x0, 0x1b0ab(%rip)     # 0x1de85
cmpl $0x1, 0x1bcfb(%rip)     # 0x1eadc
jne 0x2dee
xorl %eax, %eax
movl %eax, %edi
callq 0x3bc0
jmp 0x2e64
movb $0x1, -0x31(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x2e62
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x153a4(%rip), %rsi     # 0x181b3
callq 0x2150
cmpl $0x0, %eax
jne 0x2e1f
movb $0x0, -0x31(%rbp)
jmp 0x2e54
movq -0x30(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x2e39
movzbl -0x31(%rbp), %eax
cmpl $0x0, %eax
je 0x2e39
jmp 0x2e54
movl 0x1b04d(%rip), %eax     # 0x1de8c
addl $0x1, %eax
movl %eax, 0x1b044(%rip)     # 0x1de8c
movq -0x30(%rbp), %rax
movq (%rax), %rdi
callq 0x3bc0
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x2dfa
jmp 0x2e64
cmpb $0x0, 0x1b01a(%rip)     # 0x1de85
je 0x2e82
movl $0x2, %edi
callq 0x4400
movl 0x1b01b(%rip), %edi     # 0x1de98
callq 0x2240
jmp 0x2f5f
movb $0x0, 0x1aff6(%rip)     # 0x1de84
cmpl $0x1, 0x1bc47(%rip)     # 0x1eadc
jne 0x2ea2
xorl %eax, %eax
movl %eax, %edi
callq 0x4420
jmp 0x2f18
movb $0x1, -0x31(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x2f16
movq -0x30(%rbp), %rax
movq (%rax), %rdi
leaq 0x152f0(%rip), %rsi     # 0x181b3
callq 0x2150
cmpl $0x0, %eax
jne 0x2ed3
movb $0x0, -0x31(%rbp)
jmp 0x2f08
movq -0x30(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x2eed
movzbl -0x31(%rbp), %eax
cmpl $0x0, %eax
je 0x2eed
jmp 0x2f08
movl 0x1af99(%rip), %eax     # 0x1de8c
addl $0x1, %eax
movl %eax, 0x1af90(%rip)     # 0x1de8c
movq -0x30(%rbp), %rax
movq (%rax), %rdi
callq 0x4420
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x2eae
jmp 0x2f18
movzbl 0x1af65(%rip), %eax     # 0x1de84
cmpl $0x0, %eax
je 0x2f5d
movzbl 0x1af50(%rip), %eax     # 0x1de7b
cmpl $0x0, %eax
je 0x2f5d
movq 0x1a0c1(%rip), %rax     # 0x1cff8
movq (%rax), %rdi
leaq 0x15d06(%rip), %rsi     # 0x18c47
movb $0x0, %al
callq 0x2170
movl $0x2, %edi
callq 0x4400
movl 0x1af40(%rip), %edi     # 0x1de98
callq 0x2240
jmp 0x2f5f
jmp 0x2f61
movq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x2fa5
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x30(%rbp), %rax
cmpq $0x0, (%rax)
je 0x2f92
movq -0x30(%rbp), %rax
movq (%rax), %rdi
callq 0x2050
movq -0x30(%rbp), %rdi
callq 0x2050
movq -0x40(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x2f69
movl 0x1aeed(%rip), %eax     # 0x1de98
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)