// File: afinit[P]afin/readlist.cpp
// Function: Readlist::add_reads(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void Readlist::add_reads( string readsfiles ){
  stringstream ss;
  ss.str( readsfiles );
  string filename;
  string buffer("");
  string line("");
  char log_buff[1000];
  int line_count = 0;
  FileIO* read = NULL; 

  while( getline( ss, filename, ',' )){
    Log::Inst()->log_it( "readfile: " + filename );

    if( filename.rfind( ".gz" ) == filename.length() - 3 ){
      read = new Gzip( filename );
    }
    else{
      read = new IO_Wrapper( filename );
    }

    // check what type of file it is
    if( (line = read->getline()) != "" ){
      if( line[0] == '@' ){
        // read in fastq reads
        do{
          line_count++;
          if( line[0] == '@' ){
            if( (line = read->getline()) != "" ){
              line_count++;
              if( !homopolymer_check( line ) ){
                if( line.length() > max_sort_char ){
                  rlist.push_back( line );
                }
              }
              if( ( line = read->getline()) != "" ){
                line_count++;
                if( line[0] == '+'){
                  if( ( line = read->getline()) != "" ){
                    line_count++;
                    continue;
                  }
                  else{
                    sprintf( log_buff, "Error reading fastq file. Scoring line missing. Line_num: %d Line: %s", line_count, line.c_str() );
                    Log::Inst()->log_it( log_buff );
                    fprintf( stderr, "Error reading fastq file. Scoring line missing. Line_num: %d Line: %s\n", line_count, line.c_str() );
                    break;
                  }   
                }   
                else{
                  sprintf( log_buff, "Error reading fastq file. '+' expected at this line. Line_num: %d Line: %s", line_count, line.c_str() );
                  Log::Inst()->log_it( log_buff );
                  fprintf( stderr, "Error reading fastq file. '+' expected at this line. Line_num: %d Line: %s\n", line_count, line.c_str() );
                  break;
                }   
              }   
              else{
                sprintf( log_buff, "Error reading fastq file. Line missing. Should start with '+'. Line_num: %d Line: %s", line_count, line.c_str() );
                Log::Inst()->log_it( log_buff );
                fprintf( stderr, "Error reading fastq file. Line missing. Should start with '+'. Line_num: %d Line: %s\n", line_count, line.c_str() );
                break;
              }   
            }   
            else{
              sprintf( log_buff, "Error reading fastq file. Sequence line missing. Line_num: %d Line: %s", line_count, line.c_str() );
              Log::Inst()->log_it( log_buff );
              fprintf( stderr, "Error reading fastq file. Sequence line missing. Line_num: %d Line: %s\n", line_count, line.c_str() );
              break;
            }   
          }   
          else{  
            sprintf( log_buff, "Error reading fastq file. '@' expected at the beginning of this line. Line_num: %d Line: %s", line_count, line.c_str() );
            Log::Inst()->log_it( log_buff );
            fprintf( stderr, "Error reading fastq file. '@' expected at the beginning of this line. Line_num: %d Line: %s\n", line_count, line.c_str() );
            break;
          }
        } while( ( line = read->getline()) != "" );
      }
      else if( line[0] == '>' ){
        // read in reads to vector from fasta file
        do{
          if( line[0] == '>' && buffer.length() != 0 ){
            if( !homopolymer_check( buffer ) ){
              if( buffer.length() > max_sort_char ){
                rlist.push_back( buffer );
              }
            }
            buffer = "";
          }
          else if ( line[0] == '>' ) {
          }
          else{
            buffer += line;
          }
        } while( ( line = read->getline()) != "" );
      }
      else {
        Log::Inst()->log_it( "Error: Unexpected file type. Needs to be fasta or fastq file for input." );
        fprintf( stderr, "Error: Unexpected file type. Needs to be fasta or fastq file for input.\n" );
        break;
      }
    }
  }

  // insert last line into rlist
  if( buffer.length() != 0 ){
    if( !homopolymer_check( buffer ) ){
      if( buffer.length() > max_sort_char ){
        rlist.push_back( buffer );
      }
    }
  }

  if( rlist.size() == 0 ){
    Log::Inst()->log_it( "Error: No reads found in files supplied" );
    fprintf( stderr, "Error: No reads found in files supplied\n" );
    exit(1);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa60, %rsp            # imm = 0xA60
movq %rsi, -0x8c0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x8d0(%rbp)
leaq -0x198(%rbp), %rdi
movq %rdi, -0x8c8(%rbp)
callq 0x42c0
movq -0x8c8(%rbp), %rdi
movq -0x8c0(%rbp), %rsi
callq 0x4440
jmp 0x190ed
leaq -0x1c8(%rbp), %rdi
callq 0x4550
leaq -0x1e9(%rbp), %rdi
movq %rdi, -0x8d8(%rbp)
callq 0x46e0
movq -0x8d8(%rbp), %rdx
leaq 0x1309e(%rip), %rsi     # 0x2c1b8
leaq -0x1e8(%rbp), %rdi
callq 0x4530
jmp 0x19128
leaq -0x1e9(%rbp), %rdi
callq 0x4420
leaq -0x211(%rbp), %rdi
movq %rdi, -0x8e0(%rbp)
callq 0x46e0
movq -0x8e0(%rbp), %rdx
leaq 0x13063(%rip), %rsi     # 0x2c1b8
leaq -0x210(%rbp), %rdi
callq 0x4530
jmp 0x19163
leaq -0x211(%rbp), %rdi
callq 0x4420
movl $0x0, -0x604(%rbp)
movq $0x0, -0x610(%rbp)
leaq -0x198(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
movl $0x2c, %edx
callq 0x4710
movq %rax, -0x8e8(%rbp)
jmp 0x191a5
movq -0x8e8(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x44b0
movb %al, -0x8e9(%rbp)
jmp 0x191c3
movb -0x8e9(%rbp), %al
testb $0x1, %al
jne 0x191d2
jmp 0x1a118
callq 0x100d0
movq %rax, -0x8f8(%rbp)
jmp 0x191e0
leaq 0x132b9(%rip), %rsi     # 0x2c4a0
leaq -0x630(%rbp), %rdi
leaq -0x1c8(%rbp), %rdx
callq 0x152c0
jmp 0x191fc
movq -0x8f8(%rbp), %rdi
leaq -0x630(%rbp), %rsi
callq 0x10460
jmp 0x19211
leaq -0x630(%rbp), %rdi
callq 0x4270
leaq 0x13287(%rip), %rsi     # 0x2c4ab
leaq -0x1c8(%rbp), %rdi
movq $-0x1, %rdx
callq 0x4670
movq %rax, -0x900(%rbp)
jmp 0x19240
leaq -0x1c8(%rbp), %rdi
callq 0x45e0
movq %rax, %rcx
movq -0x900(%rbp), %rax
subq $0x3, %rcx
cmpq %rcx, %rax
jne 0x193b2
movl $0xc8, %edi
callq 0x43d0
movq %rax, -0x908(%rbp)
jmp 0x19276
movb $0x1, -0x651(%rbp)
leaq -0x650(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x41b0
jmp 0x19292
movq -0x908(%rbp), %rdi
leaq -0x650(%rbp), %rsi
callq 0x10760
jmp 0x192a7
movq -0x908(%rbp), %rax
movb $0x0, -0x651(%rbp)
movq %rax, -0x610(%rbp)
leaq -0x650(%rbp), %rdi
callq 0x4270
jmp 0x19467
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
jmp 0x1a31c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x1e9(%rbp), %rdi
callq 0x4420
jmp 0x1a310
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x211(%rbp), %rdi
callq 0x4420
jmp 0x1a304
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
jmp 0x1a2f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x630(%rbp), %rdi
callq 0x4270
jmp 0x1a2f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
jmp 0x19396
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x650(%rbp), %rdi
callq 0x4270
testb $0x1, -0x651(%rbp)
jne 0x193a1
jmp 0x193ad
movq -0x908(%rbp), %rdi
callq 0x43a0
jmp 0x1a2f8
movl $0x10, %edi
callq 0x43d0
movq %rax, -0x910(%rbp)
jmp 0x193c5
movb $0x1, -0x679(%rbp)
leaq -0x678(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x41b0
jmp 0x193e1
movq -0x910(%rbp), %rdi
leaq -0x678(%rbp), %rsi
callq 0x10610
jmp 0x193f6
movq -0x910(%rbp), %rax
movb $0x0, -0x679(%rbp)
movq %rax, -0x610(%rbp)
leaq -0x678(%rbp), %rdi
callq 0x4270
jmp 0x19467
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
jmp 0x1944b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x678(%rbp), %rdi
callq 0x4270
testb $0x1, -0x679(%rbp)
jne 0x19456
jmp 0x19462
movq -0x910(%rbp), %rdi
callq 0x43a0
jmp 0x1a2f8
movq -0x610(%rbp), %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x6a0(%rbp), %rdi
callq *%rax
jmp 0x1947f
leaq -0x210(%rbp), %rdi
leaq -0x6a0(%rbp), %rsi
callq 0x4480
movq %rax, %rdi
leaq 0x12d1c(%rip), %rsi     # 0x2c1b8
callq 0x5920
movb %al, -0x911(%rbp)
jmp 0x194a9
leaq -0x6a0(%rbp), %rdi
callq 0x4270
movb -0x911(%rbp), %al
testb $0x1, %al
jne 0x194c4
jmp 0x1a113
xorl %eax, %eax
movl %eax, %esi
leaq -0x210(%rbp), %rdi
callq 0x4770
movq %rax, -0x920(%rbp)
jmp 0x194dd
movq -0x920(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x40, %eax
jne 0x19e4b
jmp 0x194f2
movl -0x604(%rbp), %eax
incl %eax
movl %eax, -0x604(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x210(%rbp), %rdi
callq 0x4770
movq %rax, -0x928(%rbp)
jmp 0x19519
movq -0x928(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x40, %eax
jne 0x19c98
movq -0x610(%rbp), %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x6c0(%rbp), %rdi
callq *%rax
jmp 0x19544
leaq -0x210(%rbp), %rdi
leaq -0x6c0(%rbp), %rsi
callq 0x4480
movq %rax, %rdi
leaq 0x12c57(%rip), %rsi     # 0x2c1b8
callq 0x5920
movb %al, -0x929(%rbp)
jmp 0x1956e
leaq -0x6c0(%rbp), %rdi
callq 0x4270
movb -0x929(%rbp), %al
testb $0x1, %al
jne 0x19589
jmp 0x19b69
movl -0x604(%rbp), %eax
incl %eax
movl %eax, -0x604(%rbp)
leaq -0x6e0(%rbp), %rdi
leaq -0x210(%rbp), %rsi
callq 0x41b0
jmp 0x195ac
movq -0x8d0(%rbp), %rdi
leaq -0x6e0(%rbp), %rsi
callq 0x1b1c0
movb %al, -0x92a(%rbp)
jmp 0x195c7
movb -0x92a(%rbp), %al
xorb $-0x1, %al
movb %al, -0x92b(%rbp)
leaq -0x6e0(%rbp), %rdi
callq 0x4270
movb -0x92b(%rbp), %al
testb $0x1, %al
jne 0x195f0
jmp 0x19691
leaq -0x210(%rbp), %rdi
callq 0x45e0
leaq 0x250c1(%rip), %rcx     # 0x3e6c4
movslq (%rcx), %rcx
cmpq %rcx, %rax
jbe 0x1968f
leaq 0x25132(%rip), %rdi     # 0x3e748
leaq -0x210(%rbp), %rsi
callq 0x1bc00
jmp 0x19624
jmp 0x1968f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x6a0(%rbp), %rdi
callq 0x4270
jmp 0x1a2f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x6c0(%rbp), %rdi
callq 0x4270
jmp 0x1a2f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x6e0(%rbp), %rdi
callq 0x4270
jmp 0x1a2f8
jmp 0x19691
movq -0x610(%rbp), %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x700(%rbp), %rdi
callq *%rax
jmp 0x196a9
leaq -0x210(%rbp), %rdi
leaq -0x700(%rbp), %rsi
callq 0x4480
movq %rax, %rdi
leaq 0x12af2(%rip), %rsi     # 0x2c1b8
callq 0x5920
movb %al, -0x92c(%rbp)
jmp 0x196d3
leaq -0x700(%rbp), %rdi
callq 0x4270
movb -0x92c(%rbp), %al
testb $0x1, %al
jne 0x196ee
jmp 0x19a3a
movl -0x604(%rbp), %eax
incl %eax
movl %eax, -0x604(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x210(%rbp), %rdi
callq 0x4770
movq %rax, -0x938(%rbp)
jmp 0x19715
movq -0x938(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2b, %eax
jne 0x1990b
movq -0x610(%rbp), %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x720(%rbp), %rdi
callq *%rax
jmp 0x19740
leaq -0x210(%rbp), %rdi
leaq -0x720(%rbp), %rsi
callq 0x4480
movq %rax, %rdi
leaq 0x12a5b(%rip), %rsi     # 0x2c1b8
callq 0x5920
movb %al, -0x939(%rbp)
jmp 0x1976a
leaq -0x720(%rbp), %rdi
callq 0x4270
movb -0x939(%rbp), %al
testb $0x1, %al
jne 0x19782
jmp 0x197dc
movl -0x604(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x604(%rbp)
jmp 0x19dc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x700(%rbp), %rdi
callq 0x4270
jmp 0x1a2f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x720(%rbp), %rdi
callq 0x4270
jmp 0x1a2f8
movl -0x604(%rbp), %eax
movl %eax, -0x94c(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x41a0
movl -0x94c(%rbp), %edx
movq %rax, %rcx
leaq 0x12cab(%rip), %rsi     # 0x2c4af
xorl %eax, %eax
leaq -0x600(%rbp), %rdi
callq 0x40b0
callq 0x100d0
movq %rax, -0x948(%rbp)
jmp 0x19820
leaq -0x741(%rbp), %rdi
movq %rdi, -0x958(%rbp)
callq 0x46e0
movq -0x958(%rbp), %rdx
leaq -0x740(%rbp), %rdi
leaq -0x600(%rbp), %rsi
callq 0x4530
jmp 0x1984f
movq -0x948(%rbp), %rdi
leaq -0x740(%rbp), %rsi
callq 0x10460
jmp 0x19864
leaq -0x740(%rbp), %rdi
callq 0x4270
leaq -0x741(%rbp), %rdi
callq 0x4420
movq 0x24745(%rip), %rax     # 0x3dfc8
movq (%rax), %rax
movq %rax, -0x968(%rbp)
movl -0x604(%rbp), %eax
movl %eax, -0x95c(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x41a0
movq -0x968(%rbp), %rdi
movl -0x95c(%rbp), %edx
movq %rax, %rcx
leaq 0x12c39(%rip), %rsi     # 0x2c4f5
movb $0x0, %al
callq 0x4580
jmp 0x19e23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
jmp 0x198fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x740(%rbp), %rdi
callq 0x4270
leaq -0x741(%rbp), %rdi
callq 0x4420
jmp 0x1a2f8
movl -0x604(%rbp), %eax
movl %eax, -0x974(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x41a0
movl -0x974(%rbp), %edx
movq %rax, %rcx
leaq 0x12c09(%rip), %rsi     # 0x2c53c
xorl %eax, %eax
leaq -0x600(%rbp), %rdi
callq 0x40b0
callq 0x100d0
movq %rax, -0x970(%rbp)
jmp 0x1994f
leaq -0x769(%rbp), %rdi
movq %rdi, -0x980(%rbp)
callq 0x46e0
movq -0x980(%rbp), %rdx
leaq -0x768(%rbp), %rdi
leaq -0x600(%rbp), %rsi
callq 0x4530
jmp 0x1997e
movq -0x970(%rbp), %rdi
leaq -0x768(%rbp), %rsi
callq 0x10460
jmp 0x19993
leaq -0x768(%rbp), %rdi
callq 0x4270
leaq -0x769(%rbp), %rdi
callq 0x4420
movq 0x24616(%rip), %rax     # 0x3dfc8
movq (%rax), %rax
movq %rax, -0x990(%rbp)
movl -0x604(%rbp), %eax
movl %eax, -0x984(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x41a0
movq -0x990(%rbp), %rdi
movl -0x984(%rbp), %edx
movq %rax, %rcx
leaq 0x12b9c(%rip), %rsi     # 0x2c587
movb $0x0, %al
callq 0x4580
jmp 0x19e23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
jmp 0x19a29
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x768(%rbp), %rdi
callq 0x4270
leaq -0x769(%rbp), %rdi
callq 0x4420
jmp 0x1a2f8
movl -0x604(%rbp), %eax
movl %eax, -0x99c(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x41a0
movl -0x99c(%rbp), %edx
movq %rax, %rcx
leaq 0x12b71(%rip), %rsi     # 0x2c5d3
xorl %eax, %eax
leaq -0x600(%rbp), %rdi
callq 0x40b0
callq 0x100d0
movq %rax, -0x998(%rbp)
jmp 0x19a7e
leaq -0x791(%rbp), %rdi
movq %rdi, -0x9a8(%rbp)
callq 0x46e0
movq -0x9a8(%rbp), %rdx
leaq -0x790(%rbp), %rdi
leaq -0x600(%rbp), %rsi
callq 0x4530
jmp 0x19aad
movq -0x998(%rbp), %rdi
leaq -0x790(%rbp), %rsi
callq 0x10460
jmp 0x19ac2
leaq -0x790(%rbp), %rdi
callq 0x4270
leaq -0x791(%rbp), %rdi
callq 0x4420
movq 0x244e7(%rip), %rax     # 0x3dfc8
movq (%rax), %rax
movq %rax, -0x9b8(%rbp)
movl -0x604(%rbp), %eax
movl %eax, -0x9ac(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x41a0
movq -0x9b8(%rbp), %rdi
movl -0x9ac(%rbp), %edx
movq %rax, %rcx
leaq 0x12b0e(%rip), %rsi     # 0x2c628
movb $0x0, %al
callq 0x4580
jmp 0x19e23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
jmp 0x19b58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x790(%rbp), %rdi
callq 0x4270
leaq -0x791(%rbp), %rdi
callq 0x4420
jmp 0x1a2f8
movl -0x604(%rbp), %eax
movl %eax, -0x9c4(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x41a0
movl -0x9c4(%rbp), %edx
movq %rax, %rcx
leaq 0x12aed(%rip), %rsi     # 0x2c67e
xorl %eax, %eax
leaq -0x600(%rbp), %rdi
callq 0x40b0
callq 0x100d0
movq %rax, -0x9c0(%rbp)
jmp 0x19bad
leaq -0x7b9(%rbp), %rdi
movq %rdi, -0x9d0(%rbp)
callq 0x46e0
movq -0x9d0(%rbp), %rdx
leaq -0x7b8(%rbp), %rdi
leaq -0x600(%rbp), %rsi
callq 0x4530
jmp 0x19bdc
movq -0x9c0(%rbp), %rdi
leaq -0x7b8(%rbp), %rsi
callq 0x10460
jmp 0x19bf1
leaq -0x7b8(%rbp), %rdi
callq 0x4270
leaq -0x7b9(%rbp), %rdi
callq 0x4420
movq 0x243b8(%rip), %rax     # 0x3dfc8
movq (%rax), %rax
movq %rax, -0x9e0(%rbp)
movl -0x604(%rbp), %eax
movl %eax, -0x9d4(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x41a0
movq -0x9e0(%rbp), %rdi
movl -0x9d4(%rbp), %edx
movq %rax, %rcx
leaq 0x12a7c(%rip), %rsi     # 0x2c6c5
movb $0x0, %al
callq 0x4580
jmp 0x19e23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
jmp 0x19c87
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x7b8(%rbp), %rdi
callq 0x4270
leaq -0x7b9(%rbp), %rdi
callq 0x4420
jmp 0x1a2f8
movl -0x604(%rbp), %eax
movl %eax, -0x9ec(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x41a0
movl -0x9ec(%rbp), %edx
movq %rax, %rcx
leaq 0x12a4d(%rip), %rsi     # 0x2c70d
xorl %eax, %eax
leaq -0x600(%rbp), %rdi
callq 0x40b0
callq 0x100d0
movq %rax, -0x9e8(%rbp)
jmp 0x19cdc
leaq -0x7e1(%rbp), %rdi
movq %rdi, -0x9f8(%rbp)
callq 0x46e0
movq -0x9f8(%rbp), %rdx
leaq -0x7e0(%rbp), %rdi
leaq -0x600(%rbp), %rsi
callq 0x4530
jmp 0x19d0b
movq -0x9e8(%rbp), %rdi
leaq -0x7e0(%rbp), %rsi
callq 0x10460
jmp 0x19d20
leaq -0x7e0(%rbp), %rdi
callq 0x4270
leaq -0x7e1(%rbp), %rdi
callq 0x4420
movq 0x24289(%rip), %rax     # 0x3dfc8
movq (%rax), %rax
movq %rax, -0xa08(%rbp)
movl -0x604(%rbp), %eax
movl %eax, -0x9fc(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x41a0
movq -0xa08(%rbp), %rdi
movl -0x9fc(%rbp), %edx
movq %rax, %rcx
leaq 0x129f1(%rip), %rsi     # 0x2c769
movb $0x0, %al
callq 0x4580
jmp 0x19e23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
jmp 0x19db6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x7e0(%rbp), %rdi
callq 0x4270
leaq -0x7e1(%rbp), %rdi
callq 0x4420
jmp 0x1a2f8
movq -0x610(%rbp), %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x808(%rbp), %rdi
callq *%rax
jmp 0x19ddf
leaq -0x210(%rbp), %rdi
leaq -0x808(%rbp), %rsi
callq 0x4480
movq %rax, %rdi
leaq 0x123bc(%rip), %rsi     # 0x2c1b8
callq 0x5920
movb %al, -0xa09(%rbp)
jmp 0x19e09
leaq -0x808(%rbp), %rdi
callq 0x4270
movb -0xa09(%rbp), %al
testb $0x1, %al
jne 0x194f2
jmp 0x1a111
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x808(%rbp), %rdi
callq 0x4270
jmp 0x1a2f8
xorl %eax, %eax
movl %eax, %esi
leaq -0x210(%rbp), %rdi
callq 0x4770
movq %rax, -0xa18(%rbp)
jmp 0x19e64
movq -0xa18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3e, %eax
jne 0x1a048
jmp 0x19e79
xorl %eax, %eax
movl %eax, %esi
leaq -0x210(%rbp), %rdi
callq 0x4770
movq %rax, -0xa20(%rbp)
jmp 0x19e92
movq -0xa20(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3e, %eax
jne 0x19f7f
leaq -0x1e8(%rbp), %rdi
callq 0x45e0
cmpq $0x0, %rax
je 0x19f7f
leaq -0x828(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x41b0
jmp 0x19ed0
movq -0x8d0(%rbp), %rdi
leaq -0x828(%rbp), %rsi
callq 0x1b1c0
movb %al, -0xa21(%rbp)
jmp 0x19eeb
movb -0xa21(%rbp), %al
xorb $-0x1, %al
movb %al, -0xa22(%rbp)
leaq -0x828(%rbp), %rdi
callq 0x4270
movb -0xa22(%rbp), %al
testb $0x1, %al
jne 0x19f11
jmp 0x19f68
leaq -0x1e8(%rbp), %rdi
callq 0x45e0
leaq 0x247a0(%rip), %rcx     # 0x3e6c4
movslq (%rcx), %rcx
cmpq %rcx, %rax
jbe 0x19f66
leaq 0x24815(%rip), %rdi     # 0x3e748
leaq -0x1e8(%rbp), %rsi
callq 0x1bc00
jmp 0x19f41
jmp 0x19f66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x828(%rbp), %rdi
callq 0x4270
jmp 0x1a2f8
jmp 0x19f68
leaq 0x12249(%rip), %rsi     # 0x2c1b8
leaq -0x1e8(%rbp), %rdi
callq 0x4520
jmp 0x19f7d
jmp 0x19fc2
xorl %eax, %eax
movl %eax, %esi
leaq -0x210(%rbp), %rdi
callq 0x4770
movq %rax, -0xa30(%rbp)
jmp 0x19f98
movq -0xa30(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3e, %eax
jne 0x19fa9
jmp 0x19fc0
leaq -0x1e8(%rbp), %rdi
leaq -0x210(%rbp), %rsi
callq 0x44c0
jmp 0x19fbe
jmp 0x19fc0
jmp 0x19fc2
jmp 0x19fc4
movq -0x610(%rbp), %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x848(%rbp), %rdi
callq *%rax
jmp 0x19fdc
leaq -0x210(%rbp), %rdi
leaq -0x848(%rbp), %rsi
callq 0x4480
movq %rax, %rdi
leaq 0x121bf(%rip), %rsi     # 0x2c1b8
callq 0x5920
movb %al, -0xa31(%rbp)
jmp 0x1a006
leaq -0x848(%rbp), %rdi
callq 0x4270
movb -0xa31(%rbp), %al
testb $0x1, %al
jne 0x19e79
jmp 0x1a10f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x848(%rbp), %rdi
callq 0x4270
jmp 0x1a2f8
callq 0x100d0
movq %rax, -0xa40(%rbp)
jmp 0x1a056
leaq -0x869(%rbp), %rdi
movq %rdi, -0xa48(%rbp)
callq 0x46e0
movq -0xa48(%rbp), %rdx
leaq 0x1274f(%rip), %rsi     # 0x2c7c6
leaq -0x868(%rbp), %rdi
callq 0x4530
jmp 0x1a085
movq -0xa40(%rbp), %rdi
leaq -0x868(%rbp), %rsi
callq 0x10460
jmp 0x1a09a
leaq -0x868(%rbp), %rdi
callq 0x4270
leaq -0x869(%rbp), %rdi
callq 0x4420
movq 0x23f0f(%rip), %rax     # 0x3dfc8
movq (%rax), %rdi
leaq 0x1274b(%rip), %rsi     # 0x2c80e
movb $0x0, %al
callq 0x4580
jmp 0x1a118
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
jmp 0x1a0fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x868(%rbp), %rdi
callq 0x4270
leaq -0x869(%rbp), %rdi
callq 0x4420
jmp 0x1a2f8
jmp 0x1a111
jmp 0x1a113
jmp 0x19184
leaq -0x1e8(%rbp), %rdi
callq 0x45e0
cmpq $0x0, %rax
je 0x1a1dd
leaq -0x890(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x41b0
jmp 0x1a143
movq -0x8d0(%rbp), %rdi
leaq -0x890(%rbp), %rsi
callq 0x1b1c0
movb %al, -0xa49(%rbp)
jmp 0x1a15e
movb -0xa49(%rbp), %al
xorb $-0x1, %al
movb %al, -0xa4a(%rbp)
leaq -0x890(%rbp), %rdi
callq 0x4270
movb -0xa4a(%rbp), %al
testb $0x1, %al
jne 0x1a184
jmp 0x1a1db
leaq -0x1e8(%rbp), %rdi
callq 0x45e0
leaq 0x2452d(%rip), %rcx     # 0x3e6c4
movslq (%rcx), %rcx
cmpq %rcx, %rax
jbe 0x1a1d9
leaq 0x245a2(%rip), %rdi     # 0x3e748
leaq -0x1e8(%rbp), %rsi
callq 0x1bc00
jmp 0x1a1b4
jmp 0x1a1d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x890(%rbp), %rdi
callq 0x4270
jmp 0x1a2f8
jmp 0x1a1db
jmp 0x1a1dd
leaq 0x24564(%rip), %rdi     # 0x3e748
callq 0x1b790
cmpq $0x0, %rax
jne 0x1a2bf
callq 0x100d0
movq %rax, -0xa58(%rbp)
jmp 0x1a201
leaq -0x8b1(%rbp), %rdi
movq %rdi, -0xa60(%rbp)
callq 0x46e0
movq -0xa60(%rbp), %rdx
leaq 0x12635(%rip), %rsi     # 0x2c857
leaq -0x8b0(%rbp), %rdi
callq 0x4530
jmp 0x1a230
movq -0xa58(%rbp), %rdi
leaq -0x8b0(%rbp), %rsi
callq 0x10460
jmp 0x1a245
leaq -0x8b0(%rbp), %rdi
callq 0x4270
leaq -0x8b1(%rbp), %rdi
callq 0x4420
movq 0x23d64(%rip), %rax     # 0x3dfc8
movq (%rax), %rdi
leaq 0x12611(%rip), %rsi     # 0x2c87f
movb $0x0, %al
callq 0x4580
movl $0x1, %edi
callq 0x4470
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
jmp 0x1a2b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x8b0(%rbp), %rdi
callq 0x4270
leaq -0x8b1(%rbp), %rdi
callq 0x4420
jmp 0x1a2f8
leaq -0x210(%rbp), %rdi
callq 0x4270
leaq -0x1e8(%rbp), %rdi
callq 0x4270
leaq -0x1c8(%rbp), %rdi
callq 0x4270
leaq -0x198(%rbp), %rdi
callq 0x42f0
addq $0xa60, %rsp            # imm = 0xA60
popq %rbp
retq
leaq -0x210(%rbp), %rdi
callq 0x4270
leaq -0x1e8(%rbp), %rdi
callq 0x4270
leaq -0x1c8(%rbp), %rdi
callq 0x4270
leaq -0x198(%rbp), %rdi
callq 0x42f0
movq -0x1a0(%rbp), %rdi
callq 0x46c0
nopw %cs:(%rax,%rax)