// File: /workspace/github_c_makefile_star2_O0/radekh[P]palbart/palbart-2.5.c
// Function: pseudoOperators
BOOL pseudoOperators( PSEUDO_T val )
{
  int     count;
  int     delim;
  int     index;
  int     ix;
  int     lexstartsave;
  WORD16  newfield;
  WORD16  oldclc;
  int     pack;
  BOOL    status;
  SYM_T  *sym;
  FILE   *temp;
  int     term;
  WORD16  value;
  int	  leaderlen;

  status = TRUE;
  switch( (PSEUDO_T) val )
  {
  case BANK:
    errorSymbol( &no_pseudo_op, "BANK", lexstartprev );
    /* should select a different 32K out of 128K                              */
    break;

  case BINPUNCH:
    /* If there has been data output and this is a mode switch, set up to     */
    /* output data in BIN mode.                                               */
    if( binary_data_output && rim_mode )
    {
      lexstartsave = lexstartprev;
      if( isdone( line[lexstart] ))
        {
	  leaderlen = 8; /* If not specified, the short leader/trailer will be 8. */
	}
      else	
	{
	  leaderlen = (getExpr())->val;      /* BINPUN leaderlen              */
	}


      cp.loc = 00200;           /* Clear the literal tables.                  */
      cp.error = FALSE;
      pz.loc = 00200;
      pz.error = FALSE;
      punchLeader( leaderlen ); /* Generate a short leader/trailer.           */
      checksum = 0;
      binary_data_output = FALSE;
    }
    rim_mode = FALSE;
    break;

  case DECIMAL:
    radix = 10;
    break;

  case DUBL:
    inputDubl();
    break;

  case EJECT:
    page_lineno = LIST_LINES_PER_PAGE;  /* This will force a page break.      */
    status = FALSE;             /* This will force reading of next line       */
    break;

  case ENPUNCH:
    if( pass == 2 )
    {
      objectfile = objectsave;
    }
    break;

  case EXPUNGE:                 /* Erase symbol table                         */
    if( pass == 1 )
    {
      symtab[0] = sym_undefined;
      symbol_top = 0;
      number_of_fixed_symbols = symbol_top;
      fixed_symbols = &symtab[symbol_top - 1];

      /* Enter the pseudo-ops into the symbol table.                          */
      for( ix = 0; ix < DIM( pseudo ); ix++ )
      {
        defineSymbol( pseudo[ix].name, pseudo[ix].val, pseudo[ix].type, 0 );
      }
      number_of_fixed_symbols = symbol_top;
      fixed_symbols = &symtab[symbol_top - 1];
    }
    break;

  case FIELD:
    punchLiteralPool( &cp, clc - 1 );
    punchLiteralPool( &pz, 0 );
    newfield = field >> 12;
    lexstartsave = lexstartprev;
    if( isdone( line[lexstart] ))
    {
      newfield += 1;            /* Blank FIELD directive.                     */
    }
    else
    {
      newfield = (getExpr())->val;      /* FIELD with argument.               */
    }

    if( rim_mode )
    {
      errorMessage( &in_rim_mode, lexstartsave ); /* Can't change fields.     */
    }
    else if( newfield > 7 || newfield < 0 )
    {
      errorMessage( &illegal_field_value, lexstartprev );
    }
    else
    {
      value = (( newfield & 0007 ) << 3 ) | 00300;
      punchObject( value );
      checksum -= value;        /* Field punches are not added to checksum.   */
      field = newfield << 12;
    }

    clc = 0200 | field;
    fieldlc = clc & 07777;

    if( !rim_mode )
    {
      punchOrigin( clc );
    }
    break;

  case FIXMRI:
    if( line[lexterm] == '=' && isalpha( line[lexstart] ))
    {
      lexstartsave = lexstart;
      term = lexterm;
      nextLexeme();           /* Skip symbol.                                 */
      nextLexeme();           /* Skip trailing =                              */
      defineLexeme( lexstartsave, term, getExprs(), MRI );
    }
    else
    {
      errorLexeme( &symbol_syntax, lexstart );
      nextLexeme();           /* Skip symbol.                                 */
      nextLexeme();           /* Skip trailing =                              */
      (void) getExprs();      /* Skip expression.                             */
    }
    break;

  case FIXTAB:
    /* Mark all current symbols as permanent symbols.                         */
    for( ix = 0; ix < symbol_top; ix++ )
    {
      symtab[ix].type = symtab[ix].type | FIXED;
    }
    number_of_fixed_symbols = symbol_top;
    fixed_symbols = &symtab[symbol_top - 1];

    /* Re-sort the symbol table                                               */
    qsort( symtab, symbol_top, sizeof(symtab[0]), compareSymbols );
    break;

  case FLTG:
    inputFltg();
    /* errorSymbol( &no_pseudo_op, "FLTG", lexstartprev ); */
    break;

  case IFDEF:
    if( isalpha( line[lexstart] ))
    {
      sym = evalSymbol();
      nextLexeme();
      if( M_DEFINED_CONDITIONALLY( sym->type ))
      {
        conditionTrue();
      }
      else
      {
        conditionFalse();
      }
    }
    else
    {
      errorLexeme( &label_syntax, lexstart );
    }
    break;

  case IFNDEF:
    if( isalpha( line[lexstart] ))
    {
      sym = evalSymbol();
      nextLexeme();
      if( M_DEFINED_CONDITIONALLY( sym->type ))
      {
        conditionFalse();
      }
      else
      {
        conditionTrue();
      }
    }
    else
    {
      errorLexeme( &label_syntax, lexstart );
    }
    break;

  case IFNZERO:
    if( (getExpr())->val == 0 )
    {
      conditionFalse();
    }
    else
    {
      conditionTrue();
    }
    break;

  case IFZERO:
    if( (getExpr())->val == 0 )
    {
      conditionTrue();
    }
    else
    {
      conditionFalse();
    }
    break;

  case NOPUNCH:
    if( pass == 2 )
    {
      objectfile = NULL;
    }
    break;

  case OCTAL:
    radix = 8;
    break;

  case PAGE:
    punchLiteralPool( &cp, clc - 1 );
    oldclc = clc;
    if( isdone( line[lexstart] ))
    {
      clc = ( clc + 0177 ) & 077600;            /* No argumnet.               */
      fieldlc = clc & 07777;
    }
    else
    {
      value = (getExpr())->val;
      clc = ( field << 12 ) + (( value & 037 ) << 7 );
      fieldlc = clc & 07777;
    }
    testForLiteralCollision( clc );

    if( !rim_mode && clc != oldclc )
    {
      punchOrigin( clc );
    }
    break;

  case PAUSE:
    break;

  case RELOC:
    if( isdone( line[lexstart] ))
    {
       reloc = 0;               /* Blank RELOC directive.                     */
    }
    else
    {
      value = (getExpr())->val; /* RELOC with argument.                       */
      reloc = value - ( clc + reloc );
    }
    break;

  case RIMPUNCH:
    /* If the assembler has output any BIN data, output the literal tables    */
    /* and the checksum for what has been assembled and setup for RIM mode.   */
    if( binary_data_output && !rim_mode )
    {
      lexstartsave = lexstartprev;
      if( isdone( line[lexstart] ))
      {
	leaderlen = 8; /* If not specified, the short leader/trailer will be 8. */
      }
      else	
      {
	leaderlen = (getExpr())->val;      /* BINPUN leaderlen              */
      }

      endOfBinary();
      if (leaderlen != -1)
      {
	punchChecksum();
      }
      punchLeader( leaderlen );         /* Generate a short leader/trailer.           */
    }
    rim_mode = TRUE;
    break;

  case SEGMNT:
    punchLiteralPool( &cp, clc - 1 );
    if( isdone( line[lexstart] ))
    {                           /* No argument.                               */
      clc = ( clc & 06000 ) + 02000;
      fieldlc = clc & 07777;
    }
    else
    {
      getExpr();
      clc = ( val & 003 ) << 10;
      fieldlc = clc & 07777;
    }
    if( !rim_mode )
    {
      punchOrigin( clc );
    }
    testForLiteralCollision( clc );
    break;

  case TEXT:
    delim = line[lexstart];
    pack = 0;
    count = 0;
    index = lexstart + 1;
    while( line[index] != delim && !isend( line[index] ))
    {
      pack = ( pack << 6 ) | ( line[index] & 077 );
      count++;
      if( count > 1 )
      {
        punchOutObject( clc, pack );
        incrementClc();
        count = 0;
        pack = 0;
      }
      index++;
    }

    if( count != 0 )
    {
      punchOutObject( clc, pack << 6 );
      incrementClc();
    }
    else
    {
      punchOutObject( clc, 0 );
      incrementClc();
    }

    if( isend( line[index] ))
    {
      cc = index;
      lexterm = cc;
      errorMessage( &text_string, cc );
    }
    else
    {
      cc = index + 1;
      lexterm = cc;
    }
    nextLexeme();
    break;

  case TITLE:
    delim = line[lexstart];
    ix = lexstart + 1;
    /* Find string delimiter.                                                 */
    do
    {
      if( list_title[ix] == delim && list_title[ix + 1] == delim )
      {
        ix++;
      }
      ix++;
    } while( line[ix] != delim && !isend(line[ix]) );

    if( line[ix] == delim )
    {
      count = 0;
      ix = lexstart + 1;
      do
      {
        if( list_title[ix] == delim && list_title[ix + 1] == delim )
        {
          ix++;
        }
        list_title[count] = line[ix];
        count++;
        ix++;
        list_title[count] = '\0';
      } while( line[ix] != delim && !isend(line[ix]) );

      if( strlen( list_title ) > TITLELEN )
      {
        list_title[TITLELEN] = '\0';
      }

      cc = ix + 1;
      lexterm = cc;
      page_lineno = LIST_LINES_PER_PAGE;/* Force top of page for new titles.  */
      list_title_set = TRUE;
    }
    else
    {
      cc = ix;
      lexterm = cc;
      errorMessage( &text_string, cc );
    }

    nextLexeme();
    break;

  case XLIST:
    if( isdone( line[lexstart] ))
    {
      temp = listfile;          /* Blank XLIST directive.                     */
      listfile = listsave;
      listsave = temp;
    }
    else
    {
      if( (getExpr())->val == 0 )
      {
        if( listfile == NULL )
        {
          listfile = listsave;
          listsave = NULL;
        }
      }
      else
      {
        if( listfile != NULL )
        {
          listsave = listfile;
          listfile = NULL;
        }
      }
    }
    break;

  case ZBLOCK:
    value = (getExpr())->val;
    if( value < 0 )
    {
      errorMessage( &zblock_too_small, lexstartprev );
    }
    else if( value + ( clc & 07777 ) - 1 > 07777 )
    {
      errorMessage( &zblock_too_large, lexstartprev );
    }
    else
    {
      for( ; value > 0; value-- )
      {
        punchOutObject( clc, 0 );
        incrementClc();
      }
    }

    break;

  default:
    break;
  } /* end switch for pseudo-ops                                              */
  return( status );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl %edi, -0x4(%rbp)
movb $0x1, -0x21(%rbp)
movl -0x4(%rbp), %eax
movq %rax, -0x50(%rbp)
subq $0x19, %rax
ja 0x4c0d
movq -0x50(%rbp), %rax
leaq 0x33dd(%rip), %rcx      # 0x70c8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl 0x7a76(%rip), %edx      # 0xb770
leaq 0x736f(%rip), %rdi      # 0xb070
leaq 0x3bb4(%rip), %rsi      # 0x78bc
callq 0x37f0
jmp 0x4c0f
movzbl 0x749f(%rip), %eax      # 0xb1b8
cmpl $0x0, %eax
je 0x3de4
movzbl 0x7493(%rip), %eax      # 0xb1bc
cmpl $0x0, %eax
je 0x3de4
movl 0x7a38(%rip), %eax      # 0xb770
movl %eax, -0x18(%rbp)
movslq 0x7a1e(%rip), %rcx      # 0xb760
leaq 0x79b7(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x2f, %eax
je 0x3d97
movslq 0x7a07(%rip), %rcx      # 0xb760
leaq 0x79a0(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x3d97
movslq 0x79f0(%rip), %rcx      # 0xb760
leaq 0x7989(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0xa, %eax
je 0x3d97
movslq 0x79d9(%rip), %rcx      # 0xb760
leaq 0x7972(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x3b, %eax
jne 0x3da0
movl $0x8, -0x44(%rbp)
jmp 0x3dac
callq 0x2f70
movswl 0xc(%rax), %eax
movl %eax, -0x44(%rbp)
movw $0x80, 0x7725(%rip)     # 0xb4da
movb $0x0, 0x771c(%rip)      # 0xb4d8
movw $0x80, 0x7819(%rip)     # 0xb5de
movb $0x0, 0x7810(%rip)      # 0xb5dc
movl -0x44(%rbp), %edi
callq 0x2410
movw $0x0, 0x74a3(%rip)      # 0xb280
movb $0x0, 0x73d4(%rip)      # 0xb1b8
movb $0x0, 0x73d1(%rip)      # 0xb1bc
jmp 0x4c0f
movw $0xa, 0x7901(%rip)      # 0xb6fa
jmp 0x4c0f
callq 0x5340
jmp 0x4c0f
movl $0x37, 0x7472(%rip)     # 0xb284
movb $0x0, -0x21(%rbp)
jmp 0x4c0f
cmpl $0x2, 0x743e(%rip)      # 0xb260
jne 0x3e32
movq 0x74fd(%rip), %rax      # 0xb328
movq %rax, 0x74ee(%rip)      # 0xb320
jmp 0x4c0f
cmpl $0x1, 0x7422(%rip)      # 0xb260
jne 0x3f35
movq 0x741d(%rip), %rax      # 0xb268
movq 0x734e(%rip), %rcx      # 0xb1a0
movq %rcx, (%rax)
movq 0x734c(%rip), %rcx      # 0xb1a8
movq %rcx, 0x8(%rax)
movq 0x7349(%rip), %rcx      # 0xb1b0
movq %rcx, 0x10(%rax)
movl $0x0, 0x73fb(%rip)      # 0xb270
movl 0x73f5(%rip), %eax      # 0xb270
movl %eax, 0x73f3(%rip)      # 0xb274
movq 0x73e0(%rip), %rax      # 0xb268
movl 0x73e2(%rip), %ecx      # 0xb270
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq %rax, 0x73d6(%rip)      # 0xb278
movl $0x0, -0x14(%rbp)
movslq -0x14(%rbp), %rax
cmpq $0x1a, %rax
jae 0x3f08
movslq -0x14(%rbp), %rax
leaq 0x6222(%rip), %rdi      # 0xa0e0
imulq $0x18, %rax, %rax
addq %rax, %rdi
addq $0x4, %rdi
movslq -0x14(%rbp), %rcx
leaq 0x620c(%rip), %rax      # 0xa0e0
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movw 0xc(%rax), %ax
movslq -0x14(%rbp), %rdx
leaq 0x61f6(%rip), %rcx      # 0xa0e0
imulq $0x18, %rdx, %rdx
addq %rdx, %rcx
movl (%rcx), %edx
xorl %ecx, %ecx
movswl %ax, %esi
callq 0x1de0
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x3ea9
movl 0x7362(%rip), %eax      # 0xb270
movl %eax, 0x7360(%rip)      # 0xb274
movq 0x734d(%rip), %rax      # 0xb268
movl 0x734f(%rip), %ecx      # 0xb270
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq %rax, 0x7343(%rip)      # 0xb278
jmp 0x4c0f
movswl 0x758f(%rip), %eax      # 0xb4d0
subl $0x1, %eax
leaq 0x758d(%rip), %rdi      # 0xb4d8
movswl %ax, %esi
callq 0x32b0
leaq 0x7682(%rip), %rdi      # 0xb5dc
xorl %esi, %esi
callq 0x32b0
movswl 0x756a(%rip), %eax      # 0xb4d2
sarl $0xc, %eax
movw %ax, -0x1a(%rbp)
movl 0x77fb(%rip), %eax      # 0xb770
movl %eax, -0x18(%rbp)
movslq 0x77e1(%rip), %rcx      # 0xb760
leaq 0x777a(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x2f, %eax
je 0x3fd4
movslq 0x77ca(%rip), %rcx      # 0xb760
leaq 0x7763(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x3fd4
movslq 0x77b3(%rip), %rcx      # 0xb760
leaq 0x774c(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0xa, %eax
je 0x3fd4
movslq 0x779c(%rip), %rcx      # 0xb760
leaq 0x7735(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x3b, %eax
jne 0x3fe1
movswl -0x1a(%rbp), %eax
addl $0x1, %eax
movw %ax, -0x1a(%rbp)
jmp 0x3fee
callq 0x2f70
movw 0xc(%rax), %ax
movw %ax, -0x1a(%rbp)
cmpb $0x0, 0x71c7(%rip)      # 0xb1bc
je 0x4008
movl -0x18(%rbp), %esi
leaq 0x70bf(%rip), %rdi      # 0xb0c0
callq 0x5220
jmp 0x406e
movswl -0x1a(%rbp), %eax
cmpl $0x7, %eax
jg 0x401a
movswl -0x1a(%rbp), %eax
cmpl $0x0, %eax
jge 0x402e
movl 0x7750(%rip), %esi      # 0xb770
leaq 0x7059(%rip), %rdi      # 0xb080
callq 0x5220
jmp 0x406c
movswl -0x1a(%rbp), %eax
andl $0x7, %eax
shll $0x3, %eax
orl $0xc0, %eax
movw %ax, -0x3e(%rbp)
movswl -0x3e(%rbp), %edi
callq 0x65e0
movswl -0x3e(%rbp), %ecx
movswl 0x722b(%rip), %eax      # 0xb280
subl %ecx, %eax
movw %ax, 0x7222(%rip)       # 0xb280
movswl -0x1a(%rbp), %eax
shll $0xc, %eax
movw %ax, 0x7466(%rip)       # 0xb4d2
jmp 0x406e
movswl 0x745d(%rip), %eax      # 0xb4d2
orl $0x80, %eax
movw %ax, 0x744f(%rip)       # 0xb4d0
movswl 0x7448(%rip), %eax      # 0xb4d0
andl $0xfff, %eax            # imm = 0xFFF
movw %ax, 0x7440(%rip)       # 0xb4d4
cmpb $0x0, 0x7121(%rip)      # 0xb1bc
jne 0x40a9
movswl 0x742c(%rip), %edi      # 0xb4d0
callq 0x33a0
jmp 0x4c0f
movslq 0x76b3(%rip), %rcx      # 0xb768
leaq 0x7644(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x3d, %eax
jne 0x4132
callq 0x1170
movq (%rax), %rax
movslq 0x768c(%rip), %rdx      # 0xb760
leaq 0x7625(%rip), %rcx      # 0xb700
movsbl (%rcx,%rdx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
je 0x4132
movl 0x766a(%rip), %eax      # 0xb760
movl %eax, -0x18(%rbp)
movl 0x7669(%rip), %eax      # 0xb768
movl %eax, -0x3c(%rbp)
callq 0x2cd0
callq 0x2cd0
movl -0x18(%rbp), %eax
movl %eax, -0x58(%rbp)
movl -0x3c(%rbp), %eax
movl %eax, -0x54(%rbp)
callq 0x39d0
movl -0x58(%rbp), %edi
movl -0x54(%rbp), %esi
movl $0x5, %ecx
movswl %ax, %edx
callq 0x38c0
jmp 0x4153
movl 0x7628(%rip), %esi      # 0xb760
leaq 0x6e61(%rip), %rdi      # 0xafa0
callq 0x3910
callq 0x2cd0
callq 0x2cd0
callq 0x39d0
jmp 0x4c0f
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl 0x7108(%rip), %eax      # 0xb270
jge 0x41a0
movq 0x70f7(%rip), %rax      # 0xb268
movslq -0x14(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %ecx
orl $0x2, %ecx
movq 0x70e0(%rip), %rax      # 0xb268
movslq -0x14(%rbp), %rdx
imulq $0x18, %rdx, %rdx
addq %rdx, %rax
movl %ecx, (%rax)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x415f
movl 0x70ca(%rip), %eax      # 0xb270
movl %eax, 0x70c8(%rip)      # 0xb274
movq 0x70b5(%rip), %rax      # 0xb268
movl 0x70b7(%rip), %ecx      # 0xb270
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq %rax, 0x70ab(%rip)      # 0xb278
movq 0x7094(%rip), %rdi      # 0xb268
movslq 0x7095(%rip), %rsi      # 0xb270
movl $0x18, %edx
leaq 0x24f9(%rip), %rcx      # 0x66e0
callq 0x1070
jmp 0x4c0f
callq 0x58b0
jmp 0x4c0f
callq 0x1170
movq (%rax), %rax
movslq 0x7556(%rip), %rdx      # 0xb760
leaq 0x74ef(%rip), %rcx      # 0xb700
movsbl (%rcx,%rdx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
je 0x4270
callq 0x3c10
movq %rax, -0x30(%rbp)
callq 0x2cd0
movq -0x30(%rbp), %rax
movl (%rax), %eax
andl $0x1, %eax
cmpl $0x1, %eax
jne 0x424b
cmpl $0x1, 0x7017(%rip)      # 0xb260
je 0x4262
movq -0x30(%rbp), %rax
movl (%rax), %eax
andl $0x1, %eax
cmpl $0x1, %eax
je 0x4269
cmpl $0x2, 0x7000(%rip)      # 0xb260
jne 0x4269
callq 0x6710
jmp 0x426e
callq 0x6750
jmp 0x4282
movl 0x74ea(%rip), %esi      # 0xb760
leaq 0x6cf3(%rip), %rdi      # 0xaf70
callq 0x3910
jmp 0x4c0f
callq 0x1170
movq (%rax), %rax
movslq 0x74ca(%rip), %rdx      # 0xb760
leaq 0x7463(%rip), %rcx      # 0xb700
movsbl (%rcx,%rdx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
je 0x42fc
callq 0x3c10
movq %rax, -0x30(%rbp)
callq 0x2cd0
movq -0x30(%rbp), %rax
movl (%rax), %eax
andl $0x1, %eax
cmpl $0x1, %eax
jne 0x42d7
cmpl $0x1, 0x6f8b(%rip)      # 0xb260
je 0x42ee
movq -0x30(%rbp), %rax
movl (%rax), %eax
andl $0x1, %eax
cmpl $0x1, %eax
je 0x42f5
cmpl $0x2, 0x6f74(%rip)      # 0xb260
jne 0x42f5
callq 0x6750
jmp 0x42fa
callq 0x6710
jmp 0x430e
movl 0x745e(%rip), %esi      # 0xb760
leaq 0x6c67(%rip), %rdi      # 0xaf70
callq 0x3910
jmp 0x4c0f
callq 0x2f70
movswl 0xc(%rax), %eax
cmpl $0x0, %eax
jne 0x4328
callq 0x6750
jmp 0x432d
callq 0x6710
jmp 0x4c0f
callq 0x2f70
movswl 0xc(%rax), %eax
cmpl $0x0, %eax
jne 0x4347
callq 0x6710
jmp 0x434c
callq 0x6750
jmp 0x4c0f
cmpl $0x2, 0x6f08(%rip)      # 0xb260
jne 0x4365
movq $0x0, 0x6fbb(%rip) # 0xb320
jmp 0x4c0f
movw $0x8, 0x7387(%rip)      # 0xb6fa
jmp 0x4c0f
movswl 0x7151(%rip), %eax      # 0xb4d0
subl $0x1, %eax
leaq 0x714f(%rip), %rdi      # 0xb4d8
movswl %ax, %esi
callq 0x32b0
movw 0x7138(%rip), %ax       # 0xb4d0
movw %ax, -0x1c(%rbp)
movslq 0x73bd(%rip), %rcx      # 0xb760
leaq 0x7356(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x2f, %eax
je 0x43f8
movslq 0x73a6(%rip), %rcx      # 0xb760
leaq 0x733f(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x43f8
movslq 0x738f(%rip), %rcx      # 0xb760
leaq 0x7328(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0xa, %eax
je 0x43f8
movslq 0x7378(%rip), %rcx      # 0xb760
leaq 0x7311(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x3b, %eax
jne 0x4423
movswl 0x70d1(%rip), %eax      # 0xb4d0
addl $0x7f, %eax
andl $0x7f80, %eax           # imm = 0x7F80
movw %ax, 0x70c2(%rip)       # 0xb4d0
movswl 0x70bb(%rip), %eax      # 0xb4d0
andl $0xfff, %eax            # imm = 0xFFF
movw %ax, 0x70b3(%rip)       # 0xb4d4
jmp 0x4460
callq 0x2f70
movw 0xc(%rax), %ax
movw %ax, -0x3e(%rbp)
movswl 0x709b(%rip), %eax      # 0xb4d2
shll $0xc, %eax
movswl -0x3e(%rbp), %ecx
andl $0x1f, %ecx
shll $0x7, %ecx
addl %ecx, %eax
movw %ax, 0x7083(%rip)       # 0xb4d0
movswl 0x707c(%rip), %eax      # 0xb4d0
andl $0xfff, %eax            # imm = 0xFFF
movw %ax, 0x7074(%rip)       # 0xb4d4
movswl 0x7069(%rip), %edi      # 0xb4d0
callq 0x61b0
cmpb $0x0, 0x6d49(%rip)      # 0xb1bc
jne 0x4490
movswl 0x7054(%rip), %eax      # 0xb4d0
movswl -0x1c(%rbp), %ecx
cmpl %ecx, %eax
je 0x4490
movswl 0x7045(%rip), %edi      # 0xb4d0
callq 0x33a0
jmp 0x4c0f
jmp 0x4c0f
movslq 0x72bf(%rip), %rcx      # 0xb760
leaq 0x7258(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x2f, %eax
je 0x44f6
movslq 0x72a8(%rip), %rcx      # 0xb760
leaq 0x7241(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x44f6
movslq 0x7291(%rip), %rcx      # 0xb760
leaq 0x722a(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0xa, %eax
je 0x44f6
movslq 0x727a(%rip), %rcx      # 0xb760
leaq 0x7213(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x3b, %eax
jne 0x4501
movw $0x0, 0x6fd7(%rip)      # 0xb4d6
jmp 0x452b
callq 0x2f70
movw 0xc(%rax), %ax
movw %ax, -0x3e(%rbp)
movswl -0x3e(%rbp), %eax
movswl 0x6fb7(%rip), %ecx      # 0xb4d0
movswl 0x6fb6(%rip), %edx      # 0xb4d6
addl %edx, %ecx
subl %ecx, %eax
movw %ax, 0x6fab(%rip)       # 0xb4d6
jmp 0x4c0f
movzbl 0x6c81(%rip), %eax      # 0xb1b8
cmpl $0x0, %eax
je 0x45df
cmpb $0x0, 0x6c75(%rip)      # 0xb1bc
jne 0x45df
movl 0x721d(%rip), %eax      # 0xb770
movl %eax, -0x18(%rbp)
movslq 0x7203(%rip), %rcx      # 0xb760
leaq 0x719c(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x2f, %eax
je 0x45b2
movslq 0x71ec(%rip), %rcx      # 0xb760
leaq 0x7185(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x45b2
movslq 0x71d5(%rip), %rcx      # 0xb760
leaq 0x716e(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0xa, %eax
je 0x45b2
movslq 0x71be(%rip), %rcx      # 0xb760
leaq 0x7157(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x3b, %eax
jne 0x45bb
movl $0x8, -0x44(%rbp)
jmp 0x45c7
callq 0x2f70
movswl 0xc(%rax), %eax
movl %eax, -0x44(%rbp)
callq 0x2ed0
cmpl $-0x1, -0x44(%rbp)
je 0x45d7
callq 0x2480
movl -0x44(%rbp), %edi
callq 0x2410
movb $0x1, 0x6bd6(%rip)      # 0xb1bc
jmp 0x4c0f
movswl 0x6ede(%rip), %eax      # 0xb4d0
subl $0x1, %eax
leaq 0x6edc(%rip), %rdi      # 0xb4d8
movswl %ax, %esi
callq 0x32b0
movslq 0x7155(%rip), %rcx      # 0xb760
leaq 0x70ee(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x2f, %eax
je 0x4660
movslq 0x713e(%rip), %rcx      # 0xb760
leaq 0x70d7(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x4660
movslq 0x7127(%rip), %rcx      # 0xb760
leaq 0x70c0(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0xa, %eax
je 0x4660
movslq 0x7110(%rip), %rcx      # 0xb760
leaq 0x70a9(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x3b, %eax
jne 0x468d
movswl 0x6e69(%rip), %eax      # 0xb4d0
andl $0xc00, %eax            # imm = 0xC00
addl $0x400, %eax            # imm = 0x400
movw %ax, 0x6e58(%rip)       # 0xb4d0
movswl 0x6e51(%rip), %eax      # 0xb4d0
andl $0xfff, %eax            # imm = 0xFFF
movw %ax, 0x6e49(%rip)       # 0xb4d4
jmp 0x46b5
callq 0x2f70
movl -0x4(%rbp), %eax
andl $0x3, %eax
shll $0xa, %eax
movw %ax, 0x6e2e(%rip)       # 0xb4d0
movswl 0x6e27(%rip), %eax      # 0xb4d0
andl $0xfff, %eax            # imm = 0xFFF
movw %ax, 0x6e1f(%rip)       # 0xb4d4
cmpb $0x0, 0x6b00(%rip)      # 0xb1bc
jne 0x46ca
movswl 0x6e0b(%rip), %edi      # 0xb4d0
callq 0x33a0
movswl 0x6dff(%rip), %edi      # 0xb4d0
callq 0x61b0
jmp 0x4c0f
movslq 0x707e(%rip), %rcx      # 0xb760
leaq 0x7017(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
movl %eax, -0xc(%rbp)
movl $0x0, -0x20(%rbp)
movl $0x0, -0x8(%rbp)
movl 0x705c(%rip), %eax      # 0xb760
addl $0x1, %eax
movl %eax, -0x10(%rbp)
movslq -0x10(%rbp), %rcx
leaq 0x6feb(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %ecx
xorl %eax, %eax
cmpl -0xc(%rbp), %ecx
movb %al, -0x59(%rbp)
je 0x475c
movslq -0x10(%rbp), %rcx
leaq 0x6fd2(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x5a(%rbp)
je 0x4754
movslq -0x10(%rbp), %rcx
leaq 0x6fb9(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0xa, %eax
sete %al
movb %al, -0x5a(%rbp)
movb -0x5a(%rbp), %al
xorb $-0x1, %al
movb %al, -0x59(%rbp)
movb -0x59(%rbp), %al
testb $0x1, %al
jne 0x4765
jmp 0x47c7
movl -0x20(%rbp), %eax
shll $0x6, %eax
movslq -0x10(%rbp), %rdx
leaq 0x6f8a(%rip), %rcx      # 0xb700
movsbl (%rcx,%rdx), %ecx
andl $0x3f, %ecx
orl %ecx, %eax
movl %eax, -0x20(%rbp)
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
cmpl $0x1, -0x8(%rbp)
jle 0x47b9
movw 0x6d38(%rip), %cx       # 0xb4d0
movl -0x20(%rbp), %eax
movswl %cx, %edi
movswl %ax, %esi
callq 0x4c20
callq 0x4c80
movl $0x0, -0x8(%rbp)
movl $0x0, -0x20(%rbp)
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x470a
cmpl $0x0, -0x8(%rbp)
je 0x47ec
movw 0x6cfc(%rip), %cx       # 0xb4d0
movl -0x20(%rbp), %eax
shll $0x6, %eax
movswl %cx, %edi
movswl %ax, %esi
callq 0x4c20
callq 0x4c80
jmp 0x47ff
xorl %esi, %esi
movswl 0x6cdb(%rip), %edi      # 0xb4d0
callq 0x4c20
callq 0x4c80
movslq -0x10(%rbp), %rcx
leaq 0x6ef6(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x4827
movslq -0x10(%rbp), %rcx
leaq 0x6ee2(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0xa, %eax
jne 0x4850
movl -0x10(%rbp), %eax
movl %eax, 0x6f48(%rip)      # 0xb778
movl 0x6f42(%rip), %eax      # 0xb778
movl %eax, 0x6f2c(%rip)      # 0xb768
movl 0x6f36(%rip), %esi      # 0xb778
leaq 0x6867(%rip), %rdi      # 0xb0b0
callq 0x5220
jmp 0x4868
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, 0x6f1c(%rip)      # 0xb778
movl 0x6f16(%rip), %eax      # 0xb778
movl %eax, 0x6f00(%rip)      # 0xb768
callq 0x2cd0
jmp 0x4c0f
movslq 0x6ee7(%rip), %rcx      # 0xb760
leaq 0x6e80(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
movl %eax, -0xc(%rbp)
movl 0x6ed3(%rip), %eax      # 0xb760
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movslq -0x14(%rbp), %rcx
leaq 0x6f02(%rip), %rax      # 0xb7a0
movsbl (%rax,%rcx), %eax
cmpl -0xc(%rbp), %eax
jne 0x48c9
movl -0x14(%rbp), %eax
addl $0x1, %eax
movslq %eax, %rcx
leaq 0x6ee9(%rip), %rax      # 0xb7a0
movsbl (%rax,%rcx), %eax
cmpl -0xc(%rbp), %eax
jne 0x48c9
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movslq -0x14(%rbp), %rcx
leaq 0x6e23(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %ecx
xorl %eax, %eax
cmpl -0xc(%rbp), %ecx
movb %al, -0x5b(%rbp)
je 0x4924
movslq -0x14(%rbp), %rcx
leaq 0x6e0a(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x5c(%rbp)
je 0x491c
movslq -0x14(%rbp), %rcx
leaq 0x6df1(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0xa, %eax
sete %al
movb %al, -0x5c(%rbp)
movb -0x5c(%rbp), %al
xorb $-0x1, %al
movb %al, -0x5b(%rbp)
movb -0x5b(%rbp), %al
testb $0x1, %al
jne 0x4893
movslq -0x14(%rbp), %rcx
leaq 0x6dc6(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl -0xc(%rbp), %eax
jne 0x4a6e
movl $0x0, -0x8(%rbp)
movl 0x6e0c(%rip), %eax      # 0xb760
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movslq -0x14(%rbp), %rcx
leaq 0x6e3b(%rip), %rax      # 0xb7a0
movsbl (%rax,%rcx), %eax
cmpl -0xc(%rbp), %eax
jne 0x4990
movl -0x14(%rbp), %eax
addl $0x1, %eax
movslq %eax, %rcx
leaq 0x6e22(%rip), %rax      # 0xb7a0
movsbl (%rax,%rcx), %eax
cmpl -0xc(%rbp), %eax
jne 0x4990
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movslq -0x14(%rbp), %rcx
leaq 0x6d65(%rip), %rax      # 0xb700
movb (%rax,%rcx), %dl
movslq -0x8(%rbp), %rcx
leaq 0x6df7(%rip), %rax      # 0xb7a0
movb %dl, (%rax,%rcx)
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movslq -0x8(%rbp), %rcx
leaq 0x6dd7(%rip), %rax      # 0xb7a0
movb $0x0, (%rax,%rcx)
movslq -0x14(%rbp), %rcx
leaq 0x6d28(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %ecx
xorl %eax, %eax
cmpl -0xc(%rbp), %ecx
movb %al, -0x5d(%rbp)
je 0x4a1f
movslq -0x14(%rbp), %rcx
leaq 0x6d0f(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, -0x5e(%rbp)
je 0x4a17
movslq -0x14(%rbp), %rcx
leaq 0x6cf6(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0xa, %eax
sete %al
movb %al, -0x5e(%rbp)
movb -0x5e(%rbp), %al
xorb $-0x1, %al
movb %al, -0x5d(%rbp)
movb -0x5d(%rbp), %al
testb $0x1, %al
jne 0x495a
leaq 0x6d6f(%rip), %rdi      # 0xb7a0
callq 0x1090
cmpq $0x3f, %rax
jbe 0x4a43
movb $0x0, 0x6d9c(%rip)      # 0xb7df
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, 0x6d29(%rip)      # 0xb778
movl 0x6d23(%rip), %eax      # 0xb778
movl %eax, 0x6d0d(%rip)      # 0xb768
movl $0x37, 0x681f(%rip)     # 0xb284
movb $0x1, 0x6c8c(%rip)      # 0xb6f8
jmp 0x4a95
movl -0x14(%rbp), %eax
movl %eax, 0x6d01(%rip)      # 0xb778
movl 0x6cfb(%rip), %eax      # 0xb778
movl %eax, 0x6ce5(%rip)      # 0xb768
movl 0x6cef(%rip), %esi      # 0xb778
leaq 0x6620(%rip), %rdi      # 0xb0b0
callq 0x5220
callq 0x2cd0
jmp 0x4c0f
movslq 0x6cba(%rip), %rcx      # 0xb760
leaq 0x6c53(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x2f, %eax
je 0x4afb
movslq 0x6ca3(%rip), %rcx      # 0xb760
leaq 0x6c3c(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x4afb
movslq 0x6c8c(%rip), %rcx      # 0xb760
leaq 0x6c25(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0xa, %eax
je 0x4afb
movslq 0x6c75(%rip), %rcx      # 0xb760
leaq 0x6c0e(%rip), %rax      # 0xb700
movsbl (%rax,%rcx), %eax
cmpl $0x3b, %eax
jne 0x4b21
movq 0x68ae(%rip), %rax      # 0xb3b0
movq %rax, -0x38(%rbp)
movq 0x68ab(%rip), %rax      # 0xb3b8
movq %rax, 0x689c(%rip)      # 0xb3b0
movq -0x38(%rbp), %rax
movq %rax, 0x6899(%rip)      # 0xb3b8
jmp 0x4b7b
callq 0x2f70
movswl 0xc(%rax), %eax
cmpl $0x0, %eax
jne 0x4b54
cmpq $0x0, 0x6879(%rip)      # 0xb3b0
jne 0x4b52
movq 0x6878(%rip), %rax      # 0xb3b8
movq %rax, 0x6869(%rip)      # 0xb3b0
movq $0x0, 0x6866(%rip) # 0xb3b8
jmp 0x4b79
cmpq $0x0, 0x6854(%rip)      # 0xb3b0
je 0x4b77
movq 0x684b(%rip), %rax      # 0xb3b0
movq %rax, 0x684c(%rip)      # 0xb3b8
movq $0x0, 0x6839(%rip) # 0xb3b0
jmp 0x4b79
jmp 0x4b7b
jmp 0x4c0f
callq 0x2f70
movw 0xc(%rax), %ax
movw %ax, -0x3e(%rbp)
movswl -0x3e(%rbp), %eax
cmpl $0x0, %eax
jge 0x4baa
movl 0x6bd4(%rip), %esi      # 0xb770
leaq 0x649d(%rip), %rdi      # 0xb040
callq 0x5220
jmp 0x4c0b
movswl -0x3e(%rbp), %eax
movswl 0x691b(%rip), %ecx      # 0xb4d0
andl $0xfff, %ecx            # imm = 0xFFF
addl %ecx, %eax
subl $0x1, %eax
cmpl $0xfff, %eax            # imm = 0xFFF
jle 0x4bdb
movl 0x6ba3(%rip), %esi      # 0xb770
leaq 0x647c(%rip), %rdi      # 0xb050
callq 0x5220
jmp 0x4c09
jmp 0x4bdd
movswl -0x3e(%rbp), %eax
cmpl $0x0, %eax
jle 0x4c07
xorl %esi, %esi
movswl 0x68e1(%rip), %edi      # 0xb4d0
callq 0x4c20
callq 0x4c80
movw -0x3e(%rbp), %ax
addw $-0x1, %ax
movw %ax, -0x3e(%rbp)
jmp 0x4bdd
jmp 0x4c09
jmp 0x4c0b
jmp 0x4c0f
jmp 0x4c0f
movb -0x21(%rbp), %al
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax,%rax)