// File: /workspace/github_c_makefile_star2_O3/enzo1982[P]smooth/classes/xml/node.cpp
// Function: smooth::XML::Node::Node(smooth::XML::Node const&)
S::XML::Node::Node(const Node &oNode)
{
	nodeID		= -1;

	nameIndex	= oNode.nameIndex;
	content		= oNode.content;

	attributes	= NIL;
	subnodes	= NIL;

	/* Copy attributes.
	 */
	if (oNode.attributes != NIL)
	{
		foreach (Attribute *oAttribute, *oNode.attributes)
		{
			Attribute	*attribute = new Attribute(*oAttribute);

			if (attributes == NIL) attributes = new Array<Attribute *, Void *>();

			attribute->SetAttributeID(attributes->Add(attribute));
		}
	}

	/* Copy subnodes.
	 */
	if (oNode.subnodes != NIL)
	{
		foreach (Node *oSubnode, *oNode.subnodes)
		{
			Node	*node = new Node(*oSubnode);

			if (subnodes == NIL) subnodes = new Array<Node *, Void *>();

			node->SetNodeID(subnodes->Add(node));
		}
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rsi, %r14
movq %rdi, %r15
leaq 0x18(%rdi), %rbx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x58e20
movl $0xffffffff, 0x10(%r15) # imm = 0xFFFFFFFF
movl 0x14(%r14), %eax
movl %eax, 0x14(%r15)
leaq 0x18(%r14), %rsi
movq %rbx, 0x8(%rsp)
movq %rbx, %rdi
callq 0x555f0
xorps %xmm0, %xmm0
movups %xmm0, (%r15)
movq (%r14), %rdi
testq %rdi, %rdi
je 0xb4081
cmpl $0x0, 0x8(%rdi)
jle 0xb4081
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
leaq 0x10(%rsp), %r12
incl %ebp
movl %ebp, %esi
callq 0x60a9a
movq (%rax), %rbx
movl $0x20, %edi
callq 0x556b0
movq %rax, %r13
movq (%rbx), %rax
movq %rax, (%r13)
movq %r13, %rdi
addq $0x8, %rdi
addq $0x8, %rbx
movq %rbx, %rsi
callq 0x570b0
movq (%r15), %rbx
testq %rbx, %rbx
jne 0xb4057
movl $0x58, %edi
callq 0x556b0
movq %rax, %rbx
movq %rax, %rdi
callq 0x55d90
leaq 0xab7c1(%rip), %rax     # 0x15f800
movq %rax, 0x40(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x48(%rbx)
leaq 0xb544f(%rip), %rax     # 0x1694a0
movq %rax, (%rbx)
movq %rbx, (%r15)
movq %r13, 0x10(%rsp)
movq %rbx, %rdi
movq %r12, %rsi
callq 0x5aed8
movq %r13, %rdi
movl %eax, %esi
callq 0x55830
movq (%r14), %rdi
movl 0x8(%rdi), %eax
decl %eax
cmpl %eax, %ebp
jl 0xb3fe8
movq 0x8(%r14), %rdi
testq %rdi, %rdi
je 0xb4129
cmpl $0x0, 0x8(%rdi)
jle 0xb4129
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
leaq 0x10(%rsp), %r12
incl %ebp
movl %ebp, %esi
callq 0x60a9a
movq (%rax), %rbx
movl $0x30, %edi
callq 0x556b0
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x56b40
movq 0x8(%r15), %rbx
testq %rbx, %rbx
jne 0xb4104
movl $0x58, %edi
callq 0x556b0
movq %rax, %rbx
movq %rax, %rdi
callq 0x55d90
leaq 0xab715(%rip), %rax     # 0x15f800
movq %rax, 0x40(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x48(%rbx)
leaq 0xb53f3(%rip), %rax     # 0x1694f0
movq %rax, (%rbx)
movq %rbx, 0x8(%r15)
movq %r13, 0x10(%rsp)
movq %rbx, %rdi
movq %r12, %rsi
callq 0x5aed8
movl %eax, 0x10(%r13)
movq 0x8(%r14), %rdi
movl 0x8(%rdi), %eax
decl %eax
cmpl %eax, %ebp
jl 0xb40a2
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xb416b
jmp 0xb413c
movq %rax, %r14
movl $0x58, %esi
movq %rbx, %rdi
jmp 0xb4162
jmp 0xb416b
movq %rax, %r14
movl $0x30, %esi
jmp 0xb415f
jmp 0xb416b
movq %rax, %r14
movl $0x20, %esi
movq %r13, %rdi
callq 0x55480
jmp 0xb416e
jmp 0xb416b
movq %rax, %r14
movq 0x8(%rsp), %rdi
callq 0x59200
movq %r14, %rdi
callq 0x57090