LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/io/filters/filter_xor.cpp
// Function: smooth::IO::FilterXOR::ReadData(smooth::Buffer<unsigned char>&)
S::Int S::IO::FilterXOR::ReadData(Buffer<UnsignedByte> &data)
{
	if (driver == NIL) return -1;

	driver->ReadData(data, data.Size());

	Int	 value = (data[3] + 256 * data[2] + 65536 * data[1] + 16777216 * data[0]) ^ modifier;

	data[0] = (value >> 24) & 255;
	data[1] = (value >> 16) & 255;
	data[2] = (value >>  8) & 255;
	data[3] =  value	& 255;

	return data.Size();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, 0x10(%rax)
jne 0xec9eb
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xecb1c
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rdi
callq 0x71100
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rdi
callq 0x71140
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
movl %eax, %edx
movq (%rdi), %rax
callq *0x10(%rax)
movq -0x18(%rbp), %rdi
movl $0x3, %esi
callq 0x717e0
movzbl (%rax), %eax
movl %eax, -0x38(%rbp)
movq -0x18(%rbp), %rdi
movl $0x2, %esi
callq 0x717e0
movq %rax, %rcx
movl -0x38(%rbp), %eax
movzbl (%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movl %eax, -0x34(%rbp)
movq -0x18(%rbp), %rdi
movl $0x1, %esi
callq 0x717e0
movq %rax, %rcx
movl -0x34(%rbp), %eax
movzbl (%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movl %eax, -0x30(%rbp)
movq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x717e0
movq -0x28(%rbp), %rcx
movq %rax, %rdx
movl -0x30(%rbp), %eax
movzbl (%rdx), %edx
shll $0x18, %edx
addl %edx, %eax
xorl 0x18(%rcx), %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
sarl $0x18, %eax
andl $0xff, %eax
movb %al, -0x2c(%rbp)
movq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x717e0
movb -0x2c(%rbp), %cl
movb %cl, (%rax)
movl -0x1c(%rbp), %eax
sarl $0x10, %eax
andl $0xff, %eax
movb %al, -0x2b(%rbp)
movq -0x18(%rbp), %rdi
movl $0x1, %esi
callq 0x717e0
movb -0x2b(%rbp), %cl
movb %cl, (%rax)
movl -0x1c(%rbp), %eax
sarl $0x8, %eax
andl $0xff, %eax
movb %al, -0x2a(%rbp)
movq -0x18(%rbp), %rdi
movl $0x2, %esi
callq 0x717e0
movb -0x2a(%rbp), %cl
movb %cl, (%rax)
movl -0x1c(%rbp), %eax
andl $0xff, %eax
movb %al, -0x29(%rbp)
movq -0x18(%rbp), %rdi
movl $0x3, %esi
callq 0x717e0
movb -0x29(%rbp), %cl
movb %cl, (%rax)
movq -0x18(%rbp), %rdi
callq 0x71140
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/args.cpp
// Function: smooth::ArgumentsParser::ArgumentsParser(int, char**)
S::ArgumentsParser::ArgumentsParser(int argc, char **argv)
{
	command = argv[0];

	for (Int i = 1; i < argc; i++)
	{
#ifdef __APPLE__
		if (strncmp(argv[i], "-psn_", 5) == 0) continue;
#endif

		args.Add(argv[i]);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x50(%rbp)
movq %rdi, %rax
movq %rax, -0x58(%rbp)
xorl %esi, %esi
callq 0x5da90
movq -0x50(%rbp), %rdi
addq $0x18, %rdi
movq %rdi, -0x48(%rbp)
callq 0x74650
jmp 0xecb8c
movq -0x58(%rbp), %rdi
movq -0x18(%rbp), %rax
movq (%rax), %rsi
callq 0x5a230
jmp 0xecb9e
movl $0x1, -0x28(%rbp)
movl -0x28(%rbp), %eax
cmpl -0xc(%rbp), %eax
jge 0xecc26
movq -0x58(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
leaq -0x40(%rbp), %rdi
callq 0x5c1f0
jmp 0xecbd0
movq -0x60(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x74750
jmp 0xecbdf
leaq -0x40(%rbp), %rdi
callq 0x5df00
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0xecba5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xecc35
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xecc2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x5df00
jmp 0xecc2c
addq $0x60, %rsp
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x74690
movq -0x50(%rbp), %rdi
callq 0x5df00
movq -0x20(%rbp), %rdi
callq 0x5b6b0
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/array.cpp
// Function: smooth::IndexArray::IndexArray()
S::IndexArray::IndexArray()
{
	nOfEntries	  = 0;
	greatestIndex	  = 0;

	sorted		  = True;

	lastAccessedEntry = 0;

	lockingEnabled	  = False;
	lock		  = NIL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x10(%rbp)
movq 0x11b9c5(%rip), %rax    # 0x2088d0
addq $0x10, %rax
movq %rax, (%rdi)
addq $0x18, %rdi
callq 0xedb80
movq -0x10(%rbp), %rax
movl $0x0, 0x8(%rax)
movl $0x0, 0xc(%rax)
movb $0x1, 0x10(%rax)
movl $0x0, 0x14(%rax)
movb $0x0, 0x30(%rax)
movq $0x0, 0x38(%rax)
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/array.cpp
// Function: smooth::IndexArray::IndexAvailable(int) const
S::Bool S::IndexArray::IndexAvailable(Int index) const
{
	ReadLock	 lock(*this);

	if (index > greatestIndex) return True;

	if (GetEntryNumberByIndex(index) == -1) return True;
	else					return False;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rsi
movq %rsi, -0x40(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5c8f0
movq -0x40(%rbp), %rcx
movl -0x14(%rbp), %eax
cmpl 0xc(%rcx), %eax
jle 0xed299
movb $0x1, -0x1(%rbp)
movl $0x1, -0x24(%rbp)
jmp 0xed2e1
movq -0x40(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x5d5a0
movl %eax, -0x44(%rbp)
jmp 0xed2aa
movl -0x44(%rbp), %eax
cmpl $-0x1, %eax
jne 0xed2d6
movb $0x1, -0x1(%rbp)
movl $0x1, -0x24(%rbp)
jmp 0xed2e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5c0b0
jmp 0xed2f5
movb $0x0, -0x1(%rbp)
movl $0x1, -0x24(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5c0b0
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x50, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nop
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/array.cpp
// Function: smooth::IndexArray::Move(int, int)
S::Bool S::IndexArray::Move(Int index1, Int index2)
{
	WriteLock	 lock(*this);

	if (index1 > greatestIndex ||
	    index2 > greatestIndex) return False;

	return MoveNth(GetEntryNumberByIndex(index1), GetEntryNumberByIndex(index2));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl %edx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
movq %rsi, -0x40(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x593d0
movq -0x40(%rbp), %rcx
movl -0x14(%rbp), %eax
cmpl 0xc(%rcx), %eax
jg 0xed33b
movq -0x40(%rbp), %rcx
movl -0x18(%rbp), %eax
cmpl 0xc(%rcx), %eax
jle 0xed348
movb $0x0, -0x1(%rbp)
movl $0x1, -0x24(%rbp)
jmp 0xed3aa
movq -0x40(%rbp), %rdi
movl -0x14(%rbp), %esi
callq 0x5d5a0
movl %eax, -0x44(%rbp)
jmp 0xed359
movq -0x40(%rbp), %rdi
movl -0x18(%rbp), %esi
callq 0x5d5a0
movl %eax, -0x48(%rbp)
jmp 0xed36a
movl -0x48(%rbp), %edx
movl -0x44(%rbp), %esi
movq -0x40(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movb %al, -0x49(%rbp)
jmp 0xed382
movb -0x49(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
movl $0x1, -0x24(%rbp)
jmp 0xed3aa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5a730
jmp 0xed3be
leaq -0x20(%rbp), %rdi
callq 0x5a730
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x50, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/array.cpp
// Function: smooth::IndexArray::MoveNth(int, int)
S::Bool S::IndexArray::MoveNth(Int n, Int m)
{
	WriteLock	 lock(*this);

	if (nOfEntries <= n || n < 0 ||
	    nOfEntries <= m || m < 0) return False;

	Int	 backupIndex = indices[n];

	if (m < n) memmove(indices + m + 1, indices + m, (n - m) * sizeof(Int));
	else	   memmove(indices + n, indices + n + 1, (m - n) * sizeof(Int));

	indices[m] = backupIndex;

	sorted = False;

	return True;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl %edx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
movq %rsi, -0x40(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x593d0
movq -0x40(%rbp), %rax
movl 0x8(%rax), %eax
cmpl -0x14(%rbp), %eax
jle 0xed63a
cmpl $0x0, -0x14(%rbp)
jl 0xed63a
movq -0x40(%rbp), %rax
movl 0x8(%rax), %eax
cmpl -0x18(%rbp), %eax
jle 0xed63a
cmpl $0x0, -0x18(%rbp)
jge 0xed64a
movb $0x0, -0x1(%rbp)
movl $0x1, -0x24(%rbp)
jmp 0xed786
movq -0x40(%rbp), %rdi
addq $0x18, %rdi
movl -0x14(%rbp), %esi
callq 0xedd30
movq %rax, -0x48(%rbp)
jmp 0xed660
movq -0x48(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x28(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0xed6e9
movq -0x40(%rbp), %rdi
addq $0x18, %rdi
callq 0xedcf0
movq %rax, -0x50(%rbp)
jmp 0xed684
movq -0x40(%rbp), %rdi
movq -0x50(%rbp), %rax
movslq -0x18(%rbp), %rcx
leaq 0x4(%rax,%rcx,4), %rax
movq %rax, -0x60(%rbp)
addq $0x18, %rdi
callq 0xedcf0
movq %rax, -0x58(%rbp)
jmp 0xed6a8
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rsi
movslq -0x18(%rbp), %rax
shlq $0x2, %rax
addq %rax, %rsi
movl -0x14(%rbp), %eax
subl -0x18(%rbp), %eax
movslq %eax, %rdx
shlq $0x2, %rdx
callq 0x59850
jmp 0xed748
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5a730
jmp 0xed79d
movq -0x40(%rbp), %rdi
addq $0x18, %rdi
callq 0xedcf0
movq %rax, -0x68(%rbp)
jmp 0xed6fc
movq -0x40(%rbp), %rdi
movq -0x68(%rbp), %rax
movslq -0x14(%rbp), %rcx
leaq (%rax,%rcx,4), %rax
movq %rax, -0x78(%rbp)
addq $0x18, %rdi
callq 0xedcf0
movq %rax, -0x70(%rbp)
jmp 0xed71f
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rsi
movslq -0x14(%rbp), %rax
shlq $0x2, %rax
addq %rax, %rsi
addq $0x4, %rsi
movl -0x18(%rbp), %eax
subl -0x14(%rbp), %eax
movslq %eax, %rdx
shlq $0x2, %rdx
callq 0x59850
movq -0x40(%rbp), %rdi
movl -0x28(%rbp), %eax
movl %eax, -0x84(%rbp)
addq $0x18, %rdi
movl -0x18(%rbp), %esi
callq 0xedd30
movq %rax, -0x80(%rbp)
jmp 0xed767
movq -0x40(%rbp), %rax
movq -0x80(%rbp), %rcx
movl -0x84(%rbp), %edx
movl %edx, (%rcx)
movb $0x0, 0x10(%rax)
movb $0x1, -0x1(%rbp)
movl $0x1, -0x24(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5a730
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x90, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/array.cpp
// Function: smooth::IndexArray::RemoveNth(int)
S::Bool S::IndexArray::RemoveNth(Int n)
{
	WriteLock	 lock(*this);

	if (nOfEntries <= n || n < 0) return False;

	if (nOfEntries == 1) return RemoveAll();

	memmove(indices + n, indices + n + 1, (nOfEntries - n - 1) * sizeof(Int));

	nOfEntries--;

	return True;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rsi
movq %rsi, -0x40(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x593d0
movq -0x40(%rbp), %rax
movl 0x8(%rax), %eax
cmpl -0x14(%rbp), %eax
jle 0xed892
cmpl $0x0, -0x14(%rbp)
jge 0xed8a2
movb $0x0, -0x1(%rbp)
movl $0x1, -0x24(%rbp)
jmp 0xed96a
movq -0x40(%rbp), %rax
cmpl $0x1, 0x8(%rax)
jne 0xed8ec
movq -0x40(%rbp), %rdi
movq (%rdi), %rax
movq 0x20(%rax), %rax
callq *%rax
movb %al, -0x41(%rbp)
jmp 0xed8be
movb -0x41(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
movl $0x1, -0x24(%rbp)
jmp 0xed96a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5a730
jmp 0xed97e
movq -0x40(%rbp), %rdi
addq $0x18, %rdi
callq 0xedcf0
movq %rax, -0x50(%rbp)
jmp 0xed8ff
movq -0x40(%rbp), %rdi
movq -0x50(%rbp), %rax
movslq -0x14(%rbp), %rcx
leaq (%rax,%rcx,4), %rax
movq %rax, -0x60(%rbp)
addq $0x18, %rdi
callq 0xedcf0
movq %rax, -0x58(%rbp)
jmp 0xed922
movq -0x40(%rbp), %rax
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rsi
movslq -0x14(%rbp), %rcx
shlq $0x2, %rcx
addq %rcx, %rsi
addq $0x4, %rsi
movl 0x8(%rax), %eax
subl -0x14(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
shlq $0x2, %rdx
callq 0x59850
movq -0x40(%rbp), %rax
movl 0x8(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x8(%rax)
movb $0x1, -0x1(%rbp)
movl $0x1, -0x24(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x5a730
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x60, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/array.cpp
// Function: smooth::IndexArray::RemoveAll()
S::Bool S::IndexArray::RemoveAll()
{
	WriteLock	 lock(*this);

	if (nOfEntries == 0) return True;

	indices.Free();

	nOfEntries	  = 0;
	greatestIndex	  = 0;

	sorted		  = True;

	lastAccessedEntry = 0;

	return True;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rsi
movq %rsi, -0x38(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x593d0
movq -0x38(%rbp), %rax
cmpl $0x0, 0x8(%rax)
jne 0xed9c4
movb $0x1, -0x1(%rbp)
movl $0x1, -0x1c(%rbp)
jmp 0xeda14
movq -0x38(%rbp), %rdi
addq $0x18, %rdi
callq 0xedd60
jmp 0xed9d3
movq -0x38(%rbp), %rax
movl $0x0, 0x8(%rax)
movl $0x0, 0xc(%rax)
movb $0x1, 0x10(%rax)
movl $0x0, 0x14(%rax)
movb $0x1, -0x1(%rbp)
movl $0x1, -0x1c(%rbp)
jmp 0xeda14
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x5a730
jmp 0xeda28
leaq -0x18(%rbp), %rdi
callq 0x5a730
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x40, %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/misc/binary.cpp
// Function: smooth::Binary::GetBits(int, unsigned int, unsigned int)
S::Int S::Binary::GetBits(Int n, UnsignedInt startBit, UnsignedInt endBit)
{
	Int	retVal = 0;

	if (startBit >= 32 || endBit >= 32) return -1;

	for (UnsignedInt i = startBit; i <= endBit; i++)
	{
		retVal += (Int) Math::Pow(2l, (Signed) i - (Signed) startBit) * ((n >> i) & 1);
	}

	return retVal;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
cmpl $0x20, -0xc(%rbp)
jae 0xedf84
cmpl $0x20, -0x10(%rbp)
jb 0xedf8d
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xedfd6
movl -0xc(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x10(%rbp), %eax
ja 0xedfd0
movl -0x18(%rbp), %esi
subl -0xc(%rbp), %esi
movl $0x2, %edi
callq 0x5a330
cvttsd2si %xmm0, %eax
movl -0x8(%rbp), %edx
movl -0x18(%rbp), %ecx
sarl %cl, %edx
movl %edx, %ecx
andl $0x1, %ecx
imull %ecx, %eax
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0xedf93
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/binary.cpp
// Function: smooth::Binary::SetBits(int&, unsigned int, unsigned int, int)
S::Int S::Binary::SetBits(Int &n, UnsignedInt startBit, UnsignedInt endBit, Int value)
{
	if (startBit >= 32 || endBit >= 32) return -1;

	for (UnsignedInt i = startBit; i <= endBit; i++)
	{
		SetBit(n, i, (value >> (i - startBit)) & 1);
	}

	return n;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl %edx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
cmpl $0x20, -0x14(%rbp)
jae 0xee001
cmpl $0x20, -0x18(%rbp)
jb 0xee00a
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xee052
movl -0x14(%rbp), %eax
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x18(%rbp), %eax
ja 0xee049
movq -0x10(%rbp), %rdi
movl -0x20(%rbp), %esi
movl -0x1c(%rbp), %eax
movl -0x20(%rbp), %ecx
subl -0x14(%rbp), %ecx
sarl %cl, %eax
andl $0x1, %eax
cmpl $0x0, %eax
setne %al
movzbl %al, %edx
andl $0x1, %edx
callq 0x599b0
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xee010
movq -0x10(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/config.cpp
// Function: smooth::Configuration::Configuration(smooth::String const&, bool)
S::Configuration::Configuration(const String &file, Bool create)
{
	ownRoot = NIL;

	configFile = NIL;

	activeConfig = ConfigurationDefaultID;

	Open(file, create);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movb %dl, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
andb $0x1, %al
movb %al, -0x11(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x40(%rbp)
movq %rdi, %rax
movq %rax, -0x48(%rbp)
xorl %esi, %esi
movl %esi, -0x34(%rbp)
callq 0x5da90
movq -0x40(%rbp), %rdi
movl -0x34(%rbp), %esi
addq $0x18, %rdi
movq %rdi, -0x30(%rbp)
callq 0x5da90
jmp 0xee216
movq -0x48(%rbp), %rdi
movq $0x0, 0x38(%rdi)
movq $0x0, 0x30(%rdi)
addq $0x18, %rdi
leaq 0x11e74b(%rip), %rsi    # 0x20c980
callq 0x59760
jmp 0xee23c
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
movzbl -0x11(%rbp), %edx
andl $0x1, %edx
callq 0x59590
jmp 0xee252
addq $0x50, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0xee27b
movq -0x30(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
callq 0x5df00
movq -0x40(%rbp), %rdi
callq 0x5df00
movq -0x20(%rbp), %rdi
callq 0x5b6b0
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/config.cpp
// Function: smooth::Configuration::Close()
S::Int S::Configuration::Close()
{
	if (configFile != NIL)
	{
		delete configFile;

		configFile = NIL;

		fileName = NIL;
	}

	if (ownRoot != NIL)
	{
		delete ownRoot;

		ownRoot = NIL;
	}

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, 0x30(%rax)
je 0xeeb87
movq -0x30(%rbp), %rax
movq 0x30(%rax), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, %rax
je 0xeeb74
movq -0x38(%rbp), %rdi
callq 0x59520
movq -0x38(%rbp), %rdi
movl $0x28, %esi
callq 0x595b0
movq -0x30(%rbp), %rdi
movq $0x0, 0x30(%rdi)
xorl %esi, %esi
callq 0x5c1e0
movq -0x30(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0xeebc7
movq -0x30(%rbp), %rax
movq 0x38(%rax), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, %rax
je 0xeebbb
movq -0x40(%rbp), %rdi
callq 0x5a270
movq -0x40(%rbp), %rdi
movl $0x30, %esi
callq 0x595b0
movq -0x30(%rbp), %rax
movq $0x0, 0x38(%rax)
leaq -0x18(%rbp), %rdi
movq %rdi, -0x50(%rbp)
callq 0x5ca80
movq -0x50(%rbp), %rdi
callq 0x59680
movl %eax, -0x44(%rbp)
jmp 0xeebe2
leaq -0x18(%rbp), %rdi
callq 0x5a410
movl -0x44(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x5a410
movq -0x20(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/config.cpp
// Function: smooth::Configuration::AddConfiguration(smooth::String const&)
S::Int S::Configuration::AddConfiguration(const String &nConfig)
{
	if (configFile == NIL) return Error();

	XML::Node	*configuration = FindConfigurationNode(nConfig);

	if (configuration == NIL)
	{
		configFile->GetRootNode()->AddNode(NodeConfigurationID)->SetAttribute(AttributeNameID, nConfig);

		return Success();
	}

	return Error();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x80(%rbp)
cmpq $0x0, 0x30(%rax)
jne 0xeef1c
leaq -0x28(%rbp), %rdi
movq %rdi, -0x90(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x90(%rbp), %rdi
callq 0x59680
movl %eax, -0x84(%rbp)
jmp 0xeeeeb
movl -0x84(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xef060
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xef06c
movq -0x80(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5be60
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
jne 0xef00c
movq -0x80(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x5b410
movq %rax, -0xa8(%rbp)
leaq -0x58(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
xorl %esi, %esi
callq 0x5da90
movq -0xa8(%rbp), %rdi
movq -0xa0(%rbp), %rdx
leaq 0x11da25(%rip), %rsi    # 0x20c998
callq 0x599e0
movq %rax, -0x98(%rbp)
jmp 0xeef81
movq -0x98(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x11da65(%rip), %rsi    # 0x20c9f8
callq 0x5cb70
jmp 0xeef9a
leaq -0x58(%rbp), %rdi
callq 0x5df00
leaq -0x68(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x5ca80
movq -0xb8(%rbp), %rdi
callq 0x59680
movl %eax, -0xac(%rbp)
jmp 0xeefc7
movl -0xac(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x5a410
jmp 0xef060
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x5df00
jmp 0xef06c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x5a410
jmp 0xef06c
leaq -0x78(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0xc8(%rbp), %rdi
callq 0x59680
movl %eax, -0xbc(%rbp)
jmp 0xef035
movl -0xbc(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x5b5b0
jmp 0xef060
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x5b5b0
jmp 0xef06c
movl -0x4(%rbp), %eax
addq $0xd0, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/config.cpp
// Function: smooth::Configuration::FindConfigurationNode(smooth::String const&) const
S::XML::Node *S::Configuration::FindConfigurationNode(const String &configuration) const
{
	XML::Node	*root = configFile->GetRootNode();

	if (root == NIL) return NIL;

	for (Int i = 0; i < root->GetNOfNodes(); i++)
	{
		XML::Node	*node = root->GetNthNode(i);

		if (node->GetName() != NodeConfigurationID) continue;

		XML::Attribute	*attributeName = node->GetAttributeByName(AttributeNameID);

		if (attributeName != NIL && attributeName->GetContent() == configuration) return node;
	}

	return NIL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x5b410
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0xef0b5
movq $0x0, -0x8(%rbp)
jmp 0xef160
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
movl %eax, -0x3c(%rbp)
movq -0x20(%rbp), %rdi
callq 0x5a380
movl %eax, %ecx
movl -0x3c(%rbp), %eax
cmpl %ecx, %eax
jge 0xef158
movq -0x20(%rbp), %rdi
movl -0x24(%rbp), %esi
callq 0x5c710
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
callq 0x5c630
movq %rax, %rdi
leaq 0x11d89d(%rip), %rsi    # 0x20c998
callq 0x5b570
testb $0x1, %al
jne 0xef106
jmp 0xef108
jmp 0xef14a
movq -0x30(%rbp), %rdi
leaq 0x11d8e5(%rip), %rsi    # 0x20c9f8
callq 0x5d940
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0xef148
movq -0x38(%rbp), %rdi
callq 0x598c0
movq %rax, %rdi
movq -0x18(%rbp), %rsi
callq 0x59ac0
testb $0x1, %al
jne 0xef13e
jmp 0xef148
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xef160
jmp 0xef14a
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0xef0bc
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/config.cpp
// Function: smooth::Configuration::RemoveConfiguration(smooth::String const&)
S::Int S::Configuration::RemoveConfiguration(const String &rConfig)
{
	if (configFile == NIL) return Error();

	XML::Node	*configuration = FindConfigurationNode(rConfig);

	if (configuration != NIL)
	{
		if (activeConfig == rConfig) SetActiveConfiguration(ConfigurationDefaultID);

		configFile->GetRootNode()->RemoveNode(configuration);

		return Success();
	}

	return Error();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
cmpq $0x0, 0x30(%rax)
jne 0xef1e0
leaq -0x28(%rbp), %rdi
movq %rdi, -0x78(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x78(%rbp), %rdi
callq 0x59680
movl %eax, -0x6c(%rbp)
jmp 0xef1b2
movl -0x6c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xef2d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xef2e5
movq -0x68(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5be60
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
je 0xef285
movq -0x68(%rbp), %rdi
addq $0x18, %rdi
movq -0x18(%rbp), %rsi
callq 0x59ac0
testb $0x1, %al
jne 0xef213
jmp 0xef223
movq -0x68(%rbp), %rdi
leaq 0x11d762(%rip), %rsi    # 0x20c980
callq 0x5aaa0
movq -0x68(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x5b410
movq %rax, %rdi
movq -0x40(%rbp), %rsi
callq 0x5c750
leaq -0x50(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x5ca80
movq -0x88(%rbp), %rdi
callq 0x59680
movl %eax, -0x7c(%rbp)
jmp 0xef25d
movl -0x7c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5a410
jmp 0xef2d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5a410
jmp 0xef2e5
leaq -0x60(%rbp), %rdi
movq %rdi, -0x98(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x98(%rbp), %rdi
callq 0x59680
movl %eax, -0x8c(%rbp)
jmp 0xef2ae
movl -0x8c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x5b5b0
jmp 0xef2d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x5b5b0
jmp 0xef2e5
movl -0x4(%rbp), %eax
addq $0xa0, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nop
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/config.cpp
// Function: smooth::Configuration::SetActiveConfiguration(smooth::String const&)
S::Int S::Configuration::SetActiveConfiguration(const String &nConfig)
{
	if (configFile == NIL) return Error();

	XML::Node	*configuration = FindConfigurationNode(nConfig);

	if (configuration == NIL) AddConfiguration(nConfig);

	activeConfig = nConfig;

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
cmpq $0x0, 0x30(%rax)
jne 0xef360
leaq -0x28(%rbp), %rdi
movq %rdi, -0x68(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x68(%rbp), %rdi
callq 0x59680
movl %eax, -0x5c(%rbp)
jmp 0xef332
movl -0x5c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xef3d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xef3e5
movq -0x58(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5be60
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
jne 0xef385
movq -0x58(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5a690
movq -0x58(%rbp), %rdi
movq -0x18(%rbp), %rsi
addq $0x18, %rdi
callq 0x59760
leaq -0x50(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x5ca80
movq -0x78(%rbp), %rdi
callq 0x59680
movl %eax, -0x6c(%rbp)
jmp 0xef3b1
movl -0x6c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5a410
jmp 0xef3d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5a410
jmp 0xef3e5
movl -0x4(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nop
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/config.cpp
// Function: smooth::Configuration::GetNOfConfigurations() const
S::Int S::Configuration::GetNOfConfigurations() const
{
	XML::Node	*root = configFile->GetRootNode();

	if (root == NIL) return 0;

	Int	 count = 0;

	for (Int i = 0; i < root->GetNOfNodes(); i++)
	{
		XML::Node	*node = root->GetNthNode(i);

		if (node->GetName() != NodeConfigurationID) continue;

		count++;
	}

	return count;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x5b410
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0xef41d
movl $0x0, -0x4(%rbp)
jmp 0xef48d
movl $0x0, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x2c(%rbp)
movq -0x18(%rbp), %rdi
callq 0x5a380
movl %eax, %ecx
movl -0x2c(%rbp), %eax
cmpl %ecx, %eax
jge 0xef487
movq -0x18(%rbp), %rdi
movl -0x20(%rbp), %esi
callq 0x5c710
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x5c630
movq %rax, %rdi
leaq 0x11d532(%rip), %rsi    # 0x20c998
callq 0x5b570
testb $0x1, %al
jne 0xef471
jmp 0xef473
jmp 0xef47c
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0xef42b
movl -0x1c(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/config.cpp
// Function: smooth::Configuration::GetNthConfigurationName(int) const
S::String S::Configuration::GetNthConfigurationName(Int n) const
{
	XML::Node	*root = configFile->GetRootNode();

	if (root == NIL) return NIL;

	Int	 count = 0;

	for (Int i = 0; i < root->GetNOfNodes(); i++)
	{
		XML::Node	*node = root->GetNthNode(i);

		if (node->GetName() != NodeConfigurationID) continue;

		if (count++ == n)
		{
			XML::Attribute	*attributeName = node->GetAttributeByName(AttributeNameID);

			if (attributeName != NIL) return attributeName->GetContent();
			else			  return NIL;
		}
	}

	return NIL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x48(%rbp)
movq %rdi, %rax
movq %rax, -0x40(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x5b410
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0xef4e6
movq -0x48(%rbp), %rdi
xorl %esi, %esi
callq 0x5da90
jmp 0xef5aa
movl $0x0, -0x24(%rbp)
movl $0x0, -0x28(%rbp)
movl -0x28(%rbp), %eax
movl %eax, -0x4c(%rbp)
movq -0x20(%rbp), %rdi
callq 0x5a380
movl %eax, %ecx
movl -0x4c(%rbp), %eax
cmpl %ecx, %eax
jge 0xef59f
movq -0x20(%rbp), %rdi
movl -0x28(%rbp), %esi
callq 0x5c710
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
callq 0x5c630
movq %rax, %rdi
leaq 0x11d465(%rip), %rsi    # 0x20c998
callq 0x5b570
testb $0x1, %al
jne 0xef53e
jmp 0xef540
jmp 0xef591
movl -0x24(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x24(%rbp)
cmpl -0x14(%rbp), %eax
jne 0xef58f
movq -0x30(%rbp), %rdi
leaq 0x11d49d(%rip), %rsi    # 0x20c9f8
callq 0x5d940
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0xef582
movq -0x38(%rbp), %rdi
callq 0x598c0
movq -0x48(%rbp), %rdi
movq %rax, %rsi
callq 0x5b6d0
jmp 0xef5aa
movq -0x48(%rbp), %rdi
xorl %esi, %esi
callq 0x5da90
jmp 0xef5aa
jmp 0xef591
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0xef4f4
movq -0x48(%rbp), %rdi
xorl %esi, %esi
callq 0x5da90
movq -0x40(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/config.cpp
// Function: smooth::Configuration::SetParentConfiguration(smooth::String const&)
S::Int S::Configuration::SetParentConfiguration(const String &nParent)
{
	if (configFile == NIL) return Error();

	XML::Node	*configuration = FindConfigurationNode(activeConfig);

	if (configuration == NIL) return Error();

	configuration->SetAttribute(AttributeInheritingID, nParent);

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
cmpq $0x0, 0x30(%rax)
jne 0xef630
leaq -0x28(%rbp), %rdi
movq %rdi, -0x78(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x78(%rbp), %rdi
callq 0x59680
movl %eax, -0x6c(%rbp)
jmp 0xef602
movl -0x6c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xef6fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xef708
movq -0x68(%rbp), %rdi
movq %rdi, %rsi
addq $0x18, %rsi
callq 0x5be60
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
jne 0xef699
leaq -0x50(%rbp), %rdi
movq %rdi, -0x88(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x88(%rbp), %rdi
callq 0x59680
movl %eax, -0x7c(%rbp)
jmp 0xef671
movl -0x7c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5b5b0
jmp 0xef6fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5b5b0
jmp 0xef708
movq -0x40(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x11d338(%rip), %rsi    # 0x20c9e0
callq 0x5cb70
leaq -0x60(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x5ca80
movq -0x98(%rbp), %rdi
callq 0x59680
movl %eax, -0x8c(%rbp)
jmp 0xef6d1
movl -0x8c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x5a410
jmp 0xef6fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x5a410
jmp 0xef708
movl -0x4(%rbp), %eax
addq $0xa0, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/config.cpp
// Function: smooth::Configuration::GetConfigurationName() const
S::String S::Configuration::GetConfigurationName() const
{
	if (configFile == NIL) return NIL;

	XML::Node	*configuration = FindConfigurationNode(activeConfig);

	if (configuration == NIL) return NIL;

	return activeConfig;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x30(%rbp)
movq %rdi, %rax
movq %rax, -0x28(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, 0x30(%rax)
jne 0xef757
movq -0x30(%rbp), %rdi
xorl %esi, %esi
callq 0x5da90
jmp 0xef790
movq -0x20(%rbp), %rdi
movq %rdi, %rsi
addq $0x18, %rsi
callq 0x5be60
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0xef77f
movq -0x30(%rbp), %rdi
xorl %esi, %esi
callq 0x5da90
jmp 0xef790
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
addq $0x18, %rsi
callq 0x5b6d0
movq -0x28(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/config.cpp
// Function: smooth::Configuration::SetConfigurationName(smooth::String const&)
S::Int S::Configuration::SetConfigurationName(const String &nName)
{
	if (configFile == NIL) return Error();

	XML::Node	*configuration = FindConfigurationNode(activeConfig);

	if (configuration == NIL) return Error();

	activeConfig = nName;

	configuration->SetAttribute(AttributeNameID, nName);

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
cmpq $0x0, 0x30(%rax)
jne 0xef810
leaq -0x28(%rbp), %rdi
movq %rdi, -0x78(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x78(%rbp), %rdi
callq 0x59680
movl %eax, -0x6c(%rbp)
jmp 0xef7e2
movl -0x6c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xef8f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5b5b0
jmp 0xef8ff
movq -0x68(%rbp), %rdi
movq %rdi, %rsi
addq $0x18, %rsi
callq 0x5be60
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
jne 0xef87f
leaq -0x50(%rbp), %rdi
movq %rdi, -0x88(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x88(%rbp), %rdi
callq 0x59680
movl %eax, -0x7c(%rbp)
jmp 0xef851
movl -0x7c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5b5b0
jmp 0xef8f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5b5b0
jmp 0xef8ff
movq -0x68(%rbp), %rdi
movq -0x18(%rbp), %rsi
addq $0x18, %rdi
callq 0x59760
movq -0x40(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x11d159(%rip), %rsi    # 0x20c9f8
callq 0x5cb70
leaq -0x60(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x5ca80
movq -0x98(%rbp), %rdi
callq 0x59680
movl %eax, -0x8c(%rbp)
jmp 0xef8c8
movl -0x8c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x5a410
jmp 0xef8f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x5a410
jmp 0xef8ff
movl -0x4(%rbp), %eax
addq $0xa0, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x5b6b0
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/config.cpp
// Function: smooth::Configuration::GetIntValue(smooth::String const&, smooth::String const&, int)
S::Int S::Configuration::GetIntValue(const String &section, const String &name, Int defValue)
{
	if (configFile == NIL) return defValue;

	XML::Node	*value = FindValueNode(section, name);

	if (value != NIL)
	{
		return value->GetContent().ToInt();
	}
	else
	{
		XML::Node	*configuration = FindConfigurationNode(activeConfig);
		XML::Attribute	*attributeInheriting = configuration->GetAttributeByName(AttributeInheritingID);

		if (attributeInheriting != NIL)
		{
			String	 oConfig = activeConfig;

			activeConfig = attributeInheriting->GetContent();

			Int	 retVal = GetIntValue(section, name, defValue);

			activeConfig = oConfig;

			return retVal;
		}

		return defValue;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movl %ecx, -0x24(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x70(%rbp)
cmpq $0x0, 0x30(%rax)
jne 0xef944
movl -0x24(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xefa3f
movq -0x70(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x5b810
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0xef979
movq -0x30(%rbp), %rdi
callq 0x5da60
movq %rax, %rdi
callq 0x5adc0
movl %eax, -0x4(%rbp)
jmp 0xefa3f
movq -0x70(%rbp), %rdi
movq %rdi, %rsi
addq $0x18, %rsi
callq 0x5be60
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
leaq 0x11d048(%rip), %rsi    # 0x20c9e0
callq 0x5d940
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
je 0xefa39
movq -0x70(%rbp), %rsi
addq $0x18, %rsi
leaq -0x58(%rbp), %rdi
callq 0x5b6d0
movq -0x40(%rbp), %rdi
callq 0x598c0
movq %rax, -0x78(%rbp)
jmp 0xef9cc
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdi
addq $0x18, %rdi
callq 0x59760
jmp 0xef9df
movq -0x70(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movl -0x24(%rbp), %ecx
callq 0x5b050
movl %eax, -0x7c(%rbp)
jmp 0xef9f8
movq -0x70(%rbp), %rdi
movl -0x7c(%rbp), %eax
movl %eax, -0x68(%rbp)
addq $0x18, %rdi
leaq -0x58(%rbp), %rsi
callq 0x59760
jmp 0xefa11
movl -0x68(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x5df00
jmp 0xefa3f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x5df00
jmp 0xefa4b
movl -0x24(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/config.cpp
// Function: smooth::Configuration::FindValueNode(smooth::String const&, smooth::String const&) const
S::XML::Node *S::Configuration::FindValueNode(const String &sect, const String &name) const
{
	XML::Node	*section = FindSectionNode(sect);

	if (section == NIL) return NIL;

	for (Int i = 0; i < section->GetNOfNodes(); i++)
	{
		XML::Node	*node = section->GetNthNode(i);
		XML::Attribute	*attributeName = node->GetAttributeByName(AttributeNameID);

		if (attributeName != NIL && attributeName->GetContent() == name) return node;
	}

	return NIL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5b6e0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0xefa99
movq $0x0, -0x8(%rbp)
jmp 0xefb1d
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
movl %eax, -0x44(%rbp)
movq -0x28(%rbp), %rdi
callq 0x5a380
movl %eax, %ecx
movl -0x44(%rbp), %eax
cmpl %ecx, %eax
jge 0xefb15
movq -0x28(%rbp), %rdi
movl -0x2c(%rbp), %esi
callq 0x5c710
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
leaq 0x11cf25(%rip), %rsi    # 0x20c9f8
callq 0x5d940
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
je 0xefb08
movq -0x40(%rbp), %rdi
callq 0x598c0
movq %rax, %rdi
movq -0x20(%rbp), %rsi
callq 0x59ac0
testb $0x1, %al
jne 0xefafe
jmp 0xefb08
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xefb1d
jmp 0xefb0a
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0xefaa0
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/config.cpp
// Function: smooth::Configuration::FindSectionNode(smooth::String const&) const
S::XML::Node *S::Configuration::FindSectionNode(const String &section) const
{
	XML::Node	*configuration = FindConfigurationNode(activeConfig);

	if (configuration == NIL) return NIL;

	for (Int i = 0; i < configuration->GetNOfNodes(); i++)
	{
		XML::Node	*node = configuration->GetNthNode(i);
		XML::Attribute	*attributeName = node->GetAttributeByName(AttributeNameID);

		if (attributeName != NIL && attributeName->GetContent() == section) return node;
	}

	return NIL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, %rsi
addq $0x18, %rsi
callq 0x5be60
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0xefe28
movq $0x0, -0x8(%rbp)
jmp 0xefeac
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
movl %eax, -0x3c(%rbp)
movq -0x20(%rbp), %rdi
callq 0x5a380
movl %eax, %ecx
movl -0x3c(%rbp), %eax
cmpl %ecx, %eax
jge 0xefea4
movq -0x20(%rbp), %rdi
movl -0x24(%rbp), %esi
callq 0x5c710
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
leaq 0x11cb96(%rip), %rsi    # 0x20c9f8
callq 0x5d940
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0xefe97
movq -0x38(%rbp), %rdi
callq 0x598c0
movq %rax, %rdi
movq -0x18(%rbp), %rsi
callq 0x59ac0
testb $0x1, %al
jne 0xefe8d
jmp 0xefe97
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xefeac
jmp 0xefe99
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0xefe2f
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/config.cpp
// Function: smooth::Configuration::GetStringValue(smooth::String const&, smooth::String const&, smooth::String const&)
S::String S::Configuration::GetStringValue(const String &section, const String &name, const String &defValue)
{
	if (configFile == NIL) return defValue;

	XML::Node	*value = FindValueNode(section, name);

	if (value != NIL)
	{
		return value->GetContent();
	}
	else
	{
		XML::Node	*configuration = FindConfigurationNode(activeConfig);
		XML::Attribute	*attributeInheriting = configuration->GetAttributeByName(AttributeInheritingID);

		if (attributeInheriting != NIL)
		{
			String	 oConfig = activeConfig;

			activeConfig = attributeInheriting->GetContent();

			String	 retVal = GetStringValue(section, name, defValue);

			activeConfig = oConfig;

			return retVal;
		}

		return defValue;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x80(%rbp)
movq %rdi, %rax
movq %rax, -0x78(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x70(%rbp)
cmpq $0x0, 0x30(%rax)
jne 0xeff0b
movq -0x80(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x5b6d0
jmp 0xf003c
movq -0x70(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x5b810
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0xeff41
movq -0x30(%rbp), %rdi
callq 0x5da60
movq -0x80(%rbp), %rdi
movq %rax, %rsi
callq 0x5b6d0
jmp 0xf003c
movq -0x70(%rbp), %rdi
movq %rdi, %rsi
addq $0x18, %rsi
callq 0x5be60
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
leaq 0x11ca80(%rip), %rsi    # 0x20c9e0
callq 0x5d940
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
je 0xf002f
movq -0x70(%rbp), %rsi
addq $0x18, %rsi
leaq -0x58(%rbp), %rdi
callq 0x5b6d0
movq -0x40(%rbp), %rdi
callq 0x598c0
movq %rax, -0x88(%rbp)
jmp 0xeff97
movq -0x88(%rbp), %rsi
movq -0x70(%rbp), %rdi
addq $0x18, %rdi
callq 0x59760
jmp 0xeffad
movq -0x70(%rbp), %rsi
movq -0x80(%rbp), %rdi
movb $0x0, -0x65(%rbp)
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %r8
callq 0x5cae0
jmp 0xeffcc
movq -0x70(%rbp), %rdi
addq $0x18, %rdi
leaq -0x58(%rbp), %rsi
callq 0x59760
jmp 0xeffdf
movb $0x1, -0x65(%rbp)
testb $0x1, -0x65(%rbp)
jne 0xf0019
jmp 0xf0010
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0xf0024
movq -0x80(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
callq 0x5df00
jmp 0xf0024
movq -0x80(%rbp), %rdi
callq 0x5df00
leaq -0x58(%rbp), %rdi
callq 0x5df00
jmp 0xf003c
leaq -0x58(%rbp), %rdi
callq 0x5df00
jmp 0xf0049
movq -0x80(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x5b6d0
movq -0x78(%rbp), %rax
addq $0x90, %rsp
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/config.cpp
// Function: smooth::Configuration::SetStringValue(smooth::String const&, smooth::String const&, smooth::String const&)
S::Int S::Configuration::SetStringValue(const String &section, const String &name, const String &newValue)
{
	if (configFile == NIL) return Error();

	XML::Node	*valueNode = FindValueNode(section, name);

	if (valueNode != NIL)
	{
		valueNode->SetContent(newValue);
	}
	else
	{
		XML::Node	*sectionNode = FindSectionNode(section);

		if (sectionNode == NIL)
		{
			sectionNode = FindConfigurationNode(activeConfig)->AddNode(NodeSectionID);
			sectionNode->SetAttribute(AttributeNameID, section);
		}

		valueNode = sectionNode->AddNode(NodeValueID, newValue);
		valueNode->SetAttribute(AttributeNameID, name);
	}

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x88(%rbp)
cmpq $0x0, 0x30(%rax)
jne 0xf00e7
leaq -0x38(%rbp), %rdi
movq %rdi, -0x98(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0x98(%rbp), %rdi
callq 0x59680
movl %eax, -0x8c(%rbp)
jmp 0xf00b6
movl -0x8c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x5b5b0
jmp 0xf0245
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x5b5b0
jmp 0xf0251
movq -0x88(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x5b810
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0xf0118
movq -0x50(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x59ab0
jmp 0xf01f6
movq -0x88(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5b6e0
movq %rax, -0x58(%rbp)
cmpq $0x0, -0x58(%rbp)
jne 0xf01ca
movq -0x88(%rbp), %rdi
movq %rdi, %rsi
addq $0x18, %rsi
callq 0x5be60
movq %rax, -0xb0(%rbp)
leaq -0x70(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
xorl %esi, %esi
callq 0x5da90
movq -0xb0(%rbp), %rdi
movq -0xa8(%rbp), %rdx
leaq 0x11c838(%rip), %rsi    # 0x20c9b0
callq 0x599e0
movq %rax, -0xa0(%rbp)
jmp 0xf0186
movq -0xa0(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x5df00
movq -0x58(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x11c84f(%rip), %rsi    # 0x20c9f8
callq 0x5cb70
jmp 0xf01ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x5df00
jmp 0xf0251
movq -0x58(%rbp), %rdi
movq -0x28(%rbp), %rdx
leaq 0x11c7ef(%rip), %rsi    # 0x20c9c8
callq 0x599e0
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x11c807(%rip), %rsi    # 0x20c9f8
callq 0x5cb70
leaq -0x80(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x5ca80
movq -0xc0(%rbp), %rdi
callq 0x59680
movl %eax, -0xb4(%rbp)
jmp 0xf021a
movl -0xb4(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x5a410
jmp 0xf0245
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x5a410
jmp 0xf0251
movl -0x4(%rbp), %eax
addq $0xc0, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x5b6b0
nopw (%rax,%rax)