// File: ncbi[P]amr/common.cpp
// Function: Common_sp::TokenInput::getXmlText()
Token TokenInput::getXmlText ()
{ 
  QC_ASSERT (last. empty ());


  Token t;
  try
  {
    t. tp = ci. tp;
    size_t htmlTags = 0;
    bool prevSlash = false;
  	for (;;)
  	{ 
      // break
  	  char c = ci. get (); 
  		if (ci. eof)
  	    ci. error ("XML text is not finished: end of file\n" + t. name, false);
  	  if (c == '<')
  	  {
  	    const char nextChar = getNextChar (true);
  	    if (nextChar == '/')
  	    {
  	      if (htmlTags)
  	        htmlTags--;
  	      else
  	        break;
  	    }
  	    else if (   nextChar != '?' 
  	             && nextChar != '!' 
  	            )
  	      htmlTags++;
  	  }
  	  else if (c == '>')
  	    if (prevSlash && htmlTags)
  	      htmlTags--;

      // Escaped character
      int n = c;
      if (n < 0)
        n += 256;
    	if (c == '&')
    	{
        if (ci. get () == '#')  // Number
        {
          if (ci. get () == 'x')
          {
            static const string err (" of an escaped hexadecimal of XML text"); 
            n = 0;
            size_t i = 0;
            for (;;)
            {
              c = ci. get ();
              i++;
              if (ci. eof)
                ci. error ("Digit #" + to_string (i) + err + ": end of file", false);
              if (c == ';')
              {
                ci. unget ();
                break;
              }
              if (! isHex (c))
                ci. error ("Digit" + err);
              if (i > 4)  // PAR
                ci. error ("Too long character" + err);  // Unicode ??!
              n = n * 16 + hex2uchar (c);
            }
          }
          else
          {
            ci. unget ();
            const Token ampToken (get ());
            if (ampToken. type != Token::eInteger)
              ci. error ("Number after XML &");
            if (ampToken. n < 0)
              ci. error ("Character number after XML &");
            n = (int) ampToken. n;
          }
        }
        else
        {
          ci. unget ();
          const Token ampToken (get ());
          if (ampToken. isName ("amp"))
            n = '&';
          else if (ampToken. isName ("lt"))
            n = '<';
          else if (ampToken. isName ("gt"))
            n = '>';
          else if (ampToken. isName ("apos"))
            n = '\''; 
          else if (ampToken. isName ("quot"))
            n = '\"'; 
          else
            ci. error ("Unknown XML &-symbol: " + strQuote (ampToken. name), false);
        }
        get (';');
    	}

      // t.name
      QC_ASSERT (n > 0);
  	  if (nonPrintable (n))
  			t. name += nonPrintable2str ((char) n);
      else
      {
        if (isChar (n))
  		    t. name += char (n);
        else
          t. name += "&#" + to_string (n) + ";";
      }

  		prevSlash = (c == '/');		  
  	}
  	

  	trim (t. name);
  	if (! t. name. empty ())
      t. type = Token::eText;  
    else
      { ASSERT (t. empty ()); }
  }
  catch (const exception &e)
  {
    throw runtime_error ("Previous text:\n" + t. name + "\n" + e. what ());
  }
	

  return t;
}

// Assembly:
subq $0x888, %rsp            # imm = 0x888
movq %rdi, 0x110(%rsp)
movq %rdi, %rax
movq %rax, 0x118(%rsp)
movq %rdi, 0x880(%rsp)
movq %rsi, 0x878(%rsp)
movq 0x878(%rsp), %rax
movq %rax, 0x120(%rsp)
callq 0xc090
movq 0x120(%rsp), %rdi
movl $0x0, (%rax)
addq $0x280, %rdi            # imm = 0x280
callq 0x752f0
testb $0x1, %al
jne 0x544e4
callq 0xc8c0
cmpl $0x0, %eax
jne 0x544da
leaq 0x7d7(%rsp), %rdi
movq %rdi, 0x108(%rsp)
callq 0xcd00
movq 0x108(%rsp), %rdx
leaq 0x79796(%rip), %rsi     # 0xcda19
leaq 0x7d8(%rsp), %rdi
callq 0x29fd0
jmp 0x54292
leaq 0x7a0(%rsp), %rdi
movl $0xa47, %esi            # imm = 0xA47
callq 0x2ded0
jmp 0x542a6
leaq 0x7f8(%rsp), %rdi
leaq 0x7d8(%rsp), %rsi
leaq 0x7a0(%rsp), %rdx
callq 0x2dde0
jmp 0x542c5
leaq 0x778d5(%rip), %rdx     # 0xcbba1
leaq 0x818(%rsp), %rdi
leaq 0x7f8(%rsp), %rsi
callq 0x2a2f0
jmp 0x542e3
leaq 0x75f(%rsp), %rdi
movq %rdi, 0x100(%rsp)
callq 0xcd00
movq 0x100(%rsp), %rdx
leaq 0x7a6e5(%rip), %rsi     # 0xce9ec
leaq 0x760(%rsp), %rdi
callq 0x29fd0
jmp 0x54316
leaq 0x796f9(%rip), %rdx     # 0xcda16
leaq 0x780(%rsp), %rdi
leaq 0x760(%rsp), %rsi
callq 0x2a2f0
jmp 0x54334
leaq 0x838(%rsp), %rdi
leaq 0x818(%rsp), %rsi
leaq 0x780(%rsp), %rdx
callq 0x2dde0
jmp 0x54353
leaq 0x7a6bc(%rip), %rdx     # 0xcea16
leaq 0x858(%rsp), %rdi
leaq 0x838(%rsp), %rsi
callq 0x2a2f0
jmp 0x54371
leaq 0x858(%rsp), %rdi
callq 0x3e9b0
jmp 0x54380
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x544c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x544bb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x544ae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x544a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x54487
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x5447a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x5446d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x54460
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x858(%rsp), %rdi
callq 0xce98
leaq 0x838(%rsp), %rdi
callq 0xce98
leaq 0x780(%rsp), %rdi
callq 0xce98
leaq 0x760(%rsp), %rdi
callq 0xce98
leaq 0x75f(%rsp), %rdi
callq 0xc7a0
leaq 0x818(%rsp), %rdi
callq 0xce98
leaq 0x7f8(%rsp), %rdi
callq 0xce98
leaq 0x7a0(%rsp), %rdi
callq 0xce98
leaq 0x7d8(%rsp), %rdi
callq 0xce98
leaq 0x7d7(%rsp), %rdi
callq 0xc7a0
jmp 0x55b3c
movl $0x1, %edi
callq 0xc8d0
movq 0x110(%rsp), %rdi
movb $0x0, 0x75e(%rsp)
callq 0x751c0
movq 0x120(%rsp), %rcx
movq 0x110(%rsp), %rax
movq 0x268(%rcx), %rcx
movq %rcx, 0x54(%rax)
movq $0x0, 0x750(%rsp)
movb $0x0, 0x74f(%rsp)
movq 0x120(%rsp), %rdi
addq $0x8, %rdi
callq 0x50020
movb %al, 0xff(%rsp)
jmp 0x54542
movq 0x120(%rsp), %rax
movb 0xff(%rsp), %cl
movb %cl, 0x74e(%rsp)
testb $0x1, 0x220(%rax)
je 0x545f3
movq 0x110(%rsp), %rdx
movq 0x120(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xf0(%rsp)
addq $0x10, %rdx
leaq 0x7a499(%rip), %rsi     # 0xcea25
leaq 0x728(%rsp), %rdi
callq 0x2a1c0
jmp 0x5459b
movq 0xf0(%rsp), %rdi
leaq 0x728(%rsp), %rsi
xorl %edx, %edx
callq 0x748c0
jmp 0x545b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x5596f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x728(%rsp), %rdi
callq 0xce98
jmp 0x5596f
movsbl 0x74e(%rsp), %eax
cmpl $0x3c, %eax
jne 0x54694
movq 0x120(%rsp), %rdi
movl $0x1, %esi
callq 0x55b60
movb %al, 0xef(%rsp)
jmp 0x5461f
movb 0xef(%rsp), %al
movb %al, 0x727(%rsp)
movsbl 0x727(%rsp), %eax
cmpl $0x2f, %eax
jne 0x54662
cmpq $0x0, 0x750(%rsp)
je 0x5465b
movq 0x750(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x750(%rsp)
jmp 0x54660
jmp 0x5568f
jmp 0x54692
movsbl 0x727(%rsp), %eax
cmpl $0x3f, %eax
je 0x54690
movsbl 0x727(%rsp), %eax
cmpl $0x21, %eax
je 0x54690
movq 0x750(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x750(%rsp)
jmp 0x54692
jmp 0x546ce
movsbl 0x74e(%rsp), %eax
cmpl $0x3e, %eax
jne 0x546cc
testb $0x1, 0x74f(%rsp)
je 0x546ca
cmpq $0x0, 0x750(%rsp)
je 0x546ca
movq 0x750(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x750(%rsp)
jmp 0x546cc
jmp 0x546ce
movsbl 0x74e(%rsp), %eax
movl %eax, 0x720(%rsp)
cmpl $0x0, 0x720(%rsp)
jge 0x546fa
movl 0x720(%rsp), %eax
addl $0x100, %eax            # imm = 0x100
movl %eax, 0x720(%rsp)
movsbl 0x74e(%rsp), %eax
cmpl $0x26, %eax
jne 0x5520b
movq 0x120(%rsp), %rdi
addq $0x8, %rdi
callq 0x50020
movb %al, 0xee(%rsp)
jmp 0x54725
movb 0xee(%rsp), %al
movsbl %al, %eax
cmpl $0x23, %eax
jne 0x54d00
movq 0x120(%rsp), %rdi
addq $0x8, %rdi
callq 0x50020
movb %al, 0xed(%rsp)
jmp 0x54752
movb 0xed(%rsp), %al
movsbl %al, %eax
cmpl $0x78, %eax
jne 0x54b2f
cmpb $0x0, 0xb25bc(%rip)     # 0x106d28
jne 0x547e4
leaq 0xb25b3(%rip), %rdi     # 0x106d28
callq 0xcd40
cmpl $0x0, %eax
je 0x547e4
leaq 0x71f(%rsp), %rdi
movq %rdi, 0xe0(%rsp)
callq 0xcd00
movq 0xe0(%rsp), %rdx
leaq 0xb2565(%rip), %rdi     # 0x106d08
leaq 0x7a2a2(%rip), %rsi     # 0xcea4c
callq 0x29fd0
jmp 0x547b1
leaq 0x71f(%rsp), %rdi
callq 0xc7a0
movq 0xb178b(%rip), %rdi     # 0x105f50
leaq 0xb253c(%rip), %rsi     # 0x106d08
leaq 0xb1f85(%rip), %rdx     # 0x106758
callq 0xc650
leaq 0xb2549(%rip), %rdi     # 0x106d28
callq 0xc4e0
movl $0x0, 0x720(%rsp)
movq $0x0, 0x710(%rsp)
movq 0x120(%rsp), %rdi
addq $0x8, %rdi
callq 0x50020
movb %al, 0xdf(%rsp)
jmp 0x54815
movq 0x120(%rsp), %rax
movb 0xdf(%rsp), %cl
movb %cl, 0x74e(%rsp)
movq 0x710(%rsp), %rcx
addq $0x1, %rcx
movq %rcx, 0x710(%rsp)
testb $0x1, 0x220(%rax)
je 0x549ab
movq 0x120(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xd0(%rsp)
movq 0x710(%rsp), %rsi
leaq 0x690(%rsp), %rdi
callq 0x2bf10
jmp 0x54877
leaq 0x7a1f5(%rip), %rsi     # 0xcea73
leaq 0x6b0(%rsp), %rdi
leaq 0x690(%rsp), %rdx
callq 0x2a340
jmp 0x54895
leaq 0xb246c(%rip), %rdx     # 0x106d08
leaq 0x6d0(%rsp), %rdi
leaq 0x6b0(%rsp), %rsi
callq 0x2e220
jmp 0x548b3
leaq 0x7a2a5(%rip), %rdx     # 0xceb5f
leaq 0x6f0(%rsp), %rdi
leaq 0x6d0(%rsp), %rsi
callq 0x2a2f0
jmp 0x548d1
movq 0xd0(%rsp), %rdi
leaq 0x6f0(%rsp), %rsi
xorl %edx, %edx
callq 0x748c0
jmp 0x548ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x71f(%rsp), %rdi
callq 0xc7a0
leaq 0xb2416(%rip), %rdi     # 0x106d28
callq 0xc4d0
jmp 0x5596f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x54999
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x5498c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x5497f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x6f0(%rsp), %rdi
callq 0xce98
leaq 0x6d0(%rsp), %rdi
callq 0xce98
leaq 0x6b0(%rsp), %rdi
callq 0xce98
leaq 0x690(%rsp), %rdi
callq 0xce98
jmp 0x5596f
movsbl 0x74e(%rsp), %eax
cmpl $0x3b, %eax
jne 0x549d0
movq 0x120(%rsp), %rdi
addq $0x8, %rdi
callq 0x50650
jmp 0x549cb
jmp 0x54b2a
movsbl 0x74e(%rsp), %edi
callq 0x73bd0
movb %al, 0xcf(%rsp)
jmp 0x549e6
movb 0xcf(%rsp), %al
testb $0x1, %al
jne 0x54a66
jmp 0x549f3
movq 0x120(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xc0(%rsp)
leaq 0x7a06d(%rip), %rsi     # 0xcea7b
leaq 0xb22f3(%rip), %rdx     # 0x106d08
leaq 0x670(%rsp), %rdi
callq 0x2a1c0
jmp 0x54a24
movq 0xc0(%rsp), %rdi
leaq 0x670(%rsp), %rsi
movl $0x1, %edx
callq 0x748c0
jmp 0x54a40
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x670(%rsp), %rdi
callq 0xce98
jmp 0x5596f
cmpq $0x4, 0x710(%rsp)
jbe 0x54ae4
movq 0x120(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xb8(%rsp)
leaq 0x79ff5(%rip), %rsi     # 0xcea81
leaq 0xb2275(%rip), %rdx     # 0x106d08
leaq 0x650(%rsp), %rdi
callq 0x2a1c0
jmp 0x54aa2
movq 0xb8(%rsp), %rdi
leaq 0x650(%rsp), %rsi
movl $0x1, %edx
callq 0x748c0
jmp 0x54abe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x650(%rsp), %rdi
callq 0xce98
jmp 0x5596f
movl 0x720(%rsp), %eax
shll $0x4, %eax
movl %eax, 0xb0(%rsp)
movsbl 0x74e(%rsp), %edi
callq 0x73c20
movb %al, 0xb7(%rsp)
jmp 0x54b0b
movl 0xb0(%rsp), %eax
movb 0xb7(%rsp), %cl
movzbl %cl, %ecx
addl %ecx, %eax
movl %eax, 0x720(%rsp)
jmp 0x547fb
jmp 0x54cfb
movq 0x120(%rsp), %rdi
addq $0x8, %rdi
callq 0x50650
jmp 0x54b42
movq 0x120(%rsp), %rsi
leaq 0x5f0(%rsp), %rdi
callq 0x53f80
jmp 0x54b59
cmpl $0x3, 0x5f8(%rsp)
je 0x54c13
movq 0x120(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xa0(%rsp)
leaq 0x5cf(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0xcd00
movq 0xa8(%rsp), %rdx
leaq 0x79ef5(%rip), %rsi     # 0xcea94
leaq 0x5d0(%rsp), %rdi
callq 0x29fd0
jmp 0x54bae
movq 0xa0(%rsp), %rdi
leaq 0x5d0(%rsp), %rsi
movl $0x1, %edx
callq 0x748c0
jmp 0x54bca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x54c01
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x5d0(%rsp), %rdi
callq 0xce98
leaq 0x5cf(%rsp), %rdi
callq 0xc7a0
jmp 0x54ce9
cmpq $0x0, 0x628(%rsp)
jge 0x54ccb
movq 0x120(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x90(%rsp)
leaq 0x5a7(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0xcd00
movq 0x98(%rsp), %rdx
leaq 0x79e4d(%rip), %rsi     # 0xceaa7
leaq 0x5a8(%rsp), %rdi
callq 0x29fd0
jmp 0x54c69
movq 0x90(%rsp), %rdi
leaq 0x5a8(%rsp), %rsi
movl $0x1, %edx
callq 0x748c0
jmp 0x54c85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x54cbc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x5a8(%rsp), %rdi
callq 0xce98
leaq 0x5a7(%rsp), %rdi
callq 0xc7a0
jmp 0x54ce9
movq 0x628(%rsp), %rax
movl %eax, 0x720(%rsp)
leaq 0x5f0(%rsp), %rdi
callq 0x752b0
jmp 0x54cfb
leaq 0x5f0(%rsp), %rdi
callq 0x752b0
jmp 0x5596f
jmp 0x551f5
movq 0x120(%rsp), %rdi
addq $0x8, %rdi
callq 0x50650
jmp 0x54d13
movq 0x120(%rsp), %rsi
leaq 0x540(%rsp), %rdi
callq 0x53f80
jmp 0x54d2a
leaq 0x51f(%rsp), %rdi
movq %rdi, 0x88(%rsp)
callq 0xcd00
movq 0x88(%rsp), %rdx
leaq 0x79d76(%rip), %rsi     # 0xceac4
leaq 0x520(%rsp), %rdi
callq 0x29fd0
jmp 0x54d5d
leaq 0x540(%rsp), %rdi
leaq 0x520(%rsp), %rsi
callq 0x75480
movb %al, 0x87(%rsp)
jmp 0x54d7b
leaq 0x520(%rsp), %rdi
callq 0xce98
leaq 0x51f(%rsp), %rdi
callq 0xc7a0
movb 0x87(%rsp), %al
testb $0x1, %al
jne 0x54da2
jmp 0x54dfb
movl $0x26, 0x720(%rsp)
jmp 0x551d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x54de9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x520(%rsp), %rdi
callq 0xce98
leaq 0x51f(%rsp), %rdi
callq 0xc7a0
jmp 0x551e3
leaq 0x4f7(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0xcd00
movq 0x78(%rsp), %rdx
leaq 0x7b15c(%rip), %rsi     # 0xcff75
leaq 0x4f8(%rsp), %rdi
callq 0x29fd0
jmp 0x54e28
leaq 0x540(%rsp), %rdi
leaq 0x4f8(%rsp), %rsi
callq 0x75480
movb %al, 0x77(%rsp)
jmp 0x54e43
leaq 0x4f8(%rsp), %rdi
callq 0xce98
leaq 0x4f7(%rsp), %rdi
callq 0xc7a0
movb 0x77(%rsp), %al
testb $0x1, %al
jne 0x54e67
jmp 0x54ec0
movl $0x3c, 0x720(%rsp)
jmp 0x551d2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x54eae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x4f8(%rsp), %rdi
callq 0xce98
leaq 0x4f7(%rsp), %rdi
callq 0xc7a0
jmp 0x551e3
leaq 0x4cf(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0xcd00
movq 0x68(%rsp), %rdx
leaq 0x79bea(%rip), %rsi     # 0xceac8
leaq 0x4d0(%rsp), %rdi
callq 0x29fd0
jmp 0x54eed
leaq 0x540(%rsp), %rdi
leaq 0x4d0(%rsp), %rsi
callq 0x75480
movb %al, 0x67(%rsp)
jmp 0x54f08
leaq 0x4d0(%rsp), %rdi
callq 0xce98
leaq 0x4cf(%rsp), %rdi
callq 0xc7a0
movb 0x67(%rsp), %al
testb $0x1, %al
jne 0x54f2c
jmp 0x54f85
movl $0x3e, 0x720(%rsp)
jmp 0x551d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x54f73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x4d0(%rsp), %rdi
callq 0xce98
leaq 0x4cf(%rsp), %rdi
callq 0xc7a0
jmp 0x551e3
leaq 0x4a7(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0xcd00
movq 0x58(%rsp), %rdx
leaq 0x79b28(%rip), %rsi     # 0xceacb
leaq 0x4a8(%rsp), %rdi
callq 0x29fd0
jmp 0x54fb2
leaq 0x540(%rsp), %rdi
leaq 0x4a8(%rsp), %rsi
callq 0x75480
movb %al, 0x57(%rsp)
jmp 0x54fcd
leaq 0x4a8(%rsp), %rdi
callq 0xce98
leaq 0x4a7(%rsp), %rdi
callq 0xc7a0
movb 0x57(%rsp), %al
testb $0x1, %al
jne 0x54ff1
jmp 0x5504a
movl $0x27, 0x720(%rsp)
jmp 0x551ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x55038
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x4a8(%rsp), %rdi
callq 0xce98
leaq 0x4a7(%rsp), %rdi
callq 0xc7a0
jmp 0x551e3
leaq 0x47f(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0xcd00
movq 0x48(%rsp), %rdx
leaq 0x79a68(%rip), %rsi     # 0xcead0
leaq 0x480(%rsp), %rdi
callq 0x29fd0
jmp 0x55077
leaq 0x540(%rsp), %rdi
leaq 0x480(%rsp), %rsi
callq 0x75480
movb %al, 0x47(%rsp)
jmp 0x55092
leaq 0x480(%rsp), %rdi
callq 0xce98
leaq 0x47f(%rsp), %rdi
callq 0xc7a0
movb 0x47(%rsp), %al
testb $0x1, %al
jne 0x550b6
jmp 0x5510f
movl $0x22, 0x720(%rsp)
jmp 0x551cc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x550fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x480(%rsp), %rdi
callq 0xce98
leaq 0x47f(%rsp), %rdi
callq 0xc7a0
jmp 0x551e3
movq 0x120(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x38(%rsp)
leaq 0x550(%rsp), %rsi
leaq 0x438(%rsp), %rdi
movl $0x22, %edx
callq 0x424f0
jmp 0x5513c
leaq 0x79992(%rip), %rsi     # 0xcead5
leaq 0x458(%rsp), %rdi
leaq 0x438(%rsp), %rdx
callq 0x2a340
jmp 0x5515a
movq 0x38(%rsp), %rdi
leaq 0x458(%rsp), %rsi
xorl %edx, %edx
callq 0x748c0
jmp 0x55170
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x551e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x551bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x458(%rsp), %rdi
callq 0xce98
leaq 0x438(%rsp), %rdi
callq 0xce98
jmp 0x551e3
jmp 0x551ce
jmp 0x551d0
jmp 0x551d2
jmp 0x551d4
leaq 0x540(%rsp), %rdi
callq 0x752b0
jmp 0x551f5
leaq 0x540(%rsp), %rdi
callq 0x752b0
jmp 0x5596f
movq 0x120(%rsp), %rdi
movl $0x3b, %esi
callq 0x754e0
jmp 0x55209
jmp 0x5520b
callq 0xc090
movl $0x0, (%rax)
cmpl $0x0, 0x720(%rsp)
jg 0x554ab
callq 0xc8c0
cmpl $0x0, %eax
jne 0x554a1
leaq 0x397(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xcd00
movq 0x30(%rsp), %rdx
leaq 0x787c9(%rip), %rsi     # 0xcda19
leaq 0x398(%rsp), %rdi
callq 0x29fd0
jmp 0x5525f
leaq 0x370(%rsp), %rdi
movl $0xaa8, %esi            # imm = 0xAA8
callq 0x2ded0
jmp 0x55273
leaq 0x3b8(%rsp), %rdi
leaq 0x398(%rsp), %rsi
leaq 0x370(%rsp), %rdx
callq 0x2dde0
jmp 0x55292
leaq 0x76908(%rip), %rdx     # 0xcbba1
leaq 0x3d8(%rsp), %rdi
leaq 0x3b8(%rsp), %rsi
callq 0x2a2f0
jmp 0x552b0
leaq 0x32f(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xcd00
movq 0x28(%rsp), %rdx
leaq 0x7971e(%rip), %rsi     # 0xce9ec
leaq 0x330(%rsp), %rdi
callq 0x29fd0
jmp 0x552dd
leaq 0x78732(%rip), %rdx     # 0xcda16
leaq 0x350(%rsp), %rdi
leaq 0x330(%rsp), %rsi
callq 0x2a2f0
jmp 0x552fb
leaq 0x3f8(%rsp), %rdi
leaq 0x3d8(%rsp), %rsi
leaq 0x350(%rsp), %rdx
callq 0x2dde0
jmp 0x5531a
leaq 0x797cb(%rip), %rdx     # 0xceaec
leaq 0x418(%rsp), %rdi
leaq 0x3f8(%rsp), %rsi
callq 0x2a2f0
jmp 0x55338
leaq 0x418(%rsp), %rdi
callq 0x3e9b0
jmp 0x55347
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x5548f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x55482
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x55475
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x55468
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x5544e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x55441
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x55434
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x55427
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x418(%rsp), %rdi
callq 0xce98
leaq 0x3f8(%rsp), %rdi
callq 0xce98
leaq 0x350(%rsp), %rdi
callq 0xce98
leaq 0x330(%rsp), %rdi
callq 0xce98
leaq 0x32f(%rsp), %rdi
callq 0xc7a0
leaq 0x3d8(%rsp), %rdi
callq 0xce98
leaq 0x3b8(%rsp), %rdi
callq 0xce98
leaq 0x370(%rsp), %rdi
callq 0xce98
leaq 0x398(%rsp), %rdi
callq 0xce98
leaq 0x397(%rsp), %rdi
callq 0xc7a0
jmp 0x5596f
movl $0x1, %edi
callq 0xc8d0
movslq 0x720(%rsp), %rdi
callq 0x756b0
movb %al, 0x27(%rsp)
jmp 0x554be
movb 0x27(%rsp), %al
testb $0x1, %al
jne 0x554c8
jmp 0x55532
movsbl 0x720(%rsp), %esi
leaq 0x308(%rsp), %rdi
callq 0x40090
jmp 0x554df
movq 0x110(%rsp), %rdi
addq $0x10, %rdi
leaq 0x308(%rsp), %rsi
callq 0xc960
jmp 0x554fa
leaq 0x308(%rsp), %rdi
callq 0xce98
jmp 0x55673
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x308(%rsp), %rdi
callq 0xce98
jmp 0x5596f
movslq 0x720(%rsp), %rdi
callq 0x756d0
movb %al, 0x26(%rsp)
jmp 0x55545
movb 0x26(%rsp), %al
testb $0x1, %al
jne 0x5554f
jmp 0x5556f
movq 0x110(%rsp), %rdi
movsbl 0x720(%rsp), %esi
addq $0x10, %rdi
callq 0xc4c0
jmp 0x5556a
jmp 0x55671
movl 0x720(%rsp), %esi
leaq 0x2a8(%rsp), %rdi
callq 0x2ded0
jmp 0x55585
leaq 0x79566(%rip), %rsi     # 0xceaf2
leaq 0x2c8(%rsp), %rdi
leaq 0x2a8(%rsp), %rdx
callq 0x2a340
jmp 0x555a3
leaq 0x77915(%rip), %rdx     # 0xccebf
leaq 0x2e8(%rsp), %rdi
leaq 0x2c8(%rsp), %rsi
callq 0x2a2f0
jmp 0x555c1
movq 0x110(%rsp), %rdi
addq $0x10, %rdi
leaq 0x2e8(%rsp), %rsi
callq 0xc960
jmp 0x555dc
leaq 0x2e8(%rsp), %rdi
callq 0xce98
leaq 0x2c8(%rsp), %rdi
callq 0xce98
leaq 0x2a8(%rsp), %rdi
callq 0xce98
jmp 0x55671
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x5565f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x55652
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x2e8(%rsp), %rdi
callq 0xce98
leaq 0x2c8(%rsp), %rdi
callq 0xce98
leaq 0x2a8(%rsp), %rdi
callq 0xce98
jmp 0x5596f
jmp 0x55673
movsbl 0x74e(%rsp), %eax
cmpl $0x2f, %eax
sete %al
andb $0x1, %al
movb %al, 0x74f(%rsp)
jmp 0x54528
movq 0x110(%rsp), %rdi
addq $0x10, %rdi
callq 0x73800
jmp 0x556a2
movq 0x110(%rsp), %rdi
addq $0x10, %rdi
callq 0xcc10
testb $0x1, %al
jne 0x556cb
movq 0x110(%rsp), %rax
movl $0x2, 0x8(%rax)
jmp 0x55a5f
callq 0xc090
movq 0x110(%rsp), %rdi
movl $0x0, (%rax)
callq 0x752f0
movb %al, 0x25(%rsp)
jmp 0x556e9
movb 0x25(%rsp), %al
testb $0x1, %al
jne 0x55a5d
jmp 0x556f7
callq 0xc8c0
cmpl $0x0, %eax
jne 0x55a53
leaq 0x207(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xcd00
movq 0x18(%rsp), %rdx
leaq 0x782f6(%rip), %rsi     # 0xcda19
leaq 0x208(%rsp), %rdi
callq 0x29fd0
jmp 0x55732
leaq 0x1e0(%rsp), %rdi
movl $0xabb, %esi            # imm = 0xABB
callq 0x2ded0
jmp 0x55746
leaq 0x228(%rsp), %rdi
leaq 0x208(%rsp), %rsi
leaq 0x1e0(%rsp), %rdx
callq 0x2dde0
jmp 0x55765
leaq 0x76435(%rip), %rdx     # 0xcbba1
leaq 0x248(%rsp), %rdi
leaq 0x228(%rsp), %rsi
callq 0x2a2f0
jmp 0x55783
leaq 0x19f(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xcd00
movq 0x10(%rsp), %rdx
leaq 0x7924b(%rip), %rsi     # 0xce9ec
leaq 0x1a0(%rsp), %rdi
callq 0x29fd0
jmp 0x557b0
leaq 0x7825f(%rip), %rdx     # 0xcda16
leaq 0x1c0(%rsp), %rdi
leaq 0x1a0(%rsp), %rsi
callq 0x2a2f0
jmp 0x557ce
leaq 0x268(%rsp), %rdi
leaq 0x248(%rsp), %rsi
leaq 0x1c0(%rsp), %rdx
callq 0x2dde0
jmp 0x557ed
leaq 0x7bb59(%rip), %rdx     # 0xd134d
leaq 0x288(%rsp), %rdi
leaq 0x268(%rsp), %rsi
callq 0x2a2f0
jmp 0x5580b
leaq 0x288(%rsp), %rdi
callq 0x3e9b0
jmp 0x5581a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x55962
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x55955
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x55948
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x5593b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x55921
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x55914
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x55907
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x558fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x288(%rsp), %rdi
callq 0xce98
leaq 0x268(%rsp), %rdi
callq 0xce98
leaq 0x1c0(%rsp), %rdi
callq 0xce98
leaq 0x1a0(%rsp), %rdi
callq 0xce98
leaq 0x19f(%rsp), %rdi
callq 0xc7a0
leaq 0x248(%rsp), %rdi
callq 0xce98
leaq 0x228(%rsp), %rdi
callq 0xce98
leaq 0x1e0(%rsp), %rdi
callq 0xce98
leaq 0x208(%rsp), %rdi
callq 0xce98
leaq 0x207(%rsp), %rdi
callq 0xc7a0
movl 0x7c4(%rsp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x55b2f
movq 0x7c8(%rsp), %rdi
callq 0xc2f0
movq %rax, 0x190(%rsp)
movb $0x1, 0x12f(%rsp)
movl $0x10, %edi
callq 0xc3b0
movq 0x110(%rsp), %rdx
movq %rax, 0x8(%rsp)
addq $0x10, %rdx
leaq 0x79133(%rip), %rsi     # 0xceaf5
leaq 0x130(%rsp), %rdi
callq 0x2a1c0
jmp 0x559d1
leaq 0x7a045(%rip), %rdx     # 0xcfa1d
leaq 0x150(%rsp), %rdi
leaq 0x130(%rsp), %rsi
callq 0x2a2f0
jmp 0x559ef
movq 0x190(%rsp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, %rdx
leaq 0x170(%rsp), %rdi
leaq 0x150(%rsp), %rsi
callq 0x2a2f0
jmp 0x55a1a
movq 0x8(%rsp), %rdi
leaq 0x170(%rsp), %rsi
callq 0xcbb0
jmp 0x55a2e
movq 0x8(%rsp), %rdi
movb $0x0, 0x12f(%rsp)
movq 0xb05ae(%rip), %rsi     # 0x105ff0
movq 0xb0527(%rip), %rdx     # 0x105f70
callq 0xcc80
jmp 0x55b51
movl $0x1, %edi
callq 0xc8d0
jmp 0x55a5f
jmp 0x55b00
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x55ae1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x55ad4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
jmp 0x55ac7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x7c8(%rsp)
movl %eax, 0x7c4(%rsp)
leaq 0x170(%rsp), %rdi
callq 0xce98
leaq 0x150(%rsp), %rdi
callq 0xce98
leaq 0x130(%rsp), %rdi
callq 0xce98
testb $0x1, 0x12f(%rsp)
jne 0x55aed
jmp 0x55af7
movq 0x8(%rsp), %rdi
callq 0xc580
callq 0xcbe0
jmp 0x55afe
jmp 0x55b2f
movb $0x1, 0x75e(%rsp)
testb $0x1, 0x75e(%rsp)
jne 0x55b1f
movq 0x110(%rsp), %rdi
callq 0x752b0
movq 0x118(%rsp), %rax
addq $0x888, %rsp            # imm = 0x888
retq
movq 0x110(%rsp), %rdi
callq 0x752b0
movq 0x7c8(%rsp), %rdi
callq 0xccf0
movq %rax, %rdi
callq 0x2ad70
nopw %cs:(%rax,%rax)