// File: /workspace/github_c_makefile_star2_O1/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)
cmpq $0x0, (%r14)
je 0xb5088
movq (%r14), %rdi
cmpl $0x0, 0x8(%rdi)
jle 0xb5088
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
leaq 0x10(%rsp), %r12
incl %ebp
movl %ebp, %esi
callq 0x60a40
movq (%rax), %rbx
movl $0x20, %edi
callq 0x556b0
movq %rax, %r13
movq (%rbx), %rax
addq $0x8, %rbx
movq %rax, (%r13)
movq %r13, %rdi
addq $0x8, %rdi
movq %rbx, %rsi
callq 0x570b0
cmpq $0x0, (%r15)
jne 0xb505e
movl $0x58, %edi
callq 0x556b0
movq %rax, %rbx
movq %rax, %rdi
callq 0x55d90
leaq 0xab79a(%rip), %rax     # 0x1607e0
movq %rax, 0x40(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x48(%rbx)
leaq 0xb5448(%rip), %rax     # 0x16a4a0
movq %rax, (%rbx)
movq %rbx, (%r15)
movq (%r15), %rdi
movq %r13, 0x10(%rsp)
movq %r12, %rsi
callq 0x5af08
movq %r13, %rdi
movl %eax, %esi
callq 0x55830
movq (%r14), %rdi
movl 0x8(%rdi), %eax
decl %eax
cmpl %eax, %ebp
jl 0xb4ff1
cmpq $0x0, 0x8(%r14)
je 0xb5131
movq 0x8(%r14), %rdi
cmpl $0x0, 0x8(%rdi)
jle 0xb5131
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
leaq 0x10(%rsp), %r12
incl %ebp
movl %ebp, %esi
callq 0x60a40
movq (%rax), %rbx
movl $0x30, %edi
callq 0x556b0
movq %rax, %r13
movq %rax, %rdi
movq %rbx, %rsi
callq 0x56b40
cmpq $0x0, 0x8(%r15)
jne 0xb510b
movl $0x58, %edi
callq 0x556b0
movq %rax, %rbx
movq %rax, %rdi
callq 0x55d90
leaq 0xab6ee(%rip), %rax     # 0x1607e0
movq %rax, 0x40(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x48(%rbx)
leaq 0xb53ec(%rip), %rax     # 0x16a4f0
movq %rax, (%rbx)
movq %rbx, 0x8(%r15)
movq 0x8(%r15), %rdi
movq %r13, 0x10(%rsp)
movq %r12, %rsi
callq 0x5af08
movl %eax, 0x10(%r13)
movq 0x8(%r14), %rdi
movl 0x8(%rdi), %eax
decl %eax
cmpl %eax, %ebp
jl 0xb50ab
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xb5173
jmp 0xb5144
movq %rax, %r14
movl $0x58, %esi
movq %rbx, %rdi
jmp 0xb516a
jmp 0xb5173
movq %rax, %r14
movl $0x30, %esi
jmp 0xb5167
jmp 0xb5173
movq %rax, %r14
movl $0x20, %esi
movq %r13, %rdi
callq 0x55480
jmp 0xb5176
jmp 0xb5173
movq %rax, %r14
movq 0x8(%rsp), %rdi
callq 0x59200
movq %r14, %rdi
callq 0x57090