LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/backends/fontbackend.cpp
// Function: smooth::GUI::FontBackend::GetTextSizeX(smooth::String const&, bool) const
S::Int S::GUI::FontBackend::GetTextSizeX(const String &text, Bool scaled) const
{
	if (text == NIL) return 0;

	Int	 length	= text.Length();
	Int	 offset	= 0;
	Int	 sizex	= 0;

	for (Int i = 0; i <= length; i++)
	{
		if (i < length && text[i] != '\n') continue;

		sizex  = (Int) Math::Max(sizex, GetTextSize(text.SubString(offset, i - offset), scaled).cx);
		offset = i + 1;
	}

	return sizex;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movb %dl, %al
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
andb $0x1, %al
movb %al, -0x19(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x59320
testb $0x1, %al
jne 0x6d8f3
jmp 0x6d8ff
movl $0x0, -0x4(%rbp)
jmp 0x6d9db
movq -0x18(%rbp), %rdi
callq 0x5b800
movl %eax, -0x20(%rbp)
movl $0x0, -0x24(%rbp)
movl $0x0, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl -0x20(%rbp), %eax
jg 0x6d9d5
movl -0x2c(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x6d947
movq -0x18(%rbp), %rdi
movl -0x2c(%rbp), %esi
callq 0x5c900
cmpl $0xa, %eax
je 0x6d947
jmp 0x6d9b0
movl -0x28(%rbp), %eax
movl %eax, -0x7c(%rbp)
movq -0x18(%rbp), %rsi
movl -0x24(%rbp), %edx
movl -0x2c(%rbp), %ecx
subl %edx, %ecx
leaq -0x50(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x5dc20
movq -0x68(%rbp), %rdi
movq -0x78(%rbp), %rsi
movzbl -0x19(%rbp), %edx
andl $0x1, %edx
callq 0x6d9f0
movq %rax, -0x70(%rbp)
jmp 0x6d980
movl -0x7c(%rbp), %edi
movq -0x70(%rbp), %rax
movq %rax, -0x34(%rbp)
movl -0x34(%rbp), %esi
callq 0x5aae0
movl %eax, -0x80(%rbp)
jmp 0x6d998
movl -0x80(%rbp), %eax
movl %eax, -0x28(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5df00
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x6d920
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5df00
jmp 0x6d9e7
movl -0x28(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0x5b6b0
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/backends/fontbackend.cpp
// Function: smooth::GUI::FontBackend::GetTextSizeY(smooth::String const&, bool) const
S::Int S::GUI::FontBackend::GetTextSizeY(const String &text, Bool scaled) const
{
	if (text == NIL) return 0;

	Int	 length	= text.Length();
	Int	 lines	= 1;

	for (Int i = 0; i < length; i++)
	{
		if (text[i] == '\n') lines++;
	}

	/* Line height is always the same regardless of the actual text,
	 * so we use a default text here and multiply by the numer of lines.
	 */
	static String	 string	= "abcdefghijklmnopqrstuvwxyz";

	return (lines * (GetTextSize(string, scaled).cy - 1)) + (lines - 1) * 3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movb %dl, %al
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
andb $0x1, %al
movb %al, -0x19(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x59320
testb $0x1, %al
jne 0x6dcf0
jmp 0x6dcfc
movl $0x0, -0x4(%rbp)
jmp 0x6ddf5
movq -0x18(%rbp), %rdi
callq 0x5b800
movl %eax, -0x20(%rbp)
movl $0x1, -0x24(%rbp)
movl $0x0, -0x28(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x6dd45
movq -0x18(%rbp), %rdi
movl -0x28(%rbp), %esi
callq 0x5c900
cmpl $0xa, %eax
jne 0x6dd38
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x6dd3a
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x6dd16
cmpb $0x0, 0x19e504(%rip)    # 0x20c250
jne 0x6dd9a
leaq 0x19e4fb(%rip), %rdi    # 0x20c250
callq 0x5a4e0
cmpl $0x0, %eax
je 0x6dd9a
leaq 0x19e4d2(%rip), %rdi    # 0x20c238
leaq 0x11975b(%rip), %rsi    # 0x1874c8
callq 0x5c1f0
jmp 0x6dd74
movq 0x19b1ad(%rip), %rdi    # 0x208f28
leaq 0x19e4b6(%rip), %rsi    # 0x20c238
leaq 0x19d977(%rip), %rdx    # 0x20b700
callq 0x5c700
leaq 0x19e4bb(%rip), %rdi    # 0x20c250
callq 0x5b0c0
movq -0x48(%rbp), %rdi
movl -0x24(%rbp), %eax
movl %eax, -0x4c(%rbp)
movb -0x19(%rbp), %al
leaq 0x19e48a(%rip), %rsi    # 0x20c238
andb $0x1, %al
movzbl %al, %edx
callq 0x6d9f0
movq %rax, %rcx
movl -0x4c(%rbp), %eax
movq %rcx, -0x3c(%rbp)
movl -0x38(%rbp), %ecx
subl $0x1, %ecx
imull %ecx, %eax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
imull $0x3, %ecx, %ecx
addl %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0x6ddf5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq 0x19e462(%rip), %rdi    # 0x20c250
callq 0x5a860
jmp 0x6ddfe
movl -0x4(%rbp), %eax
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/graphics/backends/fontbackend.cpp
// Function: smooth::ExtentsCacheEntry::ExtentsCacheEntry(smooth::String const&, smooth::String const&, int, int, int)
ExtentsCacheEntry(const String &text,
							   const String &fontName,
							   Int fontSize,
							   Int fontWeight,
							   Int fontStyle)	{ crc32 = String(text).Append(fontName)
												      .Append(String::FromInt(fontSize	 << 16 |
															      fontWeight <<  4 |
															      fontStyle)).ComputeCRC32(); }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movl %r8d, -0x20(%rbp)
movl %r9d, -0x24(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x80(%rbp)
addq $0x4, %rdi
callq 0x59230
movq -0x10(%rbp), %rsi
leaq -0x40(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x5b6d0
movq -0x78(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5a710
movq %rax, -0x70(%rbp)
jmp 0x6df57
movl -0x1c(%rbp), %eax
shll $0x10, %eax
movl -0x20(%rbp), %ecx
shll $0x4, %ecx
orl %ecx, %eax
movl -0x24(%rbp), %ecx
orl %ecx, %eax
movslq %eax, %rsi
leaq -0x68(%rbp), %rdi
callq 0x5b290
jmp 0x6df78
movq -0x70(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x5a710
movq %rax, -0x88(%rbp)
jmp 0x6df8e
movq -0x88(%rbp), %rdi
callq 0x597b0
movl %eax, -0x8c(%rbp)
jmp 0x6dfa2
movq -0x80(%rbp), %rax
movl -0x8c(%rbp), %ecx
movl %ecx, (%rax)
leaq -0x68(%rbp), %rdi
callq 0x5df00
leaq -0x40(%rbp), %rdi
callq 0x5df00
addq $0x90, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x6dfec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x5df00
leaq -0x40(%rbp), %rdi
callq 0x5df00
movq -0x48(%rbp), %rdi
callq 0x5b6b0
nop
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/backends/surfacebackend.cpp
// Function: smooth::GUI::SurfaceBackend::SurfaceBackend(void*, smooth::GUI::Size const&)
S::GUI::SurfaceBackend::SurfaceBackend(Void *iSurface, const Size &maxSize)
{
#if defined __WIN32__ && defined SMOOTH_STATIC
	volatile Bool	 null = 0;

	if (null) SurfaceGDI();
#endif

	type = SURFACE_NONE;

	size.cx	= 0;
	size.cy	= 0;

	paintRect.left = -1;
	paintRect.top = -1;
	paintRect.right = -1;
	paintRect.bottom = -1;

	painting = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x30(%rbp)
leaq 0x18e98d(%rip), %rax    # 0x1fce10
movq %rax, (%rdi)
addq $0xc, %rdi
callq 0x59230
movq -0x30(%rbp), %rdi
addq $0x14, %rdi
callq 0x5c030
movq -0x30(%rbp), %rdi
addq $0x24, %rdi
movq %rdi, -0x38(%rbp)
callq 0x72f30
movq -0x30(%rbp), %rdi
addq $0x28, %rdi
callq 0x73290
jmp 0x6e4bc
movq -0x30(%rbp), %rax
movw $0x0, 0x8(%rax)
movl $0x0, 0xc(%rax)
movl $0x0, 0x10(%rax)
movl $0xffffffff, 0x14(%rax) # imm = 0xFFFFFFFF
movl $0xffffffff, 0x18(%rax) # imm = 0xFFFFFFFF
movl $0xffffffff, 0x1c(%rax) # imm = 0xFFFFFFFF
movl $0xffffffff, 0x20(%rax) # imm = 0xFFFFFFFF
movw $0x0, 0xa(%rax)
addq $0x40, %rsp
popq %rbp
retq
movq -0x38(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
callq 0x72f50
movq -0x20(%rbp), %rdi
callq 0x5b6b0
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/forms/rect.cpp
// Function: smooth::GUI::Rect::OverlapRect(smooth::GUI::Rect const&, smooth::GUI::Rect const&)
S::GUI::Rect S::GUI::Rect::OverlapRect(const Rect &rect1, const Rect &rect2)
{
	if (DoRectsOverlap(rect1, rect2))
	{
		Rect	 oRect;

		oRect.left   = (Int) Math::Max(rect1.left, rect2.left);
		oRect.top    = (Int) Math::Max(rect1.top, rect2.top);
		oRect.right  = (Int) Math::Min(rect1.right, rect2.right);
		oRect.bottom = (Int) Math::Min(rect1.bottom, rect2.bottom);

		return oRect;
	}

	return Rect();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x59b30
testb $0x1, %al
jne 0x701a3
jmp 0x70204
leaq -0x10(%rbp), %rdi
callq 0x5c030
movq -0x18(%rbp), %rax
movl (%rax), %edi
movq -0x20(%rbp), %rax
movl (%rax), %esi
callq 0x5aae0
movl %eax, -0x10(%rbp)
movq -0x18(%rbp), %rax
movl 0x4(%rax), %edi
movq -0x20(%rbp), %rax
movl 0x4(%rax), %esi
callq 0x5aae0
movl %eax, -0xc(%rbp)
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq -0x20(%rbp), %rax
movl 0x8(%rax), %esi
callq 0x5ce90
movl %eax, -0x8(%rbp)
movq -0x18(%rbp), %rax
movl 0xc(%rax), %edi
movq -0x20(%rbp), %rax
movl 0xc(%rax), %esi
callq 0x5ce90
movl %eax, -0x4(%rbp)
jmp 0x7020d
leaq -0x10(%rbp), %rdi
callq 0x5c030
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/forms/rect.cpp
// Function: smooth::GUI::Rect::EncloseRect(smooth::GUI::Rect const&, smooth::GUI::Rect const&)
S::GUI::Rect S::GUI::Rect::EncloseRect(const Rect &rect1, const Rect &rect2)
{
	Rect	 eRect;

	eRect.left   = (Int) Math::Min(rect1.left, rect2.left);
	eRect.top    = (Int) Math::Min(rect1.top, rect2.top);
	eRect.right  = (Int) Math::Max(rect1.right, rect2.right);
	eRect.bottom = (Int) Math::Max(rect1.bottom, rect2.bottom);

	return eRect;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
leaq -0x10(%rbp), %rdi
callq 0x5c030
movq -0x18(%rbp), %rax
movl (%rax), %edi
movq -0x20(%rbp), %rax
movl (%rax), %esi
callq 0x5ce90
movl %eax, -0x10(%rbp)
movq -0x18(%rbp), %rax
movl 0x4(%rax), %edi
movq -0x20(%rbp), %rax
movl 0x4(%rax), %esi
callq 0x5ce90
movl %eax, -0xc(%rbp)
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edi
movq -0x20(%rbp), %rax
movl 0x8(%rax), %esi
callq 0x5aae0
movl %eax, -0x8(%rbp)
movq -0x18(%rbp), %rax
movl 0xc(%rax), %edi
movq -0x20(%rbp), %rax
movl 0xc(%rax), %esi
callq 0x5aae0
movl %eax, -0x4(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rdx
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/imageloader/../../../include/smooth/templates/buffer/buffer.h
// Function: smooth::Buffer<unsigned char>::operator=(smooth::Buffer<unsigned char> const&)
Buffer<t> &operator =(const Buffer<t> &oBuffer)
			{
				if (&oBuffer == this) return *this;

				memory		= oBuffer.memory;

				size		= oBuffer.size;
				allocated	= -1;

				return *this;
			}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
cmpq %rax, -0x18(%rbp)
jne 0x71054
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x71079
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rcx
movl 0x10(%rcx), %ecx
movl %ecx, 0x10(%rax)
movl $0xffffffff, 0x14(%rax) # imm = 0xFFFFFFFF
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/application/application.cpp
// Function: smooth::GUI::Application::Loop()
S::Int S::GUI::Application::Loop()
{
	static Bool	 firstTime = True;

	if (firstTime)
	{
		firstTime = False;

		/* Show pending windows when we are called for the first time.
		 */
		for (Int i = 0; i < Window::GetNOfWindows(); i++)
		{
			Window	*window = Window::GetNthWindow(i);

			if (window != NIL && !window->IsVisibilitySet()) window->Show();
		}
	}

	/* Enter main application loop.
	 */
	System::EventProcessor	 event;

	while (GUI::Window::nOfActiveWindows > 0)
	{
		if (!event.ProcessNextEvent()) break;
	}

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
testb $0x1, 0x198155(%rip)    # 0x20b788
je 0x73690
movb $0x0, 0x19814c(%rip)    # 0x20b788
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x4c(%rbp)
callq 0x59970
movl %eax, %ecx
movl -0x4c(%rbp), %eax
cmpl %ecx, %eax
jge 0x7368e
movl -0xc(%rbp), %edi
callq 0x5d350
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x73681
movq -0x18(%rbp), %rdi
callq 0x5be00
testb $0x1, %al
jne 0x73681
movq -0x18(%rbp), %rdi
movq (%rdi), %rax
callq *0x58(%rax)
jmp 0x73683
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x73643
jmp 0x73690
leaq -0x28(%rbp), %rdi
callq 0x5b8f0
movq 0x194f78(%rip), %rax    # 0x208618
movswl (%rax), %eax
cmpl $0x0, %eax
jle 0x736d1
leaq -0x28(%rbp), %rdi
callq 0x5adb0
movb %al, -0x4d(%rbp)
jmp 0x736b6
movb -0x4d(%rbp), %al
testb $0x1, %al
jne 0x736cf
jmp 0x736bf
jmp 0x736d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x7371a
jmp 0x73699
leaq -0x48(%rbp), %rdi
callq 0x5ca80
jmp 0x736dc
leaq -0x48(%rbp), %rdi
callq 0x59680
movl %eax, -0x54(%rbp)
jmp 0x736ea
leaq -0x48(%rbp), %rdi
callq 0x5a410
leaq -0x28(%rbp), %rdi
callq 0x59990
movl -0x54(%rbp), %eax
addq $0x60, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5a410
leaq -0x28(%rbp), %rdi
callq 0x59990
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/application/application.cpp
// Function: smooth::GUI::Application::SetArguments(smooth::Array<smooth::String, smooth::String> const&)
S::Void S::GUI::Application::SetArguments(const Array<String> &nArgs)
{
	foreach (const String &arg, nArgs)
	{
		/* Filter out scale factor argument.
		 */
		if (arg.StartsWith("--scale:")) { scaleFactor = arg.Tail(arg.Length() - 8).ToFloat(); continue; }

		/* Add to arguments array.
		 */
		args.Add(arg);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movl $0xffffffff, -0x10(%rbp) # imm = 0xFFFFFFFF
xorl %eax, %eax
cmpl $0x0, -0xc(%rbp)
movb %al, -0x59(%rbp)
jne 0x73777
movl -0x10(%rbp), %eax
movl %eax, -0x60(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5c990
movl %eax, %ecx
movl -0x60(%rbp), %eax
subl $0x1, %ecx
cmpl %ecx, %eax
setl %al
movb %al, -0x59(%rbp)
movb -0x59(%rbp), %al
testb $0x1, %al
jne 0x73783
jmp 0x738a4
movq -0x8(%rbp), %rdi
movl -0x10(%rbp), %esi
addl $0x1, %esi
movl %esi, -0x10(%rbp)
callq 0x74720
movq %rax, -0x18(%rbp)
cmpl $0x0, -0xc(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x737ab
jmp 0x73894
movq -0x18(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x113e65(%rip), %rsi    # 0x18761f
leaq -0x30(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x5c1f0
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rsi
callq 0x5bf60
movb %al, -0x61(%rbp)
jmp 0x737d9
leaq -0x30(%rbp), %rdi
callq 0x5df00
movb -0x61(%rbp), %al
testb $0x1, %al
jne 0x737ee
jmp 0x73876
movq -0x18(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x5b800
movq -0x90(%rbp), %rsi
movl %eax, %edx
addl $-0x8, %edx
leaq -0x58(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x5c8a0
movq -0x88(%rbp), %rdi
callq 0x5bf40
movsd %xmm0, -0x80(%rbp)
jmp 0x7382d
movsd -0x80(%rbp), %xmm0
movq 0x1951df(%rip), %rax    # 0x208a18
movsd %xmm0, (%rax)
leaq -0x58(%rbp), %rdi
callq 0x5df00
jmp 0x73886
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x5df00
jmp 0x738ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x5df00
jmp 0x738ad
movq -0x18(%rbp), %rsi
movq 0x19503f(%rip), %rdi    # 0x2088c0
callq 0x74750
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x73799
jmp 0x73896
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x7374d
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/application/application.cpp
// Function: smooth::GUI::Application::GetStartupDirectory()
S::String S::GUI::Application::GetStartupDirectory()
{
	if (startupDirectory != NIL) return startupDirectory;

#ifdef __WIN32__
	Buffer<wchar_t>	 buffer(32768 + 1);

	if (GetCurrentDirectory(buffer.Size(), buffer))	startupDirectory = buffer;

	if (!startupDirectory.EndsWith("\\")) startupDirectory.Append("\\");
#else
	Buffer<char>	 buffer(PATH_MAX + 1);

	if (getcwd(buffer, buffer.Size()) != NIL) startupDirectory = buffer;

	if (!startupDirectory.EndsWith("/")) startupDirectory.Append("/");
#endif

	return startupDirectory;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x70(%rbp)
movq %rdi, %rax
movq %rax, -0x68(%rbp)
movq %rdi, -0x8(%rbp)
movq 0x195037(%rip), %rdi    # 0x208918
xorl %esi, %esi
callq 0x5b110
testb $0x1, %al
jne 0x738ee
jmp 0x73903
movq -0x70(%rbp), %rdi
movq 0x19501f(%rip), %rsi    # 0x208918
callq 0x5b6d0
jmp 0x73a59
leaq -0x20(%rbp), %rdi
movq %rdi, -0x80(%rbp)
movl $0x1001, %esi           # imm = 0x1001
callq 0x65e10
movq -0x80(%rbp), %rdi
callq 0x65e90
movq %rax, -0x78(%rbp)
jmp 0x73924
leaq -0x20(%rbp), %rdi
callq 0x65ed0
movl %eax, -0x84(%rbp)
jmp 0x73935
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %eax
movslq %eax, %rsi
callq 0x5a5f0
cmpq $0x0, %rax
je 0x73987
leaq -0x20(%rbp), %rdi
callq 0x65e90
movq %rax, -0x90(%rbp)
jmp 0x7395f
movq -0x90(%rbp), %rsi
movq 0x194fab(%rip), %rdi    # 0x208918
callq 0x5a230
jmp 0x73974
jmp 0x73987
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x73a4e
leaq 0x113ca8(%rip), %rsi    # 0x187636
leaq -0x48(%rbp), %rdi
callq 0x5c1f0
jmp 0x73999
movq 0x194f78(%rip), %rdi    # 0x208918
leaq -0x48(%rbp), %rsi
callq 0x5d6c0
movb %al, -0x91(%rbp)
jmp 0x739b1
movb -0x91(%rbp), %al
xorb $-0x1, %al
movb %al, -0x92(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5df00
movb -0x92(%rbp), %al
testb $0x1, %al
jne 0x739d4
jmp 0x73a31
leaq 0x113c5b(%rip), %rsi    # 0x187636
leaq -0x60(%rbp), %rdi
callq 0x5c1f0
jmp 0x739e6
movq 0x194f2b(%rip), %rdi    # 0x208918
leaq -0x60(%rbp), %rsi
callq 0x5a710
jmp 0x739f8
leaq -0x60(%rbp), %rdi
callq 0x5df00
jmp 0x73a31
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5df00
jmp 0x73a4e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x5df00
jmp 0x73a4e
movq -0x70(%rbp), %rdi
movq 0x194edc(%rip), %rsi    # 0x208918
callq 0x5b6d0
jmp 0x73a43
leaq -0x20(%rbp), %rdi
callq 0x65ef0
jmp 0x73a59
leaq -0x20(%rbp), %rdi
callq 0x65ef0
jmp 0x73a66
movq -0x68(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0x5b6b0
nop
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/application/application.cpp
// Function: smooth::GUI::Application::Lock::SuspendLock()
S::Int S::GUI::Application::Lock::SuspendLock()
{
	if (GetOwnerThreadID() != Threads::Thread::GetCurrentThreadID()) return 0;

	/* Release currently held lock.
	 */
	Int	 suspendCount = lockCount;

	for (Int i = 0; i < suspendCount; i++) Release();

	return suspendCount;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
callq 0x5b140
movl %eax, -0x10(%rbp)
callq 0x593f0
movl %eax, %ecx
movl -0x10(%rbp), %eax
cmpl %ecx, %eax
je 0x745a7
movl $0x0, -0x4(%rbp)
jmp 0x745e5
leaq 0x193d52(%rip), %rdi    # 0x208300
callq 0x5abb0
leaq (%rax), %rax
movq (%rax), %rax
movl %eax, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
cmpl -0x8(%rbp), %eax
jge 0x745df
callq 0x5b440
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x745c7
movl -0x8(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/dialogs/colordlg.cpp
// Function: smooth::GUI::Dialogs::ColorSelection::ColorDlgHueEdit()
void S::GUI::Dialogs::ColorSelection::ColorDlgHueEdit()
{
	Int	 newhue = Math::Max(0, Math::Min(255, (Int) hueedit->GetText().ToInt()));

	if (newhue != acthue)
	{
		acthue = newhue;

		updatetext = False;

		ColorDlgHueSlider();
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq 0x406e8(%rax), %rdi
movq (%rdi), %rax
callq *0xa8(%rax)
movq %rax, %rdi
callq 0x5adc0
movl %eax, %esi
movl $0xff, %edi
callq 0x5ce90
movl %eax, %esi
xorl %edi, %edi
callq 0x5aae0
movq -0x18(%rbp), %rcx
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %eax
cmpl 0x614(%rcx), %eax
je 0x7a77c
movq -0x18(%rbp), %rdi
movl -0xc(%rbp), %eax
movl %eax, 0x614(%rdi)
movb $0x0, 0x606(%rdi)
callq 0x5dec0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/dialogs/colordlg.cpp
// Function: smooth::GUI::Dialogs::ColorSelection::ColorDlgSatEdit()
void S::GUI::Dialogs::ColorSelection::ColorDlgSatEdit()
{
	Int	 newsat = Math::Max(0, Math::Min(255, (Int) satedit->GetText().ToInt()));

	if (newsat != actsat)
	{
		actsat = newsat;

		updatetext = False;

		ColorDlgSatSlider();
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq 0x406f0(%rax), %rdi
movq (%rdi), %rax
callq *0xa8(%rax)
movq %rax, %rdi
callq 0x5adc0
movl %eax, %esi
movl $0xff, %edi
callq 0x5ce90
movl %eax, %esi
xorl %edi, %edi
callq 0x5aae0
movq -0x18(%rbp), %rcx
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %eax
cmpl 0x618(%rcx), %eax
je 0x7a7fc
movq -0x18(%rbp), %rdi
movl -0xc(%rbp), %eax
movl %eax, 0x618(%rdi)
movb $0x0, 0x606(%rdi)
callq 0x5de70
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/dialogs/colordlg.cpp
// Function: smooth::GUI::Dialogs::ColorSelection::ColorDlgValEdit()
void S::GUI::Dialogs::ColorSelection::ColorDlgValEdit()
{
	Int	 newval = Math::Max(0, Math::Min(255, (Int) valedit->GetText().ToInt()));

	if (newval != actval)
	{
		actval = newval;

		updatetext = False;

		ColorDlgValSlider();
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq 0x406f8(%rax), %rdi
movq (%rdi), %rax
callq *0xa8(%rax)
movq %rax, %rdi
callq 0x5adc0
movl %eax, %esi
movl $0xff, %edi
callq 0x5ce90
movl %eax, %esi
xorl %edi, %edi
callq 0x5aae0
movq -0x18(%rbp), %rcx
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %eax
cmpl 0x61c(%rcx), %eax
je 0x7a87c
movq -0x18(%rbp), %rdi
movl -0xc(%rbp), %eax
movl %eax, 0x61c(%rdi)
movb $0x0, 0x606(%rdi)
callq 0x5ddf0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/dialogs/colordlg.cpp
// Function: smooth::GUI::Dialogs::ColorSelection::ColorDlgRedEdit()
void S::GUI::Dialogs::ColorSelection::ColorDlgRedEdit()
{
	Int	 newred = Math::Max(0, Math::Min(255, (Int) rededit->GetText().ToInt()));

	if (newred != Color(acthue, actsat, actval, Color::HSV).ConvertTo(Color::RGB).GetRed())
	{
		actred = newred;

		updatetext = False;

		ColorDlgRedSlider();
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq 0x40700(%rax), %rdi
movq (%rdi), %rax
callq *0xa8(%rax)
movq %rax, %rdi
callq 0x5adc0
movl %eax, %esi
movl $0xff, %edi
callq 0x5ce90
movl %eax, %esi
xorl %edi, %edi
callq 0x5aae0
movl %eax, %ecx
movq -0x40(%rbp), %rax
movl %ecx, -0xc(%rbp)
movl -0xc(%rbp), %ecx
movl %ecx, -0x34(%rbp)
movl 0x614(%rax), %esi
movl 0x618(%rax), %edx
movl 0x61c(%rax), %ecx
leaq -0x30(%rbp), %rdi
movl $0x2, %r8d
callq 0x5a6b0
leaq -0x20(%rbp), %rdi
leaq -0x30(%rbp), %rsi
xorl %edx, %edx
callq 0x5c5e0
leaq -0x20(%rbp), %rdi
callq 0x59f20
movl %eax, %ecx
movl -0x34(%rbp), %eax
cmpl %ecx, %eax
je 0x7a93b
movq -0x40(%rbp), %rdi
movl -0xc(%rbp), %eax
movl %eax, 0x620(%rdi)
movb $0x0, 0x606(%rdi)
callq 0x5deb0
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/dialogs/colordlg.cpp
// Function: smooth::GUI::Dialogs::ColorSelection::ColorDlgGreenEdit()
void S::GUI::Dialogs::ColorSelection::ColorDlgGreenEdit()
{
	Int	 newgreen = Math::Max(0, Math::Min(255, (Int) greenedit->GetText().ToInt()));

	if (newgreen != Color(acthue, actsat, actval, Color::HSV).ConvertTo(Color::RGB).GetGreen())
	{
		actgreen = newgreen;

		updatetext = False;

		ColorDlgGreenSlider();
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq 0x40708(%rax), %rdi
movq (%rdi), %rax
callq *0xa8(%rax)
movq %rax, %rdi
callq 0x5adc0
movl %eax, %esi
movl $0xff, %edi
callq 0x5ce90
movl %eax, %esi
xorl %edi, %edi
callq 0x5aae0
movl %eax, %ecx
movq -0x40(%rbp), %rax
movl %ecx, -0xc(%rbp)
movl -0xc(%rbp), %ecx
movl %ecx, -0x34(%rbp)
movl 0x614(%rax), %esi
movl 0x618(%rax), %edx
movl 0x61c(%rax), %ecx
leaq -0x30(%rbp), %rdi
movl $0x2, %r8d
callq 0x5a6b0
leaq -0x20(%rbp), %rdi
leaq -0x30(%rbp), %rsi
xorl %edx, %edx
callq 0x5c5e0
leaq -0x20(%rbp), %rdi
callq 0x5d920
movl %eax, %ecx
movl -0x34(%rbp), %eax
cmpl %ecx, %eax
je 0x7a9fb
movq -0x40(%rbp), %rdi
movl -0xc(%rbp), %eax
movl %eax, 0x624(%rdi)
movb $0x0, 0x606(%rdi)
callq 0x5de38
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/dialogs/colordlg.cpp
// Function: smooth::GUI::Dialogs::ColorSelection::ColorDlgBlueEdit()
void S::GUI::Dialogs::ColorSelection::ColorDlgBlueEdit()
{
	Int	 newblue = Math::Max(0, Math::Min(255, (Int) blueedit->GetText().ToInt()));

	if (newblue != Color(acthue, actsat, actval, Color::HSV).ConvertTo(Color::RGB).GetBlue())
	{
		actblue = newblue;

		updatetext = False;

		ColorDlgBlueSlider();
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq 0x40710(%rax), %rdi
movq (%rdi), %rax
callq *0xa8(%rax)
movq %rax, %rdi
callq 0x5adc0
movl %eax, %esi
movl $0xff, %edi
callq 0x5ce90
movl %eax, %esi
xorl %edi, %edi
callq 0x5aae0
movl %eax, %ecx
movq -0x40(%rbp), %rax
movl %ecx, -0xc(%rbp)
movl -0xc(%rbp), %ecx
movl %ecx, -0x34(%rbp)
movl 0x614(%rax), %esi
movl 0x618(%rax), %edx
movl 0x61c(%rax), %ecx
leaq -0x30(%rbp), %rdi
movl $0x2, %r8d
callq 0x5a6b0
leaq -0x20(%rbp), %rdi
leaq -0x30(%rbp), %rsi
xorl %edx, %edx
callq 0x5c5e0
leaq -0x20(%rbp), %rdi
callq 0x5b650
movl %eax, %ecx
movl -0x34(%rbp), %eax
cmpl %ecx, %eax
je 0x7aabb
movq -0x40(%rbp), %rdi
movl -0xc(%rbp), %eax
movl %eax, 0x628(%rdi)
movb $0x0, 0x606(%rdi)
callq 0x5dea8
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/dialogs/colordlg.cpp
// Function: smooth::GUI::Dialogs::ColorSelection::ShowDialog()
const Error &S::GUI::Dialogs::ColorSelection::ShowDialog()
{
	if (parentWindow != NIL) dlgwnd->SetMetrics(parentWindow->GetPosition() + Point(25, 25), Size(436, 286));
	if (caption != NIL)	 dlgwnd->SetText(caption);

	ColorDlgUpdatePickers();

	dlgwnd->WaitUntilClosed();

	return error;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, 0x5d0(%rax)
je 0x7c7f6
movq -0x28(%rbp), %rax
movq 0x40648(%rax), %rcx
movq %rcx, -0x30(%rbp)
movq 0x5d0(%rax), %rdi
callq 0x5d740
movq %rax, -0x38(%rbp)
leaq -0x18(%rbp), %rdi
movl $0x19, %edx
movl %edx, %esi
callq 0x5c2c0
movq -0x38(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x5ca20
movq %rax, -0x10(%rbp)
leaq -0x20(%rbp), %rdi
movl $0x1b4, %esi            # imm = 0x1B4
movl $0x11e, %edx            # imm = 0x11E
callq 0x59260
movq -0x30(%rbp), %rdi
movq (%rdi), %rax
leaq -0x10(%rbp), %rsi
leaq -0x20(%rbp), %rdx
callq *0x150(%rax)
movq -0x28(%rbp), %rdi
addq $0x5b8, %rdi            # imm = 0x5B8
xorl %esi, %esi
callq 0x5b110
testb $0x1, %al
jne 0x7c80e
jmp 0x7c829
movq -0x28(%rbp), %rsi
movq 0x40648(%rsi), %rdi
addq $0x5b8, %rsi            # imm = 0x5B8
movq (%rdi), %rax
callq *0xa0(%rax)
movq -0x28(%rbp), %rdi
callq 0x5cdb0
movq -0x28(%rbp), %rax
movq 0x40648(%rax), %rdi
callq 0x5a7d0
movq -0x28(%rbp), %rax
addq $0x5d8, %rax            # imm = 0x5D8
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/dialogs/messagebox.cpp
// Function: smooth::GUI::Dialogs::QuickMessage(smooth::String const&, smooth::String const&, int, smooth::GUI::Bitmap const&)
S::Int S::GUI::Dialogs::QuickMessage(const String &text, const String &title, Int buttons, const Bitmap &icon)
{
	MessageDlg	*app = new MessageDlg(text, title, buttons, icon);

	app->ShowDialog();

	Int		 rVal = app->GetButtonCode();

	Object::DeleteObject(app);

	return rVal;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq %rcx, -0x20(%rbp)
movl $0x6d8, %edi            # imm = 0x6D8
callq 0x59820
movq %rax, -0x80(%rbp)
movb $0x1, -0x4d(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x70(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x64(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq -0x40(%rbp), %rdi
xorl %esi, %esi
callq 0x5da90
jmp 0x7e727
movq -0x60(%rbp), %r8
movl -0x64(%rbp), %ecx
movq -0x70(%rbp), %rdx
movq -0x78(%rbp), %rsi
movq -0x80(%rbp), %rdi
movq %rsp, %rax
movq $0x0, (%rax)
leaq -0x40(%rbp), %r9
callq 0x5c360
jmp 0x7e74f
movb $0x0, -0x4d(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x5df00
movq -0x80(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
movq (%rdi), %rax
callq *0x168(%rax)
movq -0x28(%rbp), %rdi
callq 0x5a080
movl %eax, -0x54(%rbp)
movq -0x28(%rbp), %rdi
callq 0x5d8d0
movl -0x54(%rbp), %eax
addq $0x90, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x7e7b5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x5df00
testb $0x1, -0x4d(%rbp)
jne 0x7e7bd
jmp 0x7e7cb
movq -0x80(%rbp), %rdi
movl $0x6d8, %esi            # imm = 0x6D8
callq 0x595b0
jmp 0x7e7cd
movq -0x48(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/dialogs/messagebox.cpp
// Function: smooth::GUI::Dialogs::QuickMessage(smooth::String const&, smooth::String const&, int, int)
S::Int S::GUI::Dialogs::QuickMessage(const String &text, const String &title, Int buttons, Int iconID)
{
	MessageDlg	*app = new MessageDlg(text, title, buttons, iconID);

	app->ShowDialog();

	Int		 rVal = app->GetButtonCode();

	Object::DeleteObject(app);

	return rVal;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl %ecx, -0x18(%rbp)
movl $0x6d8, %edi            # imm = 0x6D8
callq 0x59820
movq %rax, -0x70(%rbp)
movb $0x1, -0x45(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x54(%rbp)
movl -0x18(%rbp), %eax
movl %eax, -0x50(%rbp)
leaq -0x38(%rbp), %rdi
xorl %esi, %esi
callq 0x5da90
jmp 0x7e854
movl -0x50(%rbp), %r8d
movl -0x54(%rbp), %ecx
movq -0x60(%rbp), %rdx
movq -0x68(%rbp), %rsi
movq -0x70(%rbp), %rdi
movq %rsp, %rax
movq $0x0, (%rax)
leaq -0x38(%rbp), %r9
callq 0x5c670
jmp 0x7e87c
movb $0x0, -0x45(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x5df00
movq -0x70(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movq (%rdi), %rax
callq *0x168(%rax)
movq -0x20(%rbp), %rdi
callq 0x5a080
movl %eax, -0x4c(%rbp)
movq -0x20(%rbp), %rdi
callq 0x5d8d0
movl -0x4c(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x7e8e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x5df00
testb $0x1, -0x45(%rbp)
jne 0x7e8ea
jmp 0x7e8f8
movq -0x70(%rbp), %rdi
movl $0x6d8, %esi            # imm = 0x6D8
callq 0x595b0
jmp 0x7e8fa
movq -0x40(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/dialogs/messagebox.cpp
// Function: smooth::GUI::Dialogs::MessageDlg::~MessageDlg()
S::GUI::Dialogs::MessageDlg::~MessageDlg()
{
	foreach (Button *button, buttonWidgets) DeleteObject(button);

	DeleteObject(layer);
	DeleteObject(icon);
	DeleteObject(titlebar);
	DeleteObject(msgbox);

	if (checkbox != NIL) DeleteObject(checkbox);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq 0x187af5(%rip), %rcx    # 0x208d00
addq $0x10, %rcx
movq %rcx, (%rax)
movl $0x0, -0xc(%rbp)
movl $0xffffffff, -0x10(%rbp) # imm = 0xFFFFFFFF
xorl %eax, %eax
cmpl $0x0, -0xc(%rbp)
movb %al, -0x21(%rbp)
jne 0x81257
movq -0x20(%rbp), %rdi
movl -0x10(%rbp), %eax
movl %eax, -0x2c(%rbp)
addq $0x668, %rdi            # imm = 0x668
callq 0x5c990
movl %eax, -0x28(%rbp)
jmp 0x81246
movl -0x2c(%rbp), %eax
movl -0x28(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
setl %al
movb %al, -0x21(%rbp)
movb -0x21(%rbp), %al
testb $0x1, %al
jne 0x81260
jmp 0x812c0
movq -0x20(%rbp), %rdi
addq $0x668, %rdi            # imm = 0x668
movl -0x10(%rbp), %esi
incl %esi
movl %esi, -0x10(%rbp)
callq 0x81a90
movq %rax, -0x38(%rbp)
jmp 0x8127e
movq -0x38(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
cmpl $0x0, -0xc(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x81298
jmp 0x812b0
movq -0x18(%rbp), %rdi
callq 0x5d8d0
jmp 0x812a3
jmp 0x812a5
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x81289
jmp 0x812b2
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x81220
movq -0x20(%rbp), %rax
movq 0x600(%rax), %rdi
callq 0x5d8d0
jmp 0x812d2
movq -0x20(%rbp), %rax
movq 0x608(%rax), %rdi
callq 0x5d8d0
jmp 0x812e4
movq -0x20(%rbp), %rax
movq 0x5f8(%rax), %rdi
callq 0x5d8d0
jmp 0x812f6
movq -0x20(%rbp), %rax
movq 0x5f0(%rax), %rdi
callq 0x5d8d0
jmp 0x81308
movq -0x20(%rbp), %rax
cmpq $0x0, 0x6c8(%rax)
je 0x8132a
movq -0x20(%rbp), %rax
movq 0x6c8(%rax), %rdi
callq 0x5d8d0
jmp 0x81328
jmp 0x8132a
movq -0x20(%rbp), %rdi
addq $0x668, %rdi            # imm = 0x668
callq 0x816b0
movq -0x20(%rbp), %rdi
addq $0x610, %rdi            # imm = 0x610
callq 0x74690
movq -0x20(%rbp), %rdi
callq 0x59d10
addq $0x40, %rsp
popq %rbp
retq
movq %rax, %rdi
callq 0x61c50
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/dialogs/messagebox.cpp
// Function: smooth::GUI::Dialogs::MessageDlg::MessageButton(int)
S::Void S::GUI::Dialogs::MessageDlg::MessageButton(Int buttonID)
{
	if	(buttonLabels.GetNth(buttonID) == "OK")	    buttonCode = Message::Button::Ok;
	else if	(buttonLabels.GetNth(buttonID) == "Cancel") buttonCode = Message::Button::Cancel;
	else if	(buttonLabels.GetNth(buttonID) == "Yes")    buttonCode = Message::Button::Yes;
	else if	(buttonLabels.GetNth(buttonID) == "No")	    buttonCode = Message::Button::No;
	else if	(buttonLabels.GetNth(buttonID) == "Retry")  buttonCode = Message::Button::Retry;
	else if	(buttonLabels.GetNth(buttonID) == "Abort")  buttonCode = Message::Button::Abort;
	else if	(buttonLabels.GetNth(buttonID) == "Ignore") buttonCode = Message::Button::Ignore;

	msgbox->Close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x18(%rbp)
addq $0x610, %rdi            # imm = 0x610
movl -0xc(%rbp), %esi
callq 0x81b20
movq %rax, %rdi
leaq 0x140724(%rip), %rsi    # 0x1c1b44
callq 0x5c7f0
testb $0x1, %al
jne 0x8142b
jmp 0x8143e
movq -0x18(%rbp), %rax
movl $0x1, 0x6c0(%rax)
jmp 0x815a1
movq -0x18(%rbp), %rdi
addq $0x610, %rdi            # imm = 0x610
movl -0xc(%rbp), %esi
callq 0x81b20
movq %rax, %rdi
leaq 0x106305(%rip), %rsi    # 0x187760
callq 0x5c7f0
testb $0x1, %al
jne 0x81466
jmp 0x81479
movq -0x18(%rbp), %rax
movl $0x2, 0x6c0(%rax)
jmp 0x8159f
movq -0x18(%rbp), %rdi
addq $0x610, %rdi            # imm = 0x610
movl -0xc(%rbp), %esi
callq 0x81b20
movq %rax, %rdi
leaq 0x1064b8(%rip), %rsi    # 0x18794e
callq 0x5c7f0
testb $0x1, %al
jne 0x814a1
jmp 0x814b4
movq -0x18(%rbp), %rax
movl $0x6, 0x6c0(%rax)
jmp 0x8159d
movq -0x18(%rbp), %rdi
addq $0x610, %rdi            # imm = 0x610
movl -0xc(%rbp), %esi
callq 0x81b20
movq %rax, %rdi
leaq 0x106481(%rip), %rsi    # 0x187952
callq 0x5c7f0
testb $0x1, %al
jne 0x814dc
jmp 0x814ef
movq -0x18(%rbp), %rax
movl $0x7, 0x6c0(%rax)
jmp 0x8159b
movq -0x18(%rbp), %rdi
addq $0x610, %rdi            # imm = 0x610
movl -0xc(%rbp), %esi
callq 0x81b20
movq %rax, %rdi
leaq 0x106449(%rip), %rsi    # 0x187955
callq 0x5c7f0
testb $0x1, %al
jne 0x81517
jmp 0x81527
movq -0x18(%rbp), %rax
movl $0x4, 0x6c0(%rax)
jmp 0x81599
movq -0x18(%rbp), %rdi
addq $0x610, %rdi            # imm = 0x610
movl -0xc(%rbp), %esi
callq 0x81b20
movq %rax, %rdi
leaq 0x106417(%rip), %rsi    # 0x18795b
callq 0x5c7f0
testb $0x1, %al
jne 0x8154f
jmp 0x8155f
movq -0x18(%rbp), %rax
movl $0x3, 0x6c0(%rax)
jmp 0x81597
movq -0x18(%rbp), %rdi
addq $0x610, %rdi            # imm = 0x610
movl -0xc(%rbp), %esi
callq 0x81b20
movq %rax, %rdi
leaq 0x1063e5(%rip), %rsi    # 0x187961
callq 0x5c7f0
testb $0x1, %al
jne 0x81587
jmp 0x81595
movq -0x18(%rbp), %rax
movl $0x5, 0x6c0(%rax)
jmp 0x81597
jmp 0x81599
jmp 0x8159b
jmp 0x8159d
jmp 0x8159f
jmp 0x815a1
movq -0x18(%rbp), %rax
movq 0x5f0(%rax), %rdi
callq 0x5ce80
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/dialogs/splashscreen.cpp
// Function: smooth::GUI::Dialogs::SplashScreen::SplashPaintProc()
S::Void S::GUI::Dialogs::SplashScreen::SplashPaintProc()
{
	Surface	*surface = splashscreen->GetDrawSurface();
	Rect	 bmpRect;

	bmpRect.left	= 1;
	bmpRect.top	= 1;
	bmpRect.right	= bmpRect.left + bitmap.GetSize().cx;
	bmpRect.bottom	= bmpRect.top + bitmap.GetSize().cy;

	surface->BlitFromBitmap(bitmap, Rect(Point(0, 0), bitmap.GetSize()), bmpRect);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
movq 0x5f8(%rax), %rdi
movq (%rdi), %rax
callq *0x40(%rax)
movq %rax, -0x10(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5c030
movq -0x50(%rbp), %rdi
movl $0x1, -0x20(%rbp)
movl $0x1, -0x1c(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x58(%rbp)
addq $0x5f0, %rdi            # imm = 0x5F0
callq 0x5ce60
movq -0x50(%rbp), %rdi
movq %rax, %rcx
movl -0x58(%rbp), %eax
addl (%rcx), %eax
movl %eax, -0x18(%rbp)
movl -0x1c(%rbp), %eax
movl %eax, -0x54(%rbp)
addq $0x5f0, %rdi            # imm = 0x5F0
callq 0x5ce60
movl -0x54(%rbp), %ecx
movq %rax, %rdx
movq -0x50(%rbp), %rax
addl 0x4(%rdx), %ecx
movl %ecx, -0x14(%rbp)
movq -0x10(%rbp), %rcx
movq %rcx, -0x48(%rbp)
addq $0x5f0, %rax            # imm = 0x5F0
movq %rax, -0x40(%rbp)
leaq -0x38(%rbp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x5c2c0
movq -0x50(%rbp), %rdi
addq $0x5f0, %rdi            # imm = 0x5F0
callq 0x5ce60
movq %rax, %rdx
leaq -0x30(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x59ff0
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
leaq -0x30(%rbp), %rdx
leaq -0x20(%rbp), %rcx
callq 0x59dd0
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/dialogs/splashscreen.cpp
// Function: smooth::GUI::Dialogs::SplashScreen::ShowDialog()
const Error &S::GUI::Dialogs::SplashScreen::ShowDialog()
{
	splashscreen->Show();

	timer->Start(time);

	splashscreen->WaitUntilClosed();

	return error;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq 0x5f8(%rax), %rdi
movq (%rdi), %rax
callq *0x58(%rax)
movq -0x10(%rbp), %rax
movq 0x600(%rax), %rdi
movl 0x5e8(%rax), %esi
callq 0x59120
movq -0x10(%rbp), %rax
movq 0x5f8(%rax), %rdi
callq 0x5a7d0
movq -0x10(%rbp), %rax
addq $0x5d8, %rax            # imm = 0x5D8
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/dialogs/tipodaydlg.cpp
// Function: smooth::GUI::Dialogs::TipOfTheDay::OnNext()
S::Void S::GUI::Dialogs::TipOfTheDay::OnNext()
{
	if (tips.Length() <= 1) return;

	String	 tip;

	switch (mode)
	{
		case TIP_ORDERED:
			tip = tips.GetNth(offset++);

			if (offset == tips.Length()) offset = 0;

			break;
		case TIP_RANDOM:
			Math::RandomSeed();

			do
			{
				tip = tips.GetNth(Math::Random() % tips.Length());
			}
			while (tip == txt_tip->GetText());

			break;
	}

	txt_tip->SetText(tip);

	OnPaint();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x38(%rbp)
addq $0x640, %rdi            # imm = 0x640
callq 0x5c990
cmpl $0x1, %eax
jg 0x8425d
jmp 0x843eb
leaq -0x20(%rbp), %rdi
xorl %esi, %esi
callq 0x5da90
movq -0x38(%rbp), %rax
movl 0x698(%rax), %eax
movl %eax, -0x3c(%rbp)
testl %eax, %eax
je 0x8428c
jmp 0x8427b
movl -0x3c(%rbp), %eax
subl $0x1, %eax
je 0x8431b
jmp 0x843ba
movq -0x38(%rbp), %rax
movq %rax, %rdi
addq $0x640, %rdi            # imm = 0x640
movl 0x69c(%rax), %esi
movl %esi, %ecx
incl %ecx
movl %ecx, 0x69c(%rax)
callq 0x81b20
movq %rax, -0x48(%rbp)
jmp 0x842b5
movq -0x48(%rbp), %rsi
leaq -0x20(%rbp), %rdi
callq 0x59760
jmp 0x842c4
movq -0x38(%rbp), %rdi
movl 0x69c(%rdi), %eax
movl %eax, -0x50(%rbp)
addq $0x640, %rdi            # imm = 0x640
callq 0x5c990
movl %eax, -0x4c(%rbp)
jmp 0x842e2
movl -0x50(%rbp), %eax
movl -0x4c(%rbp), %ecx
cmpl %ecx, %eax
jne 0x84316
movq -0x38(%rbp), %rax
movl $0x0, 0x69c(%rax)
jmp 0x84316
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5df00
jmp 0x843f4
jmp 0x843ba
callq 0x59a50
jmp 0x84322
jmp 0x84324
movq -0x38(%rbp), %rax
addq $0x640, %rax            # imm = 0x640
movq %rax, -0x60(%rbp)
callq 0x5a2b0
movl %eax, -0x54(%rbp)
jmp 0x8433c
movq -0x38(%rbp), %rdi
addq $0x640, %rdi            # imm = 0x640
callq 0x5c990
movl %eax, -0x64(%rbp)
jmp 0x84351
movq -0x60(%rbp), %rdi
movl -0x64(%rbp), %ecx
movl -0x54(%rbp), %eax
cltd
idivl %ecx
movl %edx, %esi
callq 0x81b20
movq %rax, -0x70(%rbp)
jmp 0x8436b
movq -0x70(%rbp), %rsi
leaq -0x20(%rbp), %rdi
callq 0x59760
jmp 0x8437a
jmp 0x8437c
movq -0x38(%rbp), %rax
movq 0x628(%rax), %rdi
movq (%rdi), %rax
movq 0xa8(%rax), %rax
callq *%rax
movq %rax, -0x78(%rbp)
jmp 0x84399
movq -0x78(%rbp), %rsi
leaq -0x20(%rbp), %rdi
callq 0x59ac0
movb %al, -0x79(%rbp)
jmp 0x843ab
movb -0x79(%rbp), %al
testb $0x1, %al
jne 0x84324
jmp 0x843b8
jmp 0x843ba
movq -0x38(%rbp), %rax
movq 0x628(%rax), %rdi
movq (%rdi), %rax
movq 0xa0(%rax), %rax
leaq -0x20(%rbp), %rsi
callq *%rax
jmp 0x843d7
movq -0x38(%rbp), %rdi
callq 0x5de60
jmp 0x843e2
leaq -0x20(%rbp), %rdi
callq 0x5df00
addq $0x80, %rsp
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0x5b6b0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/dialogs/tipodaydlg.cpp
// Function: smooth::GUI::Dialogs::TipOfTheDay::~TipOfTheDay()
S::GUI::Dialogs::TipOfTheDay::~TipOfTheDay()
{
	DeleteObject(dlgwnd);

	DeleteObject(titlebar);
	DeleteObject(divbar);

	DeleteObject(btn_ok);
	DeleteObject(btn_next);
	DeleteObject(check_showtips);

	DeleteObject(img_light);
	DeleteObject(txt_didyouknow);

	DeleteObject(layer_inner);

	DeleteObject(txt_tip);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq 0x184a3d(%rip), %rcx    # 0x208f58
addq $0x10, %rcx
movq %rcx, (%rax)
movq 0x5e8(%rax), %rdi
callq 0x5d8d0
jmp 0x84530
movq -0x10(%rbp), %rax
movq 0x5f0(%rax), %rdi
callq 0x5d8d0
jmp 0x84542
movq -0x10(%rbp), %rax
movq 0x5f8(%rax), %rdi
callq 0x5d8d0
jmp 0x84554
movq -0x10(%rbp), %rax
movq 0x600(%rax), %rdi
callq 0x5d8d0
jmp 0x84566
movq -0x10(%rbp), %rax
movq 0x608(%rax), %rdi
callq 0x5d8d0
jmp 0x84578
movq -0x10(%rbp), %rax
movq 0x610(%rax), %rdi
callq 0x5d8d0
jmp 0x8458a
movq -0x10(%rbp), %rax
movq 0x618(%rax), %rdi
callq 0x5d8d0
jmp 0x8459c
movq -0x10(%rbp), %rax
movq 0x620(%rax), %rdi
callq 0x5d8d0
jmp 0x845ae
movq -0x10(%rbp), %rax
movq 0x630(%rax), %rdi
callq 0x5d8d0
jmp 0x845c0
movq -0x10(%rbp), %rax
movq 0x628(%rax), %rdi
callq 0x5d8d0
jmp 0x845d2
movq -0x10(%rbp), %rdi
addq $0x640, %rdi            # imm = 0x640
callq 0x74690
movq -0x10(%rbp), %rdi
callq 0x59d10
addq $0x10, %rsp
popq %rbp
retq
movq %rax, %rdi
callq 0x61c50
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/dialogs/tipodaydlg.cpp
// Function: smooth::GUI::Dialogs::TipOfTheDay::SetMode(int, int, bool)
S::Int S::GUI::Dialogs::TipOfTheDay::SetMode(Int nMode, Int nOffset, Bool showOnStartup)
{
	switch (nMode)
	{
		case TIP_ORDERED:
			mode	= nMode;
			offset	= nOffset;

			break;
		case TIP_RANDOM:
			mode	= nMode;
			offset	= 0;

			break;
		default:
			return Error();
	}

	*showTips = showOnStartup;

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movb %cl, %al
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl %edx, -0x18(%rbp)
andb $0x1, %al
movb %al, -0x19(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x54(%rbp)
testl %eax, %eax
je 0x84b7a
jmp 0x84b70
movl -0x54(%rbp), %eax
subl $0x1, %eax
je 0x84b92
jmp 0x84bab
movq -0x60(%rbp), %rax
movl -0x14(%rbp), %ecx
movl %ecx, 0x698(%rax)
movl -0x18(%rbp), %ecx
movl %ecx, 0x69c(%rax)
jmp 0x84bf3
movq -0x60(%rbp), %rax
movl -0x14(%rbp), %ecx
movl %ecx, 0x698(%rax)
movl $0x0, 0x69c(%rax)
jmp 0x84bf3
leaq -0x30(%rbp), %rdi
movq %rdi, -0x70(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x70(%rbp), %rdi
callq 0x59680
movl %eax, -0x64(%rbp)
jmp 0x84bcb
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x5b5b0
jmp 0x84c49
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x5b5b0
jmp 0x84c55
movq -0x60(%rbp), %rax
movb -0x19(%rbp), %cl
movq 0x638(%rax), %rax
andb $0x1, %cl
movb %cl, (%rax)
leaq -0x50(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x5ca80
movq -0x80(%rbp), %rdi
callq 0x59680
movl %eax, -0x74(%rbp)
jmp 0x84c21
movl -0x74(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5a410
jmp 0x84c49
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5a410
jmp 0x84c55
movl -0x4(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x5b6b0
nop
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/widgets/layer.cpp
// Function: smooth::GUI::Layer::Layer(smooth::String const&)
S::GUI::Layer::Layer(const String &name) : Widget(Point(0, 0), Size(32768, 32768))
{
	type	    = classID;

	text	    = name;
	orientation = OR_CENTER;

	ComputeTextSize();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq -0x18(%rbp), %rdi
movq %rdi, -0x48(%rbp)
xorl %edx, %edx
movl %edx, %esi
callq 0x5c2c0
leaq -0x20(%rbp), %rdi
movq %rdi, -0x40(%rbp)
movl $0x8000, %edx           # imm = 0x8000
movl %edx, %esi
callq 0x59260
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq -0x38(%rbp), %rdi
callq 0x5c220
movq -0x38(%rbp), %rdi
movq 0x1831a7(%rip), %rax    # 0x208ab0
addq $0x10, %rax
movq %rax, (%rdi)
movq 0x182ec1(%rip), %rax    # 0x2087d8
movswl (%rax), %esi
addq $0x20, %rdi
callq 0x5a2e0
jmp 0x85925
movq -0x38(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0xf0, %rdi
callq 0x59760
jmp 0x8593b
movq -0x38(%rbp), %rdi
movw $0x40, 0xd0(%rdi)
callq 0x59de0
jmp 0x8594f
addq $0x50, %rsp
popq %rbp
retq
movq -0x38(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
callq 0x5bd90
movq -0x28(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)