LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/backends/xlib/backendxlib.cpp
// Function: smooth::Backends::BackendXLib::Init()
S::Int S::Backends::BackendXLib::Init()
{
	XInitThreads();

	/* Open display.
	 */
	const char	*displayId = getenv("DISPLAY");

	if (displayId != NIL)
	{
		display	= XOpenDisplay(NIL);

		if (display == NIL)
		{
			fprintf(stderr, "Error: Unable to open display at %s.\n", displayId);

			return Error();
		}

		/* Init the GTK with SIGALRM signals disabled to make
		 * threads created by gtk_init inherit this SIGMASK.
		 */
		toggleTimerInterrupts(false);

		gtk_init(NULL, NULL);

		toggleTimerInterrupts(true);

		/* Get default colors.
		 */
		UpdateColors();

		/* Set locale and open input method.
		 */
		setlocale(LC_ALL, "");

		XSetLocaleModifiers("");

		im = XOpenIM(display, NIL, NIL, NIL);
	}

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
callq 0x59500
leaq 0x89718(%rip), %rdi     # 0x1a6750
callq 0x5bea0
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x11d12c
xorl %eax, %eax
movl %eax, %edi
callq 0x5de28
movq %rax, 0xf7724(%rip)     # 0x214780
cmpq $0x0, 0xf771c(%rip)     # 0x214780
jne 0x11d0d0
movq 0xeb833(%rip), %rax     # 0x2088a0
movq (%rax), %rdi
movq -0x18(%rbp), %rdx
leaq 0x896dd(%rip), %rsi     # 0x1a6758
xorl %eax, %eax
callq 0x59a90
leaq -0x28(%rbp), %rdi
movq %rdi, -0x58(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x58(%rbp), %rdi
callq 0x59680
movl %eax, -0x4c(%rbp)
jmp 0x11d0a2
movl -0x4c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0x11d16f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0x11d178
xorl %edi, %edi
callq 0x11d190
xorl %eax, %eax
movl %eax, %esi
movq %rsi, %rdi
callq 0x5a910
movl $0x1, %edi
callq 0x11d190
callq 0x11d1f0
movl $0x6, %edi
leaq 0x88786(%rip), %rsi     # 0x1a5884
callq 0x5bf50
leaq 0x8877a(%rip), %rdi     # 0x1a5884
callq 0x5a5c0
movq 0xf766a(%rip), %rdi     # 0x214780
xorl %eax, %eax
movl %eax, %ecx
movq %rcx, %rsi
movq %rcx, %rdx
callq 0x5a6a0
movq %rax, 0xf765c(%rip)     # 0x214788
leaq -0x48(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x5ca80
movq -0x68(%rbp), %rdi
callq 0x59680
movl %eax, -0x5c(%rbp)
jmp 0x11d147
movl -0x5c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5a410
jmp 0x11d16f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5a410
jmp 0x11d178
movl -0x4(%rbp), %eax
addq $0x70, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/backends/xlib/backendxlib.cpp
// Function: smooth::Backends::BackendXLib::UpdateColors()
S::Void S::Backends::BackendXLib::UpdateColors()
{
	/* Check desktop environment.
	 */
	String			 desktop = getenv("XDG_CURRENT_DESKTOP");
	const Array<String>	&IDs	 = desktop.Explode(":");

	foreach (const String &ID, IDs)
	{
		if (ID == "KDE" && UpdateColorsKDE()) return;
	}

	UpdateColorsGnome();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
leaq 0x8957c(%rip), %rdi     # 0x1a677e
callq 0x5bea0
movq %rax, %rsi
leaq -0x18(%rbp), %rdi
callq 0x5c1f0
leaq 0x69eb4(%rip), %rsi     # 0x1870ce
leaq -0x90(%rbp), %rdi
callq 0x5c1f0
jmp 0x11d228
leaq -0x78(%rbp), %rdi
leaq -0x18(%rbp), %rsi
leaq -0x90(%rbp), %rdx
callq 0x5c820
jmp 0x11d23e
leaq -0x90(%rbp), %rdi
callq 0x5df00
leaq -0x78(%rbp), %rax
movq %rax, -0x20(%rbp)
movl $0x0, -0xa0(%rbp)
movl $0xffffffff, -0xa4(%rbp) # imm = 0xFFFFFFFF
xorl %eax, %eax
cmpl $0x0, -0xa0(%rbp)
movb %al, -0xb5(%rbp)
jne 0x11d2ae
movl -0xa4(%rbp), %eax
movl %eax, -0xc0(%rbp)
movq -0x20(%rbp), %rdi
callq 0x5c990
movl %eax, -0xbc(%rbp)
jmp 0x11d294
movl -0xc0(%rbp), %eax
movl -0xbc(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
setl %al
movb %al, -0xb5(%rbp)
movb -0xb5(%rbp), %al
testb $0x1, %al
jne 0x11d2bd
jmp 0x11d3cf
movq -0x20(%rbp), %rdi
movl -0xa4(%rbp), %esi
incl %esi
movl %esi, -0xa4(%rbp)
callq 0x74720
movq %rax, -0xc8(%rbp)
jmp 0x11d2dd
movq -0xc8(%rbp), %rax
movq %rax, -0xb0(%rbp)
cmpl $0x0, -0xa0(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x11d300
jmp 0x11d3b9
movq -0xb0(%rbp), %rdi
leaq 0x89484(%rip), %rsi     # 0x1a6792
callq 0x5c7f0
movb %al, -0xc9(%rbp)
jmp 0x11d31b
movb -0xc9(%rbp), %al
testb $0x1, %al
jne 0x11d327
jmp 0x11d3a3
callq 0x11d4a0
movb %al, -0xca(%rbp)
jmp 0x11d334
movb -0xca(%rbp), %al
testb $0x1, %al
jne 0x11d340
jmp 0x11d3a3
movl $0x1, -0xb4(%rbp)
jmp 0x11d3e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x11d3fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x5df00
jmp 0x11d3fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x74690
jmp 0x11d3fb
jmp 0x11d3a5
movl -0xa0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa0(%rbp)
jmp 0x11d2eb
jmp 0x11d3bb
movl -0xa0(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xa0(%rbp)
jmp 0x11d266
callq 0x11e140
jmp 0x11d3d6
movl $0x0, -0xb4(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x74690
leaq -0x18(%rbp), %rdi
callq 0x5df00
addq $0xd0, %rsp
popq %rbp
retq
leaq -0x18(%rbp), %rdi
callq 0x5df00
movq -0x98(%rbp), %rdi
callq 0x5b6b0
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/backends/xlib/backendxlib.cpp
// Function: get_gtk_color(unsigned long, char const*, GtkStateFlags, bool)
static GdkRGBA get_gtk_color(GType type, const gchar *className, GtkStateFlags stateFlags, bool background)
{
	/* Create dummy widget of requested type.
	 */
	GtkWidget	*widget = NIL;

	if	(type == GTK_TYPE_WINDOW)      widget = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	else if	(type == GTK_TYPE_TOOLTIP)     widget = gtk_window_new(GTK_WINDOW_POPUP);
	else if	(type == GTK_TYPE_BUTTON)      widget = gtk_button_new();
	else if	(type == GTK_TYPE_TEXT_VIEW)   widget = gtk_text_view_new();
	else if	(type == GTK_TYPE_LINK_BUTTON) widget = gtk_link_button_new("");

	if (widget == NIL) return { 0, 0, 0, 0 };

	/* Get GtkStyleContext to query color.
	 */
	GtkStyleContext *style = gtk_widget_get_style_context(widget);

	gtk_style_context_add_class(style, className);

	/* Query color from style context.
	 */
	GdkRGBA	 color;

	if (background) gtk_style_context_get_background_color(style, stateFlags, &color);
	else		gtk_style_context_get_color(style, stateFlags, &color);

	g_object_ref_sink(widget);
	g_object_unref(widget);

	return color;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x40(%rbp)
movb %r8b, %al
movq %rdi, -0x38(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
andb $0x1, %al
movb %al, -0x15(%rbp)
movq $0x0, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
callq 0x5d850
movq %rax, %rcx
movq -0x30(%rbp), %rax
cmpq %rcx, %rax
jne 0x11ebf4
xorl %edi, %edi
callq 0x5cfb0
movq %rax, -0x20(%rbp)
jmp 0x11ec96
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
callq 0x5b4d0
movq %rax, %rcx
movq -0x48(%rbp), %rax
cmpq %rcx, %rax
jne 0x11ec1d
movl $0x1, %edi
callq 0x5cfb0
movq %rax, -0x20(%rbp)
jmp 0x11ec94
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
callq 0x5aff0
movq %rax, %rcx
movq -0x50(%rbp), %rax
cmpq %rcx, %rax
jne 0x11ec41
callq 0x5a320
movq %rax, -0x20(%rbp)
jmp 0x11ec92
movq -0x8(%rbp), %rax
movq %rax, -0x58(%rbp)
callq 0x5b8d0
movq %rax, %rcx
movq -0x58(%rbp), %rax
cmpq %rcx, %rax
jne 0x11ec65
callq 0x5da40
movq %rax, -0x20(%rbp)
jmp 0x11ec90
movq -0x8(%rbp), %rax
movq %rax, -0x60(%rbp)
callq 0x59c10
movq %rax, %rcx
movq -0x60(%rbp), %rax
cmpq %rcx, %rax
jne 0x11ec8e
leaq 0x86bff(%rip), %rdi     # 0x1a5884
callq 0x59fe0
movq %rax, -0x20(%rbp)
jmp 0x11ec90
jmp 0x11ec92
jmp 0x11ec94
jmp 0x11ec96
cmpq $0x0, -0x20(%rbp)
jne 0x11ecaf
movq -0x40(%rbp), %rdi
xorl %esi, %esi
movl $0x20, %edx
callq 0x5a200
jmp 0x11ed03
movq -0x20(%rbp), %rdi
callq 0x59450
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x5c420
testb $0x1, -0x15(%rbp)
je 0x11ece1
movq -0x40(%rbp), %rdx
movq -0x28(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x5c830
jmp 0x11ecf1
movq -0x40(%rbp), %rdx
movq -0x28(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x59700
movq -0x20(%rbp), %rdi
callq 0x5b890
movq -0x20(%rbp), %rdi
callq 0x5cf40
movq -0x38(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/backends/xlib/backendxlib.cpp
// Function: get_kde_color(smooth::String const&, smooth::String const&)
static S::GUI::Color get_kde_color(const S::String &category, const S::String &color)
{
	S::String			 spec	= S::Backends::BackendXLib::QueryKDESettings(S::String("Colors:").Append(category), color);
	const S::Array<S::String>	&values = spec.Explode(",");

	if (values.Length() != 3) return S::GUI::Color();

	return S::GUI::Color(values.GetNth(0).ToInt(), values.GetNth(1).ToInt(), values.GetNth(2).ToInt());
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x140, %rsp            # imm = 0x140
movq %rdi, -0xf8(%rbp)
movq %rdi, %rax
movq %rax, -0xf0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
leaq 0x87b0f(%rip), %rsi     # 0x1a684e
leaq -0x48(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
callq 0x5c1f0
movq -0xe8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x5a710
movq %rax, -0xe0(%rbp)
jmp 0x11ed68
movq -0xe0(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x30(%rbp), %rdi
callq 0x11f5f0
jmp 0x11ed7e
leaq -0x48(%rbp), %rdi
callq 0x5df00
leaq 0x87ac8(%rip), %rsi     # 0x1a6856
leaq -0xd0(%rbp), %rdi
callq 0x5c1f0
jmp 0x11ed9c
leaq -0xb8(%rbp), %rdi
leaq -0x30(%rbp), %rsi
leaq -0xd0(%rbp), %rdx
callq 0x5c820
jmp 0x11edb5
leaq -0xd0(%rbp), %rdi
callq 0x5df00
leaq -0xb8(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rdi
callq 0x5c990
cmpl $0x3, %eax
je 0x11ee60
movq -0xf8(%rbp), %rdi
callq 0x5c250
jmp 0x11edec
movl $0x1, -0xd4(%rbp)
jmp 0x11ef2b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5df00
jmp 0x11ef59
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x11ef50
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x5df00
jmp 0x11ef50
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x74690
jmp 0x11ef50
movq -0x60(%rbp), %rdi
xorl %esi, %esi
callq 0x81b20
movq %rax, -0x100(%rbp)
jmp 0x11ee74
movq -0x100(%rbp), %rdi
callq 0x5adc0
movq %rax, -0x108(%rbp)
jmp 0x11ee89
movq -0x108(%rbp), %rax
movl %eax, -0x114(%rbp)
movq -0x60(%rbp), %rdi
movl $0x1, %esi
callq 0x81b20
movq %rax, -0x110(%rbp)
jmp 0x11eead
movq -0x110(%rbp), %rdi
callq 0x5adc0
movq %rax, -0x120(%rbp)
jmp 0x11eec2
movq -0x120(%rbp), %rax
movl %eax, -0x12c(%rbp)
movq -0x60(%rbp), %rdi
movl $0x2, %esi
callq 0x81b20
movq %rax, -0x128(%rbp)
jmp 0x11eee6
movq -0x128(%rbp), %rdi
callq 0x5adc0
movq %rax, -0x138(%rbp)
jmp 0x11eefb
movl -0x12c(%rbp), %edx
movl -0x114(%rbp), %esi
movq -0xf8(%rbp), %rdi
movq -0x138(%rbp), %rax
movl %eax, %ecx
xorl %r8d, %r8d
callq 0x5a6b0
jmp 0x11ef21
movl $0x1, -0xd4(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x74690
leaq -0x30(%rbp), %rdi
callq 0x5df00
movq -0xf0(%rbp), %rax
addq $0x140, %rsp            # imm = 0x140
popq %rbp
retq
leaq -0x30(%rbp), %rdi
callq 0x5df00
movq -0x50(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/backends/xlib/bitmapxlib.cpp
// Function: smooth::GUI::BitmapXLib::DeleteBitmap()
S::Bool S::GUI::BitmapXLib::DeleteBitmap()
{
	if (bitmap != NIL)
	{
		delete [] bitmap->data;

		bitmap->data = NIL;

		XDestroyImage(bitmap);

		bitmap	     = NIL;

		size	     = Size(0, 0);
		depth	     = 0;

		bytes	     = NIL;
		bpp	     = 0;
		align	     = 0;
	}

	return True;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, 0x28(%rax)
je 0x120661
movq -0x18(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0x12060a
movq -0x20(%rbp), %rdi
callq 0x5a5e0
movq -0x18(%rbp), %rcx
movq 0x28(%rcx), %rax
movq $0x0, 0x10(%rax)
movq 0x28(%rcx), %rax
movq 0x60(%rax), %rax
movq 0x28(%rcx), %rdi
callq *%rax
movq -0x18(%rbp), %rax
movq $0x0, 0x28(%rax)
leaq -0x10(%rbp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x59260
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x10(%rax)
movb $0x0, 0xa(%rax)
movq $0x0, 0x18(%rax)
movb $0x0, 0xb(%rax)
movb $0x0, 0xc(%rax)
movb $0x1, %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/backends/xlib/bitmapxlib.cpp
// Function: smooth::GUI::BitmapXLib::SetSystemBitmap(void*)
S::Bool S::GUI::BitmapXLib::SetSystemBitmap(Void *nBitmap)
{
	if (nBitmap == GetSystemBitmap()) return True;

	if (nBitmap == NIL)
	{
		DeleteBitmap();
	}
	else
	{
		XImage	*image = (XImage *) nBitmap;

		CreateBitmap(Size(image->width, image->height), image->depth);

		memcpy(bitmap->data, image->data, size_t(image->height) * size_t(image->bytes_per_line));
	}

	return True;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
movq (%rdi), %rax
callq *0x28(%rax)
movq %rax, %rcx
movq -0x30(%rbp), %rax
cmpq %rcx, %rax
jne 0x1206a8
movb $0x1, -0x1(%rbp)
jmp 0x12071f
cmpq $0x0, -0x18(%rbp)
jne 0x1206bb
movq -0x38(%rbp), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
jmp 0x12071b
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movl (%rax), %esi
movq -0x20(%rbp), %rax
movl 0x4(%rax), %edx
leaq -0x28(%rbp), %rdi
callq 0x59260
movq -0x38(%rbp), %rdi
movq -0x20(%rbp), %rax
movl 0x28(%rax), %edx
movq (%rdi), %rax
leaq -0x28(%rbp), %rsi
callq *0x10(%rax)
movq -0x38(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x10(%rax), %rdi
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rsi
movq -0x20(%rbp), %rax
movslq 0x4(%rax), %rdx
movq -0x20(%rbp), %rax
movslq 0x2c(%rax), %rax
imulq %rax, %rdx
callq 0x593a0
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/backends/xlib/bitmapxlib.cpp
// Function: smooth::GUI::BitmapXLib::GetPixel(smooth::GUI::Point const&) const
S::GUI::Color S::GUI::BitmapXLib::GetPixel(const Point &iPoint) const
{
	if (bitmap == NIL) return Color();

	Long	 value = XGetPixel(bitmap, iPoint.x, iPoint.y);

	if	(depth == 16) return				   Color(((value >> 11) &  31) << 3, ((value >> 5) &  63) << 2, (value &  31) << 3, Color::RGB);
	else if (depth == 24) return				   Color( (value >> 16) & 255,	      (value >> 8) & 255,	 value & 255      , Color::RGB);
	else if (depth == 32) return ((value >> 24) & 255) << 24 | Color( (value >> 16) & 255,	      (value >> 8) & 255,	 value & 255      , Color::RGBA);

	return Color();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x48(%rbp)
movq %rdi, %rax
movq %rax, -0x40(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, 0x28(%rax)
jne 0x120a5c
movq -0x48(%rbp), %rdi
callq 0x5c250
jmp 0x120ba4
movq -0x38(%rbp), %rcx
movq 0x28(%rcx), %rax
movq 0x68(%rax), %rax
movq 0x28(%rcx), %rdi
movq -0x18(%rbp), %rcx
movl (%rcx), %esi
movq -0x18(%rbp), %rcx
movl 0x4(%rcx), %edx
callq *%rax
movq %rax, %rcx
movq -0x38(%rbp), %rax
movq %rcx, -0x20(%rbp)
movsbl 0xa(%rax), %eax
cmpl $0x10, %eax
jne 0x120ad2
movq -0x48(%rbp), %rdi
movq -0x20(%rbp), %rax
sarq $0xb, %rax
andq $0x1f, %rax
shlq $0x3, %rax
movl %eax, %esi
movq -0x20(%rbp), %rax
sarq $0x5, %rax
andq $0x3f, %rax
shlq $0x2, %rax
movl %eax, %edx
movq -0x20(%rbp), %rax
andq $0x1f, %rax
shlq $0x3, %rax
movl %eax, %ecx
xorl %r8d, %r8d
callq 0x5a6b0
jmp 0x120ba4
movq -0x38(%rbp), %rax
movsbl 0xa(%rax), %eax
cmpl $0x18, %eax
jne 0x120b1c
movq -0x48(%rbp), %rdi
movq -0x20(%rbp), %rax
sarq $0x10, %rax
andq $0xff, %rax
movl %eax, %esi
movq -0x20(%rbp), %rax
sarq $0x8, %rax
andq $0xff, %rax
movl %eax, %edx
movq -0x20(%rbp), %rax
andq $0xff, %rax
movl %eax, %ecx
xorl %r8d, %r8d
callq 0x5a6b0
jmp 0x120ba4
movq -0x38(%rbp), %rax
movsbl 0xa(%rax), %eax
cmpl $0x20, %eax
jne 0x120b97
movq -0x20(%rbp), %rax
sarq $0x18, %rax
andq $0xff, %rax
shlq $0x18, %rax
movq %rax, -0x50(%rbp)
movq -0x20(%rbp), %rax
sarq $0x10, %rax
andq $0xff, %rax
movl %eax, %esi
movq -0x20(%rbp), %rax
sarq $0x8, %rax
andq $0xff, %rax
movl %eax, %edx
movq -0x20(%rbp), %rax
andq $0xff, %rax
movl %eax, %ecx
leaq -0x30(%rbp), %rdi
movl $0x1, %r8d
callq 0x5a6b0
leaq -0x30(%rbp), %rdi
callq 0x59210
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdi
orq %rax, %rsi
xorl %edx, %edx
callq 0x59be0
jmp 0x120ba4
jmp 0x120b99
jmp 0x120b9b
movq -0x48(%rbp), %rdi
callq 0x5c250
movq -0x40(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/clipboard/backends/xlib/clipboardxlib.cpp
// Function: smooth::GUI::ClipboardXLib::QueryAtom(X11::_XDisplay*, unsigned long, unsigned long, unsigned long) const
unsigned char *S::GUI::ClipboardXLib::QueryAtom(Display *display, X11::Window self, Atom clipboard, Atom atom) const
{
	XConvertSelection(display, clipboard, atom, atom, self, CurrentTime);
	XFlush(display);

	/* Wait for SelectionNotify event to be sent.
	 */
	XEvent	 e;

	do
	{
		XNextEvent(display, &e);

		WindowXLib	*backend = GUI::WindowXLib::GetWindowBackend(e.xany.window);

		if (backend != NIL) backend->ProcessSystemMessages(&e);
	}
	while (e.type != SelectionNotify);

	Atom		 type;
	int		 format;
	unsigned long	 items, bytes;
	unsigned char	*data = NIL;

	/* Do not get any data yet, see how much data is there.
	 */
	if (XGetWindowProperty(display, self, atom, 0, 0, 0, AnyPropertyType, &type, &format, &items, &bytes, &data) == 0)
	{
		if (data != NIL) { XFree(data); data = NIL; }

		/* Data is there!
		 */
		if (bytes > 0) XGetWindowProperty(display, self, atom, 0, bytes, 0, AnyPropertyType, &type, &format, &items, &bytes, &data);
	}

	return data;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x150, %rsp            # imm = 0x150
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movq %r8, -0x38(%rbp)
movq -0x20(%rbp), %rdi
movq -0x30(%rbp), %rsi
movq -0x38(%rbp), %rdx
movq -0x38(%rbp), %rcx
movq -0x28(%rbp), %r8
xorl %eax, %eax
movl %eax, %r9d
callq 0x5d2d0
movq -0x20(%rbp), %rdi
callq 0x5a0d0
movq -0x20(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0x5c7e0
movq -0xd8(%rbp), %rdi
callq 0x121de0
movq %rax, -0x100(%rbp)
cmpq $0x0, -0x100(%rbp)
je 0x120e19
movq -0x100(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0x1223c0
jmp 0x120e1b
cmpl $0x1f, -0xf8(%rbp)
jne 0x120dd9
movq $0x0, -0x128(%rbp)
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rsi
movq -0x38(%rbp), %rdx
xorl %eax, %eax
movl %eax, %r8d
xorl %r9d, %r9d
leaq -0x108(%rbp), %r14
leaq -0x10c(%rbp), %rbx
leaq -0x118(%rbp), %r11
leaq -0x120(%rbp), %r10
leaq -0x128(%rbp), %rax
movq %r8, %rcx
movq $0x0, (%rsp)
movq %r14, 0x8(%rsp)
movq %rbx, 0x10(%rsp)
movq %r11, 0x18(%rsp)
movq %r10, 0x20(%rsp)
movq %rax, 0x28(%rsp)
callq 0x5cb20
cmpl $0x0, %eax
jne 0x120f28
cmpq $0x0, -0x128(%rbp)
je 0x120eb9
movq -0x128(%rbp), %rdi
callq 0x5c780
movq $0x0, -0x128(%rbp)
cmpq $0x0, -0x120(%rbp)
jbe 0x120f26
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rsi
movq -0x38(%rbp), %rdx
movq -0x120(%rbp), %r8
xorl %eax, %eax
movl %eax, %ecx
xorl %r9d, %r9d
leaq -0x108(%rbp), %r14
leaq -0x10c(%rbp), %rbx
leaq -0x118(%rbp), %r11
leaq -0x120(%rbp), %r10
leaq -0x128(%rbp), %rax
movq $0x0, (%rsp)
movq %r14, 0x8(%rsp)
movq %rbx, 0x10(%rsp)
movq %r11, 0x18(%rsp)
movq %r10, 0x20(%rsp)
movq %rax, 0x28(%rsp)
callq 0x5cb20
jmp 0x120f28
movq -0x128(%rbp), %rax
addq $0x150, %rsp            # imm = 0x150
popq %rbx
popq %r14
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/clipboard/backends/xlib/clipboardxlib.cpp
// Function: smooth::GUI::ClipboardXLib::GetText(unsigned long) const
S::String S::GUI::ClipboardXLib::GetText(Atom clipboard) const
{
	if (window == NIL) return NIL;

	String		 text;

	X11::Window	 self  = (X11::Window) window->GetSystemWindow();
	X11::Window	 owner = XGetSelectionOwner(display, clipboard);

	if (owner != None)
	{
		unsigned char *data = QueryAtom(display, self, clipboard, XInternAtom(display, "UTF8_STRING", True));

		if (data != NIL)
		{
			text.ImportFrom("UTF-8", (char *) data);

			XFree(data);
		}
		else
		{
			unsigned char *data = QueryAtom(display, self, clipboard, XA_STRING);

			if (data != NIL)
			{
				text = (char *) data;

				XFree(data);
			}
		}
	}

	return text;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x68(%rbp)
movq %rdi, %rax
movq %rax, -0x60(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
cmpq $0x0, 0x18(%rax)
jne 0x120f81
movq -0x68(%rbp), %rdi
xorl %esi, %esi
callq 0x5da90
jmp 0x1210f3
movq -0x68(%rbp), %rdi
movb $0x0, -0x19(%rbp)
xorl %esi, %esi
callq 0x5da90
movq -0x58(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x59340
movq %rax, -0x70(%rbp)
jmp 0x120fa3
movq -0x58(%rbp), %rax
movq -0x70(%rbp), %rcx
movq %rcx, -0x28(%rbp)
movq 0x10(%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x5cfa0
movq %rax, -0x78(%rbp)
jmp 0x120fc2
movq -0x78(%rbp), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
je 0x1210de
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rdi
movq %rdi, -0x98(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0x85891(%rip), %rsi     # 0x1a6892
movl $0x1, %edx
callq 0x5c7a0
movq %rax, -0x80(%rbp)
jmp 0x121011
movq -0x80(%rbp), %r8
movq -0x88(%rbp), %rcx
movq -0x90(%rbp), %rdx
movq -0x98(%rbp), %rsi
movq -0x58(%rbp), %rdi
callq 0x120d90
movq %rax, -0xa0(%rbp)
jmp 0x12103c
movq -0xa0(%rbp), %rax
movq %rax, -0x48(%rbp)
cmpq $0x0, -0x48(%rbp)
je 0x121088
movq -0x68(%rbp), %rdi
movq -0x48(%rbp), %rdx
leaq 0x84b89(%rip), %rsi     # 0x1a5be6
callq 0x5ae70
jmp 0x121064
movq -0x48(%rbp), %rdi
callq 0x5c780
jmp 0x12106f
jmp 0x1210dc
movq -0x68(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x5df00
jmp 0x121100
movq -0x58(%rbp), %rdi
movq 0x10(%rdi), %rsi
movq -0x28(%rbp), %rdx
movq -0x18(%rbp), %rcx
movl $0x1f, %r8d
callq 0x120d90
movq %rax, -0xa8(%rbp)
jmp 0x1210ac
movq -0xa8(%rbp), %rax
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x1210da
movq -0x68(%rbp), %rdi
movq -0x50(%rbp), %rsi
callq 0x5a230
jmp 0x1210cd
movq -0x50(%rbp), %rdi
callq 0x5c780
jmp 0x1210d8
jmp 0x1210da
jmp 0x1210dc
jmp 0x1210de
movb $0x1, -0x19(%rbp)
testb $0x1, -0x19(%rbp)
jne 0x1210f1
movq -0x68(%rbp), %rdi
callq 0x5df00
jmp 0x1210f3
movq -0x60(%rbp), %rax
addq $0xb0, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/clipboard/backends/xlib/clipboardxlib.cpp
// Function: smooth::GUI::ClipboardXLib::SetText(unsigned long, smooth::String const&)
S::Bool S::GUI::ClipboardXLib::SetText(Atom clipboard, const String &text)
{
	if (window == NIL) return False;

	X11::Window	 self	 = (X11::Window) window->GetSystemWindow();
	WindowXLib	*backend = GUI::WindowXLib::GetWindowBackend(self);

	if (backend != NIL)
	{
		if	(clipboard == XA_PRIMARY)			       backend->SetSelection(text);
		else if (clipboard == XInternAtom(display, "CLIPBOARD", True)) backend->SetClipboard(text);
	}

	XSetSelectionOwner(display, clipboard, self, CurrentTime);
	XFlush(display);

	return True;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, 0x18(%rax)
jne 0x12113c
movb $0x0, -0x1(%rbp)
jmp 0x1211df
movq -0x38(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x59340
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x121de0
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x1211b5
cmpq $0x1, -0x18(%rbp)
jne 0x121177
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x121320
jmp 0x1211b3
movq -0x38(%rbp), %rax
movq -0x18(%rbp), %rcx
movq %rcx, -0x40(%rbp)
movq 0x10(%rax), %rdi
leaq 0x85710(%rip), %rsi     # 0x1a689e
movl $0x1, %edx
callq 0x5c7a0
movq %rax, %rcx
movq -0x40(%rbp), %rax
cmpq %rcx, %rax
jne 0x1211b1
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x121350
jmp 0x1211b3
jmp 0x1211b5
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x18(%rbp), %rsi
movq -0x28(%rbp), %rdx
xorl %eax, %eax
movl %eax, %ecx
callq 0x59090
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x5a0d0
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/backends/xlib/windowxlib.cpp
// Function: smooth::GUI::WindowXLib::Initialize()
S::Int S::GUI::WindowXLib::Initialize()
{
	/* Register for cursor events.
	 */
	Cursor::internalSetCursor.Connect(&WindowXLib::SetCursor);
	Cursor::internalRemoveCursor.Connect(&WindowXLib::RemoveCursor);

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq 0xe75b9(%rip), %rdi     # 0x2089a8
leaq 0xea(%rip), %rsi        # 0x1214e0
callq 0x128200
movq 0xe71be(%rip), %rdi     # 0x2085c0
leaq 0x257(%rip), %rsi       # 0x121660
callq 0x128300
leaq -0x10(%rbp), %rdi
movq %rdi, -0x28(%rbp)
callq 0x5ca80
movq -0x28(%rbp), %rdi
callq 0x59680
movl %eax, -0x20(%rbp)
jmp 0x121429
leaq -0x10(%rbp), %rdi
callq 0x5a410
movl -0x20(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x10(%rbp), %rdi
callq 0x5a410
movq -0x18(%rbp), %rdi
callq 0x5b6b0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/backends/xlib/windowxlib.cpp
// Function: smooth::GUI::WindowXLib::Free()
S::Int S::GUI::WindowXLib::Free()
{
	/* Unregister cursor event handlers.
	 */
	Cursor::internalSetCursor.Disconnect(&WindowXLib::SetCursor);
	Cursor::internalRemoveCursor.Disconnect(&WindowXLib::RemoveCursor);

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq 0xe7539(%rip), %rdi     # 0x2089a8
leaq 0x6a(%rip), %rsi        # 0x1214e0
callq 0x128400
movq 0xe713e(%rip), %rdi     # 0x2085c0
leaq 0x1d7(%rip), %rsi       # 0x121660
callq 0x128520
leaq -0x10(%rbp), %rdi
movq %rdi, -0x28(%rbp)
callq 0x5ca80
movq -0x28(%rbp), %rdi
callq 0x59680
movl %eax, -0x20(%rbp)
jmp 0x1214a9
leaq -0x10(%rbp), %rdi
callq 0x5a410
movl -0x20(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x10(%rbp), %rdi
callq 0x5a410
movq -0x18(%rbp), %rdi
callq 0x5b6b0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/backends/xlib/windowxlib.cpp
// Function: smooth::GUI::WindowXLib::SetCursor(smooth::GUI::Cursor*, smooth::GUI::Point const&)
S::Void S::GUI::WindowXLib::SetCursor(Cursor *cursor, const Point &point)
{
	WindowXLib	*window = GetWindowBackend((X11::Window) cursor->GetContainerWindow()->GetSystemWindow());

	if (window != NIL)
	{
		/* Remove active cursor.
		 */
		if (cursor != activeCursor && activeCursor != NIL) RemoveCursor(activeCursor);

		/* Create input context.
		 */
		window->CreateInputContext();

		if (window->ic != NIL)
		{
			/* Move input window to cursor position.
			 */
			XMoveWindow(window->display, window->iwnd, point.x - 3, point.y + cursor->GetFont().GetScaledTextSizeY() + 1);

			/* Set input focus on input window.
			 */
			X11::Window	 focusWnd = None;
			int		 revertTo = RevertToNone;

			XGetInputFocus(window->display, &focusWnd, &revertTo);

			if (focusWnd != window->iwnd)
			{
				XSetInputFocus(window->display, window->iwnd, RevertToParent, CurrentTime);
				XFlush(window->display);
			}

			/* Set current input context.
			 */
			XSetICFocus(window->ic);
		}
	}

	activeCursor	= cursor;
	activeCursorPos = point;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x59bc0
movq %rax, %rdi
callq 0x59340
movq %rax, %rdi
callq 0x121de0
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x12163c
movq -0x8(%rbp), %rax
cmpq 0xf3335(%rip), %rax     # 0x214858
je 0x12153b
cmpq $0x0, 0xf332b(%rip)     # 0x214858
je 0x12153b
movq 0xf3322(%rip), %rdi     # 0x214858
callq 0x121660
movq -0x18(%rbp), %rdi
callq 0x127ed0
movq -0x18(%rbp), %rax
cmpq $0x0, 0x148(%rax)
je 0x12163a
movq -0x18(%rbp), %rax
movq 0x120(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq 0x150(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movl (%rax), %eax
subl $0x3, %eax
movl %eax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
movl %eax, -0x3c(%rbp)
movq -0x8(%rbp), %rdi
movq (%rdi), %rax
callq *0xe8(%rax)
movq %rax, %rdi
movq 0xe7807(%rip), %rsi     # 0x208da8
callq 0x5bde0
movl -0x3c(%rbp), %ecx
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rsi
movl -0x28(%rbp), %edx
addl %eax, %ecx
addl $0x1, %ecx
callq 0x590c0
movq $0x0, -0x20(%rbp)
movl $0x0, -0x24(%rbp)
movq -0x18(%rbp), %rax
movq 0x120(%rax), %rdi
leaq -0x20(%rbp), %rsi
leaq -0x24(%rbp), %rdx
callq 0x59c20
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x150(%rcx), %rax
je 0x12162a
movq -0x18(%rbp), %rax
movq 0x120(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x150(%rax), %rsi
movl $0x2, %edx
xorl %eax, %eax
movl %eax, %ecx
callq 0x5afe0
movq -0x18(%rbp), %rax
movq 0x120(%rax), %rdi
callq 0x5a0d0
movq -0x18(%rbp), %rax
movq 0x148(%rax), %rdi
callq 0x59860
jmp 0x12163c
movq -0x8(%rbp), %rax
movq %rax, 0xf3211(%rip)     # 0x214858
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, 0xf320b(%rip)     # 0x214860
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/backends/xlib/windowxlib.cpp
// Function: smooth::GUI::WindowXLib::~WindowXLib()
S::GUI::WindowXLib::~WindowXLib()
{
	if (sysIcon != NIL)
	{
		delete [] sysIcon;

		sysIcon	    = NIL;
		sysIconSize = 0;
	}

	windowBackends.Remove(id);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0xe4e4d(%rip), %rcx     # 0x206958
addq $0x10, %rcx
movq %rcx, (%rax)
cmpq $0x0, 0x158(%rax)
je 0x121b53
movq -0x10(%rbp), %rax
movq 0x158(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
je 0x121b3a
movq -0x18(%rbp), %rdi
callq 0x5a5e0
movq -0x10(%rbp), %rax
movq $0x0, 0x158(%rax)
movl $0x0, 0x160(%rax)
movq -0x10(%rbp), %rax
movl 0x130(%rax), %esi
leaq 0xf2c9c(%rip), %rdi     # 0x214800
callq 0x5d7a0
jmp 0x121b6b
movq -0x10(%rbp), %rdi
addq $0x1d0, %rdi            # imm = 0x1D0
callq 0x5df00
movq -0x10(%rbp), %rdi
addq $0x1b8, %rdi            # imm = 0x1B8
callq 0x5df00
movq -0x10(%rbp), %rdi
callq 0xdc590
addq $0x20, %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/window/backends/xlib/windowxlib.cpp
// Function: smooth::GUI::WindowXLib::UpdateWMNormalHints()
S::Void S::GUI::WindowXLib::UpdateWMNormalHints()
{
	if (wnd == None) return;

	XSizeHints	 normal;

	normal.flags	   = (minSize != Size() ? PMinSize : 0) |
			     (maxSize != Size() ? PMaxSize : 0) |
			     (flags & WF_NORESIZE ? PPosition | PSize : 0);

	normal.x	   = pos.x;
	normal.y	   = pos.y;

	normal.width	   = Math::Round(size.cx * fontSize) + sizeModifier.cx;
	normal.height	   = Math::Round(size.cy * fontSize) + sizeModifier.cy;

	normal.min_width   = Math::Round(minSize.cx * fontSize) + sizeModifier.cx;
	normal.min_height  = Math::Round(minSize.cy * fontSize) + sizeModifier.cy;

	normal.max_width   = Math::Round(maxSize.cx * fontSize) + sizeModifier.cx;
	normal.max_height  = Math::Round(maxSize.cy * fontSize) + sizeModifier.cy;

	XSetWMNormalHints(display, wnd, &normal);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x70(%rbp)
cmpq $0x0, 0x138(%rax)
jne 0x121c06
jmp 0x121db2
movq -0x70(%rbp), %rax
addq $0x190, %rax            # imm = 0x190
movq %rax, -0x88(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x59230
movq -0x88(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x5d9c0
movb %al, %sil
movq -0x70(%rbp), %rax
xorl %ecx, %ecx
movl $0x10, %edx
testb $0x1, %sil
cmovneq %rdx, %rcx
movq %rcx, -0x78(%rbp)
addq $0x198, %rax            # imm = 0x198
movq %rax, -0x80(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x59230
movq -0x80(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x5d9c0
movq -0x78(%rbp), %rcx
movb %al, %dil
movq -0x70(%rbp), %rax
xorl %edx, %edx
movl $0x20, %esi
testb $0x1, %dil
cmovneq %rsi, %rdx
orq %rdx, %rcx
movl 0x1b4(%rax), %edi
andl $0x4, %edi
xorl %edx, %edx
movl $0xc, %esi
cmpl $0x0, %edi
cmovneq %rsi, %rdx
orq %rdx, %rcx
movq %rcx, -0x58(%rbp)
movl 0x180(%rax), %ecx
movl %ecx, -0x50(%rbp)
movl 0x184(%rax), %ecx
movl %ecx, -0x4c(%rbp)
cvtsi2sdl 0x188(%rax), %xmm0
mulsd 0x178(%rax), %xmm0
callq 0x5a970
movq %rax, %rcx
movq -0x70(%rbp), %rax
movslq 0x18(%rax), %rdx
addq %rdx, %rcx
movl %ecx, -0x48(%rbp)
cvtsi2sdl 0x18c(%rax), %xmm0
mulsd 0x178(%rax), %xmm0
callq 0x5a970
movq %rax, %rcx
movq -0x70(%rbp), %rax
movslq 0x1c(%rax), %rdx
addq %rdx, %rcx
movl %ecx, -0x44(%rbp)
cvtsi2sdl 0x190(%rax), %xmm0
mulsd 0x178(%rax), %xmm0
callq 0x5a970
movq %rax, %rcx
movq -0x70(%rbp), %rax
movslq 0x18(%rax), %rdx
addq %rdx, %rcx
movl %ecx, -0x40(%rbp)
cvtsi2sdl 0x194(%rax), %xmm0
mulsd 0x178(%rax), %xmm0
callq 0x5a970
movq %rax, %rcx
movq -0x70(%rbp), %rax
movslq 0x1c(%rax), %rdx
addq %rdx, %rcx
movl %ecx, -0x3c(%rbp)
cvtsi2sdl 0x198(%rax), %xmm0
mulsd 0x178(%rax), %xmm0
callq 0x5a970
movq %rax, %rcx
movq -0x70(%rbp), %rax
movslq 0x18(%rax), %rdx
addq %rdx, %rcx
movl %ecx, -0x38(%rbp)
cvtsi2sdl 0x19c(%rax), %xmm0
mulsd 0x178(%rax), %xmm0
callq 0x5a970
movq %rax, %rcx
movq -0x70(%rbp), %rax
movslq 0x1c(%rax), %rdx
addq %rdx, %rcx
movl %ecx, -0x34(%rbp)
movq 0x120(%rax), %rdi
movq 0x138(%rax), %rsi
leaq -0x58(%rbp), %rdx
callq 0x5aa50
addq $0x90, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/backends/xlib/windowxlib.cpp
// Function: smooth::GUI::WindowXLib::GetWindowBackend(unsigned long)
S::GUI::WindowXLib *S::GUI::WindowXLib::GetWindowBackend(X11::Window wnd)
{
	if (wnd == None) return NIL;

	foreach (WindowXLib *window, windowBackends)
	{
		if (window == NIL) continue;

		if (window->wnd    == wnd ||
		    window->iwnd   == wnd ||
		    window->oldwnd == wnd) return window;
	}

	return NIL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x121e00
movq $0x0, -0x8(%rbp)
jmp 0x121edd
movl $0x0, -0x14(%rbp)
movl $0xffffffff, -0x18(%rbp) # imm = 0xFFFFFFFF
xorl %eax, %eax
cmpl $0x0, -0x14(%rbp)
movb %al, -0x21(%rbp)
jne 0x121e3b
movl -0x18(%rbp), %eax
movl %eax, -0x28(%rbp)
leaq 0xf29da(%rip), %rdi     # 0x214800
callq 0x5c990
movl %eax, %ecx
movl -0x28(%rbp), %eax
subl $0x1, %ecx
cmpl %ecx, %eax
setl %al
movb %al, -0x21(%rbp)
movb -0x21(%rbp), %al
testb $0x1, %al
jne 0x121e47
jmp 0x121ed5
movl -0x18(%rbp), %esi
addl $0x1, %esi
movl %esi, -0x18(%rbp)
leaq 0xf29a9(%rip), %rdi     # 0x214800
callq 0x128670
movq (%rax), %rax
movq %rax, -0x20(%rbp)
cmpl $0x0, -0x14(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x121e72
jmp 0x121ec5
cmpq $0x0, -0x20(%rbp)
jne 0x121e7b
jmp 0x121eba
movq -0x20(%rbp), %rax
movq 0x138(%rax), %rax
cmpq -0x10(%rbp), %rax
je 0x121eae
movq -0x20(%rbp), %rax
movq 0x150(%rax), %rax
cmpq -0x10(%rbp), %rax
je 0x121eae
movq -0x20(%rbp), %rax
movq 0x140(%rax), %rax
cmpq -0x10(%rbp), %rax
jne 0x121eb8
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x121edd
jmp 0x121eba
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x121e63
jmp 0x121ec7
movl -0x14(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x121e0e
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/backends/xlib/windowxlib.cpp
// Function: smooth::GUI::WindowXLib::IsModalWindowActive()
S::Bool S::GUI::WindowXLib::IsModalWindowActive()
{
	/* Ignore modal windows if this is a topmost window.
	 */
	if (flags & WF_TOPMOST) return False;

	/* Look for modal windows opened after ourselves.
	 */
	foreachreverse (WindowXLib *backend, windowBackends)
	{
		if	(backend == this)				    return False;
		else if (backend->wnd != None && backend->flags & WF_MODAL) return True;
	}

	return False;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movl 0x1b4(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x124d2b
movb $0x0, -0x1(%rbp)
jmp 0x124de6
movl $0x0, -0x14(%rbp)
leaq 0xefac7(%rip), %rdi     # 0x214800
callq 0x5c990
movl %eax, -0x18(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x14(%rbp)
movb %al, -0x29(%rbp)
jne 0x124d56
cmpl $0x0, -0x18(%rbp)
setg %al
movb %al, -0x29(%rbp)
movb -0x29(%rbp), %al
testb $0x1, %al
jne 0x124d62
jmp 0x124de2
movl -0x18(%rbp), %esi
addl $-0x1, %esi
movl %esi, -0x18(%rbp)
leaq 0xefa8e(%rip), %rdi     # 0x214800
callq 0x128670
movq (%rax), %rax
movq %rax, -0x20(%rbp)
cmpl $0x0, -0x14(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x124d8d
jmp 0x124dd2
movq -0x28(%rbp), %rax
cmpq %rax, -0x20(%rbp)
jne 0x124d9d
movb $0x0, -0x1(%rbp)
jmp 0x124de6
movq -0x20(%rbp), %rax
cmpq $0x0, 0x138(%rax)
je 0x124dc3
movq -0x20(%rbp), %rax
movl 0x1b4(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x124dc3
movb $0x1, -0x1(%rbp)
jmp 0x124de6
jmp 0x124dc5
jmp 0x124dc7
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x124d7e
jmp 0x124dd4
movl -0x14(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x124d41
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/backends/xlib/windowxlib.cpp
// Function: smooth::GUI::WindowXLib::FindLeaderWindow()
S::GUI::WindowXLib *S::GUI::WindowXLib::FindLeaderWindow()
{
	/* The leader window is the newest non topmost window.
	 */
	foreachreverse (WindowXLib *backend, windowBackends)
	{
		if (  backend->id    <	id   &&
		      backend->wnd   != None &&
		    !(backend->flags &	WF_TOPMOST)) return backend;
	}

	return NIL;
}

// 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)
leaq 0xeea7e(%rip), %rdi     # 0x214800
callq 0x5c990
movl %eax, -0x18(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x14(%rbp)
movb %al, -0x29(%rbp)
jne 0x125d9f
cmpl $0x0, -0x18(%rbp)
setg %al
movb %al, -0x29(%rbp)
movb -0x29(%rbp), %al
testb $0x1, %al
jne 0x125dab
jmp 0x125e33
movl -0x18(%rbp), %esi
addl $-0x1, %esi
movl %esi, -0x18(%rbp)
leaq 0xeea45(%rip), %rdi     # 0x214800
callq 0x128670
movq (%rax), %rax
movq %rax, -0x20(%rbp)
cmpl $0x0, -0x14(%rbp)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x125dd6
jmp 0x125e23
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movl 0x130(%rax), %eax
cmpl 0x130(%rcx), %eax
jge 0x125e16
movq -0x20(%rbp), %rax
cmpq $0x0, 0x138(%rax)
je 0x125e16
movq -0x20(%rbp), %rax
movl 0x1b4(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
jne 0x125e16
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x125e3b
jmp 0x125e18
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x125dc7
jmp 0x125e25
movl -0x14(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x125d8a
movq $0x0, -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/backends/xlib/windowxlib.cpp
// Function: smooth::GUI::WindowXLib::Close()
S::Int S::GUI::WindowXLib::Close()
{
	if (wnd == None) return Success();

	/* Delete surface.
	 */
	if (drawSurface != NIL) delete drawSurface;

	drawSurface = NIL;

	/* Destroy input context.
	 */
	DestroyInputContext();

	/* Destroy input window.
	 */
	if (iwnd != None)
	{
		XDestroyWindow(display, iwnd);

		iwnd = None;
	}

	/* Destroy window.
	 */
	XDestroyWindow(display, wnd);

	oldwnd	= wnd;
	wnd	= None;

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
cmpq $0x0, 0x138(%rax)
jne 0x125eb7
leaq -0x20(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x5ca80
movq -0x58(%rbp), %rdi
callq 0x59680
movl %eax, -0x4c(%rbp)
jmp 0x125e89
movl -0x4c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5a410
jmp 0x125fa9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5a410
jmp 0x125fb2
movq -0x48(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x125eed
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x60(%rbp)
cmpq $0x0, %rax
je 0x125eeb
movq -0x60(%rbp), %rdi
callq 0x5c380
movq -0x60(%rbp), %rdi
movl $0x8, %esi
callq 0x595b0
jmp 0x125eed
movq -0x48(%rbp), %rdi
movq $0x0, 0x10(%rdi)
callq 0x125fc0
movq -0x48(%rbp), %rax
cmpq $0x0, 0x150(%rax)
je 0x125f32
movq -0x48(%rbp), %rax
movq 0x120(%rax), %rdi
movq 0x150(%rax), %rsi
callq 0x5b4a0
movq -0x48(%rbp), %rax
movq $0x0, 0x150(%rax)
movq -0x48(%rbp), %rax
movq 0x120(%rax), %rdi
movq 0x138(%rax), %rsi
callq 0x5b4a0
movq -0x48(%rbp), %rax
movq 0x138(%rax), %rcx
movq %rcx, 0x140(%rax)
movq $0x0, 0x138(%rax)
leaq -0x40(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x5ca80
movq -0x70(%rbp), %rdi
callq 0x59680
movl %eax, -0x64(%rbp)
jmp 0x125f81
movl -0x64(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x5a410
jmp 0x125fa9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x5a410
jmp 0x125fb2
movl -0x4(%rbp), %eax
addq $0x70, %rsp
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0x5b6b0
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/backends/xlib/windowxlib.cpp
// Function: smooth::GUI::WindowXLib::DestroyInputContext()
S::Void S::GUI::WindowXLib::DestroyInputContext()
{
	if (ic == NIL) return;

	XLockDisplay(display);

	/* Reset event mask.
	 */
	XSelectInput(display, iwnd, 0);

	/* Clear input context.
	 */
	char *string = Xutf8ResetIC(ic);

	if (string != NIL) XFree(string);

	/* Destroy input context.
	 */
	XDestroyIC(ic);

	ic = NIL;

	XUnlockDisplay(display);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, 0x148(%rax)
jne 0x125fe0
jmp 0x12605a
movq -0x18(%rbp), %rax
movq 0x120(%rax), %rdi
callq 0x5db70
movq -0x18(%rbp), %rax
movq 0x120(%rax), %rdi
movq 0x150(%rax), %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0x5d0b0
movq -0x18(%rbp), %rax
movq 0x148(%rax), %rdi
callq 0x5d3c0
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x12602f
movq -0x10(%rbp), %rdi
callq 0x5c780
movq -0x18(%rbp), %rax
movq 0x148(%rax), %rdi
callq 0x5d9d0
movq -0x18(%rbp), %rax
movq $0x0, 0x148(%rax)
movq 0x120(%rax), %rdi
callq 0x5ac40
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/backends/xlib/windowxlib.cpp
// Function: smooth::GUI::WindowXLib::EnableDropFiles(bool)
S::Int S::GUI::WindowXLib::EnableDropFiles(Bool nEnableDropFiles)
{
	enableDropFiles = nEnableDropFiles;

	if (wnd == None) return Success();

	static Atom	 xdndAwareAtom = XInternAtom(display, "XdndAware", False);

	Int32	 xdndVersion = 5;

	if (enableDropFiles) XChangeProperty(display, wnd, xdndAwareAtom, XA_ATOM, 32, PropModeReplace, (unsigned char *) &xdndVersion, 1);
	else		     XDeleteProperty(display, wnd, xdndAwareAtom);

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
andb $0x1, %al
movb %al, -0x11(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movb -0x11(%rbp), %cl
andb $0x1, %cl
movb %cl, 0x171(%rax)
cmpq $0x0, 0x138(%rax)
jne 0x1267be
leaq -0x28(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x5ca80
movq -0x60(%rbp), %rdi
callq 0x59680
movl %eax, -0x54(%rbp)
jmp 0x126790
movl -0x54(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5a410
jmp 0x1268db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5a410
jmp 0x1268e7
cmpb $0x0, 0xee303(%rip)     # 0x214ac8
jne 0x12680e
leaq 0xee2fa(%rip), %rdi     # 0x214ac8
callq 0x5a4e0
cmpl $0x0, %eax
je 0x12680e
movq -0x50(%rbp), %rax
movq 0x120(%rax), %rdi
leaq 0x80375(%rip), %rsi     # 0x1a6b5f
xorl %edx, %edx
callq 0x5c7a0
movq %rax, -0x68(%rbp)
jmp 0x1267f7
movq -0x68(%rbp), %rax
movq %rax, 0xee2be(%rip)     # 0x214ac0
leaq 0xee2bf(%rip), %rdi     # 0x214ac8
callq 0x5b0c0
movq -0x50(%rbp), %rax
movl $0x5, -0x38(%rbp)
testb $0x1, 0x171(%rax)
je 0x12687a
movq -0x50(%rbp), %rax
movq 0x120(%rax), %rdi
movq 0x138(%rax), %rsi
movq 0xee285(%rip), %rdx     # 0x214ac0
movl $0x4, %ecx
movl $0x20, %r8d
xorl %r9d, %r9d
leaq -0x38(%rbp), %rax
movq %rax, (%rsp)
movl $0x1, 0x8(%rsp)
callq 0x5beb0
jmp 0x126898
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq 0xee255(%rip), %rdi     # 0x214ac8
callq 0x5a860
jmp 0x1268e7
movq -0x50(%rbp), %rax
movq 0x120(%rax), %rdi
movq 0x138(%rax), %rsi
movq 0xee22d(%rip), %rdx     # 0x214ac0
callq 0x5d060
leaq -0x48(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x5ca80
movq -0x78(%rbp), %rdi
callq 0x59680
movl %eax, -0x6c(%rbp)
jmp 0x1268b3
movl -0x6c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5a410
jmp 0x1268db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5a410
jmp 0x1268e7
movl -0x4(%rbp), %eax
addq $0x90, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/gui/window/backends/xlib/windowxlib.cpp
// Function: smooth::GUI::WindowXLib::SetMinimumSize(smooth::GUI::Size const&)
S::Int S::GUI::WindowXLib::SetMinimumSize(const Size &nMinSize)
{
	minSize = nMinSize;

	UpdateWMNormalHints();

	if (wnd != None)
	{
		XResizeWindow(display, wnd, Math::Round(Math::Max(size.cx, minSize.cx) * fontSize) + sizeModifier.cx,
					    Math::Round(Math::Max(size.cy, minSize.cy) * fontSize) + sizeModifier.cy);
		XFlush(display);
	}

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, 0x190(%rdi)
callq 0x121be0
movq -0x38(%rbp), %rax
cmpq $0x0, 0x138(%rax)
je 0x127135
movq -0x38(%rbp), %rax
movq 0x120(%rax), %rcx
movq %rcx, -0x50(%rbp)
movq 0x138(%rax), %rcx
movq %rcx, -0x48(%rbp)
movl 0x188(%rax), %edi
movl 0x190(%rax), %esi
callq 0x5aae0
movl %eax, %ecx
movq -0x38(%rbp), %rax
cvtsi2sd %ecx, %xmm0
mulsd 0x178(%rax), %xmm0
callq 0x5a970
movq %rax, %rcx
movq -0x38(%rbp), %rax
movslq 0x18(%rax), %rdx
addq %rdx, %rcx
movl %ecx, -0x3c(%rbp)
movl 0x18c(%rax), %edi
movl 0x194(%rax), %esi
callq 0x5aae0
movl %eax, %ecx
movq -0x38(%rbp), %rax
cvtsi2sd %ecx, %xmm0
mulsd 0x178(%rax), %xmm0
callq 0x5a970
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
movl -0x3c(%rbp), %edx
movq -0x38(%rbp), %rcx
movslq 0x1c(%rcx), %rcx
addq %rcx, %rax
movl %eax, %ecx
callq 0x5d480
movq -0x38(%rbp), %rax
movq 0x120(%rax), %rdi
callq 0x5a0d0
leaq -0x20(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x5ca80
movq -0x60(%rbp), %rdi
callq 0x59680
movl %eax, -0x54(%rbp)
jmp 0x127150
leaq -0x20(%rbp), %rdi
callq 0x5a410
movl -0x54(%rbp), %eax
addq $0x60, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5a410
movq -0x28(%rbp), %rdi
callq 0x5b6b0