// File: afinit[P]afin/readlist.cpp
// Function: Readlist::homopolymer_check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
bool Readlist::homopolymer_check( string seq ){
  int i = 0;
  if( seq[0] == 'A' ){
    for( i=1; i<seq.length(); i++ ){
      if( seq[i] != 'A' ){
        break;
      }
    }
  }
  else if( seq[0] == 'T' ){
    for( i=1; i<seq.length(); i++ ){
      if( seq[i] != 'T' ){
        break;
      }
    }
  }
  else if( seq[0] == 'C' ){
    for( i=1; i<seq.length(); i++ ){
      if( seq[i] != 'C' ){
        break;
      }
    }
  }
  else if( seq[0] == 'G' ){
    for( i=1; i<seq.length(); i++ ){
      if( seq[i] != 'G' ){
        break;
      }
    }
  }
  if( i == seq.length() ){
    return true;
  }

  return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rsi, -0x30(%rbp)
movq %rdi, %rax
movq -0x30(%rbp), %rdi
movq %rdi, -0x28(%rbp)
movq %rax, -0x10(%rbp)
movq %rdi, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
xorl %eax, %eax
movl %eax, %esi
callq 0x4770
movsbl (%rax), %eax
cmpl $0x41, %eax
jne 0x1b244
movl $0x1, -0x1c(%rbp)
movq -0x28(%rbp), %rdi
movslq -0x1c(%rbp), %rax
movq %rax, -0x38(%rbp)
callq 0x45e0
movq %rax, %rcx
movq -0x38(%rbp), %rax
cmpq %rcx, %rax
jae 0x1b23f
movq -0x28(%rbp), %rdi
movslq -0x1c(%rbp), %rsi
callq 0x4770
movsbl (%rax), %eax
cmpl $0x41, %eax
je 0x1b232
jmp 0x1b23f
jmp 0x1b234
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x1b1fe
jmp 0x1b36a
movq -0x28(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x4770
movsbl (%rax), %eax
cmpl $0x54, %eax
jne 0x1b2a6
movl $0x1, -0x1c(%rbp)
movq -0x28(%rbp), %rdi
movslq -0x1c(%rbp), %rax
movq %rax, -0x40(%rbp)
callq 0x45e0
movq %rax, %rcx
movq -0x40(%rbp), %rax
cmpq %rcx, %rax
jae 0x1b2a1
movq -0x28(%rbp), %rdi
movslq -0x1c(%rbp), %rsi
callq 0x4770
movsbl (%rax), %eax
cmpl $0x54, %eax
je 0x1b294
jmp 0x1b2a1
jmp 0x1b296
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x1b260
jmp 0x1b368
movq -0x28(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x4770
movsbl (%rax), %eax
cmpl $0x43, %eax
jne 0x1b305
movl $0x1, -0x1c(%rbp)
movq -0x28(%rbp), %rdi
movslq -0x1c(%rbp), %rax
movq %rax, -0x48(%rbp)
callq 0x45e0
movq %rax, %rcx
movq -0x48(%rbp), %rax
cmpq %rcx, %rax
jae 0x1b303
movq -0x28(%rbp), %rdi
movslq -0x1c(%rbp), %rsi
callq 0x4770
movsbl (%rax), %eax
cmpl $0x43, %eax
je 0x1b2f6
jmp 0x1b303
jmp 0x1b2f8
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x1b2c2
jmp 0x1b366
movq -0x28(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x4770
movsbl (%rax), %eax
cmpl $0x47, %eax
jne 0x1b364
movl $0x1, -0x1c(%rbp)
movq -0x28(%rbp), %rdi
movslq -0x1c(%rbp), %rax
movq %rax, -0x50(%rbp)
callq 0x45e0
movq %rax, %rcx
movq -0x50(%rbp), %rax
cmpq %rcx, %rax
jae 0x1b362
movq -0x28(%rbp), %rdi
movslq -0x1c(%rbp), %rsi
callq 0x4770
movsbl (%rax), %eax
cmpl $0x47, %eax
je 0x1b355
jmp 0x1b362
jmp 0x1b357
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x1b321
jmp 0x1b364
jmp 0x1b366
jmp 0x1b368
jmp 0x1b36a
movq -0x28(%rbp), %rdi
movslq -0x1c(%rbp), %rax
movq %rax, -0x58(%rbp)
callq 0x45e0
movq %rax, %rcx
movq -0x58(%rbp), %rax
cmpq %rcx, %rax
jne 0x1b38d
movb $0x1, -0x1(%rbp)
jmp 0x1b391
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax)