// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/i18n/section.cpp
// Function: smooth::I18n::Section::Parse(smooth::XML::Node*)
S::Errors::Error S::I18n::Section::Parse(XML::Node *section)
{
	if (section == NIL) return Error();

	static String	 sectionNode	 = "section";
	static String	 nameAttribute	 = "name";
	static String	 entryNode	 = "entry";
	static String	 stringAttribute = "string";

	if (section->GetAttributeByName(nameAttribute) != NIL) SetName(section->GetAttributeByName(nameAttribute)->GetContent());

	for (Int i = 0; i < section->GetNOfNodes(); i++)
	{
		XML::Node	*entry = section->GetNthNode(i);

		if (entry->GetName() == entryNode && entry->GetAttributeByName(stringAttribute) != NIL)
		{
			strings.Add(entry->GetContent(), entry->GetAttributeByName(stringAttribute)->GetContent().ComputeCRC32());
		}
		else if (entry->GetName() == sectionNode && entry->GetAttributeByName(nameAttribute) != NIL)
		{
			Section	*section = new Section();

			section->Parse(entry);

			sections.Add(section, section->GetName().ComputeCRC32());
		}
	}

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x70(%rbp)
movq %rdi, %rax
movq %rax, -0x68(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0xde324
movq -0x70(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
jmp 0xde710
cmpb $0x0, 0x12e2ad(%rip)    # 0x20c5d8
jne 0xde379
leaq 0x12e2a4(%rip), %rdi    # 0x20c5d8
callq 0x5a4e0
cmpl $0x0, %eax
je 0xde379
leaq 0x12e27b(%rip), %rdi    # 0x20c5c0
leaq 0xace32(%rip), %rsi     # 0x18b17e
callq 0x5c1f0
jmp 0xde353
movq 0x12abce(%rip), %rdi    # 0x208f28
leaq 0x12e25f(%rip), %rsi    # 0x20c5c0
leaq 0x12d398(%rip), %rdx    # 0x20b700
callq 0x5c700
leaq 0x12e264(%rip), %rdi    # 0x20c5d8
callq 0x5b0c0
cmpb $0x0, 0x12e278(%rip)    # 0x20c5f8
jne 0xde3ce
leaq 0x12e26f(%rip), %rdi    # 0x20c5f8
callq 0x5a4e0
cmpl $0x0, %eax
je 0xde3ce
leaq 0x12e246(%rip), %rdi    # 0x20c5e0
leaq 0xc89fc(%rip), %rsi     # 0x1a6d9d
callq 0x5c1f0
jmp 0xde3a8
movq 0x12ab79(%rip), %rdi    # 0x208f28
leaq 0x12e22a(%rip), %rsi    # 0x20c5e0
leaq 0x12d343(%rip), %rdx    # 0x20b700
callq 0x5c700
leaq 0x12e22f(%rip), %rdi    # 0x20c5f8
callq 0x5b0c0
cmpb $0x0, 0x12e243(%rip)    # 0x20c618
jne 0xde423
leaq 0x12e23a(%rip), %rdi    # 0x20c618
callq 0x5a4e0
cmpl $0x0, %eax
je 0xde423
leaq 0x12e211(%rip), %rdi    # 0x20c600
leaq 0xacd90(%rip), %rsi     # 0x18b186
callq 0x5c1f0
jmp 0xde3fd
movq 0x12ab24(%rip), %rdi    # 0x208f28
leaq 0x12e1f5(%rip), %rsi    # 0x20c600
leaq 0x12d2ee(%rip), %rdx    # 0x20b700
callq 0x5c700
leaq 0x12e1fa(%rip), %rdi    # 0x20c618
callq 0x5b0c0
cmpb $0x0, 0x12e20e(%rip)    # 0x20c638
jne 0xde478
leaq 0x12e205(%rip), %rdi    # 0x20c638
callq 0x5a4e0
cmpl $0x0, %eax
je 0xde478
leaq 0x12e1dc(%rip), %rdi    # 0x20c620
leaq 0xacd41(%rip), %rsi     # 0x18b18c
callq 0x5c1f0
jmp 0xde452
movq 0x12aacf(%rip), %rdi    # 0x208f28
leaq 0x12e1c0(%rip), %rsi    # 0x20c620
leaq 0x12d299(%rip), %rdx    # 0x20b700
callq 0x5c700
leaq 0x12e1c5(%rip), %rdi    # 0x20c638
callq 0x5b0c0
movq -0x18(%rbp), %rdi
leaq 0x12e15d(%rip), %rsi    # 0x20c5e0
callq 0x5d940
cmpq $0x0, %rax
je 0xde52c
movq -0x18(%rbp), %rdi
leaq 0x12e143(%rip), %rsi    # 0x20c5e0
callq 0x5d940
movq %rax, %rdi
callq 0x598c0
movq -0x60(%rbp), %rdi
movq %rax, %rsi
callq 0x5bdd0
jmp 0xde52c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq 0x12e10d(%rip), %rdi    # 0x20c5d8
callq 0x5a860
jmp 0xde71d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq 0x12e110(%rip), %rdi    # 0x20c5f8
callq 0x5a860
jmp 0xde71d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq 0x12e113(%rip), %rdi    # 0x20c618
callq 0x5a860
jmp 0xde71d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq 0x12e116(%rip), %rdi    # 0x20c638
callq 0x5a860
jmp 0xde71d
movl $0x0, -0x28(%rbp)
movl -0x28(%rbp), %eax
movl %eax, -0x74(%rbp)
movq -0x18(%rbp), %rdi
callq 0x5a380
movl %eax, %ecx
movl -0x74(%rbp), %eax
cmpl %ecx, %eax
jge 0xde6cc
movq -0x18(%rbp), %rdi
movl -0x28(%rbp), %esi
callq 0x5c710
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
callq 0x5c630
movq %rax, %rdi
leaq 0x12e08e(%rip), %rsi    # 0x20c600
callq 0x59ac0
testb $0x1, %al
jne 0xde57d
jmp 0xde5e6
movq -0x30(%rbp), %rdi
leaq 0x12e098(%rip), %rsi    # 0x20c620
callq 0x5d940
cmpq $0x0, %rax
je 0xde5e6
movq -0x60(%rbp), %rax
addq $0x40, %rax
movq %rax, -0x88(%rbp)
movq -0x30(%rbp), %rdi
callq 0x5da60
movq %rax, -0x80(%rbp)
movq -0x30(%rbp), %rdi
leaq 0x12e066(%rip), %rsi    # 0x20c620
callq 0x5d940
movq %rax, %rdi
callq 0x598c0
movq %rax, %rdi
callq 0x597b0
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
movl %eax, %edx
callq 0xde810
jmp 0xde6bc
movq -0x30(%rbp), %rdi
callq 0x5c630
movq %rax, %rdi
leaq 0x12dfc7(%rip), %rsi    # 0x20c5c0
callq 0x59ac0
testb $0x1, %al
jne 0xde607
jmp 0xde6ba
movq -0x30(%rbp), %rdi
leaq 0x12dfce(%rip), %rsi    # 0x20c5e0
callq 0x5d940
cmpq $0x0, %rax
je 0xde6ba
movl $0xf0, %edi
callq 0x59820
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x90(%rbp)
callq 0x5a8a0
jmp 0xde63f
movq -0x90(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rsi
movq -0x30(%rbp), %rdx
movq (%rsi), %rax
leaq -0x48(%rbp), %rdi
callq *0x10(%rax)
leaq -0x48(%rbp), %rdi
callq 0x5b5b0
movq -0x60(%rbp), %rax
addq $0x98, %rax
movq %rax, -0x98(%rbp)
movq -0x38(%rbp), %rdi
callq 0x5d530
movq %rax, %rdi
callq 0x597b0
movq -0x98(%rbp), %rdi
movl %eax, %edx
leaq -0x38(%rbp), %rsi
callq 0xde840
jmp 0xde6ba
movq -0x90(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
movl $0xf0, %esi
callq 0x595b0
jmp 0xde71d
jmp 0xde6bc
jmp 0xde6be
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0xde533
leaq -0x58(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x5ca80
movq -0x70(%rbp), %rdi
movq -0xa0(%rbp), %rsi
callq 0x5aed0
jmp 0xde6ee
leaq -0x58(%rbp), %rdi
callq 0x5a410
jmp 0xde710
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x5a410
jmp 0xde71d
movq -0x68(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)