LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/list.cpp
// Function: smooth::GUI::List::AddSeparator()
S::GUI::ListEntry *S::GUI::List::AddSeparator()
{
	ListEntrySeparator	*newEntry = new ListEntrySeparator();

	if (Add(newEntry) == Success())
	{
		createdEntry.Set(newEntry->GetHandle(), True);

		return newEntry;
	}

	DeleteObject(newEntry);

	return NIL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movl $0x630, %edi            # imm = 0x630
callq 0x59820
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x40(%rbp)
callq 0x5b160
jmp 0xb088f
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rsi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
movl %eax, -0x5c(%rbp)
leaq -0x38(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x5ca80
movq -0x58(%rbp), %rdi
callq 0x59680
movl %eax, -0x4c(%rbp)
jmp 0xb08c6
leaq -0x38(%rbp), %rdi
callq 0x5a410
movl -0x4c(%rbp), %ecx
movl -0x5c(%rbp), %eax
cmpl %ecx, %eax
jne 0xb093f
movq -0x48(%rbp), %rax
addq $0x5b8, %rax            # imm = 0x5B8
movq %rax, -0x68(%rbp)
movq -0x18(%rbp), %rdi
callq 0x5d050
movq -0x68(%rbp), %rdi
movl %eax, %esi
leaq 0xd9bb1(%rip), %rdx     # 0x18a4ae
callq 0xb0fa0
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xb0950
movq -0x40(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
movl $0x630, %esi            # imm = 0x630
callq 0x595b0
jmp 0xb095a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x5a410
jmp 0xb095a
movq -0x18(%rbp), %rdi
callq 0x5d8d0
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/list.cpp
// Function: smooth::GUI::List::Add(smooth::GUI::Widget*)
S::Int S::GUI::List::Add(Widget *widget)
{
	if (widget == NIL) return Error();

	if (!widget->IsRegistered())
	{
		if (widget->GetObjectType() == ListEntry::classID) widget->Hide();

		return Container::Add(widget);
	}

	return Error();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0xb09dd
leaq -0x28(%rbp), %rdi
movq %rdi, -0x60(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x60(%rbp), %rdi
callq 0x59680
movl %eax, -0x54(%rbp)
jmp 0xb09af
movl -0x54(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xb0a73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xb0a7c
movq -0x18(%rbp), %rdi
movq (%rdi), %rax
callq *0x88(%rax)
testb $0x1, %al
jne 0xb0a2b
movq -0x18(%rbp), %rdi
callq 0x5bb10
movq %rax, %rdi
movq 0x157bc7(%rip), %rax    # 0x2085c8
movswl (%rax), %esi
callq 0x5bc10
testb $0x1, %al
jne 0xb0a0f
jmp 0xb0a19
movq -0x18(%rbp), %rdi
movq (%rdi), %rax
callq *0x60(%rax)
movq -0x50(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5b310
movl %eax, -0x4(%rbp)
jmp 0xb0a73
leaq -0x48(%rbp), %rdi
movq %rdi, -0x70(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x70(%rbp), %rdi
callq 0x59680
movl %eax, -0x64(%rbp)
jmp 0xb0a4b
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5b5b0
jmp 0xb0a73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5b5b0
jmp 0xb0a7c
movl -0x4(%rbp), %eax
addq $0x70, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/list.cpp
// Function: smooth::GUI::List::SelectEntry(smooth::GUI::ListEntry const*)
S::Int S::GUI::List::SelectEntry(const ListEntry *entryToSelect)
{
	foreach (Entry *entry, elementOrder)
	{
		if (entry != entryToSelect) continue;

		((ListEntry *) entry)->Select();

		return Success();
	}

	return Error();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
movl $0x0, -0x1c(%rbp)
movl $0xffffffff, -0x20(%rbp) # imm = 0xFFFFFFFF
xorl %eax, %eax
cmpl $0x0, -0x1c(%rbp)
movb %al, -0x61(%rbp)
jne 0xb0aea
movq -0x60(%rbp), %rdi
movl -0x20(%rbp), %eax
movl %eax, -0x68(%rbp)
addq $0x610, %rdi            # imm = 0x610
callq 0x5c990
movl %eax, %ecx
movl -0x68(%rbp), %eax
subl $0x1, %ecx
cmpl %ecx, %eax
setl %al
movb %al, -0x61(%rbp)
movb -0x61(%rbp), %al
testb $0x1, %al
jne 0xb0af6
jmp 0xb0b9b
movq -0x60(%rbp), %rdi
addq $0x610, %rdi            # imm = 0x610
movl -0x20(%rbp), %esi
addl $0x1, %esi
movl %esi, -0x20(%rbp)
callq 0xb0fd0
movq (%rax), %rax
movq %rax, -0x28(%rbp)
cmpl $0x0, -0x1c(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0xb0b25
jmp 0xb0b8b
movq -0x28(%rbp), %rax
cmpq -0x18(%rbp), %rax
je 0xb0b31
jmp 0xb0b80
movq -0x28(%rbp), %rdi
callq 0x5c8c0
leaq -0x38(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x5ca80
movq -0x78(%rbp), %rdi
callq 0x59680
movl %eax, -0x6c(%rbp)
jmp 0xb0b55
movl -0x6c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x5a410
jmp 0xb0be9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x5a410
jmp 0xb0bf5
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xb0b16
jmp 0xb0b8d
movl -0x1c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xb0ab9
leaq -0x58(%rbp), %rdi
movq %rdi, -0x88(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x88(%rbp), %rdi
callq 0x59680
movl %eax, -0x7c(%rbp)
jmp 0xb0bc1
movl -0x7c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x5b5b0
jmp 0xb0be9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x5b5b0
jmp 0xb0bf5
movl -0x4(%rbp), %eax
addq $0x90, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x5b6b0
nop
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/list.cpp
// Function: smooth::GUI::List::SelectNthEntry(int)
S::Int S::GUI::List::SelectNthEntry(Int n)
{
	if (n < 0 || n >= Length()) return Error();

	ListEntry	*entry = GetNthEntry(n);

	if (!entry->IsSelected()) entry->Select();

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
cmpl $0x0, -0x14(%rbp)
jl 0xb0d1c
movq -0x58(%rbp), %rdi
movl -0x14(%rbp), %eax
movl %eax, -0x5c(%rbp)
movq (%rdi), %rax
callq *0x178(%rax)
movl %eax, %ecx
movl -0x5c(%rbp), %eax
cmpl %ecx, %eax
jl 0xb0d67
leaq -0x28(%rbp), %rdi
movq %rdi, -0x68(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x68(%rbp), %rdi
callq 0x59680
movl %eax, -0x60(%rbp)
jmp 0xb0d3c
movl -0x60(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xb0dd4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xb0de0
movq -0x58(%rbp), %rdi
movl -0x14(%rbp), %esi
movq (%rdi), %rax
callq *0x180(%rax)
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
callq 0x59b80
testb $0x1, %al
jne 0xb0d91
movq -0x40(%rbp), %rdi
callq 0x5c8c0
leaq -0x50(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x5ca80
movq -0x78(%rbp), %rdi
callq 0x59680
movl %eax, -0x6c(%rbp)
jmp 0xb0dac
movl -0x6c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5a410
jmp 0xb0dd4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5a410
jmp 0xb0de0
movl -0x4(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/list.cpp
// Function: smooth::GUI::List::GetSelectedEntryNumber() const
S::Int S::GUI::List::GetSelectedEntryNumber() const
{
	for (Int i = 0; i < elementOrder.Length(); i++)
	{
		ListEntry	*entry = (ListEntry *) elementOrder.GetNth(i);

		if (entry->IsSelected()) return i;
	}

	return -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x28(%rbp), %rdi
movl -0x14(%rbp), %eax
movl %eax, -0x2c(%rbp)
addq $0x610, %rdi            # imm = 0x610
callq 0x5c990
movl %eax, %ecx
movl -0x2c(%rbp), %eax
cmpl %ecx, %eax
jge 0xb0e68
movq -0x28(%rbp), %rdi
addq $0x610, %rdi            # imm = 0x610
movl -0x14(%rbp), %esi
callq 0xaa450
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x59b80
testb $0x1, %al
jne 0xb0e53
jmp 0xb0e5b
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xb0e6f
jmp 0xb0e5d
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0xb0e0b
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/list.cpp
// Function: smooth::GUI::List::GetEntryNumber(smooth::String const&) const
S::Int S::GUI::List::GetEntryNumber(const String &entryText) const
{
	for (Int i = 0; i < elementOrder.Length(); i++)
	{
		ListEntry	*entry = (ListEntry *) elementOrder.GetNth(i);

		if (entry->GetText() == entryText) return i;
	}

	return -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x30(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, -0x34(%rbp)
addq $0x610, %rdi            # imm = 0x610
callq 0x5c990
movl %eax, %ecx
movl -0x34(%rbp), %eax
cmpl %ecx, %eax
jge 0xb0f0c
movq -0x30(%rbp), %rdi
addq $0x610, %rdi            # imm = 0x610
movl -0x1c(%rbp), %esi
callq 0xaa450
movq (%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
movq (%rdi), %rax
callq *0xa8(%rax)
movq %rax, %rdi
movq -0x18(%rbp), %rsi
callq 0x59ac0
testb $0x1, %al
jne 0xb0ef7
jmp 0xb0eff
movl -0x1c(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xb0f13
jmp 0xb0f01
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xb0e9f
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/../../../../../include/smooth/templates/array/arraybackend.h
// Function: smooth::ArrayBackend<bool>::SetNth(int, bool const&)
Bool SetNth(Int n, const s &value)
			{
				WriteLock	 lock(*this);

				if (nOfEntries > n && n >= 0)
				{
					entries[n]->value = value;

					lastAccessedEntry = n;

					return True;
				}

				return False;
			}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rsi
movq %rsi, -0x40(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x593d0
movq -0x40(%rbp), %rax
movl 0x8(%rax), %eax
cmpl -0x14(%rbp), %eax
jle 0xb1172
cmpl $0x0, -0x14(%rbp)
jl 0xb1172
movq -0x40(%rbp), %rdi
movq -0x20(%rbp), %rax
movb (%rax), %al
movb %al, -0x49(%rbp)
addq $0x40, %rdi
movl -0x14(%rbp), %esi
callq 0xaaae0
movq %rax, -0x48(%rbp)
jmp 0xb1135
movq -0x40(%rbp), %rax
movb -0x49(%rbp), %dl
movq -0x48(%rbp), %rcx
movq (%rcx), %rcx
andb $0x1, %dl
movb %dl, (%rcx)
movl -0x14(%rbp), %ecx
movl %ecx, 0x14(%rax)
movb $0x1, -0x1(%rbp)
movl $0x1, -0x38(%rbp)
jmp 0xb117d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5a730
jmp 0xb1191
movb $0x0, -0x1(%rbp)
movl $0x1, -0x38(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5a730
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x50, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listbox.cpp
// Function: smooth::GUI::ListBox::OnChangeSize(smooth::GUI::Size const&)
S::Void S::GUI::ListBox::OnChangeSize(const Size &nSize)
{
	if (scrollbar->IsVisible())
	{
		Int	 headerHeight = (header->IsVisible() ? header->GetHeight() : 0);

		scrollbar->SetHeight(nSize.cy - 2 - headerHeight);
		scrollbar->SetRange(0, GetEntriesHeight() - (GetHeight() - 4 - headerHeight));

		scrollbar->SetPageSize(GetHeight() - 4 - headerHeight);
	}

	header->SetWidth(nSize.cx - 2);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq 0x6c8(%rax), %rdi
movq (%rdi), %rax
callq *0x90(%rax)
testb $0x1, %al
jne 0xb1671
jmp 0xb1725
movq -0x20(%rbp), %rax
movq 0x6d8(%rax), %rdi
movq (%rdi), %rax
callq *0x90(%rax)
testb $0x1, %al
jne 0xb168b
jmp 0xb16a0
movq -0x20(%rbp), %rax
movq 0x6d8(%rax), %rdi
callq 0x5b860
movl %eax, -0x24(%rbp)
jmp 0xb16a7
xorl %eax, %eax
movl %eax, -0x24(%rbp)
jmp 0xb16a7
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
movl %ecx, -0x14(%rbp)
movq 0x6c8(%rax), %rdi
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
subl $0x2, %esi
subl -0x14(%rbp), %esi
callq 0x5bed0
movq -0x20(%rbp), %rdi
movq 0x6c8(%rdi), %rax
movq %rax, -0x38(%rbp)
callq 0x5daf0
movq -0x20(%rbp), %rdi
movl %eax, -0x3c(%rbp)
callq 0x5b860
movl -0x3c(%rbp), %edx
movq -0x38(%rbp), %rdi
subl $0x4, %eax
subl -0x14(%rbp), %eax
subl %eax, %edx
xorl %esi, %esi
callq 0x599a0
movq -0x20(%rbp), %rdi
movq 0x6c8(%rdi), %rax
movq %rax, -0x30(%rbp)
callq 0x5b860
movq -0x30(%rbp), %rdi
movl %eax, %esi
subl $0x4, %esi
subl -0x14(%rbp), %esi
callq 0x5b600
movq -0x20(%rbp), %rax
movq 0x6d8(%rax), %rdi
movq -0x10(%rbp), %rax
movl (%rax), %esi
subl $0x2, %esi
callq 0x5db30
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listbox.cpp
// Function: smooth::GUI::ListBox::OnScrollbarValueChange()
S::Void S::GUI::ListBox::OnScrollbarValueChange()
{
	if (!IsVisible()) return;

	/* Redraw only the list entries.
	 */
	Surface	*surface = GetDrawSurface();

	Rect	 frame		= Rect(GetRealPosition(), GetRealSize());

	Int	 headerHeight	= (header->IsVisible()	  ? header->GetRealSize().cy	: 0);
	Int	 scrollbarWidth	= (scrollbar->IsVisible() ? scrollbar->GetRealSize().cx : 0);

	surface->StartPaint(frame + Point(2, 2 + headerHeight) - Size(4 + scrollbarWidth, 4 + headerHeight));

	Paint(SP_PAINT);

	surface->EndPaint();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x80(%rbp)
movq (%rdi), %rax
callq *0x90(%rax)
testb $0x1, %al
jne 0xb1779
jmp 0xb18d1
movq -0x80(%rbp), %rdi
movq (%rdi), %rax
callq *0x40(%rax)
movq -0x80(%rbp), %rdi
movq %rax, -0x10(%rbp)
movq (%rdi), %rax
callq *0x48(%rax)
movq -0x80(%rbp), %rdi
movq %rax, -0x28(%rbp)
movq (%rdi), %rax
callq *0x50(%rax)
movq %rax, -0x30(%rbp)
leaq -0x20(%rbp), %rdi
leaq -0x28(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x59ff0
movq -0x80(%rbp), %rax
movq 0x6d8(%rax), %rdi
movq (%rdi), %rax
callq *0x90(%rax)
testb $0x1, %al
jne 0xb17ce
jmp 0xb17ee
movq -0x80(%rbp), %rax
movq 0x6d8(%rax), %rdi
movq (%rdi), %rax
callq *0x50(%rax)
movq %rax, -0x3c(%rbp)
movl -0x38(%rbp), %eax
movl %eax, -0x84(%rbp)
jmp 0xb17f8
xorl %eax, %eax
movl %eax, -0x84(%rbp)
jmp 0xb17f8
movq -0x80(%rbp), %rax
movl -0x84(%rbp), %ecx
movl %ecx, -0x34(%rbp)
movq 0x6c8(%rax), %rdi
movq (%rdi), %rax
callq *0x90(%rax)
testb $0x1, %al
jne 0xb181b
jmp 0xb183b
movq -0x80(%rbp), %rax
movq 0x6c8(%rax), %rdi
movq (%rdi), %rax
callq *0x50(%rax)
movq %rax, -0x48(%rbp)
movl -0x48(%rbp), %eax
movl %eax, -0x88(%rbp)
jmp 0xb1845
xorl %eax, %eax
movl %eax, -0x88(%rbp)
jmp 0xb1845
movl -0x88(%rbp), %eax
movl %eax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x90(%rbp)
movl -0x34(%rbp), %edx
addl $0x2, %edx
leaq -0x70(%rbp), %rdi
movl $0x2, %esi
callq 0x5c2c0
leaq -0x20(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x5be80
movq %rax, -0x68(%rbp)
movq %rdx, -0x60(%rbp)
movl -0x40(%rbp), %esi
addl $0x4, %esi
movl -0x34(%rbp), %edx
addl $0x4, %edx
leaq -0x78(%rbp), %rdi
callq 0x59260
leaq -0x68(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x5c040
movq -0x90(%rbp), %rdi
movq %rax, -0x58(%rbp)
movq %rdx, -0x50(%rbp)
leaq -0x58(%rbp), %rsi
callq 0x591b0
movq -0x80(%rbp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *0x78(%rax)
movq -0x10(%rbp), %rdi
callq 0x5d270
addq $0x90, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listbox.cpp
// Function: smooth::GUI::ListBox::GetEntriesHeight() const
S::Int S::GUI::ListBox::GetEntriesHeight() const
{
	Int	 entriesHeight	= 0;

	for (Int i = 0; i < Length(); i++)
	{
		entriesHeight += GetNthEntry(i)->GetHeight();
	}

	return entriesHeight;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movl $0x0, -0xc(%rbp)
movl $0x0, -0x10(%rbp)
movq -0x18(%rbp), %rdi
movl -0x10(%rbp), %eax
movl %eax, -0x1c(%rbp)
movq (%rdi), %rax
callq *0x178(%rax)
movl %eax, %ecx
movl -0x1c(%rbp), %eax
cmpl %ecx, %eax
jge 0xb2aa7
movq -0x18(%rbp), %rdi
movl -0x10(%rbp), %esi
movq (%rdi), %rax
callq *0x180(%rax)
movq %rax, %rdi
callq 0x5b860
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0xb2a62
movl -0xc(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listboxheader.cpp
// Function: smooth::GUI::ListBoxHeader::OnMouseDragStart(smooth::GUI::Point const&)
S::Void S::GUI::ListBoxHeader::OnMouseDragStart(const Point &mousePos)
{
	if (moveTab == -1) return;

	startMousePos = mousePos;

	moveTabStartWidth = tabWidths.GetNth(moveTab);
	lastTabStartWidth = tabWidths.GetNth(tabWidths.Length() - 1);

	draggingTab = True;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpl $-0x1, 0x5b8(%rax)
jne 0xb3e63
jmp 0xb3ed3
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movq %rcx, 0x5c0(%rax)
movq %rax, %rdi
addq $0x630, %rdi            # imm = 0x630
movl 0x5b8(%rax), %esi
callq 0xb5a70
movq -0x18(%rbp), %rdi
movl (%rax), %eax
movl %eax, 0x5c8(%rdi)
movq %rdi, %rax
addq $0x630, %rax            # imm = 0x630
movq %rax, -0x20(%rbp)
addq $0x630, %rdi            # imm = 0x630
callq 0x5c990
movq -0x20(%rbp), %rdi
movl %eax, %esi
subl $0x1, %esi
callq 0xb5a70
movq %rax, %rcx
movq -0x18(%rbp), %rax
movl (%rcx), %ecx
movl %ecx, 0x5cc(%rax)
movb $0x1, 0x5bc(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listboxheader.cpp
// Function: smooth::GUI::ListBoxHeader::OnMouseDrag(smooth::GUI::Point const&)
S::Void S::GUI::ListBoxHeader::OnMouseDrag(const Point &mousePos)
{
	if (!draggingTab) return;

	Int	 bias = Math::Round((startMousePos.x - mousePos.x) * 96.0 / Surface().GetSurfaceDPI());

	if (bias != 0)
	{
		tabWidths.SetNth(moveTab, (Int) Math::Max(Math::Abs(moveTabStartWidth) - bias, 1) * Math::Sign(moveTabStartWidth));
		tabWidths.SetNth(tabWidths.Length() - 1, (Int) Math::Max(Math::Abs(lastTabStartWidth) + bias, 1) * Math::Sign(lastTabStartWidth));

		OnChangeSize(GetSize());

		container->Paint(SP_PAINT);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
testb $0x1, 0x5bc(%rax)
jne 0xb3f09
jmp 0xb40cd
movq -0x48(%rbp), %rax
movl 0x5c0(%rax), %eax
movq -0x10(%rbp), %rcx
movl (%rcx), %ecx
subl %ecx, %eax
cvtsi2sd %eax, %xmm0
movsd 0xd3599(%rip), %xmm1    # 0x1874c0
mulsd %xmm1, %xmm0
movsd %xmm0, -0x68(%rbp)
leaq -0x28(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x59230
movq -0x60(%rbp), %rdx
xorl %eax, %eax
movl %eax, %esi
leaq -0x20(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x5b7d0
movq -0x58(%rbp), %rdi
callq 0x5d470
movw %ax, -0x4a(%rbp)
jmp 0xb3f61
movsd -0x68(%rbp), %xmm0
movw -0x4a(%rbp), %ax
cwtl
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
callq 0x5a970
movq %rax, -0x70(%rbp)
jmp 0xb3f7e
movq -0x70(%rbp), %rax
movl %eax, -0x74(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5c380
movl -0x74(%rbp), %eax
movl %eax, -0x14(%rbp)
cmpl $0x0, -0x14(%rbp)
je 0xb40cd
movq -0x48(%rbp), %rax
movq %rax, %rcx
addq $0x630, %rcx            # imm = 0x630
movq %rcx, -0x98(%rbp)
movl 0x5b8(%rax), %ecx
movl %ecx, -0x90(%rbp)
movl 0x5c8(%rax), %edi
callq 0x5c600
movl %eax, %edi
subl -0x14(%rbp), %edi
movl $0x1, %esi
callq 0x5aae0
movl %eax, %ecx
movq -0x48(%rbp), %rax
movl %ecx, -0x8c(%rbp)
movl 0x5c8(%rax), %edi
callq 0x5c190
movq -0x98(%rbp), %rdi
movl -0x90(%rbp), %esi
movl %eax, %ecx
movl -0x8c(%rbp), %eax
imull %ecx, %eax
movl %eax, -0x38(%rbp)
leaq -0x38(%rbp), %rdx
callq 0xb5b30
movq -0x48(%rbp), %rdi
movq %rdi, %rax
addq $0x630, %rax            # imm = 0x630
movq %rax, -0x88(%rbp)
addq $0x630, %rdi            # imm = 0x630
callq 0x5c990
movl %eax, %ecx
movq -0x48(%rbp), %rax
subl $0x1, %ecx
movl %ecx, -0x7c(%rbp)
movl 0x5cc(%rax), %edi
callq 0x5c600
movl %eax, %edi
addl -0x14(%rbp), %edi
movl $0x1, %esi
callq 0x5aae0
movl %eax, %ecx
movq -0x48(%rbp), %rax
movl %ecx, -0x78(%rbp)
movl 0x5cc(%rax), %edi
callq 0x5c190
movq -0x88(%rbp), %rdi
movl -0x7c(%rbp), %esi
movl %eax, %ecx
movl -0x78(%rbp), %eax
imull %ecx, %eax
movl %eax, -0x3c(%rbp)
leaq -0x3c(%rbp), %rdx
callq 0xb5b30
movq -0x48(%rbp), %rdi
callq 0x5bf70
movq -0x48(%rbp), %rdi
movq %rax, %rsi
callq 0x5dec8
movq -0x48(%rbp), %rax
movq 0x190(%rax), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *0x78(%rax)
jmp 0xb40cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5c380
jmp 0xb40d6
addq $0xa0, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nop
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listboxheader.cpp
// Function: smooth::GUI::ListBoxHeader::OnLeftButtonClick(smooth::GUI::Point const&)
S::Void S::GUI::ListBoxHeader::OnLeftButtonClick(const Point &mousePos)
{
	if (draggingTab) return;

	Surface	*surface = GetDrawSurface();
	Point	 realPos = GetRealPosition();

	for (Int n = 0; n < GetNOfTabs(); n++)
	{
		if (mousePos.x - realPos.x >= GetNthTabOffset(n)		      * surface->GetSurfaceDPI() / 96.0 &&
		    mousePos.x - realPos.x < (GetNthTabOffset(n) + GetNthTabWidth(n)) * surface->GetSurfaceDPI() / 96.0)
		{
			onClickTab.Emit(n);

			break;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
testb $0x1, 0x5bc(%rax)
je 0xb4126
jmp 0xb4242
movq -0x30(%rbp), %rdi
movq (%rdi), %rax
callq *0x40(%rax)
movq -0x30(%rbp), %rdi
movq %rax, -0x18(%rbp)
movq (%rdi), %rax
callq *0x48(%rax)
movq %rax, -0x20(%rbp)
movl $0x0, -0x24(%rbp)
movq -0x30(%rbp), %rdi
movl -0x24(%rbp), %eax
movl %eax, -0x34(%rbp)
callq 0x59690
movl %eax, %ecx
movl -0x34(%rbp), %eax
cmpl %ecx, %eax
jge 0xb4242
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rax
movl (%rax), %eax
subl -0x20(%rbp), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, -0x40(%rbp)
movl -0x24(%rbp), %esi
callq 0x5c240
movl %eax, -0x38(%rbp)
movq -0x18(%rbp), %rdi
callq 0x5d470
movsd -0x40(%rbp), %xmm0
movw %ax, %cx
movl -0x38(%rbp), %eax
movswl %cx, %ecx
imull %ecx, %eax
cvtsi2sd %eax, %xmm1
movsd 0xd3314(%rip), %xmm2    # 0x1874c0
divsd %xmm2, %xmm1
ucomisd %xmm1, %xmm0
jb 0xb4232
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rax
movl (%rax), %eax
subl -0x20(%rbp), %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, -0x50(%rbp)
movl -0x24(%rbp), %esi
callq 0x5c240
movq -0x30(%rbp), %rdi
movl %eax, -0x54(%rbp)
movl -0x24(%rbp), %esi
callq 0x5a900
movl %eax, %ecx
movl -0x54(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x44(%rbp)
movq -0x18(%rbp), %rdi
callq 0x5d470
movsd -0x50(%rbp), %xmm1
movw %ax, %cx
movl -0x44(%rbp), %eax
movswl %cx, %ecx
imull %ecx, %eax
cvtsi2sd %eax, %xmm0
movsd 0xd32ad(%rip), %xmm2    # 0x1874c0
divsd %xmm2, %xmm0
ucomisd %xmm1, %xmm0
jbe 0xb4232
movq -0x30(%rbp), %rdi
addq $0x738, %rdi            # imm = 0x738
movl -0x24(%rbp), %esi
callq 0x907d0
jmp 0xb4242
jmp 0xb4234
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0xb4149
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listboxheader.cpp
// Function: smooth::GUI::ListBoxHeader::OnChangeSize(smooth::GUI::Size const&)
S::Void S::GUI::ListBoxHeader::OnChangeSize(const Size &nSize)
{
	Int	 varSizeTabs	  = 0;
	Int	 sumFixedTabSizes = 0;

	for (Int i = 0; i < tabWidths.Length(); i++)
	{
		if (tabWidths.GetNth(i) <= 0)	varSizeTabs++;
		else				sumFixedTabSizes += tabWidths.GetNth(i);
	}

	if (varSizeTabs > 0)
	{
		for (Int i = 0; i < tabWidths.Length(); i++)
		{
			if (tabWidths.GetNth(i) <= 0) tabWidths.SetNth(i, -Math::Max(0, (GetWidth() - sumFixedTabSizes) / varSizeTabs));
		}
	}

	dragHotspot->SetSize(nSize);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movl $0x0, -0x14(%rbp)
movl $0x0, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x30(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, -0x34(%rbp)
addq $0x630, %rdi            # imm = 0x630
callq 0x5c990
movl %eax, %ecx
movl -0x34(%rbp), %eax
cmpl %ecx, %eax
jge 0xb42e7
movq -0x30(%rbp), %rdi
addq $0x630, %rdi            # imm = 0x630
movl -0x1c(%rbp), %esi
callq 0xb5a70
cmpl $0x0, (%rax)
jg 0xb42bf
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0xb42da
movq -0x30(%rbp), %rdi
addq $0x630, %rdi            # imm = 0x630
movl -0x1c(%rbp), %esi
callq 0xb5a70
movl (%rax), %eax
addl -0x18(%rbp), %eax
movl %eax, -0x18(%rbp)
jmp 0xb42dc
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xb427d
cmpl $0x0, -0x14(%rbp)
jle 0xb4386
movl $0x0, -0x20(%rbp)
movq -0x30(%rbp), %rdi
movl -0x20(%rbp), %eax
movl %eax, -0x38(%rbp)
addq $0x630, %rdi            # imm = 0x630
callq 0x5c990
movl %eax, %ecx
movl -0x38(%rbp), %eax
cmpl %ecx, %eax
jge 0xb4384
movq -0x30(%rbp), %rdi
addq $0x630, %rdi            # imm = 0x630
movl -0x20(%rbp), %esi
callq 0xb5a70
cmpl $0x0, (%rax)
jg 0xb4374
movq -0x30(%rbp), %rdi
movq %rdi, %rax
addq $0x630, %rax            # imm = 0x630
movq %rax, -0x48(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x3c(%rbp)
callq 0x5a210
subl -0x18(%rbp), %eax
cltd
idivl -0x14(%rbp)
movl %eax, %esi
xorl %edi, %edi
callq 0x5aae0
movq -0x48(%rbp), %rdi
movl -0x3c(%rbp), %esi
movl %eax, %ecx
xorl %eax, %eax
subl %ecx, %eax
movl %eax, -0x24(%rbp)
leaq -0x24(%rbp), %rdx
callq 0xb5b30
jmp 0xb4376
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xb42f8
jmp 0xb4386
movq -0x30(%rbp), %rax
movq 0x5d0(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x5de18
addq $0x50, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listboxheader.cpp
// Function: smooth::GUI::ListBoxHeader::EnableLocking(bool)
S::Int S::GUI::ListBoxHeader::EnableLocking(Bool enable)
{
	if (enable)
	{
		tabNames.EnableLocking();
		tabWidths.EnableLocking();
		tabOrientations.EnableLocking();
		tabChecked.EnableLocking();
	}
	else
	{
		tabNames.DisableLocking();
		tabWidths.DisableLocking();
		tabOrientations.DisableLocking();
		tabChecked.DisableLocking();
	}

	return Widget::EnableLocking(enable);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x8(%rbp)
andb $0x1, %al
movb %al, -0x9(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
testb $0x1, -0x9(%rbp)
je 0xb44d4
movq -0x18(%rbp), %rdi
addq $0x5d8, %rdi            # imm = 0x5D8
callq 0x5b830
movq -0x18(%rbp), %rdi
addq $0x630, %rdi            # imm = 0x630
callq 0x5b830
movq -0x18(%rbp), %rdi
addq $0x688, %rdi            # imm = 0x688
callq 0x5b830
movq -0x18(%rbp), %rdi
addq $0x6e0, %rdi            # imm = 0x6E0
callq 0x5b830
jmp 0xb4514
movq -0x18(%rbp), %rdi
addq $0x5d8, %rdi            # imm = 0x5D8
callq 0x5bfb0
movq -0x18(%rbp), %rdi
addq $0x630, %rdi            # imm = 0x630
callq 0x5bfb0
movq -0x18(%rbp), %rdi
addq $0x688, %rdi            # imm = 0x688
callq 0x5bfb0
movq -0x18(%rbp), %rdi
addq $0x6e0, %rdi            # imm = 0x6E0
callq 0x5bfb0
movq -0x18(%rbp), %rdi
movb -0x9(%rbp), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x5db50
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listboxheader.cpp
// Function: smooth::GUI::ListBoxHeader::AddTab(smooth::String const&, int, int)
S::Int S::GUI::ListBoxHeader::AddTab(const String &iTabName, Int iTabWidth, Int iTabOrientation)
{
	tabNames.Add(iTabName);
	tabWidths.Add(iTabWidth);
	tabOrientations.Add(iTabOrientation);
	tabChecked.Add(False);

	OnChangeSize(GetSize());

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl %ecx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x48(%rbp)
addq $0x5d8, %rdi            # imm = 0x5D8
movq -0x10(%rbp), %rsi
callq 0x74750
movq -0x48(%rbp), %rdi
addq $0x630, %rdi            # imm = 0x630
leaq -0x14(%rbp), %rsi
callq 0xb5920
movq -0x48(%rbp), %rdi
addq $0x688, %rdi            # imm = 0x688
leaq -0x18(%rbp), %rsi
callq 0xb5920
movq -0x48(%rbp), %rdi
addq $0x6e0, %rdi            # imm = 0x6E0
leaq 0xd5fe2(%rip), %rsi     # 0x18a57a
callq 0xb5950
movq -0x48(%rbp), %rdi
callq 0x5bf70
movq -0x48(%rbp), %rdi
movq %rax, %rsi
callq 0x5dec8
leaq -0x28(%rbp), %rdi
movq %rdi, -0x40(%rbp)
callq 0x5ca80
movq -0x40(%rbp), %rdi
callq 0x59680
movl %eax, -0x38(%rbp)
jmp 0xb45cd
leaq -0x28(%rbp), %rdi
callq 0x5a410
movl -0x38(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5a410
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listboxheader.cpp
// Function: smooth::GUI::ListBoxHeader::RemoveAllTabs()
S::Int S::GUI::ListBoxHeader::RemoveAllTabs()
{
	tabNames.RemoveAll();
	tabWidths.RemoveAll();
	tabOrientations.RemoveAll();
	tabChecked.RemoveAll();

	OnChangeSize(GetSize());

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x38(%rbp)
addq $0x5d8, %rdi            # imm = 0x5D8
callq 0x74ed0
movq -0x38(%rbp), %rdi
addq $0x630, %rdi            # imm = 0x630
callq 0xb5980
movq -0x38(%rbp), %rdi
addq $0x688, %rdi            # imm = 0x688
callq 0xb5980
movq -0x38(%rbp), %rdi
addq $0x6e0, %rdi            # imm = 0x6E0
callq 0xaa840
movq -0x38(%rbp), %rdi
callq 0x5bf70
movq -0x38(%rbp), %rdi
movq %rax, %rsi
callq 0x5dec8
leaq -0x18(%rbp), %rdi
movq %rdi, -0x30(%rbp)
callq 0x5ca80
movq -0x30(%rbp), %rdi
callq 0x59680
movl %eax, -0x28(%rbp)
jmp 0xb4680
leaq -0x18(%rbp), %rdi
callq 0x5a410
movl -0x28(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x5a410
movq -0x20(%rbp), %rdi
callq 0x5b6b0
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listboxheader.cpp
// Function: smooth::GUI::ListBoxHeader::GetNthTabOffset(int) const
S::Int S::GUI::ListBoxHeader::GetNthTabOffset(Int n) const
{
	if (n >= tabWidths.Length()) return -1;

	Int	 offset = 0;

	for (Int i = 0; i < n; i++)
	{
		offset += (Int) Math::Abs(tabWidths.GetNth(i));
	}

	return offset;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x28(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x20(%rbp)
addq $0x630, %rdi            # imm = 0x630
callq 0x5c990
movl %eax, %ecx
movl -0x20(%rbp), %eax
cmpl %ecx, %eax
jl 0xb471b
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xb4762
movl $0x0, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0xb475c
movq -0x28(%rbp), %rdi
addq $0x630, %rdi            # imm = 0x630
movl -0x1c(%rbp), %esi
callq 0xb5a70
movl (%rax), %edi
callq 0x5c600
addl -0x18(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xb4729
movl -0x18(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listentry.cpp
// Function: smooth::GUI::ListEntry::InitDrag()
S::Void S::GUI::ListEntry::InitDrag()
{
	if (container->GetObjectType() == ListBox::classID)
	{
		Point	 mousePos  = container->GetContainerWindow()->GetMousePosition();
		Point	 entryPos  = GetRealPosition();
		Size	 entrySize = GetRealSize();

		if	(mousePos.y <  entryPos.y		) ((ListBox *) container)->DragSelectedEntry(True);
		else if (mousePos.y >= entryPos.y + entrySize.cy) ((ListBox *) container)->DragSelectedEntry(False);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movq 0x190(%rax), %rdi
callq 0x5bb10
movq %rax, %rdi
movq 0x152006(%rip), %rax    # 0x208f60
movswl (%rax), %esi
callq 0x5bc10
testb $0x1, %al
jne 0xb6f68
jmp 0xb6fe2
movq -0x28(%rbp), %rax
movq 0x190(%rax), %rdi
callq 0x59bc0
movq %rax, %rdi
callq 0x5b090
movq -0x28(%rbp), %rdi
movq %rax, -0x10(%rbp)
movq (%rdi), %rax
callq *0x48(%rax)
movq -0x28(%rbp), %rdi
movq %rax, -0x18(%rbp)
movq (%rdi), %rax
callq *0x50(%rax)
movq %rax, -0x20(%rbp)
movl -0xc(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0xb6fbf
movq -0x28(%rbp), %rax
movq 0x190(%rax), %rdi
movl $0x1, %esi
callq 0x5d290
jmp 0xb6fe0
movl -0xc(%rbp), %eax
movl -0x14(%rbp), %ecx
addl -0x1c(%rbp), %ecx
cmpl %ecx, %eax
jl 0xb6fde
movq -0x28(%rbp), %rax
movq 0x190(%rax), %rdi
xorl %esi, %esi
callq 0x5d290
jmp 0xb6fe0
jmp 0xb6fe2
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listentry.cpp
// Function: smooth::GUI::ListEntry::GetNthTabText(int) const
S::String S::GUI::ListEntry::GetNthTabText(Int i) const
{
	String	 tabText;
	Int	 tabCount = 0;

	for (Int p = 0; p < text.Length(); p++)
	{
		if (tabCount == i)
		{
			for (Int q = p; q < text.Length(); q++)
			{
				if (text[q] == tabDelimiter[0]) break;

				tabText[q - p] = text[q];
			}

			break;
		}

		if (text[p] == tabDelimiter[0]) tabCount++;
	}

	return tabText;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x48(%rbp)
movq %rdi, %rax
movq %rax, -0x40(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movb $0x0, -0x15(%rbp)
xorl %esi, %esi
callq 0x5da90
movl $0x0, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
movq -0x38(%rbp), %rdi
movl -0x20(%rbp), %eax
movl %eax, -0x50(%rbp)
addq $0xf0, %rdi
callq 0x5b800
movl %eax, -0x4c(%rbp)
jmp 0xb8cbd
movl -0x50(%rbp), %eax
movl -0x4c(%rbp), %ecx
cmpl %ecx, %eax
jge 0xb8ded
movl -0x1c(%rbp), %eax
cmpl -0x14(%rbp), %eax
jne 0xb8d9f
movl -0x20(%rbp), %eax
movl %eax, -0x30(%rbp)
movq -0x38(%rbp), %rdi
movl -0x30(%rbp), %eax
movl %eax, -0x58(%rbp)
addq $0xf0, %rdi
callq 0x5b800
movl %eax, -0x54(%rbp)
jmp 0xb8cf8
movl -0x58(%rbp), %eax
movl -0x54(%rbp), %ecx
cmpl %ecx, %eax
jge 0xb8d9d
movq -0x38(%rbp), %rdi
addq $0xf0, %rdi
movl -0x30(%rbp), %esi
callq 0x5c900
movl %eax, -0x5c(%rbp)
jmp 0xb8d1e
movq 0x14fe7b(%rip), %rdi    # 0x208ba0
xorl %esi, %esi
callq 0x5c900
movl %eax, -0x60(%rbp)
jmp 0xb8d31
movl -0x5c(%rbp), %eax
movl -0x60(%rbp), %ecx
cmpl %ecx, %eax
jne 0xb8d57
jmp 0xb8d9d
movq -0x48(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
callq 0x5df00
jmp 0xb8e0d
movq -0x38(%rbp), %rdi
addq $0xf0, %rdi
movl -0x30(%rbp), %esi
callq 0x5c900
movl %eax, -0x64(%rbp)
jmp 0xb8d6f
movq -0x48(%rbp), %rdi
movl -0x30(%rbp), %esi
movl -0x20(%rbp), %eax
subl %eax, %esi
callq 0x5d4e0
movq %rax, -0x70(%rbp)
jmp 0xb8d86
movq -0x70(%rbp), %rax
movl -0x64(%rbp), %ecx
movl %ecx, (%rax)
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0xb8cdd
jmp 0xb8ded
movq -0x38(%rbp), %rdi
addq $0xf0, %rdi
movl -0x20(%rbp), %esi
callq 0x5c900
movl %eax, -0x74(%rbp)
jmp 0xb8db7
movq 0x14fde2(%rip), %rdi    # 0x208ba0
xorl %esi, %esi
callq 0x5c900
movl %eax, -0x78(%rbp)
jmp 0xb8dca
movl -0x74(%rbp), %eax
movl -0x78(%rbp), %ecx
cmpl %ecx, %eax
jne 0xb8ddd
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xb8ddf
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xb8ca2
movb $0x1, -0x15(%rbp)
testb $0x1, -0x15(%rbp)
jne 0xb8e00
movq -0x48(%rbp), %rdi
callq 0x5df00
movq -0x40(%rbp), %rax
addq $0x80, %rsp
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listentry.cpp
// Function: smooth::GUI::ListEntry::SetMark(bool)
S::Int S::GUI::ListEntry::SetMark(Bool nMarked)
{
	if (nMarked == marked) return Success();

	marked = nMarked;

	if (IsRegistered())
	{
		Paint(SP_PAINT);

		((List *) container)->onMarkEntry.Emit(this);
	}

	onToggleMark.Emit(marked);

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
andb $0x1, %al
movb %al, -0x11(%rbp)
movq -0x10(%rbp), %rcx
movq %rcx, -0x50(%rbp)
movb -0x11(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movb 0x5b8(%rcx), %cl
andb $0x1, %cl
movzbl %cl, %ecx
cmpl %ecx, %eax
jne 0xb8e9d
leaq -0x28(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x5ca80
movq -0x60(%rbp), %rdi
callq 0x59680
movl %eax, -0x54(%rbp)
jmp 0xb8e6f
movl -0x54(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5a410
jmp 0xb8f3e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5a410
jmp 0xb8f47
movq -0x50(%rbp), %rdi
movb -0x11(%rbp), %al
andb $0x1, %al
movb %al, 0x5b8(%rdi)
movq (%rdi), %rax
callq *0x88(%rax)
testb $0x1, %al
jne 0xb8ebb
jmp 0xb8ede
movq -0x50(%rbp), %rdi
movq (%rdi), %rax
xorl %esi, %esi
callq *0x78(%rax)
movq -0x50(%rbp), %rsi
movq 0x190(%rsi), %rdi
addq $0x6a8, %rdi            # imm = 0x6A8
callq 0x97840
movq -0x50(%rbp), %rax
movq %rax, %rdi
addq $0x610, %rdi            # imm = 0x610
movzbl 0x5b8(%rax), %esi
andl $0x1, %esi
callq 0xb95f0
leaq -0x48(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x5ca80
movq -0x70(%rbp), %rdi
callq 0x59680
movl %eax, -0x64(%rbp)
jmp 0xb8f16
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5a410
jmp 0xb8f3e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5a410
jmp 0xb8f47
movl -0x4(%rbp), %eax
addq $0x70, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listentry.cpp
// Function: smooth::GUI::ListEntry::Select()
S::Int S::GUI::ListEntry::Select()
{
	selected = True;

	internalOnSelectEntry.Emit(container->GetHandle(), GetHandle());

	Paint(SP_PAINT);

	((List *) container)->onSelectEntry.Emit(this);

	onSelect.Emit();

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movb $0x1, 0x5b9(%rax)
movq 0x190(%rax), %rdi
callq 0x5d050
movq -0x38(%rbp), %rdi
movl %eax, -0x3c(%rbp)
callq 0x5d050
movl -0x3c(%rbp), %esi
movl %eax, %edx
movq 0x14fd09(%rip), %rdi    # 0x208c98
callq 0x908f0
movq -0x38(%rbp), %rdi
movq (%rdi), %rax
movq 0x78(%rax), %rax
xorl %esi, %esi
callq *%rax
movq -0x38(%rbp), %rsi
movq 0x190(%rsi), %rdi
addq $0x688, %rdi            # imm = 0x688
callq 0x97840
movq -0x38(%rbp), %rdi
addq $0x5d0, %rdi            # imm = 0x5D0
callq 0x8af60
leaq -0x18(%rbp), %rdi
movq %rdi, -0x30(%rbp)
callq 0x5ca80
movq -0x30(%rbp), %rdi
callq 0x59680
movl %eax, -0x28(%rbp)
jmp 0xb8fe5
leaq -0x18(%rbp), %rdi
callq 0x5a410
movl -0x28(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x5a410
movq -0x20(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listentry.cpp
// Function: smooth::GUI::ListEntry::Deselect()
S::Int S::GUI::ListEntry::Deselect()
{
	selected = False;

	Paint(SP_PAINT);

	onDeselect.Emit();

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x38(%rbp)
movb $0x0, 0x5b9(%rdi)
movq (%rdi), %rax
movq 0x78(%rax), %rax
xorl %esi, %esi
callq *%rax
movq -0x38(%rbp), %rdi
addq $0x5f0, %rdi            # imm = 0x5F0
callq 0x8af60
leaq -0x18(%rbp), %rdi
movq %rdi, -0x30(%rbp)
callq 0x5ca80
movq -0x30(%rbp), %rdi
callq 0x59680
movl %eax, -0x28(%rbp)
jmp 0xb9071
leaq -0x18(%rbp), %rdi
callq 0x5a410
movl -0x28(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x5a410
movq -0x20(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listentryseparator.cpp
// Function: smooth::GUI::ListEntrySeparator::ListEntrySeparator()
S::GUI::ListEntrySeparator::ListEntrySeparator() : ListEntry(NIL)
{
	type		= classID;

	font.SetColor(Setup::InactiveTextColor);

	SetHeight(3);

	Remove(hotspot);
	Remove(markHotspot);

	internalOnSelectEntry.Disconnect(&ListEntry::OnSelectOtherEntry, this);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0x20(%rbp), %rdi
movq %rdi, -0x48(%rbp)
xorl %esi, %esi
callq 0x5da90
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0x59350
jmp 0xb9d92
leaq -0x20(%rbp), %rdi
callq 0x5df00
movq -0x50(%rbp), %rdi
movq 0x14e5fa(%rip), %rax    # 0x2083a0
addq $0x10, %rax
movq %rax, (%rdi)
movq 0x14edf4(%rip), %rax    # 0x208ba8
movswl (%rax), %esi
addq $0x20, %rdi
callq 0x5a2e0
jmp 0xb9dc2
movq -0x50(%rbp), %rdi
addq $0x140, %rdi            # imm = 0x140
movq 0x14eb5c(%rip), %rsi    # 0x208930
callq 0x5d110
jmp 0xb9ddb
movq -0x50(%rbp), %rdi
movl $0x3, %esi
callq 0x5bed0
jmp 0xb9deb
movq -0x50(%rbp), %rdi
movq 0x5c0(%rdi), %rsi
movq (%rdi), %rax
movq 0x38(%rax), %rax
callq *%rax
jmp 0xb9e01
movq -0x50(%rbp), %rdi
movq 0x5c8(%rdi), %rsi
movq (%rdi), %rax
movq 0x38(%rax), %rax
callq *%rax
jmp 0xb9e17
movq -0x50(%rbp), %rcx
movq 0x14e6c6(%rip), %rax    # 0x2084e8
movq %rax, -0x40(%rbp)
movq $0x0, -0x38(%rbp)
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rdx
movq 0x14ee5b(%rip), %rdi    # 0x208c98
callq 0xba1c0
jmp 0xb9e44
addq $0x50, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5df00
jmp 0xb9e76
movq -0x50(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
callq 0x5dba0
movq -0x28(%rbp), %rdi
callq 0x5b6b0
nop
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/list/listentryseparator.cpp
// Function: smooth::GUI::ListEntrySeparator::Paint(int)
S::Int S::GUI::ListEntrySeparator::Paint(Int message)
{
	if (!IsRegistered()) return Error();
	if (!IsVisible())    return Success();

	switch (message)
	{
		case SP_PAINT:
			{
				Surface	*surface = GetDrawSurface();
				Rect	 frame	 = Rect(GetRealPosition(), GetRealSize());

				surface->Box(frame + Point(4, 1) - Size(8, 2), font.GetColor(), Rect::Filled);
			}
	}

	return Widget::Paint(message);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
movq (%rdi), %rax
callq *0x88(%rax)
testb $0x1, %al
jne 0xb9fb4
leaq -0x28(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0xc0(%rbp), %rdi
callq 0x59680
movl %eax, -0xb4(%rbp)
jmp 0xb9f83
movl -0xb4(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xba14d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xba159
movq -0xb0(%rbp), %rdi
movq (%rdi), %rax
callq *0x90(%rax)
testb $0x1, %al
jne 0xba01d
leaq -0x48(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x5ca80
movq -0xd0(%rbp), %rdi
callq 0x59680
movl %eax, -0xc4(%rbp)
jmp 0xb9fec
movl -0xc4(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5a410
jmp 0xba14d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5a410
jmp 0xba159
movl -0x14(%rbp), %eax
testl %eax, %eax
jne 0xba13b
jmp 0xba02a
movq -0xb0(%rbp), %rdi
movq (%rdi), %rax
callq *0x40(%rax)
movq -0xb0(%rbp), %rdi
movq %rax, -0x50(%rbp)
movq (%rdi), %rax
callq *0x48(%rax)
movq -0xb0(%rbp), %rdi
movq %rax, -0x68(%rbp)
movq (%rdi), %rax
callq *0x50(%rax)
movq %rax, -0x70(%rbp)
leaq -0x60(%rbp), %rdi
leaq -0x68(%rbp), %rsi
leaq -0x70(%rbp), %rdx
callq 0x59ff0
movq -0x50(%rbp), %rax
movq %rax, -0xe8(%rbp)
leaq -0x98(%rbp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x5c2c0
leaq -0x60(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x5be80
movq %rax, -0x90(%rbp)
movq %rdx, -0x88(%rbp)
leaq -0xa0(%rbp), %rdi
movl $0x8, %esi
movl $0x2, %edx
callq 0x59260
leaq -0x90(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x5c040
movq -0xb0(%rbp), %rdi
movq %rax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
addq $0x140, %rdi            # imm = 0x140
callq 0x5bc50
movq %rax, -0xe0(%rbp)
movq 0x14eea1(%rip), %rax    # 0x208fa0
movl (%rax), %eax
movl %eax, -0xd4(%rbp)
leaq -0xa8(%rbp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x59260
movq -0xe8(%rbp), %rdi
movq -0xe0(%rbp), %rdx
movl -0xd4(%rbp), %ecx
leaq -0x80(%rbp), %rsi
leaq -0xa8(%rbp), %r8
callq 0x5c110
movq -0xb0(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x5acb0
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0xf0, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/multi/menu/menubar.cpp
// Function: smooth::GUI::Menubar::Menubar()
S::GUI::Menubar::Menubar()
{
	type		= classID;
	orientation	= OR_TOP;
	subtype		= WO_SEPARATOR;

#ifdef __APPLE__
	menubarCocoa = NIL;
#endif

	SetSize(Size(18, 18));

	onRegister.Connect(&Menubar::OnRegister, this);
	onUnregister.Connect(&Menubar::OnUnregister, this);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x48(%rbp)
callq 0x5bdc0
movq -0x48(%rbp), %rdi
movq 0x14eb14(%rip), %rax    # 0x208f88
addq $0x10, %rax
movq %rax, (%rdi)
movq 0x14e366(%rip), %rax    # 0x2087e8
movswl (%rax), %esi
addq $0x20, %rdi
callq 0x5a2e0
jmp 0xba490
movq -0x48(%rbp), %rax
movw $0x4, 0xd0(%rax)
movw $0x1, 0x1a0(%rax)
leaq -0x1c(%rbp), %rdi
movl $0x12, %edx
movl %edx, %esi
callq 0x59260
jmp 0xba4b8
movq -0x48(%rbp), %rdi
leaq -0x1c(%rbp), %rsi
callq 0x5de18
jmp 0xba4c7
movq -0x48(%rbp), %rcx
movq %rcx, %rdi
addq $0x558, %rdi            # imm = 0x558
movq 0x14e164(%rip), %rax    # 0x208640
movq %rax, -0x30(%rbp)
movq $0x0, -0x28(%rbp)
movq -0x30(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0xbb4b0
jmp 0xba4f7
movq -0x48(%rbp), %rcx
movq %rcx, %rdi
addq $0x578, %rdi            # imm = 0x578
movq 0x14e48c(%rip), %rax    # 0x208998
movq %rax, -0x40(%rbp)
movq $0x0, -0x38(%rbp)
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rdx
callq 0xbb4b0
jmp 0xba527
addq $0x50, %rsp
popq %rbp
retq
movq -0x48(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x59620
movq -0x10(%rbp), %rdi
callq 0x5b6b0
nopl (%rax,%rax)