// File: ncbi[P]amr/amr_report.cpp
// Function: (anonymous namespace)::BlastAlignment::BlastAlignment(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool)
BlastAlignment (const string &line,
                  bool targetProt_arg)
    : Alignment (line, targetProt_arg, true)
    , fromHmm (false)
    {
    	try 
    	{
        try
        {	
		      // refName	    
			    product                     =                     rfindSplit (refName, '|'); 
			    classS                      =                     rfindSplit (refName, '|'); 
			    subclass                    =                     rfindSplit (refName, '|'); 
			    reportable                  = (uchar) str2<int>  (rfindSplit (refName, '|')); 
			    resistance                  =                     rfindSplit (refName, '|'); 
			    gene                        =                     rfindSplit (refName, '|');  // Reportable_vw.class
			    famId                       =                     rfindSplit (refName, '|');  // Reportable_vw.fam
			    parts                       = (size_t) str2<int> (rfindSplit (refName, '|'));
			    part                        = (size_t) str2<int> (rfindSplit (refName, '|'));
			    refAccession                =                     rfindSplit (refName, '|');
			    str2<long> (refName);  // gi: dummy
  		    if (contains (refAccession, ':'))
  		    {
  		      QC_ASSERT (isMutationProt ());
  		      const string geneMutation =               rfindSplit (refAccession, ':');
  		      const size_t pos          = str2<size_t> (rfindSplit (refAccession, ':'));
  		      ASSERT (refMutation. empty ());
  		      refMutation = std::move (AmrMutation (pos, geneMutation));
  		      QC_ASSERT (! refMutation. empty ());
  		      refMutation. qc ();
  		    }
			  }
			  catch (const exception &e)
			  {
			  	throw runtime_error (string ("Bad AMRFinder database\n") + e. what () + "\n" + line);
			  }
		    QC_ASSERT (! refAccession. empty ());
		    refName = refAccession;
		    	    
		    replace (product,  '_', ' ');
		    replace (classS,   '_', ' ');
		    replace (subclass, '_', ' ');
		    
        // BlastRule
		    // PD-2310
        if (inFam ())
        {
  		    // PD-4856
  		    ASSERT (! brFam);
  		    // brFam
          EXEC_ASSERT (brFam = getFam ());          
          while (brFam)
          {
            if (partial ())
            {
            #if 0
              PRINT (brFam->id);
              PRINT (brFam->genesymbol);
              PRINT (brFam->partialBR);
              PRINT (pIdentity ());
              PRINT (refCoverage ());
            #endif
              if (passBlastRule (brFam->partialBR))
              {
              //cout << "match!" << endl;
            	  break;
            	}
            }
            else
              if (passBlastRule (brFam->completeBR))
              {
              #if 0
                PRINT (brFam->id);
                PRINT (brFam->genesymbol);
                PRINT (brFam->completeBR);
                PRINT (pIdentity ());
                PRINT (refCoverage ());
              #endif
            	  break;
            	}
            brFam = brFam->parent;
          }
  		  }
  		  else
  		  {
		      completeBR = defaultCompleteBR;
		      partialBR  = defaultPartialBR;
		    }
		    	
		    partialDna = false;
		    constexpr size_t mismatchTailDna = 10;  // PAR
		    if (! targetProt && targetEnd - targetStart >= 30)  // PAR, PD-671
		    {
		           if (refStart > 0      && targetTail (true)  <= mismatchTailDna)  partialDna = true;
		      else if (refEnd   < refLen && targetTail (false) <= mismatchTailDna)  partialDna = true;
		    }
	
	      setTargetAlign ();	    
		    
		    if (contains (targetSeq, "*"))  
		      stopCodon = true;
		    IMPLY (! targetProt, (targetEnd - targetStart) % 3 == 0);   // redundant ??
		  	  
		  	// PD-1280
		    if (   (! targetProt || targetStart < domain_min)  // PD-2381
		        && refStart == 0 
		        && charInSet (targetSeq [0], "LIV") 
		        && nident < targetAlign_aa
		       )
		      nident++;
		    	    
		    if (! targetProt)
		      cdss. emplace_back (0, targetName, targetStart, targetEnd, targetStrand, partialDna, 0, noString, noString);
	
  	    if (isMutationProt ())
  		    if (const Vector<AmrMutation>* refMutations = findPtr (accession2mutations, refAccession))
  		    {
  		    	if (verbose ())
  		        cout << "AmrMutation protein found: " << refAccession << endl << line << endl;
    	      setSeqChanges (*refMutations, 0);
    	      if (verbose ())
    	        cout << endl;
  		    }

		    susceptible = findPtr (accession2susceptible, refAccession);
		  }
		  catch (...)
		  {
		  	cout << line << endl;
		  	throw;
		  }
    }

// Assembly:
subq $0xd68, %rsp            # imm = 0xD68
movb %dl, %al
movq %rdi, 0xd60(%rsp)
movq %rsi, 0xd58(%rsp)
andb $0x1, %al
movb %al, 0xd57(%rsp)
movq 0xd60(%rsp), %rdi
movq %rdi, 0x220(%rsp)
movq 0xd58(%rsp), %rsi
movzbl 0xd57(%rsp), %edx
andl $0x1, %edx
movl $0x1, %ecx
callq 0xf05e0
movq 0x220(%rsp), %rdi
leaq 0x121d32(%rip), %rax    # 0x13f2f0
movq %rax, (%rdi)
movq $0x0, 0x238(%rdi)
movq $0x0, 0x240(%rdi)
movb $0x0, 0x248(%rdi)
movb $0x0, 0x249(%rdi)
movb $0x0, 0x24a(%rdi)
addq $0x250, %rdi            # imm = 0x250
movq %rdi, 0x1c8(%rsp)
callq 0xc9b0
movq 0x220(%rsp), %rdi
movq $0x1, 0x270(%rdi)
movq $0x1, 0x278(%rdi)
addq $0x280, %rdi            # imm = 0x280
movq %rdi, 0x1d0(%rsp)
callq 0x37d90
movq 0x220(%rsp), %rdi
movb $0x0, 0x2a0(%rdi)
addq $0x2a8, %rdi            # imm = 0x2A8
movq %rdi, 0x1d8(%rsp)
callq 0xc9b0
movq 0x220(%rsp), %rdi
addq $0x2c8, %rdi            # imm = 0x2C8
movq %rdi, 0x1e0(%rsp)
callq 0xc9b0
movq 0x220(%rsp), %rdi
addq $0x2e8, %rdi            # imm = 0x2E8
movq %rdi, 0x1e8(%rsp)
callq 0xc9b0
movq 0x220(%rsp), %rdi
movb $0x0, 0x308(%rdi)
addq $0x310, %rdi            # imm = 0x310
movq %rdi, 0x1f0(%rsp)
callq 0xc9b0
movq 0x220(%rsp), %rdi
addq $0x330, %rdi            # imm = 0x330
movq %rdi, 0x1f8(%rsp)
callq 0xc9b0
movq 0x220(%rsp), %rdi
movq $0x0, 0x350(%rdi)
addq $0x358, %rdi            # imm = 0x358
movq %rdi, 0x200(%rsp)
callq 0x31420
movq 0x220(%rsp), %rdi
addq $0x378, %rdi            # imm = 0x378
movq %rdi, 0x208(%rsp)
callq 0x31420
movq 0x220(%rsp), %rdi
addq $0x398, %rdi            # imm = 0x398
movq %rdi, 0x210(%rsp)
callq 0xc9b0
movq 0x220(%rsp), %rdi
addq $0x3b8, %rdi            # imm = 0x3B8
movq %rdi, 0x218(%rsp)
callq 0x5b200
movq 0x220(%rsp), %rsi
movq $0x0, 0x3d8(%rsi)
movq $0x0, 0x3e0(%rsi)
addq $0x78, %rsi
leaq 0xd30(%rsp), %rdi
movl $0x7c, %edx
callq 0x6e5b0
jmp 0x1d77d
movq 0x220(%rsp), %rdi
addq $0x398, %rdi            # imm = 0x398
leaq 0xd30(%rsp), %rsi
movq %rsi, 0x1c0(%rsp)
callq 0xc8a0
movq 0x1c0(%rsp), %rdi
callq 0xce58
movq 0x220(%rsp), %rsi
addq $0x78, %rsi
leaq 0xd00(%rsp), %rdi
movl $0x7c, %edx
callq 0x6e5b0
jmp 0x1d7ce
movq 0x220(%rsp), %rdi
addq $0x310, %rdi            # imm = 0x310
leaq 0xd00(%rsp), %rsi
movq %rsi, 0x1b8(%rsp)
callq 0xc8a0
movq 0x1b8(%rsp), %rdi
callq 0xce58
movq 0x220(%rsp), %rsi
addq $0x78, %rsi
leaq 0xce0(%rsp), %rdi
movl $0x7c, %edx
callq 0x6e5b0
jmp 0x1d81f
movq 0x220(%rsp), %rdi
addq $0x330, %rdi            # imm = 0x330
leaq 0xce0(%rsp), %rsi
movq %rsi, 0x1b0(%rsp)
callq 0xc8a0
movq 0x1b0(%rsp), %rdi
callq 0xce58
movq 0x220(%rsp), %rsi
addq $0x78, %rsi
leaq 0xcc0(%rsp), %rdi
movl $0x7c, %edx
callq 0x6e5b0
jmp 0x1d870
leaq 0xcc0(%rsp), %rdi
callq 0x53710
movl %eax, 0x1ac(%rsp)
jmp 0x1d886
movq 0x220(%rsp), %rax
movl 0x1ac(%rsp), %ecx
movb %cl, 0x308(%rax)
leaq 0xcc0(%rsp), %rdi
callq 0xce58
movq 0x220(%rsp), %rsi
addq $0x78, %rsi
leaq 0xca0(%rsp), %rdi
movl $0x7c, %edx
callq 0x6e5b0
jmp 0x1d8c8
movq 0x220(%rsp), %rdi
addq $0x2e8, %rdi            # imm = 0x2E8
leaq 0xca0(%rsp), %rsi
movq %rsi, 0x1a0(%rsp)
callq 0xc8a0
movq 0x1a0(%rsp), %rdi
callq 0xce58
movq 0x220(%rsp), %rsi
addq $0x78, %rsi
leaq 0xc80(%rsp), %rdi
movl $0x7c, %edx
callq 0x6e5b0
jmp 0x1d919
movq 0x220(%rsp), %rdi
addq $0x2c8, %rdi            # imm = 0x2C8
leaq 0xc80(%rsp), %rsi
movq %rsi, 0x198(%rsp)
callq 0xc8a0
movq 0x198(%rsp), %rdi
callq 0xce58
movq 0x220(%rsp), %rsi
addq $0x78, %rsi
leaq 0xc60(%rsp), %rdi
movl $0x7c, %edx
callq 0x6e5b0
jmp 0x1d96a
movq 0x220(%rsp), %rdi
addq $0x2a8, %rdi            # imm = 0x2A8
leaq 0xc60(%rsp), %rsi
movq %rsi, 0x190(%rsp)
callq 0xc8a0
movq 0x190(%rsp), %rdi
callq 0xce58
movq 0x220(%rsp), %rsi
addq $0x78, %rsi
leaq 0xc40(%rsp), %rdi
movl $0x7c, %edx
callq 0x6e5b0
jmp 0x1d9bb
leaq 0xc40(%rsp), %rdi
callq 0x53710
movl %eax, 0x18c(%rsp)
jmp 0x1d9d1
movq 0x220(%rsp), %rax
movl 0x18c(%rsp), %ecx
movslq %ecx, %rcx
movq %rcx, 0x278(%rax)
leaq 0xc40(%rsp), %rdi
callq 0xce58
movq 0x220(%rsp), %rsi
addq $0x78, %rsi
leaq 0xc20(%rsp), %rdi
movl $0x7c, %edx
callq 0x6e5b0
jmp 0x1da17
leaq 0xc20(%rsp), %rdi
callq 0x53710
movl %eax, 0x188(%rsp)
jmp 0x1da2d
movq 0x220(%rsp), %rax
movl 0x188(%rsp), %ecx
movslq %ecx, %rcx
movq %rcx, 0x270(%rax)
leaq 0xc20(%rsp), %rdi
callq 0xce58
movq 0x220(%rsp), %rsi
addq $0x78, %rsi
leaq 0xc00(%rsp), %rdi
movl $0x7c, %edx
callq 0x6e5b0
jmp 0x1da73
movq 0x220(%rsp), %rdi
addq $0x250, %rdi            # imm = 0x250
leaq 0xc00(%rsp), %rsi
movq %rsi, 0x180(%rsp)
callq 0xc8a0
movq 0x180(%rsp), %rdi
callq 0xce58
movq 0x220(%rsp), %rdi
addq $0x78, %rdi
callq 0x5b230
jmp 0x1dab7
movq 0x220(%rsp), %rdi
addq $0x250, %rdi            # imm = 0x250
movl $0x3a, %esi
callq 0x58f00
testb $0x1, %al
jne 0x1dad9
jmp 0x1e619
callq 0xc090
movq 0x220(%rsp), %rdi
movl $0x0, (%rax)
callq 0x37da0
movb %al, 0x17f(%rsp)
jmp 0x1dafa
movb 0x17f(%rsp), %al
testb $0x1, %al
jne 0x1de29
jmp 0x1db0b
callq 0xc870
cmpl $0x0, %eax
jne 0x1de1f
leaq 0xb5f(%rsp), %rdi
movq %rdi, 0x170(%rsp)
callq 0xcca0
movq 0x170(%rsp), %rdx
leaq 0xdfdca(%rip), %rsi     # 0xfd907
leaq 0xb60(%rsp), %rdi
callq 0x50b50
jmp 0x1db4c
leaq 0xb38(%rsp), %rdi
movl $0x19e, %esi            # imm = 0x19E
callq 0x52760
jmp 0x1db60
leaq 0xb80(%rsp), %rdi
leaq 0xb60(%rsp), %rsi
leaq 0xb38(%rsp), %rdx
callq 0x52670
jmp 0x1db7f
leaq 0xdfd99(%rip), %rdx     # 0xfd91f
leaq 0xba0(%rsp), %rdi
leaq 0xb80(%rsp), %rsi
callq 0x50db0
jmp 0x1db9d
leaq 0xaf7(%rsp), %rdi
movq %rdi, 0x168(%rsp)
callq 0xcca0
movq 0x168(%rsp), %rdx
leaq 0xe05a6(%rip), %rsi     # 0xfe167
leaq 0xaf8(%rsp), %rdi
callq 0x50b50
jmp 0x1dbd0
leaq 0xe0247(%rip), %rdx     # 0xfde1e
leaq 0xb18(%rsp), %rdi
leaq 0xaf8(%rsp), %rsi
callq 0x50db0
jmp 0x1dbee
leaq 0xbc0(%rsp), %rdi
leaq 0xba0(%rsp), %rsi
leaq 0xb18(%rsp), %rdx
callq 0x52670
jmp 0x1dc0d
leaq 0xe11bc(%rip), %rdx     # 0xfedd0
leaq 0xbe0(%rsp), %rdi
leaq 0xbc0(%rsp), %rsi
callq 0x50db0
jmp 0x1dc2b
leaq 0xbe0(%rsp), %rdi
callq 0x69f20
jmp 0x1dc3a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e4fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
leaq 0xcc0(%rsp), %rdi
callq 0xce58
jmp 0x1e4fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
leaq 0xc40(%rsp), %rdi
callq 0xce58
jmp 0x1e4fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
leaq 0xc20(%rsp), %rdi
callq 0xce58
jmp 0x1e4fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1de0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1de00
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1ddf3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1dde6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1ddcc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1ddbf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1ddb2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1dda5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
leaq 0xbe0(%rsp), %rdi
callq 0xce58
leaq 0xbc0(%rsp), %rdi
callq 0xce58
leaq 0xb18(%rsp), %rdi
callq 0xce58
leaq 0xaf8(%rsp), %rdi
callq 0xce58
leaq 0xaf7(%rsp), %rdi
callq 0xc750
leaq 0xba0(%rsp), %rdi
callq 0xce58
leaq 0xb80(%rsp), %rdi
callq 0xce58
leaq 0xb38(%rsp), %rdi
callq 0xce58
leaq 0xb60(%rsp), %rdi
callq 0xce58
leaq 0xb5f(%rsp), %rdi
callq 0xc750
jmp 0x1e4fc
movl $0x1, %edi
callq 0xc880
movq 0x220(%rsp), %rsi
addq $0x250, %rsi            # imm = 0x250
leaq 0xad0(%rsp), %rdi
movl $0x3a, %edx
callq 0x6e5b0
jmp 0x1de4c
movq 0x220(%rsp), %rsi
addq $0x250, %rsi            # imm = 0x250
leaq 0xaa8(%rsp), %rdi
movl $0x3a, %edx
callq 0x6e5b0
jmp 0x1de6f
leaq 0xaa8(%rsp), %rdi
callq 0x5b460
movq %rax, 0x160(%rsp)
jmp 0x1de86
leaq 0xaa8(%rsp), %rdi
callq 0xce58
movq 0x160(%rsp), %rax
movq %rax, 0xac8(%rsp)
callq 0xc090
movq 0x220(%rsp), %rdi
movl $0x0, (%rax)
addq $0xd0, %rdi
callq 0x5b690
movb %al, 0x15f(%rsp)
jmp 0x1decb
movb 0x15f(%rsp), %al
testb $0x1, %al
jne 0x1e1ae
jmp 0x1dedc
callq 0xc870
cmpl $0x0, %eax
jne 0x1e1a4
leaq 0xa07(%rsp), %rdi
movq %rdi, 0x150(%rsp)
callq 0xcca0
movq 0x150(%rsp), %rdx
leaq 0xdf9f9(%rip), %rsi     # 0xfd907
leaq 0xa08(%rsp), %rdi
callq 0x50b50
jmp 0x1df1d
leaq 0x9e0(%rsp), %rdi
movl $0x1a1, %esi            # imm = 0x1A1
callq 0x52760
jmp 0x1df31
leaq 0xa28(%rsp), %rdi
leaq 0xa08(%rsp), %rsi
leaq 0x9e0(%rsp), %rdx
callq 0x52670
jmp 0x1df50
leaq 0xdf9c8(%rip), %rdx     # 0xfd91f
leaq 0xa48(%rsp), %rdi
leaq 0xa28(%rsp), %rsi
callq 0x50db0
jmp 0x1df6e
leaq 0x99f(%rsp), %rdi
movq %rdi, 0x148(%rsp)
callq 0xcca0
movq 0x148(%rsp), %rdx
leaq 0xe01d5(%rip), %rsi     # 0xfe167
leaq 0x9a0(%rsp), %rdi
callq 0x50b50
jmp 0x1dfa1
leaq 0xdfe76(%rip), %rdx     # 0xfde1e
leaq 0x9c0(%rsp), %rdi
leaq 0x9a0(%rsp), %rsi
callq 0x50db0
jmp 0x1dfbf
leaq 0xa68(%rsp), %rdi
leaq 0xa48(%rsp), %rsi
leaq 0x9c0(%rsp), %rdx
callq 0x52670
jmp 0x1dfde
leaq 0xe01d0(%rip), %rdx     # 0xfe1b5
leaq 0xa88(%rsp), %rdi
leaq 0xa68(%rsp), %rsi
callq 0x50db0
jmp 0x1dffc
leaq 0xa88(%rsp), %rdi
callq 0x69f20
jmp 0x1e00b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e4ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
leaq 0xaa8(%rsp), %rdi
callq 0xce58
jmp 0x1e4ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e192
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e185
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e178
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e16b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e151
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e144
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e137
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e12a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
leaq 0xa88(%rsp), %rdi
callq 0xce58
leaq 0xa68(%rsp), %rdi
callq 0xce58
leaq 0x9c0(%rsp), %rdi
callq 0xce58
leaq 0x9a0(%rsp), %rdi
callq 0xce58
leaq 0x99f(%rsp), %rdi
callq 0xc750
leaq 0xa48(%rsp), %rdi
callq 0xce58
leaq 0xa28(%rsp), %rdi
callq 0xce58
leaq 0x9e0(%rsp), %rdi
callq 0xce58
leaq 0xa08(%rsp), %rdi
callq 0xce58
leaq 0xa07(%rsp), %rdi
callq 0xc750
jmp 0x1e4ef
movl $0x1, %edi
callq 0xc880
movq 0xac8(%rsp), %rsi
leaq 0x870(%rsp), %rdi
leaq 0xad0(%rsp), %rdx
callq 0x5b6b0
jmp 0x1e1cd
movq 0x220(%rsp), %rdi
addq $0xd0, %rdi
movq %rdi, 0x138(%rsp)
leaq 0x870(%rsp), %rsi
movq %rsi, 0x130(%rsp)
callq 0x57a60
movq 0x130(%rsp), %rdi
callq 0x50930
callq 0xc090
movq 0x138(%rsp), %rdi
movl $0x0, (%rax)
callq 0x5b690
movb %al, 0x147(%rsp)
jmp 0x1e227
movb 0x147(%rsp), %al
testb $0x1, %al
jne 0x1e237
jmp 0x1e4c7
callq 0xc870
cmpl $0x0, %eax
jne 0x1e4bd
leaq 0x7cf(%rsp), %rdi
movq %rdi, 0x128(%rsp)
callq 0xcca0
movq 0x128(%rsp), %rdx
leaq 0xdf69e(%rip), %rsi     # 0xfd907
leaq 0x7d0(%rsp), %rdi
callq 0x50b50
jmp 0x1e278
leaq 0x7a8(%rsp), %rdi
movl $0x1a3, %esi            # imm = 0x1A3
callq 0x52760
jmp 0x1e28c
leaq 0x7f0(%rsp), %rdi
leaq 0x7d0(%rsp), %rsi
leaq 0x7a8(%rsp), %rdx
callq 0x52670
jmp 0x1e2ab
leaq 0xdf66d(%rip), %rdx     # 0xfd91f
leaq 0x810(%rsp), %rdi
leaq 0x7f0(%rsp), %rsi
callq 0x50db0
jmp 0x1e2c9
leaq 0x767(%rsp), %rdi
movq %rdi, 0x120(%rsp)
callq 0xcca0
movq 0x120(%rsp), %rdx
leaq 0xdfe7a(%rip), %rsi     # 0xfe167
leaq 0x768(%rsp), %rdi
callq 0x50b50
jmp 0x1e2fc
leaq 0xdfb1b(%rip), %rdx     # 0xfde1e
leaq 0x788(%rsp), %rdi
leaq 0x768(%rsp), %rsi
callq 0x50db0
jmp 0x1e31a
leaq 0x830(%rsp), %rdi
leaq 0x810(%rsp), %rsi
leaq 0x788(%rsp), %rdx
callq 0x52670
jmp 0x1e339
leaq 0xdfe73(%rip), %rdx     # 0xfe1b3
leaq 0x850(%rsp), %rdi
leaq 0x830(%rsp), %rsi
callq 0x50db0
jmp 0x1e357
leaq 0x850(%rsp), %rdi
callq 0x69f20
jmp 0x1e366
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e4ae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e4a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e494
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e487
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e46d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e460
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e453
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e446
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
leaq 0x850(%rsp), %rdi
callq 0xce58
leaq 0x830(%rsp), %rdi
callq 0xce58
leaq 0x788(%rsp), %rdi
callq 0xce58
leaq 0x768(%rsp), %rdi
callq 0xce58
leaq 0x767(%rsp), %rdi
callq 0xc750
leaq 0x810(%rsp), %rdi
callq 0xce58
leaq 0x7f0(%rsp), %rdi
callq 0xce58
leaq 0x7a8(%rsp), %rdi
callq 0xce58
leaq 0x7d0(%rsp), %rdi
callq 0xce58
leaq 0x7cf(%rsp), %rdi
callq 0xc750
jmp 0x1e4ef
movl $0x1, %edi
callq 0xc880
movq 0x220(%rsp), %rdi
addq $0xd0, %rdi
callq 0xe5cb0
jmp 0x1e4dd
leaq 0xad0(%rsp), %rdi
callq 0xce58
jmp 0x1e619
leaq 0xad0(%rsp), %rdi
callq 0xce58
movl 0xd24(%rsp), %eax
movl $0x2, %ecx
cmpl %ecx, %eax
jne 0x1f75a
movq 0xd28(%rsp), %rdi
callq 0xc2d0
movq %rax, 0x758(%rsp)
movb $0x1, 0x6d6(%rsp)
movl $0x10, %edi
callq 0xc380
movq %rax, 0x110(%rsp)
leaq 0x6d7(%rsp), %rdi
movq %rdi, 0x118(%rsp)
callq 0xcca0
movq 0x118(%rsp), %rdx
leaq 0xdfc68(%rip), %rsi     # 0xfe1cb
leaq 0x6d8(%rsp), %rdi
callq 0x50b50
jmp 0x1e572
movq 0x758(%rsp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, %rdx
leaq 0x6f8(%rsp), %rdi
leaq 0x6d8(%rsp), %rsi
callq 0x50db0
jmp 0x1e59d
leaq 0xe3898(%rip), %rdx     # 0x101e3c
leaq 0x718(%rsp), %rdi
leaq 0x6f8(%rsp), %rsi
callq 0x50db0
jmp 0x1e5bb
movq 0xd58(%rsp), %rdx
leaq 0x738(%rsp), %rdi
leaq 0x718(%rsp), %rsi
callq 0x53c50
jmp 0x1e5da
movq 0x110(%rsp), %rdi
leaq 0x738(%rsp), %rsi
callq 0xcb50
jmp 0x1e5f1
movq 0x110(%rsp), %rdi
movb $0x0, 0x6d6(%rsp)
movq 0x1229e8(%rip), %rsi    # 0x140ff0
movq 0x122961(%rip), %rdx    # 0x140f70
callq 0xcc20
jmp 0x1fa80
jmp 0x1e6f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e6c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e6b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e6a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e69a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
leaq 0x738(%rsp), %rdi
callq 0xce58
leaq 0x718(%rsp), %rdi
callq 0xce58
leaq 0x6f8(%rsp), %rdi
callq 0xce58
leaq 0x6d8(%rsp), %rdi
callq 0xce58
leaq 0x6d7(%rsp), %rdi
callq 0xc750
testb $0x1, 0x6d6(%rsp)
jne 0x1e6da
jmp 0x1e6e7
movq 0x110(%rsp), %rdi
callq 0xc540
callq 0xcb80
jmp 0x1e6ee
jmp 0x1f75a
callq 0xc090
movq 0x220(%rsp), %rdi
movl $0x0, (%rax)
addq $0x250, %rdi            # imm = 0x250
callq 0xcbb0
testb $0x1, %al
jne 0x1e71b
jmp 0x1e9ae
callq 0xc870
cmpl $0x0, %eax
jne 0x1e9a4
leaq 0x62f(%rsp), %rdi
movq %rdi, 0x108(%rsp)
callq 0xcca0
movq 0x108(%rsp), %rdx
leaq 0xdf1ba(%rip), %rsi     # 0xfd907
leaq 0x630(%rsp), %rdi
callq 0x50b50
jmp 0x1e75c
leaq 0x608(%rsp), %rdi
movl $0x1ab, %esi            # imm = 0x1AB
callq 0x52760
jmp 0x1e770
leaq 0x650(%rsp), %rdi
leaq 0x630(%rsp), %rsi
leaq 0x608(%rsp), %rdx
callq 0x52670
jmp 0x1e78f
leaq 0xdf189(%rip), %rdx     # 0xfd91f
leaq 0x670(%rsp), %rdi
leaq 0x650(%rsp), %rsi
callq 0x50db0
jmp 0x1e7ad
leaq 0x5c7(%rsp), %rdi
movq %rdi, 0x100(%rsp)
callq 0xcca0
movq 0x100(%rsp), %rdx
leaq 0xdf996(%rip), %rsi     # 0xfe167
leaq 0x5c8(%rsp), %rdi
callq 0x50b50
jmp 0x1e7e0
leaq 0xdf637(%rip), %rdx     # 0xfde1e
leaq 0x5e8(%rsp), %rdi
leaq 0x5c8(%rsp), %rsi
callq 0x50db0
jmp 0x1e7fe
leaq 0x690(%rsp), %rdi
leaq 0x670(%rsp), %rsi
leaq 0x5e8(%rsp), %rdx
callq 0x52670
jmp 0x1e81d
leaq 0xdf9bf(%rip), %rdx     # 0xfe1e3
leaq 0x6b0(%rsp), %rdi
leaq 0x690(%rsp), %rsi
callq 0x50db0
jmp 0x1e83b
leaq 0x6b0(%rsp), %rdi
callq 0x69f20
jmp 0x1e84a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e992
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e985
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e978
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e96b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e951
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e944
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e937
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1e92a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
leaq 0x6b0(%rsp), %rdi
callq 0xce58
leaq 0x690(%rsp), %rdi
callq 0xce58
leaq 0x5e8(%rsp), %rdi
callq 0xce58
leaq 0x5c8(%rsp), %rdi
callq 0xce58
leaq 0x5c7(%rsp), %rdi
callq 0xc750
leaq 0x670(%rsp), %rdi
callq 0xce58
leaq 0x650(%rsp), %rdi
callq 0xce58
leaq 0x608(%rsp), %rdi
callq 0xce58
leaq 0x630(%rsp), %rdi
callq 0xce58
leaq 0x62f(%rsp), %rdi
callq 0xc750
jmp 0x1f75a
movl $0x1, %edi
callq 0xc880
movq 0x220(%rsp), %rdi
movq %rdi, %rsi
addq $0x250, %rsi            # imm = 0x250
addq $0x78, %rdi
callq 0xc080
jmp 0x1e9cb
movq 0x220(%rsp), %rdi
addq $0x398, %rdi            # imm = 0x398
movl $0x5f, %esi
movl $0x20, %edx
callq 0x6bea0
jmp 0x1e9eb
movq 0x220(%rsp), %rdi
addq $0x310, %rdi            # imm = 0x310
movl $0x5f, %esi
movl $0x20, %edx
callq 0x6bea0
jmp 0x1ea0b
movq 0x220(%rsp), %rdi
addq $0x330, %rdi            # imm = 0x330
movl $0x5f, %esi
movl $0x20, %edx
callq 0x6bea0
jmp 0x1ea2b
movq 0x220(%rsp), %rdi
callq 0x37dc0
movb %al, 0xff(%rsp)
jmp 0x1ea41
movb 0xff(%rsp), %al
testb $0x1, %al
jne 0x1ea51
jmp 0x1f0c5
callq 0xc090
movq %rax, %rcx
movq 0x220(%rsp), %rax
movl $0x0, (%rcx)
cmpq $0x0, 0x350(%rax)
je 0x1ed21
callq 0xc870
cmpl $0x0, %eax
jne 0x1ed17
leaq 0x51f(%rsp), %rdi
movq %rdi, 0xf0(%rsp)
callq 0xcca0
movq 0xf0(%rsp), %rdx
leaq 0xdee60(%rip), %rsi     # 0xfd907
leaq 0x520(%rsp), %rdi
callq 0x50b50
jmp 0x1eab6
leaq 0x4f8(%rsp), %rdi
movl $0x1b7, %esi            # imm = 0x1B7
callq 0x52760
jmp 0x1eaca
leaq 0x540(%rsp), %rdi
leaq 0x520(%rsp), %rsi
leaq 0x4f8(%rsp), %rdx
callq 0x52670
jmp 0x1eae9
leaq 0xdee2f(%rip), %rdx     # 0xfd91f
leaq 0x560(%rsp), %rdi
leaq 0x540(%rsp), %rsi
callq 0x50db0
jmp 0x1eb07
leaq 0x4b7(%rsp), %rdi
movq %rdi, 0xe8(%rsp)
callq 0xcca0
movq 0xe8(%rsp), %rdx
leaq 0xdf63c(%rip), %rsi     # 0xfe167
leaq 0x4b8(%rsp), %rdi
callq 0x50b50
jmp 0x1eb3a
leaq 0xdf2dd(%rip), %rdx     # 0xfde1e
leaq 0x4d8(%rsp), %rdi
leaq 0x4b8(%rsp), %rsi
callq 0x50db0
jmp 0x1eb58
leaq 0x580(%rsp), %rdi
leaq 0x560(%rsp), %rsi
leaq 0x4d8(%rsp), %rdx
callq 0x52670
jmp 0x1eb77
leaq 0xdf67e(%rip), %rdx     # 0xfe1fc
leaq 0x5a0(%rsp), %rdi
leaq 0x580(%rsp), %rsi
callq 0x50db0
jmp 0x1eb95
leaq 0x5a0(%rsp), %rdi
callq 0x69f20
jmp 0x1eba4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1f75a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1ed05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1ecf8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1eceb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1ecde
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1ecc4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1ecb7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1ecaa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1ec9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
leaq 0x5a0(%rsp), %rdi
callq 0xce58
leaq 0x580(%rsp), %rdi
callq 0xce58
leaq 0x4d8(%rsp), %rdi
callq 0xce58
leaq 0x4b8(%rsp), %rdi
callq 0xce58
leaq 0x4b7(%rsp), %rdi
callq 0xc750
leaq 0x560(%rsp), %rdi
callq 0xce58
leaq 0x540(%rsp), %rdi
callq 0xce58
leaq 0x4f8(%rsp), %rdi
callq 0xce58
leaq 0x520(%rsp), %rdi
callq 0xce58
leaq 0x51f(%rsp), %rdi
callq 0xc750
jmp 0x1f75a
movl $0x1, %edi
callq 0xc880
movq 0x220(%rsp), %rdi
callq 0x37e00
movq %rax, 0xe0(%rsp)
jmp 0x1ed38
movq 0xe0(%rsp), %rax
movq 0x220(%rsp), %rcx
movq %rax, 0x350(%rcx)
cmpq $0x0, %rax
setne %al
andb $0x1, %al
movb %al, 0x4b6(%rsp)
testb $0x1, 0x4b6(%rsp)
jne 0x1f000
callq 0xc870
cmpl $0x0, %eax
jne 0x1eff6
leaq 0x40f(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0xcca0
movq 0xd8(%rsp), %rdx
leaq 0xdeb68(%rip), %rsi     # 0xfd907
leaq 0x410(%rsp), %rdi
callq 0x50b50
jmp 0x1edae
leaq 0x3e8(%rsp), %rdi
movl $0x1b9, %esi            # imm = 0x1B9
callq 0x52760
jmp 0x1edc2
leaq 0x430(%rsp), %rdi
leaq 0x410(%rsp), %rsi
leaq 0x3e8(%rsp), %rdx
callq 0x52670
jmp 0x1ede1
leaq 0xdeb37(%rip), %rdx     # 0xfd91f
leaq 0x450(%rsp), %rdi
leaq 0x430(%rsp), %rsi
callq 0x50db0
jmp 0x1edff
leaq 0x3a7(%rsp), %rdi
movq %rdi, 0xd0(%rsp)
callq 0xcca0
movq 0xd0(%rsp), %rdx
leaq 0xdf344(%rip), %rsi     # 0xfe167
leaq 0x3a8(%rsp), %rdi
callq 0x50b50
jmp 0x1ee32
leaq 0xdefe5(%rip), %rdx     # 0xfde1e
leaq 0x3c8(%rsp), %rdi
leaq 0x3a8(%rsp), %rsi
callq 0x50db0
jmp 0x1ee50
leaq 0x470(%rsp), %rdi
leaq 0x450(%rsp), %rsi
leaq 0x3c8(%rsp), %rdx
callq 0x52670
jmp 0x1ee6f
leaq 0xdf38e(%rip), %rdx     # 0xfe204
leaq 0x490(%rsp), %rdi
leaq 0x470(%rsp), %rsi
callq 0x50db0
jmp 0x1ee8d
leaq 0x490(%rsp), %rdi
callq 0x69f20
jmp 0x1ee9c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1efe4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1efd7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1efca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1efbd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1efa3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1ef96
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1ef89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1ef7c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
leaq 0x490(%rsp), %rdi
callq 0xce58
leaq 0x470(%rsp), %rdi
callq 0xce58
leaq 0x3c8(%rsp), %rdi
callq 0xce58
leaq 0x3a8(%rsp), %rdi
callq 0xce58
leaq 0x3a7(%rsp), %rdi
callq 0xc750
leaq 0x450(%rsp), %rdi
callq 0xce58
leaq 0x430(%rsp), %rdi
callq 0xce58
leaq 0x3e8(%rsp), %rdi
callq 0xce58
leaq 0x410(%rsp), %rdi
callq 0xce58
leaq 0x40f(%rsp), %rdi
callq 0xc750
jmp 0x1f75a
movl $0x1, %edi
callq 0xc880
jmp 0x1f002
movq 0x220(%rsp), %rax
cmpq $0x0, 0x350(%rax)
je 0x1f0c3
movq 0x220(%rsp), %rdi
callq 0x38260
movb %al, 0xcf(%rsp)
jmp 0x1f02e
movb 0xcf(%rsp), %al
testb $0x1, %al
jne 0x1f03b
jmp 0x1f070
movq 0x220(%rsp), %rdi
movq 0x350(%rdi), %rsi
addq $0xc0, %rsi
callq 0x38290
movb %al, 0xce(%rsp)
jmp 0x1f05f
movb 0xce(%rsp), %al
testb $0x1, %al
jne 0x1f06c
jmp 0x1f06e
jmp 0x1f0c3
jmp 0x1f0a5
movq 0x220(%rsp), %rdi
movq 0x350(%rdi), %rsi
addq $0xa0, %rsi
callq 0x38290
movb %al, 0xcd(%rsp)
jmp 0x1f094
movb 0xcd(%rsp), %al
testb $0x1, %al
jne 0x1f0a1
jmp 0x1f0a3
jmp 0x1f0c3
jmp 0x1f0a5
movq 0x220(%rsp), %rax
movq 0x350(%rax), %rcx
movq (%rcx), %rcx
movq %rcx, 0x350(%rax)
jmp 0x1f002
jmp 0x1f0fb
movq 0x220(%rsp), %rdi
addq $0x358, %rdi            # imm = 0x358
leaq 0x122665(%rip), %rsi    # 0x141740
callq 0x319f0
movq 0x220(%rsp), %rdi
addq $0x378, %rdi            # imm = 0x378
leaq 0x12266a(%rip), %rsi    # 0x141760
callq 0x319f0
movq 0x220(%rsp), %rax
movb $0x0, 0x248(%rax)
movq $0xa, 0x398(%rsp)
testb $0x1, 0x8(%rax)
jne 0x1f1d9
movq 0x220(%rsp), %rcx
movq 0x58(%rcx), %rax
subq 0x50(%rcx), %rax
cmpq $0x1e, %rax
jb 0x1f1d9
movq 0x220(%rsp), %rax
cmpq $0x0, 0xb8(%rax)
jbe 0x1f187
movq 0x220(%rsp), %rdi
movl $0x1, %esi
callq 0x5b8a0
movq %rax, 0xc0(%rsp)
jmp 0x1f168
movq 0xc0(%rsp), %rax
cmpq $0xa, %rax
ja 0x1f187
movq 0x220(%rsp), %rax
movb $0x1, 0x248(%rax)
jmp 0x1f1d7
movq 0x220(%rsp), %rcx
movq 0xc0(%rcx), %rax
cmpq 0xc8(%rcx), %rax
jae 0x1f1d5
movq 0x220(%rsp), %rdi
xorl %esi, %esi
callq 0x5b8a0
movq %rax, 0xb8(%rsp)
jmp 0x1f1b8
movq 0xb8(%rsp), %rax
cmpq $0xa, %rax
ja 0x1f1d5
movq 0x220(%rsp), %rax
movb $0x1, 0x248(%rax)
jmp 0x1f1d7
jmp 0x1f1d9
movq 0x220(%rsp), %rdi
callq 0x29210
jmp 0x1f1e8
movq 0x220(%rsp), %rax
addq $0x30, %rax
movq %rax, 0xa8(%rsp)
leaq 0x377(%rsp), %rdi
movq %rdi, 0xb0(%rsp)
callq 0xcca0
movq 0xb0(%rsp), %rdx
leaq 0xe0bec(%rip), %rsi     # 0xffe0c
leaq 0x378(%rsp), %rdi
callq 0x50b50
jmp 0x1f22f
movq 0xa8(%rsp), %rdi
leaq 0x378(%rsp), %rsi
callq 0x58f40
movb %al, 0xa7(%rsp)
leaq 0x378(%rsp), %rdi
callq 0xce58
leaq 0x377(%rsp), %rdi
callq 0xc750
movb 0xa7(%rsp), %al
testb $0x1, %al
jne 0x1f272
jmp 0x1f2a9
movq 0x220(%rsp), %rax
movb $0x1, 0x249(%rax)
jmp 0x1f2a9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
leaq 0x377(%rsp), %rdi
callq 0xc750
jmp 0x1f75a
movq 0x220(%rsp), %rax
testb $0x1, 0x8(%rax)
jne 0x1f57f
callq 0xc090
movq 0x220(%rsp), %rcx
movl $0x0, (%rax)
movq 0x58(%rcx), %rax
subq 0x50(%rcx), %rax
movl $0x3, %ecx
xorl %edx, %edx
divq %rcx
cmpq $0x0, %rdx
je 0x1f57d
callq 0xc870
cmpl $0x0, %eax
jne 0x1f573
leaq 0x2cf(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0xcca0
movq 0x98(%rsp), %rdx
leaq 0xde5eb(%rip), %rsi     # 0xfd907
leaq 0x2d0(%rsp), %rdi
callq 0x50b50
jmp 0x1f32b
leaq 0x2a8(%rsp), %rdi
movl $0x1ec, %esi            # imm = 0x1EC
callq 0x52760
jmp 0x1f33f
leaq 0x2f0(%rsp), %rdi
leaq 0x2d0(%rsp), %rsi
leaq 0x2a8(%rsp), %rdx
callq 0x52670
jmp 0x1f35e
leaq 0xde5ba(%rip), %rdx     # 0xfd91f
leaq 0x310(%rsp), %rdi
leaq 0x2f0(%rsp), %rsi
callq 0x50db0
jmp 0x1f37c
leaq 0x267(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0xcca0
movq 0x90(%rsp), %rdx
leaq 0xdedc7(%rip), %rsi     # 0xfe167
leaq 0x268(%rsp), %rdi
callq 0x50b50
jmp 0x1f3af
leaq 0xdea68(%rip), %rdx     # 0xfde1e
leaq 0x288(%rsp), %rdi
leaq 0x268(%rsp), %rsi
callq 0x50db0
jmp 0x1f3cd
leaq 0x330(%rsp), %rdi
leaq 0x310(%rsp), %rsi
leaq 0x288(%rsp), %rdx
callq 0x52670
jmp 0x1f3ec
leaq 0xdee23(%rip), %rdx     # 0xfe216
leaq 0x350(%rsp), %rdi
leaq 0x330(%rsp), %rsi
callq 0x50db0
jmp 0x1f40a
leaq 0x350(%rsp), %rdi
callq 0x69f20
jmp 0x1f419
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1f561
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1f554
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1f547
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1f53a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1f520
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1f513
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1f506
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1f4f9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
leaq 0x350(%rsp), %rdi
callq 0xce58
leaq 0x330(%rsp), %rdi
callq 0xce58
leaq 0x288(%rsp), %rdi
callq 0xce58
leaq 0x268(%rsp), %rdi
callq 0xce58
leaq 0x267(%rsp), %rdi
callq 0xc750
leaq 0x310(%rsp), %rdi
callq 0xce58
leaq 0x2f0(%rsp), %rdi
callq 0xce58
leaq 0x2a8(%rsp), %rdi
callq 0xce58
leaq 0x2d0(%rsp), %rdi
callq 0xce58
leaq 0x2cf(%rsp), %rdi
callq 0xc750
jmp 0x1f75a
movl $0x1, %edi
callq 0xc880
jmp 0x1f57f
movq 0x220(%rsp), %rax
movb 0x8(%rax), %al
movb $0x0, 0x23e(%rsp)
movb $0x0, 0x23d(%rsp)
testb $0x1, %al
je 0x1f5ba
movq 0x220(%rsp), %rcx
xorl %eax, %eax
cmpq $0x14, 0x50(%rcx)
movb %al, 0x8f(%rsp)
jae 0x1f691
movq 0x220(%rsp), %rcx
xorl %eax, %eax
cmpq $0x0, 0xb8(%rcx)
movb %al, 0x8f(%rsp)
jne 0x1f691
movq 0x220(%rsp), %rdi
addq $0x30, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xce10
movq %rax, 0x80(%rsp)
jmp 0x1f5f8
movq 0x80(%rsp), %rax
movb (%rax), %al
movb %al, 0x77(%rsp)
leaq 0x23f(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0xcca0
movq 0x78(%rsp), %rdx
movb $0x1, 0x23e(%rsp)
leaq 0xdec0d(%rip), %rsi     # 0xfe239
leaq 0x240(%rsp), %rdi
callq 0x50b50
jmp 0x1f63b
movb 0x77(%rsp), %al
movb $0x1, 0x23d(%rsp)
movsbl %al, %edi
leaq 0x240(%rsp), %rsi
callq 0x5b900
movb %al, 0x76(%rsp)
jmp 0x1f65d
movb 0x76(%rsp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x8f(%rsp)
jne 0x1f671
jmp 0x1f691
movq 0x220(%rsp), %rcx
movq 0x200(%rcx), %rax
cmpq 0x240(%rcx), %rax
setb %al
movb %al, 0x8f(%rsp)
movb 0x8f(%rsp), %al
movb %al, 0x75(%rsp)
testb $0x1, 0x23d(%rsp)
jne 0x1f6a8
jmp 0x1f6b5
leaq 0x240(%rsp), %rdi
callq 0xce58
testb $0x1, 0x23e(%rsp)
jne 0x1f6c1
jmp 0x1f6ce
leaq 0x23f(%rsp), %rdi
callq 0xc750
movb 0x75(%rsp), %al
testb $0x1, %al
jne 0x1f6db
jmp 0x1f79f
movq 0x220(%rsp), %rax
movq 0x200(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x200(%rax)
jmp 0x1f79f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
jmp 0x1f73f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
testb $0x1, 0x23d(%rsp)
jne 0x1f730
jmp 0x1f73d
leaq 0x240(%rsp), %rdi
callq 0xce58
jmp 0x1f73f
testb $0x1, 0x23e(%rsp)
jne 0x1f74b
jmp 0x1f758
leaq 0x23f(%rsp), %rdi
callq 0xc750
jmp 0x1f75a
movq 0xd28(%rsp), %rdi
callq 0xc2d0
movq 0xd58(%rsp), %rsi
movq 0x12181a(%rip), %rdi    # 0x140f90
callq 0xc630
movq %rax, 0x68(%rsp)
jmp 0x1f782
movq 0x68(%rsp), %rdi
movq 0x1217c2(%rip), %rsi    # 0x140f50
callq 0xc710
jmp 0x1f795
callq 0xca40
jmp 0x1fa80
movq 0x220(%rsp), %rax
testb $0x1, 0x8(%rax)
jne 0x1f82a
movq 0x220(%rsp), %rsi
movq %rsi, %rdi
addq $0x3b8, %rdi            # imm = 0x3B8
movl $0x0, 0x238(%rsp)
movq %rsi, %rdx
addq $0x10, %rdx
movq %rsi, %rcx
addq $0x50, %rcx
movq %rsi, %r8
addq $0x58, %r8
movq %rsi, %r9
addq $0x68, %r9
addq $0x248, %rsi            # imm = 0x248
movl $0x0, 0x234(%rsp)
leaq 0x122829(%rip), %r10    # 0x142028
movq %rsp, %rax
movq %r10, 0x18(%rax)
movq %r10, 0x10(%rax)
leaq 0x234(%rsp), %r10
movq %r10, 0x8(%rax)
movq %rsi, (%rax)
leaq 0x238(%rsp), %rsi
callq 0x5b940
jmp 0x1f828
jmp 0x1f82a
movq 0x220(%rsp), %rdi
callq 0x37da0
movb %al, 0x67(%rsp)
jmp 0x1f83d
movb 0x67(%rsp), %al
testb $0x1, %al
jne 0x1f84a
jmp 0x1f96f
movq 0x220(%rsp), %rsi
addq $0x250, %rsi            # imm = 0x250
leaq 0x1223b8(%rip), %rdi    # 0x141c18
callq 0x5ba90
movq %rax, 0x58(%rsp)
jmp 0x1f86c
movq 0x58(%rsp), %rax
movq %rax, 0x228(%rsp)
cmpq $0x0, 0x228(%rsp)
je 0x1f96d
xorl %edi, %edi
callq 0x75d70
movb %al, 0x57(%rsp)
jmp 0x1f895
movb 0x57(%rsp), %al
testb $0x1, %al
jne 0x1f8a2
jmp 0x1f922
movq 0x1216e7(%rip), %rdi    # 0x140f90
leaq 0xde98d(%rip), %rsi     # 0xfe23d
callq 0xc6a0
movq %rax, 0x48(%rsp)
jmp 0x1f8bc
movq 0x48(%rsp), %rdi
movq 0x220(%rsp), %rsi
addq $0x250, %rsi            # imm = 0x250
callq 0xc630
movq %rax, 0x40(%rsp)
jmp 0x1f8dc
movq 0x40(%rsp), %rdi
movq 0x121668(%rip), %rsi    # 0x140f50
callq 0xc710
movq %rax, 0x38(%rsp)
jmp 0x1f8f4
movq 0x38(%rsp), %rdi
movq 0xd58(%rsp), %rsi
callq 0xc630
movq %rax, 0x30(%rsp)
jmp 0x1f90d
movq 0x30(%rsp), %rdi
movq 0x121637(%rip), %rsi    # 0x140f50
callq 0xc710
jmp 0x1f920
jmp 0x1f922
movq 0x220(%rsp), %rdi
movq 0x228(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0xf26a0
jmp 0x1f93d
xorl %edi, %edi
callq 0x75d70
movb %al, 0x2f(%rsp)
jmp 0x1f94a
movb 0x2f(%rsp), %al
testb $0x1, %al
jne 0x1f954
jmp 0x1f96b
movq 0x121635(%rip), %rdi    # 0x140f90
movq 0x1215ee(%rip), %rsi    # 0x140f50
callq 0xc710
jmp 0x1f969
jmp 0x1f96b
jmp 0x1f96d
jmp 0x1f96f
movq 0x220(%rsp), %rsi
addq $0x250, %rsi            # imm = 0x250
leaq 0x1222f3(%rip), %rdi    # 0x141c78
callq 0x385b0
movq %rax, 0x20(%rsp)
jmp 0x1f991
movq 0x220(%rsp), %rax
movq 0x20(%rsp), %rcx
movq %rcx, 0x3d8(%rax)
jmp 0x1fa63
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd28(%rsp)
movl %eax, 0xd24(%rsp)
callq 0xcb80
jmp 0x1f9c5
movq 0x218(%rsp), %rdi
callq 0x5a810
movq 0x210(%rsp), %rdi
callq 0xce58
movq 0x208(%rsp), %rdi
callq 0xd8d0
movq 0x200(%rsp), %rdi
callq 0xd8d0
movq 0x1f8(%rsp), %rdi
callq 0xce58
movq 0x1f0(%rsp), %rdi
callq 0xce58
movq 0x1e8(%rsp), %rdi
callq 0xce58
movq 0x1e0(%rsp), %rdi
callq 0xce58
movq 0x1d8(%rsp), %rdi
callq 0xce58
movq 0x1d0(%rsp), %rdi
callq 0x37230
movq 0x1c8(%rsp), %rdi
callq 0xce58
movq 0x220(%rsp), %rdi
callq 0x5a820
jmp 0x1fa6b
addq $0xd68, %rsp            # imm = 0xD68
retq
movq 0xd28(%rsp), %rdi
callq 0xcc90
movq %rax, %rdi
callq 0x50530