// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/xml/xul/menubar.cpp
// Function: smooth::XML::XUL::Menubar::Menubar(smooth::XML::Node*)
S::XML::XUL::Menubar::Menubar(Node *node) : Widget(node)
{
	menubar = NIL;

	if (node != NIL)
	{
		menubar = new GUI::Menubar();

		for (Int i = 0; i < node->GetNOfNodes(); i++)
		{
			Node	*mNode = node->GetNthNode(i);

			if (mNode->GetName() == "menu")
			{
				XUL::PopupMenu	*menu = new XUL::PopupMenu(mNode);

				menubar->AddEntry(menu->GetName(), NIL, (GUI::PopupMenu *) menu->GetWidget());

				entries.Add(menu);
			}
			else if (mNode->GetName() == "toolbarbutton")
			{
				menubar->AddEntry(GetXMLAttributeValue(mNode, "label"));
			}
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x78(%rbp)
movq -0x10(%rbp), %rsi
callq 0x5c180
movq -0x78(%rbp), %rdi
leaq 0xf4e21(%rip), %rax     # 0x2065b0
movq %rax, (%rdi)
addq $0x88, %rdi
movq %rdi, -0x70(%rbp)
callq 0x111c10
jmp 0x1117a4
movq -0x78(%rbp), %rax
movq $0x0, 0x80(%rax)
cmpq $0x0, -0x10(%rbp)
je 0x111aa2
movl $0x688, %edi            # imm = 0x688
callq 0x59820
movq %rax, -0x80(%rbp)
jmp 0x1117ce
movq -0x80(%rbp), %rdi
callq 0x5b8a0
jmp 0x1117d9
movq -0x78(%rbp), %rax
movq -0x80(%rbp), %rcx
movq %rcx, 0x80(%rax)
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x88(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5a380
movl %eax, -0x84(%rbp)
jmp 0x111809
movl -0x88(%rbp), %eax
movl -0x84(%rbp), %ecx
cmpl %ecx, %eax
jge 0x111aa0
movq -0x10(%rbp), %rdi
movl -0x20(%rbp), %esi
callq 0x5c710
movq %rax, -0x90(%rbp)
jmp 0x111832
movq -0x90(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x5c630
movq %rax, -0x98(%rbp)
jmp 0x11184f
movq -0x98(%rbp), %rdi
leaq 0x94bf9(%rip), %rsi     # 0x1a6456
callq 0x5c7f0
movb %al, -0x99(%rbp)
jmp 0x11186a
movb -0x99(%rbp), %al
testb $0x1, %al
jne 0x111879
jmp 0x1119b1
movl $0xf8, %edi
callq 0x59820
movq %rax, -0xa8(%rbp)
jmp 0x11188c
movq -0xa8(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x111d00
jmp 0x11189e
movq -0x78(%rbp), %rax
movq -0xa8(%rbp), %rcx
movq %rcx, -0x30(%rbp)
movq 0x80(%rax), %rax
movq %rax, -0xb8(%rbp)
movq -0x30(%rbp), %rdi
callq 0x1122a0
movq %rax, -0xb0(%rbp)
jmp 0x1118cd
leaq -0x38(%rbp), %rdi
xorl %esi, %esi
callq 0x5d4a0
jmp 0x1118da
movq -0x30(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, -0xc0(%rbp)
jmp 0x1118f0
movq -0xc0(%rbp), %rcx
movq -0xb0(%rbp), %rsi
movq -0xb8(%rbp), %rdi
leaq -0x38(%rbp), %rdx
callq 0x5c4c0
jmp 0x111910
leaq -0x38(%rbp), %rdi
callq 0x5de40
movq -0x78(%rbp), %rdi
addq $0x88, %rdi
leaq -0x30(%rbp), %rsi
callq 0x111c50
jmp 0x11192f
jmp 0x111a90
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x111ab4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x111aab
movq -0x80(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
movl $0x688, %esi            # imm = 0x688
callq 0x595b0
jmp 0x111aab
movq -0xa8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
movl $0xf8, %esi
callq 0x595b0
jmp 0x111aab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x5de40
jmp 0x111aab
movq -0x28(%rbp), %rdi
callq 0x5c630
movq %rax, -0xc8(%rbp)
jmp 0x1119c3
movq -0xc8(%rbp), %rdi
leaq 0x94a8a(%rip), %rsi     # 0x1a645b
callq 0x5c7f0
movb %al, -0xc9(%rbp)
jmp 0x1119de
movb -0xc9(%rbp), %al
testb $0x1, %al
jne 0x1119ed
jmp 0x111a8e
movq -0x78(%rbp), %rax
movq 0x80(%rax), %rax
movq %rax, -0xe0(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq 0x9499c(%rip), %rsi     # 0x1a63ad
leaq -0x68(%rbp), %rdi
callq 0x5c1f0
jmp 0x111a1c
movq -0xd8(%rbp), %rdx
movq -0x78(%rbp), %rsi
leaq -0x50(%rbp), %rdi
leaq -0x68(%rbp), %rcx
callq 0x5a8d0
jmp 0x111a36
movq -0xe0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
leaq -0x50(%rbp), %rsi
callq 0x59b50
jmp 0x111a4c
leaq -0x50(%rbp), %rdi
callq 0x5df00
leaq -0x68(%rbp), %rdi
callq 0x5df00
jmp 0x111a8e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x111a83
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5df00
leaq -0x68(%rbp), %rdi
callq 0x5df00
jmp 0x111aab
jmp 0x111a90
jmp 0x111a92
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x1117ef
jmp 0x111aa2
addq $0xe0, %rsp
popq %rbp
retq
movq -0x70(%rbp), %rdi
callq 0x111c80
movq -0x78(%rbp), %rdi
callq 0x5dd00
movq -0x18(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)