// File: /workspace/github_cpp_makefile_star2_O3/mbourand[P]webserv/srcs/tcp-server.cpp
// Function: handle_terminal_input(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::list<Client, std::allocator<Client>> const&, timeval*, Threadpool*)
static void		handle_terminal_input(const std::string& input, const std::list<Client> &clients, struct timeval *start, Threadpool* workers)
{
	if (input == "stop")
		g_webserv.run = false;
	else if (input == "help")
		std::cout << "\e[34m" << "Available commands are: help|stop|gzip|deflate|info|workers|uptime|logger|types|debug" << "\e[39m" << std::endl;
	else if (input == "types")
		g_webserv.file_formatname->Print();
	else if (input == "debug")
	{
		g_webserv.debug = !g_webserv.debug;
		std::cout << "\e[34m" << "Debug print is now "+std::string(g_webserv.debug ? "enabled" : "disabled") << "\e[39m" << std::endl;
	}
	else if (input == "logger")
	{
		switch (Logger::getMode())
		{
		case VERBOSE:
			Logger::setMode(NORMAL);
			std::cout << "\e[34m" << "LoggerMode is now: NORMAL" << "\e[39m" << std::endl;
			break;
		case NORMAL:
			Logger::setMode(SILENT);
			std::cout << "\e[34m" << "LoggerMode is now: SILENT" << "\e[39m" << std::endl;
			break;
		default:
			Logger::setMode(VERBOSE);
			std::cout << "\e[34m" << "LoggerMode is now: VERBOSE" << "\e[39m" << std::endl;
			break;
		}
	}
	else if (input == "gzip")
	{
		g_webserv.compression_gzip = !g_webserv.compression_gzip;
		std::cout << "\e[34m" << "Plugin gzip is now "+std::string(g_webserv.compression_gzip ? "enabled" : "disabled") << "\e[39m" << std::endl;
	}
	else if (input == "deflate")
	{
		g_webserv.compression_deflate = !g_webserv.compression_deflate;
		std::cout << "\e[34m" << "Plugin deflate is now "+std::string(g_webserv.compression_deflate ? "enabled" : "disabled") << "\e[39m" << std::endl;
	}
	else if (input == "workers")
	{
		std::string	details("Workers Job Queue:\n");
		if (!workers->getJobs().empty())
		{
			workers->Lock();
			for (std::deque<Client*>::const_iterator jobs_it = workers->getJobs().begin(); jobs_it != workers->getJobs().end(); jobs_it++)
				details += "\t"+(*jobs_it)->req->_method->getType()+" "+(*jobs_it)->req->_url._path+" -> "+(*jobs_it)->sckt->getIPAddress()+"\n";
			workers->Unlock();
		}
		else
			details += "empty";
		std::cout << "\e[34m" << details << "\e[39m" << std::endl;
	}
	else if (input == "info")
	{
		std::cout << "\e[34m" << "Webserv is serving "+ft::toString(clients.size())+" clients (max: "+ft::toString(g_webserv.max_connections)+")" << "\e[39m" << std::endl;
		for (std::list<Client>::const_iterator it = clients.begin(); it != clients.end(); it++)
		{
			std::string	details("Client information:\n");
			details += "\tIP: "+it->sckt->getIPAddress()+"\n";
			details += "\tEntry Port: "+it->sckt->getServerPort_Str()+"\n";
			details += "\tSocket FD: "+ft::toString(it->sckt->GetSocket())+"\n";
			workers->Lock();
			if (!workers->getJobs().empty())
				for (std::deque<Client*>::const_iterator jobs_it = workers->getJobs().begin(); jobs_it != workers->getJobs().end(); jobs_it++)
					if (it->sckt == (*jobs_it)->sckt)
						details += "\tQueued Job: "+(*jobs_it)->req->_method->getType()+" "+(*jobs_it)->req->_url._path+"\n";
			if (!workers->getCurrentJobs().empty())
				for (std::list<Client*>::const_iterator jobs_it = workers->getCurrentJobs().begin(); jobs_it != workers->getCurrentJobs().end(); jobs_it++)
					if (it->sckt == (*jobs_it)->sckt)
						details += "\tWorker Assigned: "+(*jobs_it)->req->_method->getType()+" "+(*jobs_it)->req->_url._path+"\n";
			workers->Unlock();
			std::cout << "\e[34m" << details << "\e[39m" << std::endl;
		}
	}
	else if (input == "uptime")
	{
		struct timeval 		now;
		int					hours, mins, secs;

		hours = mins = 0;
		gettimeofday(&now, NULL);
		secs = now.tv_sec - start->tv_sec;
		while (secs >= 60)
		{
			mins++;
			secs -= 60;
		}
		while (mins >= 60)
		{
			hours++;
			mins -= 60;
		}
		std::cout << "\e[34m" << "Webserv uptime is "+ft::toString(hours)+" hour(s) "+ft::toString(mins)+" minute(s) and "+ft::toString(secs)+" second(s)." << "\e[39m" << std::endl;
	}
	else
		std::cout << "\e[34m" << "Unknown Command" << (input.empty() ? "." : ": \""+input+"\"") << "\e[39m" << std::endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x148, %rsp            # imm = 0x148
movq %rcx, %rbx
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %r14
leaq 0xcbf0(%rip), %rsi      # 0x3d4a3
callq 0x7180
testl %eax, %eax
je 0x30a1e
leaq 0xcbe1(%rip), %rsi      # 0x3d4a8
movq %r14, %rdi
callq 0x7180
testl %eax, %eax
je 0x30a2a
leaq 0xaf45(%rip), %rsi      # 0x3b823
movq %r14, %rdi
callq 0x7180
testl %eax, %eax
je 0x30aa5
leaq 0xca71(%rip), %rsi      # 0x3d366
movq %r14, %rdi
callq 0x7180
testl %eax, %eax
je 0x30ac2
leaq 0xcbc6(%rip), %rsi      # 0x3d4d2
movq %r14, %rdi
callq 0x7180
testl %eax, %eax
je 0x30b63
leaq 0xd009(%rip), %rsi      # 0x3d92c
movq %r14, %rdi
callq 0x7180
testl %eax, %eax
je 0x30bc0
leaq 0xaf90(%rip), %rsi      # 0x3b8ca
movq %r14, %rdi
callq 0x7180
testl %eax, %eax
je 0x30d0b
leaq 0xaf12(%rip), %rsi      # 0x3b863
movq %r14, %rdi
callq 0x7180
testl %eax, %eax
je 0x30e6f
leaq 0xcc0a(%rip), %rsi      # 0x3d572
movq %r14, %rdi
callq 0x7180
testl %eax, %eax
je 0x3131d
leaq 0xcc73(%rip), %rsi      # 0x3d5f2
movq %r14, %rdi
callq 0x7180
testl %eax, %eax
je 0x313af
movq 0x1d612(%rip), %rbx     # 0x4dfa8
leaq 0xc834(%rip), %rsi      # 0x3d1d1
movl $0x5, %edx
movq %rbx, %rdi
callq 0x7510
leaq 0xcc81(%rip), %rsi      # 0x3d632
movl $0xf, %edx
movq %rbx, %rdi
callq 0x7510
movq 0x8(%r14), %r15
testq %r15, %r15
je 0x314b6
leaq 0xcc70(%rip), %rsi      # 0x3d642
leaq 0x8(%rsp), %rdi
movq %r14, %rdx
callq 0xe2cb
leaq 0xcefc(%rip), %rsi      # 0x3d8e2
leaq 0x8(%rsp), %rdi
callq 0x78d0
leaq 0x58(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x3209f
movq %rsi, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x320a5
movb $0x0, 0x1db43(%rip)     # 0x4e568
jmp 0x30e5d
movq 0x1d577(%rip), %rbx     # 0x4dfa8
leaq 0xc799(%rip), %rsi      # 0x3d1d1
movl $0x5, %edx
movq %rbx, %rdi
callq 0x7510
leaq 0xc8ca(%rip), %rsi      # 0x3d316
movl $0x55, %edx
movq %rbx, %rdi
callq 0x7510
leaq 0xc8b0(%rip), %rsi      # 0x3d310
movl $0x5, %edx
movq %rbx, %rdi
callq 0x7510
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x7490
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7050
movq %rax, %rdi
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x7340
movq 0x1dac4(%rip), %rdi     # 0x4e570
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x180e8
xorb $0x1, 0x1daa0(%rip)     # 0x4e569
movq 0x1d4d8(%rip), %rdi     # 0x4dfa8
leaq 0xc6fa(%rip), %rsi      # 0x3d1d1
movl $0x5, %edx
callq 0x7510
movzbl 0x1da81(%rip), %eax     # 0x4e569
leaq 0xc9d2(%rip), %rcx      # 0x3d4c1
leaq 0xc9d3(%rip), %rsi      # 0x3d4c9
testq %rax, %rax
cmovneq %rcx, %rsi
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rsi, %rdx
subq %rax, %rdx
addq $0x8, %rdx
leaq 0x8(%rsp), %rdi
callq 0x80f4
leaq 0xc98c(%rip), %rcx      # 0x3d4ad
leaq 0x8(%rsp), %rdi
movl $0x13, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x7500
leaq 0x58(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x30c68
movq %rsi, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x30c72
leaq 0x1d9e6(%rip), %rdi     # 0x4e550
callq 0x1831c
movl (%rax), %eax
leaq 0x48(%rsp), %rsi
cmpl $0x1, %eax
je 0x30dc5
testl %eax, %eax
jne 0x30e00
movl $0x1, (%rsi)
leaq 0x1d9bc(%rip), %rdi     # 0x4e550
callq 0x18320
movq 0x1d408(%rip), %rbx     # 0x4dfa8
leaq 0xc62a(%rip), %rsi      # 0x3d1d1
movl $0x5, %edx
movq %rbx, %rdi
callq 0x7510
leaq 0xc91e(%rip), %rsi      # 0x3d4d9
jmp 0x30df9
xorb $0x1, 0x1da6a(%rip)     # 0x4e631
movq 0x1d3da(%rip), %rdi     # 0x4dfa8
leaq 0xc5fc(%rip), %rsi      # 0x3d1d1
movl $0x5, %edx
callq 0x7510
movzbl 0x1da4b(%rip), %eax     # 0x4e631
leaq 0xc8d4(%rip), %rcx      # 0x3d4c1
leaq 0xc8d5(%rip), %rsi      # 0x3d4c9
testq %rax, %rax
cmovneq %rcx, %rsi
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rsi, %rdx
subq %rax, %rdx
addq $0x8, %rdx
leaq 0x8(%rsp), %rdi
callq 0x80f4
leaq 0xc909(%rip), %rsi      # 0x3d528
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1244d
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq 0x1d369(%rip), %rdi     # 0x4dfa8
callq 0x7510
movq %rax, %rbx
leaq 0xc6c2(%rip), %rsi      # 0x3d310
movl $0x5, %edx
movq %rax, %rdi
callq 0x7510
movq %rbx, %rdi
callq 0x7250
jmp 0x30dae
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq %r15, %rsi
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x1d317(%rip), %rdi     # 0x4dfa8
callq 0x7510
movq %rax, %rbx
leaq 0xc670(%rip), %rsi      # 0x3d310
movl $0x5, %edx
movq %rax, %rdi
callq 0x7510
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x7490
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7050
movq %rax, %rdi
callq 0x7340
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0x30ceb
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x30e5d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x74b0
jmp 0x30e5d
xorb $0x1, 0x1d91e(%rip)     # 0x4e630
movq 0x1d28f(%rip), %rdi     # 0x4dfa8
leaq 0xc4b1(%rip), %rsi      # 0x3d1d1
movl $0x5, %edx
callq 0x7510
movzbl 0x1d8ff(%rip), %eax     # 0x4e630
leaq 0xc789(%rip), %rcx      # 0x3d4c1
leaq 0xc78a(%rip), %rsi      # 0x3d4c9
testq %rax, %rax
cmovneq %rcx, %rsi
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rsi, %rdx
subq %rax, %rdx
addq $0x8, %rdx
leaq 0x8(%rsp), %rdi
callq 0x80f4
leaq 0xc7d2(%rip), %rsi      # 0x3d53c
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1244d
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq 0x1d21e(%rip), %rdi     # 0x4dfa8
callq 0x7510
movq %rax, %rbx
leaq 0xc577(%rip), %rsi      # 0x3d310
movl $0x5, %edx
movq %rax, %rdi
callq 0x7510
movq %rbx, %rdi
callq 0x7250
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x30cde
jmp 0x30ceb
movl $0x2, (%rsi)
leaq 0x1d77e(%rip), %rdi     # 0x4e550
callq 0x18320
movq 0x1d1ca(%rip), %rbx     # 0x4dfa8
leaq 0xc3ec(%rip), %rsi      # 0x3d1d1
movl $0x5, %edx
movq %rbx, %rdi
callq 0x7510
leaq 0xc6fa(%rip), %rsi      # 0x3d4f3
movl $0x19, %edx
jmp 0x30e39
movl $0x0, (%rsi)
leaq 0x1d743(%rip), %rdi     # 0x4e550
callq 0x18320
movq 0x1d18f(%rip), %rbx     # 0x4dfa8
leaq 0xc3b1(%rip), %rsi      # 0x3d1d1
movl $0x5, %edx
movq %rbx, %rdi
callq 0x7510
leaq 0xc6d9(%rip), %rsi      # 0x3d50d
movl $0x1a, %edx
movq %rbx, %rdi
callq 0x7510
leaq 0xc4c8(%rip), %rsi      # 0x3d310
movl $0x5, %edx
movq %rbx, %rdi
callq 0x7510
movq %rbx, %rdi
callq 0x7250
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x58(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xc6d4(%rip), %rsi      # 0x3d553
leaq 0xc6e0(%rip), %rdx      # 0x3d566
leaq 0x48(%rsp), %rdi
callq 0x80f4
movq %rbx, %rdi
callq 0x18a54
movq 0x30(%rax), %rcx
cmpq 0x10(%rax), %rcx
je 0x31440
movq %rbx, %rdi
callq 0x18782
movq %rbx, %rdi
callq 0x18a54
movq 0x10(%rax), %r15
movq 0x20(%rax), %rcx
movq %rcx, 0xc8(%rsp)
movq 0x28(%rax), %rax
movq %rax, 0xd0(%rsp)
leaq 0x78(%rsp), %r13
leaq 0x38(%rsp), %rbp
leaq 0x18(%rsp), %r12
movq %rbx, %rdi
callq 0x18a54
cmpq 0x30(%rax), %r15
je 0x3139d
movq (%r15), %rax
movq 0x8(%rax), %rax
movq 0x28(%rax), %rsi
movq (%rsi), %rax
leaq 0x118(%rsp), %r14
movq %r14, %rdi
callq *0x10(%rax)
movl $0x1, %r8d
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x9e28(%rip), %rcx      # 0x3ad4b
callq 0x7500
leaq 0x108(%rsp), %rsi
movq %rsi, 0xf8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x30f5c
movq %rdx, 0xf8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x108(%rsp)
jmp 0x30f62
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x100(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xf8(%rsp), %rdi
leaq 0xc688(%rip), %rsi      # 0x3d614
callq 0x78d0
leaq 0xb8(%rsp), %rsi
movq %rsi, 0xa8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x30fc5
movq %rdx, 0xa8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xb8(%rsp)
jmp 0x30fcb
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0xb0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%r15), %rax
movq 0x8(%rax), %rax
movq 0xb8(%rax), %rsi
movq 0xc0(%rax), %rdx
leaq 0xa8(%rsp), %rdi
callq 0x7190
leaq 0x98(%rsp), %rsi
movq %rsi, 0x88(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3103c
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x31042
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x90(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x88(%rsp), %rdi
leaq 0xc4fb(%rip), %rsi      # 0x3d567
callq 0x78d0
movq %r13, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x31094
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x3109c
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%r15), %rax
movq (%rax), %rsi
leaq 0xd8(%rsp), %rdi
callq 0x123b0
movq 0x68(%rsp), %rcx
movl $0xf, %edi
cmpq %r13, %rcx
je 0x310db
movq 0x78(%rsp), %rdi
movq 0x70(%rsp), %r8
movq 0xd8(%rsp), %rsi
movq 0xe0(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x31118
movl $0xf, %edi
leaq 0xe8(%rsp), %r9
cmpq %r9, %rsi
je 0x31113
movq 0xe8(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x31124
leaq 0x68(%rsp), %rdi
callq 0x7190
jmp 0x31135
leaq 0xd8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x7500
movq %rbp, 0x28(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x31155
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x3115c
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x28(%rsp), %rdi
leaq 0xa708(%rip), %rsi      # 0x3b88d
callq 0x78d0
movq %r12, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x311ad
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x311b5
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x48(%rsp), %rdi
callq 0x7190
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x311f8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3120f
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0xd8(%rsp), %rdi
leaq 0xe8(%rsp), %rax
cmpq %rax, %rdi
je 0x31234
movq 0xe8(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x3124b
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x31270
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x31295
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0xf8(%rsp), %rdi
leaq 0x108(%rsp), %rax
cmpq %rax, %rdi
je 0x312ba
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x118(%rsp), %rdi
leaq 0x128(%rsp), %rax
cmpq %rax, %rdi
je 0x312df
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x74b0
addq $0x8, %r15
cmpq 0xc8(%rsp), %r15
jne 0x30ee1
movq 0xd0(%rsp), %rax
movq 0x8(%rax), %r15
addq $0x8, %rax
movq %rax, 0xd0(%rsp)
leaq 0x200(%r15), %rax
movq %rax, 0xc8(%rsp)
jmp 0x30ee1
movq 0x1cc84(%rip), %rdi     # 0x4dfa8
leaq 0xbea6(%rip), %rsi      # 0x3d1d1
movl $0x5, %edx
callq 0x7510
movl 0x10(%r12), %esi
leaq 0x88(%rsp), %r14
movq %r14, %rdi
callq 0x1bd7d
leaq 0xc226(%rip), %rsi      # 0x3d577
leaq 0x68(%rsp), %rdi
movq %r14, %rdx
callq 0x1244d
leaq 0xc226(%rip), %rsi      # 0x3d58b
leaq 0x68(%rsp), %rdi
callq 0x78d0
leaq 0x38(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x314dc
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x314e3
movq %rbx, %rdi
leaq 0x58(%rsp), %r14
callq 0x18798
jmp 0x31451
xorl %r14d, %r14d
leaq 0x138(%rsp), %rbx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x7740
movq (%rbx), %rax
movq (%r15), %rsi
movl %eax, %ebx
subl %esi, %ebx
cmpl $0x3c, %ebx
jl 0x32010
cmpl $0x77, %ebx
movl $0x77, %ecx
cmovael %ecx, %ebx
addl %esi, %ebx
negl %ebx
leal (%rax,%rbx), %edi
addl $0x3b, %edi
movl $0x88888889, %edx       # imm = 0x88888889
imulq %rdi, %rdx
shrq $0x25, %rdx
imull $-0x3c, %edx, %r8d
leal 0x1(%rdx), %ebp
subl %esi, %eax
leal (%rax,%r8), %ebx
addl $-0x3c, %ebx
cmpl $0xdd4, %edi            # imm = 0xDD4
jb 0x32012
cmpl $0x77, %ebp
cmovbl %ebp, %ecx
negl %ecx
leal (%rdx,%rcx), %eax
addl $0x3c, %eax
imulq $0x8888889, %rax, %r14  # imm = 0x8888889
shrq $0x21, %r14
imull $-0x3c, %r14d, %eax
incl %r14d
leal (%rdx,%rax), %ebp
addl $-0x3b, %ebp
jmp 0x32012
leaq 0xc125(%rip), %rsi      # 0x3d56c
leaq 0x48(%rsp), %rdi
callq 0x78d0
movq 0x1cb50(%rip), %rdi     # 0x4dfa8
leaq 0xbd72(%rip), %rsi      # 0x3d1d1
movl $0x5, %edx
callq 0x7510
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq 0x1cb2e(%rip), %rdi     # 0x4dfa8
callq 0x7510
movq %rax, %rbx
leaq 0xbe87(%rip), %rsi      # 0x3d310
movl $0x5, %edx
movq %rax, %rdi
callq 0x7510
movq %rbx, %rdi
callq 0x7250
movq 0x48(%rsp), %rdi
cmpq %r14, %rdi
je 0x30e5d
movq 0x58(%rsp), %rsi
jmp 0x30cfe
leaq 0x58(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xc16a(%rip), %rsi      # 0x3d630
leaq 0xc164(%rip), %rdx      # 0x3d631
leaq 0x48(%rsp), %rdi
callq 0x80f4
jmp 0x320bd
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl 0x1d12b(%rip), %esi     # 0x4e62c
leaq 0xa8(%rsp), %rdi
callq 0x1bd7d
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0xa8(%rsp), %rdx
callq 0x329f7
leaq 0x9930(%rip), %rsi      # 0x3ae5c
leaq 0x8(%rsp), %rdi
callq 0x78d0
leaq 0x58(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3155d
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x31564
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq 0x1ca1b(%rip), %rdi     # 0x4dfa8
callq 0x7510
movq %rax, %r14
leaq 0xbd74(%rip), %rsi      # 0x3d310
movl $0x5, %edx
movq %rax, %rdi
callq 0x7510
movq %r14, %rdi
callq 0x7250
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x315c8
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0x18(%rsp), %r14
movq -0x10(%r14), %rdi
cmpq %r14, %rdi
je 0x315e3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x31604
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x3161b
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x31636
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x31657
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x74b0
movq (%r12), %r13
movq %r12, 0xd0(%rsp)
cmpq %r12, %r13
je 0x30e5d
movq %rbp, 0x48(%rsp)
leaq 0x48(%rsp), %rdi
leaq 0xbf1e(%rip), %rsi      # 0x3d59b
leaq 0xbf2b(%rip), %rdx      # 0x3d5af
callq 0x80f4
movq 0x10(%r13), %rsi
leaq 0x68(%rsp), %r12
movq %r12, %rdi
callq 0x123b0
movl $0x5, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xbf02(%rip), %rcx      # 0x3d5b0
callq 0x7500
leaq 0x38(%rsp), %rsi
movq %rsi, 0x28(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x316db
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x316e1
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x28(%rsp), %rdi
leaq 0xa188(%rip), %rsi      # 0x3b88d
callq 0x78d0
movq %r14, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3172d
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x31734
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x48(%rsp), %rdi
callq 0x7190
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x31777
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x31793
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x317af
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x10(%r13), %rsi
leaq 0x68(%rsp), %r12
movq %r12, %rdi
callq 0x1238c
movl $0xd, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xbde2(%rip), %rcx      # 0x3d5b6
callq 0x7500
leaq 0x38(%rsp), %rsi
movq %rsi, 0x28(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x31801
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x31807
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x28(%rsp), %rdi
leaq 0xa062(%rip), %rsi      # 0x3b88d
callq 0x78d0
movq %r14, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x31853
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x3185a
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x48(%rsp), %rdi
callq 0x7190
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x3189d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x318b9
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x318d5
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x10(%r13), %rdi
callq 0x12bfe
leaq 0x68(%rsp), %r12
movq %r12, %rdi
movl %eax, %esi
callq 0x1bd7d
movl $0xc, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xbcc3(%rip), %rcx      # 0x3d5c4
callq 0x7500
leaq 0x38(%rsp), %rsi
movq %rsi, 0x28(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3192e
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x31934
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x28(%rsp), %rdi
leaq 0x9f35(%rip), %rsi      # 0x3b88d
callq 0x78d0
movq %r14, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x31980
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x31987
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x48(%rsp), %rdi
callq 0x7190
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x319ca
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x319e6
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x31a02
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x74b0
movq %rbx, %rdi
callq 0x18782
movq %rbx, %rdi
callq 0x18a54
movq 0x30(%rax), %rcx
cmpq 0x10(%rax), %rcx
je 0x31cd8
movq %rbx, %rdi
callq 0x18a54
movq 0x10(%rax), %r12
movq 0x20(%rax), %rbp
movq 0x28(%rax), %rax
movq %rax, 0xc8(%rsp)
movq %rbx, %rdi
callq 0x18a54
cmpq 0x30(%rax), %r12
je 0x31cd8
movq 0x10(%r13), %rcx
movq (%r12), %rax
cmpq (%rax), %rcx
jne 0x31ca6
movq 0x8(%rax), %rax
movq 0x28(%rax), %rsi
movq (%rsi), %rax
leaq 0xa8(%rsp), %r15
movq %r15, %rdi
callq *0x10(%rax)
movl $0xd, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xbb45(%rip), %rcx      # 0x3d5d1
callq 0x7500
leaq 0x98(%rsp), %rsi
movq %rsi, 0x88(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x31ac5
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x31acb
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x90(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x88(%rsp), %rdi
leaq 0xbb1f(%rip), %rsi      # 0x3d614
callq 0x78d0
leaq 0x78(%rsp), %rsi
movq %rsi, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x68(%rsp), %rdi
je 0x31b27
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x31b2d
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%r12), %rax
movq 0x8(%rax), %rax
movq 0xb8(%rax), %rsi
movq 0xc0(%rax), %rdx
callq 0x7190
leaq 0x38(%rsp), %rsi
movq %rsi, 0x28(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x31b88
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x31b8e
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x28(%rsp), %rdi
leaq 0x9cdb(%rip), %rsi      # 0x3b88d
callq 0x78d0
movq %r14, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x31bda
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x31be1
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x48(%rsp), %rdi
callq 0x7190
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x31c24
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x31c40
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x31c5c
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x31c81
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x31ca6
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x74b0
addq $0x8, %r12
cmpq %rbp, %r12
jne 0x31a3c
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %r12
addq $0x8, %rax
movq %rax, 0xc8(%rsp)
leaq 0x200(%r12), %rbp
jmp 0x31a3c
movq %rbx, %rdi
leaq 0x58(%rsp), %rbp
callq 0x18a5a
cmpq %rax, (%rax)
je 0x31f6d
movq %rbx, %rdi
callq 0x18a5a
movq %rax, %r12
movq (%r12), %r12
movq %rbx, %rdi
callq 0x18a5a
cmpq %rax, %r12
je 0x31f6d
movq 0x10(%r13), %rcx
movq 0x10(%r12), %rax
cmpq (%rax), %rcx
jne 0x31cf9
movq 0x8(%rax), %rax
movq 0x28(%rax), %rsi
movq (%rsi), %rax
leaq 0xa8(%rsp), %r15
movq %r15, %rdi
callq *0x10(%rax)
movl $0x12, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xb896(%rip), %rcx      # 0x3d5df
callq 0x7500
leaq 0x98(%rsp), %rsi
movq %rsi, 0x88(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x31d82
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x31d88
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x90(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x88(%rsp), %rdi
leaq 0xb862(%rip), %rsi      # 0x3d614
callq 0x78d0
leaq 0x78(%rsp), %rsi
movq %rsi, 0x68(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x68(%rsp), %rdi
je 0x31de4
movq %rdx, 0x68(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x78(%rsp)
jmp 0x31dea
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x70(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x10(%r12), %rax
movq 0x8(%rax), %rax
movq 0xb8(%rax), %rsi
movq 0xc0(%rax), %rdx
callq 0x7190
leaq 0x38(%rsp), %rsi
movq %rsi, 0x28(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x31e46
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x31e4c
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x28(%rsp), %rdi
leaq 0x9a1d(%rip), %rsi      # 0x3b88d
callq 0x78d0
movq %r14, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x31e98
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x31e9f
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x48(%rsp), %rdi
callq 0x7190
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x31ee2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x31efe
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x31f1a
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x31f3f
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x31cf9
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x74b0
jmp 0x31cf9
movq %rbx, %rdi
callq 0x18798
movl $0x5, %edx
movq 0x1c027(%rip), %rdi     # 0x4dfa8
leaq 0xb249(%rip), %rsi      # 0x3d1d1
callq 0x7510
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq 0x1c00a(%rip), %rdi     # 0x4dfa8
callq 0x7510
movq %rax, %r12
movl $0x5, %edx
movq %rax, %rdi
leaq 0xb35b(%rip), %rsi      # 0x3d310
callq 0x7510
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x7490
movsbl %al, %esi
movq %r12, %rdi
callq 0x7050
movq %rax, %rdi
callq 0x7340
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x31ff9
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x74b0
movq (%r13), %r13
cmpq 0xd0(%rsp), %r13
jne 0x3166c
jmp 0x30e5d
xorl %ebp, %ebp
movq 0x1bf8f(%rip), %rdi     # 0x4dfa8
leaq 0xb1b1(%rip), %rsi      # 0x3d1d1
movl $0x5, %edx
callq 0x7510
leaq 0xf8(%rsp), %r15
movq %r15, %rdi
movl %r14d, %esi
callq 0x1bd7d
leaq 0xb5b5(%rip), %rsi      # 0x3d5f9
leaq 0xa8(%rsp), %rdi
movq %r15, %rdx
callq 0x1244d
leaq 0xb5b1(%rip), %rsi      # 0x3d60c
leaq 0xa8(%rsp), %rdi
callq 0x78d0
leaq 0x98(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3212d
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x32134
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq 0x1beda(%rip), %rdi     # 0x4dfa8
callq 0x7510
movq %rax, %rbx
leaq 0xb233(%rip), %rsi      # 0x3d310
movl $0x5, %edx
movq %rax, %rdi
callq 0x7510
movq %rbx, %rdi
callq 0x7250
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3210d
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x74b0
testq %r15, %r15
je 0x30e5d
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x30cf9
jmp 0x30e5d
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x90(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x118(%rsp), %rdi
movl %ebp, %esi
callq 0x1bd7d
leaq 0x68(%rsp), %rdi
leaq 0x88(%rsp), %rsi
leaq 0x118(%rsp), %rdx
callq 0x329f7
leaq 0xb497(%rip), %rsi      # 0x3d616
leaq 0x68(%rsp), %rdi
callq 0x78d0
leaq 0x38(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x321b0
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x321b7
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xd8(%rsp), %rdi
movl %ebx, %esi
callq 0x1bd7d
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0xd8(%rsp), %rdx
callq 0x329f7
leaq 0xb42a(%rip), %rsi      # 0x3d626
leaq 0x8(%rsp), %rdi
callq 0x78d0
leaq 0x58(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3222e
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x32236
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq 0x1bd49(%rip), %rdi     # 0x4dfa8
callq 0x7510
movq %rax, %rbx
leaq 0xb0a2(%rip), %rsi      # 0x3d310
movl $0x5, %edx
movq %rax, %rdi
callq 0x7510
movq %rbx, %rdi
callq 0x7250
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0x3229a
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x322b5
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0xe8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x322d6
movq 0xe8(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x322ed
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x32308
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0x128(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x32329
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x32346
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x32367
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0x108(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x30e5d
movq 0x108(%rsp), %rsi
jmp 0x30cfe
jmp 0x32646
movq %rax, %rbx
jmp 0x32427
movq %rax, %rbx
jmp 0x32442
movq %rax, %rbx
jmp 0x32463
movq %rax, %rbx
jmp 0x3247a
movq %rax, %rbx
jmp 0x32495
movq %rax, %rbx
jmp 0x324b6
movq %rax, %rbx
jmp 0x324d3
movq %rax, %rbx
jmp 0x324f4
movq %rax, %rbx
jmp 0x325f6
jmp 0x32646
movq %rax, %rbx
jmp 0x3253a
movq %rax, %rbx
jmp 0x32555
jmp 0x328f4
movq %rax, %rbx
jmp 0x32576
movq %rax, %rbx
jmp 0x32592
movq %rax, %rbx
jmp 0x325ad
jmp 0x32646
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0x32427
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x32442
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0xe8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x32463
movq 0xe8(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x3247a
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x32495
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0x128(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x324b6
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x88(%rsp), %rdi
cmpq %r14, %rdi
je 0x324d3
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x324f4
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0x108(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x32913
movq 0x108(%rsp), %rsi
jmp 0x3290b
jmp 0x32613
jmp 0x32646
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3253a
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x32555
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x32576
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x32592
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x325ad
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x74b0
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x32913
movq 0x98(%rsp), %rsi
jmp 0x3290b
movq %rax, %rbx
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x325ed
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x74b0
testq %r15, %r15
je 0x32913
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x32820
jmp 0x32913
jmp 0x32613
jmp 0x32646
jmp 0x32622
movq %rax, %rbx
jmp 0x32812
jmp 0x32646
jmp 0x328f4
movq %rax, %rbx
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x32805
jmp 0x32812
jmp 0x328f4
jmp 0x328f4
movq %rax, %rbx
jmp 0x32913
jmp 0x328f4
jmp 0x32664
jmp 0x32669
jmp 0x3266e
jmp 0x328f4
jmp 0x32664
jmp 0x32669
jmp 0x3266e
movq %rax, %rbx
jmp 0x326a4
movq %rax, %rbx
jmp 0x32688
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x32688
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x326a4
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x328f7
movq 0x78(%rsp), %rsi
jmp 0x328e6
movq %rax, %rbx
jmp 0x326fc
movq %rax, %rbx
jmp 0x326e5
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x326e5
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x326fc
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0xd8(%rsp), %rdi
leaq 0xe8(%rsp), %rax
cmpq %rax, %rdi
je 0x32742
movq 0xe8(%rsp), %rsi
incq %rsi
callq 0x74b0
jmp 0x32742
jmp 0x328f4
movq %rax, %rbx
jmp 0x327c8
movq %rax, %rbx
jmp 0x327a3
movq %rax, %rbx
jmp 0x3277e
movq %rax, %rbx
jmp 0x32759
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x32759
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x3277e
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x327a3
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0xf8(%rsp), %rdi
leaq 0x108(%rsp), %rax
cmpq %rax, %rdi
je 0x327c8
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x118(%rsp), %rdi
leaq 0x128(%rsp), %rax
cmpq %rax, %rdi
je 0x328f7
movq 0x128(%rsp), %rsi
jmp 0x328e6
jmp 0x328f4
jmp 0x328f4
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0x32812
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x32913
movq 0x18(%rsp), %rsi
jmp 0x3290b
jmp 0x32839
jmp 0x328f4
jmp 0x32843
jmp 0x32848
jmp 0x32852
jmp 0x3284d
movq %rax, %rbx
jmp 0x3286c
jmp 0x328f4
movq %rax, %rbx
jmp 0x32888
movq %rax, %rbx
jmp 0x328a4
movq %rax, %rbx
jmp 0x328c9
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x3286c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x32888
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x328a4
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x328c9
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x74b0
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x328f7
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x74b0
jmp 0x328f7
jmp 0x328f4
jmp 0x328f4
movq %rax, %rbx
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x32913
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x74b0
movq %rbx, %rdi
callq 0x7810
nop