// File: /workspace/github_cpp_makefile_star2_O3/ncbi[P]amr/mutate.cpp
// Function: (anonymous namespace)::ThisApplication::body() const
void body () const final
  {
	  const string inFName  = getArg ("in");
	  const string mutFName = getArg ("mut");
	  const bool aa         = getFlag ("aa");
	  const bool orig       = getFlag ("orig");
  
  
    map <string/*seqId*/,Vector<AmrMutation>> id2mutation;
    {
      LineInput in (mutFName);
      Istringstream iss;
      while (in. nextLine ())
      {
        iss. reset (in. line);
        string seqId;
        size_t pos;
        string mutation_std;
        string mutation_report;
        iss >> seqId >> pos >> mutation_std >> mutation_report;
        QC_ASSERT (! mutation_report. empty ());
        AmrMutation mut (pos, mutation_std, mutation_report, "X", "X", "X");
        mut. qc ();
        id2mutation [seqId] << std::move (mut);
      }
    }
  
  
	  Multifasta fIn (inFName, aa);
	  while (fIn. next ())
	  {
 	    unique_ptr<const Seq> seq;
	    try
  	  {
  	    if (aa)
  	    {
  	      auto pep = new Peptide (fIn, 1000, false);  // PAR
  	      pep->pseudo = true;
  	      seq. reset (pep);  
  	    }
  	    else
  	      seq. reset (new Dna     (fIn, 100000, false));  // PAR
  	    seq->qc ();
  	    if (orig)
  	      seq->saveText (cout);
  	    if (const Vector<AmrMutation>* muts = findPtr (id2mutation, seq->getId ()))
  	      for (const AmrMutation& mut : *muts)
    	    {
    	      unique_ptr<Seq> seq1 (seq->copy ());
    	      mut. apply (seq1->seq);
    	      if (! aa)
    	        strLower (seq1->seq);
      	    seq1->name += ":" + to_string (mut. pos_real + 1) + ":" + mut. geneMutation;
      	    seq1->qc ();
      	    seq1->saveText (cout);
    	    }
  	  }
  	  catch (const exception &e)
  	  {
  	    if (seq)
  	      throw runtime_error (seq->name + "\n" + e. what ());
  	    throw;
  	  }
  	}
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x778, %rsp            # imm = 0x778
movq %rdi, %rbx
leaq 0x490(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x8c1e4(%rip), %rsi     # 0x98701
leaq 0x8c1df(%rip), %rdx     # 0x98703
leaq 0x480(%rsp), %rdi
callq 0xdc76
leaq 0x128(%rsp), %rdi
leaq 0x480(%rsp), %rdx
movq %rbx, %rsi
callq 0x35e1a
movq 0x480(%rsp), %rdi
cmpq %r15, %rdi
je 0xc566
movq 0x490(%rsp), %rsi
incq %rsi
callq 0xb5a0
leaq 0x480(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x86ab1(%rip), %rsi     # 0x93029
leaq 0x86aad(%rip), %rdx     # 0x9302c
callq 0xdc76
leaq 0x108(%rsp), %rdi
leaq 0x480(%rsp), %rdx
movq %rbx, %rsi
callq 0x35e1a
movq 0x480(%rsp), %rdi
cmpq %r15, %rdi
je 0xc5b9
movq 0x490(%rsp), %rsi
incq %rsi
callq 0xb5a0
leaq 0x480(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x8be46(%rip), %rsi     # 0x98411
leaq 0x8be41(%rip), %rdx     # 0x98413
callq 0xdc76
leaq 0x480(%rsp), %rsi
movq %rbx, %rdi
callq 0x35fc6
movb %al, 0x16(%rsp)
movq 0x480(%rsp), %rdi
cmpq %r15, %rdi
je 0xc608
movq 0x490(%rsp), %rsi
incq %rsi
callq 0xb5a0
leaq 0x480(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x86a6a(%rip), %rsi     # 0x93084
leaq 0x86a67(%rip), %rdx     # 0x93088
callq 0xdc76
leaq 0x480(%rsp), %rsi
movq %rbx, %rdi
callq 0x35fc6
movb %al, 0x17(%rsp)
movq 0x480(%rsp), %rdi
cmpq %r15, %rdi
je 0xc657
movq 0x490(%rsp), %rsi
incq %rsi
callq 0xb5a0
leaq 0x1b0(%rsp), %rcx
movl $0x0, (%rcx)
xorl %eax, %eax
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rcx)
movq %rcx, 0x18(%rcx)
movq %rax, 0x20(%rcx)
leaq 0x480(%rsp), %rdi
leaq 0x108(%rsp), %rsi
xorl %edx, %edx
callq 0xed32
leaq 0xaab9b(%rip), %rax     # 0xb7230
leaq 0x6f8(%rsp), %rcx
movq %rax, -0x278(%rcx)
movl $0x0, -0x18(%rcx)
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x718(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0x300(%rsp), %rdi
callq 0xe084
leaq 0xc8(%rsp), %r15
leaq 0x89df5(%rip), %rbx     # 0x964da
leaq 0x89def(%rip), %r13     # 0x964db
leaq 0x98(%rsp), %r14
leaq 0x480(%rsp), %rdi
callq 0x1012e
testb %al, %al
je 0xc979
leaq 0x378(%rsp), %rdi
xorl %esi, %esi
callq 0xb9e0
leaq 0x310(%rsp), %rdi
leaq 0x6e8(%rsp), %rsi
callq 0xb8a0
leaq 0x28(%rsp), %rax
movq %rax, 0x18(%rsp)
xorl %ecx, %ecx
movq %rcx, 0x20(%rsp)
movb %cl, 0x28(%rsp)
leaq 0x48(%rsp), %rax
movq %rax, 0x38(%rsp)
movq %rcx, 0x40(%rsp)
movb %cl, 0x48(%rsp)
movq %r15, 0xb8(%rsp)
movq %rcx, 0xc0(%rsp)
movb %cl, 0xc8(%rsp)
leaq 0x300(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0xb740
movq %rax, %rdi
leaq 0xe0(%rsp), %rsi
callq 0xb340
movq %rax, %rdi
leaq 0x38(%rsp), %rsi
callq 0xb740
movq %rax, %rdi
leaq 0xb8(%rsp), %rsi
callq 0xb740
movq %r13, %rbp
callq 0xb070
movl $0x0, (%rax)
cmpq $0x0, 0xc0(%rsp)
je 0xcfc4
movq 0xe0(%rsp), %r12
leaq 0x88(%rsp), %rax
movq %rax, 0x78(%rsp)
leaq 0x78(%rsp), %rdi
movq %rbx, %r13
movq %rbx, %rsi
movq %rbp, %rdx
callq 0xdc76
leaq 0x68(%rsp), %rax
movq %rax, 0x58(%rsp)
leaq 0x58(%rsp), %rdi
movq %r13, %rsi
movq %rbp, %rdx
callq 0xdc76
leaq 0xa8(%rsp), %rax
movq %rax, 0x98(%rsp)
movq %r14, %r15
movq %r14, %rdi
movq %r13, %rsi
movq %rbp, %rdx
callq 0xdc76
movq %rbp, %r13
movq %r15, (%rsp)
leaq 0x1d8(%rsp), %r15
movq %r15, %rdi
movq %r12, %rsi
leaq 0x38(%rsp), %rdx
leaq 0xb8(%rsp), %rcx
leaq 0x78(%rsp), %r8
leaq 0x58(%rsp), %r9
callq 0x55540
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0xc881
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0xc89d
movq 0x68(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0xc8bf
movq 0x88(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq %r15, %rdi
callq 0x581fc
leaq 0x1a8(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0xe254
movq %rax, %rbp
movq %rax, %rdi
movq %r15, %rsi
callq 0xf49e
movq 0x8(%rbp), %rax
subq (%rbp), %rax
sarq $0x3, %rax
movabsq $0x14c1bacf914c1bad, %rcx # imm = 0x14C1BACF914C1BAD
imulq %rcx, %rax
cmpq $0x2, %rax
jb 0xc90b
movb $0x0, 0x18(%rbp)
movq %r15, %rdi
callq 0xe2d0
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %r15
cmpq %r15, %rdi
je 0xc938
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0xc954
movq 0x48(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0xc6f4
movq 0x28(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0xc6f4
leaq 0xaaaa8(%rip), %rsi     # 0xb7428
leaq 0x300(%rsp), %rdi
callq 0xb810
leaq 0x378(%rsp), %rdi
callq 0xb1e0
leaq 0xaa88f(%rip), %rax     # 0xb7230
movq %rax, 0x480(%rsp)
movq 0x708(%rsp), %rdi
leaq 0x718(%rsp), %rax
cmpq %rax, %rdi
je 0xc9ce
movq 0x718(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x6e8(%rsp), %rdi
leaq 0x6f8(%rsp), %rax
cmpq %rax, %rdi
je 0xc9f3
movq 0x6f8(%rsp), %rsi
incq %rsi
callq 0xb5a0
leaq 0xaa8ee(%rip), %rax     # 0xb72e8
leaq 0x6a0(%rsp), %rbx
movq %rax, -0x220(%rbx)
movq %rbx, %rdi
callq 0x1fcb4
leaq 0xaa930(%rip), %rax     # 0xb7348
movq %rax, -0x218(%rbx)
leaq 0x588(%rsp), %rbx
leaq 0xaa942(%rip), %rax     # 0xb7370
movq %rax, (%rbx)
leaq 0x498(%rsp), %r14
movq %r14, %rdi
callq 0xb4c0
leaq 0xaa950(%rip), %rax     # 0xb7398
movq %rax, -0x10(%r14)
leaq 0xaa96d(%rip), %rax     # 0xb73c0
movq %rax, (%rbx)
movq $0x0, -0x8(%r14)
movq %rbx, %rdi
callq 0xb1e0
movzbl 0x16(%rsp), %edx
leaq 0x480(%rsp), %rdi
leaq 0x128(%rsp), %rsi
movl $0x3e8, %ecx            # imm = 0x3E8
callq 0xe48c
leaq 0x1e8(%rsp), %r13
leaq 0x480(%rsp), %r12
movabsq $0x346dc5d63886594b, %r14 # imm = 0x346DC5D63886594B
movq %r12, %rdi
callq 0x6d0d8
cmpb $0x0, 0x6a0(%rsp)
jne 0xce90
cmpb $0x0, 0x16(%rsp)
je 0xcae2
movl $0x50, %edi
callq 0xb590
movq %rax, %r15
movl $0x3e8, %edx            # imm = 0x3E8
movq %rax, %rdi
movq %r12, %rsi
xorl %ecx, %ecx
callq 0x79646
movb $0x1, 0x49(%r15)
jmp 0xcb07
movl $0x50, %edi
xorl %r15d, %r15d
callq 0xb590
movq %rax, %rbx
movl $0x186a0, %edx          # imm = 0x186A0
movq %rax, %rdi
movq %r12, %rsi
xorl %ecx, %ecx
callq 0x6f08a
movq %rbx, %r15
movq (%r15), %rax
movq %r15, %rdi
callq *0x18(%rax)
cmpb $0x0, 0x17(%rsp)
je 0xcb27
movq (%r15), %rax
movq %r15, %rdi
movq 0xac47c(%rip), %rsi     # 0xb8fa0
callq *0x20(%rax)
leaq 0x8(%r15), %rbx
movq %rbx, %rdi
movl $0x20, %esi
xorl %edx, %edx
callq 0xb760
cmpq $-0x1, %rax
jne 0xcb44
movq 0x10(%r15), %rax
leaq 0x300(%rsp), %r12
movq %r12, %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0xb5d0
leaq 0x1a8(%rsp), %rdi
movq %r12, %rsi
callq 0xfa10
movq %rax, %rbx
movq 0x300(%rsp), %rdi
leaq 0x310(%rsp), %rax
cmpq %rax, %rdi
je 0xcb94
movq 0x310(%rsp), %rsi
incq %rsi
callq 0xb5a0
leaq 0x1b0(%rsp), %rax
cmpq %rax, %rbx
je 0xce72
movq 0x40(%rbx), %r13
movq 0x48(%rbx), %rax
movq %rax, 0xd8(%rsp)
cmpq %rax, %r13
je 0xce72
movq (%r15), %rax
movq %r15, %rdi
callq *0x10(%rax)
movq %rax, %rbx
leaq 0x28(%rax), %rbp
movq %r13, %rdi
movq %rbp, %rsi
callq 0xe55a
cmpb $0x0, 0x16(%rsp)
jne 0xcbe8
movq %rbp, %rdi
callq 0x148cc
movq 0x8(%r13), %rbp
incq %rbp
movl $0x1, %esi
cmpq $0xa, %rbp
jb 0xcc3f
movl $0x4, %esi
movq %rbp, %rcx
cmpq $0x63, %rcx
jbe 0xcc38
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0xcc3d
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0xcc3f
movq %rcx, %rax
mulq %r14
shrq $0xb, %rdx
addl $0x4, %esi
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0xcc02
addl $-0x3, %esi
jmp 0xcc3f
addl $-0x2, %esi
jmp 0xcc3f
decl %esi
movl %esi, %esi
leaq 0x48(%rsp), %rax
movq %rax, 0x38(%rsp)
leaq 0x38(%rsp), %r12
movq %r12, %rdi
xorl %edx, %edx
callq 0xb670
movq 0x38(%rsp), %rdi
movl 0x40(%rsp), %esi
movq %rbp, %rdx
callq 0xfa99
movl $0x1, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x8acac(%rip), %rcx     # 0x9792b
callq 0xb620
leaq 0x28(%rsp), %rsi
movq %rsi, 0x18(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xccac
movq %rdx, 0x18(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x28(%rsp)
jmp 0xccb2
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x20(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x18(%rsp), %rdi
leaq 0x8ac55(%rip), %rsi     # 0x9792b
callq 0xbb10
leaq 0x1e8(%rsp), %rsi
movq %rsi, 0x1d8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xcd0f
movq %rdx, 0x1d8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1e8(%rsp)
jmp 0xcd15
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x1e0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0xa8(%r13), %rsi
movq 0xb0(%r13), %rdx
leaq 0x1d8(%rsp), %rdi
callq 0xb1b0
leaq 0x310(%rsp), %rsi
movq %rsi, 0x300(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xcd7f
movq %rdx, 0x300(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x310(%rsp)
jmp 0xcd85
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x308(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x8(%rbx), %rdi
movq 0x300(%rsp), %rsi
movq 0x308(%rsp), %rdx
callq 0xb1b0
movq 0x300(%rsp), %rdi
leaq 0x310(%rsp), %rax
cmpq %rax, %rdi
je 0xcdde
movq 0x310(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x1d8(%rsp), %rdi
leaq 0x1e8(%rsp), %rax
cmpq %rax, %rdi
je 0xce03
movq 0x1e8(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0xce1f
movq 0x28(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0xce3b
movq 0x48(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x18(%rax)
movq (%rbx), %rax
movq %rbx, %rdi
movq 0xac14f(%rip), %rsi     # 0xb8fa0
callq *0x20(%rax)
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x8(%rax)
addq $0x128, %r13            # imm = 0x128
cmpq 0xd8(%rsp), %r13
jne 0xcbbe
movq (%r15), %rax
movq %r15, %rdi
callq *0x8(%rax)
leaq 0x1e8(%rsp), %r13
leaq 0x480(%rsp), %r12
jmp 0xca9f
leaq 0x738(%rsp), %rbx
movq %rbx, %rdi
callq 0x1fcb4
leaq 0xaa389(%rip), %rax     # 0xb7230
movq %rax, -0x2b0(%rbx)
movq -0x28(%rbx), %rdi
leaq 0x720(%rsp), %rax
cmpq %rax, %rdi
je 0xcecf
movq 0x720(%rsp), %rsi
incq %rsi
callq 0xb5a0
leaq 0x700(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xcef0
movq 0x700(%rsp), %rsi
incq %rsi
callq 0xb5a0
leaq 0x6a8(%rsp), %rbx
leaq 0xaa3e9(%rip), %rax     # 0xb72e8
movq %rax, -0x220(%rbx)
movq %rbx, %rdi
callq 0x1fcb4
leaq 0xaa433(%rip), %rax     # 0xb7348
movq %rax, -0x218(%rbx)
leaq 0x590(%rsp), %rbx
leaq 0xaa445(%rip), %rax     # 0xb7370
movq %rax, (%rbx)
leaq 0x4a0(%rsp), %r14
movq %r14, %rdi
callq 0xb4c0
leaq 0xaa453(%rip), %rax     # 0xb7398
movq %rax, -0x10(%r14)
leaq 0xaa470(%rip), %rax     # 0xb73c0
movq %rax, (%rbx)
movq $0x0, -0x8(%r14)
movq %rbx, %rdi
callq 0xb1e0
leaq 0x1a8(%rsp), %rdi
callq 0xfb14
leaq 0x118(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xcf91
movq 0x118(%rsp), %rsi
incq %rsi
callq 0xb5a0
leaq 0x138(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xcfb2
movq 0x138(%rsp), %rsi
incq %rsi
callq 0xb5a0
addq $0x778, %rsp            # imm = 0x778
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0xb6b0
testl %eax, %eax
jne 0xd061
leaq 0x178(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x861d9(%rip), %rsi     # 0x931bd
leaq 0x861e5(%rip), %rdx     # 0x931d0
leaq 0x168(%rsp), %rdi
callq 0xdc76
leaq 0x188(%rsp), %rdi
movl $0x58, %esi
callq 0xe1b2
leaq 0x98(%rsp), %rdi
leaq 0x168(%rsp), %rsi
leaq 0x188(%rsp), %rdx
callq 0xe10a
leaq 0x861a3(%rip), %rsi     # 0x931d1
leaq 0x98(%rsp), %rdi
callq 0xbb10
leaq 0x68(%rsp), %rcx
movq %rcx, 0x58(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0xd06b
movups (%rcx), %xmm0
leaq 0x68(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0xd078
movl $0x1, %edi
callq 0xb6d0
movq %rdx, 0x58(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x68(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x60(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x158(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x86134(%rip), %rsi     # 0x931d7
leaq 0x8616e(%rip), %rdx     # 0x93218
leaq 0x148(%rsp), %rdi
callq 0xdc76
leaq 0x867f3(%rip), %rsi     # 0x938b1
leaq 0x148(%rsp), %rdi
callq 0xbb10
leaq 0xf8(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0xd0ef
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
jmp 0xd102
movq %rdx, 0xe8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xf8(%rsp)
movq 0x8(%rax), %rsi
leaq 0xe8(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x78(%rsp), %rdi
leaq 0x58(%rsp), %rsi
callq 0xe10a
leaq 0x860e2(%rip), %rsi     # 0x93219
leaq 0x78(%rsp), %rdi
callq 0xbb10
leaq 0x1e8(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0xd166
movups (%rcx), %xmm0
movups %xmm0, (%r13)
jmp 0xd179
movq %rdx, 0x1d8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1e8(%rsp)
movq 0x8(%rax), %rdx
leaq 0x1d8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x1155a
movq %rax, %r14
movq 0x1d8(%rsp), %rdi
cmpq %r13, %rdi
je 0xd1c2
movq 0x1e8(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0xd1c2
movq %rax, %r14
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0xd1e9
movq 0x88(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0xd1e9
movq %rax, %r14
movq 0xe8(%rsp), %rdi
cmpq %rbp, %rdi
je 0xd20b
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0xd20b
movq %rax, %r14
movq 0x148(%rsp), %rdi
cmpq %r15, %rdi
je 0xd22d
movq 0x158(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0xd22d
movq %rax, %r14
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0xd24e
movq 0x68(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0xd24e
movq %rax, %r14
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0xd318
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0xd318
jmp 0xd286
movq %rax, %r14
jmp 0xd4f4
movq %rax, %r14
jmp 0xd765
jmp 0xd292
jmp 0xd2bb
movq %rax, %r14
movq 0x480(%rsp), %rdi
cmpq %r15, %rdi
je 0xd772
movq 0x490(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0xd772
movq %rax, %r14
jmp 0xd772
movq %rax, %r14
movq 0x480(%rsp), %rdi
cmpq %r15, %rdi
je 0xd793
movq 0x490(%rsp), %rsi
jmp 0xd78b
movq %rax, %r14
jmp 0xd793
movq %rax, %r14
movq 0x480(%rsp), %rdi
cmpq %r15, %rdi
je 0xd7b4
movq 0x490(%rsp), %rsi
jmp 0xd7ac
movq %rax, %r14
jmp 0xd7b4
movq %rax, %r14
leaq 0x198(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd33e
movq 0x198(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0xd33e
movq %rax, %r14
movq 0x168(%rsp), %rdi
cmpq %rbx, %rdi
je 0xd467
movq 0x178(%rsp), %rsi
jmp 0xd43a
jmp 0xd3fc
movq %rdx, %r12
movq %rax, %r14
jmp 0xd38c
movq %rdx, %r12
movq %rax, %r14
movl $0x50, %esi
movq %rbx, %rdi
jmp 0xd387
movq %rdx, %r12
movq %rax, %r14
movl $0x50, %esi
movq %r15, %rdi
callq 0xb5a0
xorl %r15d, %r15d
jmp 0xd5e9
jmp 0xd545
movq %rdx, %r12
movq %rax, %r14
movq 0x300(%rsp), %rdi
leaq 0x310(%rsp), %rax
cmpq %rax, %rdi
je 0xd54b
movq 0x310(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0xd54b
movq %rax, %r14
movq 0x98(%rsp), %rdi
leaq 0xa8(%rsp), %rax
cmpq %rax, %rdi
je 0xd404
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0xd404
movq %rax, %r14
jmp 0xd420
movq %rax, %r14
jmp 0xd467
movq %rax, %r14
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0xd420
movq 0x68(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0xd467
movq 0x88(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0xd467
movq %rax, %r14
jmp 0xd758
movq %rdx, %r12
movq %rax, %r14
jmp 0xd5e9
movq %rax, %r14
leaq 0x1d8(%rsp), %rdi
callq 0xe2d0
leaq 0x28(%rsp), %rbx
leaq 0xc8(%rsp), %r15
jmp 0xd483
movq %rax, %r14
jmp 0xd4d3
movq %rax, %r14
leaq 0x28(%rsp), %rbx
movq 0xb8(%rsp), %rdi
cmpq %r15, %rdi
je 0xd4a0
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0xd4bc
movq 0x48(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0xd4d3
movq 0x28(%rsp), %rsi
incq %rsi
callq 0xb5a0
leaq 0xa9f4e(%rip), %rsi     # 0xb7428
leaq 0x300(%rsp), %rdi
callq 0xb810
leaq 0x378(%rsp), %rdi
callq 0xb1e0
leaq 0x480(%rsp), %rdi
callq 0xe3d0
jmp 0xd765
jmp 0xd5cd
movq %rdx, %r12
movq %rax, %r14
leaq 0x28(%rsp), %r13
jmp 0xd588
movq %rdx, %r12
movq %rax, %r14
movq 0x300(%rsp), %rdi
leaq 0x310(%rsp), %rax
cmpq %rax, %rdi
je 0xd55e
movq 0x310(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0xd55e
movq %rdx, %r12
movq %rax, %r14
leaq 0x1e8(%rsp), %r13
jmp 0xd5e9
movq %rdx, %r12
movq %rax, %r14
leaq 0x28(%rsp), %r13
movq 0x1d8(%rsp), %rdi
leaq 0x1e8(%rsp), %rax
cmpq %rax, %rdi
je 0xd588
movq 0x1e8(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x18(%rsp), %rdi
cmpq %r13, %rdi
je 0xd5a7
movq 0x28(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0xd5a7
movq %rdx, %r12
movq %rax, %r14
leaq 0x1e8(%rsp), %r13
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0xd5db
movq 0x48(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0xd5db
movq %rdx, %r12
movq %rax, %r14
leaq 0x1e8(%rsp), %r13
testq %rbx, %rbx
je 0xd5e9
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x8(%rax)
cmpl $0x1, %r12d
jne 0xd74a
movq %r14, %rdi
callq 0xb260
testq %r15, %r15
jne 0xd60a
callq 0xb850
jmp 0xd6c7
movq %rax, %r14
movl $0x10, %edi
callq 0xb2d0
movq %rax, %rbx
leaq 0x8(%r15), %rsi
leaq 0x88256(%rip), %rdx     # 0x9587b
leaq 0x1d8(%rsp), %rdi
callq 0xec12
movq (%r14), %rax
movq %r14, %rdi
callq *0x10(%rax)
leaq 0x1d8(%rsp), %rdi
movq %rax, %rsi
callq 0xbb10
leaq 0x310(%rsp), %rsi
movq %rsi, 0x300(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0xd672
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
jmp 0xd685
movq %rdx, 0x300(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x310(%rsp)
movq 0x8(%rax), %rdx
leaq 0x300(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %bpl
movq %rbx, %rdi
callq 0xb960
xorl %ebp, %ebp
movq 0xab938(%rip), %rsi     # 0xb8ff0
movq 0xab8b1(%rip), %rdx     # 0xb8f70
movq %rbx, %rdi
callq 0xba00
movq %rax, %r14
movq 0x300(%rsp), %rdi
leaq 0x310(%rsp), %rax
cmpq %rax, %rdi
je 0xd6ef
movq 0x310(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq 0x1d8(%rsp), %rdi
cmpq %r13, %rdi
je 0xd70c
movq 0x1e8(%rsp), %rsi
incq %rsi
callq 0xb5a0
testb %bpl, %bpl
jne 0xd738
jmp 0xd745
movq %rax, %r14
movq 0x1d8(%rsp), %rdi
cmpq %r13, %rdi
je 0xd738
movq 0x1e8(%rsp), %rsi
incq %rsi
callq 0xb5a0
jmp 0xd738
movq %rax, %r14
movq %rbx, %rdi
callq 0xb440
jmp 0xd745
movq %rax, %r14
callq 0xb990
testq %r15, %r15
je 0xd758
movq (%r15), %rax
movq %r15, %rdi
callq *0x8(%rax)
leaq 0x480(%rsp), %rdi
callq 0xec68
leaq 0x1a8(%rsp), %rdi
callq 0xfb14
leaq 0x118(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd793
movq 0x118(%rsp), %rsi
incq %rsi
callq 0xb5a0
leaq 0x138(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd7b4
movq 0x138(%rsp), %rsi
incq %rsi
callq 0xb5a0
movq %r14, %rdi
callq 0xba60
movq %rax, %rdi
callq 0xdd0b