// File: /workspace/github_cpp_makefile_star2_O3/ncbi[P]amr/fasta_check.cpp
// Function: (anonymous namespace)::ThisApplication::body() const
void body () const final
  {
    const string fName     = getArg ("in");
    const bool aa          = getFlag ("aa");
    const bool hyphen      = getFlag ("hyphen");
    const bool ambig       = getFlag ("ambig");
    const size_t ambig_max = str2<size_t> (getArg ("ambig_max"));
    const bool stop_codon  = getFlag ("stop_codon");
    const string lenFName  = getArg ("len");
    const string outFName  = getArg ("out");
    
    QC_IMPLY (stop_codon, aa);
    

    unique_ptr<OFStream> lenF;
    if (! lenFName. empty ())
      lenF. reset (new OFStream (lenFName));
    unique_ptr<OFStream> outF;
    if (! outFName. empty ())
      outF. reset (new OFStream (outFName));
    size_t lines = 0;
    StringVector ids;  ids. reserve (100000);  // PAR
    size_t seqSize_max = 0;
    size_t seqSize_sum = 0;
  //string errorS;
    // One sequence
    size_t xs = 0;
    string header;
    string seq;
    
    auto processSeq = [&] () 
  	  {
  	    if (! lines)
  	      return;
 	  		ASSERT (! header. empty ());
 	  		ASSERT (! ids. empty ());
 	  		const string id (ids. back ());
  	    if (aa && ! stop_codon)
  	    {  	    
    	    while (! seq. empty () && seq. back () == '*')
   	  		  if (outF)
   	  		    seq. erase (seq. size () - 1);
   	  		  else
    		      throw runtime_error (id + ": '*' at the sequence end");
    		}
  	    if (seq. empty ())
 	  		  throw runtime_error (id + ": Empty sequence");
 	  		bool skip = false;
  	    if (! ambig && xs > ambig_max)
  	    {
 	  		  if (outF)
 	  		    skip = true;
 	  		  else
  		      throw runtime_error (id + ": Too many ambiguities");
  		  }
  		  if (skip)
  		    { LOG ("Skipping " + id); }
  		  else
  		  {
     	  	if (lenF. get ())
     	  	  *lenF << id << '\t' << seq. size () << endl;
  	      if (outF)
  	        *outF << header << endl << seq << endl;
   	  	  maximize (seqSize_max, seq. size ());
   	  	  seqSize_sum += seq. size ();
   	  	}
    	  xs = 0;
    	  header. clear ();
    	  seq. clear ();
 	    };
    
    size_t nuc = 0;   
    {
      LineInput f (fName); 
      string id;
      while (f. nextLine ())
      {
        trimTrailing (f. line);
        if (f. line. empty ())
        	continue;
      	const string errorS ("File " + fName + ", " + f. lineStr (false) + ": ");
      	if (f. line [0] == '>')
      	{
      		size_t pos = 1;
      		while (pos < f. line. size () && ! isspace (f. line [pos]))
      		  pos++;
      		id = f. line. substr (1, pos - 1);
      		if (id. empty ())
      			throw runtime_error (errorS + "Empty sequence identifier");
        #if 0
      		if (id. size () > 1000)  // PAR
      			throw runtime_error (errorS + "Too long sequence identifier");
        #endif
      	  for (const char c : id)
      	  	if (! printable (c))
      	  		throw runtime_error (errorS + "Non-printable character in the sequence identifier: " + to_string ((int) c));
      	  // BLAST: PD-4548
      	  if (! aa)
      	  {
        	  if (id. front () == '?')
       	  		throw runtime_error (errorS + "Sequence identifier starts with '?'");
       	  	for (const char c : {',', ';', '.', '~'})
          	  if (id. back () == c)
         	  		throw runtime_error (errorS + "Sequence identifier ends with " + strQuote (string (1, c)));
        	  if (contains (id, "\\t"))
       	  		throw runtime_error (errorS + "Sequence identifier contains '\\t'");
        	  if (contains (id, ",,"))
       	  		throw runtime_error (errorS + "Sequence identifier contains ',,'");
       	  }
     	    processSeq ();
      	  header = f. line;
      	  ids << id;
      	}
      	else 
      	{
      		if (! lines)
      			throw runtime_error (errorS + "FASTA should start with '>'");
      	  for (const char c : f. line)
      	  {
      	    bool skip = false;
      	  	if (c == '-')
      	  		if (hyphen)
      	  			;
      	  		else
      	  		{
      	  		  if (outF)
      	  		    skip = true;
      	  		  else
  	    	  		  throw runtime_error (errorS + "Hyphen in the sequence");  	    	  		  
  	    	    }
  	    	  else
  	    	  {
  	    	  	const char c1 = toLower (c);
  	    	  	if (aa)
  	    	  	{
  		    	  	if (! charInSet (c1, "acdefghiklmnpqrstvwyxbzjuoacdefghiklmnpqrstvwyxbzjuo*"))
  		    	  		throw runtime_error (errorS + "Wrong amino acid character: (code = " + to_string ((int) c) + ") '" + c + "'");
  		    	    if (charInSet (c1, "acgt"))
  		    	    	nuc++;
  		    	    if (charInSet (c1, "xbzjuo"))
  		    	      xs++;
  		    	  }
  	    	  	else
  	    	  	{
  		    	  	if (! charInSet (c1, "acgtbdhkmnrsvwyacgtbdhkmnrsvwy"))
  		    	  		throw runtime_error (errorS + "Wrong nucleotide character: (code = " + to_string ((int) c) + ") '" + c + "'");
  		    	    if (charInSet (c1, "bdhkmnrsvwy"))
  		    	      xs++;
  		    	  }
  		    	}
  		    	if (! skip)
  		    	  seq += c;
  		    }
      	}
      	lines++;
  	  }
  	}
    processSeq ();	// Last sequence
	  if (! lines)
	  	throw runtime_error ("Empty file"); 
  	if (aa && (double) nuc / (double) seqSize_sum > 0.9)  // PAR
  		throw runtime_error ("Protein sequences looks like a nucleotide sequences");
  		
	  ids. sort ();
	  const size_t index = ids. findDuplicate ();
	  if (index != no_index)
	  	throw runtime_error ("Duplicate identifier: " + ids [index]);
	  	
	  cout << ids. size () << endl
	       << seqSize_max << endl
	       << seqSize_sum << endl;
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x538, %rsp            # imm = 0x538
movq %rdi, %r14
leaq 0x2a0(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x49ad2(%rip), %rsi     # 0x540d4
leaq 0x49acd(%rip), %rdx     # 0x540d6
leaq 0x290(%rsp), %rdi
callq 0xd25a
leaq 0x270(%rsp), %rdi
leaq 0x290(%rsp), %rdx
movq %r14, %rsi
callq 0x356ba
movq 0x290(%rsp), %rdi
cmpq %r12, %rdi
je 0xa64b
movq 0x2a0(%rsp), %rsi
incq %rsi
callq 0x9530
leaq 0x290(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x49a85(%rip), %rsi     # 0x540e2
leaq 0x49a80(%rip), %rdx     # 0x540e4
callq 0xd25a
leaq 0x290(%rsp), %rsi
movq %r14, %rdi
callq 0x35866
movl %eax, %ebx
movq 0x290(%rsp), %rdi
cmpq %r12, %rdi
je 0xa698
movq 0x2a0(%rsp), %rsi
incq %rsi
callq 0x9530
movb %bl, 0x7(%rsp)
leaq 0x290(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x49a61(%rip), %rsi     # 0x5410f
leaq 0x49a60(%rip), %rdx     # 0x54115
callq 0xd25a
leaq 0x290(%rsp), %rsi
movq %r14, %rdi
callq 0x35866
movb %al, 0x36(%rsp)
movq 0x290(%rsp), %rdi
cmpq %r12, %rdi
je 0xa6eb
movq 0x2a0(%rsp), %rsi
incq %rsi
callq 0x9530
leaq 0x290(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x49a2d(%rip), %rsi     # 0x5412a
leaq 0x49a2b(%rip), %rdx     # 0x5412f
callq 0xd25a
leaq 0x290(%rsp), %rsi
movq %r14, %rdi
callq 0x35866
movl %eax, %ebx
movq 0x290(%rsp), %rdi
cmpq %r12, %rdi
je 0xa738
movq 0x2a0(%rsp), %rsi
incq %rsi
callq 0x9530
movb %bl, 0x37(%rsp)
leaq 0x1c8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x49a02(%rip), %rsi     # 0x54151
leaq 0x49a04(%rip), %rdx     # 0x5415a
leaq 0x1b8(%rsp), %rdi
callq 0xd25a
leaq 0x290(%rsp), %rdi
leaq 0x1b8(%rsp), %rdx
movq %r14, %rsi
callq 0x356ba
leaq 0x290(%rsp), %rdi
callq 0xd667
movq %rax, %rbx
movq 0x290(%rsp), %rdi
cmpq %r12, %rdi
je 0xa7a8
movq 0x2a0(%rsp), %rsi
incq %rsi
callq 0x9530
movq 0x1b8(%rsp), %rdi
cmpq %r15, %rdi
je 0xa7c5
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0x9530
movq %rbx, 0x228(%rsp)
leaq 0x290(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x499ad(%rip), %rsi     # 0x5418c
leaq 0x499b0(%rip), %rdx     # 0x54196
callq 0xd25a
leaq 0x290(%rsp), %rsi
movq %r14, %rdi
callq 0x35866
movl %eax, %ebx
movq 0x290(%rsp), %rdi
cmpq %r12, %rdi
je 0xa81a
movq 0x2a0(%rsp), %rsi
incq %rsi
callq 0x9530
movb %bl, 0x2f(%rsp)
leaq 0x290(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x4999d(%rip), %rsi     # 0x541cd
leaq 0x49999(%rip), %rdx     # 0x541d0
callq 0xd25a
leaq 0x250(%rsp), %rdi
leaq 0x290(%rsp), %rdx
movq %r14, %rsi
callq 0x356ba
movq 0x290(%rsp), %rdi
cmpq %r12, %rdi
je 0xa871
movq 0x2a0(%rsp), %rsi
incq %rsi
callq 0x9530
leaq 0x290(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x4c0c8(%rip), %rsi     # 0x5694b
leaq 0x4c0c4(%rip), %rdx     # 0x5694e
callq 0xd25a
leaq 0x230(%rsp), %rdi
leaq 0x290(%rsp), %rdx
movq %r14, %rsi
callq 0x356ba
movq 0x290(%rsp), %rdi
cmpq %r12, %rdi
je 0xa8c4
movq 0x2a0(%rsp), %rsi
incq %rsi
callq 0x9530
cmpb $0x1, 0x2f(%rsp)
jne 0xa8e1
callq 0x9070
movl $0x0, (%rax)
cmpb $0x0, 0x7(%rsp)
je 0xb8a0
movq $0x0, 0xc0(%rsp)
cmpq $0x0, 0x258(%rsp)
je 0xa930
movl $0x200, %edi            # imm = 0x200
callq 0x9520
movq %rax, %r14
leaq 0x250(%rsp), %rsi
movq %rax, %rdi
callq 0xd9a0
movq 0xc0(%rsp), %rdi
movq %r14, 0xc0(%rsp)
testq %rdi, %rdi
je 0xa930
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0xb8(%rsp)
cmpq $0x0, 0x238(%rsp)
je 0xa97f
movl $0x200, %edi            # imm = 0x200
callq 0x9520
movq %rax, %r14
leaq 0x230(%rsp), %rsi
movq %rax, %rdi
callq 0xd9a0
movq 0xb8(%rsp), %rdi
movq %r14, 0xb8(%rsp)
testq %rdi, %rdi
je 0xa97f
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0xc8(%rsp)
xorpd %xmm0, %xmm0
leaq 0xd0(%rsp), %rbx
movupd %xmm0, 0x9(%rbx)
movapd %xmm0, (%rbx)
movl $0x186a0, %esi          # imm = 0x186A0
movq %rbx, %rdi
callq 0xda72
xorl %edx, %edx
leaq 0x220(%rsp), %rax
movq %rdx, (%rax)
leaq 0x190(%rsp), %rcx
movq %rdx, (%rcx)
leaq 0x188(%rsp), %rsi
movq %rdx, (%rsi)
leaq 0x168(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rdx, -0x8(%r15)
movb %dl, (%r15)
leaq 0x128(%rsp), %r12
movq %r12, -0x10(%r12)
movq %rdx, -0x8(%r12)
movb %dl, (%r12)
leaq 0xc8(%rsp), %rdx
movq %rdx, 0x1b8(%rsp)
leaq 0x158(%rsp), %rdx
movq %rdx, 0x1c0(%rsp)
movq %rbx, 0x1c8(%rsp)
leaq 0x7(%rsp), %rdx
movq %rdx, 0x1d0(%rsp)
leaq 0x2f(%rsp), %rdx
movq %rdx, 0x1d8(%rsp)
leaq 0x118(%rsp), %rdx
movq %rdx, 0x1e0(%rsp)
leaq 0xb8(%rsp), %rdx
movq %rdx, 0x1e8(%rsp)
leaq 0x37(%rsp), %rdx
movq %rdx, 0x1f0(%rsp)
movq %rsi, 0x1f8(%rsp)
leaq 0x228(%rsp), %rdx
movq %rdx, 0x200(%rsp)
leaq 0xc0(%rsp), %rdx
movq %rdx, 0x208(%rsp)
movq %rax, 0x210(%rsp)
movq %rcx, 0x218(%rsp)
leaq 0x290(%rsp), %rdi
leaq 0x270(%rsp), %rsi
xorl %edx, %edx
callq 0xe272
leaq 0x6106a(%rip), %rax     # 0x6bb28
leaq 0x4f8(%rsp), %rbx
movq %rax, -0x268(%rbx)
movl $0x0, -0x8(%rbx)
leaq 0x508(%rsp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x528(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x100(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rax, -0x8(%r14)
movq $0x0, 0x178(%rsp)
movb %al, (%r14)
leaq 0x88(%rsp), %rbp
leaq 0x118(%rsp), %r13
leaq 0x290(%rsp), %rdi
callq 0xf9ce
testb %al, %al
je 0xb260
movq %rbx, %rdi
callq 0x130cd
cmpq $0x0, 0x500(%rsp)
je 0xab29
leaq 0x58(%rsp), %r14
movq %r14, %rdi
leaq 0x4983d(%rip), %rsi     # 0x5439d
leaq 0x270(%rsp), %rdx
callq 0xdb59
movq %r14, %rdi
leaq 0x4982c(%rip), %rsi     # 0x543a3
callq 0x9a00
leaq 0x48(%rsp), %rsi
movq %rsi, 0x38(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xaba4
movq %rdx, 0x38(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x48(%rsp)
jmp 0xabac
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x40(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x98(%rsp), %rdi
leaq 0x290(%rsp), %rsi
xorl %edx, %edx
callq 0xdbe2
movq 0x38(%rsp), %rcx
movl $0xf, %edi
leaq 0x48(%rsp), %rax
cmpq %rax, %rcx
je 0xabf4
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %r8
movq 0x98(%rsp), %rsi
movq 0xa0(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0xac31
movl $0xf, %edi
leaq 0xa8(%rsp), %r9
cmpq %r9, %rsi
je 0xac2c
movq 0xa8(%rsp), %rdi
cmpq %rdi, %rax
jbe 0xac3d
leaq 0x38(%rsp), %rdi
callq 0x9180
jmp 0xac4e
leaq 0x98(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x95b0
leaq 0x18(%rsp), %rsi
movq %rsi, 0x8(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0xac73
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xac7b
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x8(%rsp), %rdi
leaq 0x4a04f(%rip), %rsi     # 0x54cf3
callq 0x9a00
movq %rbp, 0x78(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xaccf
movq %rdx, 0x78(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x88(%rsp)
jmp 0xacd8
movupd (%rcx), %xmm0
movupd %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x80(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xad0f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x9530
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0xad34
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x9530
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0xad50
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x9530
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0xad6c
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x9530
movq 0x4f8(%rsp), %r12
cmpb $0x3e, (%r12)
jne 0xadb6
movq %rbx, %r15
movq 0x500(%rsp), %r14
cmpq $0x2, %r14
jb 0xb05b
movl $0x1, %ebx
movsbl (%r12,%rbx), %edi
callq 0x90a0
testl %eax, %eax
jne 0xadae
incq %rbx
cmpq %rbx, %r14
jne 0xad95
movq %r14, %rbx
decq %rbx
jmp 0xb05d
cmpq $0x0, 0xc8(%rsp)
je 0xb976
movq 0x500(%rsp), %r15
testq %r15, %r15
je 0xb221
xorl %r14d, %r14d
movq %r12, 0x180(%rsp)
movq %r15, 0x110(%rsp)
movsbl (%r12,%r14), %esi
cmpl $0x2d, %esi
jne 0xae12
cmpb $0x0, 0x36(%rsp)
jne 0xb042
cmpq $0x0, 0xb8(%rsp)
jne 0xb04a
jmp 0xb69d
movl %esi, 0x30(%rsp)
movl %esi, %edi
callq 0x9770
movl %eax, %ebx
cmpb $0x1, 0x7(%rsp)
jne 0xaf6d
leaq 0x18(%rsp), %r15
movq %r15, 0x8(%rsp)
leaq 0x8(%rsp), %r12
movq %r12, %rdi
leaq 0x49672(%rip), %rsi     # 0x544b5
leaq 0x496a0(%rip), %rdx     # 0x544ea
callq 0xd25a
movsbl %bl, %ebx
movq %r12, %rdi
movl %ebx, %esi
xorl %edx, %edx
callq 0x96c0
movq %rax, %rbp
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xae78
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x9530
cmpq $-0x1, %rbp
je 0xb784
leaq 0x18(%rsp), %r15
movq %r15, 0x8(%rsp)
leaq 0x8(%rsp), %r12
movq %r12, %rdi
leaq 0x49679(%rip), %rsi     # 0x54514
leaq 0x49676(%rip), %rdx     # 0x54518
callq 0xd25a
movq %r12, %rdi
movl %ebx, %esi
xorl %edx, %edx
callq 0x96c0
movq %rax, %rbp
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xaecd
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x9530
xorl %r15d, %r15d
cmpq $-0x1, %rbp
setne %bpl
leaq 0x18(%rsp), %r12
movq %r12, 0x8(%rsp)
leaq 0x8(%rsp), %r13
movq %r13, %rdi
leaq 0x49628(%rip), %rsi     # 0x54519
leaq 0x49627(%rip), %rdx     # 0x5451f
callq 0xd25a
movq %r13, %rdi
movl %ebx, %esi
xorl %edx, %edx
callq 0x96c0
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0xaf23
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x9530
movb %bpl, %r15b
addq %r15, 0x178(%rsp)
cmpq $-0x1, %rbx
leaq 0x118(%rsp), %r13
movq 0x180(%rsp), %r12
je 0xaf4c
incq 0x188(%rsp)
leaq 0x88(%rsp), %rbp
leaq 0x4f8(%rsp), %rbx
movl 0x30(%rsp), %esi
movq 0x110(%rsp), %r15
jmp 0xb042
leaq 0x18(%rsp), %r15
movq %r15, 0x8(%rsp)
leaq 0x8(%rsp), %r12
movq %r12, %rdi
leaq 0x4959a(%rip), %rsi     # 0x54520
leaq 0x495b1(%rip), %rdx     # 0x5453e
callq 0xd25a
movsbl %bl, %ebx
movq %r12, %rdi
movl %ebx, %esi
xorl %edx, %edx
callq 0x96c0
movq %rax, %rbp
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xafbb
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x9530
cmpq $-0x1, %rbp
je 0xb6ed
leaq 0x18(%rsp), %r15
movq %r15, 0x8(%rsp)
leaq 0x8(%rsp), %r12
movq %r12, %rdi
leaq 0x49555(%rip), %rsi     # 0x54533
leaq 0x49559(%rip), %rdx     # 0x5453e
leaq 0x88(%rsp), %rbp
callq 0xd25a
movq %r12, %rdi
movl %ebx, %esi
xorl %edx, %edx
callq 0x96c0
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0xb018
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x9530
cmpq $-0x1, %rbx
movq 0x180(%rsp), %r12
movq 0x110(%rsp), %r15
je 0xb036
incq 0x188(%rsp)
leaq 0x4f8(%rsp), %rbx
movl 0x30(%rsp), %esi
movq %r13, %rdi
callq 0x9480
incq %r14
cmpq %r14, %r15
jne 0xade9
jmp 0xb221
xorl %ebx, %ebx
movl $0x1, %edx
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rcx
callq 0x9560
leaq 0xf0(%rsp), %rdi
movq %r14, %rsi
callq 0x9670
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xb0a1
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x9530
movq 0xf8(%rsp), %rax
testq %rax, %rax
je 0xb9c6
movq 0xf0(%rsp), %rcx
xorl %edx, %edx
movsbl (%rcx,%rdx), %ebx
leal -0x20(%rbx), %esi
cmpb $0x5f, %sil
jae 0xb592
incq %rdx
cmpq %rdx, %rax
jne 0xb0bc
cmpb $0x0, 0x7(%rsp)
jne 0xb1ce
cmpb $0x3f, (%rcx)
je 0xba70
movl $0x7e2e3b2c, 0x138(%rsp) # imm = 0x7E2E3B2C
movb -0x1(%rcx,%rax), %bl
xorl %eax, %eax
cmpb 0x138(%rsp,%rax), %bl
je 0xb602
incq %rax
cmpq $0x4, %rax
jne 0xb0fa
leaq 0x18(%rsp), %r14
movq %r14, 0x8(%rsp)
leaq 0x8(%rsp), %rdi
leaq 0x49312(%rip), %rsi     # 0x54438
leaq 0x4930d(%rip), %rdx     # 0x5443a
callq 0xd25a
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rcx
leaq 0xf0(%rsp), %rdi
xorl %edx, %edx
callq 0x9920
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0xb165
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x9530
cmpq $-0x1, %rbx
jne 0xba20
leaq 0x18(%rsp), %r14
movq %r14, 0x8(%rsp)
leaq 0x8(%rsp), %rdi
leaq 0x492d8(%rip), %rsi     # 0x5445d
leaq 0x492d3(%rip), %rdx     # 0x5445f
callq 0xd25a
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rcx
leaq 0xf0(%rsp), %rdi
xorl %edx, %edx
callq 0x9920
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0xb1c4
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x9530
cmpq $-0x1, %rbx
jne 0xbac0
leaq 0x1b8(%rsp), %rdi
callq 0xc4c4
movq %r15, %rbx
leaq 0x158(%rsp), %rdi
movq %r15, %rsi
callq 0x9300
leaq 0xd0(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
callq 0xe4ee
movq 0xd8(%rsp), %rax
subq 0xd0(%rsp), %rax
cmpq $0x21, %rax
jb 0xb221
movb $0x0, 0xe8(%rsp)
incq 0xc8(%rsp)
movq 0x78(%rsp), %rdi
cmpq %rbp, %rdi
je 0xb243
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x9530
leaq 0x168(%rsp), %r15
leaq 0x128(%rsp), %r12
leaq 0x100(%rsp), %r14
jmp 0xab29
movq 0xf0(%rsp), %rdi
cmpq %r14, %rdi
je 0xb27d
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x9530
leaq 0x608a4(%rip), %rax     # 0x6bb28
movq %rax, 0x290(%rsp)
movq 0x518(%rsp), %rdi
leaq 0x528(%rsp), %rax
cmpq %rax, %rdi
je 0xb2b1
movq 0x528(%rsp), %rsi
incq %rsi
callq 0x9530
movq 0x4f8(%rsp), %rdi
leaq 0x508(%rsp), %rax
cmpq %rax, %rdi
je 0xb2d6
movq 0x508(%rsp), %rsi
incq %rsi
callq 0x9530
leaq 0x60903(%rip), %rax     # 0x6bbe0
leaq 0x4b0(%rsp), %rbx
movq %rax, -0x220(%rbx)
movq %rbx, %rdi
callq 0x1f554
leaq 0x60945(%rip), %rax     # 0x6bc40
movq %rax, -0x218(%rbx)
leaq 0x398(%rsp), %rbx
leaq 0x60957(%rip), %rax     # 0x6bc68
movq %rax, (%rbx)
leaq 0x2a8(%rsp), %r14
movq %r14, %rdi
callq 0x9460
leaq 0x60965(%rip), %rax     # 0x6bc90
movq %rax, -0x10(%r14)
leaq 0x60982(%rip), %rax     # 0x6bcb8
movq %rax, (%rbx)
movq $0x0, -0x8(%r14)
movq %rbx, %rdi
callq 0x91b0
leaq 0x1b8(%rsp), %rdi
callq 0xc4c4
cmpq $0x0, 0xc8(%rsp)
je 0xb81b
cmpb $0x1, 0x7(%rsp)
jne 0xb3c6
movsd 0x178(%rsp), %xmm0
movsd 0x48c93(%rip), %xmm1    # 0x54010
unpcklps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x48c98(%rip), %xmm2    # 0x54020
subpd %xmm2, %xmm0
movapd %xmm0, %xmm3
unpckhpd %xmm0, %xmm3            # xmm3 = xmm3[1],xmm0[1]
addsd %xmm0, %xmm3
movsd 0x190(%rsp), %xmm0
unpcklps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
subpd %xmm2, %xmm0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
divsd %xmm1, %xmm3
ucomisd 0x48c70(%rip), %xmm3    # 0x54030
ja 0xb944
leaq 0xd0(%rsp), %rdi
callq 0xde80
leaq 0xd0(%rsp), %rdi
movl $0x1, %esi
callq 0xded2
movq %rax, %rbx
cmpq $-0x1, %rax
jne 0xb83c
movq 0xd8(%rsp), %rsi
subq 0xd0(%rsp), %rsi
sarq $0x5, %rsi
movq 0x61b93(%rip), %rdi     # 0x6cfa0
callq 0x93b0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x9500
movsbl %al, %esi
movq %rbx, %rdi
callq 0x9040
movq %rax, %rdi
callq 0x93c0
movq 0x220(%rsp), %rsi
movq %rax, %rdi
callq 0x93b0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x9500
movsbl %al, %esi
movq %rbx, %rdi
callq 0x9040
movq %rax, %rdi
callq 0x93c0
movq 0x190(%rsp), %rsi
movq %rax, %rdi
callq 0x93b0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x9500
movsbl %al, %esi
movq %rbx, %rdi
callq 0x9040
movq %rax, %rdi
callq 0x93c0
movq 0x118(%rsp), %rdi
cmpq %r12, %rdi
je 0xb4cd
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x9530
movq 0x158(%rsp), %rdi
cmpq %r15, %rdi
je 0xb4ea
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x9530
leaq 0xd0(%rsp), %rdi
callq 0xe006
movq 0xb8(%rsp), %rdi
testq %rdi, %rdi
je 0xb50a
movq (%rdi), %rax
callq *0x8(%rax)
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0xb51d
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x240(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xb53e
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x9530
leaq 0x260(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xb55f
movq 0x260(%rsp), %rsi
incq %rsi
callq 0x9530
leaq 0x280(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xb580
movq 0x280(%rsp), %rsi
incq %rsi
callq 0x9530
addq $0x538, %rsp            # imm = 0x538
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x10, %edi
callq 0x92a0
movq %rax, %r14
leaq 0x48e1a(%rip), %rdx     # 0x543c0
leaq 0x38(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0xdd0c
leaq 0x58(%rsp), %rdi
movl %ebx, %esi
callq 0xd8fe
leaq 0x8(%rsp), %rdi
leaq 0x38(%rsp), %rsi
leaq 0x58(%rsp), %rdx
callq 0xd856
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x9880
xorl %ebp, %ebp
movq 0x61a02(%rip), %rsi     # 0x6cff0
movq 0x6197b(%rip), %rdx     # 0x6cf70
movq %r14, %rdi
callq 0x9900
jmp 0xbc8a
movl $0x10, %edi
callq 0x92a0
movq %rax, %r14
leaq 0x48e03(%rip), %rdx     # 0x54419
leaq 0x38(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0xdd0c
leaq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
movq %rax, (%rdi)
movsbl %bl, %edx
movl $0x1, %esi
callq 0x9600
leaq 0x58(%rsp), %rdi
leaq 0x98(%rsp), %rsi
movl $0x22, %edx
callq 0x14892
leaq 0x8(%rsp), %rdi
leaq 0x38(%rsp), %rsi
leaq 0x58(%rsp), %rdx
callq 0xd856
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x9880
xorl %ebp, %ebp
movq 0x61967(%rip), %rsi     # 0x6cff0
movq 0x618e0(%rip), %rdx     # 0x6cf70
movq %r14, %rdi
callq 0x9900
jmp 0xbc8a
movl $0x10, %edi
callq 0x92a0
movq %rax, %r14
leaq 0x48ded(%rip), %rdx     # 0x5449e
leaq 0x8(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0xdd0c
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x9880
xorl %ebp, %ebp
movq 0x61917(%rip), %rsi     # 0x6cff0
movq 0x61890(%rip), %rdx     # 0x6cf70
movq %r14, %rdi
callq 0x9900
jmp 0xbc8a
movl $0x10, %edi
callq 0x92a0
movq %rax, %r14
leaq 0x48e3e(%rip), %rdx     # 0x5453f
leaq 0x138(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0xdd0c
leaq 0x198(%rsp), %rdi
movl 0x30(%rsp), %esi
callq 0xd8fe
leaq 0x98(%rsp), %rdi
leaq 0x138(%rsp), %rsi
leaq 0x198(%rsp), %rdx
callq 0xd856
leaq 0x48dc8(%rip), %rsi     # 0x54510
leaq 0x98(%rsp), %rdi
callq 0x9a00
leaq 0x68(%rsp), %rcx
movq %rcx, 0x58(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0xbb10
movupd (%rcx), %xmm0
leaq 0x68(%rsp), %rdx
movupd %xmm0, (%rdx)
jmp 0xbb1d
movl $0x10, %edi
callq 0x92a0
movq %rax, %r14
leaq 0x48d53(%rip), %rdx     # 0x544eb
leaq 0x138(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0xdd0c
leaq 0x198(%rsp), %rdi
movl 0x30(%rsp), %esi
callq 0xd8fe
leaq 0x98(%rsp), %rdi
leaq 0x138(%rsp), %rsi
leaq 0x198(%rsp), %rdx
callq 0xd856
leaq 0x48d31(%rip), %rsi     # 0x54510
leaq 0x98(%rsp), %rdi
callq 0x9a00
leaq 0x68(%rsp), %rcx
movq %rcx, 0x58(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0xbb80
movupd (%rcx), %xmm0
leaq 0x68(%rsp), %rdx
movupd %xmm0, (%rdx)
jmp 0xbb8d
movl $0x10, %edi
callq 0x92a0
movq %rax, %r14
leaq 0x48d35(%rip), %rsi     # 0x54564
movq %rax, %rdi
callq 0x9220
jmp 0xb960
movl $0x10, %edi
callq 0x92a0
movq %rax, %r14
leaq 0xd0(%rsp), %rdi
movq %rbx, %rsi
callq 0xdf72
leaq 0x48d43(%rip), %rsi     # 0x545a3
leaq 0x290(%rsp), %rdi
movq %rax, %rdx
callq 0xdb59
movb $0x1, %bpl
leaq 0x290(%rsp), %rsi
movq %r14, %rdi
callq 0x9880
xorl %ebp, %ebp
movq 0x61764(%rip), %rsi     # 0x6cff0
movq 0x616dd(%rip), %rdx     # 0x6cf70
movq %r14, %rdi
callq 0x9900
jmp 0xbc8a
callq 0x9640
testl %eax, %eax
jne 0xba16
leaq 0x128(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x48a7c(%rip), %rsi     # 0x5433c
leaq 0x48a8d(%rip), %rdx     # 0x54354
leaq 0x118(%rsp), %rdi
callq 0xd25a
leaq 0xf0(%rsp), %rdi
movl $0x4e, %esi
callq 0xd8fe
leaq 0x158(%rsp), %rdi
leaq 0x118(%rsp), %rsi
leaq 0xf0(%rsp), %rdx
callq 0xd856
leaq 0x48a4b(%rip), %rsi     # 0x54355
leaq 0x158(%rsp), %rdi
callq 0x9a00
leaq 0xe0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0xbc8a
movupd (%rcx), %xmm0
movupd %xmm0, (%rbp)
jmp 0xbc9d
movl $0x10, %edi
callq 0x92a0
movq %rax, %r14
leaq 0x48c17(%rip), %rsi     # 0x5456f
movq %rax, %rdi
callq 0x9220
movq 0x61689(%rip), %rsi     # 0x6cff0
movq 0x61602(%rip), %rdx     # 0x6cf70
movq %r14, %rdi
callq 0x9900
movl $0x10, %edi
callq 0x92a0
movq %rax, %r14
leaq 0x48af8(%rip), %rdx     # 0x54482
leaq 0x8(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0xdd0c
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x9880
xorl %ebp, %ebp
movq 0x6163e(%rip), %rsi     # 0x6cff0
movq 0x615b7(%rip), %rdx     # 0x6cf70
movq %r14, %rdi
callq 0x9900
jmp 0xbc8a
movl $0x10, %edi
callq 0x92a0
movq %rax, %r14
leaq 0x489cc(%rip), %rdx     # 0x543a6
leaq 0x8(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0xdd0c
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x9880
xorl %ebp, %ebp
movq 0x615ee(%rip), %rsi     # 0x6cff0
movq 0x61567(%rip), %rdx     # 0x6cf70
movq %r14, %rdi
callq 0x9900
jmp 0xbc8a
movl $0x1, %edi
callq 0x9650
movl $0x10, %edi
callq 0x92a0
movq %rax, %r14
leaq 0x48a07(%rip), %rdx     # 0x5443b
leaq 0x8(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0xdd0c
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x9880
xorl %ebp, %ebp
movq 0x61594(%rip), %rsi     # 0x6cff0
movq 0x6150d(%rip), %rdx     # 0x6cf70
movq %r14, %rdi
callq 0x9900
jmp 0xbc8a
movl $0x10, %edi
callq 0x92a0
movq %rax, %r14
leaq 0x48971(%rip), %rdx     # 0x543f5
leaq 0x8(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0xdd0c
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x9880
xorl %ebp, %ebp
movq 0x61544(%rip), %rsi     # 0x6cff0
movq 0x614bd(%rip), %rdx     # 0x6cf70
movq %r14, %rdi
callq 0x9900
jmp 0xbc8a
movl $0x10, %edi
callq 0x92a0
movq %rax, %r14
leaq 0x4898c(%rip), %rdx     # 0x54460
leaq 0x8(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0xdd0c
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x9880
xorl %ebp, %ebp
movq 0x614f4(%rip), %rsi     # 0x6cff0
movq 0x6146d(%rip), %rdx     # 0x6cf70
movq %r14, %rdi
callq 0x9900
jmp 0xbc8a
movq %rdx, 0x58(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x68(%rsp)
movq 0x8(%rax), %rdx
leaq 0x58(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x38(%rsp), %rdi
movl 0x30(%rsp), %edx
callq 0xdd62
leaq 0x489c4(%rip), %rsi     # 0x54512
leaq 0x38(%rsp), %rdi
callq 0x9a00
leaq 0x18(%rsp), %rcx
movq %rcx, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0xbbf0
movupd (%rcx), %xmm0
leaq 0x18(%rsp), %rdx
movupd %xmm0, (%rdx)
jmp 0xbbfd
movq %rdx, 0x58(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x68(%rsp)
movq 0x8(%rax), %rdx
leaq 0x58(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x38(%rsp), %rdi
movl 0x30(%rsp), %edx
callq 0xdd62
leaq 0x48954(%rip), %rsi     # 0x54512
leaq 0x38(%rsp), %rdi
callq 0x9a00
leaq 0x18(%rsp), %rcx
movq %rcx, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0xbc3e
movupd (%rcx), %xmm0
leaq 0x18(%rsp), %rdx
movupd %xmm0, (%rdx)
jmp 0xbc4b
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %bpl
movq %r14, %rdi
callq 0x9880
xorl %ebp, %ebp
movq 0x613c3(%rip), %rsi     # 0x6cff0
movq 0x6133c(%rip), %rdx     # 0x6cf70
movq %r14, %rdi
callq 0x9900
jmp 0xbc8a
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %bpl
movq %r14, %rdi
callq 0x9880
xorl %ebp, %ebp
movq 0x61375(%rip), %rsi     # 0x6cff0
movq 0x612ee(%rip), %rdx     # 0x6cf70
movq %r14, %rdi
callq 0x9900
movq %rdx, 0xd0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xe0(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0xd8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x18(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x48693(%rip), %rsi     # 0x5435b
leaq 0x486cd(%rip), %rdx     # 0x5439c
leaq 0x8(%rsp), %rdi
callq 0xd25a
leaq 0x49041(%rip), %rsi     # 0x54d21
leaq 0x8(%rsp), %rdi
callq 0x9a00
leaq 0x88(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0xbd17
movupd (%rcx), %xmm0
leaq 0x88(%rsp), %rdx
movupd %xmm0, (%rdx)
jmp 0xbd27
movq %rdx, 0x78(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x88(%rsp)
movq 0x8(%rax), %rsi
leaq 0x78(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x1b8(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0xd856
leaq 0x48383(%rip), %rsi     # 0x540e2
leaq 0x1b8(%rsp), %rdi
callq 0x9a00
movq %r12, 0x290(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0xbd8f
movupd (%rcx), %xmm0
movupd %xmm0, (%r12)
jmp 0xbda2
movq %rdx, 0x290(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2a0(%rsp)
movq 0x8(%rax), %rdx
leaq 0x290(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x10dfa
movq %rax, %rbx
movq 0x290(%rsp), %rdi
cmpq %r12, %rdi
je 0xbdeb
movq 0x2a0(%rsp), %rsi
incq %rsi
callq 0x9530
jmp 0xbdeb
movq %rax, %rbx
movq 0x1b8(%rsp), %rdi
cmpq %r15, %rdi
je 0xbe0d
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0x9530
jmp 0xbe0d
movq %rax, %rbx
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0xbe34
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x9530
jmp 0xbe34
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0xbe50
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x9530
jmp 0xbe50
movq %rax, %rbx
movq 0xd0(%rsp), %rdi
cmpq %rbp, %rdi
je 0xbe72
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x9530
jmp 0xbe72
movq %rax, %rbx
leaq 0x168(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xbe98
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x9530
jmp 0xbe98
movq %rax, %rbx
leaq 0x100(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xbf07
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x9530
jmp 0xbf07
jmp 0xbebd
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xbee6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x9530
jmp 0xbee6
jmp 0xbee0
movq %rax, %rbx
movb $0x1, %bpl
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0xbf35
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x9530
jmp 0xbf35
movq %rax, %rbx
movq 0x118(%rsp), %rdi
cmpq %r14, %rdi
je 0xc459
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x9530
jmp 0xc459
jmp 0xbf2f
movq %rax, %rbx
movb $0x1, %bpl
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0xbf81
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x9530
jmp 0xbf81
jmp 0xc2b4
jmp 0xc373
jmp 0xc2b4
jmp 0xc373
jmp 0xc2b4
jmp 0xc373
movq %rax, %rbx
jmp 0xc459
jmp 0xbf7b
movq %rax, %rbx
movb $0x1, %bpl
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0xc009
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x9530
jmp 0xc009
jmp 0xc36e
jmp 0xc2b4
jmp 0xc373
jmp 0xc2b4
jmp 0xc373
jmp 0xc36e
movq %rax, %rbx
movq 0x290(%rsp), %rdi
leaq 0x2a0(%rsp), %rax
cmpq %rax, %rdi
je 0xbfee
movq 0x2a0(%rsp), %rsi
incq %rsi
callq 0x9530
testb %bpl, %bpl
jne 0xc100
jmp 0xc3ec
jmp 0xc0fd
jmp 0xc003
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x1a8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xc02a
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x9530
leaq 0x148(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xc338
movq 0x148(%rsp), %rsi
jmp 0xc330
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xc073
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x9530
jmp 0xc073
movq %rax, %rbx
movb $0x1, %bpl
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0xc113
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x9530
jmp 0xc113
jmp 0xc36e
jmp 0xc0fd
jmp 0xc09e
movq %rax, %rbx
leaq 0x148(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xc376
movq 0x148(%rsp), %rsi
jmp 0xc364
movq %rax, %rbx
movl $0x200, %esi            # imm = 0x200
movq %r14, %rdi
callq 0x9530
jmp 0xc433
movq %rax, %rbx
jmp 0xc433
movq %rax, %rbx
movl $0x200, %esi            # imm = 0x200
movq %r14, %rdi
callq 0x9530
jmp 0xc446
movq %rax, %rbx
jmp 0xc446
movq %rax, %rbx
movq %r14, %rdi
callq 0x9400
jmp 0xc3ec
movq %rax, %rbx
movb $0x1, %bpl
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0xc31c
movq 0xa8(%rsp), %rsi
jmp 0xc314
movq %rax, %rbx
jmp 0xc15d
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xc15d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x9530
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0xc194
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x9530
jmp 0xc194
movq %rax, %rbx
jmp 0xc1b0
movq %rax, %rbx
jmp 0xc3a0
movq %rax, %rbx
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0xc1b0
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x9530
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0xc3a0
movq 0x68(%rsp), %rsi
jmp 0xc398
jmp 0xc3aa
movq %rax, %rbx
jmp 0xc426
movq %rax, %rbx
movq 0x290(%rsp), %rdi
cmpq %r12, %rdi
je 0xc47a
movq 0x2a0(%rsp), %rsi
jmp 0xc472
movq %rax, %rbx
jmp 0xc47a
jmp 0xc258
jmp 0xc279
jmp 0xc258
jmp 0xc279
movq %rax, %rbx
movq 0x290(%rsp), %rdi
cmpq %r12, %rdi
je 0xc230
movq 0x2a0(%rsp), %rsi
incq %rsi
callq 0x9530
jmp 0xc230
movq %rax, %rbx
movq 0x1b8(%rsp), %rdi
cmpq %r15, %rdi
je 0xc49b
movq 0x1c8(%rsp), %rsi
jmp 0xc493
jmp 0xc279
jmp 0xc258
jmp 0xc279
jmp 0xc258
jmp 0xc279
movq %rax, %rbx
movq 0x290(%rsp), %rdi
cmpq %r12, %rdi
je 0xc49b
movq 0x2a0(%rsp), %rsi
jmp 0xc493
movq %rax, %rbx
jmp 0xc49b
movq %rax, %rbx
movq 0x290(%rsp), %rdi
cmpq %r12, %rdi
je 0xc4bc
movq 0x2a0(%rsp), %rsi
jmp 0xc4b4
movq %rax, %rbx
jmp 0xc4bc
jmp 0xc373
jmp 0xc373
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xc338
movq 0x18(%rsp), %rsi
jmp 0xc330
jmp 0xc373
jmp 0xc36e
jmp 0xc34d
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xc300
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x9530
jmp 0xc300
movq %rax, %rbx
movb $0x1, %bpl
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0xc31c
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x9530
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0xc338
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x9530
testb %bpl, %bpl
jne 0xc376
jmp 0xc37e
jmp 0xc36e
jmp 0xc36e
jmp 0xc36e
jmp 0xc36e
jmp 0xc36e
jmp 0xc3aa
jmp 0xc373
movq %rax, %rbx
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0xc376
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x9530
jmp 0xc376
movq %rax, %rbx
jmp 0xc37e
movq %rax, %rbx
movq %r14, %rdi
callq 0x9400
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0xc3a0
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x9530
leaq 0x100(%rsp), %r14
jmp 0xc3b2
movq %rax, %rbx
jmp 0xc3ec
movq %rax, %rbx
movq 0xf0(%rsp), %rdi
cmpq %r14, %rdi
je 0xc3cf
movq 0x100(%rsp), %rsi
incq %rsi
callq 0x9530
leaq 0x290(%rsp), %rdi
callq 0xddc4
leaq 0x168(%rsp), %r15
leaq 0x128(%rsp), %r12
movq 0x118(%rsp), %rdi
cmpq %r12, %rdi
je 0xc409
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x9530
movq 0x158(%rsp), %rdi
cmpq %r15, %rdi
je 0xc426
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x9530
leaq 0xd0(%rsp), %rdi
callq 0xe006
movq 0xb8(%rsp), %rdi
testq %rdi, %rdi
je 0xc446
movq (%rdi), %rax
callq *0x8(%rax)
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0xc459
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x240(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xc47a
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x9530
leaq 0x260(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xc49b
movq 0x260(%rsp), %rsi
incq %rsi
callq 0x9530
leaq 0x280(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xc4bc
movq 0x280(%rsp), %rsi
incq %rsi
callq 0x9530
movq %rbx, %rdi
callq 0x9950