// File: /workspace/github_cpp_makefile_star2_O1/jstaursky[P]hutch/src/Sleigh/translate.cc
// Function: AddrSpaceManager::restoreXmlSpaces(Element const*, Translate const*)
void AddrSpaceManager::restoreXmlSpaces(const Element *el,const Translate *trans)

{
  // The first space should always be the constant space
  insertSpace(new ConstantSpace(this,trans,"const",AddrSpace::constant_space_index));

  string defname(el->getAttributeValue("defaultspace"));
  const List &list(el->getChildren());
  List::const_iterator iter;
  iter = list.begin();
  while(iter!=list.end()) {
    AddrSpace *spc = restoreXmlSpace(*iter,trans);
    insertSpace(spc);
    ++iter;
  }
  AddrSpace *spc = getSpaceByName(defname);
  if (spc == (AddrSpace *)0)
    throw LowlevelError("Bad 'defaultspace' attribute: "+defname);
  setDefaultSpace(spc->getIndex());
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
movl $0x70, %edi
callq 0x40800
movq %rax, %r12
leaq 0x18(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x32f1a(%rip), %rsi     # 0x7fab4
leaq 0x32f18(%rip), %rdx     # 0x7fab9
leaq 0x8(%rsp), %rdi
callq 0x3f8a0
movb $0x1, %bpl
leaq 0x8(%rsp), %rcx
movq %r12, %rdi
movq %rbx, %rsi
movq %r14, %rdx
xorl %r8d, %r8d
callq 0x41590
xorl %ebp, %ebp
movq %rbx, %rdi
movq %r12, %rsi
callq 0x3faa0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x4cbe8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x40870
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x32ec1(%rip), %rsi     # 0x7faba
leaq 0x32ec6(%rip), %rdx     # 0x7fac6
leaq 0x28(%rsp), %rdi
callq 0x3f8a0
leaq 0x28(%rsp), %rsi
movq %r15, %rdi
callq 0x40f70
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
callq 0x3f8e0
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x4cc45
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x40870
movq 0x78(%r15), %rbp
cmpq 0x80(%r15), %rbp
je 0x4cc72
movq (%rbp), %rsi
movq %rbx, %rdi
movq %r14, %rdx
callq 0x404b0
movq %rbx, %rdi
movq %rax, %rsi
callq 0x3faa0
addq $0x8, %rbp
jmp 0x4cc49
leaq 0x38(%rbx), %rdi
leaq 0x8(%rsp), %rsi
callq 0x41ec0
leaq 0x40(%rbx), %rcx
cmpq %rcx, %rax
je 0x4cc8f
movq 0x40(%rax), %rax
jmp 0x4cc91
xorl %eax, %eax
testq %rax, %rax
je 0x4ccc7
movl 0x60(%rax), %esi
movq %rbx, %rdi
callq 0x42460
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x4ccb8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x40870
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x20, %edi
callq 0x3fb00
movq %rax, %r14
leaq 0x32dec(%rip), %rsi     # 0x7fac7
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x40500
movb $0x1, %bpl
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x3f890
xorl %ebp, %ebp
movq 0x561a5(%rip), %rsi     # 0xa2ea8
movq 0x55f2e(%rip), %rdx     # 0xa2c38
movq %r14, %rdi
callq 0x41d60
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x4cd34
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x40870
jmp 0x4cd34
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x4cd92
movq %r14, %rdi
callq 0x40080
jmp 0x4cd92
movq %rax, %rbx
jmp 0x4cda9
movq %rax, %rbx
movb $0x1, %bpl
jmp 0x4cd80
jmp 0x4cd8f
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x4cda9
movq 0x38(%rsp), %rsi
jmp 0x4cda1
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x4cd80
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x40870
testb %bpl, %bpl
je 0x4cda9
movl $0x70, %esi
movq %r12, %rdi
jmp 0x4cda4
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x4cda9
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x40870
movq %rbx, %rdi
callq 0x41f00
nop