LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/init.cpp
// Function: smooth::Init()
S::Bool S::Init()
{
	if (initCount++) return True;

	/* Init system backends.
	 */
	if (Backends::Backend::InitBackends() == Error()) return False;

	/* Call registered init functions.
	 */
	foreach (Int (*initFunction)(), (*initFunctions))
	{
		if (initFunction() != Success())
		{
			/* Deinit system backends.
			 */
			Backends::Backend::DeinitBackends();

			return False;
		}
	}

#if defined __WIN32__
	if (hDllInstance == NIL) hDllInstance = hInstance;

	SMOOTHICON = (HICON) LoadImage(hDllInstance, MAKEINTRESOURCE(IDI_ICON), IMAGE_ICON, 0, 0, LR_DEFAULTSIZE | LR_LOADMAP3DCOLORS | LR_SHARED);

	if (LoadIconvDLL() == True) Setup::useIconv = True;

	use_iconv = (Setup::useIconv ? 1 : 0);
#endif

	/* Init internationalization system.
	 */
	I18n::Translator::defaultTranslator = new I18n::TranslatorInternal();
	I18n::Translator::defaultTranslator->SelectUserDefaultLanguage();

	Setup::rightToLeft = I18n::Translator::defaultTranslator->IsActiveLanguageRightToLeft();

	/* Finished initializing.
	 */
	initializing = False;

	/* Start waiting threads.
	 */
	for (Int i = 0; i < Object::GetNOfObjects(); i++)
	{
		Object	*object = Object::GetNthObject(i);

		if (object == NIL) continue;

		if (object->GetObjectType() == Threads::Thread::classID &&
		    ((Threads::Thread *) object)->GetStatus() == Threads::THREAD_STARTME) ((Threads::Thread *) object)->Start();
	}

	return True;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl 0xbd360(%rip), %eax     # 0x1778e0
leal 0x1(%rax), %ecx
movl %ecx, 0xbd357(%rip)     # 0x1778e0
movb $0x1, %bl
testl %eax, %eax
jne 0xba68a
callq 0x5a9f4
cmpl $-0x1, %eax
je 0xba688
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq 0xbd33b(%rip), %rdi     # 0x1778e8
movl 0x8(%rdi), %eax
decl %eax
cmpl %eax, %ebp
jge 0xba5f1
incl %ebp
movl %ebp, %esi
callq 0x60a40
movq (%rax), %r15
movb $0x1, %cl
xorl %edx, %edx
movl %edx, %r14d
testb $0x1, %cl
je 0xba5eb
movl %ecx, %r12d
callq *%r15
movb $0x1, %dl
xorl %ecx, %ecx
testl %eax, %eax
je 0xba5c6
callq 0x5ab60
testb $0x1, %r12b
jne 0xba688
testb $0x1, %r14b
jne 0xba5a6
movl $0x80, %edi
callq 0x556b0
movq %rax, %r14
movq %rax, %rdi
callq 0x9def8
movq 0xb1ddb(%rip), %r15     # 0x16c3e8
movq %r14, (%r15)
movq %r14, %rdi
callq 0x57430
movq (%r15), %rdi
callq 0x55490
movq 0xb24b9(%rip), %rcx     # 0x16cae0
movb %al, (%rcx)
movb $0x0, 0xb4c78(%rip)     # 0x16f2a8
callq 0x575e0
testl %eax, %eax
jle 0xba68a
movq 0xb23f0(%rip), %rax     # 0x16ca30
xorl %ebp, %ebp
movswl (%rax), %r14d
movl %ebp, %edi
callq 0x58800
testq %rax, %rax
je 0xba67b
movq %rax, %r15
leaq 0x20(%rax), %rdi
movl %r14d, %esi
callq 0x57520
testb %al, %al
je 0xba67b
movq %r15, %rdi
callq 0x567a0
cmpw $0x3, %ax
jne 0xba67b
movq %r15, %rdi
callq 0x57c00
incl %ebp
callq 0x575e0
cmpl %eax, %ebp
jl 0xba646
jmp 0xba68a
xorl %ebx, %ebx
movl %ebx, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movl $0x80, %esi
movq %r14, %rdi
callq 0x55480
movq %rbx, %rdi
callq 0x57090
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/pciio.cpp
// Function: PCIIO::PCIIO(smooth::GUI::Bitmap const&)
PCIIO::PCIIO(const S::GUI::Bitmap &b)
{
	cfNames[Color::RGB]	= "RGB";
	cfNames[Color::RGBA]	= "RGA";
	cfNames[Color::HSV]	= "HSV";
	cfNames[Color::YUV]	= "YUV";
	cfNames[Color::CMY]	= "CMY";
	cfNames[Color::CMYK]	= "CMK";
	cfNames[Color::GRAY]	= "GRY";

	cpNames[RAW]		= "RAW";
	cpNames[PCI]		= "PCI";
	cpNames[RLE]		= "RLE";
	cpNames[JPEG]		= "JPG";
	cpNames[BZIP2]		= "BZ2";

	majorversion		= PCIMajorVersion;
	minorversion		= PCIMinorVersion;
	compression		= RAW;
	colorspace		= Color::RGB;
	quality			= 100;
	description		= NIL;

	dpix			= 75;
	dpiy			= 75;
	bpcc			= 8;
	overwrite		= True;
	imageid			= 0;
	imagename		= NIL;
	rlebits			= 8;

	bmp			= b;

	sizex			= bmp.GetSize().cx;
	sizey			= bmp.GetSize().cy;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rsi, %r13
movq %rdi, %r15
leaq 0x8(%rdi), %rbx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x58950
leaq 0x20(%r15), %r14
movq %r14, %rdi
xorl %esi, %esi
callq 0x58e20
leaq 0x38(%r15), %r12
movq %r12, %rdi
xorl %esi, %esi
callq 0x58e20
leaq 0xbd04c(%rip), %rdi     # 0x177900
leaq 0x5930e(%rip), %rsi     # 0x113bc9
callq 0x55f40
leaq 0xbd051(%rip), %rdi     # 0x177918
leaq 0x592ff(%rip), %rsi     # 0x113bcd
callq 0x55f40
leaq 0xbd056(%rip), %rdi     # 0x177930
leaq 0x592f0(%rip), %rsi     # 0x113bd1
callq 0x55f40
leaq 0xbd05b(%rip), %rdi     # 0x177948
leaq 0x592e1(%rip), %rsi     # 0x113bd5
callq 0x55f40
leaq 0xbd060(%rip), %rdi     # 0x177960
leaq 0x592d2(%rip), %rsi     # 0x113bd9
callq 0x55f40
leaq 0xbd065(%rip), %rdi     # 0x177978
leaq 0x592c3(%rip), %rsi     # 0x113bdd
callq 0x55f40
leaq 0xbd06a(%rip), %rdi     # 0x177990
leaq 0x592b4(%rip), %rsi     # 0x113be1
callq 0x55f40
leaq 0xbd077(%rip), %rdi     # 0x1779b0
leaq 0x592a5(%rip), %rsi     # 0x113be5
callq 0x55f40
leaq 0xbd07c(%rip), %rdi     # 0x1779c8
leaq 0x59296(%rip), %rsi     # 0x113be9
callq 0x55f40
leaq 0xbd099(%rip), %rdi     # 0x1779f8
leaq 0x59287(%rip), %rsi     # 0x113bed
callq 0x55f40
leaq 0xbd06e(%rip), %rdi     # 0x1779e0
leaq 0x59278(%rip), %rsi     # 0x113bf1
callq 0x55f40
leaq 0xbd08b(%rip), %rdi     # 0x177a10
leaq 0x59269(%rip), %rsi     # 0x113bf5
callq 0x55f40
movabsq $0x200000001, %rax      # imm = 0x200000001
movq %rax, (%r15)
movl $0x0, 0x50(%r15)
movabsq $0x6400000000, %rax     # imm = 0x6400000000
movq %rax, 0x58(%r15)
movq %r14, %rdi
xorl %esi, %esi
callq 0x579e0
movabsq $0x4b0000004b, %rax     # imm = 0x4B0000004B
movq %rax, 0x18(%r15)
movl $0x8, 0x54(%r15)
movb $0x1, 0x64(%r15)
movl $0x0, 0x68(%r15)
movq %r12, %rdi
xorl %esi, %esi
callq 0x579e0
movl $0x8, 0x60(%r15)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x582c0
movq %rbx, %rdi
callq 0x58410
movl (%rax), %eax
movl %eax, 0x10(%r15)
movq %rbx, %rdi
callq 0x58410
movl 0x4(%rax), %eax
movl %eax, 0x14(%r15)
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq %rax, %r15
jmp 0xbaa3a
movq %rax, %r15
jmp 0xbaa42
movq %rax, %r15
movq %r12, %rdi
callq 0x59200
movq %r14, %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x59148
movq %r15, %rdi
callq 0x57090
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/pciio.cpp
// Function: PCIIO::PCIIO()
PCIIO::PCIIO()
{
	cfNames[Color::RGB]	= "RGB";
	cfNames[Color::RGBA]	= "RGA";
	cfNames[Color::HSV]	= "HSV";
	cfNames[Color::YUV]	= "YUV";
	cfNames[Color::CMY]	= "CMY";
	cfNames[Color::CMYK]	= "CMK";
	cfNames[Color::GRAY]	= "GRY";

	cpNames[RAW]		= "RAW";
	cpNames[PCI]		= "PCI";
	cpNames[RLE]		= "RLE";
	cpNames[JPEG]		= "JPG";
	cpNames[BZIP2]		= "BZ2";

	majorversion		= PCIMajorVersion;
	minorversion		= PCIMinorVersion;
	compression		= RAW;
	colorspace		= Color::RGB;
	quality			= 100;
	description		= NIL;

	dpix			= 75;
	dpiy			= 75;
	bpcc			= 8;
	overwrite		= True;
	imageid			= 0;
	imagename		= NIL;
	rlebits			= 8;

	sizex			= 0;
	sizey			= 0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r15
leaq 0x8(%rdi), %rbx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x58950
leaq 0x20(%r15), %r14
movq %r14, %rdi
xorl %esi, %esi
callq 0x58e20
leaq 0x38(%r15), %r12
movq %r12, %rdi
xorl %esi, %esi
callq 0x58e20
leaq 0xbce72(%rip), %rdi     # 0x177900
leaq 0x59134(%rip), %rsi     # 0x113bc9
callq 0x55f40
leaq 0xbce77(%rip), %rdi     # 0x177918
leaq 0x59125(%rip), %rsi     # 0x113bcd
callq 0x55f40
leaq 0xbce7c(%rip), %rdi     # 0x177930
leaq 0x59116(%rip), %rsi     # 0x113bd1
callq 0x55f40
leaq 0xbce81(%rip), %rdi     # 0x177948
leaq 0x59107(%rip), %rsi     # 0x113bd5
callq 0x55f40
leaq 0xbce86(%rip), %rdi     # 0x177960
leaq 0x590f8(%rip), %rsi     # 0x113bd9
callq 0x55f40
leaq 0xbce8b(%rip), %rdi     # 0x177978
leaq 0x590e9(%rip), %rsi     # 0x113bdd
callq 0x55f40
leaq 0xbce90(%rip), %rdi     # 0x177990
leaq 0x590da(%rip), %rsi     # 0x113be1
callq 0x55f40
leaq 0xbce9d(%rip), %rdi     # 0x1779b0
leaq 0x590cb(%rip), %rsi     # 0x113be5
callq 0x55f40
leaq 0xbcea2(%rip), %rdi     # 0x1779c8
leaq 0x590bc(%rip), %rsi     # 0x113be9
callq 0x55f40
leaq 0xbcebf(%rip), %rdi     # 0x1779f8
leaq 0x590ad(%rip), %rsi     # 0x113bed
callq 0x55f40
leaq 0xbce94(%rip), %rdi     # 0x1779e0
leaq 0x5909e(%rip), %rsi     # 0x113bf1
callq 0x55f40
leaq 0xbceb1(%rip), %rdi     # 0x177a10
leaq 0x5908f(%rip), %rsi     # 0x113bf5
callq 0x55f40
movabsq $0x200000001, %rax      # imm = 0x200000001
movq %rax, (%r15)
movl $0x0, 0x50(%r15)
movabsq $0x6400000000, %rax     # imm = 0x6400000000
movq %rax, 0x58(%r15)
movq %r14, %rdi
xorl %esi, %esi
callq 0x579e0
movabsq $0x4b0000004b, %rax     # imm = 0x4B0000004B
movq %rax, 0x18(%r15)
movl $0x8, 0x54(%r15)
movb $0x1, 0x64(%r15)
movl $0x0, 0x68(%r15)
movq %r12, %rdi
xorl %esi, %esi
callq 0x579e0
movl $0x8, 0x60(%r15)
movq $0x0, 0x10(%r15)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %rax, %r15
jmp 0xbabf6
movq %rax, %r15
jmp 0xbabfe
movq %rax, %r15
movq %r12, %rdi
callq 0x59200
movq %r14, %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x59148
movq %r15, %rdi
callq 0x57090
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/pciio.cpp
// Function: PCIIO::WritePCIFTAG(smooth::IO::OutStream*)
bool PCIIO::WritePCIFTAG(PCIOut out)
{
	out->OutputString("PCIF");
	out->OutputNumber(majorversion, 1);
	out->OutputNumber(minorversion, 1);
	out->OutputNumber(-1, 4);
	out->OutputNumber(0 + 14, 4);

	return true;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x20, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x58d9d(%rip), %rsi     # 0x113bf9
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x579f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x55ab0
leaq 0x8(%rsp), %rdi
callq 0x59200
movslq (%r14), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x55750
movslq 0x4(%r14), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x55750
movq %rbx, %rdi
movq $-0x1, %rsi
movl $0x4, %edx
callq 0x55750
movl $0xe, %esi
movq %rbx, %rdi
movl $0x4, %edx
callq 0x55750
movb $0x1, %al
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/pciio.cpp
// Function: PCIIO::WriteIMAGTAG(smooth::IO::OutStream*)
bool PCIIO::WriteIMAGTAG(PCIOut out)
{
	out->OutputString("IMAG");
	out->OutputNumber(majorversion, 1);
	out->OutputNumber(minorversion, 1);
	out->OutputNumber(imageid, 4);
	out->OutputNumber(0 + 14, 4);

	return true;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x20, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x58d02(%rip), %rsi     # 0x113bfe
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x579f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x55ab0
leaq 0x8(%rsp), %rdi
callq 0x59200
movslq (%r14), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x55750
movslq 0x4(%r14), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x55750
movslq 0x68(%r14), %rsi
movq %rbx, %rdi
movl $0x4, %edx
callq 0x55750
movl $0xe, %esi
movq %rbx, %rdi
movl $0x4, %edx
callq 0x55750
movb $0x1, %al
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
nop
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/pciio.cpp
// Function: PCIIO::WriteRESOTAG(smooth::IO::OutStream*)
bool PCIIO::WriteRESOTAG(PCIOut out)
{
	out->OutputString("RESO");
	out->OutputNumber(majorversion, 1);
	out->OutputNumber(minorversion, 1);
	out->OutputNumber(imageid, 4);
	out->OutputNumber(16 + 14, 4);
	out->OutputNumber(sizex, 4);
	out->OutputNumber(sizey, 4);
	out->OutputNumber(dpix, 4);
	out->OutputNumber(dpiy, 4);

	return true;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x20, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x58c69(%rip), %rsi     # 0x113c03
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x579f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x55ab0
leaq 0x8(%rsp), %rdi
callq 0x59200
movslq (%r14), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x55750
movslq 0x4(%r14), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x55750
movslq 0x68(%r14), %rsi
movq %rbx, %rdi
movl $0x4, %edx
callq 0x55750
movl $0x1e, %esi
movq %rbx, %rdi
movl $0x4, %edx
callq 0x55750
movslq 0x10(%r14), %rsi
movq %rbx, %rdi
movl $0x4, %edx
callq 0x55750
movslq 0x14(%r14), %rsi
movq %rbx, %rdi
movl $0x4, %edx
callq 0x55750
movslq 0x18(%r14), %rsi
movq %rbx, %rdi
movl $0x4, %edx
callq 0x55750
movslq 0x1c(%r14), %rsi
movq %rbx, %rdi
movl $0x4, %edx
callq 0x55750
movb $0x1, %al
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
nop
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/pciio.cpp
// Function: PCIIO::WriteFORMTAG(smooth::IO::OutStream*)
bool PCIIO::WriteFORMTAG(PCIOut out)
{
	out->OutputString("FORM");
	out->OutputNumber(majorversion, 1);
	out->OutputNumber(minorversion, 1);
	out->OutputNumber(imageid, 4);

	if (compression == RLE)	out->OutputNumber(6 + 14, 4);
	else			out->OutputNumber(5 + 14, 4);

	out->OutputString(cfNames[colorspace]);
	out->OutputNumber(bpcc, 1);
	out->OutputNumber(compression, 1);

	if (compression == RLE)	out->OutputNumber(rlebits, 1);

	return true;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x20, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x6fc1b(%rip), %rsi     # 0x12ac97
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x579f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x55ab0
leaq 0x8(%rsp), %rdi
callq 0x59200
movslq (%r14), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x55750
movslq 0x4(%r14), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x55750
movslq 0x68(%r14), %rsi
movq %rbx, %rdi
movl $0x4, %edx
callq 0x55750
xorl %esi, %esi
cmpl $0x3, 0x50(%r14)
sete %sil
addq $0x13, %rsi
movq %rbx, %rdi
movl $0x4, %edx
callq 0x55750
movl 0x58(%r14), %eax
leaq (%rax,%rax,2), %rax
leaq 0xbc805(%rip), %rcx     # 0x177900
leaq (%rcx,%rax,8), %rsi
movq %rbx, %rdi
callq 0x55ab0
movslq 0x54(%r14), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x55750
movslq 0x50(%r14), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x55750
cmpl $0x3, 0x50(%r14)
jne 0xbb141
movslq 0x60(%r14), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x55750
movb $0x1, %al
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/pciio.cpp
// Function: PCIIO::WriteDESCTAG(smooth::IO::OutStream*)
bool PCIIO::WriteDESCTAG(PCIOut out)
{
	out->OutputString("DESC");
	out->OutputNumber(majorversion, 1);
	out->OutputNumber(minorversion, 1);
	out->OutputNumber(imageid, 4);
	out->OutputNumber(description.Length() + 14, 4);
	out->OutputString(description);

	return true;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x20, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x58a90(%rip), %rsi     # 0x113c08
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x579f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x55ab0
leaq 0x8(%rsp), %rdi
callq 0x59200
movslq (%r14), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x55750
movslq 0x4(%r14), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x55750
movslq 0x68(%r14), %rsi
movq %rbx, %rdi
movl $0x4, %edx
callq 0x55750
addq $0x20, %r14
movq %r14, %rdi
callq 0x57180
addl $0xe, %eax
movslq %eax, %rsi
movq %rbx, %rdi
movl $0x4, %edx
callq 0x55750
movq %rbx, %rdi
movq %r14, %rsi
callq 0x55ab0
movb $0x1, %al
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
nop
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/pciio.cpp
// Function: PCIIO::WriteNAMETAG(smooth::IO::OutStream*)
bool PCIIO::WriteNAMETAG(PCIOut out)
{
	out->OutputString("NAME");
	out->OutputNumber(majorversion, 1);
	out->OutputNumber(minorversion, 1);
	out->OutputNumber(imageid, 4);
	out->OutputNumber(imagename.Length() + 14, 4);
	out->OutputString(imagename);

	return true;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x20, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x58fb0(%rip), %rsi     # 0x1141de
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x579f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x55ab0
leaq 0x8(%rsp), %rdi
callq 0x59200
movslq (%r14), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x55750
movslq 0x4(%r14), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x55750
movslq 0x68(%r14), %rsi
movq %rbx, %rdi
movl $0x4, %edx
callq 0x55750
addq $0x38, %r14
movq %r14, %rdi
callq 0x57180
addl $0xe, %eax
movslq %eax, %rsi
movq %rbx, %rdi
movl $0x4, %edx
callq 0x55750
movq %rbx, %rdi
movq %r14, %rsi
callq 0x55ab0
movb $0x1, %al
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
nop
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/pciio.cpp
// Function: PCIIO::WriteDATATAG(smooth::IO::OutStream*)
bool PCIIO::WriteDATATAG(PCIOut out)
{
	out->OutputString("DATA");
	out->OutputNumber(majorversion, 1);
	out->OutputNumber(minorversion, 1);
	out->OutputNumber(imageid, 4);

	int	 dpos = out->GetPos();

	out->OutputNumber(0 + 14, 4);

	CompressPCI(out);

	out->RelSeek(0);

	int	 npos = out->GetPos();
	int	 dsize = npos - dpos - 4;

	out->Seek(dpos);
	out->OutputNumber(dsize + 14, 4);
	out->Seek(npos);

	return true;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x58928(%rip), %rsi     # 0x113c0d
movq %rsp, %r15
movq %r15, %rdi
callq 0x579f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x55ab0
movq %rsp, %rdi
callq 0x59200
movslq (%r14), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x55750
movslq 0x4(%r14), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x55750
movslq 0x68(%r14), %rsi
movq %rbx, %rdi
movl $0x4, %edx
callq 0x55750
cmpw $0x0, 0x8(%rbx)
je 0xbb342
movq 0x48(%rbx), %r15
jmp 0xbb352
movw $0x5, 0xf8(%rbx)
movq $-0x1, %r15
movl $0xe, %esi
movq %rbx, %rdi
movl $0x4, %edx
callq 0x55750
movq %r14, %rdi
movq %rbx, %rsi
callq 0xb7840
movq (%rbx), %rax
movq %rbx, %rdi
xorl %esi, %esi
callq *0x30(%rax)
cmpw $0x0, 0x8(%rbx)
je 0xbb387
movq 0x48(%rbx), %r14
jmp 0xbb397
movw $0x5, 0xf8(%rbx)
movq $-0x1, %r14
movl %r14d, %ebp
subl %r15d, %ebp
movslq %r15d, %rsi
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x28(%rax)
addl $0xa, %ebp
movslq %ebp, %rsi
movq %rbx, %rdi
movl $0x4, %edx
callq 0x55750
movslq %r14d, %rsi
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x28(%rax)
movb $0x1, %al
addq $0x18, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq %rsp, %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/pciio.cpp
// Function: PCIIO::ReadPCI(smooth::IO::InStream*)
bool PCIIO::ReadPCI(PCIIn instream)
{
	if (instream->GetLastError() != IO::IO_ERROR_OK) return false;

	if (imagename != NIL) FindImageID(instream);

	if (ReadPCIFTAG(instream) == false) return false;
	if (ReadIMAGTAG(instream) == false) return false;
	if (ReadRESOTAG(instream) == false) return false;
	if (ReadFORMTAG(instream) == false) return false;

	ReadDESCTAG(instream);

	if (ReadDATATAG(instream) == false) return false;

	return true;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
cmpw $0x0, 0xf8(%rsi)
jne 0xbb46f
movq %rsi, %rbx
movq %rdi, %r14
addq $0x38, %rdi
xorl %esi, %esi
callq 0x56bd0
testb %al, %al
je 0xbb416
movq %r14, %rdi
movq %rbx, %rsi
callq 0xbb47a
movq %r14, %rdi
movq %rbx, %rsi
callq 0xbb63c
testb %al, %al
je 0xbb46f
movq %r14, %rdi
movq %rbx, %rsi
callq 0xbb7da
testb %al, %al
je 0xbb46f
movq %r14, %rdi
movq %rbx, %rsi
callq 0xbb96c
testb %al, %al
je 0xbb46f
movq %r14, %rdi
movq %rbx, %rsi
callq 0xbbb44
testb %al, %al
je 0xbb46f
movq %r14, %rdi
movq %rbx, %rsi
callq 0xbbda0
movq %r14, %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xbbf56
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
nop
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/pciio.cpp
// Function: PCIIO::FindImageID(smooth::IO::InStream*)
bool PCIIO::FindImageID(PCIIn in)
{
	int	 imageid = 0;

	in->Seek(0);

	do
	{
		static String	 nameTag = "NAME";

		if (in->InputString(4).Compare(nameTag) == 0)
		{
			in->RelSeek(2);

			imageid = in->InputNumber(4);

			if (in->InputString(in->InputNumber(4) - 14).Compare(imagename) == 0)
			{
				this->imageid = imageid;

				return true;
			}
		}
		else
		{
			in->RelSeek(6);

			in->RelSeek(in->InputNumber(4) - 14);
		}
	}
	while (in->Size() > in->GetPos());

	return false;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq (%rsi), %rax
movq %rsi, %rdi
xorl %esi, %esi
callq *0x28(%rax)
movq %rbx, 0x8(%rsp)
leaq 0x38(%rbx), %r15
leaq 0xbc65f(%rip), %r13     # 0x177b08
leaq 0x10(%rsp), %r12
movb 0xbc66c(%rip), %al      # 0x177b20
testb %al, %al
je 0xbb5ac
movq %r12, %rdi
movq %r14, %rsi
movl $0x4, %edx
callq 0x589a0
movq %r12, %rdi
movq %r13, %rsi
callq 0x585c0
movl %eax, %ebp
movq %r12, %rdi
callq 0x59200
movq (%r14), %rax
movq 0x30(%rax), %rax
testl %ebp, %ebp
je 0xbb512
movl $0x6, %esi
movq %r14, %rdi
callq *%rax
movq %r14, %rdi
movl $0x4, %esi
callq 0x55e90
leaq -0xe(%rax), %rsi
movq (%r14), %rax
movq %r14, %rdi
callq *0x30(%rax)
jmp 0xbb564
movl $0x2, %esi
movq %r14, %rdi
callq *%rax
movq %r14, %rdi
movl $0x4, %esi
callq 0x55e90
movq %rax, %rbp
movq %r14, %rdi
movl $0x4, %esi
callq 0x55e90
leal -0xe(%rax), %edx
movq %r12, %rdi
movq %r14, %rsi
callq 0x589a0
movq %r12, %rdi
movq %r15, %rsi
callq 0x585c0
movl %eax, %ebx
movq %r12, %rdi
callq 0x59200
testl %ebx, %ebx
je 0xbb5fa
movzwl 0x8(%r14), %ecx
testw %cx, %cx
je 0xbb574
movq 0x10(%r14), %rax
jmp 0xbb585
movw $0x5, 0xf8(%r14)
movq $-0x1, %rax
testw %cx, %cx
je 0xbb590
movq 0x48(%r14), %rcx
jmp 0xbb5a1
movw $0x5, 0xf8(%r14)
movq $-0x1, %rcx
cmpq %rcx, %rax
jg 0xbb4ae
jmp 0xbb5f6
leaq 0xbc56d(%rip), %rdi     # 0x177b20
callq 0x56120
testl %eax, %eax
je 0xbb4bc
movq %r13, %rdi
leaq 0x58c14(%rip), %rsi     # 0x1141de
callq 0x579f0
movq 0xb195a(%rip), %rdi     # 0x16cf30
movq %r13, %rsi
leaq 0xb3aa0(%rip), %rdx     # 0x16f080
callq 0x57e10
leaq 0xbc534(%rip), %rdi     # 0x177b20
callq 0x56b80
jmp 0xbb4bc
xorl %eax, %eax
jmp 0xbb604
movq 0x8(%rsp), %rax
movl %ebp, 0x68(%rax)
movb $0x1, %al
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0xbc503(%rip), %rdi     # 0x177b20
callq 0x56420
jmp 0xbb633
jmp 0xbb626
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
nop
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/pciio.cpp
// Function: PCIIO::ReadPCIFTAG(smooth::IO::InStream*)
bool PCIIO::ReadPCIFTAG(PCIIn in)
{
	in->Seek(0);

	do
	{
		static String	 pcifTag = "PCIF";

		if (in->InputString(4).Compare(pcifTag) == 0)
		{
			majorversion = in->InputNumber(1);
			minorversion = in->InputNumber(1);

			if (in->InputNumber(4) != -1)	return false;
			if (in->InputNumber(4) != 14)	return false;
			else				return true;
		}
		else
		{
			in->RelSeek(6);

			in->RelSeek(in->InputNumber(4) - 14);
		}
	}
	while (in->Size() > in->GetPos());

	return false;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rsi, %rbx
movq %rdi, %r14
movq (%rsi), %rax
movq %rsi, %rdi
xorl %esi, %esi
callq *0x28(%rax)
leaq 0xbc3c6(%rip), %r12     # 0x177a28
leaq 0xb3a17(%rip), %r15     # 0x16f080
movq %rsp, %r13
movb 0xbc3ce(%rip), %al      # 0x177a40
testb %al, %al
je 0xbb714
movq %r13, %rdi
movq %rbx, %rsi
movl $0x4, %edx
callq 0x589a0
movq %r13, %rdi
movq %r12, %rsi
callq 0x585c0
movl %eax, %ebp
movq %r13, %rdi
callq 0x59200
testl %ebp, %ebp
je 0xbb75a
movq (%rbx), %rax
movl $0x6, %esi
movq %rbx, %rdi
callq *0x30(%rax)
movq %rbx, %rdi
movl $0x4, %esi
callq 0x55e90
leaq -0xe(%rax), %rsi
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x30(%rax)
movzwl 0x8(%rbx), %ecx
testw %cx, %cx
je 0xbb6de
movq 0x10(%rbx), %rax
jmp 0xbb6ee
movw $0x5, 0xf8(%rbx)
movq $-0x1, %rax
testw %cx, %cx
je 0xbb6f9
movq 0x48(%rbx), %rcx
jmp 0xbb709
movw $0x5, 0xf8(%rbx)
movq $-0x1, %rcx
cmpq %rcx, %rax
jg 0xbb66c
jmp 0xbb78e
leaq 0xbc325(%rip), %rdi     # 0x177a40
callq 0x56120
testl %eax, %eax
je 0xbb67a
movq %r12, %rdi
leaq 0x584c7(%rip), %rsi     # 0x113bf9
callq 0x579f0
movq 0xb17f2(%rip), %rdi     # 0x16cf30
movq %r12, %rsi
movq %r15, %rdx
callq 0x57e10
leaq 0xbc2f0(%rip), %rdi     # 0x177a40
callq 0x56b80
jmp 0xbb67a
movq %rbx, %rdi
movl $0x1, %esi
callq 0x55e90
movl %eax, (%r14)
movq %rbx, %rdi
movl $0x1, %esi
callq 0x55e90
movl %eax, 0x4(%r14)
movq %rbx, %rdi
movl $0x4, %esi
callq 0x55e90
cmpq $-0x1, %rax
je 0xbb79f
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rbx, %rdi
movl $0x4, %esi
callq 0x55e90
cmpq $0xe, %rax
sete %al
jmp 0xbb790
movq %rax, %rbx
leaq 0xbc281(%rip), %rdi     # 0x177a40
callq 0x56420
jmp 0xbb7d1
movq %rax, %rbx
movq %rsp, %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
nop
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/pciio.cpp
// Function: PCIIO::ReadIMAGTAG(smooth::IO::InStream*)
bool PCIIO::ReadIMAGTAG(PCIIn in)
{
	in->Seek(0);

	do
	{
		static String	 imagTag = "IMAG";

		if (in->InputString(4).Compare(imagTag) == 0)
		{
			in->RelSeek(2);

			if (in->InputNumber(4) == imageid)
			{
				if (in->InputNumber(4) != 14)	return false;
				else				return true;
			}
			else
			{
				in->RelSeek(in->InputNumber(4) - 14);
			}
		}
		else
		{
			in->RelSeek(6);

			in->RelSeek(in->InputNumber(4) - 14);
		}
	}
	while (in->Size() > in->GetPos());

	return false;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rsi, %rbx
movq %rdi, %r14
movq (%rsi), %rax
movq %rsi, %rdi
xorl %esi, %esi
callq *0x28(%rax)
leaq 0xbc248(%rip), %r12     # 0x177a48
movq %rsp, %r13
movb 0xbc257(%rip), %al      # 0x177a60
testb %al, %al
je 0xbb8e3
movq %r13, %rdi
movq %rbx, %rsi
movl $0x4, %edx
callq 0x589a0
movq %r13, %rdi
movq %r12, %rsi
callq 0x585c0
movl %eax, %ebp
movq %r13, %rdi
callq 0x59200
movq (%rbx), %rax
movq 0x30(%rax), %rax
testl %ebp, %ebp
je 0xbb85a
movl $0x6, %esi
movq %rbx, %rdi
callq *%rax
movq %rbx, %rdi
movl $0x4, %esi
callq 0x55e90
jmp 0xbb88e
movl $0x2, %esi
movq %rbx, %rdi
callq *%rax
movq %rbx, %rdi
movl $0x4, %esi
callq 0x55e90
movq %rax, %rbp
movslq 0x68(%r14), %r15
movq %rbx, %rdi
movl $0x4, %esi
callq 0x55e90
cmpq %r15, %rbp
je 0xbb931
addq $-0xe, %rax
movq (%rbx), %rcx
movq %rbx, %rdi
movq %rax, %rsi
callq *0x30(%rcx)
movzwl 0x8(%rbx), %ecx
testw %cx, %cx
je 0xbb8ad
movq 0x10(%rbx), %rax
jmp 0xbb8bd
movw $0x5, 0xf8(%rbx)
movq $-0x1, %rax
testw %cx, %cx
je 0xbb8c8
movq 0x48(%rbx), %rcx
jmp 0xbb8d8
movw $0x5, 0xf8(%rbx)
movq $-0x1, %rcx
cmpq %rcx, %rax
jg 0xbb803
jmp 0xbb92d
leaq 0xbc176(%rip), %rdi     # 0x177a60
callq 0x56120
testl %eax, %eax
je 0xbb811
movq %r12, %rdi
leaq 0x582fd(%rip), %rsi     # 0x113bfe
callq 0x579f0
movq 0xb1623(%rip), %rdi     # 0x16cf30
movq %r12, %rsi
leaq 0xb3769(%rip), %rdx     # 0x16f080
callq 0x57e10
leaq 0xbc13d(%rip), %rdi     # 0x177a60
callq 0x56b80
jmp 0xbb811
xorl %eax, %eax
jmp 0xbb938
cmpq $0xe, %rax
sete %al
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0xbc10f(%rip), %rdi     # 0x177a60
callq 0x56420
jmp 0xbb963
movq %rax, %rbx
movq %rsp, %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
nop
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/pciio.cpp
// Function: PCIIO::ReadRESOTAG(smooth::IO::InStream*)
bool PCIIO::ReadRESOTAG(PCIIn in)
{
	in->Seek(0);

	do
	{
		static String	 resoTag = "RESO";

		if (in->InputString(4).Compare(resoTag) == 0)
		{
			in->RelSeek(2);

			if (in->InputNumber(4) == imageid)
			{
				if (in->InputNumber(4) != 30)	return false;
				else
				{
					sizex = in->InputNumber(4);
					sizey = in->InputNumber(4);
					dpix = in->InputNumber(4);
					dpiy = in->InputNumber(4);

					return true;
				}
			}
			else
			{
				in->RelSeek(in->InputNumber(4) - 14);
			}
		}
		else
		{
			in->RelSeek(6);

			in->RelSeek(in->InputNumber(4) - 14);
		}
	}
	while (in->Size() > in->GetPos());

	return false;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq (%rsi), %rax
movq %rsi, %rdi
xorl %esi, %esi
callq *0x28(%rax)
leaq 0xbc0d6(%rip), %r12     # 0x177a68
movq %rsp, %r13
movb 0xbc0e5(%rip), %al      # 0x177a80
testb %al, %al
je 0xbba7b
movq %r13, %rdi
movq %r14, %rsi
movl $0x4, %edx
callq 0x589a0
movq %r13, %rdi
movq %r12, %rsi
callq 0x585c0
movl %eax, %ebp
movq %r13, %rdi
callq 0x59200
movq (%r14), %rax
movq 0x30(%rax), %rax
testl %ebp, %ebp
je 0xbb9ec
movl $0x6, %esi
movq %r14, %rdi
callq *%rax
movq %r14, %rdi
movl $0x4, %esi
callq 0x55e90
jmp 0xbba20
movl $0x2, %esi
movq %r14, %rdi
callq *%rax
movq %r14, %rdi
movl $0x4, %esi
callq 0x55e90
movq %rax, %rbp
movslq 0x68(%rbx), %r15
movq %r14, %rdi
movl $0x4, %esi
callq 0x55e90
cmpq %r15, %rbp
je 0xbbac5
addq $-0xe, %rax
movq (%r14), %rcx
movq %r14, %rdi
movq %rax, %rsi
callq *0x30(%rcx)
movzwl 0x8(%r14), %ecx
testw %cx, %cx
je 0xbba40
movq 0x10(%r14), %rax
jmp 0xbba51
movw $0x5, 0xf8(%r14)
movq $-0x1, %rax
testw %cx, %cx
je 0xbba5c
movq 0x48(%r14), %rcx
jmp 0xbba6d
movw $0x5, 0xf8(%r14)
movq $-0x1, %rcx
cmpq %rcx, %rax
jg 0xbb995
jmp 0xbbb0f
leaq 0xbbffe(%rip), %rdi     # 0x177a80
callq 0x56120
testl %eax, %eax
je 0xbb9a3
movq %r12, %rdi
leaq 0x5816a(%rip), %rsi     # 0x113c03
callq 0x579f0
movq 0xb148b(%rip), %rdi     # 0x16cf30
movq %r12, %rsi
leaq 0xb35d1(%rip), %rdx     # 0x16f080
callq 0x57e10
leaq 0xbbfc5(%rip), %rdi     # 0x177a80
callq 0x56b80
jmp 0xbb9a3
cmpq $0x1e, %rax
jne 0xbbb0f
movq %r14, %rdi
movl $0x4, %esi
callq 0x55e90
movl %eax, 0x10(%rbx)
movq %r14, %rdi
movl $0x4, %esi
callq 0x55e90
movl %eax, 0x14(%rbx)
movq %r14, %rdi
movl $0x4, %esi
callq 0x55e90
movl %eax, 0x18(%rbx)
movq %r14, %rdi
movl $0x4, %esi
callq 0x55e90
movl %eax, 0x1c(%rbx)
movb $0x1, %al
jmp 0xbbb11
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0xbbf56(%rip), %rdi     # 0x177a80
callq 0x56420
jmp 0xbbb3c
movq %rax, %rbx
movq %rsp, %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/pciio.cpp
// Function: PCIIO::ReadDESCTAG(smooth::IO::InStream*)
bool PCIIO::ReadDESCTAG(PCIIn in)
{
	in->Seek(0);

	do
	{
		static String	 descTag = "DESC";

		if (in->InputString(4).Compare(descTag) == 0)
		{
			in->RelSeek(2);

			if (in->InputNumber(4) == imageid)
			{
				description = in->InputString(in->InputNumber(4) - 14);

				return true;
			}
			else
			{
				in->RelSeek(in->InputNumber(4) - 14);
			}
		}
		else
		{
			in->RelSeek(6);

			in->RelSeek(in->InputNumber(4) - 14);
		}
	}
	while (in->Size() > in->GetPos());

	return false;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq (%rsi), %rax
movq %rsi, %rdi
xorl %esi, %esi
callq *0x28(%rax)
leaq 0xbbce2(%rip), %r12     # 0x177aa8
leaq 0xb32b3(%rip), %r15     # 0x16f080
movq %rsp, %r13
movb 0xbbcea(%rip), %al      # 0x177ac0
testb %al, %al
je 0xbbea0
movq %r13, %rdi
movq %r14, %rsi
movl $0x4, %edx
callq 0x589a0
movq %r13, %rdi
movq %r12, %rsi
callq 0x585c0
movl %eax, %ebp
movq %r13, %rdi
callq 0x59200
movq (%r14), %rax
movq 0x30(%rax), %rax
testl %ebp, %ebp
je 0xbbe1a
movl $0x6, %esi
movq %r14, %rdi
callq *%rax
jmp 0xbbe3e
movl $0x2, %esi
movq %r14, %rdi
callq *%rax
movq %r14, %rdi
movl $0x4, %esi
callq 0x55e90
movslq 0x68(%rbx), %rcx
cmpq %rcx, %rax
je 0xbbeea
movq %r14, %rdi
movl $0x4, %esi
callq 0x55e90
leaq -0xe(%rax), %rsi
movq (%r14), %rax
movq %r14, %rdi
callq *0x30(%rax)
movzwl 0x8(%r14), %ecx
testw %cx, %cx
je 0xbbe68
movq 0x10(%r14), %rax
jmp 0xbbe79
movw $0x5, 0xf8(%r14)
movq $-0x1, %rax
testw %cx, %cx
je 0xbbe84
movq 0x48(%r14), %rcx
jmp 0xbbe95
movw $0x5, 0xf8(%r14)
movq $-0x1, %rcx
cmpq %rcx, %rax
jg 0xbbdd0
jmp 0xbbee6
leaq 0xbbc19(%rip), %rdi     # 0x177ac0
callq 0x56120
testl %eax, %eax
je 0xbbdde
movq %r12, %rdi
leaq 0x57d4a(%rip), %rsi     # 0x113c08
callq 0x579f0
movq 0xb1066(%rip), %rdi     # 0x16cf30
movq %r12, %rsi
movq %r15, %rdx
callq 0x57e10
leaq 0xbbbe4(%rip), %rdi     # 0x177ac0
callq 0x56b80
jmp 0xbbdde
xorl %eax, %eax
jmp 0xbbf21
movq %r14, %rdi
movl $0x4, %esi
callq 0x55e90
leal -0xe(%rax), %edx
movq %rsp, %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x589a0
addq $0x20, %rbx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x555f0
movq %rsp, %rdi
callq 0x59200
movb $0x1, %al
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0xbbb86(%rip), %rdi     # 0x177ac0
callq 0x56420
jmp 0xbbf4e
jmp 0xbbf43
movq %rax, %rbx
movq %rsp, %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/pciio.cpp
// Function: PCIIO::ReadDATATAG(smooth::IO::InStream*)
bool PCIIO::ReadDATATAG(PCIIn in)
{
	in->Seek(0);

	do
	{
		static String	 dataTag = "DATA";

		if (in->InputString(4).Compare(dataTag) == 0)
		{
			in->RelSeek(2);

			if (in->InputNumber(4) == imageid)
			{
				in->RelSeek(4);

				bmp.CreateBitmap(Size(sizex, sizey));

				DecompressPCI(in);

				return true;
			}
			else
			{
				in->RelSeek(in->InputNumber(4) - 14);
			}
		}
		else
		{
			in->RelSeek(6);

			in->RelSeek(in->InputNumber(4) - 14);
		}
	}
	while (in->Size() > in->GetPos());

	return false;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rsi, %rbx
movq %rdi, %r14
movq (%rsi), %rax
movq %rsi, %rdi
xorl %esi, %esi
callq *0x28(%rax)
leaq 0xbbb6c(%rip), %r12     # 0x177ae8
leaq 0xb30fd(%rip), %r15     # 0x16f080
movq %rsp, %r13
movb 0xbbb74(%rip), %al      # 0x177b00
testb %al, %al
je 0xbc053
movq %r13, %rdi
movq %rbx, %rsi
movl $0x4, %edx
callq 0x589a0
movq %r13, %rdi
movq %r12, %rsi
callq 0x585c0
movl %eax, %ebp
movq %r13, %rdi
callq 0x59200
movq (%rbx), %rax
movq 0x30(%rax), %rax
testl %ebp, %ebp
je 0xbbfd0
movl $0x6, %esi
movq %rbx, %rdi
callq *%rax
jmp 0xbbff4
movl $0x2, %esi
movq %rbx, %rdi
callq *%rax
movq %rbx, %rdi
movl $0x4, %esi
callq 0x55e90
movslq 0x68(%r14), %rcx
cmpq %rcx, %rax
je 0xbc09d
movq %rbx, %rdi
movl $0x4, %esi
callq 0x55e90
leaq -0xe(%rax), %rsi
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x30(%rax)
movzwl 0x8(%rbx), %ecx
testw %cx, %cx
je 0xbc01d
movq 0x10(%rbx), %rax
jmp 0xbc02d
movw $0x5, 0xf8(%rbx)
movq $-0x1, %rax
testw %cx, %cx
je 0xbc038
movq 0x48(%rbx), %rcx
jmp 0xbc048
movw $0x5, 0xf8(%rbx)
movq $-0x1, %rcx
cmpq %rcx, %rax
jg 0xbbf86
jmp 0xbc099
leaq 0xbbaa6(%rip), %rdi     # 0x177b00
callq 0x56120
testl %eax, %eax
je 0xbbf94
movq %r12, %rdi
leaq 0x57b9c(%rip), %rsi     # 0x113c0d
callq 0x579f0
movq 0xb0eb3(%rip), %rdi     # 0x16cf30
movq %r12, %rsi
movq %r15, %rdx
callq 0x57e10
leaq 0xbba71(%rip), %rdi     # 0x177b00
callq 0x56b80
jmp 0xbbf94
xorl %eax, %eax
jmp 0xbc0d0
movq (%rbx), %rax
movl $0x4, %esi
movq %rbx, %rdi
callq *0x30(%rax)
leaq 0x8(%r14), %rdi
movq 0x10(%r14), %rax
movq %rsp, %rsi
movq %rax, (%rsi)
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x57c20
movq %r14, %rdi
movq %rbx, %rsi
callq 0xb8304
movb $0x1, %al
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0xbba17(%rip), %rdi     # 0x177b00
callq 0x56420
jmp 0xbc0fb
movq %rax, %rbx
movq %rsp, %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
nop
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/misc/pciio.cpp
// Function: PCIIO::ReadNAMETAG(smooth::IO::InStream*)
bool PCIIO::ReadNAMETAG(PCIIn in)
{
	in->Seek(0);

	do
	{
		static String	 nameTag = "NAME";

		if (in->InputString(4).Compare(nameTag) == 0)
		{
			in->RelSeek(2);

			if (in->InputNumber(4) == imageid)
			{
				imagename = in->InputString(in->InputNumber(4) - 14);

				return true;
			}
			else
			{
				in->RelSeek(in->InputNumber(4) - 14);
			}
		}
		else
		{
			in->RelSeek(6);

			in->RelSeek(in->InputNumber(4) - 14);
		}
	}
	while (in->Size() > in->GetPos());

	return false;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq (%rsi), %rax
movq %rsi, %rdi
xorl %esi, %esi
callq *0x28(%rax)
leaq 0xbb99e(%rip), %r12     # 0x177ac8
leaq 0xb2f4f(%rip), %r15     # 0x16f080
movq %rsp, %r13
movb 0xbb9a6(%rip), %al      # 0x177ae0
testb %al, %al
je 0xbc204
movq %r13, %rdi
movq %r14, %rsi
movl $0x4, %edx
callq 0x589a0
movq %r13, %rdi
movq %r12, %rsi
callq 0x585c0
movl %eax, %ebp
movq %r13, %rdi
callq 0x59200
movq (%r14), %rax
movq 0x30(%rax), %rax
testl %ebp, %ebp
je 0xbc17e
movl $0x6, %esi
movq %r14, %rdi
callq *%rax
jmp 0xbc1a2
movl $0x2, %esi
movq %r14, %rdi
callq *%rax
movq %r14, %rdi
movl $0x4, %esi
callq 0x55e90
movslq 0x68(%rbx), %rcx
cmpq %rcx, %rax
je 0xbc24e
movq %r14, %rdi
movl $0x4, %esi
callq 0x55e90
leaq -0xe(%rax), %rsi
movq (%r14), %rax
movq %r14, %rdi
callq *0x30(%rax)
movzwl 0x8(%r14), %ecx
testw %cx, %cx
je 0xbc1cc
movq 0x10(%r14), %rax
jmp 0xbc1dd
movw $0x5, 0xf8(%r14)
movq $-0x1, %rax
testw %cx, %cx
je 0xbc1e8
movq 0x48(%r14), %rcx
jmp 0xbc1f9
movw $0x5, 0xf8(%r14)
movq $-0x1, %rcx
cmpq %rcx, %rax
jg 0xbc134
jmp 0xbc24a
leaq 0xbb8d5(%rip), %rdi     # 0x177ae0
callq 0x56120
testl %eax, %eax
je 0xbc142
movq %r12, %rdi
leaq 0x57fbc(%rip), %rsi     # 0x1141de
callq 0x579f0
movq 0xb0d02(%rip), %rdi     # 0x16cf30
movq %r12, %rsi
movq %r15, %rdx
callq 0x57e10
leaq 0xbb8a0(%rip), %rdi     # 0x177ae0
callq 0x56b80
jmp 0xbc142
xorl %eax, %eax
jmp 0xbc285
movq %r14, %rdi
movl $0x4, %esi
callq 0x55e90
leal -0xe(%rax), %edx
movq %rsp, %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x589a0
addq $0x38, %rbx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x555f0
movq %rsp, %rdi
callq 0x59200
movb $0x1, %al
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0xbb842(%rip), %rdi     # 0x177ae0
callq 0x56420
jmp 0xbc2b2
jmp 0xbc2a7
movq %rax, %rbx
movq %rsp, %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
nop
// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/classes/gui/dialogs/directory/dirdlg_gtk.cpp
// Function: smooth::GUI::Dialogs::DirSelection::ShowDialog()
const Error &S::GUI::Dialogs::DirSelection::ShowDialog()
{
	/* Create file chooser dialog.
	 */
	GtkWidget	*dialog = gtk_file_chooser_dialog_new(caption, NULL, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
							      GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
							      GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
							      NULL);

	if (directory != NIL) gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), directory);

	/* Run dialog and check result.
	 */
	if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT)
	{
		char	*name = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));

		directory.ImportFrom("UTF-8", name);

		g_free(name);
	}
	else
	{
		directory = NIL;
	}

	gtk_widget_destroy(dialog);

	/* Wait for GTK to finish pending actions.
	 */
	while (gtk_events_pending()) gtk_main_iteration();

	/* Check if we actually have a directory.
	 */
	if (directory != NIL)
	{
		if (!directory.EndsWith(Directory::GetDirectoryDelimiter())) directory.Append(Directory::GetDirectoryDelimiter());
	}
	else
	{
		error = Error();
	}

	return error;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
addq $0x5b8, %rdi            # imm = 0x5B8
callq 0x585e0
leaq 0x57934(%rip), %rcx     # 0x113c12
leaq 0x57938(%rip), %r9      # 0x113c1d
movq %rax, %rdi
xorl %esi, %esi
movl $0x2, %edx
movl $0xfffffffa, %r8d       # imm = 0xFFFFFFFA
xorl %eax, %eax
pushq $0x0
pushq $-0x3
callq 0x58960
addq $0x10, %rsp
movq %rax, %r15
leaq 0x5e8(%rbx), %r14
movq %r14, %rdi
xorl %esi, %esi
callq 0x56bd0
testb %al, %al
je 0xbc342
callq 0x577f0
movq %r15, %rdi
movq %rax, %rsi
callq 0x55410
movq %rax, %r12
movq %r14, %rdi
callq 0x585e0
movq %r12, %rdi
movq %rax, %rsi
callq 0x56180
callq 0x571a0
movq %r15, %rdi
movq %rax, %rsi
callq 0x55410
movq %rax, %rdi
callq 0x55c40
cmpl $-0x3, %eax
jne 0xbc396
callq 0x577f0
movq %r15, %rdi
movq %rax, %rsi
callq 0x55410
movq %rax, %rdi
callq 0x57a90
movq %rax, %r12
leaq 0x56da5(%rip), %rsi     # 0x113126
movq %r14, %rdi
movq %rax, %rdx
callq 0x56950
movq %r12, %rdi
callq 0x55b40
jmp 0xbc3a0
movq %r14, %rdi
xorl %esi, %esi
callq 0x579e0
movq %r15, %rdi
callq 0x55580
callq 0x58500
testl %eax, %eax
je 0xbc3b8
callq 0x55060
jmp 0xbc3a8
movq %r14, %rdi
xorl %esi, %esi
callq 0x56bd0
testb %al, %al
je 0xbc423
callq 0x55370
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %rax, %rsi
callq 0x579f0
movq %r14, %rdi
movq %r15, %rsi
callq 0x58b10
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x59200
testb %bpl, %bpl
jne 0xbc42d
callq 0x55370
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %rax, %rsi
callq 0x579f0
movq %r14, %rdi
movq %r15, %rsi
callq 0x562f0
leaq 0x8(%rsp), %rdi
callq 0x59200
jmp 0xbc42d
movl $0xffffffff, 0x5e0(%rbx) # imm = 0xFFFFFFFF
addq $0x5d8, %rbx            # imm = 0x5D8
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0xbc446
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
nop
// File: /workspace/github_c_makefile_star2_O1/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 %r14
pushq %rbx
pushq %rax
callq 0x553e0
leaq 0x56eea(%rip), %rdi     # 0x113c58
callq 0x57720
testq %rax, %rax
je 0xbcde6
movq %rax, %r14
xorl %ebx, %ebx
xorl %edi, %edi
callq 0x59130
movq %rax, 0xbada5(%rip)     # 0x177b30
testq %rax, %rax
je 0xbcdf2
xorl %edi, %edi
callq 0xbce14
xorl %edi, %edi
xorl %esi, %esi
callq 0x564c0
movl $0x1, %edi
callq 0xbce14
callq 0xbce52
leaq 0x55ace(%rip), %r14     # 0x112884
movl $0x6, %edi
movq %r14, %rsi
callq 0x577c0
movq %r14, %rdi
callq 0x561d0
movq 0xbad5e(%rip), %rdi     # 0x177b30
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x562a0
movq %rax, 0xbad54(%rip)     # 0x177b38
jmp 0xbcde8
xorl %ebx, %ebx
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq 0xafacf(%rip), %rax     # 0x16c8c8
movq (%rax), %rdi
leaq 0x56e5d(%rip), %rsi     # 0x113c60
movq %r14, %rdx
xorl %eax, %eax
callq 0x558d0
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
jmp 0xbcde8
// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %rbx
subq $0x90, %rsp
leaq 0x56e21(%rip), %rdi     # 0x113c86
callq 0x57720
leaq 0x20(%rsp), %rdi
movq %rax, %rsi
callq 0x579f0
leaq 0x37269(%rip), %rsi     # 0xf40e7
leaq 0x8(%rsp), %rdi
callq 0x579f0
leaq 0x38(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x8(%rsp), %rdx
callq 0x57f10
leaq 0x8(%rsp), %rdi
callq 0x59200
cmpl $0x0, 0x40(%rsp)
jle 0xbceec
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
leaq 0x38(%rsp), %r14
leaq 0x56ddc(%rip), %r15     # 0x113c9a
incl %ebx
movq %r14, %rdi
movl %ebx, %esi
callq 0x64224
movq %rax, %rdi
movq %r15, %rsi
callq 0x57ef0
testb %al, %al
je 0xbcee2
callq 0xbcf72
testb %al, %al
jne 0xbcef1
movl 0x40(%rsp), %eax
decl %eax
cmpl %eax, %ebx
jl 0xbcebe
callq 0xbd6dc
leaq 0x38(%rsp), %rdi
callq 0x63e08
leaq 0x20(%rsp), %rdi
callq 0x59200
addq $0x90, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xbcf2a
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x59200
jmp 0xbcf37
movq %rax, %rbx
jmp 0xbcf37
jmp 0xbcf2a
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x63e08
leaq 0x20(%rsp), %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
nop
// File: /workspace/github_c_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %r14d
movl %ecx, %ebp
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %rbx
callq 0x58c50
cmpq %r12, %rax
jne 0xbdd45
xorl %edi, %edi
jmp 0xbdd54
callq 0x56f10
cmpq %r12, %rax
jne 0xbddbe
movl $0x1, %edi
callq 0x58520
movq %rax, %r12
testq %r12, %r12
je 0xbdd8b
movq %r12, %rdi
callq 0x55360
movq %rax, %r13
movq %rax, %rdi
movq %r15, %rsi
callq 0x57bb0
movq %r13, %rdi
movl %ebp, %esi
movq %rbx, %rdx
testb %r14b, %r14b
je 0xbdd97
callq 0x57f20
jmp 0xbdd9c
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rbx)
movups %xmm0, (%rbx)
jmp 0xbddac
callq 0x555a0
movq %r12, %rdi
callq 0x57200
movq %r12, %rdi
callq 0x584a0
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x56ab0
cmpq %r12, %rax
jne 0xbddcf
callq 0x56000
jmp 0xbdd59
callq 0x57240
cmpq %r12, %rax
jne 0xbdde3
callq 0x58df0
jmp 0xbdd59
callq 0x55a10
cmpq %r12, %rax
jne 0xbddfe
leaq 0x54a90(%rip), %rdi     # 0x112884
callq 0x55d50
jmp 0xbdd59
xorl %r12d, %r12d
jmp 0xbdd5c
// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x88, %rsp
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
leaq 0x55f32(%rip), %rsi     # 0x113d56
leaq 0x30(%rsp), %r12
movq %r12, %rdi
callq 0x579f0
movq %r12, %rdi
movq %r15, %rsi
callq 0x562f0
leaq 0x18(%rsp), %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0xbe33c
leaq 0x30(%rsp), %rdi
callq 0x59200
leaq 0x55f01(%rip), %rsi     # 0x113d5e
movq %rsp, %rdi
callq 0x579f0
leaq 0x30(%rsp), %rdi
leaq 0x18(%rsp), %rsi
movq %rsp, %rdx
callq 0x57f10
movq %rsp, %rdi
callq 0x59200
cmpl $0x3, 0x38(%rsp)
jne 0xbdee0
leaq 0x30(%rsp), %rdi
xorl %esi, %esi
callq 0x6b6a6
movq %rax, %rdi
callq 0x568c0
movq %rax, %r14
leaq 0x30(%rsp), %rdi
movl $0x1, %esi
callq 0x6b6a6
movq %rax, %rdi
callq 0x568c0
movq %rax, %r15
leaq 0x30(%rsp), %rdi
movl $0x2, %esi
callq 0x6b6a6
movq %rax, %rdi
callq 0x568c0
shll $0x10, %eax
shll $0x8, %r15d
orl %r14d, %r15d
orl %eax, %r15d
movslq %r15d, %rax
jmp 0xbdee2
xorl %eax, %eax
movq %rax, 0x8(%rbx)
movl $0x0, (%rbx)
leaq 0x30(%rsp), %rdi
callq 0x63e08
leaq 0x18(%rsp), %rdi
callq 0x59200
movq %rbx, %rax
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %rax, %rbx
movq %rsp, %rdi
callq 0x59200
jmp 0xbdf3b
movq %rax, %rbx
jmp 0xbdf3b
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
jmp 0xbdf40
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x63e08
leaq 0x18(%rsp), %rdi
callq 0x59200
movq %rbx, %rdi
callq 0x57090
nop