// File: jstaursky[P]hutch/src/Sleigh/slghsymbol.cc
// Function: Constructor::restoreXml(Element const*, SleighBase*)
void Constructor::restoreXml(const Element *el,SleighBase *trans)

{
  uintm id;
  {
    istringstream s(el->getAttributeValue("parent"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> id;
    parent = (SubtableSymbol *)trans->findSymbol(id);
  }
  {
    istringstream s(el->getAttributeValue("first"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> firstwhitespace;
  }
  {
    istringstream s(el->getAttributeValue("length"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> minimumlength;
  }
  {
    istringstream s(el->getAttributeValue("line"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> lineno;
  }
  const List &list(el->getChildren());
  List::const_iterator iter;
  iter = list.begin();
  while(iter != list.end()) {
    if ((*iter)->getName() == "oper") {
      uintm id;
      {
	istringstream s((*iter)->getAttributeValue("id"));
	s.unsetf(ios::dec | ios::hex | ios::oct);
	s >> id;
      }
      OperandSymbol *sym = (OperandSymbol *)trans->findSymbol(id);
      operands.push_back(sym);
    }
    else if ((*iter)->getName() == "print")
      printpiece.push_back( (*iter)->getAttributeValue("piece"));
    else if ((*iter)->getName() == "opprint") {
      int4 index;
      istringstream s((*iter)->getAttributeValue("id"));
      s.unsetf(ios::dec | ios::hex | ios::oct);
      s >> index;
      string operstring = "\n ";
      operstring[1] = ('A' + index);
      printpiece.push_back(operstring);
    }
    else if ((*iter)->getName() == "context_op") {
      ContextOp *c_op = new ContextOp();
      c_op->restoreXml(*iter,trans);
      context.push_back(c_op);
    }
    else if ((*iter)->getName() == "commit") {
      ContextCommit *c_op = new ContextCommit();
      c_op->restoreXml(*iter,trans);
      context.push_back(c_op);
    }
    else {
      ConstructTpl *cur = new ConstructTpl();
      int4 sectionid = cur->restoreXml(*iter,trans);
      if (sectionid < 0) {
	if (templ != (ConstructTpl *)0)
	  throw LowlevelError("Duplicate main section");
	templ = cur;
      }
      else {
	while(namedtempl.size() <= sectionid)
	  namedtempl.push_back((ConstructTpl *)0);
	if (namedtempl[sectionid] != (ConstructTpl *)0)
	  throw LowlevelError("Duplicate named section");
	namedtempl[sectionid] = cur;
      }
    }
    ++iter;
  }
  pattern = (TokenPattern *)0;
  if ((printpiece.size()==1)&&(printpiece[0][0]=='\n'))
    flowthruindex = printpiece[0][1] - 'A';
  else
    flowthruindex = -1;
}

// Assembly:
subq $0xce8, %rsp            # imm = 0xCE8
movq %rdi, 0xce0(%rsp)
movq %rsi, 0xcd8(%rsp)
movq %rdx, 0xcd0(%rsp)
movq 0xce0(%rsp), %rax
movq %rax, 0x1a8(%rsp)
movq 0xcd8(%rsp), %rax
movq %rax, 0x1b0(%rsp)
leaq 0xb27(%rsp), %rdi
movq %rdi, 0x1b8(%rsp)
callq 0xe0c80
movq 0x1b8(%rsp), %rdx
leaq 0x43023(%rip), %rsi     # 0x1895a6
leaq 0xb28(%rsp), %rdi
callq 0xe00a0
jmp 0x146592
movq 0x1b0(%rsp), %rdi
leaq 0xb28(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0x1a0(%rsp)
jmp 0x1465b1
movq 0x1a0(%rsp), %rsi
leaq 0xb48(%rsp), %rdi
movl $0x8, %edx
callq 0xdfcc0
jmp 0x1465cd
leaq 0xb28(%rsp), %rdi
callq 0xd4550
leaq 0xb27(%rsp), %rdi
callq 0xd8ec0
movq 0xb48(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0xb48(%rsp,%rax), %rax
movq %rax, 0x190(%rsp)
movl $0x2, %edi
movl $0x8, %esi
callq 0xe0e70
movl %eax, 0x19c(%rsp)
jmp 0x14661b
movl 0x19c(%rsp), %edi
movl $0x40, %esi
callq 0xe0e70
movl %eax, 0x18c(%rsp)
jmp 0x146635
movl 0x18c(%rsp), %esi
movq 0x190(%rsp), %rdi
callq 0xda6e0
jmp 0x14664b
leaq 0xb48(%rsp), %rdi
leaq 0xccc(%rsp), %rsi
callq 0xceae0
jmp 0x146662
movq 0xcd0(%rsp), %rdi
movl 0xccc(%rsp), %esi
callq 0xd45f0
movq %rax, 0x180(%rsp)
jmp 0x146680
movq 0x1a8(%rsp), %rax
movq 0x180(%rsp), %rcx
movq %rcx, 0x8(%rax)
leaq 0xb48(%rsp), %rdi
callq 0xd25a0
movq 0xcd8(%rsp), %rax
movq %rax, 0x170(%rsp)
leaq 0x96f(%rsp), %rdi
movq %rdi, 0x178(%rsp)
callq 0xe0c80
movq 0x178(%rsp), %rdx
leaq 0x4093f(%rip), %rsi     # 0x187014
leaq 0x970(%rsp), %rdi
callq 0xe00a0
jmp 0x1466e4
movq 0x170(%rsp), %rdi
leaq 0x970(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0x168(%rsp)
jmp 0x146703
movq 0x168(%rsp), %rsi
leaq 0x990(%rsp), %rdi
movl $0x8, %edx
callq 0xdfcc0
jmp 0x14671f
leaq 0x970(%rsp), %rdi
callq 0xd4550
leaq 0x96f(%rsp), %rdi
callq 0xd8ec0
movq 0x990(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0x990(%rsp,%rax), %rax
movq %rax, 0x158(%rsp)
movl $0x2, %edi
movl $0x8, %esi
callq 0xe0e70
movl %eax, 0x164(%rsp)
jmp 0x14676d
movl 0x164(%rsp), %edi
movl $0x40, %esi
callq 0xe0e70
movl %eax, 0x154(%rsp)
jmp 0x146787
movl 0x154(%rsp), %esi
movq 0x158(%rsp), %rdi
callq 0xda6e0
jmp 0x14679d
movq 0x1a8(%rsp), %rsi
addq $0x88, %rsi
leaq 0x990(%rsp), %rdi
callq 0xd4480
jmp 0x1467bb
leaq 0x990(%rsp), %rdi
callq 0xd25a0
movq 0xcd8(%rsp), %rax
movq %rax, 0x140(%rsp)
leaq 0x7c7(%rsp), %rdi
movq %rdi, 0x148(%rsp)
callq 0xe0c80
movq 0x148(%rsp), %rdx
leaq 0x42ba7(%rip), %rsi     # 0x1893a3
leaq 0x7c8(%rsp), %rdi
callq 0xe00a0
jmp 0x14680b
movq 0x140(%rsp), %rdi
leaq 0x7c8(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0x138(%rsp)
jmp 0x14682a
movq 0x138(%rsp), %rsi
leaq 0x7e8(%rsp), %rdi
movl $0x8, %edx
callq 0xdfcc0
jmp 0x146846
leaq 0x7c8(%rsp), %rdi
callq 0xd4550
leaq 0x7c7(%rsp), %rdi
callq 0xd8ec0
movq 0x7e8(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0x7e8(%rsp,%rax), %rax
movq %rax, 0x128(%rsp)
movl $0x2, %edi
movl $0x8, %esi
callq 0xe0e70
movl %eax, 0x134(%rsp)
jmp 0x146894
movl 0x134(%rsp), %edi
movl $0x40, %esi
callq 0xe0e70
movl %eax, 0x124(%rsp)
jmp 0x1468ae
movl 0x124(%rsp), %esi
movq 0x128(%rsp), %rdi
callq 0xda6e0
jmp 0x1468c4
movq 0x1a8(%rsp), %rsi
subq $-0x80, %rsi
leaq 0x7e8(%rsp), %rdi
callq 0xd4480
jmp 0x1468df
leaq 0x7e8(%rsp), %rdi
callq 0xd25a0
movq 0xcd8(%rsp), %rax
movq %rax, 0x110(%rsp)
leaq 0x61f(%rsp), %rdi
movq %rdi, 0x118(%rsp)
callq 0xe0c80
movq 0x118(%rsp), %rdx
leaq 0x42a8a(%rip), %rsi     # 0x1893aa
leaq 0x620(%rsp), %rdi
callq 0xe00a0
jmp 0x14692f
movq 0x110(%rsp), %rdi
leaq 0x620(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0x108(%rsp)
jmp 0x14694e
movq 0x108(%rsp), %rsi
leaq 0x640(%rsp), %rdi
movl $0x8, %edx
callq 0xdfcc0
jmp 0x14696a
leaq 0x620(%rsp), %rdi
callq 0xd4550
leaq 0x61f(%rsp), %rdi
callq 0xd8ec0
movq 0x640(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0x640(%rsp,%rax), %rax
movq %rax, 0xf8(%rsp)
movl $0x2, %edi
movl $0x8, %esi
callq 0xe0e70
movl %eax, 0x104(%rsp)
jmp 0x1469b8
movl 0x104(%rsp), %edi
movl $0x40, %esi
callq 0xe0e70
movl %eax, 0xf4(%rsp)
jmp 0x1469d2
movl 0xf4(%rsp), %esi
movq 0xf8(%rsp), %rdi
callq 0xda6e0
jmp 0x1469e8
movq 0x1a8(%rsp), %rsi
addq $0x90, %rsi
leaq 0x640(%rsp), %rdi
callq 0xd4480
jmp 0x146a06
leaq 0x640(%rsp), %rdi
callq 0xd25a0
movq 0xcd8(%rsp), %rdi
callq 0xde930
movq %rax, 0x610(%rsp)
leaq 0x608(%rsp), %rdi
callq 0xd03e0
movq 0x610(%rsp), %rdi
callq 0xd4960
movq %rax, 0x600(%rsp)
movq 0x600(%rsp), %rax
movq %rax, 0x608(%rsp)
movq 0x610(%rsp), %rdi
callq 0xd7a70
movq %rax, 0x5f8(%rsp)
leaq 0x608(%rsp), %rdi
leaq 0x5f8(%rsp), %rsi
callq 0xd72b0
testb $0x1, %al
jne 0x146a8d
jmp 0x1476ea
leaq 0x608(%rsp), %rdi
callq 0xddc90
movq (%rax), %rdi
callq 0xcea10
movq %rax, %rdi
leaq 0x42903(%rip), %rsi     # 0x1893af
callq 0xe30f0
testb $0x1, %al
jne 0x146aba
jmp 0x146e47
leaq 0x608(%rsp), %rdi
callq 0xddc90
movq (%rax), %rax
movq %rax, 0xe0(%rsp)
leaq 0x44f(%rsp), %rdi
movq %rdi, 0xe8(%rsp)
callq 0xe0c80
movq 0xe8(%rsp), %rdx
leaq 0x41216(%rip), %rsi     # 0x187d0c
leaq 0x450(%rsp), %rdi
callq 0xe00a0
jmp 0x146b05
movq 0xe0(%rsp), %rdi
leaq 0x450(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0xd8(%rsp)
jmp 0x146b24
movq 0xd8(%rsp), %rsi
leaq 0x470(%rsp), %rdi
movl $0x8, %edx
callq 0xdfcc0
jmp 0x146b40
leaq 0x450(%rsp), %rdi
callq 0xd4550
leaq 0x44f(%rsp), %rdi
callq 0xd8ec0
movq 0x470(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0x470(%rsp,%rax), %rax
movq %rax, 0xc8(%rsp)
movl $0x2, %edi
movl $0x8, %esi
callq 0xe0e70
movl %eax, 0xd4(%rsp)
jmp 0x146b8e
movl 0xd4(%rsp), %edi
movl $0x40, %esi
callq 0xe0e70
movl %eax, 0xc4(%rsp)
jmp 0x146ba8
movl 0xc4(%rsp), %esi
movq 0xc8(%rsp), %rdi
callq 0xda6e0
jmp 0x146bbe
leaq 0x470(%rsp), %rdi
leaq 0x5f4(%rsp), %rsi
callq 0xceae0
jmp 0x146bd5
leaq 0x470(%rsp), %rdi
callq 0xd25a0
movq 0xcd0(%rsp), %rdi
movl 0x5f4(%rsp), %esi
callq 0xd45f0
movq 0x1a8(%rsp), %rdi
movq %rax, 0x440(%rsp)
addq $0x18, %rdi
leaq 0x440(%rsp), %rsi
callq 0xdd2e0
jmp 0x1476d8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
jmp 0x146c53
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
leaq 0xb28(%rsp), %rdi
callq 0xd4550
leaq 0xb27(%rsp), %rdi
callq 0xd8ec0
jmp 0x147786
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
leaq 0xb48(%rsp), %rdi
callq 0xd25a0
jmp 0x147786
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
jmp 0x146cc2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
leaq 0x970(%rsp), %rdi
callq 0xd4550
leaq 0x96f(%rsp), %rdi
callq 0xd8ec0
jmp 0x147786
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
leaq 0x990(%rsp), %rdi
callq 0xd25a0
jmp 0x147786
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
jmp 0x146d31
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
leaq 0x7c8(%rsp), %rdi
callq 0xd4550
leaq 0x7c7(%rsp), %rdi
callq 0xd8ec0
jmp 0x147786
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
leaq 0x7e8(%rsp), %rdi
callq 0xd25a0
jmp 0x147786
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
jmp 0x146da0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
leaq 0x620(%rsp), %rdi
callq 0xd4550
leaq 0x61f(%rsp), %rdi
callq 0xd8ec0
jmp 0x147786
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
leaq 0x640(%rsp), %rdi
callq 0xd25a0
jmp 0x147786
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
jmp 0x146e0f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
leaq 0x450(%rsp), %rdi
callq 0xd4550
leaq 0x44f(%rsp), %rdi
callq 0xd8ec0
jmp 0x147786
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
leaq 0x470(%rsp), %rdi
callq 0xd25a0
jmp 0x147786
leaq 0x608(%rsp), %rdi
callq 0xddc90
movq (%rax), %rdi
callq 0xcea10
movq %rax, %rdi
leaq 0x42550(%rip), %rsi     # 0x1893b6
callq 0xe30f0
testb $0x1, %al
jne 0x146e74
jmp 0x146f71
movq 0x1a8(%rsp), %rax
addq $0x30, %rax
movq %rax, 0xa8(%rsp)
leaq 0x608(%rsp), %rdi
callq 0xddc90
movq (%rax), %rax
movq %rax, 0xb0(%rsp)
leaq 0x41f(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
callq 0xe0c80
movq 0xb8(%rsp), %rdx
leaq 0x409b8(%rip), %rsi     # 0x18787c
leaq 0x420(%rsp), %rdi
callq 0xe00a0
jmp 0x146ed3
movq 0xb0(%rsp), %rdi
leaq 0x420(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0xa0(%rsp)
jmp 0x146ef2
movq 0xa0(%rsp), %rsi
movq 0xa8(%rsp), %rdi
callq 0xd3180
jmp 0x146f09
leaq 0x420(%rsp), %rdi
callq 0xd4550
leaq 0x41f(%rsp), %rdi
callq 0xd8ec0
jmp 0x1476d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
jmp 0x146f5f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
leaq 0x420(%rsp), %rdi
callq 0xd4550
leaq 0x41f(%rsp), %rdi
callq 0xd8ec0
jmp 0x147786
leaq 0x608(%rsp), %rdi
callq 0xddc90
movq (%rax), %rdi
callq 0xcea10
movq %rax, %rdi
leaq 0x42424(%rip), %rsi     # 0x1893b4
callq 0xe30f0
testb $0x1, %al
jne 0x146f9e
jmp 0x147207
leaq 0x608(%rsp), %rdi
callq 0xddc90
movq (%rax), %rax
movq %rax, 0x90(%rsp)
leaq 0x277(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0xe0c80
movq 0x98(%rsp), %rdx
leaq 0x40d32(%rip), %rsi     # 0x187d0c
leaq 0x278(%rsp), %rdi
callq 0xe00a0
jmp 0x146fe9
movq 0x90(%rsp), %rdi
leaq 0x278(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0x88(%rsp)
jmp 0x147008
movq 0x88(%rsp), %rsi
leaq 0x298(%rsp), %rdi
movl $0x8, %edx
callq 0xdfcc0
jmp 0x147024
leaq 0x278(%rsp), %rdi
callq 0xd4550
leaq 0x277(%rsp), %rdi
callq 0xd8ec0
movq 0x298(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0x298(%rsp,%rax), %rax
movq %rax, 0x78(%rsp)
movl $0x2, %edi
movl $0x8, %esi
callq 0xe0e70
movl %eax, 0x84(%rsp)
jmp 0x14706f
movl 0x84(%rsp), %edi
movl $0x40, %esi
callq 0xe0e70
movl %eax, 0x74(%rsp)
jmp 0x147086
movl 0x74(%rsp), %esi
movq 0x78(%rsp), %rdi
callq 0xda6e0
jmp 0x147096
leaq 0x298(%rsp), %rdi
leaq 0x418(%rsp), %rsi
callq 0xd4480
jmp 0x1470ad
leaq 0x24f(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0xe0c80
movq 0x68(%rsp), %rdx
leaq 0x4146d(%rip), %rsi     # 0x188538
leaq 0x250(%rsp), %rdi
callq 0xe00a0
jmp 0x1470da
leaq 0x24f(%rsp), %rdi
callq 0xd8ec0
movb 0x418(%rsp), %al
addb $0x41, %al
movb %al, 0x5f(%rsp)
leaq 0x250(%rsp), %rdi
movl $0x1, %esi
callq 0xe2f50
movq %rax, 0x60(%rsp)
jmp 0x14710d
movq 0x1a8(%rsp), %rdi
movq 0x60(%rsp), %rax
movb 0x5f(%rsp), %cl
movb %cl, (%rax)
addq $0x30, %rdi
leaq 0x250(%rsp), %rsi
callq 0xd3180
jmp 0x147133
leaq 0x250(%rsp), %rdi
callq 0xd4550
leaq 0x298(%rsp), %rdi
callq 0xd25a0
jmp 0x1476d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
jmp 0x147189
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
leaq 0x278(%rsp), %rdi
callq 0xd4550
leaq 0x277(%rsp), %rdi
callq 0xd8ec0
jmp 0x147786
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
jmp 0x1471f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
leaq 0x24f(%rsp), %rdi
callq 0xd8ec0
jmp 0x1471f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
leaq 0x250(%rsp), %rdi
callq 0xd4550
leaq 0x298(%rsp), %rdi
callq 0xd25a0
jmp 0x147786
leaq 0x608(%rsp), %rdi
callq 0xddc90
movq (%rax), %rdi
callq 0xcea10
movq %rax, %rdi
leaq 0x4242c(%rip), %rsi     # 0x189652
callq 0xe30f0
testb $0x1, %al
jne 0x147234
jmp 0x1472e3
movl $0x20, %edi
callq 0xd8380
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x50(%rsp)
callq 0xdc080
jmp 0x147250
movq 0x50(%rsp), %rax
movq %rax, 0x240(%rsp)
movq 0x240(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x608(%rsp), %rdi
callq 0xddc90
movq 0x48(%rsp), %rdi
movq (%rax), %rsi
movq 0xcd0(%rsp), %rdx
movq (%rdi), %rax
callq *0x20(%rax)
movq 0x1a8(%rsp), %rdi
addq $0x48, %rdi
movq 0x240(%rsp), %rax
movq %rax, 0x238(%rsp)
leaq 0x238(%rsp), %rsi
callq 0xe2c80
jmp 0x1476d2
movq 0x50(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
movl $0x20, %esi
callq 0xd8620
jmp 0x147786
leaq 0x608(%rsp), %rdi
callq 0xddc90
movq (%rax), %rdi
callq 0xcea10
movq %rax, %rdi
leaq 0x42381(%rip), %rsi     # 0x189683
callq 0xe30f0
testb $0x1, %al
jne 0x147310
jmp 0x1473bf
movl $0x20, %edi
callq 0xd8380
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x40(%rsp)
callq 0xdd530
jmp 0x14732c
movq 0x40(%rsp), %rax
movq %rax, 0x230(%rsp)
movq 0x230(%rsp), %rax
movq %rax, 0x38(%rsp)
leaq 0x608(%rsp), %rdi
callq 0xddc90
movq 0x38(%rsp), %rdi
movq (%rax), %rsi
movq 0xcd0(%rsp), %rdx
movq (%rdi), %rax
callq *0x20(%rax)
movq 0x1a8(%rsp), %rdi
addq $0x48, %rdi
movq 0x230(%rsp), %rax
movq %rax, 0x228(%rsp)
leaq 0x228(%rsp), %rsi
callq 0xe2c80
jmp 0x1476d0
movq 0x40(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
movl $0x20, %esi
callq 0xd8620
jmp 0x147786
movl $0x28, %edi
callq 0xd8380
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x30(%rsp)
callq 0xe0a90
jmp 0x1473db
movq 0x30(%rsp), %rax
movq %rax, 0x220(%rsp)
movq 0x220(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0x608(%rsp), %rdi
callq 0xddc90
movq 0x28(%rsp), %rdi
movq (%rax), %rsi
movq 0xcd0(%rsp), %rdx
callq 0xd0600
movl %eax, 0x21c(%rsp)
cmpl $0x0, 0x21c(%rsp)
jge 0x14755c
movq 0x1a8(%rsp), %rax
cmpq $0x0, 0x60(%rax)
je 0x147543
movb $0x1, 0x1f6(%rsp)
movl $0x20, %edi
callq 0xd2b40
movq %rax, 0x18(%rsp)
leaq 0x1f7(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xe0c80
movq 0x20(%rsp), %rdx
leaq 0x41f48(%rip), %rsi     # 0x1893bc
leaq 0x1f8(%rsp), %rdi
callq 0xe00a0
jmp 0x147483
movq 0x18(%rsp), %rdi
leaq 0x1f8(%rsp), %rsi
callq 0xd1ae0
jmp 0x147497
movq 0x18(%rsp), %rdi
movb $0x0, 0x1f6(%rsp)
movq 0x809e5(%rip), %rsi     # 0x1c7e90
movq 0x8071e(%rip), %rdx     # 0x1c7bd0
callq 0xe01f0
jmp 0x147793
movq 0x30(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
movl $0x28, %esi
callq 0xd8620
jmp 0x147786
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
jmp 0x14751b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
leaq 0x1f8(%rsp), %rdi
callq 0xd4550
leaq 0x1f7(%rsp), %rdi
callq 0xd8ec0
testb $0x1, 0x1f6(%rsp)
jne 0x147534
jmp 0x14753e
movq 0x18(%rsp), %rdi
callq 0xd5400
jmp 0x147786
movq 0x1a8(%rsp), %rax
movq 0x220(%rsp), %rcx
movq %rcx, 0x60(%rax)
jmp 0x1476ce
jmp 0x14755e
movq 0x1a8(%rsp), %rdi
addq $0x68, %rdi
callq 0xd33b0
movslq 0x21c(%rsp), %rcx
cmpq %rcx, %rax
ja 0x1475a3
movq 0x1a8(%rsp), %rdi
addq $0x68, %rdi
movq $0x0, 0x1e8(%rsp)
leaq 0x1e8(%rsp), %rsi
callq 0xe2c60
jmp 0x14755e
movq 0x1a8(%rsp), %rdi
addq $0x68, %rdi
movslq 0x21c(%rsp), %rsi
callq 0xd9460
cmpq $0x0, (%rax)
je 0x1476a2
movb $0x1, 0x1c6(%rsp)
movl $0x20, %edi
callq 0xd2b40
movq %rax, 0x8(%rsp)
leaq 0x1c7(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xe0c80
movq 0x10(%rsp), %rdx
leaq 0x41dd8(%rip), %rsi     # 0x1893d3
leaq 0x1c8(%rsp), %rdi
callq 0xe00a0
jmp 0x14760a
movq 0x8(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
callq 0xd1ae0
jmp 0x14761e
movq 0x8(%rsp), %rdi
movb $0x0, 0x1c6(%rsp)
movq 0x8085e(%rip), %rsi     # 0x1c7e90
movq 0x80597(%rip), %rdx     # 0x1c7bd0
callq 0xe01f0
jmp 0x147793
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
jmp 0x14767a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb18(%rsp)
movl %eax, 0xb14(%rsp)
leaq 0x1c8(%rsp), %rdi
callq 0xd4550
leaq 0x1c7(%rsp), %rdi
callq 0xd8ec0
testb $0x1, 0x1c6(%rsp)
jne 0x147693
jmp 0x14769d
movq 0x8(%rsp), %rdi
callq 0xd5400
jmp 0x147786
movq 0x1a8(%rsp), %rdi
movq 0x220(%rsp), %rax
movq %rax, (%rsp)
addq $0x68, %rdi
movslq 0x21c(%rsp), %rsi
callq 0xd9460
movq (%rsp), %rcx
movq %rcx, (%rax)
jmp 0x1476d0
jmp 0x1476d2
jmp 0x1476d4
jmp 0x1476d6
jmp 0x1476d8
leaq 0x608(%rsp), %rdi
callq 0xd0700
jmp 0x146a5a
movq 0x1a8(%rsp), %rdi
movq $0x0, (%rdi)
addq $0x30, %rdi
callq 0xe1670
cmpq $0x1, %rax
jne 0x14776c
movq 0x1a8(%rsp), %rdi
addq $0x30, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xe1770
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xe2f50
movsbl (%rax), %eax
cmpl $0xa, %eax
jne 0x14776c
movq 0x1a8(%rsp), %rdi
addq $0x30, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xe1770
movq %rax, %rdi
movl $0x1, %esi
callq 0xe2f50
movq %rax, %rcx
movq 0x1a8(%rsp), %rax
movsbl (%rcx), %ecx
subl $0x41, %ecx
movl %ecx, 0x8c(%rax)
jmp 0x14777e
movq 0x1a8(%rsp), %rax
movl $0xffffffff, 0x8c(%rax) # imm = 0xFFFFFFFF
addq $0xce8, %rsp            # imm = 0xCE8
retq
movq 0xb18(%rsp), %rdi
callq 0xe0be0
nopw %cs:(%rax,%rax)