LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: Stygain[P]bandwidth-monitor/src/graph.cpp
// Function: Graph::Update()
void Graph::Update()
{
	// Update the data
	for (size_t i = 0; i < this->gDataCols.size(); i++)
	{
		gDataCols[i]->Update();
	}

	this->Print();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq $0x0, -0x10(%rbp)
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
addq $0x60, %rdi
callq 0xf370
movq %rax, %rcx
movq -0x20(%rbp), %rax
cmpq %rcx, %rax
jae 0xef44
movq -0x18(%rbp), %rdi
addq $0x60, %rdi
movq -0x10(%rbp), %rsi
callq 0xf540
movq (%rax), %rdi
callq 0xdab0
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0xeefc
movq -0x18(%rbp), %rdi
callq 0xef60
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: Stygain[P]bandwidth-monitor/src/graph.cpp
// Function: Graph::Print()
void Graph::Print()
{
	// Scan the data columns for the maximum
	int max = 0;
	for (size_t i = 0; i < this->gDataCols.size(); i++)
	{
		int tempValue = gDataCols[i]->GetValue();
		if (tempValue > max)
		{
			max = tempValue;
		}
	}

	wborder(this->win, 0, 0, 0, 0, 0, 0, 0, 0);
	wrefresh(this->win);

	// Print the graph contents
	for (size_t i = 0; i < this->gRows.size(); i++)
	{
		gRows[i]->Update(&(this->gDataCols), max);
	}

	this->graphMaxItem->UpdateMaxItem(max);

	this->graphTitle->Update();

	wrefresh(this->win);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movl $0x0, -0xc(%rbp)
movq $0x0, -0x18(%rbp)
movq -0x30(%rbp), %rdi
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
addq $0x60, %rdi
callq 0xf370
movq %rax, %rcx
movq -0x38(%rbp), %rax
cmpq %rcx, %rax
jae 0xefde
movq -0x30(%rbp), %rdi
addq $0x60, %rdi
movq -0x18(%rbp), %rsi
callq 0xf540
movq (%rax), %rdi
callq 0xdf90
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0xc(%rbp), %eax
jle 0xefce
movl -0x1c(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0xefd0
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0xef83
movq -0x30(%rbp), %rax
movq (%rax), %rdi
xorl %r9d, %r9d
movl %r9d, %esi
movl %r9d, %edx
movl %r9d, %ecx
movl %r9d, %r8d
movl $0x0, (%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
callq 0x31e0
movq -0x30(%rbp), %rax
movq (%rax), %rdi
callq 0x3390
movq $0x0, -0x28(%rbp)
movq -0x30(%rbp), %rdi
movq -0x28(%rbp), %rax
movq %rax, -0x40(%rbp)
addq $0x48, %rdi
callq 0xfa30
movq %rax, %rcx
movq -0x40(%rbp), %rax
cmpq %rcx, %rax
jae 0xf077
movq -0x30(%rbp), %rdi
addq $0x48, %rdi
movq -0x28(%rbp), %rsi
callq 0xfa50
movq -0x30(%rbp), %rsi
movq (%rax), %rdi
addq $0x60, %rsi
movl -0xc(%rbp), %edx
callq 0xe0a0
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0xf024
movq -0x30(%rbp), %rax
movq 0x40(%rax), %rdi
movl -0xc(%rbp), %esi
callq 0xe5d0
movq -0x30(%rbp), %rax
movq 0x38(%rax), %rdi
callq 0xe2b0
movq -0x30(%rbp), %rax
movq (%rax), %rdi
callq 0x3390
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: Stygain[P]bandwidth-monitor/src/graph.cpp
// Function: Graph::Clear()
void Graph::Clear()
{
	for (size_t i = 0; i < this->gDataCols.size(); i++)
	{
		gDataCols[i]->Clear();
	}

	for (size_t i = 0; i < this->gRows.size(); i++)
	{
		gRows[i]->Update(&(this->gDataCols), 2);
	}

	this->graphMaxItem->UpdateMaxItem(0);

	wrefresh(this->win);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq $0x0, -0x10(%rbp)
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
addq $0x60, %rdi
callq 0xf370
movq %rax, %rcx
movq -0x28(%rbp), %rax
cmpq %rcx, %rax
jae 0xf114
movq -0x20(%rbp), %rdi
addq $0x60, %rdi
movq -0x10(%rbp), %rsi
callq 0xf540
movq (%rax), %rdi
callq 0xdfd0
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0xf0cc
movq $0x0, -0x18(%rbp)
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
addq $0x48, %rdi
callq 0xfa30
movq %rax, %rcx
movq -0x30(%rbp), %rax
cmpq %rcx, %rax
jae 0xf171
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movq -0x18(%rbp), %rsi
callq 0xfa50
movq -0x20(%rbp), %rsi
movq (%rax), %rdi
addq $0x60, %rsi
movl $0x2, %edx
callq 0xe0a0
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0xf11c
movq -0x20(%rbp), %rax
movq 0x40(%rax), %rdi
xorl %esi, %esi
callq 0xe5d0
movq -0x20(%rbp), %rax
movq (%rax), %rdi
callq 0x3390
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: Stygain[P]bandwidth-monitor/src/graph.cpp
// Function: Graph::UpdateGraphInterface(Interface*)
void Graph::UpdateGraphInterface(Interface *interface)
{
	this->interface = interface;

	this->graphTitle->UpdateGraphInterface(interface);

	for (size_t i = 0; i < this->gDataCols.size(); i++)
	{
		gDataCols[i]->UpdateGraphInterface(interface);
	}

	this->Clear();
	this->Update();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rcx
movq %rcx, 0x28(%rax)
movq 0x38(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0xe420
movq $0x0, -0x18(%rbp)
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
addq $0x60, %rdi
callq 0xf370
movq %rax, %rcx
movq -0x28(%rbp), %rax
cmpq %rcx, %rax
jae 0xf221
movq -0x20(%rbp), %rdi
addq $0x60, %rdi
movq -0x18(%rbp), %rsi
callq 0xf540
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0xdfa0
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0xf1d5
movq -0x20(%rbp), %rdi
callq 0xf0b0
movq -0x20(%rbp), %rdi
callq 0xeee0
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: Stygain[P]bandwidth-monitor/src/interface.cpp
// Function: InterfaceHeader::PrintTabTitle(int, char*)
void InterfaceHeader::PrintTabTitle(int index, char *text)
{
	if (this->activeTab == index)
	{
		wattron(this->win, COLOR_PAIR(HEADER_ACTIVE_COLOR));
		wprintw(this->win, "%s",
				text);
		wattroff(this->win, COLOR_PAIR(HEADER_ACTIVE_COLOR));
		wattron(this->win, COLOR_PAIR(HEADER_COLOR));
	}
	else if (this->sortingHeader == index)
	{
		wattron(this->win, COLOR_PAIR(HEADER_SORT_COLOR));
		wprintw(this->win, "%s",
				text);
		wattroff(this->win, COLOR_PAIR(HEADER_SORT_COLOR));
		wattron(this->win, COLOR_PAIR(HEADER_COLOR));
	}
	else
	{
		wprintw(this->win, "%s",
				text);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movl 0xc(%rax), %eax
cmpl -0xc(%rbp), %eax
jne 0x121a0
movq -0x20(%rbp), %rax
movq (%rax), %rdi
movl $0x400, %esi            # imm = 0x400
xorl %eax, %eax
movl %eax, %edx
callq 0x31a0
movq -0x20(%rbp), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rdx
leaq 0x4537(%rip), %rsi      # 0x166a1
movb $0x0, %al
callq 0x3070
movq -0x20(%rbp), %rax
movq (%rax), %rdi
movl $0x400, %esi            # imm = 0x400
xorl %eax, %eax
movl %eax, %edx
callq 0x3420
movq -0x20(%rbp), %rax
movq (%rax), %rdi
movl $0x100, %esi            # imm = 0x100
xorl %eax, %eax
movl %eax, %edx
callq 0x31a0
jmp 0x12221
movq -0x20(%rbp), %rax
movl 0x8(%rax), %eax
cmpl -0xc(%rbp), %eax
jne 0x12206
movq -0x20(%rbp), %rax
movq (%rax), %rdi
movl $0x500, %esi            # imm = 0x500
xorl %eax, %eax
movl %eax, %edx
callq 0x31a0
movq -0x20(%rbp), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rdx
leaq 0x44ce(%rip), %rsi      # 0x166a1
movb $0x0, %al
callq 0x3070
movq -0x20(%rbp), %rax
movq (%rax), %rdi
movl $0x500, %esi            # imm = 0x500
xorl %eax, %eax
movl %eax, %edx
callq 0x3420
movq -0x20(%rbp), %rax
movq (%rax), %rdi
movl $0x100, %esi            # imm = 0x100
xorl %eax, %eax
movl %eax, %edx
callq 0x31a0
jmp 0x1221f
movq -0x20(%rbp), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rdx
leaq 0x4489(%rip), %rsi      # 0x166a1
movb $0x0, %al
callq 0x3070
jmp 0x12221
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: Stygain[P]bandwidth-monitor/src/interface.cpp
// Function: InterfaceHeader::Print()
void InterfaceHeader::Print()
{
	werase(this->win);
	wattron(this->win, COLOR_PAIR(HEADER_COLOR));
	if (this->activeTab == 0)
	{
		wattron(this->win, COLOR_PAIR(HEADER_ACTIVE_COLOR));
		mvwprintw(this->win, 0, 1, "%*s",
				this->longest, "Interface Name");
		wattroff(this->win, COLOR_PAIR(HEADER_ACTIVE_COLOR));
		wattron(this->win, COLOR_PAIR(HEADER_COLOR));
	}
	else
	{
		mvwprintw(this->win, 0, 1, "%*s",
				this->longest, "Interface Name");
	}
	wprintw(this->win, " | ");
	this->PrintTabTitle(1, " Rcvd Bytes  ");
	wprintw(this->win, " | ");
	this->PrintTabTitle(2, "Rcvd Pkts");
	wprintw(this->win, " | ");
	this->PrintTabTitle(3, " Sent Bytes  ");
	wprintw(this->win, " | ");
	this->PrintTabTitle(4, "Sent Pkts");
	wattroff(this->win, COLOR_PAIR(HEADER_COLOR));
	wrefresh(this->win);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq (%rax), %rdi
callq 0x3060
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movl $0x100, %esi            # imm = 0x100
xorl %eax, %eax
movl %eax, %edx
callq 0x31a0
movq -0x10(%rbp), %rax
cmpl $0x0, 0xc(%rax)
jne 0x122d3
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movl $0x400, %esi            # imm = 0x400
xorl %eax, %eax
movl %eax, %edx
callq 0x31a0
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movl 0x14(%rax), %r8d
xorl %esi, %esi
movl $0x1, %edx
leaq 0x42fa(%rip), %rcx      # 0x16593
leaq 0x42f7(%rip), %r9       # 0x16597
movb $0x0, %al
callq 0x30d0
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movl $0x400, %esi            # imm = 0x400
xorl %eax, %eax
movl %eax, %edx
callq 0x3420
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movl $0x100, %esi            # imm = 0x100
xorl %eax, %eax
movl %eax, %edx
callq 0x31a0
jmp 0x122fa
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movl 0x14(%rax), %r8d
xorl %esi, %esi
movl $0x1, %edx
leaq 0x42a7(%rip), %rcx      # 0x16593
leaq 0x42a4(%rip), %r9       # 0x16597
movb $0x0, %al
callq 0x30d0
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x3eeb(%rip), %rsi      # 0x161f3
movb $0x0, %al
callq 0x3070
movq -0x10(%rbp), %rdi
movl $0x1, %esi
leaq 0x4287(%rip), %rdx      # 0x165a6
callq 0x12120
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x3ec1(%rip), %rsi      # 0x161f3
movb $0x0, %al
callq 0x3070
movq -0x10(%rbp), %rdi
movl $0x2, %esi
leaq 0x426b(%rip), %rdx      # 0x165b4
callq 0x12120
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x3e97(%rip), %rsi      # 0x161f3
movb $0x0, %al
callq 0x3070
movq -0x10(%rbp), %rdi
movl $0x3, %esi
leaq 0x424b(%rip), %rdx      # 0x165be
callq 0x12120
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x3e6d(%rip), %rsi      # 0x161f3
movb $0x0, %al
callq 0x3070
movq -0x10(%rbp), %rdi
movl $0x4, %esi
leaq 0x422f(%rip), %rdx      # 0x165cc
callq 0x12120
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movl $0x100, %esi            # imm = 0x100
xorl %eax, %eax
movl %eax, %edx
callq 0x3420
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x3390
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: Stygain[P]bandwidth-monitor/src/interface.cpp
// Function: InterfaceRow::InterfaceRow(int, int, int, int)
InterfaceRow::InterfaceRow(int placementX, int placementY, int width, int height)
{
	this->placementX = placementX;
	this->placementY = placementY;
	this->width = width;
	this->height = height;

	this->win = newwin(3, this->width, this->placementY, this->placementX);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
movl %r8d, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movl -0xc(%rbp), %ecx
movl %ecx, 0x8(%rax)
movl -0x10(%rbp), %ecx
movl %ecx, 0xc(%rax)
movl -0x14(%rbp), %ecx
movl %ecx, 0x10(%rax)
movl -0x18(%rbp), %ecx
movl %ecx, 0x14(%rax)
movl 0x10(%rax), %esi
movl 0xc(%rax), %edx
movl 0x8(%rax), %ecx
movl $0x3, %edi
callq 0x3340
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: Stygain[P]bandwidth-monitor/src/interface.cpp
// Function: Interface::Interface(char*, int, bool)
Interface::Interface(char *name, int longest, bool wireless)
{
	this->longest = longest;
	this->wireless = wireless;
	this->name = new char[strlen(name) + 1];
	strcpy(this->name, name);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %cl, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
andb $0x1, %al
movb %al, -0x15(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq $0x0, 0x10(%rax)
movq $0x0, 0x18(%rax)
movq $0x0, 0x20(%rax)
movq $0x0, 0x30(%rax)
movq $0x0, 0x38(%rax)
movq $0x0, 0x40(%rax)
movq $0x0, 0x50(%rax)
movq $0x0, 0x58(%rax)
movq $0x0, 0x68(%rax)
movq $0x0, 0x70(%rax)
movl $0x0, 0x9c(%rax)
movl $0x0, 0xa0(%rax)
movq $0x0, 0xa8(%rax)
movb $0x0, 0xb0(%rax)
movb $0x0, 0xb1(%rax)
movl -0x14(%rbp), %ecx
movl %ecx, 0xb4(%rax)
movb -0x15(%rbp), %cl
andb $0x1, %cl
movb %cl, 0x8c(%rax)
movq -0x10(%rbp), %rdi
callq 0x3190
movq %rax, %rdi
addq $0x1, %rdi
callq 0x3030
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x32d0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: Stygain[P]bandwidth-monitor/src/interface.cpp
// Function: Interface::Zero()
void Interface::Zero()
{
	r_bytesZeroed = r_bytes;
	t_bytesZeroed = t_bytes;
	r_packetsZeroed = r_packets;
	t_packetsZeroed = t_packets;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rcx
movq %rcx, 0x20(%rax)
movq 0x28(%rax), %rcx
movq %rcx, 0x40(%rax)
movq 0x48(%rax), %rcx
movq %rcx, 0x58(%rax)
movq 0x60(%rax), %rcx
movq %rcx, 0x70(%rax)
popq %rbp
retq
nop
// File: Stygain[P]bandwidth-monitor/src/interface.cpp
// Function: Interface::UnZero()
void Interface::UnZero()
{
	r_bytesZeroed = 0;
	t_bytesZeroed = 0;
	r_packetsZeroed = 0;
	t_packetsZeroed = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq $0x0, 0x20(%rax)
movq $0x0, 0x40(%rax)
movq $0x0, 0x58(%rax)
movq $0x0, 0x70(%rax)
popq %rbp
retq
nop
// File: Stygain[P]bandwidth-monitor/src/interface.cpp
// Function: InterfaceDetailWindow::InterfaceDetailWindow(int, int, int, int, Interface*)
InterfaceDetailWindow::InterfaceDetailWindow(int placementX, int placementY, int width, int height, Interface *interface)
{
	this->placementX = placementX;
	this->placementY = placementY;
	this->width = width;
	this->height = height;

	this->interface = interface;

	this->win = newwin(this->height, this->width, this->placementY, this->placementX);

	this->Update();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
movl %r8d, -0x18(%rbp)
movq %r9, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movl $0xffffffff, 0x20(%rax) # imm = 0xFFFFFFFF
movl -0xc(%rbp), %ecx
movl %ecx, 0x8(%rax)
movl -0x10(%rbp), %ecx
movl %ecx, 0xc(%rax)
movl -0x14(%rbp), %ecx
movl %ecx, 0x10(%rax)
movl -0x18(%rbp), %ecx
movl %ecx, 0x14(%rax)
movq -0x20(%rbp), %rcx
movq %rcx, 0x18(%rax)
movl 0x14(%rax), %edi
movl 0x10(%rax), %esi
movl 0xc(%rax), %edx
movl 0x8(%rax), %ecx
callq 0x3340
movq -0x28(%rbp), %rdi
movq %rax, (%rdi)
callq 0x13150
addq $0x30, %rsp
popq %rbp
retq
nop
// File: Stygain[P]bandwidth-monitor/src/interface.cpp
// Function: getMatchingInterface(char*)
Interface *getMatchingInterface(char *ifname)
{
	extern std::vector<Interface *> interfaces;

	for (size_t i = 0; i < interfaces.size(); ++i)
	{
		if (strcmp(interfaces[i]->name, ifname) == 0)
		{
			return interfaces[i];
		}
	}
	return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq 0xadcd(%rip), %rdi      # 0x1e370
callq 0x9c70
movq %rax, %rcx
movq -0x20(%rbp), %rax
cmpq %rcx, %rax
jae 0x13601
movq -0x18(%rbp), %rsi
leaq 0xadb1(%rip), %rdi      # 0x1e370
callq 0x9c90
movq (%rax), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x3460
cmpl $0x0, %eax
jne 0x135f1
movq -0x18(%rbp), %rsi
leaq 0xad8d(%rip), %rdi      # 0x1e370
callq 0x9c90
movq (%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x13609
jmp 0x135f3
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x13594
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: Stygain[P]bandwidth-monitor/src/utils.cpp
// Function: fileExists(char const*)
bool fileExists(const char *fileName)
{
	if (FILE *file = fopen(fileName, "r"))
	{
		fclose(file);
		return true;
	} else {
		return false;
	}   
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x3127(%rip), %rsi      # 0x1688e
callq 0x33e0
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x13786
movq -0x18(%rbp), %rdi
callq 0x3310
movb $0x1, -0x1(%rbp)
jmp 0x1378a
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: Stygain[P]bandwidth-monitor/src/settings.cpp
// Function: Settings::Settings()
Settings::Settings()
{
	char *homedir;
	if ((homedir = getenv("HOME")) == NULL) {
		homedir = getpwuid(getuid())->pw_dir;
	}
	const char *filename = "/.bwmon";
	strcat(homedir, filename);
	strcpy(this->settingsFileName, homedir);

	this->settingsFileExists = fileExists(this->settingsFileName);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x30(%rbp)
xorl %esi, %esi
callq 0x3180
movq -0x30(%rbp), %rax
movb $0x0, 0x28(%rax)
leaq 0x2e91(%rip), %rdi      # 0x1684b
callq 0x3410
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
jne 0x13a00
callq 0x31b0
movl %eax, %edi
callq 0x33c0
movq %rax, -0x38(%rbp)
jmp 0x139db
movq -0x38(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x13a00
movq -0x30(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
callq 0x31d0
jmp 0x13a4e
leaq 0x2e49(%rip), %rax      # 0x16850
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x35e0
movq -0x30(%rbp), %rdi
addq $0x29, %rdi
movq %rdi, -0x48(%rbp)
movq -0x10(%rbp), %rsi
callq 0x32d0
movq -0x48(%rbp), %rdi
callq 0x13750
movb %al, -0x39(%rbp)
jmp 0x13a3b
movq -0x30(%rbp), %rax
movb -0x39(%rbp), %cl
andb $0x1, %cl
movb %cl, 0x28(%rax)
addq $0x50, %rsp
popq %rbp
retq
movq -0x18(%rbp), %rdi
callq 0x35c0
nopw (%rax,%rax)
// File: Stygain[P]bandwidth-monitor/src/settings.cpp
// Function: Settings::SaveSettings()
void Settings::SaveSettings()
{
	extern Logger *logger;

	std::ofstream settingsFile(this->settingsFileName);

	Json::StyledWriter writer;
	logger->Log(writer.write(this->root).c_str());
	settingsFile << writer.write(this->root).c_str();
	settingsFile.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2e0, %rsp            # imm = 0x2E0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rsi
movq %rsi, -0x2d0(%rbp)
addq $0x29, %rsi
leaq -0x208(%rbp), %rdi
movl $0x10, %edx
callq 0x3370
leaq -0x278(%rbp), %rdi
callq 0x3080
jmp 0x13f2d
movq -0x2d0(%rbp), %rdx
leaq 0xa48d(%rip), %rax      # 0x1e3c8
movq (%rax), %rax
movq %rax, -0x2d8(%rbp)
leaq -0x2a8(%rbp), %rdi
leaq -0x278(%rbp), %rsi
callq 0x3430
jmp 0x13f5a
leaq -0x2a8(%rbp), %rdi
callq 0x3160
movq -0x2d8(%rbp), %rdi
movq %rax, %rsi
callq 0x13910
jmp 0x13f77
leaq -0x2a8(%rbp), %rdi
callq 0x3250
movq -0x2d0(%rbp), %rdx
leaq -0x2c8(%rbp), %rdi
leaq -0x278(%rbp), %rsi
callq 0x3430
jmp 0x13f9f
leaq -0x2c8(%rbp), %rdi
callq 0x3160
movq %rax, %rsi
leaq -0x208(%rbp), %rdi
callq 0x3300
jmp 0x13fbc
leaq -0x2c8(%rbp), %rdi
callq 0x3250
leaq -0x208(%rbp), %rdi
callq 0x3490
jmp 0x13fd6
leaq -0x278(%rbp), %rdi
callq 0x14090
leaq -0x208(%rbp), %rdi
callq 0x34b0
addq $0x2e0, %rsp            # imm = 0x2E0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x280(%rbp)
movl %eax, -0x284(%rbp)
jmp 0x14069
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x280(%rbp)
movl %eax, -0x284(%rbp)
jmp 0x1405d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x280(%rbp)
movl %eax, -0x284(%rbp)
leaq -0x2a8(%rbp), %rdi
callq 0x3250
jmp 0x1405d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x280(%rbp)
movl %eax, -0x284(%rbp)
leaq -0x2c8(%rbp), %rdi
callq 0x3250
leaq -0x278(%rbp), %rdi
callq 0x14090
leaq -0x208(%rbp), %rdi
callq 0x34b0
movq -0x280(%rbp), %rdi
callq 0x35c0
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)
// File: Stygain[P]bandwidth-monitor/src/selectionWindow.cpp
// Function: SelectionWindow::SelectionWindow(GraphType, int, int, int, int)
SelectionWindow::SelectionWindow(GraphType graphType, int placementX, int placementY, int width, int height)
{
	this->graphType = graphType;
	this->placementX = placementX;
	this->placementY = placementY;
	this->width = width;
	this->height = height;

	this->win = newwin(this->height, this->width, this->placementY, this->placementX);

	this->Update();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
movl %r8d, -0x18(%rbp)
movl %r9d, -0x1c(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movl $0xffffffff, 0x1c(%rax) # imm = 0xFFFFFFFF
movl -0xc(%rbp), %ecx
movl %ecx, 0x8(%rax)
movl -0x10(%rbp), %ecx
movl %ecx, 0xc(%rax)
movl -0x14(%rbp), %ecx
movl %ecx, 0x10(%rax)
movl -0x18(%rbp), %ecx
movl %ecx, 0x14(%rax)
movl -0x1c(%rbp), %ecx
movl %ecx, 0x18(%rax)
movl 0x18(%rax), %edi
movl 0x14(%rax), %esi
movl 0x10(%rax), %edx
movl 0xc(%rax), %ecx
callq 0x3340
movq -0x28(%rbp), %rdi
movq %rax, (%rdi)
callq 0x143c0
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: Stygain[P]bandwidth-monitor/src/selectionWindow.cpp
// Function: SelectionWindow::Update()
void SelectionWindow::Update()
{
	werase(this->win);
	wborder(this->win, 0, 0, 0, 0, 0, 0, 0, 0);

	char graphTypeString[graphTypeStringSize];
	for (int i = 0; i < GT_END; i++)
	{
		getGraphTypeString((GraphType)i, graphTypeString);
		if (i == activeItem)
		{
			wattron(this->win, COLOR_PAIR(HEADER_ACTIVE_COLOR));
		}
		mvwprintw(this->win, i + 1, 1, "%s", graphTypeString);
		if (i == activeItem)
		{
			wattroff(this->win, COLOR_PAIR(HEADER_ACTIVE_COLOR));
		}
	}

	wrefresh(this->win);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movq (%rax), %rdi
callq 0x3060
movq -0x30(%rbp), %rax
movq (%rax), %rdi
xorl %r9d, %r9d
movl %r9d, %esi
movl %r9d, %edx
movl %r9d, %ecx
movl %r9d, %r8d
movl $0x0, (%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
callq 0x31e0
movl $0x0, -0x24(%rbp)
cmpl $0x4, -0x24(%rbp)
jge 0x144a1
movl -0x24(%rbp), %edi
leaq -0x20(%rbp), %rsi
callq 0x136f0
movq -0x30(%rbp), %rcx
movl -0x24(%rbp), %eax
cmpl 0x1c(%rcx), %eax
jne 0x1444c
movq -0x30(%rbp), %rax
movq (%rax), %rdi
movl $0x400, %esi            # imm = 0x400
xorl %eax, %eax
movl %eax, %edx
callq 0x31a0
movq -0x30(%rbp), %rax
movq (%rax), %rdi
movl -0x24(%rbp), %esi
addl $0x1, %esi
leaq -0x20(%rbp), %r8
movl $0x1, %edx
leaq 0x2238(%rip), %rcx      # 0x166a1
movb $0x0, %al
callq 0x30d0
movq -0x30(%rbp), %rcx
movl -0x24(%rbp), %eax
cmpl 0x1c(%rcx), %eax
jne 0x14491
movq -0x30(%rbp), %rax
movq (%rax), %rdi
movl $0x400, %esi            # imm = 0x400
xorl %eax, %eax
movl %eax, %edx
callq 0x3420
jmp 0x14493
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x14415
movq -0x30(%rbp), %rax
movq (%rax), %rdi
callq 0x3390
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: Stygain[P]bandwidth-monitor/src/selectionWindow.cpp
// Function: SelectionWindow::AutoResize()
void SelectionWindow::AutoResize()
{
	this->placementX = this->graph->GetPlacementX();
	this->placementY = this->graph->GetPlacementY() + 1;
	this->width = graphTypeStringSize + 1;
	this->height = (int)GT_END + 2;

	wresize(this->win, this->height, this->width);
	mvwin(this->win, this->placementY, this->placementX);

	this->Update();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq 0x20(%rax), %rdi
callq 0xf290
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0xc(%rax)
movq 0x20(%rax), %rdi
callq 0xf2b0
movl %eax, %ecx
movq -0x10(%rbp), %rax
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movl $0x12, 0x14(%rax)
movl $0x6, 0x18(%rax)
movq (%rax), %rdi
movl 0x18(%rax), %esi
movl 0x14(%rax), %edx
callq 0x3220
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movl 0x10(%rax), %esi
movl 0xc(%rax), %edx
callq 0x3170
movq -0x10(%rbp), %rdi
callq 0x143c0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: Stygain[P]bandwidth-monitor/src/footer.cpp
// Function: Footer::Footer(int, int, int, int)
Footer::Footer(int placementX, int placementY, int width, int height)
{
	this->placementX = placementX;
	this->placementY = placementY;
	this->width = width;
	this->height = height;

	this->win = newwin(this->height, this->width, this->placementY, this->placementX);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
movl %r8d, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movl $0x0, 0x8(%rax)
movl -0xc(%rbp), %ecx
movl %ecx, 0xc(%rax)
movl -0x10(%rbp), %ecx
movl %ecx, 0x10(%rax)
movl -0x14(%rbp), %ecx
movl %ecx, 0x14(%rax)
movl -0x18(%rbp), %ecx
movl %ecx, 0x18(%rax)
movl 0x18(%rax), %edi
movl 0x14(%rax), %esi
movl 0x10(%rax), %edx
movl 0xc(%rax), %ecx
callq 0x3340
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: Stygain[P]bandwidth-monitor/src/footer.cpp
// Function: Footer::Resize(int, int, int, int)
void Footer::Resize(int placementX, int placementY, int width, int height)
{
	this->placementX = placementX;
	this->placementY = placementY;
	this->width = width;
	this->height = height;

	wresize(this->win, height, width);
	mvwin(this->win, this->placementY, this->placementX);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
movl %r8d, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movl -0xc(%rbp), %ecx
movl %ecx, 0xc(%rax)
movl -0x10(%rbp), %ecx
movl %ecx, 0x10(%rax)
movl -0x14(%rbp), %ecx
movl %ecx, 0x14(%rax)
movl -0x18(%rbp), %ecx
movl %ecx, 0x18(%rax)
movq (%rax), %rdi
movl -0x18(%rbp), %esi
movl -0x14(%rbp), %edx
callq 0x3220
movq -0x20(%rbp), %rax
movq (%rax), %rdi
movl 0x10(%rax), %esi
movl 0xc(%rax), %edx
callq 0x3170
addq $0x20, %rsp
popq %rbp
retq
nop
// File: Stygain[P]bandwidth-monitor/src/settingsWindow.cpp
// Function: SettingsWindow::SettingsWindow(int, int, int)
SettingsWindow::SettingsWindow(int placementX, int placementY, int width)
{
	this->placementX = placementX;
	this->placementY = placementY;
	this->width = width;
	this->height = SWO_END + settings->root["hiddenInterfaces"].size() + 3;

	this->max = SWO_END + settings->root["hiddenInterfaces"].size() - 1;

	this->win = newwin(this->height, this->width, this->placementY, this->placementX);

	this->Update();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movl $0x0, 0x18(%rax)
movl $0xffffffff, 0x1c(%rax) # imm = 0xFFFFFFFF
movl -0xc(%rbp), %ecx
movl %ecx, 0x8(%rax)
movl -0x10(%rbp), %ecx
movl %ecx, 0xc(%rax)
movl -0x14(%rbp), %ecx
movl %ecx, 0x10(%rax)
leaq 0x99c4(%rip), %rax      # 0x1e3d8
movq (%rax), %rdi
leaq 0x1700(%rip), %rsi      # 0x1611e
callq 0x3140
movq %rax, %rdi
callq 0x3550
movl %eax, %ecx
movq -0x20(%rbp), %rax
addl $0x2, %ecx
addl $0x3, %ecx
movl %ecx, 0x14(%rax)
leaq 0x9997(%rip), %rax      # 0x1e3d8
movq (%rax), %rdi
leaq 0x16d3(%rip), %rsi      # 0x1611e
callq 0x3140
movq %rax, %rdi
callq 0x3550
movl %eax, %ecx
movq -0x20(%rbp), %rax
addl $0x2, %ecx
subl $0x1, %ecx
movl %ecx, 0x18(%rax)
movl 0x14(%rax), %edi
movl 0x10(%rax), %esi
movl 0xc(%rax), %edx
movl 0x8(%rax), %ecx
callq 0x3340
movq -0x20(%rbp), %rdi
movq %rax, (%rdi)
callq 0x14a90
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: Stygain[P]bandwidth-monitor/src/settingsWindow.cpp
// Function: SettingsWindow::Resize(int, int, int)
void SettingsWindow::Resize(int placementX, int placementY, int width)
{
	this->placementX = placementX;
	this->placementY = placementY;
	this->width = width;
	this->height = SWO_END + settings->root["hiddenInterfaces"].size() + 3;

	wresize(this->win, this->height, this->width);
	mvwin(this->win, this->placementY, this->placementX);

	this->Update();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movl -0xc(%rbp), %ecx
movl %ecx, 0x8(%rax)
movl -0x10(%rbp), %ecx
movl %ecx, 0xc(%rax)
movl -0x14(%rbp), %ecx
movl %ecx, 0x10(%rax)
leaq 0x9582(%rip), %rax      # 0x1e3d8
movq (%rax), %rdi
leaq 0x12be(%rip), %rsi      # 0x1611e
callq 0x3140
movq %rax, %rdi
callq 0x3550
movl %eax, %ecx
movq -0x20(%rbp), %rax
addl $0x2, %ecx
addl $0x3, %ecx
movl %ecx, 0x14(%rax)
movq (%rax), %rdi
movl 0x14(%rax), %esi
movl 0x10(%rax), %edx
callq 0x3220
movq -0x20(%rbp), %rax
movq (%rax), %rdi
movl 0xc(%rax), %esi
movl 0x8(%rax), %edx
callq 0x3170
movq -0x20(%rbp), %rdi
callq 0x14a90
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: porzell[P]PTest/examples/with_test_fixture.cpp
// Function: main
int main() {
    // Pick an individual test to run.
    bool success = PTest::PTestRegistry::Get().RunTest("MyTestFixture.FailTest");
    // Or run them all!
    return PTest::PTestRegistry::Get().RunAllTests();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl $0x0, -0x4(%rbp)
callq 0x29b0
movq %rax, -0x50(%rbp)
leaq -0x29(%rbp), %rdi
movq %rdi, -0x48(%rbp)
callq 0x2240
movq -0x48(%rbp), %rdx
leaq 0x5879(%rip), %rsi      # 0x8099
leaq -0x28(%rbp), %rdi
callq 0x21d0
jmp 0x282b
movq -0x50(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x2de0
movb %al, -0x51(%rbp)
jmp 0x283d
leaq -0x28(%rbp), %rdi
callq 0x2110
leaq -0x29(%rbp), %rdi
callq 0x2180
movb -0x51(%rbp), %al
andb $0x1, %al
movb %al, -0x5(%rbp)
callq 0x29b0
movq %rax, %rdi
callq 0x2ea0
addq $0x60, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x288d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x2110
leaq -0x29(%rbp), %rdi
callq 0x2180
movq -0x38(%rbp), %rdi
callq 0x2230
nop
// File: porzell[P]PTest/examples/../include/ptest.hpp
// Function: PTest::PTestRegistrar::PTestRegistrar(char const*, char const*, PTest::PTestFixture*)
PTestRegistrar(const char* testName, const char* fixtureName, PTestFixture* fixture) {
			SetConsoleColor(PColor::Blue);
			printf("Found test %s.%s...\n", fixtureName, testName);
			SetConsoleColor(PColor::Normal);
			PTestRegistry::Get().AddTest(std::move(PTest(testName, fixtureName, fixture)));
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl $0x2, %edi
callq 0x24d0
movq -0x18(%rbp), %rsi
movq -0x10(%rbp), %rdx
leaq 0x579c(%rip), %rdi      # 0x80b0
xorl %eax, %eax
movl %eax, -0xbc(%rbp)
callq 0x2040
movl -0xbc(%rbp), %edi
callq 0x24d0
callq 0x29b0
movq %rax, -0xb8(%rbp)
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
leaq -0x98(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0x34b0
movq -0xb8(%rbp), %rdi
movq -0xb0(%rbp), %rsi
callq 0x3230
jmp 0x296c
leaq -0x98(%rbp), %rdi
callq 0x35f0
addq $0xc0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x35f0
movq -0xa0(%rbp), %rdi
callq 0x2230
nopl (%rax,%rax)
// File: porzell[P]PTest/examples/../include/ptest.hpp
// Function: PTest::PTestRegistry::RunTest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
bool RunTest(std::string testName) {
			auto it = testMap_.find(testName);
			if (it == testMap_.end()) {
				SetConsoleColor(PColor::Red);
				printf("[TEST \"%s\" NOT FOUND!]\n", testName.c_str());
				SetConsoleColor(PColor::Normal);
				return false;
			}

			currentTest_ = &it->second;

			return it->second.Run();
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rsi, -0x38(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x30(%rbp)
callq 0x3780
movq -0x30(%rbp), %rdi
movq %rax, -0x20(%rbp)
callq 0x37b0
movq %rax, -0x28(%rbp)
leaq -0x20(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x75f0
testb $0x1, %al
jne 0x2e25
jmp 0x2e56
movl $0x3, %edi
callq 0x24d0
movq -0x38(%rbp), %rdi
callq 0x20a0
movq %rax, %rsi
leaq 0x53cc(%rip), %rdi      # 0x820e
movb $0x0, %al
callq 0x2040
xorl %edi, %edi
callq 0x24d0
movb $0x0, -0x1(%rbp)
jmp 0x2e88
leaq -0x20(%rbp), %rdi
callq 0x6880
movq %rax, %rcx
movq -0x30(%rbp), %rax
addq $0x20, %rcx
movq %rcx, 0x50(%rax)
leaq -0x20(%rbp), %rdi
callq 0x6880
movq %rax, %rdi
addq $0x20, %rdi
callq 0x7620
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: Danis98[P]PietGen/main.cpp
// Function: main
int main(int argc, char **argv){
	if(argc!=2)
		fatal("Select one input file");
	
	std::ifstream in_file(argv[1]);
	std::stringstream ss;
	ss<<in_file.rdbuf();
	std::string char_stream=ss.str();
	
	lex(char_stream);
	parse();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x430, %rsp            # imm = 0x430
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpl $0x2, -0x8(%rbp)
je 0x2658
leaq -0x31(%rbp), %rdi
movq %rdi, -0x420(%rbp)
callq 0x22f0
movq -0x420(%rbp), %rdx
leaq 0x6a10(%rip), %rsi      # 0x900d
leaq -0x30(%rbp), %rdi
callq 0x2230
jmp 0x2608
leaq -0x30(%rbp), %rdi
callq 0x2570
jmp 0x2613
leaq -0x30(%rbp), %rdi
callq 0x2120
leaq -0x31(%rbp), %rdi
callq 0x2200
jmp 0x2658
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x264a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x2120
leaq -0x31(%rbp), %rdi
callq 0x2200
jmp 0x2798
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
leaq -0x250(%rbp), %rdi
movl $0x8, %edx
callq 0x2300
leaq -0x3d8(%rbp), %rdi
callq 0x2160
jmp 0x267f
leaq -0x3c8(%rbp), %rax
movq %rax, -0x430(%rbp)
leaq -0x250(%rbp), %rdi
callq 0x2280
movq %rax, -0x428(%rbp)
jmp 0x26a2
movq -0x428(%rbp), %rsi
movq -0x430(%rbp), %rdi
callq 0x2070
jmp 0x26b7
leaq -0x3f8(%rbp), %rdi
leaq -0x3d8(%rbp), %rsi
callq 0x21c0
jmp 0x26cc
leaq -0x418(%rbp), %rdi
leaq -0x3f8(%rbp), %rsi
callq 0x20d0
jmp 0x26e1
leaq -0x418(%rbp), %rdi
callq 0x27b0
jmp 0x26ef
leaq -0x418(%rbp), %rdi
callq 0x2120
callq 0x5e00
jmp 0x2702
leaq -0x3f8(%rbp), %rdi
callq 0x2120
leaq -0x3d8(%rbp), %rdi
callq 0x2170
leaq -0x250(%rbp), %rdi
callq 0x2080
movl -0x4(%rbp), %eax
addq $0x430, %rsp            # imm = 0x430
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x278c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x2780
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x2774
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x418(%rbp), %rdi
callq 0x2120
leaq -0x3f8(%rbp), %rdi
callq 0x2120
leaq -0x3d8(%rbp), %rdi
callq 0x2170
leaq -0x250(%rbp), %rdi
callq 0x2080
movq -0x40(%rbp), %rdi
callq 0x22e0
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)
// File: Danis98[P]PietGen/lex.cpp
// Function: lex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void lex(std::string stream){
	token tok="";
	for(int i=0;i<stream.length();i++){
		if(stream[i]==' ' || stream[i]=='\t' || stream[i]=='\n'){
			if(tok.length()) tokens.push_back(tok);
			tok="";
		}
		else
			tok+=stream[i];
	}
	tokens.push_back("$");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x78(%rbp)
movq %rdi, -0x8(%rbp)
leaq -0x29(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x22f0
movq -0x70(%rbp), %rdx
leaq 0x699e(%rip), %rsi      # 0x9179
leaq -0x28(%rbp), %rdi
callq 0x2230
jmp 0x27e6
leaq -0x29(%rbp), %rdi
callq 0x2200
movl $0x0, -0x40(%rbp)
movq -0x78(%rbp), %rdi
movslq -0x40(%rbp), %rax
movq %rax, -0x80(%rbp)
callq 0x2260
movq %rax, %rcx
movq -0x80(%rbp), %rax
cmpq %rcx, %rax
jae 0x2925
movq -0x78(%rbp), %rdi
movslq -0x40(%rbp), %rsi
callq 0x2330
movq %rax, -0x88(%rbp)
jmp 0x282d
movq -0x88(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x20, %eax
je 0x2886
movq -0x78(%rbp), %rdi
movslq -0x40(%rbp), %rsi
callq 0x2330
movq %rax, -0x90(%rbp)
jmp 0x2852
movq -0x90(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x9, %eax
je 0x2886
movq -0x78(%rbp), %rdi
movslq -0x40(%rbp), %rsi
callq 0x2330
movq %rax, -0x98(%rbp)
jmp 0x2877
movq -0x98(%rbp), %rax
movsbl (%rax), %eax
cmpl $0xa, %eax
jne 0x28e8
leaq -0x28(%rbp), %rdi
callq 0x2260
cmpq $0x0, %rax
je 0x28d4
leaq 0xb924(%rip), %rdi      # 0xe1c0
leaq -0x28(%rbp), %rsi
callq 0x2a50
jmp 0x28a7
jmp 0x28d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x29(%rbp), %rdi
callq 0x2200
jmp 0x29b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x29b0
leaq 0x689e(%rip), %rsi      # 0x9179
leaq -0x28(%rbp), %rdi
callq 0x2220
jmp 0x28e6
jmp 0x2915
movq -0x78(%rbp), %rdi
movslq -0x40(%rbp), %rsi
callq 0x2330
movq %rax, -0xa0(%rbp)
jmp 0x28fe
movq -0xa0(%rbp), %rax
movsbl (%rax), %esi
leaq -0x28(%rbp), %rdi
callq 0x2130
jmp 0x2913
jmp 0x2915
jmp 0x2917
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0x27f6
leaq -0x61(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
callq 0x22f0
movq -0xa8(%rbp), %rdx
leaq 0x66e0(%rip), %rsi      # 0x9023
leaq -0x60(%rbp), %rdi
callq 0x2230
jmp 0x294e
leaq 0xb86b(%rip), %rdi      # 0xe1c0
leaq -0x60(%rbp), %rsi
callq 0x2ac0
jmp 0x2960
leaq -0x60(%rbp), %rdi
callq 0x2120
leaq -0x61(%rbp), %rdi
callq 0x2200
leaq -0x28(%rbp), %rdi
callq 0x2120
addq $0xb0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x29a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x2120
leaq -0x61(%rbp), %rdi
callq 0x2200
leaq -0x28(%rbp), %rdi
callq 0x2120
movq -0x38(%rbp), %rdi
callq 0x22e0
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: Danis98[P]PietGen/parse.cpp
// Function: to_num(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
int to_num(token t){
	int n=0;
	for(int i=0;i<t.length();i++){
		if(t[i]<'0' || t[i]>'9') return -1;
		n*=10;
		n+=t[i]-'0';
	}
	return n;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x20(%rbp)
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movl $0x0, -0x18(%rbp)
movq -0x20(%rbp), %rdi
movslq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
callq 0x2260
movq %rax, %rcx
movq -0x28(%rbp), %rax
cmpq %rcx, %rax
jae 0x4719
movq -0x20(%rbp), %rdi
movslq -0x18(%rbp), %rsi
callq 0x2330
movsbl (%rax), %eax
cmpl $0x30, %eax
jl 0x46e5
movq -0x20(%rbp), %rdi
movslq -0x18(%rbp), %rsi
callq 0x2330
movsbl (%rax), %eax
cmpl $0x39, %eax
jle 0x46ee
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x471f
movq -0x20(%rbp), %rdi
imull $0xa, -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movslq -0x18(%rbp), %rsi
callq 0x2330
movsbl (%rax), %eax
subl $0x30, %eax
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x469e
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: Danis98[P]PietGen/parse.cpp
// Function: parse_stmt_list()
void parse_stmt_list(){
	token t=peek();
	if(keyword_map[t]==TOK_EOS
		|| keyword_map[t]==TOK_END) return;
	if(keyword_map[t]==TOK_END 
		|| keyword_map[t]==TOK_INT 
		|| keyword_map[t]==TOK_CHAR) 
		parse_error("Wrong token: "+t);
	else parse_stmt();
	parse_stmt_list();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
leaq -0x20(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x4730
movq -0x60(%rbp), %rsi
leaq 0x865d(%rip), %rdi      # 0xe200
callq 0x6060
movq %rax, -0x58(%rbp)
jmp 0x5bae
movq -0x58(%rbp), %rax
cmpl $0x15, (%rax)
je 0x5bd6
leaq 0x8642(%rip), %rdi      # 0xe200
leaq -0x20(%rbp), %rsi
callq 0x6060
movq %rax, -0x68(%rbp)
jmp 0x5bcd
movq -0x68(%rbp), %rax
cmpl $0x2, (%rax)
jne 0x5bf3
movl $0x1, -0x30(%rbp)
jmp 0x5caa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x5cbc
leaq 0x8606(%rip), %rdi      # 0xe200
leaq -0x20(%rbp), %rsi
callq 0x6060
movq %rax, -0x70(%rbp)
jmp 0x5c09
movq -0x70(%rbp), %rax
cmpl $0x2, (%rax)
je 0x5c50
leaq 0x85e7(%rip), %rdi      # 0xe200
leaq -0x20(%rbp), %rsi
callq 0x6060
movq %rax, -0x78(%rbp)
jmp 0x5c28
movq -0x78(%rbp), %rax
cmpl $0x12, (%rax)
je 0x5c50
leaq 0x85c8(%rip), %rdi      # 0xe200
leaq -0x20(%rbp), %rsi
callq 0x6060
movq %rax, -0x80(%rbp)
jmp 0x5c47
movq -0x80(%rbp), %rax
cmpl $0x13, (%rax)
jne 0x5c93
leaq 0x35fb(%rip), %rsi      # 0x9252
leaq -0x50(%rbp), %rdi
leaq -0x20(%rbp), %rdx
callq 0x61e0
jmp 0x5c66
leaq -0x50(%rbp), %rdi
callq 0x38a0
jmp 0x5c71
leaq -0x50(%rbp), %rdi
callq 0x2120
jmp 0x5c9c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x2120
jmp 0x5cbc
callq 0x52a0
jmp 0x5c9a
jmp 0x5c9c
callq 0x5b80
jmp 0x5ca3
movl $0x0, -0x30(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x2120
addq $0x80, %rsp
popq %rbp
retq
leaq -0x20(%rbp), %rdi
callq 0x2120
movq -0x28(%rbp), %rdi
callq 0x22e0
nop
// File: Danis98[P]PietGen/parse.cpp
// Function: parse_prog()
void parse_prog(){
	token t=peek();
	if(keyword_map[t]==TOK_EOS) return;
	if(keyword_map[t]==TOK_END 
		|| keyword_map[t]==TOK_INT 
		|| keyword_map[t]==TOK_CHAR) 
		parse_error("Wrong token: "+t);
	else parse_stmt_list();
	
	print_ast();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
leaq -0x20(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x4730
movq -0x60(%rbp), %rsi
leaq 0x850d(%rip), %rdi      # 0xe200
callq 0x6060
movq %rax, -0x58(%rbp)
jmp 0x5cfe
movq -0x58(%rbp), %rax
cmpl $0x15, (%rax)
jne 0x5d24
movl $0x1, -0x30(%rbp)
jmp 0x5ddb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x5ded
leaq 0x84d5(%rip), %rdi      # 0xe200
leaq -0x20(%rbp), %rsi
callq 0x6060
movq %rax, -0x68(%rbp)
jmp 0x5d3a
movq -0x68(%rbp), %rax
cmpl $0x2, (%rax)
je 0x5d81
leaq 0x84b6(%rip), %rdi      # 0xe200
leaq -0x20(%rbp), %rsi
callq 0x6060
movq %rax, -0x70(%rbp)
jmp 0x5d59
movq -0x70(%rbp), %rax
cmpl $0x12, (%rax)
je 0x5d81
leaq 0x8497(%rip), %rdi      # 0xe200
leaq -0x20(%rbp), %rsi
callq 0x6060
movq %rax, -0x78(%rbp)
jmp 0x5d78
movq -0x78(%rbp), %rax
cmpl $0x13, (%rax)
jne 0x5dc4
leaq 0x34ca(%rip), %rsi      # 0x9252
leaq -0x50(%rbp), %rdi
leaq -0x20(%rbp), %rdx
callq 0x61e0
jmp 0x5d97
leaq -0x50(%rbp), %rdi
callq 0x38a0
jmp 0x5da2
leaq -0x50(%rbp), %rdi
callq 0x2120
jmp 0x5dcd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x2120
jmp 0x5ded
callq 0x5b80
jmp 0x5dcb
jmp 0x5dcd
callq 0x4ef0
jmp 0x5dd4
movl $0x0, -0x30(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x2120
addq $0x80, %rsp
popq %rbp
retq
leaq -0x20(%rbp), %rdi
callq 0x2120
movq -0x28(%rbp), %rdi
callq 0x22e0
nop
// File: corecodec[P]coremake/coremake.c
// Function: zalloc
void* zalloc(int size)
{
	void* p = malloc(size);
	if (!p)
	{
		printf("out of memory!\r\n");
		exit(1);
	}
	memset(p,0,size);
	return p;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl %edi, -0x4(%rbp)
movslq -0x4(%rbp), %rdi
callq 0x2250
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x2557
leaq 0x13b62(%rip), %rdi     # 0x160a8
movb $0x0, %al
callq 0x2120
movl $0x1, %edi
callq 0x2310
movq -0x10(%rbp), %rdi
movslq -0x4(%rbp), %rdx
xorl %esi, %esi
callq 0x2160
movq -0x10(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
// File: corecodec[P]coremake/coremake.c
// Function: item_remove
void item_remove(item* i)
{
	item** child;
	item* p = i->parent;
	for (child = p->child;child != p->childend;++child)
		if (*child == i)
		{
			memmove(child,child+1,(p->childend-child-1)*sizeof(item*));
			--p->childend;
			break;
		}

	i->parent = NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x20(%rcx), %rax
je 0x269d
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpq -0x8(%rbp), %rax
jne 0x268d
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rdx
movq -0x10(%rbp), %rax
subq %rax, %rdx
sarq $0x3, %rdx
subq $0x1, %rdx
shlq $0x3, %rdx
callq 0x22b0
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rcx
addq $-0x8, %rcx
movq %rcx, 0x20(%rax)
jmp 0x269d
jmp 0x268f
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
jmp 0x2634
movq -0x8(%rbp), %rax
movq $0x0, 0x10(%rax)
addq $0x20, %rsp
popq %rbp
retq
nop
// File: corecodec[P]coremake/coremake.c
// Function: item_add
void item_add(item* p,item* child)
{
	if (!child)
		return;

	if (child->parent)
		item_remove(child);

	if (p->childalloc == p->childend)
	{
		intptr_t count = p->childend - p->child;
		intptr_t alloc = count+16;
		p->child = (item**)realloc(p->child,sizeof(item*)*alloc);
		if (!p->child)
		{
			printf("out of memory!\r\n");
			exit(1);
		}
		p->childend = p->child+count;
		p->childalloc = p->child+alloc;
	}
	*(p->childend++) = child;
	child->parent = p;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x26cc
jmp 0x27bc
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x26e0
movq -0x10(%rbp), %rdi
callq 0x2610
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x20(%rcx), %rax
jne 0x2796
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x18(%rcx), %rcx
subq %rcx, %rax
sarq $0x3, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x20(%rbp), %rsi
shlq $0x3, %rsi
callq 0x2290
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x2760
leaq 0x13959(%rip), %rdi     # 0x160a8
movb $0x0, %al
callq 0x2120
movl $0x1, %edi
callq 0x2310
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rcx
movq -0x18(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rcx
movq -0x20(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x28(%rax)
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rdx
movq 0x20(%rdx), %rax
movq %rax, %rsi
addq $0x8, %rsi
movq %rsi, 0x20(%rdx)
movq %rcx, (%rax)
movq -0x8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: corecodec[P]coremake/coremake.c
// Function: item_find
item* item_find(const item* parent,const char* value)
{
	if (parent)
	{
		item** child;
		for (child = parent->child;child != parent->childend;++child)
			if (stricmp((*child)->value,value)==0)
				return *child;
	}
	return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x2838
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x20(%rcx), %rax
je 0x2836
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x2050
cmpl $0x0, %eax
jne 0x2826
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x2840
jmp 0x2828
movq -0x20(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0x27f3
jmp 0x2838
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: corecodec[P]coremake/coremake.c
// Function: item_get
item* item_get(item* parent,const char* value,int defined)
{
	item* p = item_find(parent,value);
	if (!p)
	{
		p = (item*)zalloc(sizeof(item));
		if (value)
			p->value = strdup(value);
		if (parent)
			item_add(parent,p);
	}
	if (defined)
		p->flags |= FLAG_DEFINED;
	return p;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x27d0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x2939
movl $0x38, %edi
callq 0x2520
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x2923
movq -0x10(%rbp), %rdi
callq 0x2330
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
cmpq $0x0, -0x8(%rbp)
je 0x2937
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x26b0
jmp 0x2939
cmpl $0x0, -0x14(%rbp)
je 0x294c
movq -0x20(%rbp), %rax
movl 0x30(%rax), %ecx
orl $0x20, %ecx
movl %ecx, 0x30(%rax)
movq -0x20(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)