// File: mbourand[P]webserv/srcs/Utils/CGI.cpp
// Function: CGI::CGI(Request const&, ConfigContext const&, ServerSocket const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
CGI::CGI(const Request& request, const ConfigContext& config, const ServerSocket& socket, const std::string& realPath)
	: m_realPath(realPath)
{
	std::ostringstream	convert;
	int					code;
	Header				*auth_type = NULL;
	Header				*content_type = NULL;
	std::string			extension;

	if ((code = ParseURI(request, config)) != 0)
		throw CGI::CGIException("ParseURI failed.", code);
	for (Request::HeadersVector::const_iterator it = request._headers.begin(); it != request._headers.end(); it++)
	{
		if ((*it)->getType() == AuthorizationHeader().getType())
			auth_type = *it;
		else if ((*it)->getType() == ContentTypeHeader().getType())
			content_type = *it;
	}
	std::string document_root = ft::simplify_path(config.getParam("root").front(), false, 0);
	if (ft::contains(m_env_Script_Name, '.'))
		extension = m_env_Script_Name.substr(m_env_Script_Name.find('.'));
	if (!extension.empty() && config.getCGIExtensions().find(extension) != config.getCGIExtensions().end())
	{
		m_args.push_back(config.getCGIExtensions().find(extension)->second); // c'est le chemin vers l'exécutable cgi
		m_args.push_back(document_root + m_env_Script_Name);
		if (extension == ".php")
			m_env.push_back("REDIRECT_STATUS=200");
	}
	else
	{
		m_args.push_back(document_root + m_env_Script_Name);
		if (!m_env_Path_Info.empty())
			m_args.push_back(document_root + m_env_Path_Info);
	}
	if (auth_type)
	{
		m_env.push_back("AUTH_TYPE="+auth_type->getValue().substr(0, auth_type->getValue().find(' ')));
		m_env.push_back("REMOTE_IDENT="+auth_type->getValue().substr(auth_type->getValue().find(' ')+1));
		m_env.push_back("REMOTE_USER="+auth_type->getValue().substr(auth_type->getValue().find(' ')+1));
	}
	if (request._method->requestHasBody() && !request._body.empty())
	{
		convert << request._body.size();
		m_env.push_back("CONTENT_LENGTH="+convert.str());
		if (content_type)
			m_env.push_back("CONTENT_TYPE="+content_type->getValue());
		else
			m_env.push_back("CONTENT_TYPE=US-ASCII");
	}
	m_env.push_back("GATEWAY_INTERFACE=CGI/1.1");
	if (m_args[0].find("ubuntu_cgi_tester") != std::string::npos)
		m_env.push_back("PATH_INFO="+request._url._path);
	else if (!m_env_Path_Info.empty())
		m_env.push_back("PATH_INFO="+m_env_Path_Info);
	if (document_root.find("..") != std::string::npos)
	{
		chdir(document_root.substr(0, document_root.find_last_of('/')).c_str());
		document_root = ft::get_cwd();
		chdir(g_webserv.cwd.c_str());
	}
	m_env.push_back("PATH_TRANSLATED=" + document_root + m_env_Script_Name);
	if (!request._url._query.empty())
		m_env.push_back("QUERY_STRING="+request._url._query);
	m_env.push_back("REMOTE_ADDR="+socket.getIPAddress());
	m_env.push_back("REQUEST_METHOD="+request._method->getType());
	m_env.push_back("REQUEST_URI="+request._url._path);
	m_env.push_back("SCRIPT_NAME="+m_env_Script_Name);
	m_env.push_back("SERVER_NAME="+config.getNames().front());
	m_env.push_back("SERVER_PORT="+socket.getServerPort_Str());
	m_env.push_back("SERVER_PROTOCOL=HTTP/1.1");
	m_env.push_back("SERVER_SOFTWARE=Webserv");
	add_http_headers(request._headers);
	convert.str("");
	convert << socket.GetSocket();
	m_tmpfilename = "/tmp/webserv_" + convert.str() + "-";
	convert.str("");
	struct timeval	tv;
	gettimeofday(&tv, NULL);
	convert << tv.tv_usec;
	m_tmpfilename += convert.str() + ".tmp";
	this->execute(request._body);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xad0, %rsp            # imm = 0xAD0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x8a8(%rbp)
movq %rdi, %rax
movq %rax, -0x8d8(%rbp)
callq 0x98c0
movq -0x8a8(%rbp), %rdi
addq $0x20, %rdi
movq %rdi, -0x8d0(%rbp)
callq 0x98c0
movq -0x8a8(%rbp), %rdi
addq $0x40, %rdi
movq %rdi, -0x8c8(%rbp)
callq 0x98c0
movq -0x8a8(%rbp), %rdi
addq $0x60, %rdi
movq %rdi, -0x8c0(%rbp)
callq 0x98c0
movq -0x8a8(%rbp), %rdi
subq $-0x80, %rdi
movq %rdi, -0x8b8(%rbp)
callq 0x98c0
movq -0x8a8(%rbp), %rdi
addq $0xa0, %rdi
movq %rdi, -0x8b0(%rbp)
callq 0x98c0
movq -0x8a8(%rbp), %rdi
addq $0xc0, %rdi
movq %rdi, -0x8a0(%rbp)
movq -0x28(%rbp), %rsi
callq 0x92c0
jmp 0x1d96f
movq -0x8d8(%rbp), %rdi
addq $0xe0, %rdi
movq %rdi, -0x8e8(%rbp)
callq 0x21900
movq -0x8d8(%rbp), %rdi
addq $0xf8, %rdi
movq %rdi, -0x8e0(%rbp)
callq 0x21900
leaq -0x1b0(%rbp), %rdi
callq 0x9890
jmp 0x1d9b1
movq $0x0, -0x1c0(%rbp)
movq $0x0, -0x1c8(%rbp)
leaq -0x1e8(%rbp), %rdi
callq 0x98c0
movq -0x8d8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x1f320
movl %eax, -0x8ec(%rbp)
jmp 0x1d9ef
movl -0x8ec(%rbp), %eax
movl %eax, -0x1b4(%rbp)
cmpl $0x0, %eax
je 0x1da9e
movl $0x30, %edi
callq 0x9340
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x8f8(%rbp)
movl -0x1b4(%rbp), %edx
leaq 0x4d035(%rip), %rsi     # 0x6aa5d
callq 0x21920
jmp 0x1da2f
movq -0x8f8(%rbp), %rdi
leaq 0x70d03(%rip), %rsi     # 0x8e740
leaq 0x3f7c(%rip), %rdx      # 0x219c0
callq 0x9aa0
jmp 0x1f311
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1f2c0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1f29c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1f284
movq -0x8f8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
callq 0x94c0
jmp 0x1f284
movq -0x10(%rbp), %rdi
addq $0x140, %rdi            # imm = 0x140
callq 0x14440
movq %rax, -0x1f0(%rbp)
movq -0x10(%rbp), %rdi
addq $0x140, %rdi            # imm = 0x140
callq 0x144b0
movq %rax, -0x1f8(%rbp)
leaq -0x1f0(%rbp), %rdi
leaq -0x1f8(%rbp), %rsi
callq 0x14470
testb $0x1, %al
jne 0x1dae8
jmp 0x1dcc1
leaq -0x1f0(%rbp), %rdi
callq 0x14570
movq (%rax), %rsi
movq (%rsi), %rax
movq 0x10(%rax), %rax
leaq -0x218(%rbp), %rdi
callq *%rax
jmp 0x1db09
leaq -0x260(%rbp), %rdi
callq 0xb070
jmp 0x1db17
leaq -0x238(%rbp), %rdi
leaq -0x260(%rbp), %rsi
callq 0xb160
jmp 0x1db2c
leaq -0x218(%rbp), %rdi
leaq -0x238(%rbp), %rsi
callq 0x144e0
movb %al, -0x8f9(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x9c98
leaq -0x260(%rbp), %rdi
callq 0xb0f0
leaq -0x218(%rbp), %rdi
callq 0x9c98
movb -0x8f9(%rbp), %al
testb $0x1, %al
jne 0x1db75
jmp 0x1dbc7
leaq -0x1f0(%rbp), %rdi
callq 0x14570
movq (%rax), %rax
movq %rax, -0x1c0(%rbp)
jmp 0x1dca5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1dbb6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x260(%rbp), %rdi
callq 0xb0f0
leaq -0x218(%rbp), %rdi
callq 0x9c98
jmp 0x1f284
leaq -0x1f0(%rbp), %rdi
callq 0x14570
movq (%rax), %rsi
movq (%rsi), %rax
movq 0x10(%rax), %rax
leaq -0x280(%rbp), %rdi
callq *%rax
jmp 0x1dbe8
leaq -0x2c8(%rbp), %rdi
callq 0xb770
jmp 0x1dbf6
leaq -0x2a0(%rbp), %rdi
leaq -0x2c8(%rbp), %rsi
callq 0xb860
jmp 0x1dc0b
leaq -0x280(%rbp), %rdi
leaq -0x2a0(%rbp), %rsi
callq 0x144e0
movb %al, -0x8fa(%rbp)
leaq -0x2a0(%rbp), %rdi
callq 0x9c98
leaq -0x2c8(%rbp), %rdi
callq 0xb7f0
leaq -0x280(%rbp), %rdi
callq 0x9c98
movb -0x8fa(%rbp), %al
testb $0x1, %al
jne 0x1dc54
jmp 0x1dca3
leaq -0x1f0(%rbp), %rdi
callq 0x14570
movq (%rax), %rax
movq %rax, -0x1c8(%rbp)
jmp 0x1dca3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1dc92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x2c8(%rbp), %rdi
callq 0xb7f0
leaq -0x280(%rbp), %rdi
callq 0x9c98
jmp 0x1f284
jmp 0x1dca5
jmp 0x1dca7
leaq -0x1f0(%rbp), %rdi
xorl %esi, %esi
callq 0x14590
movq %rax, -0x2d0(%rbp)
jmp 0x1dab5
movq -0x18(%rbp), %rax
movq %rax, -0x910(%rbp)
leaq -0x311(%rbp), %rdi
movq %rdi, -0x908(%rbp)
callq 0x9b10
movq -0x908(%rbp), %rdx
leaq 0x4cb4b(%rip), %rsi     # 0x6a838
leaq -0x310(%rbp), %rdi
callq 0xa780
jmp 0x1dcfb
movq -0x910(%rbp), %rdi
leaq -0x310(%rbp), %rsi
callq 0x4c710
movq %rax, -0x918(%rbp)
jmp 0x1dd17
movq -0x918(%rbp), %rdi
callq 0x14310
movq %rax, %rsi
leaq -0x2f0(%rbp), %rdi
xorl %ecx, %ecx
movl %ecx, %edx
callq 0x32290
jmp 0x1dd38
leaq -0x310(%rbp), %rdi
callq 0x9c98
leaq -0x311(%rbp), %rdi
callq 0x9700
movq -0x8d8(%rbp), %rdi
addq $0x40, %rdi
movb $0x2e, -0x312(%rbp)
leaq -0x312(%rbp), %rsi
callq 0x143d0
movb %al, -0x919(%rbp)
jmp 0x1dd76
movb -0x919(%rbp), %al
testb $0x1, %al
jne 0x1dd85
jmp 0x1de2d
movq -0x8d8(%rbp), %rdi
addq $0x40, %rdi
movq %rdi, -0x928(%rbp)
xorl %eax, %eax
movl %eax, %edx
movl $0x2e, %esi
callq 0x9860
movq -0x928(%rbp), %rsi
movq %rax, %rdx
leaq -0x338(%rbp), %rdi
movq $-0x1, %rcx
callq 0x96b0
jmp 0x1ddc4
leaq -0x1e8(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0x97e0
leaq -0x338(%rbp), %rdi
callq 0x9c98
jmp 0x1de2d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1de0b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x310(%rbp), %rdi
callq 0x9c98
leaq -0x311(%rbp), %rdi
callq 0x9700
jmp 0x1f284
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1f278
leaq -0x1e8(%rbp), %rdi
callq 0x9a50
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x929(%rbp)
jne 0x1dec2
movq -0x18(%rbp), %rdi
callq 0x4c630
movq %rax, -0x938(%rbp)
jmp 0x1de5a
movq -0x938(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x14370
movq %rax, -0x940(%rbp)
jmp 0x1de76
movq -0x940(%rbp), %rax
movq %rax, -0x340(%rbp)
movq -0x18(%rbp), %rdi
callq 0x4c630
movq %rax, -0x948(%rbp)
jmp 0x1de96
movq -0x948(%rbp), %rdi
callq 0x143a0
movq %rax, -0x348(%rbp)
leaq -0x340(%rbp), %rdi
leaq -0x348(%rbp), %rsi
callq 0x14340
movb %al, -0x929(%rbp)
movb -0x929(%rbp), %al
testb $0x1, %al
jne 0x1ded1
jmp 0x1e088
movq -0x8d8(%rbp), %rax
addq $0xe0, %rax
movq %rax, -0x958(%rbp)
movq -0x18(%rbp), %rdi
callq 0x4c630
movq %rax, -0x950(%rbp)
jmp 0x1def7
movq -0x950(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x14370
movq %rax, -0x960(%rbp)
jmp 0x1df13
movq -0x960(%rbp), %rax
movq %rax, -0x350(%rbp)
leaq -0x350(%rbp), %rdi
callq 0x21a70
movq -0x958(%rbp), %rdi
movq %rax, %rsi
addq $0x20, %rsi
callq 0x21a00
jmp 0x1df42
movq -0x8d8(%rbp), %rdx
movq %rdx, %rax
addq $0xe0, %rax
movq %rax, -0x968(%rbp)
addq $0x40, %rdx
leaq -0x370(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
callq 0x146b0
jmp 0x1df72
movq -0x968(%rbp), %rdi
leaq -0x370(%rbp), %rsi
callq 0x21a90
jmp 0x1df87
leaq -0x370(%rbp), %rdi
callq 0x9c98
leaq 0x4cad4(%rip), %rsi     # 0x6aa6e
leaq -0x1e8(%rbp), %rdi
callq 0xdf50
movb %al, -0x969(%rbp)
jmp 0x1dfae
movb -0x969(%rbp), %al
testb $0x1, %al
jne 0x1dfbd
jmp 0x1e083
movq -0x8d8(%rbp), %rax
addq $0xf8, %rax
movq %rax, -0x980(%rbp)
leaq -0x391(%rbp), %rdi
movq %rdi, -0x978(%rbp)
callq 0x9b10
movq -0x978(%rbp), %rdx
leaq 0x4ca81(%rip), %rsi     # 0x6aa73
leaq -0x390(%rbp), %rdi
callq 0xa780
jmp 0x1e000
movq -0x980(%rbp), %rdi
leaq -0x390(%rbp), %rsi
callq 0x21a90
jmp 0x1e015
leaq -0x390(%rbp), %rdi
callq 0x9c98
leaq -0x391(%rbp), %rdi
callq 0x9700
jmp 0x1e083
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x370(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1e072
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x390(%rbp), %rdi
callq 0x9c98
leaq -0x391(%rbp), %rdi
callq 0x9700
jmp 0x1f278
jmp 0x1e180
movq -0x8d8(%rbp), %rdx
movq %rdx, %rax
addq $0xe0, %rax
movq %rax, -0x988(%rbp)
addq $0x40, %rdx
leaq -0x3b8(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
callq 0x146b0
jmp 0x1e0b8
movq -0x988(%rbp), %rdi
leaq -0x3b8(%rbp), %rsi
callq 0x21a90
jmp 0x1e0cd
leaq -0x3b8(%rbp), %rdi
callq 0x9c98
movq -0x8d8(%rbp), %rdi
addq $0x60, %rdi
callq 0x9a50
testb $0x1, %al
jne 0x1e17e
movq -0x8d8(%rbp), %rdx
movq %rdx, %rax
addq $0xe0, %rax
movq %rax, -0x990(%rbp)
addq $0x60, %rdx
leaq -0x3d8(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
callq 0x146b0
jmp 0x1e121
movq -0x990(%rbp), %rdi
leaq -0x3d8(%rbp), %rsi
callq 0x21a90
jmp 0x1e136
leaq -0x3d8(%rbp), %rdi
callq 0x9c98
jmp 0x1e17e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x3b8(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x3d8(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
jmp 0x1e180
cmpq $0x0, -0x1c0(%rbp)
je 0x1e476
movq -0x8d8(%rbp), %rax
addq $0xf8, %rax
movq %rax, -0x9a0(%rbp)
movq -0x1c0(%rbp), %rdi
callq 0xbf40
movq %rax, -0x998(%rbp)
jmp 0x1e1b7
movq -0x1c0(%rbp), %rdi
callq 0xbf40
movq %rax, -0x9a8(%rbp)
jmp 0x1e1cc
movq -0x9a8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0x9b0(%rbp)
movl $0x20, %esi
callq 0x9860
movq -0x998(%rbp), %rsi
movq -0x9b0(%rbp), %rdx
movq %rax, %rcx
leaq -0x418(%rbp), %rdi
callq 0x96b0
jmp 0x1e207
leaq 0x4c879(%rip), %rsi     # 0x6aa87
leaq -0x3f8(%rbp), %rdi
leaq -0x418(%rbp), %rdx
callq 0x14790
jmp 0x1e223
movq -0x9a0(%rbp), %rdi
leaq -0x3f8(%rbp), %rsi
callq 0x21a90
jmp 0x1e238
leaq -0x3f8(%rbp), %rdi
callq 0x9c98
leaq -0x418(%rbp), %rdi
callq 0x9c98
movq -0x8d8(%rbp), %rax
addq $0xf8, %rax
movq %rax, -0x9c0(%rbp)
movq -0x1c0(%rbp), %rdi
callq 0xbf40
movq %rax, -0x9b8(%rbp)
jmp 0x1e279
movq -0x1c0(%rbp), %rdi
callq 0xbf40
movq %rax, -0x9c8(%rbp)
jmp 0x1e28e
movq -0x9c8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
movl $0x20, %esi
callq 0x9860
movq -0x9b8(%rbp), %rsi
movq %rax, %rdx
incq %rdx
leaq -0x458(%rbp), %rdi
movq $-0x1, %rcx
callq 0x96b0
jmp 0x1e2c5
leaq 0x4c7c6(%rip), %rsi     # 0x6aa92
leaq -0x438(%rbp), %rdi
leaq -0x458(%rbp), %rdx
callq 0x14790
jmp 0x1e2e1
movq -0x9c0(%rbp), %rdi
leaq -0x438(%rbp), %rsi
callq 0x21a90
jmp 0x1e2f6
leaq -0x438(%rbp), %rdi
callq 0x9c98
leaq -0x458(%rbp), %rdi
callq 0x9c98
movq -0x8d8(%rbp), %rax
addq $0xf8, %rax
movq %rax, -0x9d8(%rbp)
movq -0x1c0(%rbp), %rdi
callq 0xbf40
movq %rax, -0x9d0(%rbp)
jmp 0x1e337
movq -0x1c0(%rbp), %rdi
callq 0xbf40
movq %rax, -0x9e0(%rbp)
jmp 0x1e34c
movq -0x9e0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
movl $0x20, %esi
callq 0x9860
movq -0x9d0(%rbp), %rsi
movq %rax, %rdx
incq %rdx
leaq -0x498(%rbp), %rdi
movq $-0x1, %rcx
callq 0x96b0
jmp 0x1e383
leaq 0x4c716(%rip), %rsi     # 0x6aaa0
leaq -0x478(%rbp), %rdi
leaq -0x498(%rbp), %rdx
callq 0x14790
jmp 0x1e39f
movq -0x9d8(%rbp), %rdi
leaq -0x478(%rbp), %rsi
callq 0x21a90
jmp 0x1e3b4
leaq -0x478(%rbp), %rdi
callq 0x9c98
leaq -0x498(%rbp), %rdi
callq 0x9c98
jmp 0x1e476
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1e3f7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x3f8(%rbp), %rdi
callq 0x9c98
leaq -0x418(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1e42e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x438(%rbp), %rdi
callq 0x9c98
leaq -0x458(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1e465
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x478(%rbp), %rdi
callq 0x9c98
leaq -0x498(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rdi
movq (%rdi), %rax
movq 0x40(%rax), %rax
callq *%rax
movb %al, -0x9e1(%rbp)
jmp 0x1e48f
movb -0x9e1(%rbp), %al
testb $0x1, %al
jne 0x1e49e
jmp 0x1e6c1
movq -0x10(%rbp), %rdi
addq $0x158, %rdi            # imm = 0x158
callq 0x9a50
testb $0x1, %al
jne 0x1e6c1
movq -0x10(%rbp), %rdi
addq $0x158, %rdi            # imm = 0x158
callq 0x9480
movq %rax, %rsi
leaq -0x1b0(%rbp), %rdi
callq 0x9190
jmp 0x1e4d7
movq -0x8d8(%rbp), %rax
addq $0xf8, %rax
movq %rax, -0x9f0(%rbp)
leaq -0x4d8(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x96a0
jmp 0x1e500
leaq 0x4c5a6(%rip), %rsi     # 0x6aaad
leaq -0x4b8(%rbp), %rdi
leaq -0x4d8(%rbp), %rdx
callq 0x14790
jmp 0x1e51c
movq -0x9f0(%rbp), %rdi
leaq -0x4b8(%rbp), %rsi
callq 0x21a90
jmp 0x1e531
leaq -0x4b8(%rbp), %rdi
callq 0x9c98
leaq -0x4d8(%rbp), %rdi
callq 0x9c98
cmpq $0x0, -0x1c8(%rbp)
je 0x1e616
movq -0x8d8(%rbp), %rax
addq $0xf8, %rax
movq %rax, -0xa00(%rbp)
movq -0x1c8(%rbp), %rdi
callq 0xbf40
movq %rax, -0x9f8(%rbp)
jmp 0x1e580
movq -0x9f8(%rbp), %rdx
leaq 0x4c52f(%rip), %rsi     # 0x6aabd
leaq -0x4f8(%rbp), %rdi
callq 0x14000
jmp 0x1e59c
movq -0xa00(%rbp), %rdi
leaq -0x4f8(%rbp), %rsi
callq 0x21a90
jmp 0x1e5b1
leaq -0x4f8(%rbp), %rdi
callq 0x9c98
jmp 0x1e6bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1e5e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x4b8(%rbp), %rdi
callq 0x9c98
leaq -0x4d8(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x4f8(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
movq -0x8d8(%rbp), %rax
addq $0xf8, %rax
movq %rax, -0xa10(%rbp)
leaq -0x519(%rbp), %rdi
movq %rdi, -0xa08(%rbp)
callq 0x9b10
movq -0xa08(%rbp), %rdx
leaq 0x4c480(%rip), %rsi     # 0x6aacb
leaq -0x518(%rbp), %rdi
callq 0xa780
jmp 0x1e659
movq -0xa10(%rbp), %rdi
leaq -0x518(%rbp), %rsi
callq 0x21a90
jmp 0x1e66e
leaq -0x518(%rbp), %rdi
callq 0x9c98
leaq -0x519(%rbp), %rdi
callq 0x9700
jmp 0x1e6bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1e6ae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x518(%rbp), %rdi
callq 0x9c98
leaq -0x519(%rbp), %rdi
callq 0x9700
jmp 0x1f278
jmp 0x1e6c1
movq -0x8d8(%rbp), %rax
addq $0xf8, %rax
movq %rax, -0xa20(%rbp)
leaq -0x541(%rbp), %rdi
movq %rdi, -0xa18(%rbp)
callq 0x9b10
movq -0xa18(%rbp), %rdx
leaq 0x4c3eb(%rip), %rsi     # 0x6aae1
leaq -0x540(%rbp), %rdi
callq 0xa780
jmp 0x1e704
movq -0xa20(%rbp), %rdi
leaq -0x540(%rbp), %rsi
callq 0x21a90
jmp 0x1e719
leaq -0x540(%rbp), %rdi
callq 0x9c98
leaq -0x541(%rbp), %rdi
callq 0x9700
movq -0x8d8(%rbp), %rdi
addq $0xe0, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x21ac0
movq %rax, %rdi
leaq 0x4c3a9(%rip), %rsi     # 0x6aafb
xorl %eax, %eax
movl %eax, %edx
callq 0x9c60
cmpq $-0x1, %rax
je 0x1e813
movq -0x8d8(%rbp), %rax
addq $0xf8, %rax
movq %rax, -0xa28(%rbp)
movq -0x10(%rbp), %rdx
addq $0xb8, %rdx
leaq 0x4c382(%rip), %rsi     # 0x6ab0d
leaq -0x568(%rbp), %rdi
callq 0x14000
jmp 0x1e799
movq -0xa28(%rbp), %rdi
leaq -0x568(%rbp), %rsi
callq 0x21a90
jmp 0x1e7ae
leaq -0x568(%rbp), %rdi
callq 0x9c98
jmp 0x1e899
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1e7e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x540(%rbp), %rdi
callq 0x9c98
leaq -0x541(%rbp), %rdi
callq 0x9700
jmp 0x1f278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x568(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
movq -0x8d8(%rbp), %rdi
addq $0x60, %rdi
callq 0x9a50
testb $0x1, %al
jne 0x1e897
movq -0x8d8(%rbp), %rdx
movq %rdx, %rax
addq $0xf8, %rax
movq %rax, -0xa30(%rbp)
addq $0x60, %rdx
leaq 0x4c2c4(%rip), %rsi     # 0x6ab0d
leaq -0x588(%rbp), %rdi
callq 0x14000
jmp 0x1e857
movq -0xa30(%rbp), %rdi
leaq -0x588(%rbp), %rsi
callq 0x21a90
jmp 0x1e86c
leaq -0x588(%rbp), %rdi
callq 0x9c98
jmp 0x1e897
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x588(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
jmp 0x1e899
leaq -0x2f0(%rbp), %rdi
leaq 0x4ee99(%rip), %rsi     # 0x6d740
xorl %eax, %eax
movl %eax, %edx
callq 0x9c60
cmpq $-0x1, %rax
je 0x1e961
leaq -0x2f0(%rbp), %rdi
movq %rdi, -0xa38(%rbp)
movl $0x2f, %esi
movq $-0x1, %rdx
callq 0x9c00
movq -0xa38(%rbp), %rsi
movq %rax, %rcx
xorl %eax, %eax
movl %eax, %edx
leaq -0x5a8(%rbp), %rdi
callq 0x96b0
jmp 0x1e8f5
leaq -0x5a8(%rbp), %rdi
movq %rdi, -0xa40(%rbp)
callq 0x92b0
movq %rax, %rdi
callq 0x9930
movq -0xa40(%rbp), %rdi
callq 0x9c98
leaq -0x5c8(%rbp), %rdi
callq 0x31f00
jmp 0x1e92a
leaq -0x2f0(%rbp), %rdi
leaq -0x5c8(%rbp), %rsi
callq 0x97e0
leaq -0x5c8(%rbp), %rdi
callq 0x9c98
leaq 0x70dd0(%rip), %rdi     # 0x8f720
addq $0x48, %rdi
callq 0x92b0
movq %rax, %rdi
callq 0x9930
movq -0x8d8(%rbp), %rax
addq $0xf8, %rax
movq %rax, -0xa48(%rbp)
leaq 0x4c19c(%rip), %rsi     # 0x6ab18
leaq -0x608(%rbp), %rdi
leaq -0x2f0(%rbp), %rdx
callq 0x14000
jmp 0x1e991
movq -0x8d8(%rbp), %rdx
addq $0x40, %rdx
leaq -0x5e8(%rbp), %rdi
leaq -0x608(%rbp), %rsi
callq 0x14140
jmp 0x1e9b1
movq -0xa48(%rbp), %rdi
leaq -0x5e8(%rbp), %rsi
callq 0x21a90
jmp 0x1e9c6
leaq -0x5e8(%rbp), %rdi
callq 0x9c98
leaq -0x608(%rbp), %rdi
callq 0x9c98
movq -0x10(%rbp), %rdi
addq $0x30, %rdi
addq $0xa8, %rdi
callq 0x9a50
testb $0x1, %al
jne 0x1eaa5
movq -0x8d8(%rbp), %rax
addq $0xf8, %rax
movq %rax, -0xa50(%rbp)
movq -0x10(%rbp), %rdx
addq $0xd8, %rdx
leaq 0x4c109(%rip), %rsi     # 0x6ab29
leaq -0x628(%rbp), %rdi
callq 0x14000
jmp 0x1ea2e
movq -0xa50(%rbp), %rdi
leaq -0x628(%rbp), %rsi
callq 0x21a90
jmp 0x1ea43
leaq -0x628(%rbp), %rdi
callq 0x9c98
jmp 0x1eaa5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1ea77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x5e8(%rbp), %rdi
callq 0x9c98
leaq -0x608(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x628(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
movq -0x8d8(%rbp), %rax
addq $0xf8, %rax
movq %rax, -0xa58(%rbp)
movq -0x20(%rbp), %rsi
leaq -0x668(%rbp), %rdi
callq 0x1c1b0
jmp 0x1eacb
leaq 0x4c065(%rip), %rsi     # 0x6ab37
leaq -0x648(%rbp), %rdi
leaq -0x668(%rbp), %rdx
callq 0x14790
jmp 0x1eae7
movq -0xa58(%rbp), %rdi
leaq -0x648(%rbp), %rsi
callq 0x21a90
jmp 0x1eafc
leaq -0x648(%rbp), %rdi
callq 0x9c98
leaq -0x668(%rbp), %rdi
callq 0x9c98
movq -0x8d8(%rbp), %rax
addq $0xf8, %rax
movq %rax, -0xa60(%rbp)
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rsi
movq (%rsi), %rax
movq 0x10(%rax), %rax
leaq -0x6a8(%rbp), %rdi
callq *%rax
jmp 0x1eb42
leaq 0x4bffb(%rip), %rsi     # 0x6ab44
leaq -0x688(%rbp), %rdi
leaq -0x6a8(%rbp), %rdx
callq 0x14790
jmp 0x1eb5e
movq -0xa60(%rbp), %rdi
leaq -0x688(%rbp), %rsi
callq 0x21a90
jmp 0x1eb73
leaq -0x688(%rbp), %rdi
callq 0x9c98
leaq -0x6a8(%rbp), %rdi
callq 0x9c98
movq -0x8d8(%rbp), %rax
addq $0xf8, %rax
movq %rax, -0xa68(%rbp)
movq -0x10(%rbp), %rdx
addq $0xb8, %rdx
leaq 0x4bfa3(%rip), %rsi     # 0x6ab54
leaq -0x6c8(%rbp), %rdi
callq 0x14000
jmp 0x1ebbf
movq -0xa68(%rbp), %rdi
leaq -0x6c8(%rbp), %rsi
callq 0x21a90
jmp 0x1ebd4
leaq -0x6c8(%rbp), %rdi
callq 0x9c98
movq -0x8d8(%rbp), %rdx
movq %rdx, %rax
addq $0xf8, %rax
movq %rax, -0xa70(%rbp)
addq $0x40, %rdx
leaq 0x4bf5f(%rip), %rsi     # 0x6ab61
leaq -0x6e8(%rbp), %rdi
callq 0x14000
jmp 0x1ec10
movq -0xa70(%rbp), %rdi
leaq -0x6e8(%rbp), %rsi
callq 0x21a90
jmp 0x1ec25
leaq -0x6e8(%rbp), %rdi
callq 0x9c98
movq -0x8d8(%rbp), %rax
addq $0xf8, %rax
movq %rax, -0xa80(%rbp)
movq -0x18(%rbp), %rdi
callq 0x4c690
movq %rax, -0xa78(%rbp)
jmp 0x1ec57
movq -0xa78(%rbp), %rdi
callq 0x14310
movq %rax, %rdx
leaq 0x4bf01(%rip), %rsi     # 0x6ab6e
leaq -0x708(%rbp), %rdi
callq 0x14000
jmp 0x1ec7b
movq -0xa80(%rbp), %rdi
leaq -0x708(%rbp), %rsi
callq 0x21a90
jmp 0x1ec90
leaq -0x708(%rbp), %rdi
callq 0x9c98
movq -0x8d8(%rbp), %rax
addq $0xf8, %rax
movq %rax, -0xa88(%rbp)
movq -0x20(%rbp), %rsi
leaq -0x748(%rbp), %rdi
callq 0x1c180
jmp 0x1ecc2
leaq 0x4beb2(%rip), %rsi     # 0x6ab7b
leaq -0x728(%rbp), %rdi
leaq -0x748(%rbp), %rdx
callq 0x14790
jmp 0x1ecde
movq -0xa88(%rbp), %rdi
leaq -0x728(%rbp), %rsi
callq 0x21a90
jmp 0x1ecf3
leaq -0x728(%rbp), %rdi
callq 0x9c98
leaq -0x748(%rbp), %rdi
callq 0x9c98
movq -0x8d8(%rbp), %rax
addq $0xf8, %rax
movq %rax, -0xa98(%rbp)
leaq -0x769(%rbp), %rdi
movq %rdi, -0xa90(%rbp)
callq 0x9b10
movq -0xa90(%rbp), %rdx
leaq 0x4be48(%rip), %rsi     # 0x6ab88
leaq -0x768(%rbp), %rdi
callq 0xa780
jmp 0x1ed4e
movq -0xa98(%rbp), %rdi
leaq -0x768(%rbp), %rsi
callq 0x21a90
jmp 0x1ed63
leaq -0x768(%rbp), %rdi
callq 0x9c98
leaq -0x769(%rbp), %rdi
callq 0x9700
movq -0x8d8(%rbp), %rax
addq $0xf8, %rax
movq %rax, -0xaa8(%rbp)
leaq -0x791(%rbp), %rdi
movq %rdi, -0xaa0(%rbp)
callq 0x9b10
movq -0xaa0(%rbp), %rdx
leaq 0x4bdf1(%rip), %rsi     # 0x6aba1
leaq -0x790(%rbp), %rdi
callq 0xa780
jmp 0x1edbe
movq -0xaa8(%rbp), %rdi
leaq -0x790(%rbp), %rsi
callq 0x21a90
jmp 0x1edd3
leaq -0x790(%rbp), %rdi
callq 0x9c98
leaq -0x791(%rbp), %rdi
callq 0x9700
movq -0x8d8(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x140, %rsi            # imm = 0x140
callq 0x1f5d0
jmp 0x1ee04
leaq -0x7b9(%rbp), %rdi
movq %rdi, -0xab0(%rbp)
callq 0x9b10
movq -0xab0(%rbp), %rdx
leaq 0x4bf4b(%rip), %rsi     # 0x6ad70
leaq -0x7b8(%rbp), %rdi
callq 0xa780
jmp 0x1ee33
leaq -0x1b0(%rbp), %rdi
leaq -0x7b8(%rbp), %rsi
callq 0x9300
jmp 0x1ee48
leaq -0x7b8(%rbp), %rdi
callq 0x9c98
leaq -0x7b9(%rbp), %rdi
callq 0x9700
movq -0x20(%rbp), %rdi
callq 0x1cdb0
movl %eax, -0xab4(%rbp)
jmp 0x1ee71
movl -0xab4(%rbp), %esi
leaq -0x1b0(%rbp), %rdi
callq 0x9ad0
jmp 0x1ee85
leaq -0x820(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x96a0
jmp 0x1ee9a
leaq 0x4bd18(%rip), %rsi     # 0x6abb9
leaq -0x800(%rbp), %rdi
leaq -0x820(%rbp), %rdx
callq 0x14790
jmp 0x1eeb6
leaq 0x4bd10(%rip), %rdx     # 0x6abcd
leaq -0x7e0(%rbp), %rdi
leaq -0x800(%rbp), %rsi
callq 0x13970
jmp 0x1eed2
movq -0x8d8(%rbp), %rdi
addq $0x20, %rdi
leaq -0x7e0(%rbp), %rsi
movq %rsi, -0xac8(%rbp)
callq 0x97e0
movq -0xac8(%rbp), %rdi
callq 0x9c98
leaq -0x800(%rbp), %rdi
callq 0x9c98
leaq -0x820(%rbp), %rdi
callq 0x9c98
leaq -0x841(%rbp), %rdi
movq %rdi, -0xac0(%rbp)
callq 0x9b10
movq -0xac0(%rbp), %rdx
leaq 0x4be3b(%rip), %rsi     # 0x6ad70
leaq -0x840(%rbp), %rdi
callq 0xa780
jmp 0x1ef43
leaq -0x1b0(%rbp), %rdi
leaq -0x840(%rbp), %rsi
callq 0x9300
jmp 0x1ef58
leaq -0x840(%rbp), %rdi
callq 0x9c98
leaq -0x841(%rbp), %rdi
callq 0x9700
xorl %eax, %eax
movl %eax, %esi
leaq -0x858(%rbp), %rdi
callq 0x9a10
movq -0x850(%rbp), %rsi
leaq -0x1b0(%rbp), %rdi
callq 0x9b70
jmp 0x1ef95
leaq -0x898(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x96a0
jmp 0x1efaa
leaq 0x4bc16(%rip), %rdx     # 0x6abc7
leaq -0x878(%rbp), %rdi
leaq -0x898(%rbp), %rsi
callq 0x13970
jmp 0x1efc6
movq -0x8d8(%rbp), %rdi
addq $0x20, %rdi
leaq -0x878(%rbp), %rsi
callq 0x9830
jmp 0x1efdf
leaq -0x878(%rbp), %rdi
callq 0x9c98
leaq -0x898(%rbp), %rdi
callq 0x9c98
movq -0x8d8(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0x158, %rsi            # imm = 0x158
callq 0x200d0
jmp 0x1f010
leaq -0x2f0(%rbp), %rdi
callq 0x9c98
leaq -0x1e8(%rbp), %rdi
callq 0x9c98
leaq -0x1b0(%rbp), %rdi
callq 0x91a0
addq $0xad0, %rsp            # imm = 0xAD0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1f063
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x648(%rbp), %rdi
callq 0x9c98
leaq -0x668(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1f09a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x688(%rbp), %rdi
callq 0x9c98
leaq -0x6a8(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x6c8(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x6e8(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x708(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1f128
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x728(%rbp), %rdi
callq 0x9c98
leaq -0x748(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1f15f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x768(%rbp), %rdi
callq 0x9c98
leaq -0x769(%rbp), %rdi
callq 0x9700
jmp 0x1f278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1f196
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x790(%rbp), %rdi
callq 0x9c98
leaq -0x791(%rbp), %rdi
callq 0x9700
jmp 0x1f278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1f1cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x7b8(%rbp), %rdi
callq 0x9c98
leaq -0x7b9(%rbp), %rdi
callq 0x9700
jmp 0x1f278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1f204
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x800(%rbp), %rdi
callq 0x9c98
leaq -0x820(%rbp), %rdi
callq 0x9c98
jmp 0x1f278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1f238
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x840(%rbp), %rdi
callq 0x9c98
leaq -0x841(%rbp), %rdi
callq 0x9700
jmp 0x1f278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x1f26c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x878(%rbp), %rdi
callq 0x9c98
leaq -0x898(%rbp), %rdi
callq 0x9c98
leaq -0x2f0(%rbp), %rdi
callq 0x9c98
leaq -0x1e8(%rbp), %rdi
callq 0x9c98
leaq -0x1b0(%rbp), %rdi
callq 0x91a0
movq -0x8e0(%rbp), %rdi
callq 0x21ae0
movq -0x8e8(%rbp), %rdi
callq 0x21ae0
movq -0x8a0(%rbp), %rdi
callq 0x9c98
movq -0x8b0(%rbp), %rdi
callq 0x9c98
movq -0x8b8(%rbp), %rdi
callq 0x9c98
movq -0x8c0(%rbp), %rdi
callq 0x9c98
movq -0x8c8(%rbp), %rdi
callq 0x9c98
movq -0x8d0(%rbp), %rdi
callq 0x9c98
movq -0x8a8(%rbp), %rdi
callq 0x9c98
movq -0x30(%rbp), %rdi
callq 0x9af0
nopw %cs:(%rax,%rax)