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

{
  ValueSymbol::restoreXml(el,trans);
  {
    uintm id;
    istringstream s(el->getAttributeValue("varnode"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> id;
    vn = (VarnodeSymbol *)trans->findSymbol(id);
  }
  {  
    istringstream s(el->getAttributeValue("low"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> low;
  }
  {  
    istringstream s(el->getAttributeValue("high"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> high;
  }
  flow = true;
  for(int4 i=el->getNumAttributes()-1;i>=0;--i) {
    if (el->getAttributeName(i)=="flow") {
      flow = xml_readbool(el->getAttributeValue(i));
      break;
    }
  }
}

// Assembly:
subq $0x5c8, %rsp            # imm = 0x5C8
movq %rdi, 0x5c0(%rsp)
movq %rsi, 0x5b8(%rsp)
movq %rdx, 0x5b0(%rsp)
movq 0x5c0(%rsp), %rdi
movq %rdi, 0x88(%rsp)
movq 0x5b8(%rsp), %rsi
movq 0x5b0(%rsp), %rdx
callq 0xe0400
movq 0x5b8(%rsp), %rax
movq %rax, 0x90(%rsp)
leaq 0x407(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0xe0c80
movq 0x98(%rsp), %rdx
leaq 0x4716d(%rip), %rsi     # 0x189195
leaq 0x408(%rsp), %rdi
callq 0xe00a0
jmp 0x142037
movq 0x90(%rsp), %rdi
leaq 0x408(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0x80(%rsp)
jmp 0x142056
movq 0x80(%rsp), %rsi
leaq 0x428(%rsp), %rdi
movl $0x8, %edx
callq 0xdfcc0
jmp 0x142072
leaq 0x408(%rsp), %rdi
callq 0xd4550
leaq 0x407(%rsp), %rdi
callq 0xd8ec0
movq 0x428(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0x428(%rsp,%rax), %rax
movq %rax, 0x70(%rsp)
movl $0x2, %edi
movl $0x8, %esi
callq 0xe0e70
movl %eax, 0x7c(%rsp)
jmp 0x1420ba
movl 0x7c(%rsp), %edi
movl $0x40, %esi
callq 0xe0e70
movl %eax, 0x6c(%rsp)
jmp 0x1420ce
movl 0x6c(%rsp), %esi
movq 0x70(%rsp), %rdi
callq 0xda6e0
jmp 0x1420de
leaq 0x428(%rsp), %rdi
leaq 0x5ac(%rsp), %rsi
callq 0xceae0
jmp 0x1420f5
movq 0x5b0(%rsp), %rdi
movl 0x5ac(%rsp), %esi
callq 0xd45f0
movq %rax, 0x60(%rsp)
jmp 0x142110
movq 0x88(%rsp), %rax
movq 0x60(%rsp), %rcx
movq %rcx, 0x38(%rax)
leaq 0x428(%rsp), %rdi
callq 0xd25a0
movq 0x5b8(%rsp), %rax
movq %rax, 0x50(%rsp)
leaq 0x24f(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0xe0c80
movq 0x58(%rsp), %rdx
leaq 0x47016(%rip), %rsi     # 0x18916f
leaq 0x250(%rsp), %rdi
callq 0xe00a0
jmp 0x142168
movq 0x50(%rsp), %rdi
leaq 0x250(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0x48(%rsp)
jmp 0x142181
movq 0x48(%rsp), %rsi
leaq 0x270(%rsp), %rdi
movl $0x8, %edx
callq 0xdfcc0
jmp 0x14219a
leaq 0x250(%rsp), %rdi
callq 0xd4550
leaq 0x24f(%rsp), %rdi
callq 0xd8ec0
movq 0x270(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0x270(%rsp,%rax), %rax
movq %rax, 0x38(%rsp)
movl $0x2, %edi
movl $0x8, %esi
callq 0xe0e70
movl %eax, 0x44(%rsp)
jmp 0x1421e2
movl 0x44(%rsp), %edi
movl $0x40, %esi
callq 0xe0e70
movl %eax, 0x34(%rsp)
jmp 0x1421f6
movl 0x34(%rsp), %esi
movq 0x38(%rsp), %rdi
callq 0xda6e0
jmp 0x142206
movq 0x88(%rsp), %rsi
addq $0x40, %rsi
leaq 0x270(%rsp), %rdi
callq 0xceae0
jmp 0x142221
leaq 0x270(%rsp), %rdi
callq 0xd25a0
movq 0x5b8(%rsp), %rax
movq %rax, 0x20(%rsp)
leaq 0xa7(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xe0c80
movq 0x28(%rsp), %rdx
leaq 0x46f44(%rip), %rsi     # 0x18919d
leaq 0xa8(%rsp), %rdi
callq 0xe00a0
jmp 0x142268
movq 0x20(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0xdb6f0
movq %rax, 0x18(%rsp)
jmp 0x142281
movq 0x18(%rsp), %rsi
leaq 0xc8(%rsp), %rdi
movl $0x8, %edx
callq 0xdfcc0
jmp 0x14229a
leaq 0xa8(%rsp), %rdi
callq 0xd4550
leaq 0xa7(%rsp), %rdi
callq 0xd8ec0
movq 0xc8(%rsp), %rax
movq -0x18(%rax), %rax
leaq 0xc8(%rsp,%rax), %rax
movq %rax, 0x8(%rsp)
movl $0x2, %edi
movl $0x8, %esi
callq 0xe0e70
movl %eax, 0x14(%rsp)
jmp 0x1422e2
movl 0x14(%rsp), %edi
movl $0x40, %esi
callq 0xe0e70
movl %eax, 0x4(%rsp)
jmp 0x1422f6
movl 0x4(%rsp), %esi
movq 0x8(%rsp), %rdi
callq 0xda6e0
jmp 0x142306
movq 0x88(%rsp), %rsi
addq $0x44, %rsi
leaq 0xc8(%rsp), %rdi
callq 0xceae0
jmp 0x142321
leaq 0xc8(%rsp), %rdi
callq 0xd25a0
movq 0x88(%rsp), %rax
movb $0x1, 0x48(%rax)
movq 0x5b8(%rsp), %rdi
callq 0xd2b80
subl $0x1, %eax
movl %eax, 0xa0(%rsp)
cmpl $0x0, 0xa0(%rsp)
jl 0x14251b
movq 0x5b8(%rsp), %rdi
movl 0xa0(%rsp), %esi
callq 0xd5520
movq %rax, %rdi
leaq 0x46df1(%rip), %rsi     # 0x18916e
callq 0xe30f0
testb $0x1, %al
jne 0x14238b
jmp 0x142503
movq 0x5b8(%rsp), %rdi
movl 0xa0(%rsp), %esi
callq 0xd9670
movq %rax, %rdi
callq 0xd9e90
movb %al, %cl
movq 0x88(%rsp), %rax
andb $0x1, %cl
movb %cl, 0x48(%rax)
jmp 0x14251b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3f8(%rsp)
movl %eax, 0x3f4(%rsp)
jmp 0x1423f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3f8(%rsp)
movl %eax, 0x3f4(%rsp)
leaq 0x408(%rsp), %rdi
callq 0xd4550
leaq 0x407(%rsp), %rdi
callq 0xd8ec0
jmp 0x142523
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3f8(%rsp)
movl %eax, 0x3f4(%rsp)
leaq 0x428(%rsp), %rdi
callq 0xd25a0
jmp 0x142523
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3f8(%rsp)
movl %eax, 0x3f4(%rsp)
jmp 0x142462
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3f8(%rsp)
movl %eax, 0x3f4(%rsp)
leaq 0x250(%rsp), %rdi
callq 0xd4550
leaq 0x24f(%rsp), %rdi
callq 0xd8ec0
jmp 0x142523
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3f8(%rsp)
movl %eax, 0x3f4(%rsp)
leaq 0x270(%rsp), %rdi
callq 0xd25a0
jmp 0x142523
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3f8(%rsp)
movl %eax, 0x3f4(%rsp)
jmp 0x1424d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3f8(%rsp)
movl %eax, 0x3f4(%rsp)
leaq 0xa8(%rsp), %rdi
callq 0xd4550
leaq 0xa7(%rsp), %rdi
callq 0xd8ec0
jmp 0x142523
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3f8(%rsp)
movl %eax, 0x3f4(%rsp)
leaq 0xc8(%rsp), %rdi
callq 0xd25a0
jmp 0x142523
jmp 0x142505
movl 0xa0(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0xa0(%rsp)
jmp 0x142351
addq $0x5c8, %rsp            # imm = 0x5C8
retq
movq 0x3f8(%rsp), %rdi
callq 0xe0be0