LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: dwburer[P]CSCI-3232-File-System/main.cpp
// Function: main
int main() {

	bool running = true;
	string command;
	
	Directory root("/");
	FileSystem system(&root);

	cout << "Welcome to CSCI Shell Prompt!" << endl;

    while(running) {
    	cout << "prompt@CSCI-3232:" << system.getWorkingDirectory() << "$ ";
    	getline(cin, command);
    	parseCommand(command, system);
    }    
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x150, %rsp            # imm = 0x150
movl $0x0, -0x4(%rbp)
movb $0x1, -0x5(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x3310
leaq -0xc1(%rbp), %rdi
movq %rdi, -0x138(%rbp)
callq 0x3390
movq -0x138(%rbp), %rdx
leaq 0x5124(%rip), %rsi      # 0x9004
leaq -0xc0(%rbp), %rdi
callq 0x4180
jmp 0x3eee
leaq -0xa0(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x4d10
jmp 0x3f03
leaq -0xc0(%rbp), %rdi
callq 0x3140
leaq -0xc1(%rbp), %rdi
callq 0x3290
leaq -0xf0(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x64b0
jmp 0x3f30
movq 0x9099(%rip), %rdi      # 0xcfd0
leaq 0x51bc(%rip), %rsi      # 0x90fa
callq 0x3220
movq %rax, -0x140(%rbp)
jmp 0x3f4c
movq -0x140(%rbp), %rdi
movq 0x9066(%rip), %rsi      # 0xcfc0
callq 0x3270
jmp 0x3f61
jmp 0x3f63
testb $0x1, -0x5(%rbp)
je 0x40bc
movq 0x905c(%rip), %rdi      # 0xcfd0
leaq 0x519d(%rip), %rsi      # 0x9118
callq 0x3220
movq %rax, -0x148(%rbp)
jmp 0x3f89
leaq -0x110(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x7370
jmp 0x3f9e
movq -0x148(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x31f0
movq %rax, -0x150(%rbp)
jmp 0x3fba
movq -0x150(%rbp), %rdi
leaq 0x5162(%rip), %rsi      # 0x912a
callq 0x3220
jmp 0x3fcf
leaq -0x110(%rbp), %rdi
callq 0x3140
movq 0x8ffe(%rip), %rdi      # 0xcfe0
leaq -0x28(%rbp), %rsi
callq 0x3080
jmp 0x3fed
leaq -0x130(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x30f0
jmp 0x3fff
leaq -0x130(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x3630
jmp 0x4014
leaq -0x130(%rbp), %rdi
callq 0x3140
jmp 0x3f63
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd0(%rbp)
movl %eax, -0xd4(%rbp)
jmp 0x4057
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd0(%rbp)
movl %eax, -0xd4(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x3140
leaq -0xc1(%rbp), %rdi
callq 0x3290
jmp 0x40e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd0(%rbp)
movl %eax, -0xd4(%rbp)
jmp 0x40dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd0(%rbp)
movl %eax, -0xd4(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x3140
jmp 0x40dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd0(%rbp)
movl %eax, -0xd4(%rbp)
leaq -0x130(%rbp), %rdi
callq 0x3140
jmp 0x40dd
leaq -0xa0(%rbp), %rdi
callq 0x4230
leaq -0x28(%rbp), %rdi
callq 0x3140
movl -0x4(%rbp), %eax
addq $0x150, %rsp            # imm = 0x150
popq %rbp
retq
leaq -0xa0(%rbp), %rdi
callq 0x4230
leaq -0x28(%rbp), %rdi
callq 0x3140
movq -0xd0(%rbp), %rdi
callq 0x3380
nop
// File: dwburer[P]CSCI-3232-File-System/FileSystem.cpp
// Function: FileSystem::list()
void FileSystem::list() {
	cout << "Contents of " << currentDirectory->getName() <<":\n";

	map<string, Entity*>::iterator it;

	for(it = currentDirectory->children.begin(); it != currentDirectory->children.end(); it++ ) {
		if(it->second->isDirectory)
			cout << "[" + it->first + "]" << "   ";
		else
			cout << it->first << "   ";
	}

	cout << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq 0x6acf(%rip), %rdi      # 0xcfd0
leaq 0x2c69(%rip), %rsi      # 0x9171
callq 0x3220
movq %rax, %rcx
movq -0xb8(%rbp), %rax
movq %rcx, -0xb0(%rbp)
movq (%rax), %rsi
leaq -0x28(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
callq 0x4c10
movq -0xb0(%rbp), %rdi
movq -0xa8(%rbp), %rsi
callq 0x31f0
movq %rax, -0xa0(%rbp)
jmp 0x654d
movq -0xa0(%rbp), %rdi
leaq 0x2c23(%rip), %rsi      # 0x917e
callq 0x3220
jmp 0x6562
leaq -0x28(%rbp), %rdi
callq 0x3140
leaq -0x40(%rbp), %rdi
callq 0x7530
movq -0xb8(%rbp), %rax
movq (%rax), %rdi
addq $0x40, %rdi
callq 0x7550
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0xb8(%rbp), %rax
movq (%rax), %rdi
addq $0x40, %rdi
callq 0x51a0
movq %rax, -0x50(%rbp)
leaq -0x40(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x7580
testb $0x1, %al
jne 0x65c0
jmp 0x66e6
leaq -0x40(%rbp), %rdi
callq 0x75b0
movq 0x20(%rax), %rax
testb $0x1, 0x31(%rax)
je 0x66a6
leaq -0x40(%rbp), %rdi
callq 0x75b0
movq %rax, %rdx
leaq 0x2b97(%rip), %rsi      # 0x9181
leaq -0x90(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x7630
movq -0xc0(%rbp), %rsi
leaq 0x2b78(%rip), %rdx      # 0x9183
leaq -0x70(%rbp), %rdi
callq 0x75e0
jmp 0x6616
movq 0x69b3(%rip), %rdi      # 0xcfd0
leaq -0x70(%rbp), %rsi
callq 0x31f0
movq %rax, -0xc8(%rbp)
jmp 0x662f
movq -0xc8(%rbp), %rdi
leaq 0x2b48(%rip), %rsi      # 0x9185
callq 0x3220
jmp 0x6644
leaq -0x70(%rbp), %rdi
callq 0x3140
leaq -0x90(%rbp), %rdi
callq 0x3140
jmp 0x66cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x3140
jmp 0x6702
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x6698
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x3140
leaq -0x90(%rbp), %rdi
callq 0x3140
jmp 0x6702
leaq -0x40(%rbp), %rdi
callq 0x75b0
movq %rax, %rsi
movq 0x6917(%rip), %rdi      # 0xcfd0
callq 0x31f0
movq %rax, %rdi
leaq 0x2abd(%rip), %rsi      # 0x9185
callq 0x3220
jmp 0x66cf
leaq -0x40(%rbp), %rdi
xorl %esi, %esi
callq 0x7740
movq %rax, -0x98(%rbp)
jmp 0x6593
movq 0x68e3(%rip), %rdi      # 0xcfd0
movq 0x68cc(%rip), %rsi      # 0xcfc0
callq 0x3270
addq $0xd0, %rsp
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x3380
nopl (%rax,%rax)
// File: dwburer[P]CSCI-3232-File-System/FileSystem.cpp
// Function: FileSystem::makeFileSystem()
void FileSystem::makeFileSystem() {
	root->flushDirectory();
	currentDirectory = root;
	isFormatted = true;
	cout << "New file system created" << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq 0x8(%rax), %rdi
callq 0x4e50
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
movq %rcx, (%rax)
movb $0x1, 0x10(%rax)
movq 0x686d(%rip), %rdi      # 0xcfd0
leaq 0x2a1f(%rip), %rsi      # 0x9189
callq 0x3220
movq %rax, %rdi
movq 0x6847(%rip), %rsi      # 0xcfc0
callq 0x3270
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: dwburer[P]CSCI-3232-File-System/FileSystem.cpp
// Function: FileSystem::makeDirectory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void FileSystem::makeDirectory(string dir) {
	if(!currentDirectory->contains(dir)) {
		Directory* tmp = new Directory(dir);
		currentDirectory->addChild(tmp);
		cout << "Directory " << dir << " created at " << tmp->getTime();
	} else {
		cout << "Error: directory " << dir << " already exists" << endl;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rsi, -0xb8(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq (%rax), %rax
movq %rax, -0xa8(%rbp)
leaq -0x30(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x30f0
movq -0xa8(%rbp), %rdi
movq -0xa0(%rbp), %rsi
callq 0x4e70
movb %al, -0x91(%rbp)
jmp 0x6a0a
movb -0x91(%rbp), %al
xorb $-0x1, %al
movb %al, -0xb9(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x3140
movb -0xb9(%rbp), %al
testb $0x1, %al
jne 0x6a30
jmp 0x6b7b
movl $0x78, %edi
callq 0x3230
movq -0xb8(%rbp), %rsi
movq %rax, -0xc8(%rbp)
movb $0x1, -0x69(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x30f0
jmp 0x6a57
movq -0xc8(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x4d10
jmp 0x6a69
movb $0x0, -0x69(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x3140
movq -0xc8(%rbp), %rcx
movq -0xb0(%rbp), %rax
movq %rcx, -0x48(%rbp)
movq (%rax), %rdi
movq -0x48(%rbp), %rsi
callq 0x4da0
movq 0x6535(%rip), %rdi      # 0xcfd0
leaq 0x276c(%rip), %rsi      # 0x920e
callq 0x3220
movq -0xb8(%rbp), %rsi
movq %rax, %rdi
callq 0x31f0
movq %rax, %rdi
leaq 0x2759(%rip), %rsi      # 0x9219
callq 0x3220
movq %rax, -0xd8(%rbp)
movq -0x48(%rbp), %rsi
leaq -0x90(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x4c40
movq -0xd8(%rbp), %rdi
movq -0xd0(%rbp), %rsi
callq 0x31f0
jmp 0x6af8
leaq -0x90(%rbp), %rdi
callq 0x3140
jmp 0x6bbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x3140
jmp 0x6bc4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x6b46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x3140
testb $0x1, -0x69(%rbp)
jne 0x6b4e
jmp 0x6b5f
movq -0xc8(%rbp), %rdi
movl $0x78, %esi
callq 0x3240
jmp 0x6bc4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x3140
jmp 0x6bc4
movq 0x644e(%rip), %rdi      # 0xcfd0
leaq 0x269d(%rip), %rsi      # 0x9226
callq 0x3220
movq -0xb8(%rbp), %rsi
movq %rax, %rdi
callq 0x31f0
movq %rax, %rdi
leaq 0x2691(%rip), %rsi      # 0x9238
callq 0x3220
movq %rax, %rdi
movq 0x640a(%rip), %rsi      # 0xcfc0
callq 0x3270
addq $0xe0, %rsp
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x3380
nopl (%rax)
// File: dwburer[P]CSCI-3232-File-System/FileSystem.cpp
// Function: FileSystem::removeDirectory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void FileSystem::removeDirectory(string dir) {
	
	if(currentDirectory->contains(dir)) {
		if(currentDirectory->children[dir]->isDirectory) {

			Directory* toDelete = (Directory*)(currentDirectory->children[dir]);

			if(toDelete->children.size() == 0) {
				cout << "Deleting directory " << dir << endl;
				delete currentDirectory->children[dir];
				currentDirectory->children.erase(dir);
			} else {
				cout << "Error: \"" << dir << "\" is not empty" << endl;
			}
		} else {
			cout << "Error: \"" << dir << "\" is a file, not a directory" << endl;
		}
	} else {
		cout << dir << ": No such directory found" << endl;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rsi, -0x70(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x68(%rbp)
movq (%rax), %rax
movq %rax, -0x60(%rbp)
leaq -0x30(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x30f0
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x4e70
movb %al, -0x49(%rbp)
jmp 0x6c15
leaq -0x30(%rbp), %rdi
callq 0x3140
movb -0x49(%rbp), %al
testb $0x1, %al
jne 0x6c2a
jmp 0x6d91
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rax
movq (%rax), %rdi
addq $0x40, %rdi
callq 0x7780
movq (%rax), %rax
testb $0x1, 0x31(%rax)
je 0x6d52
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rax
movq (%rax), %rdi
addq $0x40, %rdi
callq 0x7780
movq (%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
addq $0x40, %rdi
callq 0x7860
cmpq $0x0, %rax
jne 0x6d13
movq 0x634c(%rip), %rdi      # 0xcfd0
leaq 0x25bd(%rip), %rsi      # 0x9248
callq 0x3220
movq -0x70(%rbp), %rsi
movq %rax, %rdi
callq 0x31f0
movq %rax, %rdi
movq 0x631a(%rip), %rsi      # 0xcfc0
callq 0x3270
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rax
movq (%rax), %rdi
addq $0x40, %rdi
callq 0x7780
movq (%rax), %rax
movq %rax, -0x78(%rbp)
cmpq $0x0, %rax
je 0x6ce3
movq -0x78(%rbp), %rdi
callq 0x4340
movq -0x78(%rbp), %rdi
movl $0x38, %esi
callq 0x3240
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rax
movq (%rax), %rdi
addq $0x40, %rdi
callq 0x7880
jmp 0x6d50
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x3140
jmp 0x6dc8
movq 0x62b6(%rip), %rdi      # 0xcfd0
leaq 0x253b(%rip), %rsi      # 0x925c
callq 0x3220
movq -0x70(%rbp), %rsi
movq %rax, %rdi
callq 0x31f0
movq %rax, %rdi
leaq 0x2529(%rip), %rsi      # 0x9265
callq 0x3220
movq %rax, %rdi
movq 0x6275(%rip), %rsi      # 0xcfc0
callq 0x3270
jmp 0x6d8f
movq 0x6277(%rip), %rdi      # 0xcfd0
leaq 0x24fc(%rip), %rsi      # 0x925c
callq 0x3220
movq -0x70(%rbp), %rsi
movq %rax, %rdi
callq 0x31f0
movq %rax, %rdi
leaq 0x24f9(%rip), %rsi      # 0x9274
callq 0x3220
movq %rax, %rdi
movq 0x6236(%rip), %rsi      # 0xcfc0
callq 0x3270
jmp 0x6dbf
movq -0x70(%rbp), %rsi
movq 0x6234(%rip), %rdi      # 0xcfd0
callq 0x31f0
movq %rax, %rdi
leaq 0x24e6(%rip), %rsi      # 0x9291
callq 0x3220
movq %rax, %rdi
movq 0x6206(%rip), %rsi      # 0xcfc0
callq 0x3270
addq $0x80, %rsp
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x3380
nopw %cs:(%rax,%rax)
// File: dwburer[P]CSCI-3232-File-System/FileSystem.cpp
// Function: FileSystem::makeFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void FileSystem::makeFile(string filename) {
	if(!currentDirectory->contains(filename)) {
		File* tmp = new File(filename);
		currentDirectory->addChild(tmp);
		cout << "File " << filename << " created at " << tmp->getTime();
	} else {
		cout << "Error: file " << filename << " already exists" << endl;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rsi, -0xb8(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq (%rax), %rax
movq %rax, -0xa8(%rbp)
leaq -0x30(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x30f0
movq -0xa8(%rbp), %rdi
movq -0xa0(%rbp), %rsi
callq 0x4e70
movb %al, -0x91(%rbp)
jmp 0x6e3a
movb -0x91(%rbp), %al
xorb $-0x1, %al
movb %al, -0xb9(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x3140
movb -0xb9(%rbp), %al
testb $0x1, %al
jne 0x6e60
jmp 0x6fab
movl $0x40, %edi
callq 0x3230
movq -0xb8(%rbp), %rsi
movq %rax, -0xc8(%rbp)
movb $0x1, -0x69(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x30f0
jmp 0x6e87
movq -0xc8(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x63e0
jmp 0x6e99
movb $0x0, -0x69(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x3140
movq -0xc8(%rbp), %rcx
movq -0xb0(%rbp), %rax
movq %rcx, -0x48(%rbp)
movq (%rax), %rdi
movq -0x48(%rbp), %rsi
callq 0x4da0
movq 0x6105(%rip), %rdi      # 0xcfd0
leaq 0x23d9(%rip), %rsi      # 0x92ab
callq 0x3220
movq -0xb8(%rbp), %rsi
movq %rax, %rdi
callq 0x31f0
movq %rax, %rdi
leaq 0x2329(%rip), %rsi      # 0x9219
callq 0x3220
movq %rax, -0xd8(%rbp)
movq -0x48(%rbp), %rsi
leaq -0x90(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x4c40
movq -0xd8(%rbp), %rdi
movq -0xd0(%rbp), %rsi
callq 0x31f0
jmp 0x6f28
leaq -0x90(%rbp), %rdi
callq 0x3140
jmp 0x6feb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x3140
jmp 0x6ff4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x6f76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x3140
testb $0x1, -0x69(%rbp)
jne 0x6f7e
jmp 0x6f8f
movq -0xc8(%rbp), %rdi
movl $0x40, %esi
callq 0x3240
jmp 0x6ff4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x3140
jmp 0x6ff4
movq 0x601e(%rip), %rdi      # 0xcfd0
leaq 0x22f8(%rip), %rsi      # 0x92b1
callq 0x3220
movq -0xb8(%rbp), %rsi
movq %rax, %rdi
callq 0x31f0
movq %rax, %rdi
leaq 0x2261(%rip), %rsi      # 0x9238
callq 0x3220
movq %rax, %rdi
movq 0x5fda(%rip), %rsi      # 0xcfc0
callq 0x3270
addq $0xe0, %rsp
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x3380
nopl (%rax)
// File: dwburer[P]CSCI-3232-File-System/FileSystem.cpp
// Function: FileSystem::removeFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void FileSystem::removeFile(string filename) {

	if(currentDirectory->contains(filename)) {
		if(!currentDirectory->children[filename]->isDirectory) {
			cout << "Deleting file " << filename << endl;
			delete currentDirectory->children[filename];
			currentDirectory->children.erase(filename);
		} else {
			cout << "Error: " << filename << " is a directory, not a file" << endl;
		}
	} else {
		cout << filename << ": No such file found" << endl;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rsi, -0x60(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x58(%rbp)
movq (%rax), %rax
movq %rax, -0x50(%rbp)
leaq -0x30(%rbp), %rdi
movq %rdi, -0x48(%rbp)
callq 0x30f0
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0x4e70
movb %al, -0x3d(%rbp)
jmp 0x7042
leaq -0x30(%rbp), %rdi
callq 0x3140
movb -0x3d(%rbp), %al
testb $0x1, %al
jne 0x7057
jmp 0x714a
movq -0x60(%rbp), %rsi
movq -0x58(%rbp), %rax
movq (%rax), %rdi
addq $0x40, %rdi
callq 0x7780
movq (%rax), %rax
testb $0x1, 0x31(%rax)
jne 0x710b
movq 0x5f51(%rip), %rdi      # 0xcfd0
leaq 0x2238(%rip), %rsi      # 0x92be
callq 0x3220
movq -0x60(%rbp), %rsi
movq %rax, %rdi
callq 0x31f0
movq %rax, %rdi
movq 0x5f1f(%rip), %rsi      # 0xcfc0
callq 0x3270
movq -0x60(%rbp), %rsi
movq -0x58(%rbp), %rax
movq (%rax), %rdi
addq $0x40, %rdi
callq 0x7780
movq (%rax), %rax
movq %rax, -0x68(%rbp)
cmpq $0x0, %rax
je 0x70de
movq -0x68(%rbp), %rdi
callq 0x4340
movq -0x68(%rbp), %rdi
movl $0x38, %esi
callq 0x3240
movq -0x60(%rbp), %rsi
movq -0x58(%rbp), %rax
movq (%rax), %rdi
addq $0x40, %rdi
callq 0x7880
jmp 0x7148
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x3140
jmp 0x717e
movq 0x5ebe(%rip), %rdi      # 0xcfd0
leaq 0x21b4(%rip), %rsi      # 0x92cd
callq 0x3220
movq -0x60(%rbp), %rsi
movq %rax, %rdi
callq 0x31f0
movq %rax, %rdi
leaq 0x21a1(%rip), %rsi      # 0x92d5
callq 0x3220
movq %rax, %rdi
movq 0x5e7d(%rip), %rsi      # 0xcfc0
callq 0x3270
jmp 0x7178
movq -0x60(%rbp), %rsi
movq 0x5e7b(%rip), %rdi      # 0xcfd0
callq 0x31f0
movq %rax, %rdi
leaq 0x218d(%rip), %rsi      # 0x92f1
callq 0x3220
movq %rax, %rdi
movq 0x5e4d(%rip), %rsi      # 0xcfc0
callq 0x3270
addq $0x70, %rsp
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x3380
nopw (%rax,%rax)
// File: dwburer[P]CSCI-3232-File-System/FileSystem.cpp
// Function: FileSystem::stat(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void FileSystem::stat(string filename) {
	if(currentDirectory->contains(filename)) {
		cout << "File " << currentDirectory->children[filename]->getName() << " created " << currentDirectory->children[filename]->getTime();
	} else {
		cout << filename << ": No such file found" << endl;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rsi, -0xa8(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq (%rax), %rax
movq %rax, -0x98(%rbp)
leaq -0x30(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x30f0
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
callq 0x4e70
movb %al, -0x81(%rbp)
jmp 0x71ea
leaq -0x30(%rbp), %rdi
callq 0x3140
movb -0x81(%rbp), %al
testb $0x1, %al
jne 0x7202
jmp 0x7327
movq 0x5dc7(%rip), %rdi      # 0xcfd0
leaq 0x209b(%rip), %rsi      # 0x92ab
callq 0x3220
movq -0xa8(%rbp), %rsi
movq %rax, %rcx
movq -0xa0(%rbp), %rax
movq %rcx, -0xc0(%rbp)
movq (%rax), %rdi
addq $0x40, %rdi
callq 0x7780
movq (%rax), %rsi
leaq -0x60(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x4c10
movq -0xc0(%rbp), %rdi
movq -0xb8(%rbp), %rsi
callq 0x31f0
movq %rax, -0xb0(%rbp)
jmp 0x7268
movq -0xb0(%rbp), %rdi
leaq 0x2090(%rip), %rsi      # 0x9306
callq 0x3220
movq %rax, -0xc8(%rbp)
jmp 0x7284
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rax
movq (%rax), %rdi
addq $0x40, %rdi
callq 0x7780
movq %rax, -0xd0(%rbp)
jmp 0x72a7
movq -0xd0(%rbp), %rax
movq (%rax), %rsi
leaq -0x80(%rbp), %rdi
callq 0x4c40
jmp 0x72bc
movq -0xc8(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x31f0
jmp 0x72ce
leaq -0x80(%rbp), %rdi
callq 0x3140
leaq -0x60(%rbp), %rdi
callq 0x3140
jmp 0x7358
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x3140
jmp 0x7361
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x731c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x3140
leaq -0x60(%rbp), %rdi
callq 0x3140
jmp 0x7361
movq -0xa8(%rbp), %rsi
movq 0x5c9b(%rip), %rdi      # 0xcfd0
callq 0x31f0
movq %rax, %rdi
leaq 0x1fad(%rip), %rsi      # 0x92f1
callq 0x3220
movq %rax, %rdi
movq 0x5c6d(%rip), %rsi      # 0xcfc0
callq 0x3270
addq $0xd0, %rsp
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x3380
nopw (%rax,%rax)
// File: dwburer[P]CSCI-3232-File-System/FileSystem.cpp
// Function: FileSystem::getWorkingDirectory[abi:cxx11]()
string FileSystem::getWorkingDirectory() {
	string dir = currentDirectory->getName();
	Directory* backtrack = currentDirectory;

	while(backtrack->hasParent) {
		backtrack = backtrack->getParent();
		dir = backtrack->getName() + "/" + dir;
	}

	return !dir.compare("/") ? dir : dir.substr(1, dir.size());
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0xc0(%rbp)
movq %rdi, %rax
movq %rax, -0xb8(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq (%rax), %rsi
leaq -0x30(%rbp), %rdi
callq 0x4c10
movq -0xb0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
testb $0x1, 0x70(%rax)
je 0x74a0
movq -0x38(%rbp), %rdi
callq 0x4ea0
movq %rax, -0xc8(%rbp)
jmp 0x73d9
movq -0xc8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rsi
leaq -0xa8(%rbp), %rdi
callq 0x4c10
jmp 0x73f6
leaq 0x1c07(%rip), %rdx      # 0x9004
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x75e0
jmp 0x7412
leaq -0x68(%rbp), %rdi
leaq -0x88(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x78b0
jmp 0x7428
leaq -0x30(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x32e0
leaq -0x68(%rbp), %rdi
callq 0x3140
leaq -0x88(%rbp), %rdi
callq 0x3140
leaq -0xa8(%rbp), %rdi
callq 0x3140
jmp 0x73b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x7511
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x7492
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x3140
leaq -0xa8(%rbp), %rdi
callq 0x3140
jmp 0x7511
leaq -0x30(%rbp), %rdi
leaq 0x1b59(%rip), %rsi      # 0x9004
callq 0x30a0
cmpl $0x0, %eax
jne 0x74c9
movq -0xc0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x30f0
jmp 0x74c7
jmp 0x74f8
leaq -0x30(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x3170
movq -0xc0(%rbp), %rdi
movq -0xd0(%rbp), %rsi
movq %rax, %rcx
movl $0x1, %edx
callq 0x3250
jmp 0x74f6
jmp 0x74f8
leaq -0x30(%rbp), %rdi
callq 0x3140
movq -0xb8(%rbp), %rax
addq $0xd0, %rsp
popq %rbp
retq
leaq -0x30(%rbp), %rdi
callq 0x3140
movq -0x40(%rbp), %rdi
callq 0x3380
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: yasz24[P]eau2/tests/testSerialize.cpp
// Function: tempStore()
KVStore* tempStore() {
    Value* v1 = new Value("muffin", (size_t)6);
    Value* v3 = new Value("carrot", (size_t)6);
    Key* k1 = new Key("payload_1", 0);
    Key* k3 = new Key("payload_3", 0);

    NetworkIP network;

    KVStore* kvs1 = new KVStore(1, 0, &network);
    kvs1->put(k1, v1);
    kvs1->put(k3, v3);
    return kvs1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movl $0x20, %edi
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x88(%rbp)
leaq 0x27b57(%rip), %rsi     # 0x2f0e0
movl $0x6, %edx
callq 0xc730
jmp 0x7595
movq -0x88(%rbp), %rax
movq %rax, -0x8(%rbp)
movl $0x20, %edi
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x90(%rbp)
leaq 0x27b29(%rip), %rsi     # 0x2f0e7
movl $0x6, %edx
callq 0xc730
jmp 0x75ca
movq -0x90(%rbp), %rax
movq %rax, -0x20(%rbp)
movl $0x20, %edi
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x98(%rbp)
leaq 0x27afb(%rip), %rsi     # 0x2f0ee
xorl %eax, %eax
movl %eax, %edx
callq 0xc780
jmp 0x75fe
movq -0x98(%rbp), %rax
movq %rax, -0x28(%rbp)
movl $0x20, %edi
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0xa0(%rbp)
leaq 0x27ad1(%rip), %rsi     # 0x2f0f8
xorl %eax, %eax
movl %eax, %edx
callq 0xc780
jmp 0x7632
movq -0xa0(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq -0x78(%rbp), %rdi
callq 0xc820
movl $0x118, %edi            # imm = 0x118
callq 0x7250
movq %rax, -0xa8(%rbp)
jmp 0x7659
movq -0xa8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
movl $0x1, %esi
leaq -0x78(%rbp), %rcx
callq 0xc870
jmp 0x7674
movq -0xa8(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rdi
movq -0x28(%rbp), %rsi
movq -0x8(%rbp), %rdx
callq 0xc960
jmp 0x7692
movq -0x80(%rbp), %rdi
movq -0x30(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0xc960
jmp 0x76a5
movq -0x80(%rbp), %rax
movq %rax, -0xb0(%rbp)
leaq -0x78(%rbp), %rdi
callq 0xcbe0
movq -0xb0(%rbp), %rax
addq $0xb0, %rsp
popq %rbp
retq
movq -0x88(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
jmp 0x7760
movq -0x90(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
jmp 0x7760
movq -0x98(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
jmp 0x7760
movq -0xa0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
jmp 0x7760
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x7757
movq -0xa8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
leaq -0x78(%rbp), %rdi
callq 0xcbe0
movq -0x10(%rbp), %rdi
callq 0x7370
nopl (%rax)
// File: yasz24[P]eau2/tests/testSerialize.cpp
// Function: testFloatArraySerialization()
void testFloatArraySerialization() {
    Sys* tester = new Sys();
    Deserializable* ds = new Deserializable();
    FloatArray* fa = new FloatArray(60);
    for(int i = 0; i < 50; i++) {
        fa->pushBack(i);
    }
    char* float_is_serialized = fa->serialize();
    FloatArray* fa_two = dynamic_cast<FloatArray*>(ds->deserialize(float_is_serialized));
    tester->t_true(strcmp(float_is_serialized, fa_two->serialize()) == 0);
    delete fa;
    tester->OK("Passed Float Array Serialization Tests");
    delete tester;
    delete [] ds;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movl $0x1, %edi
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x48(%rbp)
callq 0xcd20
jmp 0x8186
movq -0x48(%rbp), %rax
movq %rax, -0x8(%rbp)
movl $0x1, %edi
callq 0x7250
movq %rax, -0x20(%rbp)
movl $0x28, %edi
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x50(%rbp)
movl $0x3c, %esi
callq 0xcec0
jmp 0x81bc
movq -0x50(%rbp), %rax
movq %rax, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
cmpl $0x32, -0x2c(%rbp)
jge 0x821e
movq -0x28(%rbp), %rdi
cvtsi2ssl -0x2c(%rbp), %xmm0
callq 0xcf50
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x81cb
movq -0x48(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
jmp 0x8314
movq -0x50(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
jmp 0x8314
movq -0x28(%rbp), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x29f70
movq %rax, -0x58(%rbp)
cmpq $0x0, %rax
je 0x8264
movq -0x58(%rbp), %rdi
leaq 0x34eba(%rip), %rsi     # 0x3d108
leaq 0x34f13(%rip), %rdx     # 0x3d168
xorl %eax, %eax
movl %eax, %ecx
callq 0x7290
movq %rax, -0x60(%rbp)
jmp 0x826c
xorl %eax, %eax
movq %rax, -0x60(%rbp)
jmp 0x826c
movq -0x60(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x40(%rbp), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq -0x78(%rbp), %rdi
movq %rax, %rsi
callq 0x72d0
movq -0x70(%rbp), %rdi
cmpl $0x0, %eax
sete %al
movzbl %al, %esi
andl $0x1, %esi
callq 0xcd30
movq -0x28(%rbp), %rax
movq %rax, -0x68(%rbp)
cmpq $0x0, %rax
je 0x82c7
movq -0x68(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movq -0x8(%rbp), %rdi
leaq 0x26ee9(%rip), %rsi     # 0x2f1bb
callq 0xcd70
movq -0x8(%rbp), %rax
movq %rax, -0x80(%rbp)
cmpq $0x0, %rax
je 0x82ee
movq -0x80(%rbp), %rdi
callq 0x7220
movq -0x20(%rbp), %rax
movq %rax, -0x88(%rbp)
cmpq $0x0, %rax
je 0x830b
movq -0x88(%rbp), %rdi
callq 0x72b0
addq $0x90, %rsp
popq %rbp
retq
movq -0x10(%rbp), %rdi
callq 0x7370
nopl (%rax)
// File: yasz24[P]eau2/tests/testSerialize.cpp
// Function: testFloatColumnSerialization()
void testFloatColumnSerialization() {
    Deserializable* ds = new Deserializable();
    Sys* tester = new Sys();
    FloatColumn* fa = new FloatColumn(60);
    for(int i = 0; i < 50; i++) {
        fa->push_back(i);
    }
    char* float_is_serialized = fa->serialize();
    FloatColumn* fa_two = dynamic_cast<FloatColumn*>(ds->deserialize(float_is_serialized));
    tester->t_true(strcmp(float_is_serialized, fa_two->serialize()) == 0);
    delete fa;
    tester->OK("Passed Float Array Serialization Tests");
    delete tester;
    delete [] ds;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movl $0x1, %edi
movq %rdi, -0x50(%rbp)
callq 0x7250
movq -0x50(%rbp), %rdi
movq %rax, -0x8(%rbp)
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x48(%rbp)
callq 0xcd20
jmp 0x8357
movq -0x48(%rbp), %rax
movq %rax, -0x10(%rbp)
movl $0x28, %edi
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x58(%rbp)
xorl %eax, %eax
movl $0x3c, %esi
callq 0xcf90
jmp 0x8381
movq -0x58(%rbp), %rax
movq %rax, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
cmpl $0x32, -0x2c(%rbp)
jge 0x83e5
movq -0x28(%rbp), %rdi
movl -0x2c(%rbp), %esi
movq (%rdi), %rax
callq *0x98(%rax)
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x8390
movq -0x48(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
callq 0x7220
jmp 0x84e1
movq -0x58(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
callq 0x7220
jmp 0x84e1
movq -0x28(%rbp), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x29f70
movq %rax, -0x60(%rbp)
cmpq $0x0, %rax
je 0x842b
movq -0x60(%rbp), %rdi
leaq 0x34cf3(%rip), %rsi     # 0x3d108
leaq 0x34d64(%rip), %rdx     # 0x3d180
xorl %eax, %eax
movl %eax, %ecx
callq 0x7290
movq %rax, -0x68(%rbp)
jmp 0x8433
xorl %eax, %eax
movq %rax, -0x68(%rbp)
jmp 0x8433
movq -0x68(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x40(%rbp), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq -0x80(%rbp), %rdi
movq %rax, %rsi
callq 0x72d0
movq -0x78(%rbp), %rdi
cmpl $0x0, %eax
sete %al
movzbl %al, %esi
andl $0x1, %esi
callq 0xcd30
movq -0x28(%rbp), %rax
movq %rax, -0x70(%rbp)
cmpq $0x0, %rax
je 0x848e
movq -0x70(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movq -0x10(%rbp), %rdi
leaq 0x26d22(%rip), %rsi     # 0x2f1bb
callq 0xcd70
movq -0x10(%rbp), %rax
movq %rax, -0x88(%rbp)
cmpq $0x0, %rax
je 0x84bb
movq -0x88(%rbp), %rdi
callq 0x7220
movq -0x8(%rbp), %rax
movq %rax, -0x90(%rbp)
cmpq $0x0, %rax
je 0x84d8
movq -0x90(%rbp), %rdi
callq 0x72b0
addq $0x90, %rsp
popq %rbp
retq
movq -0x18(%rbp), %rdi
callq 0x7370
nopw (%rax,%rax)
// File: yasz24[P]eau2/tests/testSerialize.cpp
// Function: testIntArraySerialization()
void testIntArraySerialization() {
    Sys* tester = new Sys();
    Deserializable* ds = new Deserializable();
    IntArray* ia = new IntArray(100);
    for(int i = 0; i < 100; i++) {
        ia->pushBack(i);
    }
    char* int_is_serialized = ia->serialize();
    IntArray* ia_two = dynamic_cast<IntArray*>(ds->deserialize(int_is_serialized));
    tester->t_true(strcmp(int_is_serialized, ia_two->serialize()) == 0);
    delete ia;
    tester->OK("Passed Int Array Serialization Tests");
    delete tester;
    delete [] ds;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movl $0x1, %edi
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x48(%rbp)
callq 0xcd20
jmp 0x8516
movq -0x48(%rbp), %rax
movq %rax, -0x8(%rbp)
movl $0x1, %edi
callq 0x7250
movq %rax, -0x20(%rbp)
movl $0x28, %edi
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x50(%rbp)
movl $0x64, %esi
callq 0xd220
jmp 0x854c
movq -0x50(%rbp), %rax
movq %rax, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
cmpl $0x64, -0x2c(%rbp)
jge 0x85ac
movq -0x28(%rbp), %rdi
movl -0x2c(%rbp), %esi
callq 0xd2b0
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x855b
movq -0x48(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
jmp 0x86a2
movq -0x50(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
jmp 0x86a2
movq -0x28(%rbp), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x29f70
movq %rax, -0x58(%rbp)
cmpq $0x0, %rax
je 0x85f2
movq -0x58(%rbp), %rdi
leaq 0x34b2c(%rip), %rsi     # 0x3d108
leaq 0x34bb5(%rip), %rdx     # 0x3d198
xorl %eax, %eax
movl %eax, %ecx
callq 0x7290
movq %rax, -0x60(%rbp)
jmp 0x85fa
xorl %eax, %eax
movq %rax, -0x60(%rbp)
jmp 0x85fa
movq -0x60(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x40(%rbp), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq -0x78(%rbp), %rdi
movq %rax, %rsi
callq 0x72d0
movq -0x70(%rbp), %rdi
cmpl $0x0, %eax
sete %al
movzbl %al, %esi
andl $0x1, %esi
callq 0xcd30
movq -0x28(%rbp), %rax
movq %rax, -0x68(%rbp)
cmpq $0x0, %rax
je 0x8655
movq -0x68(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movq -0x8(%rbp), %rdi
leaq 0x26b82(%rip), %rsi     # 0x2f1e2
callq 0xcd70
movq -0x8(%rbp), %rax
movq %rax, -0x80(%rbp)
cmpq $0x0, %rax
je 0x867c
movq -0x80(%rbp), %rdi
callq 0x7220
movq -0x20(%rbp), %rax
movq %rax, -0x88(%rbp)
cmpq $0x0, %rax
je 0x8699
movq -0x88(%rbp), %rdi
callq 0x72b0
addq $0x90, %rsp
popq %rbp
retq
movq -0x10(%rbp), %rdi
callq 0x7370
nopl (%rax,%rax)
// File: yasz24[P]eau2/tests/testSerialize.cpp
// Function: testIntColumnSerialization()
void testIntColumnSerialization() {
    Sys* tester = new Sys();
    Deserializable* ds = new Deserializable();
    IntColumn* ia = new IntColumn(120);
    for(int i = 0; i < 100; i++) {
        ia->push_back(i);
    }
    char* int_is_serialized = ia->serialize();
    IntColumn* ia_two = dynamic_cast<IntColumn*>(ds->deserialize(int_is_serialized));
    tester->t_true(strcmp(int_is_serialized, ia_two->serialize()) == 0);
    delete ia;
    tester->OK("Passed Int Column Serialization Tests");
    delete tester;
    delete [] ds;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movl $0x1, %edi
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x48(%rbp)
callq 0xcd20
jmp 0x86d6
movq -0x48(%rbp), %rax
movq %rax, -0x8(%rbp)
movl $0x1, %edi
callq 0x7250
movq %rax, -0x20(%rbp)
movl $0x28, %edi
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x50(%rbp)
xorl %eax, %eax
movl $0x78, %esi
callq 0xd2e0
jmp 0x870e
movq -0x50(%rbp), %rax
movq %rax, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
cmpl $0x64, -0x2c(%rbp)
jge 0x8772
movq -0x28(%rbp), %rdi
movl -0x2c(%rbp), %esi
movq (%rdi), %rax
callq *0x98(%rax)
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x871d
movq -0x48(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
jmp 0x8868
movq -0x50(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
jmp 0x8868
movq -0x28(%rbp), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x29f70
movq %rax, -0x58(%rbp)
cmpq $0x0, %rax
je 0x87b8
movq -0x58(%rbp), %rdi
leaq 0x34966(%rip), %rsi     # 0x3d108
leaq 0x34a07(%rip), %rdx     # 0x3d1b0
xorl %eax, %eax
movl %eax, %ecx
callq 0x7290
movq %rax, -0x60(%rbp)
jmp 0x87c0
xorl %eax, %eax
movq %rax, -0x60(%rbp)
jmp 0x87c0
movq -0x60(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x40(%rbp), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq -0x78(%rbp), %rdi
movq %rax, %rsi
callq 0x72d0
movq -0x70(%rbp), %rdi
cmpl $0x0, %eax
sete %al
movzbl %al, %esi
andl $0x1, %esi
callq 0xcd30
movq -0x28(%rbp), %rax
movq %rax, -0x68(%rbp)
cmpq $0x0, %rax
je 0x881b
movq -0x68(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movq -0x8(%rbp), %rdi
leaq 0x269e1(%rip), %rsi     # 0x2f207
callq 0xcd70
movq -0x8(%rbp), %rax
movq %rax, -0x80(%rbp)
cmpq $0x0, %rax
je 0x8842
movq -0x80(%rbp), %rdi
callq 0x7220
movq -0x20(%rbp), %rax
movq %rax, -0x88(%rbp)
cmpq $0x0, %rax
je 0x885f
movq -0x88(%rbp), %rdi
callq 0x72b0
addq $0x90, %rsp
popq %rbp
retq
movq -0x10(%rbp), %rdi
callq 0x7370
nopw %cs:(%rax,%rax)
// File: yasz24[P]eau2/tests/testSerialize.cpp
// Function: testMessageSerialization()
void testMessageSerialization() {
    Sys* tester = new Sys();
    Message* msg = new Message(1, 2, 3, 5);
    char* msg_serialized = msg->serialize();
    Message* msg_two = new Message(msg_serialized);
    char* expected = "{ 'Message' : { 'kind_' : '1', 'sender_' : '2', 'target_' : '3', 'id_' : '5',  } }";
    tester->t_true(strcmp(msg_serialized, msg_two->serialize()) == 0);
    tester->t_true(strcmp(msg_serialized, expected) == 0);
    tester->OK("Passed Message Serialization Tests");
    delete tester;
    delete msg;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl $0x1, %edi
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x40(%rbp)
callq 0xcd20
jmp 0x88a6
movq -0x40(%rbp), %rax
movq %rax, -0x8(%rbp)
movl $0x30, %edi
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x48(%rbp)
movl $0x1, %esi
movl $0x2, %edx
movl $0x3, %ecx
movl $0x5, %r8d
callq 0xd550
jmp 0x88de
movq -0x48(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movq (%rdi), %rax
movq 0x38(%rax), %rax
callq *%rax
movq %rax, -0x28(%rbp)
movl $0x30, %edi
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x50(%rbp)
movq -0x28(%rbp), %rsi
callq 0xd5b0
jmp 0x8916
movq -0x50(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x26908(%rip), %rax     # 0x2f22d
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x30(%rbp), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq -0x70(%rbp), %rdi
movq %rax, %rsi
callq 0x72d0
movq -0x68(%rbp), %rdi
cmpl $0x0, %eax
sete %al
movzbl %al, %esi
andl $0x1, %esi
callq 0xcd30
movq -0x8(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x28(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x72d0
movq -0x60(%rbp), %rdi
cmpl $0x0, %eax
sete %al
movzbl %al, %esi
andl $0x1, %esi
callq 0xcd30
movq -0x8(%rbp), %rdi
leaq 0x268e7(%rip), %rsi     # 0x2f280
callq 0xcd70
movq -0x8(%rbp), %rax
movq %rax, -0x58(%rbp)
cmpq $0x0, %rax
je 0x89b5
movq -0x58(%rbp), %rdi
callq 0x7220
movq -0x20(%rbp), %rax
movq %rax, -0x78(%rbp)
cmpq $0x0, %rax
je 0x89cd
movq -0x78(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
addq $0x80, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
jmp 0x8a19
movq -0x48(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
jmp 0x8a19
movq -0x50(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
movq -0x10(%rbp), %rdi
callq 0x7370
nopw %cs:(%rax,%rax)
// File: yasz24[P]eau2/tests/testSerialize.cpp
// Function: testAckSerialization()
void testAckSerialization() {
    Sys* tester = new Sys();
    Ack ack(1,2,3);
    char* msg_serialized = ack.serialize();
    Ack* msg_two = new Ack(msg_serialized);
    tester->t_true(strcmp(msg_serialized, msg_two->serialize()) == 0);
    tester->OK("Passed Ack Serialization Tests");
    delete tester;
    delete msg_two;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movl $0x1, %edi
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x60(%rbp)
callq 0xcd20
jmp 0x8a56
movq -0x60(%rbp), %rax
movq %rax, -0x8(%rbp)
leaq -0x48(%rbp), %rdi
movq %rdi, -0x70(%rbp)
movl $0x1, %esi
movl $0x2, %edx
movl $0x3, %ecx
callq 0xd9a0
movq -0x70(%rbp), %rdi
callq 0xda00
movq %rax, -0x68(%rbp)
jmp 0x8a89
movq -0x68(%rbp), %rax
movq %rax, -0x50(%rbp)
movl $0x30, %edi
callq 0x7250
movq %rax, -0x78(%rbp)
jmp 0x8aa1
movq -0x78(%rbp), %rdi
movq -0x50(%rbp), %rsi
callq 0xdb10
jmp 0x8ab0
movq -0x78(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x58(%rbp), %rdi
movq (%rdi), %rax
movq 0x38(%rax), %rax
callq *%rax
movq %rax, -0x80(%rbp)
jmp 0x8ae1
movq -0x80(%rbp), %rsi
movq -0x88(%rbp), %rdi
callq 0x72d0
movq -0x90(%rbp), %rdi
testl %eax, %eax
sete %al
movzbl %al, %esi
callq 0xcd30
jmp 0x8b07
movq -0x8(%rbp), %rdi
leaq 0x26791(%rip), %rsi     # 0x2f2a3
callq 0xcd70
jmp 0x8b19
movq -0x8(%rbp), %rax
movq %rax, -0x98(%rbp)
cmpq $0x0, %rax
je 0x8b36
movq -0x98(%rbp), %rdi
callq 0x7220
movq -0x58(%rbp), %rax
movq %rax, -0xa0(%rbp)
cmpq $0x0, %rax
je 0x8b54
movq -0xa0(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
leaq -0x48(%rbp), %rdi
callq 0xdf00
addq $0xa0, %rsp
popq %rbp
retq
movq -0x60(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
jmp 0x8ba9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x8ba0
movq -0x78(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
leaq -0x48(%rbp), %rdi
callq 0xdf00
movq -0x10(%rbp), %rdi
callq 0x7370
nopw %cs:(%rax,%rax)
// File: yasz24[P]eau2/tests/testSerialize.cpp
// Function: testNackSerialization()
void testNackSerialization() {
    Sys* tester = new Sys();
    Nack ack(1,2,3);
    char* msg_serialized = ack.serialize();
    Nack* msg_two = new Nack(msg_serialized);
    tester->t_true(strcmp(msg_serialized, msg_two->serialize()) == 0);
    tester->OK("Passed Nack Serialization Tests");
    delete tester;
    delete msg_two;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movl $0x1, %edi
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x60(%rbp)
callq 0xcd20
jmp 0x8be6
movq -0x60(%rbp), %rax
movq %rax, -0x8(%rbp)
leaq -0x48(%rbp), %rdi
movq %rdi, -0x70(%rbp)
movl $0x1, %esi
movl $0x2, %edx
movl $0x3, %ecx
callq 0xdf20
movq -0x70(%rbp), %rdi
callq 0xdf80
movq %rax, -0x68(%rbp)
jmp 0x8c19
movq -0x68(%rbp), %rax
movq %rax, -0x50(%rbp)
movl $0x30, %edi
callq 0x7250
movq %rax, -0x78(%rbp)
jmp 0x8c31
movq -0x78(%rbp), %rdi
movq -0x50(%rbp), %rsi
callq 0xe090
jmp 0x8c40
movq -0x78(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x58(%rbp), %rdi
movq (%rdi), %rax
movq 0x38(%rax), %rax
callq *%rax
movq %rax, -0x80(%rbp)
jmp 0x8c71
movq -0x80(%rbp), %rsi
movq -0x88(%rbp), %rdi
callq 0x72d0
movq -0x90(%rbp), %rdi
testl %eax, %eax
sete %al
movzbl %al, %esi
callq 0xcd30
jmp 0x8c97
movq -0x8(%rbp), %rdi
leaq 0x26620(%rip), %rsi     # 0x2f2c2
callq 0xcd70
jmp 0x8ca9
movq -0x8(%rbp), %rax
movq %rax, -0x98(%rbp)
cmpq $0x0, %rax
je 0x8cc6
movq -0x98(%rbp), %rdi
callq 0x7220
movq -0x58(%rbp), %rax
movq %rax, -0xa0(%rbp)
cmpq $0x0, %rax
je 0x8ce4
movq -0xa0(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
leaq -0x48(%rbp), %rdi
callq 0xe480
addq $0xa0, %rsp
popq %rbp
retq
movq -0x60(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
jmp 0x8d39
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x8d30
movq -0x78(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
leaq -0x48(%rbp), %rdi
callq 0xe480
movq -0x10(%rbp), %rdi
callq 0x7370
nopw %cs:(%rax,%rax)
// File: yasz24[P]eau2/tests/testSerialize.cpp
// Function: testPutSerialization()
void testPutSerialization() {
    Sys* tester = new Sys();
    Key k("key1", 0);
    Value v("val", 3);
    Put ack(&k, &v, 1,2,3);
    char* msg_serialized = ack.serialize();
    Put* msg_two = new Put(msg_serialized);
    tester->t_true(strcmp(msg_serialized, msg_two->serialize()) == 0);
    tester->OK("Passed Put Serialization Tests");
    delete tester;
    delete msg_two;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
movl $0x1, %edi
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0xb0(%rbp)
callq 0xcd20
jmp 0x8d79
movq -0xb0(%rbp), %rax
movq %rax, -0x8(%rbp)
leaq 0x26557(%rip), %rsi     # 0x2f2e2
xorl %eax, %eax
movl %eax, %edx
leaq -0x38(%rbp), %rdi
callq 0xc780
leaq 0x26548(%rip), %rsi     # 0x2f2e7
leaq -0x58(%rbp), %rdi
movl $0x3, %edx
callq 0xc730
jmp 0x8daf
leaq -0x98(%rbp), %rdi
leaq -0x38(%rbp), %rsi
leaq -0x58(%rbp), %rdx
movl $0x1, %ecx
movl $0x2, %r8d
movl $0x3, %r9d
callq 0xe4a0
jmp 0x8dd6
leaq -0x98(%rbp), %rdi
callq 0xe520
movq %rax, -0xb8(%rbp)
jmp 0x8deb
movq -0xb8(%rbp), %rax
movq %rax, -0xa0(%rbp)
movl $0x40, %edi
callq 0x7250
movq %rax, -0xc0(%rbp)
jmp 0x8e0c
movq -0xc0(%rbp), %rdi
movq -0xa0(%rbp), %rsi
callq 0xe680
jmp 0x8e21
movq -0xc0(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xd8(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0xd0(%rbp)
movq -0xa8(%rbp), %rdi
movq (%rdi), %rax
movq 0x38(%rax), %rax
callq *%rax
movq %rax, -0xc8(%rbp)
jmp 0x8e61
movq -0xc8(%rbp), %rsi
movq -0xd0(%rbp), %rdi
callq 0x72d0
movq -0xd8(%rbp), %rdi
testl %eax, %eax
sete %al
movzbl %al, %esi
callq 0xcd30
jmp 0x8e8a
movq -0x8(%rbp), %rdi
leaq 0x26456(%rip), %rsi     # 0x2f2eb
callq 0xcd70
jmp 0x8e9c
movq -0x8(%rbp), %rax
movq %rax, -0xe0(%rbp)
cmpq $0x0, %rax
je 0x8eb9
movq -0xe0(%rbp), %rdi
callq 0x7220
movq -0xa8(%rbp), %rax
movq %rax, -0xe8(%rbp)
cmpq $0x0, %rax
je 0x8eda
movq -0xe8(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
leaq -0x98(%rbp), %rdi
callq 0xeb80
leaq -0x58(%rbp), %rdi
callq 0xeba0
leaq -0x38(%rbp), %rdi
callq 0xebc0
addq $0xf0, %rsp
popq %rbp
retq
movq -0xb0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
jmp 0x8f7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x8f72
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x8f69
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x8f5d
movq -0xc0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
leaq -0x98(%rbp), %rdi
callq 0xeb80
leaq -0x58(%rbp), %rdi
callq 0xeba0
leaq -0x38(%rbp), %rdi
callq 0xebc0
movq -0x10(%rbp), %rdi
callq 0x7370
nopw %cs:(%rax,%rax)
// File: yasz24[P]eau2/tests/testSerialize.cpp
// Function: testGetSerialization()
void testGetSerialization() {
    Sys* tester = new Sys();
    Key k("key1", 0);
    Get ack(&k, 1,2,3);
    char* msg_serialized = ack.serialize();
    Get* msg_two = new Get(msg_serialized);
    tester->t_true(strcmp(msg_serialized, msg_two->serialize()) == 0);
    tester->OK("Passed Get Serialization Tests");
    delete tester;
    delete msg_two;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movl $0x1, %edi
callq 0x7250
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x88(%rbp)
callq 0xcd20
jmp 0x8fb9
movq -0x88(%rbp), %rax
movq %rax, -0x8(%rbp)
leaq 0x26317(%rip), %rsi     # 0x2f2e2
xorl %eax, %eax
movl %eax, %edx
leaq -0x38(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0xc780
movq -0x90(%rbp), %rsi
leaq -0x70(%rbp), %rdi
movl $0x1, %edx
movl $0x2, %ecx
movl $0x3, %r8d
callq 0xebe0
jmp 0x9001
leaq -0x70(%rbp), %rdi
callq 0xec50
movq %rax, -0x98(%rbp)
jmp 0x9013
movq -0x98(%rbp), %rax
movq %rax, -0x78(%rbp)
movl $0x38, %edi
callq 0x7250
movq %rax, -0xa0(%rbp)
jmp 0x9031
movq -0xa0(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0xed80
jmp 0x9043
movq -0xa0(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x80(%rbp), %rdi
movq (%rdi), %rax
movq 0x38(%rax), %rax
callq *%rax
movq %rax, -0xa8(%rbp)
jmp 0x907a
movq -0xa8(%rbp), %rsi
movq -0xb0(%rbp), %rdi
callq 0x72d0
movq -0xb8(%rbp), %rdi
testl %eax, %eax
sete %al
movzbl %al, %esi
callq 0xcd30
jmp 0x90a3
movq -0x8(%rbp), %rdi
leaq 0x2625c(%rip), %rsi     # 0x2f30a
callq 0xcd70
jmp 0x90b5
movq -0x8(%rbp), %rax
movq %rax, -0xc0(%rbp)
cmpq $0x0, %rax
je 0x90d2
movq -0xc0(%rbp), %rdi
callq 0x7220
movq -0x80(%rbp), %rax
movq %rax, -0xc8(%rbp)
cmpq $0x0, %rax
je 0x90f0
movq -0xc8(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
leaq -0x70(%rbp), %rdi
callq 0xf1f0
leaq -0x38(%rbp), %rdi
callq 0xebc0
addq $0xd0, %rsp
popq %rbp
retq
movq -0x88(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
jmp 0x916b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x9162
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x9159
movq -0xa0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
callq 0x7220
leaq -0x70(%rbp), %rdi
callq 0xf1f0
leaq -0x38(%rbp), %rdi
callq 0xebc0
movq -0x10(%rbp), %rdi
callq 0x7370
nopw %cs:(%rax,%rax)