// File: /workspace/github_cpp_makefile_star2_O3/talyerushalmy[P]SimpleFileSystem/src/Environment.cpp
// Function: Environment::handleInput(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void Environment::handleInput(const string& input)
{
	if (verbose == 2 || verbose == 3)
		std::cout << input << std::endl;

	string first_word = input.substr(0, input.find(' '));
	string args = input.substr(first_word.size(), input.size() - first_word.size());

	switch (CommandTools::stringToCommand(first_word))
	{
	case CommandType::EmptyCommandType:
		// do and print nothing
		break;
	case CommandType::CdCommandType:
	{
		CdCommand cd_command(first_word, args);
		cd_command.execute(this->fs);
		this->addToHistory(new CdCommand(cd_command));
	}
	break;
	case CommandType::CpCommandType:
	{
		CpCommand cp_command(first_word, args);
		cp_command.execute(this->fs);
		this->addToHistory(new CpCommand(cp_command));
	}
	break;
	case CommandType::ExecCommandType:
	{
		ExecCommand exec_command(first_word, args, this->getHistory());
		exec_command.execute(this->fs);
		this->addToHistory(new ExecCommand(exec_command));
	}
	break;
	case CommandType::HistoryCommandType:
	{
		HistoryCommand history_command(first_word, args, this->getHistory());
		history_command.execute(this->fs);
		this->addToHistory(new HistoryCommand(history_command));
	}
	break;
	case CommandType::LsCommandType:
	{
		LsCommand ls_command(first_word, args);
		ls_command.execute(this->fs);
		this->addToHistory(new LsCommand(ls_command));
	}
	break;
	case CommandType::MkdirCommandType:
	{
		MkdirCommand mkdir_command(first_word, args);
		mkdir_command.execute(this->fs);
		this->addToHistory(new MkdirCommand(mkdir_command));
	}
	break;
	case CommandType::MkfileCommandType:
	{
		MkfileCommand mkfile_command(first_word, args);
		mkfile_command.execute(this->fs);
		this->addToHistory(new MkfileCommand(mkfile_command));
	}
	break;
	case CommandType::MvCommandType:
	{
		MvCommand mv_command(first_word, args);
		mv_command.execute(this->fs);
		this->addToHistory(new MvCommand(mv_command));
	}
	break;
	case CommandType::PwdCommandType:
	{
		PwdCommand pwd_command(first_word, args);
		pwd_command.execute(this->fs);
		this->addToHistory(new PwdCommand(pwd_command));
	}
	break;
	case CommandType::RenameCommandType:
	{
		RenameCommand rename_command(first_word, args);
		rename_command.execute(this->fs);
		this->addToHistory(new RenameCommand(rename_command));
	}
	break;
	case CommandType::RmCommandType:
	{
		RmCommand rm_command(first_word, args);
		rm_command.execute(this->fs);
		this->addToHistory(new RmCommand(rm_command));
	}
	break;
	case CommandType::VerboseCommandType:
	{
		VerboseCommand verbose_command(first_word, args);
		verbose_command.execute(this->fs);
		this->addToHistory(new VerboseCommand(verbose_command));
	}
	break;
	case CommandType::UnknownCommandType:
	default:
		ErrorCommand error_command(first_word, args);
		error_command.execute(this->fs);
		this->addToHistory(new ErrorCommand(error_command));
		break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x3d8, %rsp            # imm = 0x3D8
movq %rsi, %r14
movq %rdi, %rbx
leaq 0xf53b(%rip), %rax      # 0x131a4
movl (%rax), %eax
andl $-0x2, %eax
cmpl $0x2, %eax
jne 0x3cb0
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq 0xf34f(%rip), %rdi      # 0x12fd0
callq 0x3200
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r14, %rdi
movl $0x20, %esi
xorl %edx, %edx
callq 0x3220
leaq -0x98(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x31d0
movq 0x8(%r15), %rdx
movq 0x8(%r14), %rcx
subq %rdx, %rcx
leaq -0xb8(%rbp), %rdi
movq %r14, %rsi
callq 0x31d0
leaq -0x98(%rbp), %rdi
callq 0xaa02
cmpl $0xd, %eax
ja 0x446c
movl %eax, %eax
leaq 0xa33a(%rip), %rcx      # 0xe048
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq -0x1e8(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
addq %rsi, %rdx
leaq -0x1f8(%rbp), %rdi
callq 0x392c
leaq -0x1c8(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x1d8(%rbp), %rdi
callq 0x392c
leaq -0x78(%rbp), %rdi
leaq -0x1f8(%rbp), %rsi
leaq -0x1d8(%rbp), %rdx
callq 0x5918
movq -0x1d8(%rbp), %rdi
cmpq %r15, %rdi
je 0x3d8f
callq 0x31a0
movq -0x1f8(%rbp), %rdi
cmpq %r14, %rdi
je 0x3da0
callq 0x31a0
leaq 0x18(%rbx), %rsi
leaq -0x78(%rbp), %rdi
callq 0x574a
movl $0x48, %edi
callq 0x31c0
movq %rax, %r14
leaq 0xec3f(%rip), %r12      # 0x12a00
movq %r12, (%rax)
leaq 0x8(%rax), %r15
leaq 0x18(%rax), %r13
movq %r13, 0x8(%rax)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x392c
leaq 0x28(%r14), %rdi
movq %r14, %rax
addq $0x38, %rax
movq %rax, 0x28(%r14)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
callq 0x392c
leaq 0xec17(%rip), %rax      # 0x12a20
addq $0x10, %rax
movq %rax, (%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4df2
jmp 0x4a9d
leaq -0x328(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
addq %rsi, %rdx
leaq -0x338(%rbp), %rdi
callq 0x392c
leaq -0x308(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x318(%rbp), %rdi
callq 0x392c
leaq -0x78(%rbp), %rdi
leaq -0x338(%rbp), %rsi
leaq -0x318(%rbp), %rdx
movq %rbx, %rcx
callq 0x9d66
movq -0x318(%rbp), %rdi
cmpq %r15, %rdi
je 0x3e9b
callq 0x31a0
movq -0x338(%rbp), %rdi
cmpq %r14, %rdi
je 0x3eac
callq 0x31a0
leaq 0x18(%rbx), %rsi
leaq -0x78(%rbp), %rdi
callq 0x9a84
movl $0x50, %edi
callq 0x31c0
movq %rax, %r14
leaq 0xeb33(%rip), %r12      # 0x12a00
movq %r12, (%rax)
leaq 0x8(%rax), %r15
leaq 0x18(%rax), %r13
movq %r13, 0x8(%rax)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x392c
leaq 0x28(%r14), %rdi
movq %r14, %rax
addq $0x38, %rax
movq %rax, 0x28(%r14)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
callq 0x392c
leaq 0xec2b(%rip), %rax      # 0x12b40
addq $0x10, %rax
movq %rax, (%r14)
movq -0x30(%rbp), %rax
movq %rax, 0x48(%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4df2
jmp 0x4a9d
leaq -0x2a8(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2b8(%rbp), %rdi
callq 0x392c
leaq -0x288(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x298(%rbp), %rdi
callq 0x392c
leaq -0x78(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
leaq -0x298(%rbp), %rdx
callq 0x6e1e
movq -0x298(%rbp), %rdi
cmpq %r15, %rdi
je 0x3fac
callq 0x31a0
movq -0x2b8(%rbp), %rdi
cmpq %r14, %rdi
je 0x3fbd
callq 0x31a0
leaq 0x18(%rbx), %rsi
leaq -0x78(%rbp), %rdi
callq 0x6598
movl $0x48, %edi
callq 0x31c0
movq %rax, %r14
leaq 0xea22(%rip), %r12      # 0x12a00
movq %r12, (%rax)
leaq 0x8(%rax), %r15
leaq 0x18(%rax), %r13
movq %r13, 0x8(%rax)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x392c
leaq 0x28(%r14), %rdi
movq %r14, %rax
addq $0x38, %rax
movq %rax, 0x28(%r14)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
callq 0x392c
leaq 0xea5a(%rip), %rax      # 0x12a80
addq $0x10, %rax
movq %rax, (%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4df2
jmp 0x4a9d
leaq -0x368(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
addq %rsi, %rdx
leaq -0x378(%rbp), %rdi
callq 0x392c
leaq -0x348(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x358(%rbp), %rdi
callq 0x392c
leaq -0x78(%rbp), %rdi
leaq -0x378(%rbp), %rsi
leaq -0x358(%rbp), %rdx
movq %rbx, %rcx
callq 0xa980
movq -0x358(%rbp), %rdi
cmpq %r15, %rdi
je 0x40b8
callq 0x31a0
movq -0x378(%rbp), %rdi
cmpq %r14, %rdi
je 0x40c9
callq 0x31a0
leaq 0x18(%rbx), %rsi
leaq -0x78(%rbp), %rdi
callq 0xa586
movl $0x50, %edi
callq 0x31c0
movq %rax, %r14
leaq 0xe916(%rip), %r12      # 0x12a00
movq %r12, (%rax)
leaq 0x8(%rax), %r15
leaq 0x18(%rax), %r13
movq %r13, 0x8(%rax)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x392c
leaq 0x28(%r14), %rdi
movq %r14, %rax
addq $0x38, %rax
movq %rax, 0x28(%r14)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
callq 0x392c
leaq 0xea6e(%rip), %rax      # 0x12ba0
addq $0x10, %rax
movq %rax, (%r14)
movq -0x30(%rbp), %rax
movq %rax, 0x48(%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4df2
jmp 0x4a9d
leaq -0x268(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
addq %rsi, %rdx
leaq -0x278(%rbp), %rdi
callq 0x392c
leaq -0x248(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x258(%rbp), %rdi
callq 0x392c
leaq -0x78(%rbp), %rdi
leaq -0x278(%rbp), %rsi
leaq -0x258(%rbp), %rdx
callq 0x7836
movq -0x258(%rbp), %rdi
cmpq %r15, %rdi
je 0x41c9
callq 0x31a0
movq -0x278(%rbp), %rdi
cmpq %r14, %rdi
je 0x41da
callq 0x31a0
leaq 0x18(%rbx), %rsi
leaq -0x78(%rbp), %rdi
callq 0x6f54
movl $0x48, %edi
callq 0x31c0
movq %rax, %r14
leaq 0xe805(%rip), %r12      # 0x12a00
movq %r12, (%rax)
leaq 0x8(%rax), %r15
leaq 0x18(%rax), %r13
movq %r13, 0x8(%rax)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x392c
leaq 0x28(%r14), %rdi
movq %r14, %rax
addq $0x38, %rax
movq %rax, 0x28(%r14)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
callq 0x392c
leaq 0xe85d(%rip), %rax      # 0x12aa0
addq $0x10, %rax
movq %rax, (%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4df2
jmp 0x4a9d
leaq -0x128(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
addq %rsi, %rdx
leaq -0x138(%rbp), %rdi
callq 0x392c
leaq -0x108(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x118(%rbp), %rdi
callq 0x392c
leaq -0x78(%rbp), %rdi
leaq -0x138(%rbp), %rsi
leaq -0x118(%rbp), %rdx
callq 0xa128
movq -0x118(%rbp), %rdi
cmpq %r15, %rdi
je 0x42d2
callq 0x31a0
movq -0x138(%rbp), %rdi
cmpq %r14, %rdi
je 0x42e3
callq 0x31a0
leaq 0x18(%rbx), %rsi
leaq -0x78(%rbp), %rdi
callq 0x9ea8
movl $0x48, %edi
callq 0x31c0
movq %rax, %r14
leaq 0xe6fc(%rip), %r12      # 0x12a00
movq %r12, (%rax)
leaq 0x8(%rax), %r15
leaq 0x18(%rax), %r13
movq %r13, 0x8(%rax)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x392c
leaq 0x28(%r14), %rdi
movq %r14, %rax
addq $0x38, %rax
movq %rax, 0x28(%r14)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
callq 0x392c
leaq 0xe814(%rip), %rax      # 0x12b60
addq $0x10, %rax
movq %rax, (%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4df2
jmp 0x4a9d
leaq -0x2e8(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2f8(%rbp), %rdi
callq 0x392c
leaq -0x2c8(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2d8(%rbp), %rdi
callq 0x392c
leaq -0x78(%rbp), %rdi
leaq -0x2f8(%rbp), %rsi
leaq -0x2d8(%rbp), %rdx
callq 0x6462
movq -0x2d8(%rbp), %rdi
cmpq %r15, %rdi
je 0x43db
callq 0x31a0
movq -0x2f8(%rbp), %rdi
cmpq %r14, %rdi
je 0x43ec
callq 0x31a0
leaq 0x18(%rbx), %rsi
leaq -0x78(%rbp), %rdi
callq 0x5ea2
movl $0x48, %edi
callq 0x31c0
movq %rax, %r14
leaq 0xe5f3(%rip), %r12      # 0x12a00
movq %r12, (%rax)
leaq 0x8(%rax), %r15
leaq 0x18(%rax), %r13
movq %r13, 0x8(%rax)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x392c
leaq 0x28(%r14), %rdi
movq %r14, %rax
addq $0x38, %rax
movq %rax, 0x28(%r14)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
callq 0x392c
leaq 0xe60b(%rip), %rax      # 0x12a60
addq $0x10, %rax
movq %rax, (%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4df2
jmp 0x4a9d
leaq -0xe8(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
addq %rsi, %rdx
leaq -0xf8(%rbp), %rdi
callq 0x392c
leaq -0xc8(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
addq %rsi, %rdx
leaq -0xd8(%rbp), %rdi
callq 0x392c
leaq -0x78(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
leaq -0xd8(%rbp), %rdx
callq 0xa25e
movq -0xd8(%rbp), %rdi
cmpq %r15, %rdi
je 0x44e4
callq 0x31a0
movq -0xf8(%rbp), %rdi
cmpq %r14, %rdi
je 0x44f5
callq 0x31a0
leaq 0x18(%rbx), %rsi
leaq -0x78(%rbp), %rdi
callq 0xa31c
movl $0x48, %edi
callq 0x31c0
movq %rax, %r14
leaq 0xe4ea(%rip), %r12      # 0x12a00
movq %r12, (%rax)
leaq 0x8(%rax), %r15
leaq 0x18(%rax), %r13
movq %r13, 0x8(%rax)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x392c
leaq 0x28(%r14), %rdi
movq %r14, %rax
addq $0x38, %rax
movq %rax, 0x28(%r14)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
callq 0x392c
leaq 0xe622(%rip), %rax      # 0x12b80
addq $0x10, %rax
movq %rax, (%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4df2
jmp 0x4a9d
leaq -0x3e8(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3f8(%rbp), %rdi
callq 0x392c
leaq -0x3c8(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3d8(%rbp), %rdi
callq 0x392c
leaq -0x78(%rbp), %rdi
leaq -0x3f8(%rbp), %rsi
leaq -0x3d8(%rbp), %rdx
callq 0x5d6c
movq -0x3d8(%rbp), %rdi
cmpq %r15, %rdi
je 0x45ed
callq 0x31a0
movq -0x3f8(%rbp), %rdi
cmpq %r14, %rdi
je 0x45fe
callq 0x31a0
leaq 0x18(%rbx), %rsi
leaq -0x78(%rbp), %rdi
callq 0x5a4e
movl $0x48, %edi
callq 0x31c0
movq %rax, %r14
leaq 0xe3e1(%rip), %r12      # 0x12a00
movq %r12, (%rax)
leaq 0x8(%rax), %r15
leaq 0x18(%rax), %r13
movq %r13, 0x8(%rax)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x392c
leaq 0x28(%r14), %rdi
movq %r14, %rax
addq $0x38, %rax
movq %rax, 0x28(%r14)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
callq 0x392c
leaq 0xe3d9(%rip), %rax      # 0x12a40
addq $0x10, %rax
movq %rax, (%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4df2
jmp 0x4a9d
leaq -0x3a8(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3b8(%rbp), %rdi
callq 0x392c
leaq -0x388(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x398(%rbp), %rdi
callq 0x392c
leaq -0x78(%rbp), %rdi
leaq -0x3b8(%rbp), %rsi
leaq -0x398(%rbp), %rdx
callq 0x80ca
movq -0x398(%rbp), %rdi
cmpq %r15, %rdi
je 0x46f6
callq 0x31a0
movq -0x3b8(%rbp), %rdi
cmpq %r14, %rdi
je 0x4707
callq 0x31a0
leaq 0x18(%rbx), %rsi
leaq -0x78(%rbp), %rdi
callq 0x796c
movl $0x48, %edi
callq 0x31c0
movq %rax, %r14
leaq 0xe2d8(%rip), %r12      # 0x12a00
movq %r12, (%rax)
leaq 0x8(%rax), %r15
leaq 0x18(%rax), %r13
movq %r13, 0x8(%rax)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x392c
leaq 0x28(%r14), %rdi
movq %r14, %rax
addq $0x38, %rax
movq %rax, 0x28(%r14)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
callq 0x392c
leaq 0xe350(%rip), %rax      # 0x12ac0
addq $0x10, %rax
movq %rax, (%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4df2
jmp 0x4a9d
leaq -0x228(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
addq %rsi, %rdx
leaq -0x238(%rbp), %rdi
callq 0x392c
leaq -0x208(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x218(%rbp), %rdi
callq 0x392c
leaq -0x78(%rbp), %rdi
leaq -0x238(%rbp), %rsi
leaq -0x218(%rbp), %rdx
callq 0x8ac6
movq -0x218(%rbp), %rdi
cmpq %r15, %rdi
je 0x47ff
callq 0x31a0
movq -0x238(%rbp), %rdi
cmpq %r14, %rdi
je 0x4810
callq 0x31a0
leaq 0x18(%rbx), %rsi
leaq -0x78(%rbp), %rdi
callq 0x8200
movl $0x48, %edi
callq 0x31c0
movq %rax, %r14
leaq 0xe1cf(%rip), %r12      # 0x12a00
movq %r12, (%rax)
leaq 0x8(%rax), %r15
leaq 0x18(%rax), %r13
movq %r13, 0x8(%rax)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x392c
leaq 0x28(%r14), %rdi
movq %r14, %rax
addq $0x38, %rax
movq %rax, 0x28(%r14)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
callq 0x392c
leaq 0xe267(%rip), %rax      # 0x12ae0
addq $0x10, %rax
movq %rax, (%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4df2
jmp 0x4a9d
leaq -0x168(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
addq %rsi, %rdx
leaq -0x178(%rbp), %rdi
callq 0x392c
leaq -0x148(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x158(%rbp), %rdi
callq 0x392c
leaq -0x78(%rbp), %rdi
leaq -0x178(%rbp), %rsi
leaq -0x158(%rbp), %rdx
callq 0x9942
movq -0x158(%rbp), %rdi
cmpq %r15, %rdi
je 0x4908
callq 0x31a0
movq -0x178(%rbp), %rdi
cmpq %r14, %rdi
je 0x4919
callq 0x31a0
leaq 0x18(%rbx), %rsi
leaq -0x78(%rbp), %rdi
callq 0x92e6
movl $0x48, %edi
callq 0x31c0
movq %rax, %r14
leaq 0xe0c6(%rip), %r12      # 0x12a00
movq %r12, (%rax)
leaq 0x8(%rax), %r15
leaq 0x18(%rax), %r13
movq %r13, 0x8(%rax)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x392c
leaq 0x28(%r14), %rdi
movq %r14, %rax
addq $0x38, %rax
movq %rax, 0x28(%r14)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
callq 0x392c
leaq 0xe19e(%rip), %rax      # 0x12b20
addq $0x10, %rax
movq %rax, (%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4df2
jmp 0x4a9d
leaq -0x1a8(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
addq %rsi, %rdx
leaq -0x1b8(%rbp), %rdi
callq 0x392c
leaq -0x188(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x198(%rbp), %rdi
callq 0x392c
leaq -0x78(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
leaq -0x198(%rbp), %rdx
callq 0x91b0
movq -0x198(%rbp), %rdi
cmpq %r15, %rdi
je 0x4a11
callq 0x31a0
movq -0x1b8(%rbp), %rdi
cmpq %r14, %rdi
je 0x4a22
callq 0x31a0
leaq 0x18(%rbx), %rsi
leaq -0x78(%rbp), %rdi
callq 0x8bfc
movl $0x48, %edi
callq 0x31c0
movq %rax, %r14
leaq 0xdfbd(%rip), %r12      # 0x12a00
movq %r12, (%rax)
leaq 0x8(%rax), %r15
leaq 0x18(%rax), %r13
movq %r13, 0x8(%rax)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x392c
leaq 0x28(%r14), %rdi
movq %r14, %rax
addq $0x38, %rax
movq %rax, 0x28(%r14)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
callq 0x392c
leaq 0xe075(%rip), %rax      # 0x12b00
addq $0x10, %rax
movq %rax, (%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4df2
leaq -0x40(%rbp), %rax
movq %r12, -0x38(%rax)
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4ab3
callq 0x31a0
leaq -0x60(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4ac5
callq 0x31a0
leaq -0xa8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4ada
callq 0x31a0
leaq -0x88(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4aef
callq 0x31a0
addq $0x3d8, %rsp            # imm = 0x3D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x4b19
jmp 0x4b19
jmp 0x4b19
jmp 0x4b19
jmp 0x4b19
jmp 0x4b19
jmp 0x4b19
jmp 0x4b19
jmp 0x4b19
jmp 0x4b19
jmp 0x4b19
jmp 0x4b19
movq %rax, %rbx
movq (%r15), %rdi
cmpq %r13, %rdi
je 0x4b46
callq 0x31a0
jmp 0x4b46
jmp 0x4b43
jmp 0x4b43
jmp 0x4b43
jmp 0x4b43
jmp 0x4b43
jmp 0x4b43
jmp 0x4b43
jmp 0x4b43
jmp 0x4b43
jmp 0x4b43
jmp 0x4b43
jmp 0x4b43
movq %rax, %rbx
movq %r14, %rdi
callq 0x31a0
jmp 0x4dad
movq %rax, %rbx
movq -0x198(%rbp), %rdi
cmpq %r15, %rdi
je 0x4ccf
callq 0x31a0
jmp 0x4ccf
movq %rax, %rbx
movq -0x158(%rbp), %rdi
cmpq %r15, %rdi
je 0x4cde
callq 0x31a0
jmp 0x4cde
movq %rax, %rbx
movq -0x218(%rbp), %rdi
cmpq %r15, %rdi
je 0x4ced
callq 0x31a0
jmp 0x4ced
movq %rax, %rbx
movq -0x398(%rbp), %rdi
cmpq %r15, %rdi
je 0x4cf9
callq 0x31a0
jmp 0x4cf9
movq %rax, %rbx
movq -0x3d8(%rbp), %rdi
cmpq %r15, %rdi
je 0x4d05
callq 0x31a0
jmp 0x4d05
movq %rax, %rbx
movq -0xd8(%rbp), %rdi
cmpq %r15, %rdi
je 0x4d1d
callq 0x31a0
jmp 0x4d1d
movq %rax, %rbx
movq -0x1d8(%rbp), %rdi
cmpq %r15, %rdi
je 0x4d11
callq 0x31a0
jmp 0x4d11
movq %rax, %rbx
movq -0x2d8(%rbp), %rdi
cmpq %r15, %rdi
je 0x4d29
callq 0x31a0
jmp 0x4d29
movq %rax, %rbx
movq -0x118(%rbp), %rdi
cmpq %r15, %rdi
je 0x4d35
callq 0x31a0
jmp 0x4d35
movq %rax, %rbx
movq -0x258(%rbp), %rdi
cmpq %r15, %rdi
je 0x4d41
callq 0x31a0
jmp 0x4d41
movq %rax, %rbx
movq -0x358(%rbp), %rdi
cmpq %r15, %rdi
je 0x4d4d
callq 0x31a0
jmp 0x4d4d
movq %rax, %rbx
movq -0x298(%rbp), %rdi
cmpq %r15, %rdi
je 0x4d59
callq 0x31a0
jmp 0x4d59
movq %rax, %rbx
movq -0x318(%rbp), %rdi
cmpq %r15, %rdi
je 0x4d65
callq 0x31a0
jmp 0x4d65
movq %rax, %rbx
movq -0x1b8(%rbp), %rdi
jmp 0x4d6c
movq %rax, %rbx
movq -0x178(%rbp), %rdi
jmp 0x4d6c
movq %rax, %rbx
movq -0x238(%rbp), %rdi
jmp 0x4d6c
movq %rax, %rbx
movq -0x3b8(%rbp), %rdi
jmp 0x4d6c
movq %rax, %rbx
movq -0x3f8(%rbp), %rdi
jmp 0x4d6c
movq %rax, %rbx
movq -0x1f8(%rbp), %rdi
jmp 0x4d6c
movq %rax, %rbx
movq -0xf8(%rbp), %rdi
jmp 0x4d6c
movq %rax, %rbx
movq -0x2f8(%rbp), %rdi
jmp 0x4d6c
movq %rax, %rbx
movq -0x138(%rbp), %rdi
jmp 0x4d6c
movq %rax, %rbx
movq -0x278(%rbp), %rdi
jmp 0x4d6c
movq %rax, %rbx
movq -0x378(%rbp), %rdi
jmp 0x4d6c
movq %rax, %rbx
movq -0x2b8(%rbp), %rdi
jmp 0x4d6c
movq %rax, %rbx
movq -0x338(%rbp), %rdi
cmpq %r14, %rdi
je 0x4dbb
callq 0x31a0
jmp 0x4dbb
jmp 0x4db8
jmp 0x4db8
jmp 0x4db8
jmp 0x4db8
jmp 0x4db8
jmp 0x4db8
jmp 0x4db8
jmp 0x4db8
jmp 0x4db8
jmp 0x4db8
jmp 0x4db8
jmp 0x4db8
jmp 0x4db8
jmp 0x4daa
jmp 0x4daa
jmp 0x4daa
jmp 0x4daa
jmp 0x4daa
jmp 0x4daa
jmp 0x4daa
jmp 0x4daa
jmp 0x4daa
jmp 0x4daa
jmp 0x4daa
jmp 0x4daa
movq %rax, %rbx
leaq -0x78(%rbp), %rdi
callq 0x52ea
jmp 0x4dbb
movq %rax, %rbx
leaq -0xa8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4dd0
callq 0x31a0
leaq -0x88(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4de5
callq 0x31a0
movq %rbx, %rdi
callq 0x32b0
movq %rax, %rbx
jmp 0x4dd0