LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/files/file.cpp
// Function: smooth::DateTimeToFileTime(smooth::DateTime const&)
FileTime DateTimeToFileTime(const DateTime &dateTime)
	{
		tm	 time;

		memset(&time, 0, sizeof(time));

		time.tm_year  = dateTime.GetYear() - 1900;
		time.tm_mon   = dateTime.GetMonth() - 1;
		time.tm_mday  = dateTime.GetDay();

		time.tm_hour  = dateTime.GetHour();
		time.tm_min   = dateTime.GetMinute();
		time.tm_sec   = dateTime.GetSecond();

		time.tm_isdst = -1;

		return mktime(&time);
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
leaq -0x40(%rbp), %rdi
xorl %esi, %esi
movl $0x38, %edx
callq 0x5a200
movq -0x8(%rbp), %rdi
callq 0x5d870
subl $0x76c, %eax            # imm = 0x76C
movl %eax, -0x2c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5a810
subl $0x1, %eax
movl %eax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5ae50
movl %eax, -0x34(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5c530
movl %eax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5dad0
movl %eax, -0x3c(%rbp)
movq -0x8(%rbp), %rdi
callq 0x59880
movl %eax, -0x40(%rbp)
movl $0xffffffff, -0x20(%rbp) # imm = 0xFFFFFFFF
leaq -0x40(%rbp), %rdi
callq 0x5a720
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/files/file.cpp
// Function: smooth::GetFileTime(smooth::File const&, long*, long*, long*)
Bool GetFileTime(const File &file, FileTime *cTime, FileTime *aTime, FileTime *wTime)
	{
		if (!file.Exists()) return False;

		struct stat	 info;

		if (stat(String(file).ConvertTo("UTF-8"), &info) != 0) return False;

		if (cTime != NIL) *cTime = info.st_mtime;
		if (aTime != NIL) *aTime = info.st_atime;
		if (wTime != NIL) *wTime = info.st_mtime;

		return True;
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5b4b0
testb $0x1, %al
jne 0x673d1
movb $0x0, -0x1(%rbp)
jmp 0x67494
movq -0x10(%rbp), %rsi
leaq -0xd0(%rbp), %rdi
movq %rdi, -0xf0(%rbp)
callq 0x5dc70
movq -0xf0(%rbp), %rdi
leaq 0x13e7f0(%rip), %rsi    # 0x1a5be6
callq 0x5c120
movq %rax, -0xe8(%rbp)
jmp 0x67404
movq -0xe8(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x5d0d0
movl %eax, -0xf4(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x5df00
movl -0xf4(%rbp), %eax
cmpl $0x0, %eax
je 0x6745a
movb $0x0, -0x1(%rbp)
jmp 0x67494
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x5df00
jmp 0x674a2
cmpq $0x0, -0x18(%rbp)
je 0x6746c
movq -0x60(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
cmpq $0x0, -0x20(%rbp)
je 0x6747e
movq -0x70(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
cmpq $0x0, -0x28(%rbp)
je 0x67490
movq -0x60(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
movq -0xd8(%rbp), %rdi
callq 0x5b6b0
nop
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/files/file.cpp
// Function: smooth::File::Exists() const
S::Bool S::File::Exists() const
{
#ifdef __WIN32__
	WIN32_FIND_DATA	 findData;
	HANDLE		 handle = FindFirstFile(Directory::MakeExtendedPath(*this), &findData);

	if (handle == INVALID_HANDLE_VALUE) return False;

	FindClose(handle);

	if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) return False;
#else
	struct stat	 info;

	if (stat(String(*this).ConvertTo("UTF-8"), &info) != 0) return False;

	if (!S_ISREG(info.st_mode)) return False;
#endif

	return True;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rsi
leaq -0xb8(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
callq 0x5dc70
movq -0xd8(%rbp), %rdi
leaq 0x13e702(%rip), %rsi    # 0x1a5be6
callq 0x5c120
movq %rax, -0xd0(%rbp)
jmp 0x674f2
movq -0xd0(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x5d0d0
movl %eax, -0xdc(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x5df00
movl -0xdc(%rbp), %eax
cmpl $0x0, %eax
je 0x67548
movb $0x0, -0x1(%rbp)
jmp 0x67564
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x5df00
jmp 0x67572
movl -0x88(%rbp), %eax
andl $0xf000, %eax           # imm = 0xF000
cmpl $0x8000, %eax           # imm = 0x8000
je 0x67560
movb $0x0, -0x1(%rbp)
jmp 0x67564
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0xe0, %rsp
popq %rbp
retq
movq -0xc0(%rbp), %rdi
callq 0x5b6b0
nop
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/files/file.cpp
// Function: smooth::SetFileTime(smooth::File const&, long*, long*, long*)
Bool SetFileTime(const File &file, FileTime *cTime, FileTime *aTime, FileTime *wTime)
	{
		if (!file.Exists()) return False;

		struct stat	 info;
		struct utimbuf	 times;

		if (stat(String(file).ConvertTo("UTF-8"), &info) != 0) return False;

		times.actime  = info.st_atime;
		times.modtime = info.st_mtime;

		if (cTime != NIL) times.modtime = *cTime;
		if (aTime != NIL) times.actime  = *aTime;
		if (wTime != NIL) times.modtime = *wTime;

		if (utime(String(file).ConvertTo("UTF-8"), &times) != 0) return False;

		return True;
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x140, %rsp            # imm = 0x140
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5b4b0
testb $0x1, %al
jne 0x67651
movb $0x0, -0x1(%rbp)
jmp 0x677c2
movq -0x10(%rbp), %rsi
leaq -0xe0(%rbp), %rdi
movq %rdi, -0x118(%rbp)
callq 0x5dc70
movq -0x118(%rbp), %rdi
leaq 0x13e570(%rip), %rsi    # 0x1a5be6
callq 0x5c120
movq %rax, -0x110(%rbp)
jmp 0x67684
movq -0x110(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x5d0d0
movl %eax, -0x11c(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x5df00
movl -0x11c(%rbp), %eax
cmpl $0x0, %eax
je 0x676e0
movb $0x0, -0x1(%rbp)
jmp 0x677c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe8(%rbp)
movl %eax, -0xec(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x5df00
jmp 0x677d0
movq -0x70(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0xc0(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x6770b
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xc0(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x67720
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xc8(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x67735
movq -0x28(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xc0(%rbp)
movq -0x10(%rbp), %rsi
leaq -0x108(%rbp), %rdi
movq %rdi, -0x130(%rbp)
callq 0x5dc70
movq -0x130(%rbp), %rdi
leaq 0x13e48c(%rip), %rsi    # 0x1a5be6
callq 0x5c120
movq %rax, -0x128(%rbp)
jmp 0x67768
movq -0x128(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x5bce0
movl %eax, -0x134(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x5df00
movl -0x134(%rbp), %eax
cmpl $0x0, %eax
je 0x677be
movb $0x0, -0x1(%rbp)
jmp 0x677c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe8(%rbp)
movl %eax, -0xec(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x5df00
jmp 0x677d0
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x140, %rsp            # imm = 0x140
popq %rbp
retq
movq -0xe8(%rbp), %rdi
callq 0x5b6b0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/files/file.cpp
// Function: smooth::File::GetFileSize() const
S::Int64 S::File::GetFileSize() const
{
	if (!Exists()) return -1;

#ifdef __WIN32__
	HANDLE	 handle	  = CreateFile(Directory::MakeExtendedPath(*this), GENERIC_READ, FILE_SHARE_READ, NIL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NIL);

	DWORD	 sizeLow  = 0;
	DWORD	 sizeHigh = 0;

	sizeLow = ::GetFileSize(handle, &sizeHigh);

	CloseHandle(handle);

	return (Int64(sizeHigh) << 32) + sizeLow;
#else
	struct stat	 info;

	if (stat(String(*this).ConvertTo("UTF-8"), &info) != 0) return 0;

	return info.st_size;
#endif
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x5b4b0
testb $0x1, %al
jne 0x681b0
movq $-0x1, -0x8(%rbp)
jmp 0x68248
movq -0xd0(%rbp), %rsi
leaq -0xb8(%rbp), %rdi
movq %rdi, -0xe0(%rbp)
callq 0x5dc70
movq -0xe0(%rbp), %rdi
leaq 0x13da0e(%rip), %rsi    # 0x1a5be6
callq 0x5c120
movq %rax, -0xd8(%rbp)
jmp 0x681e6
movq -0xd8(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x5d0d0
movl %eax, -0xe4(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x5df00
movl -0xe4(%rbp), %eax
cmpl $0x0, %eax
je 0x68240
movq $0x0, -0x8(%rbp)
jmp 0x68248
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x5df00
jmp 0x68255
movq -0x70(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0xf0, %rsp
popq %rbp
retq
movq -0xc0(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/files/file.cpp
// Function: smooth::File::Create()
S::Int S::File::Create()
{
	if (Exists()) return Error();

#ifdef __WIN32__
	HANDLE	 handle = CreateFile(Directory::MakeExtendedPath(*this), GENERIC_READ, FILE_SHARE_READ, NIL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NIL);

	if (handle == INVALID_HANDLE_VALUE) return Error();

	CloseHandle(handle);
#endif

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5b4b0
testb $0x1, %al
jne 0x6844b
jmp 0x68493
leaq -0x20(%rbp), %rdi
movq %rdi, -0x50(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x50(%rbp), %rdi
callq 0x59680
movl %eax, -0x44(%rbp)
jmp 0x6846b
movl -0x44(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5b5b0
jmp 0x684d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5b5b0
jmp 0x684df
leaq -0x40(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x5ca80
movq -0x60(%rbp), %rdi
callq 0x59680
movl %eax, -0x54(%rbp)
jmp 0x684ae
movl -0x54(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x5a410
jmp 0x684d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x5a410
jmp 0x684df
movl -0x4(%rbp), %eax
addq $0x60, %rsp
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0x5b6b0
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/files/file.cpp
// Function: smooth::File::Move(smooth::File const&)
S::Int S::File::Move(const File &destination)
{
	if (!Exists()) return Error();

#ifdef __WIN32__
	String		 fileName	= Directory::MakeExtendedPath(*this);
	UnsignedInt	 fileAttributes	= GetFileAttributes(fileName);

	SetFileAttributes(fileName, fileAttributes & ~FILE_ATTRIBUTE_READONLY);

	Bool	 result = MoveFile(fileName, Directory::MakeExtendedPath(destination));

	SetFileAttributes(fileName, fileAttributes);
#else
	Bool	 result = (rename(String(*this).ConvertTo("UTF-8"), String(destination).ConvertTo("UTF-8")) == 0);
#endif

	if (result == False) return Error();
	else		     return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x5b4b0
testb $0x1, %al
jne 0x688b1
leaq -0x28(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0xa0(%rbp), %rdi
callq 0x59680
movl %eax, -0x94(%rbp)
jmp 0x68880
movl -0x94(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0x68a36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0x68a42
movq -0x90(%rbp), %rsi
leaq -0x50(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0x5dc70
movq -0xb0(%rbp), %rdi
leaq 0x13d310(%rip), %rsi    # 0x1a5be6
callq 0x5c120
movq %rax, -0xa8(%rbp)
jmp 0x688e4
movq -0x18(%rbp), %rsi
leaq -0x68(%rbp), %rdi
callq 0x5dc70
jmp 0x688f3
leaq 0x13d2ec(%rip), %rsi    # 0x1a5be6
leaq -0x68(%rbp), %rdi
callq 0x5c120
movq %rax, -0xb8(%rbp)
jmp 0x6890c
movq -0xb8(%rbp), %rsi
movq -0xa8(%rbp), %rdi
callq 0x5d780
cmpl $0x0, %eax
sete %al
movb %al, -0xb9(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x5df00
leaq -0x50(%rbp), %rdi
callq 0x5df00
movb -0xb9(%rbp), %al
andb $0x1, %al
movb %al, -0x35(%rbp)
movb -0x35(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x689de
leaq -0x78(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0xc8(%rbp), %rdi
callq 0x59680
movl %eax, -0xc0(%rbp)
jmp 0x68982
movl -0xc0(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x5b5b0
jmp 0x68a36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x689bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x5df00
leaq -0x50(%rbp), %rdi
callq 0x5df00
jmp 0x68a42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x5b5b0
jmp 0x68a42
leaq -0x88(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
callq 0x5ca80
movq -0xd8(%rbp), %rdi
callq 0x59680
movl %eax, -0xcc(%rbp)
jmp 0x68a05
movl -0xcc(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x5a410
jmp 0x68a36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x5a410
jmp 0x68a42
movl -0x4(%rbp), %eax
addq $0xe0, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/files/file.cpp
// Function: smooth::File::Delete()
S::Int S::File::Delete()
{
	if (!Exists()) return Error();

#ifdef __WIN32__
	String	 fileName = Directory::MakeExtendedPath(*this);

	SetFileAttributes(fileName, GetFileAttributes(fileName) & ~FILE_ATTRIBUTE_READONLY);

	Bool	 result = DeleteFile(fileName);
#else
	Bool	 result = (remove(String(*this).ConvertTo("UTF-8")) == 0);
#endif

	if (result == False) return Error();
	else		     return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x5b4b0
testb $0x1, %al
jne 0x68abe
leaq -0x20(%rbp), %rdi
movq %rdi, -0x80(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x80(%rbp), %rdi
callq 0x59680
movl %eax, -0x74(%rbp)
jmp 0x68a90
movl -0x74(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5b5b0
jmp 0x68be1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5b5b0
jmp 0x68bed
movq -0x70(%rbp), %rsi
leaq -0x48(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x5dc70
movq -0x90(%rbp), %rdi
leaq 0x13d106(%rip), %rsi    # 0x1a5be6
callq 0x5c120
movq %rax, -0x88(%rbp)
jmp 0x68aee
movq -0x88(%rbp), %rdi
callq 0x59ba0
cmpl $0x0, %eax
sete %al
movb %al, -0x91(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5df00
movb -0x91(%rbp), %al
andb $0x1, %al
movb %al, -0x2d(%rbp)
movb -0x2d(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x68b92
leaq -0x58(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0xa0(%rbp), %rdi
callq 0x59680
movl %eax, -0x98(%rbp)
jmp 0x68b50
movl -0x98(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x5b5b0
jmp 0x68be1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5df00
jmp 0x68bed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x5b5b0
jmp 0x68bed
leaq -0x68(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0x5ca80
movq -0xb0(%rbp), %rdi
callq 0x59680
movl %eax, -0xa4(%rbp)
jmp 0x68bb6
movl -0xa4(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x5a410
jmp 0x68be1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x5a410
jmp 0x68bed
movl -0x4(%rbp), %eax
addq $0xb0, %rsp
popq %rbp
retq
movq -0x28(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/color.cpp
// Function: smooth::GUI::Color::Downsample(int) const
S::GUI::Color S::GUI::Color::Downsample(Int bpcc) const
{
	if (bpcc == 8) return *this;

	int first  = GetRed();
	int second = GetGreen();
	int third  = GetBlue();

	first  >>= (8 - bpcc);
	second >>= (8 - bpcc);
	third  >>= (8 - bpcc);

	return Color((Long) (first + Math::Pow(2, bpcc) * second + Math::Pow(4, bpcc) * third), colorSpace);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x38(%rbp)
movq %rdi, %rax
movq %rax, -0x30(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpl $0x8, -0x14(%rbp)
jne 0x6a9ae
movq -0x28(%rbp), %rsi
movq -0x38(%rbp), %rdi
callq 0x5c720
jmp 0x6aa63
movq -0x28(%rbp), %rdi
callq 0x59f20
movq -0x28(%rbp), %rdi
movl %eax, -0x18(%rbp)
callq 0x5d920
movq -0x28(%rbp), %rdi
movl %eax, -0x1c(%rbp)
callq 0x5b650
movl %eax, -0x20(%rbp)
movl $0x8, %ecx
subl -0x14(%rbp), %ecx
movl -0x18(%rbp), %eax
sarl %cl, %eax
movl %eax, -0x18(%rbp)
movl $0x8, %ecx
subl -0x14(%rbp), %ecx
movl -0x1c(%rbp), %eax
sarl %cl, %eax
movl %eax, -0x1c(%rbp)
movl $0x8, %ecx
subl -0x14(%rbp), %ecx
movl -0x20(%rbp), %eax
sarl %cl, %eax
movl %eax, -0x20(%rbp)
cvtsi2sdl -0x18(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movl -0x14(%rbp), %esi
movl $0x2, %edi
callq 0x5a330
movsd -0x48(%rbp), %xmm1
cvtsi2sdl -0x1c(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movl -0x14(%rbp), %esi
movl $0x4, %edi
callq 0x5a330
movsd -0x40(%rbp), %xmm1
movq -0x28(%rbp), %rax
movq -0x38(%rbp), %rdi
cvtsi2sdl -0x20(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %rsi
movl (%rax), %edx
callq 0x59be0
movq -0x30(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/color.cpp
// Function: smooth::GUI::Color::Upsample(int) const
S::GUI::Color S::GUI::Color::Upsample(Int bpcc) const
{
	if (bpcc == 8) return *this;

	int first  =  color		   & (int) (Math::Pow(2, bpcc) - 1);
	int second = (color >>	    bpcc ) & (int) (Math::Pow(2, bpcc) - 1);
	int third  = (color >> (2 * bpcc)) & (int) (Math::Pow(2, bpcc) - 1);

	first  = (int) (255 / (Math::Pow(2, bpcc) - 1) * (double) first);
	second = (int) (255 / (Math::Pow(2, bpcc) - 1) * (double) second);
	third  = (int) (255 / (Math::Pow(2, bpcc) - 1) * (double) third);

	return Color(first, second, third, colorSpace);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x38(%rbp)
movq %rdi, %rax
movq %rax, -0x30(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpl $0x8, -0x14(%rbp)
jne 0x6aaae
movq -0x28(%rbp), %rsi
movq -0x38(%rbp), %rdi
callq 0x5c720
jmp 0x6ac21
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x50(%rbp)
movl -0x14(%rbp), %esi
movl $0x2, %edi
callq 0x5a330
movq -0x50(%rbp), %rcx
movq -0x28(%rbp), %rax
movsd 0x11c891(%rip), %xmm1   # 0x187368
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %edx
movslq %edx, %rdx
andq %rdx, %rcx
movl %ecx, -0x18(%rbp)
movq 0x8(%rax), %rax
movl -0x14(%rbp), %ecx
sarq %cl, %rax
movq %rax, -0x48(%rbp)
movl -0x14(%rbp), %esi
movl $0x2, %edi
callq 0x5a330
movq -0x48(%rbp), %rcx
movq -0x28(%rbp), %rax
movsd 0x11c855(%rip), %xmm1   # 0x187368
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %edx
movslq %edx, %rdx
andq %rdx, %rcx
movl %ecx, -0x1c(%rbp)
movq 0x8(%rax), %rax
movl -0x14(%rbp), %ecx
shll %ecx
movl %ecx, %ecx
sarq %cl, %rax
movq %rax, -0x40(%rbp)
movl -0x14(%rbp), %esi
movl $0x2, %edi
callq 0x5a330
movq -0x40(%rbp), %rax
movsd 0x11c819(%rip), %xmm1   # 0x187368
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %ecx
movslq %ecx, %rcx
andq %rcx, %rax
movl %eax, -0x20(%rbp)
movl -0x14(%rbp), %esi
movl $0x2, %edi
callq 0x5a330
movaps %xmm0, %xmm1
movsd 0x11c7f0(%rip), %xmm0   # 0x187368
subsd %xmm0, %xmm1
movsd 0x11c7cc(%rip), %xmm0   # 0x187350
divsd %xmm1, %xmm0
cvtsi2sdl -0x18(%rbp), %xmm1
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x18(%rbp)
movl -0x14(%rbp), %esi
movl $0x2, %edi
callq 0x5a330
movaps %xmm0, %xmm1
movsd 0x11c7b8(%rip), %xmm0   # 0x187368
subsd %xmm0, %xmm1
movsd 0x11c794(%rip), %xmm0   # 0x187350
divsd %xmm1, %xmm0
cvtsi2sdl -0x1c(%rbp), %xmm1
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x1c(%rbp)
movl -0x14(%rbp), %esi
movl $0x2, %edi
callq 0x5a330
movq -0x28(%rbp), %rax
movq -0x38(%rbp), %rdi
movaps %xmm0, %xmm1
movsd 0x11c778(%rip), %xmm0   # 0x187368
subsd %xmm0, %xmm1
movsd 0x11c754(%rip), %xmm0   # 0x187350
divsd %xmm1, %xmm0
cvtsi2sdl -0x20(%rbp), %xmm1
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %ecx
movl %ecx, -0x20(%rbp)
movl -0x18(%rbp), %esi
movl -0x1c(%rbp), %edx
movl -0x20(%rbp), %ecx
movl (%rax), %r8d
callq 0x5a6b0
movq -0x30(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/font.cpp
// Function: smooth::GUI::Font::Font(smooth::String const&, short, short, short, smooth::GUI::Color const&)
S::GUI::Font::Font(const String &iFontName, Short iFontSize, Short iFontWeight, Short iFontStyle, const Color &iFontColor)
{
	fontName   = iFontName;
	fontSize   = iFontSize;
	fontColor  = iFontColor;
	fontWeight = iFontWeight;
	fontStyle  = iFontStyle;

	backend = FontBackend::CreateBackendInstance(fontName, fontSize, fontWeight, fontStyle, fontColor);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movw %r8w, %ax
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movw %dx, -0x12(%rbp)
movw %cx, -0x14(%rbp)
movw %ax, -0x16(%rbp)
movq %r9, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x38(%rbp)
addq $0x10, %rdi
movq %rdi, -0x40(%rbp)
xorl %esi, %esi
callq 0x5da90
movq -0x38(%rbp), %rdi
addq $0x28, %rdi
callq 0x5c250
jmp 0x6ae2a
movq -0x38(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x10, %rdi
callq 0x59760
jmp 0x6ae3d
movq -0x38(%rbp), %rax
movw -0x12(%rbp), %cx
movw %cx, 0x8(%rax)
movq -0x20(%rbp), %rcx
movq %rax, %r8
addq $0x28, %r8
movups (%rcx), %xmm0
movups %xmm0, 0x28(%rax)
movw -0x14(%rbp), %cx
movw %cx, 0x38(%rax)
movw -0x16(%rbp), %cx
movw %cx, 0x3a(%rax)
movq %rax, %rdi
addq $0x10, %rdi
movswl 0x8(%rax), %esi
movswl 0x38(%rax), %edx
movswl 0x3a(%rax), %ecx
callq 0x6d720
movq %rax, -0x48(%rbp)
jmp 0x6ae89
movq -0x38(%rbp), %rax
movq -0x48(%rbp), %rcx
movq %rcx, (%rax)
addq $0x50, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
callq 0x5df00
movq -0x28(%rbp), %rdi
callq 0x5b6b0
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/font.cpp
// Function: smooth::GUI::Font::Font(smooth::GUI::Font const&)
S::GUI::Font::Font(const Font &iFont)
{
	fontName   = iFont.fontName;
	fontSize   = iFont.fontSize;
	fontColor  = iFont.fontColor;
	fontWeight = iFont.fontWeight;
	fontStyle  = iFont.fontStyle;

	backend = FontBackend::CreateBackendInstance(fontName, fontSize, fontWeight, fontStyle, fontColor);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x28(%rbp)
addq $0x10, %rdi
movq %rdi, -0x30(%rbp)
xorl %esi, %esi
callq 0x5da90
movq -0x28(%rbp), %rdi
addq $0x28, %rdi
callq 0x5c250
jmp 0x6aef6
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x10, %rsi
addq $0x10, %rdi
callq 0x59760
jmp 0x6af0d
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rcx
movw 0x8(%rcx), %cx
movw %cx, 0x8(%rax)
movq -0x10(%rbp), %rcx
movq %rax, %r8
addq $0x28, %r8
movups 0x28(%rcx), %xmm0
movups %xmm0, 0x28(%rax)
movq -0x10(%rbp), %rcx
movw 0x38(%rcx), %cx
movw %cx, 0x38(%rax)
movq -0x10(%rbp), %rcx
movw 0x3a(%rcx), %cx
movw %cx, 0x3a(%rax)
movq %rax, %rdi
addq $0x10, %rdi
movswl 0x8(%rax), %esi
movswl 0x38(%rax), %edx
movswl 0x3a(%rax), %ecx
callq 0x6d720
movq %rax, -0x38(%rbp)
jmp 0x6af66
movq -0x28(%rbp), %rax
movq -0x38(%rbp), %rcx
movq %rcx, (%rax)
addq $0x40, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
callq 0x5df00
movq -0x18(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/font.cpp
// Function: smooth::GUI::Font::operator=(smooth::GUI::Font const&)
S::GUI::Font &S::GUI::Font::operator =(const Font &newFont)
{
	SetName(newFont.GetName());
	SetSize(newFont.GetSize());
	SetColor(newFont.GetColor());
	SetWeight(newFont.GetWeight());
	SetStyle(newFont.GetStyle());

	return *this;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5cc70
movq -0x18(%rbp), %rdi
movq %rax, %rsi
callq 0x5afc0
movq -0x10(%rbp), %rdi
callq 0x5d970
movq -0x18(%rbp), %rdi
movswl %ax, %esi
callq 0x5a420
movq -0x10(%rbp), %rdi
callq 0x5bc50
movq -0x18(%rbp), %rdi
movq %rax, %rsi
callq 0x5d110
movq -0x10(%rbp), %rdi
callq 0x5b120
movq -0x18(%rbp), %rdi
movswl %ax, %esi
callq 0x5bbd0
movq -0x10(%rbp), %rdi
callq 0x5d370
movq -0x18(%rbp), %rdi
movswl %ax, %esi
callq 0x596a0
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/font.cpp
// Function: smooth::GUI::Font::operator==(smooth::GUI::Font const&) const
S::Bool S::GUI::Font::operator ==(const Font &font) const
{
	if (fontName   == font.GetName()   &&
	    fontSize   == font.GetSize()   &&
	    fontColor  == font.GetColor()  &&
	    fontWeight == font.GetWeight() &&
	    fontStyle  == font.GetStyle()) return True;
	else				   return False;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
addq $0x10, %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0x5cc70
movq -0x20(%rbp), %rdi
movq %rax, %rsi
callq 0x59ac0
testb $0x1, %al
jne 0x6b3ce
jmp 0x6b465
movq -0x28(%rbp), %rax
movswl 0x8(%rax), %eax
movl %eax, -0x2c(%rbp)
movq -0x18(%rbp), %rdi
callq 0x5d970
movw %ax, %cx
movl -0x2c(%rbp), %eax
movswl %cx, %ecx
cmpl %ecx, %eax
jne 0x6b465
movq -0x28(%rbp), %rdi
addq $0x28, %rdi
callq 0x59210
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rdi
callq 0x5bc50
movq %rax, %rdi
callq 0x59210
movq %rax, %rcx
movq -0x38(%rbp), %rax
cmpq %rcx, %rax
jne 0x6b465
movq -0x28(%rbp), %rax
movswl 0x38(%rax), %eax
movl %eax, -0x3c(%rbp)
movq -0x18(%rbp), %rdi
callq 0x5b120
movw %ax, %cx
movl -0x3c(%rbp), %eax
movswl %cx, %ecx
cmpl %ecx, %eax
jne 0x6b465
movq -0x28(%rbp), %rax
movswl 0x3a(%rax), %eax
movl %eax, -0x40(%rbp)
movq -0x18(%rbp), %rdi
callq 0x5d370
movw %ax, %cx
movl -0x40(%rbp), %eax
movswl %cx, %ecx
cmpl %ecx, %eax
jne 0x6b465
movb $0x1, -0x1(%rbp)
jmp 0x6b469
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/surface.cpp
// Function: smooth::GUI::Surface::SetSize(smooth::GUI::Size const&)
S::Int S::GUI::Surface::SetSize(const Size &nSize)
{
	backend->Lock();

	Int	 rVal = backend->SetSize(nSize);

	backend->Release();

	return rVal;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movq -0x20(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
movq (%rdi), %rax
callq *0x20(%rax)
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, -0x14(%rbp)
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movl -0x14(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/surface.cpp
// Function: smooth::GUI::Surface::SetPixel(smooth::GUI::Point const&, smooth::GUI::Color const&)
S::Int S::GUI::Surface::SetPixel(const Point &point, const Color &color)
{
	backend->Lock();

	Int	 rVal = backend->SetPixel(point, color);

	backend->Release();

	return rVal;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movq -0x28(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq (%rdi), %rax
callq *0x58(%rax)
movl %eax, %ecx
movq -0x28(%rbp), %rax
movl %ecx, -0x1c(%rbp)
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movl -0x1c(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/surface.cpp
// Function: smooth::GUI::Surface::Line(smooth::GUI::Point const&, smooth::GUI::Point const&, smooth::GUI::Color const&)
S::Int S::GUI::Surface::Line(const Point &pos1, const Point &pos2, const Color &color)
{
	backend->Lock();

	Int	 rVal = backend->Line(pos1, pos2, color);

	backend->Release();

	return rVal;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movq -0x30(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq (%rdi), %rax
callq *0x60(%rax)
movl %eax, %ecx
movq -0x30(%rbp), %rax
movl %ecx, -0x24(%rbp)
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movl -0x24(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/surface.cpp
// Function: smooth::GUI::Surface::Frame(smooth::GUI::Rect const&, short)
S::Int S::GUI::Surface::Frame(const Rect &rect, Short style)
{
	backend->Lock();

	Int	 rVal = backend->Frame(rect, style);

	backend->Release();

	return rVal;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movw %dx, %ax
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movw %ax, -0x12(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movq -0x20(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
movw -0x12(%rbp), %cx
movq (%rdi), %rax
movswl %cx, %edx
callq *0x68(%rax)
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, -0x18(%rbp)
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movl -0x18(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/surface.cpp
// Function: smooth::GUI::Surface::Box(smooth::GUI::Rect const&, smooth::GUI::Color const&, int, smooth::GUI::Size const&)
S::Int S::GUI::Surface::Box(const Rect &rect, const Color &color, Int style, const Size &ellipse)
{
	backend->Lock();

	Int	 rVal = backend->Box(rect, color, style, ellipse);

	backend->Release();

	return rVal;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movq -0x38(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl -0x1c(%rbp), %ecx
movq -0x28(%rbp), %r8
movq (%rdi), %rax
callq *0x70(%rax)
movl %eax, %ecx
movq -0x38(%rbp), %rax
movl %ecx, -0x2c(%rbp)
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movl -0x2c(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/surface.cpp
// Function: smooth::GUI::Surface::SetText(smooth::String const&, smooth::GUI::Rect const&, smooth::GUI::Font const&, bool)
S::Int S::GUI::Surface::SetText(const String &string, const Rect &rect, const Font &font, Bool shadow)
{
	backend->Lock();

	Int	 rVal = backend->SetText(string, rect, font, shadow);

	backend->Release();

	return rVal;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movb %r8b, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
andb $0x1, %al
movb %al, -0x21(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movq -0x30(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
movb -0x21(%rbp), %r8b
movq (%rdi), %rax
andb $0x1, %r8b
movzbl %r8b, %r8d
callq *0x78(%rax)
movl %eax, %ecx
movq -0x30(%rbp), %rax
movl %ecx, -0x28(%rbp)
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movl -0x28(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/surface.cpp
// Function: smooth::GUI::Surface::Gradient(smooth::GUI::Rect const&, smooth::GUI::Color const&, smooth::GUI::Color const&, int)
S::Int S::GUI::Surface::Gradient(const Rect &rect, const Color &color1, const Color &color2, Int style)
{
	backend->Lock();

	Int	 rVal = backend->Gradient(rect, color1, color2, style);

	backend->Release();

	return rVal;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl %r8d, -0x24(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movq -0x30(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
movl -0x24(%rbp), %r8d
movq (%rdi), %rax
callq *0x80(%rax)
movl %eax, %ecx
movq -0x30(%rbp), %rax
movl %ecx, -0x28(%rbp)
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movl -0x28(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/surface.cpp
// Function: smooth::GUI::Surface::Bar(smooth::GUI::Point const&, smooth::GUI::Point const&, int)
S::Int S::GUI::Surface::Bar(const Point &p1, const Point &p2, Int orientation)
{
	backend->Lock();

	Int	 rVal = backend->Bar(p1, p2, orientation);

	backend->Release();

	return rVal;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movq -0x28(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl -0x1c(%rbp), %ecx
movq (%rdi), %rax
callq *0x88(%rax)
movl %eax, %ecx
movq -0x28(%rbp), %rax
movl %ecx, -0x20(%rbp)
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movl -0x20(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/backends/bitmapbackend.cpp
// Function: smooth::GUI::BitmapBackend::BitmapBackend(void*)
S::GUI::BitmapBackend::BitmapBackend(Void *iBitmap)
{
#if defined __WIN32__ && defined SMOOTH_STATIC
	volatile Bool	 null = 0;

	if (null) BitmapGDI();
#endif

	type	= BITMAP_NONE;

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

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x20(%rbp)
leaq 0x190911(%rip), %rax    # 0x1fccd0
addq $0x10, %rax
movq %rax, (%rdi)
addq $0x10, %rdi
callq 0x59230
movq -0x20(%rbp), %rax
movw $0x0, 0x8(%rax)
leaq -0x18(%rbp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x59260
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
movq %rcx, 0x10(%rax)
movb $0x0, 0xa(%rax)
movq $0x0, 0x18(%rax)
movb $0x0, 0xb(%rax)
movb $0x0, 0xc(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/backends/bitmapbackend.cpp
// Function: smooth::GUI::BitmapBackend::BitmapBackend(smooth::GUI::Size const&, int)
S::GUI::BitmapBackend::BitmapBackend(const Size &iSize, Int iDepth)
{
	type	= BITMAP_NONE;

	size	= iSize;
	depth	= iDepth;

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x20(%rbp)
leaq 0x19089e(%rip), %rax    # 0x1fccd0
addq $0x10, %rax
movq %rax, (%rdi)
addq $0x10, %rdi
callq 0x59230
movq -0x20(%rbp), %rax
movw $0x0, 0x8(%rax)
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movq %rcx, 0x10(%rax)
movl -0x14(%rbp), %ecx
movb %cl, 0xa(%rax)
movq $0x0, 0x18(%rax)
movb $0x0, 0xb(%rax)
movb $0x0, 0xc(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/backends/bitmapbackend.cpp
// Function: smooth::GUI::BitmapBackend::BitmapBackend(int)
S::GUI::BitmapBackend::BitmapBackend(const int nil)
{
	type	= BITMAP_NONE;

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

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x20(%rbp)
leaq 0x190832(%rip), %rax    # 0x1fccd0
addq $0x10, %rax
movq %rax, (%rdi)
addq $0x10, %rdi
callq 0x59230
movq -0x20(%rbp), %rax
movw $0x0, 0x8(%rax)
leaq -0x14(%rbp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x59260
movq -0x20(%rbp), %rax
movq -0x14(%rbp), %rcx
movq %rcx, 0x10(%rax)
movb $0x0, 0xa(%rax)
movq $0x0, 0x18(%rax)
movb $0x0, 0xb(%rax)
movb $0x0, 0xc(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/backends/bitmapbackend.cpp
// Function: smooth::GUI::BitmapBackend::GrayscaleBitmap()
S::Int S::GUI::BitmapBackend::GrayscaleBitmap()
{
	Point	 point;

	for (point.y = 0; point.y < size.cy; point.y++)
	{
		for (point.x = 0; point.x < size.cx; point.x++)
		{
			Color	 pixel = GetPixel(point);

			Int	 gray  = (pixel.GetRed() + pixel.GetGreen() + pixel.GetBlue()) / 3;

			if (depth == 32) SetPixel(point, Color(gray | (gray << 8) | (gray << 16) | (pixel.GetAlpha() << 24), Color::RGBA));
			else		 SetPixel(point, Color(gray, gray, gray));
		}
	}

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x10(%rbp), %rdi
callq 0x5b530
movl $0x0, -0xc(%rbp)
movq -0x70(%rbp), %rcx
movl -0xc(%rbp), %eax
cmpl 0x14(%rcx), %eax
jge 0x6c7fe
movl $0x0, -0x10(%rbp)
movq -0x70(%rbp), %rcx
movl -0x10(%rbp), %eax
cmpl 0x10(%rcx), %eax
jge 0x6c7ee
movq -0x70(%rbp), %rsi
movq (%rsi), %rax
leaq -0x20(%rbp), %rdi
leaq -0x10(%rbp), %rdx
callq *0x60(%rax)
leaq -0x20(%rbp), %rdi
callq 0x59f20
movl %eax, -0x78(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5d920
movl %eax, %ecx
movl -0x78(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x74(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5b650
movl %eax, %ecx
movl -0x74(%rbp), %eax
addl %ecx, %eax
movl $0x3, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movq -0x70(%rbp), %rax
movl %ecx, -0x24(%rbp)
movsbl 0xa(%rax), %eax
cmpl $0x20, %eax
jne 0x6c7b7
movl -0x24(%rbp), %eax
movl -0x24(%rbp), %ecx
shll $0x8, %ecx
orl %ecx, %eax
movl -0x24(%rbp), %ecx
shll $0x10, %ecx
orl %ecx, %eax
movl %eax, -0x7c(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5bac0
movl %eax, %ecx
movl -0x7c(%rbp), %eax
shll $0x18, %ecx
orl %ecx, %eax
movslq %eax, %rsi
leaq -0x38(%rbp), %rdi
movl $0x1, %edx
callq 0x59be0
movq -0x70(%rbp), %rdi
movq (%rdi), %rax
leaq -0x10(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq *0x58(%rax)
jmp 0x6c7de
movl -0x24(%rbp), %esi
movl -0x24(%rbp), %edx
movl -0x24(%rbp), %ecx
leaq -0x48(%rbp), %rdi
xorl %r8d, %r8d
callq 0x5a6b0
movq -0x70(%rbp), %rdi
movq (%rdi), %rax
leaq -0x10(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq *0x58(%rax)
jmp 0x6c7e0
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x6c6fe
jmp 0x6c7f0
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x6c6e7
leaq -0x58(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x5ca80
movq -0x88(%rbp), %rdi
callq 0x59680
movl %eax, -0x80(%rbp)
jmp 0x6c81f
leaq -0x58(%rbp), %rdi
callq 0x5a410
movl -0x80(%rbp), %eax
addq $0x90, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x5a410
movq -0x60(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/backends/bitmapbackend.cpp
// Function: smooth::GUI::BitmapBackend::InvertColors()
S::Int S::GUI::BitmapBackend::InvertColors()
{
	Point	 point;

	for (point.y = 0; point.y < size.cy; point.y++)
	{
		for (point.x = 0; point.x < size.cx; point.x++)
		{
			Color	 pixel = GetPixel(point);

			Int	 red   = 255 - pixel.GetRed();
			Int	 green = 255 - pixel.GetGreen();
			Int	 blue  = 255 - pixel.GetBlue();

			if (depth == 32) SetPixel(point, Color(red | (green << 8) | (blue << 16) | (pixel.GetAlpha() << 24), Color::RGBA));
			else		 SetPixel(point, Color(red, green, blue));
		}
	}

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq -0x10(%rbp), %rdi
callq 0x5b530
movl $0x0, -0xc(%rbp)
movq -0x78(%rbp), %rcx
movl -0xc(%rbp), %eax
cmpl 0x14(%rcx), %eax
jge 0x6c9a1
movl $0x0, -0x10(%rbp)
movq -0x78(%rbp), %rcx
movl -0x10(%rbp), %eax
cmpl 0x10(%rcx), %eax
jge 0x6c991
movq -0x78(%rbp), %rsi
movq (%rsi), %rax
leaq -0x20(%rbp), %rdi
leaq -0x10(%rbp), %rdx
callq *0x60(%rax)
leaq -0x20(%rbp), %rdi
callq 0x59f20
movl %eax, %ecx
movl $0xff, %eax
subl %ecx, %eax
movl %eax, -0x24(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5d920
movl %eax, %ecx
movl $0xff, %eax
subl %ecx, %eax
movl %eax, -0x28(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5b650
movl %eax, %edx
movq -0x78(%rbp), %rax
movl $0xff, %ecx
subl %edx, %ecx
movl %ecx, -0x2c(%rbp)
movsbl 0xa(%rax), %eax
cmpl $0x20, %eax
jne 0x6c95a
movl -0x24(%rbp), %eax
movl -0x28(%rbp), %ecx
shll $0x8, %ecx
orl %ecx, %eax
movl -0x2c(%rbp), %ecx
shll $0x10, %ecx
orl %ecx, %eax
movl %eax, -0x7c(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5bac0
movl %eax, %ecx
movl -0x7c(%rbp), %eax
shll $0x18, %ecx
orl %ecx, %eax
movslq %eax, %rsi
leaq -0x40(%rbp), %rdi
movl $0x1, %edx
callq 0x59be0
movq -0x78(%rbp), %rdi
movq (%rdi), %rax
leaq -0x10(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq *0x58(%rax)
jmp 0x6c981
movl -0x24(%rbp), %esi
movl -0x28(%rbp), %edx
movl -0x2c(%rbp), %ecx
leaq -0x50(%rbp), %rdi
xorl %r8d, %r8d
callq 0x5a6b0
movq -0x78(%rbp), %rdi
movq (%rdi), %rax
leaq -0x10(%rbp), %rsi
leaq -0x50(%rbp), %rdx
callq *0x58(%rax)
jmp 0x6c983
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x6c89e
jmp 0x6c993
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x6c887
leaq -0x60(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x5ca80
movq -0x88(%rbp), %rdi
callq 0x59680
movl %eax, -0x80(%rbp)
jmp 0x6c9c2
leaq -0x60(%rbp), %rdi
callq 0x5a410
movl -0x80(%rbp), %eax
addq $0x90, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x5a410
movq -0x68(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/backends/bitmapbackend.cpp
// Function: smooth::GUI::BitmapBackend::ReplaceColor(smooth::GUI::Color const&, smooth::GUI::Color const&)
S::Int S::GUI::BitmapBackend::ReplaceColor(const Color &iColor1, const Color &iColor2)
{
	Color	 color1 = iColor1.ConvertTo(Color::RGB);
	Color	 color2 = iColor2.ConvertTo(Color::RGB);

	Point	 point;

	for (point.y = 0; point.y < size.cy; point.y++)
	{
		for (point.x = 0; point.x < size.cx; point.x++)
		{
			Color	 pixel = GetPixel(point);

			if (pixel.ConvertTo(Color::RGB) != color1) continue;

			if (depth == 32) SetPixel(point, Color(Long(color2) | (pixel.GetAlpha() << 24), Color::RGBA));
			else		 SetPixel(point, color2);
		}
	}

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x10(%rbp), %rsi
leaq -0x28(%rbp), %rdi
xorl %edx, %edx
callq 0x5c5e0
movq -0x18(%rbp), %rsi
leaq -0x38(%rbp), %rdi
xorl %edx, %edx
callq 0x5c5e0
leaq -0x40(%rbp), %rdi
callq 0x5b530
movl $0x0, -0x3c(%rbp)
movq -0x98(%rbp), %rcx
movl -0x3c(%rbp), %eax
cmpl 0x14(%rcx), %eax
jge 0x6cb5d
movl $0x0, -0x40(%rbp)
movq -0x98(%rbp), %rcx
movl -0x40(%rbp), %eax
cmpl 0x10(%rcx), %eax
jge 0x6cb4d
movq -0x98(%rbp), %rsi
movq (%rsi), %rax
leaq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rdx
callq *0x60(%rax)
leaq -0x60(%rbp), %rdi
leaq -0x50(%rbp), %rsi
xorl %edx, %edx
callq 0x5c5e0
leaq -0x60(%rbp), %rdi
callq 0x59210
movq %rax, -0xa0(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x59210
movq %rax, %rcx
movq -0xa0(%rbp), %rax
cmpq %rcx, %rax
je 0x6cacb
jmp 0x6cb3f
movq -0x98(%rbp), %rax
movsbl 0xa(%rax), %eax
cmpl $0x20, %eax
jne 0x6cb28
leaq -0x38(%rbp), %rdi
callq 0x59210
movq %rax, -0xa8(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5bac0
movq -0xa8(%rbp), %rsi
shll $0x18, %eax
cltq
orq %rax, %rsi
leaq -0x70(%rbp), %rdi
movl $0x1, %edx
callq 0x59be0
movq -0x98(%rbp), %rdi
movq (%rdi), %rax
leaq -0x40(%rbp), %rsi
leaq -0x70(%rbp), %rdx
callq *0x58(%rax)
jmp 0x6cb3d
movq -0x98(%rbp), %rdi
movq (%rdi), %rax
leaq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq *0x58(%rax)
jmp 0x6cb3f
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0x6ca6a
jmp 0x6cb4f
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x6ca50
leaq -0x80(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x5ca80
movq -0xb8(%rbp), %rdi
callq 0x59680
movl %eax, -0xac(%rbp)
jmp 0x6cb81
leaq -0x80(%rbp), %rdi
callq 0x5a410
movl -0xac(%rbp), %eax
addq $0xc0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x88(%rbp)
movl %eax, -0x8c(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x5a410
movq -0x88(%rbp), %rdi
callq 0x5b6b0
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/graphics/backends/fontbackend.cpp
// Function: smooth::GUI::FontBackend::FontBackend(smooth::String const&, short, short, short, smooth::GUI::Color const&)
S::GUI::FontBackend::FontBackend(const String &iFontName, Short iFontSize, Short iFontWeight, Short iFontStyle, const Color &iFontColor)
{
#if defined __WIN32__ && defined SMOOTH_STATIC
	volatile Bool	 null = 0;

	if (null) FontGDI();
#endif

	type = FONT_NONE;

	fontName   = iFontName;
	fontSize   = iFontSize;
	fontColor  = iFontColor;
	fontWeight = iFontWeight;
	fontStyle  = iFontStyle;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movw %r8w, %ax
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movw %dx, -0x12(%rbp)
movw %cx, -0x14(%rbp)
movw %ax, -0x16(%rbp)
movq %r9, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x38(%rbp)
leaq 0x18f5d5(%rip), %rax    # 0x1fcd88
movq %rax, (%rdi)
addq $0x10, %rdi
movq %rdi, -0x40(%rbp)
xorl %esi, %esi
callq 0x5da90
movq -0x38(%rbp), %rdi
addq $0x28, %rdi
callq 0x5c250
jmp 0x6d7d4
movq -0x38(%rbp), %rdi
movw $0x0, 0x8(%rdi)
movq -0x10(%rbp), %rsi
addq $0x10, %rdi
callq 0x59760
jmp 0x6d7ed
movq -0x38(%rbp), %rax
movw -0x12(%rbp), %cx
movw %cx, 0xa(%rax)
movq -0x20(%rbp), %rcx
movq (%rcx), %rdx
movq %rdx, 0x28(%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x30(%rax)
movw -0x14(%rbp), %cx
movw %cx, 0x38(%rax)
movw -0x16(%rbp), %cx
movw %cx, 0x3a(%rax)
addq $0x40, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
callq 0x5df00
movq -0x28(%rbp), %rdi
callq 0x5b6b0