LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/window.cpp
// Function: smooth::GUI::Window::SetStatusText(smooth::String const&)
S::Int S::GUI::Window::SetStatusText(const String &nStatus)
{
	for (Int i = 0; i < GetNOfObjects(); i++)
	{
		Widget *widget = GetNthObject(i);

		if (widget == NIL) continue;

		if (widget->GetObjectType() == Statusbar::classID)
		{
			widget->SetText(nStatus);

			return Success();
		}
	}

	return Error();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x60(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, -0x64(%rbp)
callq 0x5b470
movl %eax, %ecx
movl -0x64(%rbp), %eax
cmpl %ecx, %eax
jge 0xd71cf
movq -0x60(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x5c230
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0xd7147
jmp 0xd71c1
movq -0x28(%rbp), %rdi
callq 0x5bb10
movq %rax, %rdi
movq 0x13130e(%rip), %rax    # 0x208468
movswl (%rax), %esi
callq 0x5bc10
testb $0x1, %al
jne 0xd7168
jmp 0xd71bf
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq (%rdi), %rax
movq 0xa0(%rax), %rax
callq *%rax
leaq -0x38(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x5ca80
movq -0x70(%rbp), %rdi
callq 0x59680
movl %eax, -0x68(%rbp)
jmp 0xd7197
movl -0x68(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x5a410
jmp 0xd7217
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x5a410
jmp 0xd7223
jmp 0xd71c1
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xd7112
leaq -0x58(%rbp), %rdi
movq %rdi, -0x80(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x80(%rbp), %rdi
callq 0x59680
movl %eax, -0x74(%rbp)
jmp 0xd71ef
movl -0x74(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x5b5b0
jmp 0xd7217
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x5b5b0
jmp 0xd7223
movl -0x4(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x5b6b0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/window.cpp
// Function: smooth::GUI::Window::GetStatusText() const
const S::String &S::GUI::Window::GetStatusText() const
{
	for (Int i = 0; i < GetNOfObjects(); i++)
	{
		Widget *widget = GetNthObject(i);

		if (widget == NIL) continue;

		if (widget->GetObjectType() == Statusbar::classID) return widget->GetText();
	}

	return defaultStatus;
}

// 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)
callq 0x5b470
movl %eax, %ecx
movl -0x2c(%rbp), %eax
cmpl %ecx, %eax
jge 0xd72bd
movq -0x28(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x5c230
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0xd727c
jmp 0xd72b2
movq -0x20(%rbp), %rdi
callq 0x5bb10
movq %rax, %rdi
movq 0x1311d9(%rip), %rax    # 0x208468
movswl (%rax), %esi
callq 0x5bc10
testb $0x1, %al
jne 0xd729d
jmp 0xd72b0
movq -0x20(%rbp), %rdi
movq (%rdi), %rax
callq *0xa8(%rax)
movq %rax, -0x8(%rbp)
jmp 0xd72cb
jmp 0xd72b2
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0xd724b
movq -0x28(%rbp), %rax
addq $0x600, %rax            # imm = 0x600
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/window.cpp
// Function: smooth::GUI::Window::RestoreDefaultStatusText()
S::Int S::GUI::Window::RestoreDefaultStatusText()
{
	for (Int i = 0; i < GetNOfObjects(); i++)
	{
		Widget *widget = GetNthObject(i);

		if (widget == NIL) continue;

		if (widget->GetObjectType() == Statusbar::classID)
		{
			widget->SetText(defaultStatus);

			break;
		}
	}

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movl $0x0, -0xc(%rbp)
movq -0x40(%rbp), %rdi
movl -0xc(%rbp), %eax
movl %eax, -0x44(%rbp)
callq 0x5b470
movl %eax, %ecx
movl -0x44(%rbp), %eax
cmpl %ecx, %eax
jge 0xd73f4
movq -0x40(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x5c230
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0xd73ac
jmp 0xd73e9
movq -0x18(%rbp), %rdi
callq 0x5bb10
movq %rax, %rdi
movq 0x1310a9(%rip), %rax    # 0x208468
movswl (%rax), %esi
callq 0x5bc10
testb $0x1, %al
jne 0xd73cd
jmp 0xd73e7
movq -0x40(%rbp), %rsi
movq -0x18(%rbp), %rdi
addq $0x600, %rsi            # imm = 0x600
movq (%rdi), %rax
callq *0xa0(%rax)
jmp 0xd73f4
jmp 0xd73e9
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0xd737b
leaq -0x28(%rbp), %rdi
movq %rdi, -0x50(%rbp)
callq 0x5ca80
movq -0x50(%rbp), %rdi
callq 0x59680
movl %eax, -0x48(%rbp)
jmp 0xd740f
leaq -0x28(%rbp), %rdi
callq 0x5a410
movl -0x48(%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
nop
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/window.cpp
// Function: smooth::GUI::Window::SetRightToLeft(bool)
S::Int S::GUI::Window::SetRightToLeft(Bool nRightToLeft)
{
	Surface	*surface = GetDrawSurface();

	surface->SetRightToLeft(nRightToLeft);

	layoutDirection = (nRightToLeft ? LD_RIGHTTOLEFT : LD_LEFTTORIGHT);

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movb %sil, %al
movq %rdi, -0x8(%rbp)
andb $0x1, %al
movb %al, -0x9(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x48(%rbp)
movq (%rdi), %rax
movq 0x40(%rax), %rax
callq *%rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movzbl -0x9(%rbp), %esi
andl $0x1, %esi
callq 0x5cf20
movq -0x48(%rbp), %rax
movzbl -0x9(%rbp), %ecx
andl $0x1, %ecx
incl %ecx
movl %ecx, 0x618(%rax)
leaq -0x28(%rbp), %rdi
movq %rdi, -0x40(%rbp)
callq 0x5ca80
movq -0x40(%rbp), %rdi
callq 0x59680
movl %eax, -0x38(%rbp)
jmp 0xd7517
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
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/window.cpp
// Function: smooth::GUI::Window::Show()
S::Int S::GUI::Window::Show()
{
	order = Object::RequestObjectHandle();

	if (!created) Create();

	backend->SetMetrics(GetPosition(), GetSize());

	onChangePosition.Emit(GetPosition());
	onChangeSize.Emit(GetSize());

	if (maximized && !visibilitySet)
	{
		backend->Hide();

		maximized = False;
		Maximize();
	}

	if (minimized && !visibilitySet)
	{
		backend->Hide();

		minimized = False;
		Minimize();
	}

	visible	      = True;
	visibilitySet = True;

	backend->Show();

	onShow.Emit();

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
callq 0x59e10
movl %eax, %ecx
movq -0x30(%rbp), %rax
movl %ecx, 0x5b8(%rax)
testb $0x1, 0x5ca(%rax)
jne 0xd75cb
movq -0x30(%rbp), %rdi
movq (%rdi), %rax
callq *0x168(%rax)
movq -0x30(%rbp), %rdi
movq 0x5c0(%rdi), %rax
movq %rax, -0x50(%rbp)
callq 0x5d740
movq -0x30(%rbp), %rdi
movq %rax, -0x48(%rbp)
callq 0x5bf70
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
movq %rax, %rdx
movq (%rdi), %rax
callq *0x90(%rax)
movq -0x30(%rbp), %rdi
movq %rdi, %rax
addq $0x278, %rax            # imm = 0x278
movq %rax, -0x40(%rbp)
callq 0x5d740
movq -0x40(%rbp), %rdi
movq %rax, %rsi
callq 0x8b580
movq -0x30(%rbp), %rdi
movq %rdi, %rax
addq $0x298, %rax            # imm = 0x298
movq %rax, -0x38(%rbp)
callq 0x5bf70
movq -0x38(%rbp), %rdi
movq %rax, %rsi
callq 0x8bd10
movq -0x30(%rbp), %rax
testb $0x1, 0x5c8(%rax)
je 0xd7682
movq -0x30(%rbp), %rax
testb $0x1, 0x5cc(%rax)
jne 0xd7682
movq -0x30(%rbp), %rax
movq 0x5c0(%rax), %rdi
movq (%rdi), %rax
callq *0x80(%rax)
movq -0x30(%rbp), %rdi
movb $0x0, 0x5c8(%rdi)
callq 0x59150
movq -0x30(%rbp), %rax
testb $0x1, 0x5c9(%rax)
je 0xd76c0
movq -0x30(%rbp), %rax
testb $0x1, 0x5cc(%rax)
jne 0xd76c0
movq -0x30(%rbp), %rax
movq 0x5c0(%rax), %rdi
movq (%rdi), %rax
callq *0x80(%rax)
movq -0x30(%rbp), %rdi
movb $0x0, 0x5c9(%rdi)
callq 0x5d080
movq -0x30(%rbp), %rax
movb $0x1, 0xcb(%rax)
movb $0x1, 0x5cc(%rax)
movq 0x5c0(%rax), %rdi
movq (%rdi), %rax
movq 0x78(%rax), %rax
callq *%rax
movq -0x30(%rbp), %rdi
addq $0x1f8, %rdi            # imm = 0x1F8
callq 0x8af60
leaq -0x18(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x5ca80
movq -0x60(%rbp), %rdi
callq 0x59680
movl %eax, -0x54(%rbp)
jmp 0xd770d
leaq -0x18(%rbp), %rdi
callq 0x5a410
movl -0x54(%rbp), %eax
addq $0x60, %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
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/window.cpp
// Function: smooth::GUI::Window::Maximize()
S::Int S::GUI::Window::Maximize()
{
	if (maximized) return Success();

	if (!created)
	{
		maximized = True;

		return Success();
	}

	backend->Maximize();

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
testb $0x1, 0x5c8(%rax)
je 0xd77a9
leaq -0x20(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x5ca80
movq -0x68(%rbp), %rdi
callq 0x59680
movl %eax, -0x5c(%rbp)
jmp 0xd777b
movl -0x5c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5a410
jmp 0xd7864
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5a410
jmp 0xd7870
movq -0x58(%rbp), %rax
testb $0x1, 0x5ca(%rax)
jne 0xd7804
movq -0x58(%rbp), %rax
movb $0x1, 0x5c8(%rax)
leaq -0x40(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x5ca80
movq -0x78(%rbp), %rdi
callq 0x59680
movl %eax, -0x6c(%rbp)
jmp 0xd77dc
movl -0x6c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x5a410
jmp 0xd7864
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x5a410
jmp 0xd7870
movq -0x58(%rbp), %rax
movq 0x5c0(%rax), %rdi
movq (%rdi), %rax
movq 0xa0(%rax), %rax
callq *%rax
leaq -0x50(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x5ca80
movq -0x88(%rbp), %rdi
callq 0x59680
movl %eax, -0x7c(%rbp)
jmp 0xd783c
movl -0x7c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5a410
jmp 0xd7864
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5a410
jmp 0xd7870
movl -0x4(%rbp), %eax
addq $0x90, %rsp
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0x5b6b0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/window.cpp
// Function: smooth::GUI::Window::Minimize()
S::Int S::GUI::Window::Minimize()
{
	if (minimized) return Success();

	if (!created)
	{
		minimized = True;

		return Success();
	}

	backend->Minimize();

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
testb $0x1, 0x5c9(%rax)
je 0xd78e9
leaq -0x20(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x5ca80
movq -0x68(%rbp), %rdi
callq 0x59680
movl %eax, -0x5c(%rbp)
jmp 0xd78bb
movl -0x5c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5a410
jmp 0xd79a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5a410
jmp 0xd79b0
movq -0x58(%rbp), %rax
testb $0x1, 0x5ca(%rax)
jne 0xd7944
movq -0x58(%rbp), %rax
movb $0x1, 0x5c9(%rax)
leaq -0x40(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x5ca80
movq -0x78(%rbp), %rdi
callq 0x59680
movl %eax, -0x6c(%rbp)
jmp 0xd791c
movl -0x6c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x5a410
jmp 0xd79a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x5a410
jmp 0xd79b0
movq -0x58(%rbp), %rax
movq 0x5c0(%rax), %rdi
movq (%rdi), %rax
movq 0x98(%rax), %rax
callq *%rax
leaq -0x50(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x5ca80
movq -0x88(%rbp), %rdi
callq 0x59680
movl %eax, -0x7c(%rbp)
jmp 0xd797c
movl -0x7c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5a410
jmp 0xd79a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5a410
jmp 0xd79b0
movl -0x4(%rbp), %eax
addq $0x90, %rsp
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0x5b6b0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/window.cpp
// Function: smooth::GUI::Window::Hide()
S::Int S::GUI::Window::Hide()
{
	if (!visible) return Success();

	if (created) backend->Hide();

	visible	      = False;
	visibilitySet = True;

	onHide.Emit();

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
testb $0x1, 0xcb(%rax)
jne 0xd7a26
leaq -0x20(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x5ca80
movq -0x58(%rbp), %rdi
callq 0x59680
movl %eax, -0x4c(%rbp)
jmp 0xd79f8
movl -0x4c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5a410
jmp 0xd7aa8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5a410
jmp 0xd7ab1
movq -0x48(%rbp), %rax
testb $0x1, 0x5ca(%rax)
je 0xd7a47
movq -0x48(%rbp), %rax
movq 0x5c0(%rax), %rdi
movq (%rdi), %rax
callq *0x80(%rax)
movq -0x48(%rbp), %rdi
movb $0x0, 0xcb(%rdi)
movb $0x1, 0x5cc(%rdi)
addq $0x218, %rdi            # imm = 0x218
callq 0x8af60
leaq -0x40(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x5ca80
movq -0x68(%rbp), %rdi
callq 0x59680
movl %eax, -0x5c(%rbp)
jmp 0xd7a80
movl -0x5c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x5a410
jmp 0xd7aa8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x5a410
jmp 0xd7ab1
movl -0x4(%rbp), %eax
addq $0x70, %rsp
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0x5b6b0
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/window.cpp
// Function: smooth::GUI::Window::Restore()
S::Int S::GUI::Window::Restore()
{
	if (!maximized && !minimized) return Success();

	if (!created)
	{
		maximized = False;
		minimized = False;

		return Success();
	}

	backend->Restore();

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
testb $0x1, 0x5c8(%rax)
jne 0xd7b36
movq -0x58(%rbp), %rax
testb $0x1, 0x5c9(%rax)
jne 0xd7b36
leaq -0x20(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x5ca80
movq -0x68(%rbp), %rdi
callq 0x59680
movl %eax, -0x5c(%rbp)
jmp 0xd7b08
movl -0x5c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5a410
jmp 0xd7bf8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5a410
jmp 0xd7c04
movq -0x58(%rbp), %rax
testb $0x1, 0x5ca(%rax)
jne 0xd7b98
movq -0x58(%rbp), %rax
movb $0x0, 0x5c8(%rax)
movb $0x0, 0x5c9(%rax)
leaq -0x40(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x5ca80
movq -0x78(%rbp), %rdi
callq 0x59680
movl %eax, -0x6c(%rbp)
jmp 0xd7b70
movl -0x6c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x5a410
jmp 0xd7bf8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x5a410
jmp 0xd7c04
movq -0x58(%rbp), %rax
movq 0x5c0(%rax), %rdi
movq (%rdi), %rax
movq 0xa8(%rax), %rax
callq *%rax
leaq -0x50(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x5ca80
movq -0x88(%rbp), %rdi
callq 0x59680
movl %eax, -0x7c(%rbp)
jmp 0xd7bd0
movl -0x7c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5a410
jmp 0xd7bf8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5a410
jmp 0xd7c04
movl -0x4(%rbp), %eax
addq $0x90, %rsp
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0x5b6b0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/window.cpp
// Function: smooth::GUI::Window::Create()
S::Bool S::GUI::Window::Create()
{
	if (!IsRegistered() || created) return False;

#ifdef __WIN32__
	if (flags & WF_NORESIZE) frameWidth = 4;
#endif

	/* Check if there is a titlebar.
	 */
	flags |= WF_NOTITLE;

	for (Int i = 0; i < GetNOfObjects(); i++)
	{
		Widget	*widget = GetNthObject(i);

		if (widget->GetObjectType() == Titlebar::classID) { flags ^= WF_NOTITLE; break; }
	}

	/* Open the new window.
	 */
	if (backend->Open(text, GetPosition(), GetSize(), flags) == Success())
	{
		Surface	*surface = GetDrawSurface();

		surface->SetRightToLeft(IsRightToLeft());

		visible = False;

		return True;
	}

	return False;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x50(%rbp)
movq (%rdi), %rax
callq *0x88(%rax)
testb $0x1, %al
jne 0xd7fc6
jmp 0xd7fd3
movq -0x50(%rbp), %rax
testb $0x1, 0x5ca(%rax)
je 0xd7fdc
movb $0x0, -0x1(%rbp)
jmp 0xd813e
movq -0x50(%rbp), %rax
movl 0x30(%rax), %ecx
orl $0x4000, %ecx           # imm = 0x4000
movl %ecx, 0x30(%rax)
movl $0x0, -0x14(%rbp)
movq -0x50(%rbp), %rdi
movl -0x14(%rbp), %eax
movl %eax, -0x54(%rbp)
callq 0x5b470
movl %eax, %ecx
movl -0x54(%rbp), %eax
cmpl %ecx, %eax
jge 0xd805b
movq -0x50(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x5c230
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x5bb10
movq %rax, %rdi
movq 0x1307f2(%rip), %rax    # 0x208820
movswl (%rax), %esi
callq 0x5bc10
testb $0x1, %al
jne 0xd803c
jmp 0xd804e
movq -0x50(%rbp), %rax
movl 0x30(%rax), %ecx
xorl $0x4000, %ecx           # imm = 0x4000
movl %ecx, 0x30(%rax)
jmp 0xd805b
jmp 0xd8050
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0xd7ff3
movq -0x50(%rbp), %rdi
movq 0x5c0(%rdi), %rax
movq %rax, -0x80(%rbp)
movq %rdi, %rax
addq $0xf0, %rax
movq %rax, -0x78(%rbp)
callq 0x5d740
movq -0x50(%rbp), %rdi
movq %rax, -0x70(%rbp)
callq 0x5bf70
movq -0x80(%rbp), %rdi
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdx
movq %rax, %rcx
movq -0x50(%rbp), %rax
movl 0x30(%rax), %r8d
movq (%rdi), %rax
movq 0x20(%rax), %rax
callq *%rax
movl %eax, -0x64(%rbp)
leaq -0x30(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x5ca80
movq -0x60(%rbp), %rdi
callq 0x59680
movl %eax, -0x58(%rbp)
jmp 0xd80c7
leaq -0x30(%rbp), %rdi
callq 0x5a410
movl -0x58(%rbp), %ecx
movl -0x64(%rbp), %eax
cmpl %ecx, %eax
jne 0xd813a
movq -0x50(%rbp), %rdi
movq (%rdi), %rax
callq *0x40(%rax)
movq -0x50(%rbp), %rdi
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x88(%rbp)
movq (%rdi), %rax
callq *0x160(%rax)
movq -0x88(%rbp), %rdi
movzbl %al, %esi
andl $0x1, %esi
callq 0x5cf20
movq -0x50(%rbp), %rax
movb $0x0, 0xcb(%rax)
movb $0x1, -0x1(%rbp)
jmp 0xd813e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x5a410
jmp 0xd814c
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x90, %rsp
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/window.cpp
// Function: smooth::GUI::Window::WaitUntilClosed()
S::Int S::GUI::Window::WaitUntilClosed()
{
	if (!IsRegistered()) return Error();

	if (!created) Create();
	if (!visible) Show();

	/* Wait here until window is closed.
	 */
	System::EventProcessor	 event;

	while (!destroyed) event.ProcessNextEvent();

	/* Sleep while Window is still in use.
	 */
	while (IsObjectInUse()) S::System::System::Sleep(10);

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x58(%rbp)
movq (%rdi), %rax
callq *0x88(%rax)
testb $0x1, %al
jne 0xd81cf
leaq -0x20(%rbp), %rdi
movq %rdi, -0x68(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x68(%rbp), %rdi
callq 0x59680
movl %eax, -0x5c(%rbp)
jmp 0xd81a1
movl -0x5c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5b5b0
jmp 0xd82b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5b5b0
jmp 0xd82b9
movq -0x58(%rbp), %rax
testb $0x1, 0x5ca(%rax)
jne 0xd81e9
movq -0x58(%rbp), %rdi
movq (%rdi), %rax
callq *0x168(%rax)
movq -0x58(%rbp), %rax
testb $0x1, 0xcb(%rax)
jne 0xd8200
movq -0x58(%rbp), %rdi
movq (%rdi), %rax
callq *0x58(%rax)
leaq -0x40(%rbp), %rdi
callq 0x5b8f0
movq -0x58(%rbp), %rax
movb 0x5cb(%rax), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0xd821b
jmp 0xd8236
leaq -0x40(%rbp), %rdi
callq 0x5adb0
jmp 0xd8226
jmp 0xd8209
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0xd82a5
jmp 0xd8238
movq -0x58(%rbp), %rdi
callq 0x5d610
movb %al, -0x69(%rbp)
jmp 0xd8246
movb -0x69(%rbp), %al
testb $0x1, %al
jne 0xd824f
jmp 0xd825d
movl $0xa, %edi
callq 0x5c090
jmp 0xd825b
jmp 0xd8238
leaq -0x50(%rbp), %rdi
callq 0x5ca80
jmp 0xd8268
leaq -0x50(%rbp), %rdi
callq 0x59680
movl %eax, -0x70(%rbp)
jmp 0xd8276
movl -0x70(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5a410
leaq -0x40(%rbp), %rdi
callq 0x59990
jmp 0xd82b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5a410
leaq -0x40(%rbp), %rdi
callq 0x59990
jmp 0xd82b9
movl -0x4(%rbp), %eax
addq $0x70, %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/window/window.cpp
// Function: smooth::GUI::Window::OnCreate()
S::Void S::GUI::Window::OnCreate()
{
	EnterProtectedRegion();

	if (GetObjectType() != ToolWindow::classID) nOfActiveWindows++;

	created = True;

	CalculateOffsets();

	onCreate.Emit();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x10(%rbp)
callq 0x5b7c0
movq -0x10(%rbp), %rdi
callq 0x5bb10
movq %rax, %rdi
movq 0x13095c(%rip), %rax    # 0x208cc8
movswl (%rax), %esi
callq 0x5da50
testb $0x1, %al
jne 0xd837a
jmp 0xd8392
movq 0x130297(%rip), %rax    # 0x208618
movw (%rax), %cx
addw $0x1, %cx
movq 0x130289(%rip), %rax    # 0x208618
movw %cx, (%rax)
movq -0x10(%rbp), %rdi
movb $0x1, 0x5ca(%rdi)
callq 0x5a1d0
movq -0x10(%rbp), %rdi
addq $0x628, %rdi            # imm = 0x628
callq 0x8af60
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/window.cpp
// Function: smooth::GUI::Window::OnDestroy()
S::Void S::GUI::Window::OnDestroy()
{
	destroyed = True;
	visible	  = False;

	if (GetObjectType() != ToolWindow::classID) nOfActiveWindows--;

	LeaveProtectedRegion();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x10(%rbp)
movb $0x1, 0x5cb(%rdi)
movb $0x0, 0xcb(%rdi)
callq 0x5bb10
movq %rax, %rdi
movq 0x1308d7(%rip), %rax    # 0x208cc8
movswl (%rax), %esi
callq 0x5da50
testb $0x1, %al
jne 0xd83ff
jmp 0xd8417
movq 0x130212(%rip), %rax    # 0x208618
movw (%rax), %cx
addw $-0x1, %cx
movq 0x130204(%rip), %rax    # 0x208618
movw %cx, (%rax)
movq -0x10(%rbp), %rdi
callq 0x594d0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/window.cpp
// Function: smooth::GUI::Window::GetMousePosition() const
S::GUI::Point S::GUI::Window::GetMousePosition() const
{
	Point	 position = Input::Pointer::GetPosition();

	if (IsRightToLeft()) position = Point(GetRealSize().cx - (position.x - GetX()) - 1, position.y - GetY());
	else		     position -= GetPosition();

	return position;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
callq 0x59740
movq -0x28(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0x8(%rbp)
movq (%rdi), %rax
callq *0x160(%rax)
testb $0x1, %al
jne 0xd99f3
jmp 0xd9a52
movq -0x28(%rbp), %rdi
movq (%rdi), %rax
callq *0x50(%rax)
movq -0x28(%rbp), %rdi
movq %rax, -0x20(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x34(%rbp)
movl -0x8(%rbp), %eax
movl %eax, -0x38(%rbp)
callq 0x5dab0
movl -0x38(%rbp), %ecx
movq -0x28(%rbp), %rdi
movl %eax, %edx
movl -0x34(%rbp), %eax
subl %edx, %ecx
subl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x2c(%rbp)
movl -0x4(%rbp), %eax
movl %eax, -0x30(%rbp)
callq 0x5ddb0
movl -0x30(%rbp), %edx
movl -0x2c(%rbp), %esi
subl %eax, %edx
leaq -0x18(%rbp), %rdi
callq 0x5c2c0
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xd9a67
movq -0x28(%rbp), %rdi
callq 0x5d740
movq %rax, %rsi
leaq -0x8(%rbp), %rdi
callq 0x5cd40
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/window.cpp
// Function: smooth::GUI::Window::IsMouseOn(smooth::GUI::Rect const&) const
S::Bool S::GUI::Window::IsMouseOn(const Rect &rect) const
{
	Surface	*surface = GetDrawSurface();

	if (surface->GetSystemSurface() == NIL) return False;

	Point	 mousePos = GetMousePosition();

	if ((mousePos.x >= rect.left) && (mousePos.x < rect.right) && (mousePos.y >= rect.top) && (mousePos.y < rect.bottom))
	{
		if (Input::Pointer::GetPointerWindow() != this)	return False;
		else						return True;
	}

	return False;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x30(%rbp)
movq (%rdi), %rax
callq *0x40(%rax)
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x59870
cmpq $0x0, %rax
jne 0xd9ab7
movb $0x0, -0x1(%rbp)
jmp 0xd9b11
movq -0x30(%rbp), %rdi
callq 0x5b090
movq %rax, -0x28(%rbp)
movl -0x28(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl (%rcx), %eax
jl 0xd9b0d
movl -0x28(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0x8(%rcx), %eax
jge 0xd9b0d
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0x4(%rcx), %eax
jl 0xd9b0d
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0xc(%rcx), %eax
jge 0xd9b0d
callq 0x5bc20
movq -0x30(%rbp), %rcx
cmpq %rcx, %rax
je 0xd9b07
movb $0x0, -0x1(%rbp)
jmp 0xd9b11
movb $0x1, -0x1(%rbp)
jmp 0xd9b11
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/window.cpp
// Function: smooth::GUI::Window::GetWindow(void*)
S::GUI::Window *S::GUI::Window::GetWindow(Void *sysWindow)
{
	if (sysWindow == NIL) return NIL;

	for (Int i = 0; i < windows.Length(); i++)
	{
		Window		*window = windows.GetNth(i);

		if (window->GetSystemWindow() == sysWindow) return window;
	}

	return NIL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0xda4dd
movq $0x0, -0x8(%rbp)
jmp 0xda543
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x24(%rbp)
movq 0x12e197(%rip), %rdi    # 0x208688
callq 0x5c990
movl %eax, %ecx
movl -0x24(%rbp), %eax
cmpl %ecx, %eax
jge 0xda53b
movl -0x14(%rbp), %esi
movq 0x12e17f(%rip), %rdi    # 0x208688
callq 0x74ae0
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x59340
cmpq -0x10(%rbp), %rax
jne 0xda52e
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xda543
jmp 0xda530
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0xda4e4
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/../../../include/smooth/templates/signals/signalr.h
// Function: int smooth::SignalR3<int, int, int, int>::Disconnect<smooth::GUI::Window, smooth::GUI::Window>(int (smooth::GUI::Window::*)(int, int, int), smooth::GUI::Window*)
Int Disconnect(returnTYPE (classTYPE::*proc)(SIGNALS_ARGUMENT_TYPES), oClassTYPE *inst)
			{
				if (slotsN == NIL) return Error();

				SIGNALS_SLOT_CLASS_CLASS_NAME<classTYPE, returnTYPE SIGNALS_CONDITIONAL_COMMA SIGNALS_ARGUMENT_TYPES>	 slot(proc, inst);

				for (Int i = slotsN->Length() - 1; i >= 0; i--)
				{
					if ((*((SIGNALS_SLOT_BASE_CLASS_NAME<returnTYPE SIGNALS_CONDITIONAL_COMMA SIGNALS_ARGUMENT_TYPES> *) slotsN->GetNth(i))) == slot)
					{
						RemoveNthN(i);

						break;
					}
				}

				return Success();
			}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rsi, -0x18(%rbp)
movq %rdx, -0x10(%rbp)
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rdx
movq %rdi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq %rax, -0x30(%rbp)
movq %rcx, -0x38(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xa8(%rbp)
cmpq $0x0, 0x10(%rax)
jne 0xdaa25
leaq -0x48(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
leaq -0x48(%rbp), %rdi
callq 0x59680
movl %eax, -0x4(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5b5b0
jmp 0xdab23
movq -0x30(%rbp), %rax
movq -0x28(%rbp), %rdx
movq -0x38(%rbp), %rcx
movq %rdx, -0x70(%rbp)
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdx
leaq -0x68(%rbp), %rdi
callq 0xdb450
movq -0xa8(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x5c990
subl $0x1, %eax
movl %eax, -0x7c(%rbp)
cmpl $0x0, -0x7c(%rbp)
jl 0xdaaf1
movq -0xa8(%rbp), %rax
movq 0x10(%rax), %rdi
movl -0x7c(%rbp), %esi
callq 0x820b0
movq %rax, -0xb0(%rbp)
jmp 0xdaa86
movq -0xb0(%rbp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x20(%rax), %rax
leaq -0x68(%rbp), %rsi
callq *%rax
movb %al, -0xb1(%rbp)
jmp 0xdaaa5
movb -0xb1(%rbp), %al
testb $0x1, %al
jne 0xdaab1
jmp 0xdaae1
movq -0xa8(%rbp), %rdi
movl -0x7c(%rbp), %esi
callq 0xdb010
jmp 0xdaac2
jmp 0xdaaf1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x68(%rbp), %rdi
callq 0xdb4e0
jmp 0xdab2f
jmp 0xdaae3
movl -0x7c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x7c(%rbp)
jmp 0xdaa60
leaq -0xa0(%rbp), %rdi
callq 0x5ca80
jmp 0xdaaff
leaq -0xa0(%rbp), %rdi
callq 0x59680
movl %eax, -0x4(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x5a410
leaq -0x68(%rbp), %rdi
callq 0xdb4e0
movl -0x4(%rbp), %eax
addq $0xc0, %rsp
popq %rbp
retq
movq -0x88(%rbp), %rdi
callq 0x5b6b0
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/../../../include/smooth/templates/signals/signalr.h
// Function: smooth::SignalR0<bool>::Connect(smooth::SignalR0<bool>*)
Int Connect(SIGNALS_SIGNAL_CLASS_NAME<returnTYPE SIGNALS_CONDITIONAL_COMMA SIGNALS_ARGUMENT_TYPES> *sig)
			{
				if ((Signal *) sig == (Signal *) this) return Error();

				if (slotsN == NIL)
				{
					slotsN = new Array<Void *>();
					slotsN->EnableLocking();
				}

				slotsN->Add(new SIGNALS_SLOT_SIGNAL_CLASS_NAME<returnTYPE SIGNALS_CONDITIONAL_COMMA SIGNALS_ARGUMENT_TYPES>(sig));

				return Success();
			}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
cmpq %rax, -0x18(%rbp)
jne 0xdb8e6
leaq -0x28(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
leaq -0x28(%rbp), %rdi
callq 0x59680
movl %eax, -0x4(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xdb9be
movq -0x58(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xdb942
movl $0x58, %edi
callq 0x59820
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x60(%rbp)
callq 0x62ec0
jmp 0xdb90c
movq -0x58(%rbp), %rax
movq -0x60(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq 0x10(%rax), %rdi
callq 0x5b830
jmp 0xdb942
movq -0x60(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
movl $0x58, %esi
callq 0x595b0
jmp 0xdb9c7
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x70(%rbp)
movl $0x10, %edi
callq 0x59820
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x68(%rbp)
movq -0x18(%rbp), %rsi
callq 0xdb9d0
jmp 0xdb96d
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq -0x40(%rbp), %rsi
callq 0x62f00
leaq -0x50(%rbp), %rdi
callq 0x5ca80
leaq -0x50(%rbp), %rdi
callq 0x59680
movl %eax, -0x4(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5a410
jmp 0xdb9be
movq -0x68(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
movl $0x10, %esi
callq 0x595b0
jmp 0xdb9c7
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/window/backends/windowbackend.cpp
// Function: smooth::GUI::WindowBackend::WindowBackend(void*)
S::GUI::WindowBackend::WindowBackend(Void *iWindow)
{
#if defined __WIN32__ && defined SMOOTH_STATIC
	volatile Bool	 null = 0;

	if (null) WindowGDI();
#endif

	type = WINDOW_NONE;

	drawSurface = NIL;

	doClose.Connect(True);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x30(%rbp)
leaq 0x128f49(%rip), %rax    # 0x205358
movq %rax, (%rdi)
addq $0x18, %rdi
callq 0x59230
movq -0x30(%rbp), %rdi
addq $0x20, %rdi
callq 0x5c030
movq -0x30(%rbp), %rdi
addq $0x30, %rdi
movq %rdi, -0x38(%rbp)
callq 0xda600
movq -0x30(%rbp), %rdi
addq $0x58, %rdi
movq %rdi, -0x28(%rbp)
callq 0xda640
jmp 0xdc44c
movq -0x30(%rbp), %rdi
subq $-0x80, %rdi
movq %rdi, -0x40(%rbp)
callq 0x8aae0
jmp 0xdc45f
movq -0x30(%rbp), %rdi
addq $0xa0, %rdi
movq %rdi, -0x48(%rbp)
callq 0x8aae0
jmp 0xdc475
movq -0x30(%rbp), %rdi
addq $0xc0, %rdi
movq %rdi, -0x50(%rbp)
callq 0x8aae0
jmp 0xdc48b
movq -0x30(%rbp), %rdi
addq $0xe0, %rdi
movq %rdi, -0x58(%rbp)
callq 0x8aae0
jmp 0xdc4a1
movq -0x30(%rbp), %rdi
addq $0x100, %rdi            # imm = 0x100
movq %rdi, -0x60(%rbp)
callq 0x8aae0
jmp 0xdc4b7
movq -0x30(%rbp), %rdi
movw $0x0, 0x8(%rdi)
movq $0x0, 0x10(%rdi)
addq $0x30, %rdi
movl $0x1, %esi
callq 0xda8d0
jmp 0xdc4d9
addq $0x60, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xdc578
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xdc56f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xdc566
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xdc55d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xdc554
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xdc54b
movq -0x60(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
callq 0x8ad70
movq -0x58(%rbp), %rdi
callq 0x8ad70
movq -0x50(%rbp), %rdi
callq 0x8ad70
movq -0x48(%rbp), %rdi
callq 0x8ad70
movq -0x40(%rbp), %rdi
callq 0x8ad70
movq -0x28(%rbp), %rdi
callq 0xda940
movq -0x38(%rbp), %rdi
callq 0xda960
movq -0x18(%rbp), %rdi
callq 0x5b6b0
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/i18n/language.cpp
// Function: smooth::I18n::Language::Parse(smooth::XML::Node*)
S::Errors::Error S::I18n::Language::Parse(XML::Node *language)
{
	if (language == NIL) return Error();

	XML::Node	*data = language->GetNodeByName("data");

	/* Return an error if we didn't find a data node.
	 */
	if (data == NIL) return Error();

	return Section::Parse(data);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x60(%rbp)
movq %rdi, %rax
movq %rax, -0x58(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0xdd4d1
movq -0x60(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
jmp 0xdd550
movq -0x18(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0xadc5d(%rip), %rsi     # 0x18b13d
leaq -0x38(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x5c1f0
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rsi
callq 0x5ad00
movq %rax, -0x68(%rbp)
jmp 0xdd500
leaq -0x38(%rbp), %rdi
callq 0x5df00
movq -0x68(%rbp), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0xdd53f
movq -0x60(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
jmp 0xdd550
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x5df00
jmp 0xdd55d
movq -0x50(%rbp), %rsi
movq -0x60(%rbp), %rdi
movq -0x20(%rbp), %rdx
callq 0x599c0
movq -0x58(%rbp), %rax
addq $0x80, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/i18n/section.cpp
// Function: smooth::I18n::Section::GetString(smooth::String const&) const
const S::String &S::I18n::Section::GetString(const String &string) const
{
	if (contextSection != NIL)
	{
		const String	&result = contextSection->GetString(string);

		if (result != NIL) return result;
	}

	return strings.Get(string.ComputeCRC32());
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, 0x38(%rax)
je 0xddf21
movq -0x28(%rbp), %rax
movq 0x38(%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x5a700
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
xorl %esi, %esi
callq 0x5b110
testb $0x1, %al
jne 0xddf15
jmp 0xddf1f
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xddf45
jmp 0xddf21
movq -0x28(%rbp), %rax
addq $0x40, %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rdi
callq 0x597b0
movq -0x30(%rbp), %rdi
movl %eax, %esi
callq 0xde7c0
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/i18n/translator.cpp
// Function: smooth::I18n::Translator::Translator(smooth::String const&)
S::I18n::Translator::Translator(const String &iAppPrefix)
{
	appPrefix      = iAppPrefix.ToLower();
	activeLanguage = NIL;

	GetSupportedLanguages();

	ActivateLanguage("internal");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x60(%rbp)
movq 0x12a089(%rip), %rax    # 0x2089d8
addq $0x10, %rax
movq %rax, (%rdi)
addq $0x8, %rdi
movq %rdi, -0x68(%rbp)
xorl %esi, %esi
callq 0x5da90
movq -0x60(%rbp), %rdi
addq $0x20, %rdi
movq %rdi, -0x58(%rbp)
callq 0xe3030
jmp 0xde978
movq -0x10(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x5ca10
jmp 0xde987
movq -0x60(%rbp), %rdi
addq $0x8, %rdi
leaq -0x38(%rbp), %rsi
callq 0x59760
jmp 0xde99a
leaq -0x38(%rbp), %rdi
callq 0x5df00
movq -0x60(%rbp), %rdi
movq $0x0, 0x78(%rdi)
callq 0x59640
jmp 0xde9b6
leaq 0xac813(%rip), %rsi     # 0x18b1d0
leaq -0x50(%rbp), %rdi
callq 0x5c1f0
jmp 0xde9c8
movq -0x60(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
leaq -0x50(%rbp), %rsi
callq *%rax
jmp 0xde9db
leaq -0x50(%rbp), %rdi
callq 0x5df00
addq $0x70, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xdea3b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0xdea32
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x5df00
jmp 0xdea32
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5df00
movq -0x58(%rbp), %rdi
callq 0xe3070
movq -0x68(%rbp), %rdi
callq 0x5df00
movq -0x18(%rbp), %rdi
callq 0x5b6b0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/i18n/translator.cpp
// Function: smooth::I18n::Translator::SetInternalLanguageInfo(smooth::String const&, smooth::String const&, smooth::String const&, bool)
S::Int S::I18n::Translator::SetInternalLanguageInfo(const String &langName, const String &author, const String &url, Bool rightToLeft)
{
	Language	*iLang = NIL;

	for (Int n = 0; n < languages.Length(); n++)
	{
		if (languages.GetNth(n)->magic == "internal")
		{
			iLang = languages.GetNth(n);

			languages.Remove(languages.GetNthIndex(n));

			break;
		}
	}

	if (iLang != NIL)
	{
		iLang->SetName(langName);

		iLang->author	   = author;
		iLang->url	   = url;
		iLang->rightToLeft = rightToLeft;

		AddLanguage(iLang);
	}

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movb %r8b, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
andb $0x1, %al
movb %al, -0x21(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x60(%rbp)
movq $0x0, -0x30(%rbp)
movl $0x0, -0x34(%rbp)
movq -0x60(%rbp), %rdi
movl -0x34(%rbp), %eax
movl %eax, -0x64(%rbp)
addq $0x20, %rdi
callq 0x5c990
movl %eax, %ecx
movl -0x64(%rbp), %eax
cmpl %ecx, %eax
jge 0xdf461
movq -0x60(%rbp), %rdi
addq $0x20, %rdi
movl -0x34(%rbp), %esi
callq 0xe30c0
movq (%rax), %rdi
addq $0x108, %rdi            # imm = 0x108
leaq 0xabdc9(%rip), %rsi     # 0x18b1d0
callq 0x5c7f0
testb $0x1, %al
jne 0xdf412
jmp 0xdf451
movq -0x60(%rbp), %rdi
addq $0x20, %rdi
movl -0x34(%rbp), %esi
callq 0xe30c0
movq -0x60(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0x30(%rbp)
movq %rdi, %rax
addq $0x20, %rax
movq %rax, -0x70(%rbp)
addq $0x20, %rdi
movl -0x34(%rbp), %esi
callq 0x5b720
movq -0x70(%rbp), %rdi
movl %eax, %esi
callq 0x5d7a0
jmp 0xdf461
jmp 0xdf453
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0xdf3ca
cmpq $0x0, -0x30(%rbp)
je 0xdf4ba
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x5bdd0
movq -0x18(%rbp), %rsi
movq -0x30(%rbp), %rdi
addq $0x120, %rdi            # imm = 0x120
callq 0x59760
movq -0x20(%rbp), %rsi
movq -0x30(%rbp), %rdi
addq $0x138, %rdi            # imm = 0x138
callq 0x59760
movq -0x60(%rbp), %rdi
movb -0x21(%rbp), %cl
movq -0x30(%rbp), %rax
andb $0x1, %cl
movb %cl, 0x150(%rax)
movq -0x30(%rbp), %rsi
callq 0x59d50
leaq -0x48(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x5ca80
movq -0x80(%rbp), %rdi
callq 0x59680
movl %eax, -0x74(%rbp)
jmp 0xdf4d5
leaq -0x48(%rbp), %rdi
callq 0x5a410
movl -0x74(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5a410
movq -0x50(%rbp), %rdi
callq 0x5b6b0
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/i18n/translator.cpp
// Function: smooth::I18n::Translator::LoadDescription(smooth::XML::Document const&, smooth::I18n::Language*)
S::Int S::I18n::Translator::LoadDescription(const XML::Document &doc, Language *language)
{
	/* Check arguments and return an error if they are not sane.
	 */
	if (doc.GetRootNode() == NIL || language == NIL) return Error();

	XML::Node	*root	= doc.GetRootNode();
	Error		 result = language->ParseHeader(root);

	if (result != Success()) return Error();

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0x5b410
cmpq $0x0, %rax
je 0xe1aed
cmpq $0x0, -0x20(%rbp)
jne 0xe1b47
leaq -0x30(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0xa0(%rbp), %rdi
callq 0x59680
movl %eax, -0x94(%rbp)
jmp 0xe1b16
movl -0x94(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x5b5b0
jmp 0xe1c8c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x5b5b0
jmp 0xe1c98
movq -0x18(%rbp), %rdi
callq 0x5b410
movq %rax, -0x48(%rbp)
movq -0x20(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq -0x58(%rbp), %rdi
callq *%rax
leaq -0x68(%rbp), %rdi
callq 0x5ca80
jmp 0xe1b74
leaq -0x58(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x5ab90
movb %al, -0xa1(%rbp)
jmp 0xe1b89
leaq -0x68(%rbp), %rdi
callq 0x5a410
movb -0xa1(%rbp), %al
testb $0x1, %al
jne 0xe1b9e
jmp 0xe1c1c
leaq -0x78(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
jmp 0xe1bae
leaq -0x78(%rbp), %rdi
callq 0x59680
movl %eax, -0xa8(%rbp)
jmp 0xe1bbf
movl -0xa8(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x5b5b0
movl $0x1, -0x7c(%rbp)
jmp 0xe1c76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe1c81
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x5a410
jmp 0xe1c81
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x5b5b0
jmp 0xe1c81
leaq -0x90(%rbp), %rdi
callq 0x5ca80
jmp 0xe1c2a
leaq -0x90(%rbp), %rdi
callq 0x59680
movl %eax, -0xac(%rbp)
jmp 0xe1c3e
movl -0xac(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x5a410
movl $0x1, -0x7c(%rbp)
jmp 0xe1c76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x5a410
jmp 0xe1c81
leaq -0x58(%rbp), %rdi
callq 0x5b5b0
jmp 0xe1c8c
leaq -0x58(%rbp), %rdi
callq 0x5b5b0
jmp 0xe1c98
movl -0x4(%rbp), %eax
addq $0xb0, %rsp
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/i18n/translator.cpp
// Function: smooth::I18n::Translator::LoadData(smooth::XML::Document const&, smooth::I18n::Language*)
S::Int S::I18n::Translator::LoadData(const XML::Document &doc, Language *language)
{
	/* Check arguments and return an error if they are not sane.
	 */
	if (doc.GetRootNode() == NIL || language == NIL) return Error();

	XML::Node	*root	= doc.GetRootNode();
	Error		 result = language->Parse(root);

	if (result != Success()) return Error();

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0x5b410
cmpq $0x0, %rax
je 0xe2abd
cmpq $0x0, -0x20(%rbp)
jne 0xe2b17
leaq -0x30(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0xa0(%rbp), %rdi
callq 0x59680
movl %eax, -0x94(%rbp)
jmp 0xe2ae6
movl -0x94(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x5b5b0
jmp 0xe2c5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x5b5b0
jmp 0xe2c68
movq -0x18(%rbp), %rdi
callq 0x5b410
movq %rax, -0x48(%rbp)
movq -0x20(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq (%rsi), %rax
movq 0x10(%rax), %rax
leaq -0x58(%rbp), %rdi
callq *%rax
leaq -0x68(%rbp), %rdi
callq 0x5ca80
jmp 0xe2b44
leaq -0x58(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x5ab90
movb %al, -0xa1(%rbp)
jmp 0xe2b59
leaq -0x68(%rbp), %rdi
callq 0x5a410
movb -0xa1(%rbp), %al
testb $0x1, %al
jne 0xe2b6e
jmp 0xe2bec
leaq -0x78(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
jmp 0xe2b7e
leaq -0x78(%rbp), %rdi
callq 0x59680
movl %eax, -0xa8(%rbp)
jmp 0xe2b8f
movl -0xa8(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x5b5b0
movl $0x1, -0x7c(%rbp)
jmp 0xe2c46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe2c51
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x5a410
jmp 0xe2c51
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x5b5b0
jmp 0xe2c51
leaq -0x90(%rbp), %rdi
callq 0x5ca80
jmp 0xe2bfa
leaq -0x90(%rbp), %rdi
callq 0x59680
movl %eax, -0xac(%rbp)
jmp 0xe2c0e
movl -0xac(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x5a410
movl $0x1, -0x7c(%rbp)
jmp 0xe2c46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x5a410
jmp 0xe2c51
leaq -0x58(%rbp), %rdi
callq 0x5b5b0
jmp 0xe2c5c
leaq -0x58(%rbp), %rdi
callq 0x5b5b0
jmp 0xe2c68
movl -0x4(%rbp), %eax
addq $0xb0, %rsp
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)