// File: /workspace/github_c_makefile_star2_O0/richarddurbin[P]hash10x/moshasm.c
// Function: main
int main (int argc, char *argv[])
{
  --argc ; ++argv ;		/* eat program name */

  outFile = stdout ;
  
  timeUpdate (stdout) ;		/* initialise timer */
#ifdef OMP
  numThreads = omp_get_max_threads () ;
  omp_set_num_threads (numThreads) ;
#endif

  if (!argc) usage () ;

  int i ;			/* generically useful variables */
  FILE *f ;
  Moshset *ms = 0 ;
  Readset *rs = 0 ;

  while (argc) {
    if (**argv != '-')
      die ("option/command %s does not start with '-': run without arguments for usage", *argv) ;
    fprintf (stderr, "COMMAND %s", *argv) ;
    for (i = 1 ; i < argc && *argv[i] != '-' ; ++i) fprintf (stderr, " %s", argv[i]) ;
    fputc ('\n', stderr) ;
    
#define ARGMATCH(x,y,n)	((!strcmp (*argv, x) || (!strcmp (*argv,y))) && argc >= n && (argc -= n, argv += n))
    if (ARGMATCH("-t","--threads",2))
      {
#ifdef OMP
	numThreads = atoi(argv[-1]) ;
	if (numThreads > omp_get_max_threads ()) numThreads = omp_get_max_threads () ;
	omp_set_num_threads (numThreads) ;
#else
	fprintf (stderr, "  can't set thread number - not compiled with OMP\n") ;
#endif
      }
    else if (ARGMATCH("-v","--verbose",1)) isVerbose = !isVerbose ;
    else if (ARGMATCH("-o","--output",2))
      { if (!strcmp (argv[-1], "-"))
	  outFile = stdout ;
	else if (!(outFile = fopen (argv[-1], "w")))
	  { fprintf (stderr, "can't open output file %s - resetting to stdout\n", argv[-1]) ;
	    outFile = stdout ;
	  }
      }
    else if (ARGMATCH("-m","--moshset",2))
      { if (!(f = fopen (argv[-1], "r"))) die ("failed to open mosh file %s", argv[-1]) ;
	if (ms) moshsetDestroy (ms) ;
	ms = moshsetRead (f) ;
	if (ms->max >= TOPBIT) die ("too many entries in moshset") ;
	moshsetSummary (ms, outFile) ;
      }
    else if (ARGMATCH("-f","--seqfile",2))
      { if (ms)
	  { if (rs) readsetDestroy (rs) ;
	    rs = readsetCreate (ms, 1<<16) ;
	    readsetFileRead (rs, argv[-1]) ;
	    fclose (f) ;
	  }
	else fprintf (stderr, "** need to read a moshset before a sequence file\n") ;
      }
    else if (ARGMATCH("-r","--read",2))
      { if (rs) readsetDestroy (rs) ;
	rs = readsetRead (argv[-1]) ;
      }
    else if (ARGMATCH("-w","--write",2))
      readsetWrite (rs, argv[-1]) ;
    else if (ARGMATCH("-S","--stats",1))
      readsetStats (rs) ;
    else if (ARGMATCH("-o1","--overlaps1",2))
      { Array a = findOverlaps (rs, arrp(rs->reads,(U32)atoi(argv[-1]), Read), 2) ;
	arrayDestroy (a) ;
      }
    else if (ARGMATCH("-o2","--overlaps2",2))
      { int d = atoi(argv[-1]) ;
	U32 ix ;
	Array a ;
	for (ix = d ; ix < arrayMax(rs->reads) ; ix += d)
	  { a = findOverlaps (rs, arrp(rs->reads,ix,Read), 1) ; arrayDestroy (a) ; }
      }
    else if (ARGMATCH("-o3","--overlap",3))
      printOverlap (rs, (U32)atoi(argv[-2]), (U32)atoi(argv[-1])) ;
    else if (ARGMATCH("-b","--markBadReads",1)) markBadReads (rs) ;
    else if (ARGMATCH("-c","--markContained",1)) markContained (rs) ;
    else if (ARGMATCH("-a1","--assemble1",2)) assembleFromRead (rs, (U32)atoi(argv[-1])) ;
    else die ("unkown command %s - run without arguments for usage", *argv) ;

    timeUpdate (outFile) ;
  }

  fprintf (outFile, "total resources used: ") ; timeTotal (outFile) ;
  if (outFile != stdout) { printf ("total resources used: ") ; timeTotal (stdout) ; }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
movq 0xaf3b(%rip), %rax      # 0xefd0
movq (%rax), %rax
movq %rax, 0xc2c9(%rip)      # 0x10368
movq 0xaf2a(%rip), %rax      # 0xefd0
movq (%rax), %rdi
callq 0xa510
cmpl $0x0, -0x8(%rbp)
jne 0x40b9
callq 0x3ed0
movq $0x0, -0x28(%rbp)
movq $0x0, -0x30(%rbp)
cmpl $0x0, -0x8(%rbp)
je 0x498c
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x40f7
movq -0x10(%rbp), %rax
movq (%rax), %rsi
leaq 0x777e(%rip), %rdi      # 0xb86e
movb $0x0, %al
callq 0xa100
movq 0xaefa(%rip), %rax      # 0xeff8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rdx
leaq 0x77aa(%rip), %rsi      # 0xb8b9
movb $0x0, %al
callq 0x1120
movl $0x1, -0x14(%rbp)
movl -0x14(%rbp), %ecx
xorl %eax, %eax
cmpl -0x8(%rbp), %ecx
movb %al, -0x49(%rbp)
jge 0x4142
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
setne %al
movb %al, -0x49(%rbp)
movb -0x49(%rbp), %al
testb $0x1, %al
jne 0x414b
jmp 0x417a
movq 0xaea6(%rip), %rax      # 0xeff8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdx
leaq 0x7758(%rip), %rsi      # 0xb8c0
movb $0x0, %al
callq 0x1120
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x411d
movq 0xae77(%rip), %rax      # 0xeff8
movq (%rax), %rsi
movl $0xa, %edi
callq 0x10e0
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x7728(%rip), %rsi      # 0xb8c4
callq 0x1100
cmpl $0x0, %eax
je 0x41be
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x7713(%rip), %rsi      # 0xb8c7
callq 0x1100
cmpl $0x0, %eax
jne 0x41fc
cmpl $0x2, -0x8(%rbp)
jl 0x41fc
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0x41fc
movq 0xae12(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x76e1(%rip), %rsi      # 0xb8d1
movb $0x0, %al
callq 0x1120
jmp 0x497b
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x76fa(%rip), %rsi      # 0xb904
callq 0x1100
cmpl $0x0, %eax
je 0x422c
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x76e5(%rip), %rsi      # 0xb907
callq 0x1100
cmpl $0x0, %eax
jne 0x4269
cmpl $0x1, -0x8(%rbp)
jl 0x4269
movl -0x8(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0x4269
cmpb $0x0, 0xc10c(%rip)      # 0x10360
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
movb %al, 0xc0fc(%rip)       # 0x10360
jmp 0x4979
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x769a(%rip), %rsi      # 0xb911
callq 0x1100
cmpl $0x0, %eax
je 0x429d
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x7685(%rip), %rsi      # 0xb914
callq 0x1100
cmpl $0x0, %eax
jne 0x434b
cmpl $0x2, -0x8(%rbp)
jl 0x434b
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0x434b
movq -0x10(%rbp), %rax
movq -0x8(%rax), %rdi
leaq 0x7648(%rip), %rsi      # 0xb91d
callq 0x1100
cmpl $0x0, %eax
jne 0x42f2
movq 0xacea(%rip), %rax      # 0xefd0
movq (%rax), %rax
movq %rax, 0xc078(%rip)      # 0x10368
jmp 0x4346
movq -0x10(%rbp), %rax
movq -0x8(%rax), %rdi
leaq 0x76de(%rip), %rsi      # 0xb9df
callq 0x11c0
movq %rax, 0xc05b(%rip)      # 0x10368
cmpq $0x0, %rax
jne 0x4344
movq 0xacde(%rip), %rax      # 0xeff8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq -0x8(%rax), %rdx
leaq 0x75f3(%rip), %rsi      # 0xb91f
movb $0x0, %al
callq 0x1120
movq 0xac96(%rip), %rax      # 0xefd0
movq (%rax), %rax
movq %rax, 0xc024(%rip)      # 0x10368
jmp 0x4346
jmp 0x4977
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x75f7(%rip), %rsi      # 0xb950
callq 0x1100
cmpl $0x0, %eax
je 0x437f
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x75e2(%rip), %rsi      # 0xb953
callq 0x1100
cmpl $0x0, %eax
jne 0x4429
cmpl $0x2, -0x8(%rbp)
jl 0x4429
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0x4429
movq -0x10(%rbp), %rax
movq -0x8(%rax), %rdi
leaq 0x761e(%rip), %rsi      # 0xb9d5
callq 0x11c0
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x43dc
movq -0x10(%rbp), %rax
movq -0x8(%rax), %rsi
leaq 0x7588(%rip), %rdi      # 0xb95d
movb $0x0, %al
callq 0xa100
cmpq $0x0, -0x28(%rbp)
je 0x43ec
movq -0x28(%rbp), %rdi
callq 0x7110
movq -0x20(%rbp), %rdi
callq 0x7770
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpl $0x80000000, 0x40(%rax) # imm = 0x80000000
jb 0x4414
leaq 0x756c(%rip), %rdi      # 0xb979
movb $0x0, %al
callq 0xa100
movq -0x28(%rbp), %rdi
movq 0xbf49(%rip), %rsi      # 0x10368
callq 0x7aa0
jmp 0x4975
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x755e(%rip), %rsi      # 0xb995
callq 0x1100
cmpl $0x0, %eax
je 0x445d
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x7549(%rip), %rsi      # 0xb998
callq 0x1100
cmpl $0x0, %eax
jne 0x44e0
cmpl $0x2, -0x8(%rbp)
jl 0x44e0
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0x44e0
cmpq $0x0, -0x28(%rbp)
je 0x44c3
cmpq $0x0, -0x30(%rbp)
je 0x4495
movq -0x30(%rbp), %rdi
callq 0x13d0
movq -0x28(%rbp), %rdi
movl $0x10000, %esi          # imm = 0x10000
callq 0x1360
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rax
movq -0x8(%rax), %rsi
callq 0x1b90
movq -0x20(%rbp), %rdi
callq 0x1090
jmp 0x44db
movq 0xab2e(%rip), %rax      # 0xeff8
movq (%rax), %rdi
leaq 0x74ce(%rip), %rsi      # 0xb9a2
movb $0x0, %al
callq 0x1120
jmp 0x4973
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x74e6(%rip), %rsi      # 0xb9d4
callq 0x1100
cmpl $0x0, %eax
je 0x4510
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x74d1(%rip), %rsi      # 0xb9d7
callq 0x1100
cmpl $0x0, %eax
jne 0x4557
cmpl $0x2, -0x8(%rbp)
jl 0x4557
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0x4557
cmpq $0x0, -0x30(%rbp)
je 0x4541
movq -0x30(%rbp), %rdi
callq 0x13d0
movq -0x10(%rbp), %rax
movq -0x8(%rax), %rdi
callq 0x1680
movq %rax, -0x30(%rbp)
jmp 0x4971
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x7479(%rip), %rsi      # 0xb9de
callq 0x1100
cmpl $0x0, %eax
je 0x4587
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x7464(%rip), %rsi      # 0xb9e1
callq 0x1100
cmpl $0x0, %eax
jne 0x45be
cmpl $0x2, -0x8(%rbp)
jl 0x45be
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0x45be
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rax
movq -0x8(%rax), %rsi
callq 0x14a0
jmp 0x496f
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x741d(%rip), %rsi      # 0xb9e9
callq 0x1100
cmpl $0x0, %eax
je 0x45ee
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x7408(%rip), %rsi      # 0xb9ec
callq 0x1100
cmpl $0x0, %eax
jne 0x461d
cmpl $0x1, -0x8(%rbp)
jl 0x461d
movl -0x8(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0x461d
movq -0x30(%rbp), %rdi
callq 0x1f20
jmp 0x496d
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x73c9(%rip), %rsi      # 0xb9f4
callq 0x1100
cmpl $0x0, %eax
je 0x464d
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x73b5(%rip), %rsi      # 0xb9f8
callq 0x1100
cmpl $0x0, %eax
jne 0x46c8
cmpl $0x2, -0x8(%rbp)
jl 0x46c8
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0x46c8
movq -0x30(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x60(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rax), %rdi
callq 0x11f0
movq -0x60(%rbp), %rsi
movq -0x58(%rbp), %rdi
movq -0x30(%rbp), %rcx
movq 0x8(%rcx), %rcx
imull 0x14(%rcx), %eax
movl %eax, %eax
addq %rax, %rsi
movl $0x2, %edx
callq 0x2740
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
callq 0x9420
jmp 0x496b
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x732e(%rip), %rsi      # 0xba04
callq 0x1100
cmpl $0x0, %eax
je 0x46fc
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x731a(%rip), %rsi      # 0xba08
callq 0x1100
cmpl $0x0, %eax
jne 0x4792
cmpl $0x2, -0x8(%rbp)
jl 0x4792
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0x4792
movq -0x10(%rbp), %rax
movq -0x8(%rax), %rdi
callq 0x11f0
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %eax
movq -0x30(%rbp), %rcx
movq 0x8(%rcx), %rcx
cmpl 0x18(%rcx), %eax
jae 0x478d
movq -0x30(%rbp), %rdi
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rsi
movl -0x40(%rbp), %eax
movq -0x30(%rbp), %rcx
movq 0x8(%rcx), %rcx
imull 0x14(%rcx), %eax
movl %eax, %eax
addq %rax, %rsi
movl $0x1, %edx
callq 0x2740
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
callq 0x9420
movl -0x3c(%rbp), %eax
addl -0x40(%rbp), %eax
movl %eax, -0x40(%rbp)
jmp 0x4737
jmp 0x4969
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x7274(%rip), %rsi      # 0xba14
callq 0x1100
cmpl $0x0, %eax
je 0x47c2
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x7260(%rip), %rsi      # 0xba18
callq 0x1100
cmpl $0x0, %eax
jne 0x481b
cmpl $0x3, -0x8(%rbp)
jl 0x481b
movl -0x8(%rbp), %eax
subl $0x3, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0x481b
movq -0x30(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x10(%rbp), %rax
movq -0x10(%rax), %rdi
callq 0x11f0
movl %eax, -0x64(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rax), %rdi
callq 0x11f0
movq -0x70(%rbp), %rdi
movl -0x64(%rbp), %esi
movl %eax, %edx
callq 0x3110
jmp 0x4967
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x71f9(%rip), %rsi      # 0xba22
callq 0x1100
cmpl $0x0, %eax
je 0x484b
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x71e4(%rip), %rsi      # 0xba25
callq 0x1100
cmpl $0x0, %eax
jne 0x487a
cmpl $0x1, -0x8(%rbp)
jl 0x487a
movl -0x8(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0x487a
movq -0x30(%rbp), %rdi
callq 0x3470
jmp 0x4965
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x71ac(%rip), %rsi      # 0xba34
callq 0x1100
cmpl $0x0, %eax
je 0x48aa
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x7197(%rip), %rsi      # 0xba37
callq 0x1100
cmpl $0x0, %eax
jne 0x48d9
cmpl $0x1, -0x8(%rbp)
jl 0x48d9
movl -0x8(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0x48d9
movq -0x30(%rbp), %rdi
callq 0x3680
jmp 0x4963
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x7160(%rip), %rsi      # 0xba47
callq 0x1100
cmpl $0x0, %eax
je 0x4909
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x714c(%rip), %rsi      # 0xba4b
callq 0x1100
cmpl $0x0, %eax
jne 0x494c
cmpl $0x2, -0x8(%rbp)
jl 0x494c
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0x494c
movq -0x30(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rax), %rdi
callq 0x11f0
movq -0x78(%rbp), %rdi
movl %eax, %esi
callq 0x3900
jmp 0x4961
movq -0x10(%rbp), %rax
movq (%rax), %rsi
leaq 0x70fd(%rip), %rdi      # 0xba57
movb $0x0, %al
callq 0xa100
jmp 0x4963
jmp 0x4965
jmp 0x4967
jmp 0x4969
jmp 0x496b
jmp 0x496d
jmp 0x496f
jmp 0x4971
jmp 0x4973
jmp 0x4975
jmp 0x4977
jmp 0x4979
jmp 0x497b
movq 0xb9e6(%rip), %rdi      # 0x10368
callq 0xa510
jmp 0x40c9
movq 0xb9d5(%rip), %rdi      # 0x10368
leaq 0x70f1(%rip), %rsi      # 0xba8b
movb $0x0, %al
callq 0x1120
movq 0xb9c0(%rip), %rdi      # 0x10368
callq 0xa6a0
movq 0xb9b4(%rip), %rax      # 0x10368
movq 0xa615(%rip), %rcx      # 0xefd0
cmpq (%rcx), %rax
je 0x49dd
leaq 0x70c4(%rip), %rdi      # 0xba8b
movb $0x0, %al
callq 0x10b0
movq 0xa5fb(%rip), %rax      # 0xefd0
movq (%rax), %rdi
callq 0xa6a0
movl -0x4(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax)