// File: /workspace/github_cpp_makefile_star2_O3/nataly-enne[P]pet-fera/pet_fera_editar.cpp
// Function: editar(std::map<int, ANFIBIO_NATIVO, std::less<int>, std::allocator<std::pair<int const, ANFIBIO_NATIVO>>>&, std::map<int, ANFIBIO_EXOTICO, std::less<int>, std::allocator<std::pair<int const, ANFIBIO_EXOTICO>>>&, std::map<int, VETERINARIO, std::less<int>, std::allocator<std::pair<int const, VETERINARIO>>>, std::map<int, TRATADOR, std::less<int>, std::allocator<std::pair<int const, TRATADOR>>>)
void editar(map <int, ANFIBIO_NATIVO> &anfibios_nat, map <int, ANFIBIO_EXOTICO> &anfibios_ex, map <int, VETERINARIO> vets, map <int, TRATADOR> tratadores){
	char opcao, resp, op, sucesso, sexo, tipo = 'a';
	int total_mudas, id_buscado;;
	string classe, nome_cientifico, dieta, veterinario, tratador, nome_batismo, autorizacao, autorizacao_IBAMA, origem, ultima_muda, nome, id_string, tamanho_string, sexo_string, total_mudas_string;
	bool check;
	double tamanho;
	ofstream nativos;
	ofstream exoticos;
			
	do{
		cout << "É nativo ou exotico? \n n - NATIVO\n e - EXOTICO" << endl;
		cin >> opcao;
		if(opcao != 'n' && opcao != 'e'){
			cout << "Opção inválida!! Tente novamente!\n" << endl;
			cout << endl;
			cout << "Deseja sair? s/n" << endl;
			cin >> resp;
			if(resp == 's'){
				break;
			}	
		}
		else{ 
			if(opcao == 'n'){
				cout << "Insira o ID buscado: " << endl;
				cin >> id_buscado;

				auto result = anfibios_nat.find(id_buscado);
			
				if(result != anfibios_nat.end()){
					cout << "ID existe!" << endl;

					//Classe dos anfibios.
					classe = "Amphibia";

					//Recebe o nome e verifica se é valido.
					do{
						cout << "Digite o nome:" << endl;
						cin.ignore();
						getline(cin, nome);
						if(!verifica_nome(nome, sucesso)){
							cout << "ERRO: só pode ser inserido letra ou espaço!" << endl << endl;
						}
						else{
							transform(nome.begin(), nome.end(), nome.begin(), ::tolower); // Converte a string nome para caracteres minusculos.
						}
					}while(sucesso == 'n');

			
					//Recebe o nome cientifico e verifica se é valido.
					do{
						cout << "Digite o nome científico:" << endl;
						getline(cin, nome_cientifico);
						if(!verifica_nome_cient(nome_cientifico, sucesso)){
							cout << "ERRO: só pode ser inserido letra, espaço ou traço!" << endl << endl;
						}
					}while(sucesso == 'n');

					//Recebe a dieta e verifica se não possui caracteres proibidos.
					do{
						cout << "Digite a dieta: " << endl;
						getline(cin, dieta);
						if(!verifica_dieta(dieta, sucesso)){
							cout << "ERRO: só pode ser inserido letra ou espaço!" << endl << endl;
						}
					}while(sucesso == 'n');
					
					//Recebe o nome do veterinario e verifica se não possui caracteres proibidos.
					do{
						cout << "Digite o nome do veterinario: " << endl;
						getline(cin, veterinario);
						
						if(!verifica_nome(veterinario, sucesso)){
							cout << "ERRO: só pode ser inserido letra ou espaço!" << endl << endl;
						}
						check = check_vet(vets, veterinario);
						if(!check){
							cout << endl;
							cout << "ERRO: Veterinario não cadastrado!" << endl;
							sucesso = 'n';
						}
					}while(sucesso == 'n');
					
					//Recebe o nome do tratador e verifica se não possui caracteres proibido, se já foi cadastrado ou se possui nivel de segurança adequado.
					do{
						cout << "Digite o nome do tratador: " << endl;
						getline(cin, tratador);
						if(!verifica_nome(tratador, sucesso)){
							cout << "ERRO: só pode ser inserido letra ou espaço!" << endl << endl;
						}
						check = check_tratador(0, tratadores, tratador, tipo);
						if(!check){
							cout << endl;
							cout << "ERRO: Tratador não cadastrado ou não se adequa!" << endl << endl;
							sucesso = 'n';
						}
					}while(sucesso == 'n');

					
					//Recebe o nome e verifica se é valido.
					do{
						cout << "Digite o nome de batismo: " << endl;
						getline(cin, nome_batismo);
						if(!verifica_nome(nome_batismo, sucesso)){
							cout << "ERRO: só pode ser inserido letra ou espaço!" << endl << endl;
						}
						transform(nome_batismo.begin(), nome_batismo.end(), nome_batismo.begin(), ::tolower); // Converte a string nome para caracteres maiúsculos.
					}while(sucesso == 'n');

					//Recebe o sexo do animal e verifica se é F ou M.
					do{
						cout << "Digite o sexo do animal: " << endl;
						getline(cin, sexo_string);
						transform(sexo_string.begin(), sexo_string.end(), sexo_string.begin(), ::toupper); // Converte a string nome para caracteres maiúsculos.
						if(sexo_string != "F" && sexo_string != "M" ){
							sucesso = 'n';
							cout << "ERRO: só são permitidos F ou M!" << endl << endl;
						}
						else{
							sexo = (char)sexo_string[0];
							sucesso = 's';
						}

					}while(sucesso == 'n');
					
					//Recebe o tamanho do animal e verifica se não caracteres pproibidos.
					do{
						cout << "Digite o tamanho do animal: " << endl;
						getline(cin, tamanho_string);
						if(!verifica_tamanho(tamanho_string, sucesso)){
							cout << "ERRO: o tamanho do animal tem que ter apenas um '.' " << endl << endl;
						}
						tamanho = stod(tamanho_string);
					}while(sucesso == 'n');
					
					//Recebe o total de mudas e verifica se é um inteiro positivo.
					do{
						cout << "Insira o total de mudas:" << endl;
						getline(cin, total_mudas_string);
						if(!verifica_inteiro(total_mudas_string, sucesso)){
							cout << "ERRO: O total de mudas deve conter apenas inteiros positivos!" << endl << endl;
						}
						else{
							stringstream ss(total_mudas_string);
							ss >> total_mudas;
						}
					}while(sucesso == 'n');
					
					//Recebe a ultima muda e verifica se está no formato correto.
					do{
						cout << "Insira a data da última muda(dd-mm-aaaa)" << endl;
						getline(cin, ultima_muda);
						if(!verifica_data(ultima_muda, sucesso)){
							cout << "ERRO: A ultima muda deve ser nesse formato ex.: 12-03-2019" << endl << endl;
						}
					}while(sucesso == 'n');

					//Verifica se a autorizacao está no formato correto.
					do{
						cout << "Insira a autorizacao do IBAMA: " << endl;
						getline(cin, autorizacao_IBAMA);
						if(!verifica_autorizacao(autorizacao_IBAMA, sucesso)){
							cout << "ERRO: A autorizacao deve conter letras, numeros e '-'"<< endl << endl;
						}
					}while(sucesso == 'n');


					//Verifica se foi passado uma string.
					do{
						cout << "Digite a UF de origem: " << endl;
						getline(cin, origem);
						if(!verifica_origem(origem, sucesso)){
							cout << "ERRO: Deve-se colocar apenas letras!" << endl << endl;
						}
					}while(sucesso == 'n');

					//Verifica se a autorizacao está no formato correto.
					do{
						cout << "Insira a autorizacao do animal: " << endl;
						getline(cin, autorizacao);
						if(!verifica_autorizacao(autorizacao, sucesso)){
							cout << "ERRO: A autorizacao deve conter letras, numeros e '-'" << endl << endl;
						}
					}while(sucesso == 'n');

					(*result).second = ANFIBIO_NATIVO(id_buscado, classe, nome, nome_cientifico, sexo, tamanho, dieta, veterinario, tratador, nome_batismo, total_mudas, ultima_muda, autorizacao_IBAMA, origem, autorizacao);
					sucesso = 's';
				}
				else{
					cout << "Animal não cadastrado!!" << endl;
					sucesso = 'n';
				}
				if(sucesso == 's'){
					nativos.open("anfibios_nat.txt");
					for(auto it = anfibios_nat.begin(); it != anfibios_nat.end(); it++){
						nativos << (*it).second;
					}
					nativos.close();
				}

				cout << "\nDeseja editar outro? s/n" << endl;
				cin >> op;
				
			}
			else{
				cout << "Insira o ID buscado: " << endl;
				cin >> id_buscado;

				auto result = anfibios_ex.find(id_buscado);
			
				if(result != anfibios_ex.end()){
					cout << "ID existe!" << endl;

					//Classe dos anfibios.
					classe = "Amphibia";

					//Recebe o nome e verifica se é valido.
					do{
						cout << "Digite o nome:" << endl;
						cin.ignore();
						getline(cin, nome);
						if(!verifica_nome(nome, sucesso)){
							cout << "ERRO: só pode ser inserido letra ou espaço!" << endl << endl;
						}
						else{
							transform(nome.begin(), nome.end(), nome.begin(), ::tolower); // Converte a string nome para caracteres minusculos.
						}
					}while(sucesso == 'n');

			
					//Recebe o nome cientifico e verifica se é valido.
					do{
						cout << "Digite o nome científico:" << endl;
						getline(cin, nome_cientifico);
						if(!verifica_nome_cient(nome_cientifico, sucesso)){
							cout << "ERRO: só pode ser inserido letra, espaço ou traço!" << endl << endl;
						}
					}while(sucesso == 'n');

					//Recebe a dieta e verifica se não possui caracteres proibidos.
					do{
						cout << "Digite a dieta: " << endl;
						getline(cin, dieta);
						if(!verifica_dieta(dieta, sucesso)){
							cout << "ERRO: só pode ser inserido letra ou espaço!" << endl << endl;
						}
					}while(sucesso == 'n');
					
					//Recebe o nome do veterinario e verifica se não possui caracteres proibidos.
					do{
						cout << "Digite o nome do veterinario: " << endl;
						getline(cin, veterinario);
						
						if(!verifica_nome(veterinario, sucesso)){
							cout << "ERRO: só pode ser inserido letra ou espaço!" << endl << endl;
						}
						check = check_vet(vets, veterinario);
						if(!check){
							cout << endl;
							cout << "ERRO: Veterinario não cadastrado!" << endl;
							sucesso = 'n';
						}
					}while(sucesso == 'n');
					
					//Recebe o nome do tratador e verifica se não possui caracteres proibido, se já foi cadastrado ou se possui nivel de segurança adequado.
					do{
						cout << "Digite o nome do tratador: " << endl;
						getline(cin, tratador);
						if(!verifica_nome(tratador, sucesso)){
							cout << "ERRO: só pode ser inserido letra ou espaço!" << endl << endl;
						}
						check = check_tratador(0, tratadores, tratador, tipo);
						if(!check){
							cout << endl;
							cout << "ERRO: Tratador não cadastrado ou não se adequa!" << endl << endl;
							sucesso = 'n';
						}
					}while(sucesso == 'n');

					
					//Recebe o nome e verifica se é valido.
					do{
						cout << "Digite o nome de batismo: " << endl;
						getline(cin, nome_batismo);
						if(!verifica_nome(nome_batismo, sucesso)){
							cout << "ERRO: só pode ser inserido letra ou espaço!" << endl << endl;
						}
						transform(nome_batismo.begin(), nome_batismo.end(), nome_batismo.begin(), ::tolower); // Converte a string nome para caracteres maiúsculos.
					}while(sucesso == 'n');

					//Recebe o sexo do animal e verifica se é F ou M.
					do{
						cout << "Digite o sexo do animal: " << endl;
						getline(cin, sexo_string);
						transform(sexo_string.begin(), sexo_string.end(), sexo_string.begin(), ::toupper); // Converte a string nome para caracteres maiúsculos.
						if(sexo_string != "F" && sexo_string != "M" ){
							sucesso = 'n';
							cout << "ERRO: só são permitidos F ou M!" << endl << endl;
						}
						else{
							sexo = (char)sexo_string[0];
							sucesso = 's';
						}

					}while(sucesso == 'n');
					
					//Recebe o tamanho do animal e verifica se não caracteres pproibidos.
					do{
						cout << "Digite o tamanho do animal: " << endl;
						getline(cin, tamanho_string);
						if(!verifica_tamanho(tamanho_string, sucesso)){
							cout << "ERRO: o tamanho do animal tem que ter apenas um '.' " << endl << endl;
						}
						tamanho = stod(tamanho_string);
					}while(sucesso == 'n');
					
					//Recebe o total de mudas e verifica se é um inteiro positivo.
					do{
						cout << "Insira o total de mudas:" << endl;
						getline(cin, total_mudas_string);
						if(!verifica_inteiro(total_mudas_string, sucesso)){
							cout << "ERRO: O total de mudas deve conter apenas inteiros positivos!" << endl << endl;
						}
						else{
							stringstream ss(total_mudas_string);
							ss >> total_mudas;
						}
					}while(sucesso == 'n');
					
					//Recebe a ultima muda e verifica se está no formato correto.
					do{
						cout << "Insira a data da última muda(dd-mm-aaaa)" << endl;
						getline(cin, ultima_muda);
						if(!verifica_data(ultima_muda, sucesso)){
							cout << "ERRO: A ultima muda deve ser nesse formato ex.: 12-03-2019" << endl << endl;
						}
					}while(sucesso == 'n');

					//Verifica se a autorizacao está no formato correto.
					do{
						cout << "Insira a autorizacao do IBAMA: " << endl;
						getline(cin, autorizacao_IBAMA);
						if(!verifica_autorizacao(autorizacao_IBAMA, sucesso)){
							cout << "ERRO: A autorizacao deve conter letras, numeros e '-'" << endl << endl;
						}
					}while(sucesso == 'n');


					//Verifica se foi passado uma string.
					do{
						cout << "Digite o País de origem: " << endl;
						getline(cin, origem);
						if(!verifica_origem(origem, sucesso)){
							cout << "ERRO: Deve-se colocar apenas letras!" << endl << endl;
						}
					}while(sucesso == 'n');

					//Verifica se a autorizacao está no formato correto.
					do{
						cout << "Insira a autorizacao do animal: " << endl;
						getline(cin, autorizacao);
						if(!verifica_autorizacao(autorizacao, sucesso)){
							cout << "ERRO: A autorizacao deve conter letras, numeros e '-'" << endl << endl;
						}
					}while(sucesso == 'n');

					(*result).second = ANFIBIO_EXOTICO(id_buscado, classe,nome, nome_cientifico, sexo, tamanho, dieta, veterinario, tratador, nome_batismo, total_mudas, ultima_muda, autorizacao_IBAMA, origem, autorizacao);
					sucesso = 's';
				}
				else{
					cout << "Animal não cadastrado!!" << endl;
					sucesso = 'n';
				}
				if(sucesso == 's'){
					exoticos.open("anfibios_ex.txt");
					for(auto it = anfibios_ex.begin(); it != anfibios_ex.end(); it++){
						exoticos << (*it).second;
					}
					exoticos.close();
				}

				cout << "\nDeseja editar outro? s/n" << endl;
				cin >> op;
			}	
		} // Primeiro else.
	}while(op == 's');
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc08, %rsp            # imm = 0xC08
movq %rcx, -0x270(%rbp)
movq %rdx, -0x278(%rbp)
movq %rsi, -0xc8(%rbp)
movq %rdi, -0xc0(%rbp)
leaq -0x220(%rbp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x200(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x1e0(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x120(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0xa0(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x80(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x1c0(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x1a0(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x180(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x100(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x60(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x688(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x160(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0xe0(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x140(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0xa28(%rbp), %rdi
callq 0x3360
leaq -0xc28(%rbp), %rdi
callq 0x3360
movq -0xc8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x50(%rbp)
leaq -0x828(%rbp), %rdi
leaq 0x80(%rdi), %rax
movq %rax, -0x40(%rbp)
leaq 0xa0(%rdi), %rax
movq %rax, -0x268(%rbp)
leaq 0xc0(%rdi), %rax
movq %rax, -0x260(%rbp)
leaq 0xe0(%rdi), %rax
movq %rax, -0x258(%rbp)
leaq 0x108(%rdi), %rax
movq %rax, -0x250(%rbp)
leaq 0x128(%rdi), %rax
movq %rax, -0x248(%rbp)
leaq 0x148(%rdi), %rax
movq %rax, -0x240(%rbp)
leaq 0x170(%rdi), %rax
movq %rax, -0x238(%rbp)
movq -0xc0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x48(%rbp)
movq 0x23598(%rip), %r12     # 0x47fd0
movq 0x235a1(%rip), %r13     # 0x47fe0
leaq -0xc28(%rbp), %r14
movl $0x2f, %edx
movq %r12, %rdi
leaq 0x167e2(%rip), %rsi     # 0x3b237
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
leaq -0x2d(%rbp), %rsi
callq 0x3280
movzbl -0x2d(%rbp), %eax
cmpl $0x65, %eax
je 0x24c7f
cmpl $0x6e, %eax
je 0x24b69
movl $0x25, %edx
movq %r12, %rdi
leaq 0x1675e(%rip), %rsi     # 0x3b211
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movl $0x10, %edx
movq %r12, %rdi
leaq 0x15b01(%rip), %rsi     # 0x3a618
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
leaq -0x2c(%rbp), %rsi
callq 0x3280
cmpb $0x73, -0x2c(%rbp)
je 0x27715
cmpb $0x73, -0x2b(%rbp)
je 0x24a46
jmp 0x27715
movl $0x15, %edx
movq %r12, %rdi
leaq 0x166ef(%rip), %rsi     # 0x3b267
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
leaq -0x34(%rbp), %rsi
callq 0x3120
movq -0xc0(%rbp), %rax
movq 0x10(%rax), %rcx
testq %rcx, %rcx
je 0x24bf2
movl -0x34(%rbp), %eax
movq -0x48(%rbp), %rsi
xorl %edx, %edx
cmpl %eax, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %rsi
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x24bc8
cmpq -0x48(%rbp), %rsi
je 0x24bf2
cmpl 0x20(%rsi), %eax
cmovlq -0x48(%rbp), %rsi
jge 0x24d95
movl $0x18, %edx
movq %r12, %rdi
leaq 0x16687(%rip), %rsi     # 0x3b288
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
movl $0x19, %edx
movq %r12, %rdi
leaq 0x16660(%rip), %rsi     # 0x3b2a1
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
leaq -0x2b(%rbp), %rsi
callq 0x3280
jmp 0x24b5a
movl $0x15, %edx
movq %r12, %rdi
leaq 0x165d9(%rip), %rsi     # 0x3b267
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
leaq -0x34(%rbp), %rsi
callq 0x3120
movq -0xc8(%rbp), %rax
movq 0x10(%rax), %rcx
testq %rcx, %rcx
je 0x24d08
movl -0x34(%rbp), %eax
movq -0x50(%rbp), %rsi
xorl %edx, %edx
cmpl %eax, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %rsi
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x24cde
cmpq -0x50(%rbp), %rsi
je 0x24d08
cmpl 0x20(%rsi), %eax
cmovlq -0x50(%rbp), %rsi
jge 0x256c3
movl $0x18, %edx
movq %r12, %rdi
leaq 0x16571(%rip), %rsi     # 0x3b288
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
movl $0x19, %edx
movq %r12, %rdi
leaq 0x1654a(%rip), %rsi     # 0x3b2a1
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
leaq -0x2b(%rbp), %rsi
callq 0x3280
jmp 0x24b5a
movq %rsi, -0xb8(%rbp)
movl $0xa, %edx
movq %r12, %rdi
leaq 0x164d2(%rip), %rsi     # 0x3b27d
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x228(%rbp), %rdx
movl $0x8, %r8d
leaq -0x230(%rbp), %rdi
xorl %esi, %esi
leaq 0x15d58(%rip), %rcx     # 0x3ab4d
callq 0x3300
movl $0xe, %edx
movq %r12, %rdi
leaq 0x1597a(%rip), %rsi     # 0x3a783
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
callq 0x33a0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x70(%rbp), %rsi
callq 0x33c0
leaq -0x70(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
je 0x24e9f
movq -0x68(%rbp), %rbx
testq %rbx, %rbx
je 0x24f05
movq -0x70(%rbp), %r14
xorl %r15d, %r15d
movsbl (%r14,%r15), %edi
callq 0x32c0
movb %al, (%r14,%r15)
incq %r15
cmpq %r15, %rbx
jne 0x24e87
jmp 0x24f05
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x158e4(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x24dfa
leaq -0x130(%rbp), %r14
movl $0x1a, %edx
movq %r12, %rdi
leaq 0x15c31(%rip), %rsi     # 0x3ab56
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x210(%rbp), %rsi
callq 0x33c0
leaq -0x210(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38318
testb %al, %al
jne 0x24ff3
movl $0x35, %edx
movq %r12, %rdi
leaq 0x15bd5(%rip), %rsi     # 0x3ab71
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x24f16
movl $0x10, %edx
movq %r12, %rdi
leaq 0x15b9b(%rip), %rsi     # 0x3aba7
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x1f0(%rbp), %rsi
callq 0x33c0
leaq -0x1f0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38bdf
testb %al, %al
jne 0x250da
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x1570f(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x24ffd
jmp 0x2514e
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movl $0x22, %edx
movq %r12, %rdi
leaq 0x15aba(%rip), %rsi     # 0x3abd7
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
movl $0x1e, %edx
movq %r12, %rdi
leaq 0x15a5b(%rip), %rsi     # 0x3abb8
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
movq %r14, %rsi
callq 0x33c0
movq %r14, %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x25223
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x155c6(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
leaq -0x628(%rbp), %rax
movq %rax, -0x638(%rbp)
movq -0x130(%rbp), %rsi
movq -0x128(%rbp), %rdx
addq %rsi, %rdx
leaq -0x638(%rbp), %rdi
callq 0x4574
movq -0x278(%rbp), %rdi
leaq -0x638(%rbp), %rsi
callq 0x36d35
movl %eax, %ebx
movq -0x638(%rbp), %rdi
leaq -0x628(%rbp), %rax
cmpq %rax, %rdi
je 0x2527b
callq 0x31d0
testb %bl, %bl
je 0x250e6
cmpb $0x6e, -0x29(%rbp)
je 0x2514e
movl $0x1b, %edx
movq %r12, %rdi
leaq 0x1595e(%rip), %rsi     # 0x3abfa
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0xb0(%rbp), %rsi
callq 0x33c0
leaq -0xb0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x2536a
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x1547f(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
leaq -0x608(%rbp), %rax
movq %rax, -0x618(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x618(%rbp), %rdi
callq 0x4574
xorl %edi, %edi
movq -0x270(%rbp), %rsi
leaq -0x618(%rbp), %rdx
movl $0x61, %ecx
callq 0x36dd5
movl %eax, %ebx
movq -0x618(%rbp), %rdi
leaq -0x608(%rbp), %rax
cmpq %rax, %rdi
je 0x253c9
callq 0x31d0
testb %bl, %bl
je 0x253dc
cmpb $0x6e, -0x29(%rbp)
je 0x2528d
jmp 0x25473
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movl $0x31, %edx
movq %r12, %rdi
leaq 0x15803(%rip), %rsi     # 0x3ac16
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
jmp 0x2528d
movl $0x1a, %edx
movq %r12, %rdi
leaq 0x157c6(%rip), %rsi     # 0x3ac48
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x90(%rbp), %rsi
callq 0x33c0
leaq -0x90(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x25550
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x15299(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x88(%rbp), %rbx
testq %rbx, %rbx
je 0x2557c
movq -0x90(%rbp), %r14
xorl %r15d, %r15d
movsbl (%r14,%r15), %edi
callq 0x32c0
movb %al, (%r14,%r15)
incq %r15
cmpq %r15, %rbx
jne 0x25566
cmpb $0x6e, -0x29(%rbp)
je 0x25473
movl $0x19, %edx
movq %r12, %rdi
leaq 0x156ce(%rip), %rsi     # 0x3ac63
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0xf0(%rbp), %rsi
callq 0x33c0
movq -0xe8(%rbp), %rbx
testq %rbx, %rbx
je 0x25615
movq -0xf0(%rbp), %r14
xorl %r15d, %r15d
movsbl (%r14,%r15), %edi
callq 0x33d0
movb %al, (%r14,%r15)
incq %r15
cmpq %r15, %rbx
jne 0x255ff
leaq -0xf0(%rbp), %rbx
movq %rbx, %rdi
leaq 0x15657(%rip), %rsi     # 0x3ac7d
callq 0x30c0
testl %eax, %eax
je 0x25ff1
movq %rbx, %rdi
leaq 0x15642(%rip), %rsi     # 0x3ac7f
callq 0x30c0
testl %eax, %eax
je 0x25ff1
movb $0x6e, -0x29(%rbp)
movl $0x21, %edx
movq %r12, %rdi
leaq 0x15624(%rip), %rsi     # 0x3ac81
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x25586
jmp 0x26001
movq %rsi, -0xb8(%rbp)
movl $0xa, %edx
movq %r12, %rdi
leaq 0x15ba4(%rip), %rsi     # 0x3b27d
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x228(%rbp), %rdx
movl $0x8, %r8d
leaq -0x230(%rbp), %rdi
xorl %esi, %esi
leaq 0x1542a(%rip), %rcx     # 0x3ab4d
callq 0x3300
movl $0xe, %edx
movq %r12, %rdi
leaq 0x1504c(%rip), %rsi     # 0x3a783
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
callq 0x33a0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x70(%rbp), %rsi
callq 0x33c0
leaq -0x70(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
je 0x257cd
movq -0x68(%rbp), %rbx
testq %rbx, %rbx
je 0x25833
movq -0x70(%rbp), %r14
xorl %r15d, %r15d
movsbl (%r14,%r15), %edi
callq 0x32c0
movb %al, (%r14,%r15)
incq %r15
cmpq %r15, %rbx
jne 0x257b5
jmp 0x25833
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x14fb6(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x25728
leaq -0x130(%rbp), %r14
movl $0x1a, %edx
movq %r12, %rdi
leaq 0x15303(%rip), %rsi     # 0x3ab56
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x210(%rbp), %rsi
callq 0x33c0
leaq -0x210(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38318
testb %al, %al
jne 0x25921
movl $0x35, %edx
movq %r12, %rdi
leaq 0x152a7(%rip), %rsi     # 0x3ab71
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x25844
movl $0x10, %edx
movq %r12, %rdi
leaq 0x1526d(%rip), %rsi     # 0x3aba7
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x1f0(%rbp), %rsi
callq 0x33c0
leaq -0x1f0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38bdf
testb %al, %al
jne 0x25a08
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x14de1(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x2592b
jmp 0x25a7c
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movl $0x22, %edx
movq %r12, %rdi
leaq 0x1518c(%rip), %rsi     # 0x3abd7
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
movl $0x1e, %edx
movq %r12, %rdi
leaq 0x1512d(%rip), %rsi     # 0x3abb8
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
movq %r14, %rsi
callq 0x33c0
movq %r14, %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x25b51
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x14c98(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
leaq -0x448(%rbp), %rax
movq %rax, -0x458(%rbp)
movq -0x130(%rbp), %rsi
movq -0x128(%rbp), %rdx
addq %rsi, %rdx
leaq -0x458(%rbp), %rdi
callq 0x4574
movq -0x278(%rbp), %rdi
leaq -0x458(%rbp), %rsi
callq 0x36d35
movl %eax, %ebx
movq -0x458(%rbp), %rdi
leaq -0x448(%rbp), %rax
cmpq %rax, %rdi
je 0x25ba9
callq 0x31d0
testb %bl, %bl
je 0x25a14
cmpb $0x6e, -0x29(%rbp)
je 0x25a7c
movl $0x1b, %edx
movq %r12, %rdi
leaq 0x15030(%rip), %rsi     # 0x3abfa
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0xb0(%rbp), %rsi
callq 0x33c0
leaq -0xb0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x25c98
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x14b51(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
leaq -0x428(%rbp), %rax
movq %rax, -0x438(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x438(%rbp), %rdi
callq 0x4574
xorl %edi, %edi
movq -0x270(%rbp), %rsi
leaq -0x438(%rbp), %rdx
movl $0x61, %ecx
callq 0x36dd5
movl %eax, %ebx
movq -0x438(%rbp), %rdi
leaq -0x428(%rbp), %rax
cmpq %rax, %rdi
je 0x25cf7
callq 0x31d0
testb %bl, %bl
je 0x25d0a
cmpb $0x6e, -0x29(%rbp)
je 0x25bbb
jmp 0x25da1
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movl $0x31, %edx
movq %r12, %rdi
leaq 0x14ed5(%rip), %rsi     # 0x3ac16
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
jmp 0x25bbb
movl $0x1a, %edx
movq %r12, %rdi
leaq 0x14e98(%rip), %rsi     # 0x3ac48
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x90(%rbp), %rsi
callq 0x33c0
leaq -0x90(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x25e7e
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x1496b(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x88(%rbp), %rbx
testq %rbx, %rbx
je 0x25eaa
movq -0x90(%rbp), %r14
xorl %r15d, %r15d
movsbl (%r14,%r15), %edi
callq 0x32c0
movb %al, (%r14,%r15)
incq %r15
cmpq %r15, %rbx
jne 0x25e94
cmpb $0x6e, -0x29(%rbp)
je 0x25da1
movl $0x19, %edx
movq %r12, %rdi
leaq 0x14da0(%rip), %rsi     # 0x3ac63
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0xf0(%rbp), %rsi
callq 0x33c0
movq -0xe8(%rbp), %rbx
testq %rbx, %rbx
je 0x25f43
movq -0xf0(%rbp), %r14
xorl %r15d, %r15d
movsbl (%r14,%r15), %edi
callq 0x33d0
movb %al, (%r14,%r15)
incq %r15
cmpq %r15, %rbx
jne 0x25f2d
leaq -0xf0(%rbp), %rbx
movq %rbx, %rdi
leaq 0x14d29(%rip), %rsi     # 0x3ac7d
callq 0x30c0
testl %eax, %eax
je 0x26b89
movq %rbx, %rdi
leaq 0x14d14(%rip), %rsi     # 0x3ac7f
callq 0x30c0
testl %eax, %eax
je 0x26b89
movb $0x6e, -0x29(%rbp)
movl $0x21, %edx
movq %r12, %rdi
leaq 0x14cf6(%rip), %rsi     # 0x3ac81
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x25eb4
jmp 0x26b99
movq -0xf0(%rbp), %rax
movb (%rax), %al
movb %al, -0x2a(%rbp)
movb $0x73, -0x29(%rbp)
movl $0x1c, %edx
movq %r12, %rdi
leaq 0x14c93(%rip), %rsi     # 0x3aca3
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x170(%rbp), %rsi
callq 0x33c0
leaq -0x5e8(%rbp), %rax
movq %rax, -0x5f8(%rbp)
movq -0x170(%rbp), %rsi
movq -0x168(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5f8(%rbp), %rdi
callq 0x4574
leaq -0x5f8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38d29
movl %eax, %ebx
movq -0x5f8(%rbp), %rdi
leaq -0x5e8(%rbp), %rax
cmpq %rax, %rdi
je 0x260b9
callq 0x31d0
testb %bl, %bl
jne 0x26123
movl $0x34, %edx
movq %r12, %rdi
leaq 0x14bf4(%rip), %rsi     # 0x3acc0
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x170(%rbp), %r15
callq 0x3040
movq %rax, %rbx
movl (%rax), %r14d
movl $0x0, (%rax)
movq %r15, %rdi
leaq -0x828(%rbp), %rsi
callq 0x3170
movsd %xmm0, -0xd0(%rbp)
cmpq %r15, -0x828(%rbp)
je 0x278fb
movl (%rbx), %eax
testl %eax, %eax
je 0x2616f
cmpl $0x22, %eax
jne 0x26172
jmp 0x27913
movl %r14d, (%rbx)
cmpb $0x6e, -0x29(%rbp)
je 0x26001
leaq -0x828(%rbp), %r14
movl $0x18, %edx
movq %r12, %rdi
leaq 0x14b63(%rip), %rsi     # 0x3acf5
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x150(%rbp), %rsi
callq 0x33c0
leaq -0x5c8(%rbp), %rax
movq %rax, -0x5d8(%rbp)
movq -0x150(%rbp), %rsi
movq -0x148(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5d8(%rbp), %rdi
callq 0x4574
leaq -0x5d8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x385c0
movl %eax, %ebx
movq -0x5d8(%rbp), %rdi
leaq -0x5c8(%rbp), %rax
cmpq %rax, %rdi
je 0x2623b
callq 0x31d0
testb %bl, %bl
je 0x26279
movq %r14, %rdi
leaq -0x150(%rbp), %rsi
movl $0x18, %edx
callq 0x3310
movq %r14, %rdi
leaq -0x38(%rbp), %rsi
callq 0x3120
movq %r14, %rdi
movq 0x21d47(%rip), %rsi     # 0x47fb0
callq 0x3160
movq -0x40(%rbp), %rdi
callq 0x30d0
jmp 0x262df
movl $0x3d, %edx
movq %r12, %rdi
leaq 0x14a86(%rip), %rsi     # 0x3ad0e
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x26183
movl $0x29, %edx
movq %r12, %rdi
leaq 0x14a54(%rip), %rsi     # 0x3ad4c
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x110(%rbp), %rsi
callq 0x33c0
leaq -0x5a8(%rbp), %rax
movq %rax, -0x5b8(%rbp)
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5b8(%rbp), %rdi
callq 0x4574
leaq -0x5b8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38e00
movl %eax, %ebx
movq -0x5b8(%rbp), %rdi
leaq -0x5a8(%rbp), %rax
cmpq %rax, %rdi
je 0x263a1
callq 0x31d0
testb %bl, %bl
jne 0x2640b
movl $0x3a, %edx
movq %r12, %rdi
leaq 0x149c2(%rip), %rsi     # 0x3ad76
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x262e9
movl $0x1f, %edx
movq %r12, %rdi
leaq 0x1498d(%rip), %rsi     # 0x3adb1
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x33c0
leaq -0x1b0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38ed7
testb %al, %al
jne 0x264f2
movl $0x35, %edx
movq %r12, %rdi
leaq 0x14936(%rip), %rsi     # 0x3add1
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x26415
movl $0x17, %edx
movq %r12, %rdi
leaq 0x148fc(%rip), %rsi     # 0x3ae07
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x190(%rbp), %rsi
callq 0x33c0
leaq -0x190(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x39038
testb %al, %al
jne 0x265d9
movl $0x24, %edx
movq %r12, %rdi
leaq 0x1489d(%rip), %rsi     # 0x3ae1f
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x264fc
movl $0x20, %edx
movq %r12, %rdi
leaq 0x14852(%rip), %rsi     # 0x3ae44
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x33c0
leaq -0x1d0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38ed7
testb %al, %al
jne 0x266c0
movl $0x35, %edx
movq %r12, %rdi
leaq 0x14768(%rip), %rsi     # 0x3add1
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x265e3
movl -0x34(%rbp), %r14d
leaq -0x588(%rbp), %rax
movq %rax, -0x598(%rbp)
movq -0x230(%rbp), %rsi
movq -0x228(%rbp), %rdx
addq %rsi, %rdx
leaq -0x598(%rbp), %rdi
callq 0x4574
leaq -0x568(%rbp), %rax
movq %rax, -0x578(%rbp)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
leaq -0x578(%rbp), %rdi
callq 0x4574
leaq -0x548(%rbp), %rax
movq %rax, -0x558(%rbp)
movq -0x210(%rbp), %rsi
movq -0x208(%rbp), %rdx
addq %rsi, %rdx
leaq -0x558(%rbp), %rdi
callq 0x4574
leaq -0x528(%rbp), %rax
movq %rax, -0x538(%rbp)
movq -0x1f0(%rbp), %rsi
movq -0x1e8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x538(%rbp), %rdi
callq 0x4574
leaq -0x508(%rbp), %rax
movq %rax, -0x518(%rbp)
movq -0x130(%rbp), %rsi
movq -0x128(%rbp), %rdx
addq %rsi, %rdx
leaq -0x518(%rbp), %rdi
callq 0x4574
leaq -0x4e8(%rbp), %rax
movq %rax, -0x4f8(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4f8(%rbp), %rdi
callq 0x4574
leaq -0x4c8(%rbp), %rax
movq %rax, -0x4d8(%rbp)
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4d8(%rbp), %rdi
callq 0x4574
movl -0x38(%rbp), %r15d
leaq -0x4a8(%rbp), %rax
movq %rax, -0x4b8(%rbp)
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4b8(%rbp), %rdi
callq 0x4574
leaq -0x488(%rbp), %rax
movq %rax, -0x498(%rbp)
movq -0x1b0(%rbp), %rsi
movq -0x1a8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x498(%rbp), %rdi
callq 0x4574
leaq -0x468(%rbp), %rax
movq %rax, -0x478(%rbp)
movq -0x190(%rbp), %rsi
movq -0x188(%rbp), %rdx
addq %rsi, %rdx
leaq -0x478(%rbp), %rdi
callq 0x4574
leaq -0x668(%rbp), %rax
movq %rax, -0x678(%rbp)
movq -0x1d0(%rbp), %rsi
movq -0x1c8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x678(%rbp), %rbx
movq %rbx, %rdi
callq 0x4574
subq $0x8, %rsp
movsbl -0x2a(%rbp), %r9d
leaq -0x828(%rbp), %rdi
movl %r14d, %esi
leaq -0x598(%rbp), %rdx
leaq -0x578(%rbp), %rcx
leaq -0x558(%rbp), %r8
movsd -0xd0(%rbp), %xmm0
pushq %rbx
leaq -0x478(%rbp), %rax
pushq %rax
leaq -0x498(%rbp), %rax
pushq %rax
leaq -0x4b8(%rbp), %rax
pushq %rax
pushq %r15
leaq -0x4d8(%rbp), %rax
pushq %rax
leaq -0x4f8(%rbp), %rax
pushq %rax
leaq -0x518(%rbp), %rax
pushq %rax
leaq -0x538(%rbp), %rax
pushq %rax
callq 0x57e8
addq $0x50, %rsp
movl -0x820(%rbp), %eax
movq -0xb8(%rbp), %rbx
movl %eax, 0x30(%rbx)
leaq 0x38(%rbx), %rdi
leaq -0x818(%rbp), %rsi
callq 0x30f0
leaq -0x828(%rbp), %r14
leaq 0x58(%rbx), %rdi
leaq -0x7f8(%rbp), %rsi
callq 0x30f0
leaq 0x78(%rbx), %rdi
leaq -0x7d8(%rbp), %rsi
callq 0x30f0
movups 0x70(%r14), %xmm0
movups %xmm0, 0x98(%rbx)
leaq 0xa8(%rbx), %rdi
movq -0x40(%rbp), %rsi
callq 0x30f0
leaq 0xc8(%rbx), %rdi
movq -0x268(%rbp), %rsi
callq 0x30f0
leaq 0xe8(%rbx), %rdi
movq -0x260(%rbp), %rsi
callq 0x30f0
leaq 0x108(%rbx), %rdi
movq -0x258(%rbp), %rsi
callq 0x30f0
leaq 0x130(%rbx), %rdi
movq -0x250(%rbp), %rsi
callq 0x30f0
leaq 0x150(%rbx), %rdi
movq -0x248(%rbp), %rsi
callq 0x30f0
leaq 0x170(%rbx), %rdi
movq -0x240(%rbp), %rsi
callq 0x30f0
movl -0x6c0(%rbp), %eax
movl %eax, 0x190(%rbx)
addq $0x198, %rbx            # imm = 0x198
movq %rbx, %rdi
movq -0x238(%rbp), %rsi
callq 0x30f0
movq %r14, %rdi
callq 0x5cb2
movq -0x678(%rbp), %rdi
leaq -0x668(%rbp), %rax
cmpq %rax, %rdi
je 0x26a33
callq 0x31d0
movq -0x478(%rbp), %rdi
leaq -0x468(%rbp), %rax
cmpq %rax, %rdi
leaq -0xc28(%rbp), %r14
je 0x26a52
callq 0x31d0
movq -0x498(%rbp), %rdi
leaq -0x488(%rbp), %rax
cmpq %rax, %rdi
je 0x26a6a
callq 0x31d0
movq -0x4b8(%rbp), %rdi
leaq -0x4a8(%rbp), %rax
cmpq %rax, %rdi
je 0x26a82
callq 0x31d0
movq -0x4d8(%rbp), %rdi
leaq -0x4c8(%rbp), %rax
cmpq %rax, %rdi
je 0x26a9a
callq 0x31d0
movq -0x4f8(%rbp), %rdi
leaq -0x4e8(%rbp), %rax
cmpq %rax, %rdi
je 0x26ab2
callq 0x31d0
movq -0x518(%rbp), %rdi
leaq -0x508(%rbp), %rax
cmpq %rax, %rdi
je 0x26aca
callq 0x31d0
movq -0x538(%rbp), %rdi
leaq -0x528(%rbp), %rax
cmpq %rax, %rdi
je 0x26ae2
callq 0x31d0
movq -0x558(%rbp), %rdi
leaq -0x548(%rbp), %rax
cmpq %rax, %rdi
je 0x26afa
callq 0x31d0
movq -0x578(%rbp), %rdi
leaq -0x568(%rbp), %rax
cmpq %rax, %rdi
je 0x26b12
callq 0x31d0
movq -0x598(%rbp), %rdi
leaq -0x588(%rbp), %rax
cmpq %rax, %rdi
je 0x26b2a
callq 0x31d0
movb $0x73, -0x29(%rbp)
leaq -0xa28(%rbp), %rdi
leaq 0x143b7(%rip), %rsi     # 0x3aef3
movl $0x10, %edx
callq 0x3050
movq -0xc0(%rbp), %rax
movq 0x18(%rax), %rbx
cmpq -0x48(%rbp), %rbx
je 0x26b78
leaq 0x28(%rbx), %rsi
leaq -0xa28(%rbp), %rdi
callq 0x91cb
movq %rbx, %rdi
callq 0x3140
movq %rax, %rbx
cmpq -0x48(%rbp), %rax
jne 0x26b57
leaq -0xa28(%rbp), %rdi
callq 0x32a0
jmp 0x24c32
movq -0xf0(%rbp), %rax
movb (%rax), %al
movb %al, -0x2a(%rbp)
movb $0x73, -0x29(%rbp)
movl $0x1c, %edx
movq %r12, %rdi
leaq 0x140fb(%rip), %rsi     # 0x3aca3
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x170(%rbp), %rsi
callq 0x33c0
leaq -0x408(%rbp), %rax
movq %rax, -0x418(%rbp)
movq -0x170(%rbp), %rsi
movq -0x168(%rbp), %rdx
addq %rsi, %rdx
leaq -0x418(%rbp), %rdi
callq 0x4574
leaq -0x418(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38d29
movl %eax, %ebx
movq -0x418(%rbp), %rdi
leaq -0x408(%rbp), %rax
cmpq %rax, %rdi
je 0x26c51
callq 0x31d0
testb %bl, %bl
jne 0x26cbb
movl $0x34, %edx
movq %r12, %rdi
leaq 0x1405c(%rip), %rsi     # 0x3acc0
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x170(%rbp), %r15
callq 0x3040
movq %rax, %rbx
movl (%rax), %r14d
movl $0x0, (%rax)
movq %r15, %rdi
leaq -0x828(%rbp), %rsi
callq 0x3170
movsd %xmm0, -0xd0(%rbp)
cmpq %r15, -0x828(%rbp)
je 0x278ef
movl (%rbx), %eax
testl %eax, %eax
je 0x26d07
cmpl $0x22, %eax
jne 0x26d0a
jmp 0x27907
movl %r14d, (%rbx)
cmpb $0x6e, -0x29(%rbp)
je 0x26b99
leaq -0x828(%rbp), %r14
movl $0x18, %edx
movq %r12, %rdi
leaq 0x13fcb(%rip), %rsi     # 0x3acf5
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x150(%rbp), %rsi
callq 0x33c0
leaq -0x3e8(%rbp), %rax
movq %rax, -0x3f8(%rbp)
movq -0x150(%rbp), %rsi
movq -0x148(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3f8(%rbp), %rdi
callq 0x4574
leaq -0x3f8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x385c0
movl %eax, %ebx
movq -0x3f8(%rbp), %rdi
leaq -0x3e8(%rbp), %rax
cmpq %rax, %rdi
je 0x26dd3
callq 0x31d0
testb %bl, %bl
je 0x26e11
movq %r14, %rdi
leaq -0x150(%rbp), %rsi
movl $0x18, %edx
callq 0x3310
movq %r14, %rdi
leaq -0x38(%rbp), %rsi
callq 0x3120
movq %r14, %rdi
movq 0x211af(%rip), %rsi     # 0x47fb0
callq 0x3160
movq -0x40(%rbp), %rdi
callq 0x30d0
jmp 0x26e77
movl $0x3d, %edx
movq %r12, %rdi
leaq 0x13eee(%rip), %rsi     # 0x3ad0e
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x26d1b
movl $0x29, %edx
movq %r12, %rdi
leaq 0x13ebc(%rip), %rsi     # 0x3ad4c
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x110(%rbp), %rsi
callq 0x33c0
leaq -0x3c8(%rbp), %rax
movq %rax, -0x3d8(%rbp)
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3d8(%rbp), %rdi
callq 0x4574
leaq -0x3d8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38e00
movl %eax, %ebx
movq -0x3d8(%rbp), %rdi
leaq -0x3c8(%rbp), %rax
cmpq %rax, %rdi
je 0x26f39
callq 0x31d0
testb %bl, %bl
jne 0x26fa3
movl $0x3a, %edx
movq %r12, %rdi
leaq 0x13e2a(%rip), %rsi     # 0x3ad76
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x26e81
movl $0x1f, %edx
movq %r12, %rdi
leaq 0x13df5(%rip), %rsi     # 0x3adb1
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x33c0
leaq -0x1b0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38ed7
testb %al, %al
jne 0x2708a
movl $0x35, %edx
movq %r12, %rdi
leaq 0x13d9e(%rip), %rsi     # 0x3add1
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x26fad
movl $0x1a, %edx
movq %r12, %rdi
leaq 0x13df0(%rip), %rsi     # 0x3ae93
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x190(%rbp), %rsi
callq 0x33c0
leaq -0x190(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x39038
testb %al, %al
jne 0x27171
movl $0x24, %edx
movq %r12, %rdi
leaq 0x13d05(%rip), %rsi     # 0x3ae1f
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x27094
movl $0x20, %edx
movq %r12, %rdi
leaq 0x13cba(%rip), %rsi     # 0x3ae44
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x33c0
leaq -0x1d0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38ed7
testb %al, %al
jne 0x27258
movl $0x35, %edx
movq %r12, %rdi
leaq 0x13bd0(%rip), %rsi     # 0x3add1
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x2717b
movl -0x34(%rbp), %r14d
leaq -0x3a8(%rbp), %rax
movq %rax, -0x3b8(%rbp)
movq -0x230(%rbp), %rsi
movq -0x228(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3b8(%rbp), %rdi
callq 0x4574
leaq -0x388(%rbp), %rax
movq %rax, -0x398(%rbp)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
leaq -0x398(%rbp), %rdi
callq 0x4574
leaq -0x368(%rbp), %rax
movq %rax, -0x378(%rbp)
movq -0x210(%rbp), %rsi
movq -0x208(%rbp), %rdx
addq %rsi, %rdx
leaq -0x378(%rbp), %rdi
callq 0x4574
leaq -0x348(%rbp), %rax
movq %rax, -0x358(%rbp)
movq -0x1f0(%rbp), %rsi
movq -0x1e8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x358(%rbp), %rdi
callq 0x4574
leaq -0x328(%rbp), %rax
movq %rax, -0x338(%rbp)
movq -0x130(%rbp), %rsi
movq -0x128(%rbp), %rdx
addq %rsi, %rdx
leaq -0x338(%rbp), %rdi
callq 0x4574
leaq -0x308(%rbp), %rax
movq %rax, -0x318(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x318(%rbp), %rdi
callq 0x4574
leaq -0x2e8(%rbp), %rax
movq %rax, -0x2f8(%rbp)
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2f8(%rbp), %rdi
callq 0x4574
movl -0x38(%rbp), %r15d
leaq -0x2c8(%rbp), %rax
movq %rax, -0x2d8(%rbp)
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2d8(%rbp), %rdi
callq 0x4574
leaq -0x2a8(%rbp), %rax
movq %rax, -0x2b8(%rbp)
movq -0x1b0(%rbp), %rsi
movq -0x1a8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2b8(%rbp), %rdi
callq 0x4574
leaq -0x288(%rbp), %rax
movq %rax, -0x298(%rbp)
movq -0x190(%rbp), %rsi
movq -0x188(%rbp), %rdx
addq %rsi, %rdx
leaq -0x298(%rbp), %rdi
callq 0x4574
leaq -0x648(%rbp), %rax
movq %rax, -0x658(%rbp)
movq -0x1d0(%rbp), %rsi
movq -0x1c8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x658(%rbp), %rbx
movq %rbx, %rdi
callq 0x4574
subq $0x8, %rsp
movsbl -0x2a(%rbp), %r9d
leaq -0x828(%rbp), %rdi
movl %r14d, %esi
leaq -0x3b8(%rbp), %rdx
leaq -0x398(%rbp), %rcx
leaq -0x378(%rbp), %r8
movsd -0xd0(%rbp), %xmm0
pushq %rbx
leaq -0x298(%rbp), %rax
pushq %rax
leaq -0x2b8(%rbp), %rax
pushq %rax
leaq -0x2d8(%rbp), %rax
pushq %rax
pushq %r15
leaq -0x2f8(%rbp), %rax
pushq %rax
leaq -0x318(%rbp), %rax
pushq %rax
leaq -0x338(%rbp), %rax
pushq %rax
leaq -0x358(%rbp), %rax
pushq %rax
callq 0x5d08
addq $0x50, %rsp
movl -0x820(%rbp), %eax
movq -0xb8(%rbp), %rbx
movl %eax, 0x30(%rbx)
leaq 0x38(%rbx), %rdi
leaq -0x818(%rbp), %rsi
callq 0x30f0
leaq -0x828(%rbp), %r14
leaq 0x58(%rbx), %rdi
leaq -0x7f8(%rbp), %rsi
callq 0x30f0
leaq 0x78(%rbx), %rdi
leaq -0x7d8(%rbp), %rsi
callq 0x30f0
movups 0x70(%r14), %xmm0
movups %xmm0, 0x98(%rbx)
leaq 0xa8(%rbx), %rdi
movq -0x40(%rbp), %rsi
callq 0x30f0
leaq 0xc8(%rbx), %rdi
movq -0x268(%rbp), %rsi
callq 0x30f0
leaq 0xe8(%rbx), %rdi
movq -0x260(%rbp), %rsi
callq 0x30f0
leaq 0x108(%rbx), %rdi
movq -0x258(%rbp), %rsi
callq 0x30f0
leaq 0x130(%rbx), %rdi
movq -0x250(%rbp), %rsi
callq 0x30f0
leaq 0x150(%rbx), %rdi
movq -0x248(%rbp), %rsi
callq 0x30f0
leaq 0x170(%rbx), %rdi
movq -0x240(%rbp), %rsi
callq 0x30f0
movl -0x6c0(%rbp), %eax
movl %eax, 0x190(%rbx)
addq $0x198, %rbx            # imm = 0x198
movq %rbx, %rdi
movq -0x238(%rbp), %rsi
callq 0x30f0
movq %r14, %rdi
callq 0x6602
movq -0x658(%rbp), %rdi
leaq -0x648(%rbp), %rax
cmpq %rax, %rdi
je 0x275cb
callq 0x31d0
movq -0x298(%rbp), %rdi
leaq -0x288(%rbp), %rax
cmpq %rax, %rdi
leaq -0xc28(%rbp), %r14
je 0x275ea
callq 0x31d0
movq -0x2b8(%rbp), %rdi
leaq -0x2a8(%rbp), %rax
cmpq %rax, %rdi
je 0x27602
callq 0x31d0
movq -0x2d8(%rbp), %rdi
leaq -0x2c8(%rbp), %rax
cmpq %rax, %rdi
je 0x2761a
callq 0x31d0
movq -0x2f8(%rbp), %rdi
leaq -0x2e8(%rbp), %rax
cmpq %rax, %rdi
je 0x27632
callq 0x31d0
movq -0x318(%rbp), %rdi
leaq -0x308(%rbp), %rax
cmpq %rax, %rdi
je 0x2764a
callq 0x31d0
movq -0x338(%rbp), %rdi
leaq -0x328(%rbp), %rax
cmpq %rax, %rdi
je 0x27662
callq 0x31d0
movq -0x358(%rbp), %rdi
leaq -0x348(%rbp), %rax
cmpq %rax, %rdi
je 0x2767a
callq 0x31d0
movq -0x378(%rbp), %rdi
leaq -0x368(%rbp), %rax
cmpq %rax, %rdi
je 0x27692
callq 0x31d0
movq -0x398(%rbp), %rdi
leaq -0x388(%rbp), %rax
cmpq %rax, %rdi
je 0x276aa
callq 0x31d0
movq -0x3b8(%rbp), %rdi
leaq -0x3a8(%rbp), %rax
cmpq %rax, %rdi
je 0x276c2
callq 0x31d0
movb $0x73, -0x29(%rbp)
movq %r14, %rdi
leaq 0x13834(%rip), %rsi     # 0x3af04
movl $0x10, %edx
callq 0x3050
movq -0xc8(%rbp), %rax
movq 0x18(%rax), %rbx
cmpq -0x50(%rbp), %rbx
je 0x27708
leaq 0x28(%rbx), %rsi
movq %r14, %rdi
callq 0x9847
movq %rbx, %rdi
callq 0x3140
movq %rax, %rbx
cmpq -0x50(%rbp), %rax
jne 0x276eb
movq %r14, %rdi
callq 0x32a0
jmp 0x24d48
movq 0x208ac(%rip), %rax     # 0x47fc8
movq (%rax), %rbx
movq %r14, %r12
movq 0x18(%rax), %r14
leaq -0xc20(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, -0xc28(%rbp,%rax)
callq 0x3190
movl $0xf8, %r15d
addq %r15, %r12
movq %r12, %rdi
callq 0x30d0
leaq -0xa20(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, -0xa28(%rbp,%rax)
callq 0x3190
leaq -0xa28(%rbp), %rdi
addq %r15, %rdi
callq 0x30d0
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x27796
callq 0x31d0
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x277ae
callq 0x31d0
movq -0x170(%rbp), %rdi
leaq -0x160(%rbp), %rax
cmpq %rax, %rdi
je 0x277c6
callq 0x31d0
movq -0x698(%rbp), %rdi
leaq -0x688(%rbp), %rax
cmpq %rax, %rdi
je 0x277de
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x277f0
callq 0x31d0
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x27808
callq 0x31d0
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x27820
callq 0x31d0
movq -0x1b0(%rbp), %rdi
leaq -0x1a0(%rbp), %rax
cmpq %rax, %rdi
je 0x27838
callq 0x31d0
movq -0x1d0(%rbp), %rdi
leaq -0x1c0(%rbp), %rax
cmpq %rax, %rdi
je 0x27850
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x27865
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x2787d
callq 0x31d0
movq -0x130(%rbp), %rdi
leaq -0x120(%rbp), %rax
cmpq %rax, %rdi
je 0x27895
callq 0x31d0
movq -0x1f0(%rbp), %rdi
leaq -0x1e0(%rbp), %rax
cmpq %rax, %rdi
je 0x278ad
callq 0x31d0
movq -0x210(%rbp), %rdi
leaq -0x200(%rbp), %rax
cmpq %rax, %rdi
je 0x278c5
callq 0x31d0
movq -0x230(%rbp), %rdi
leaq -0x220(%rbp), %rax
cmpq %rax, %rdi
je 0x278dd
callq 0x31d0
addq $0xc08, %rsp            # imm = 0xC08
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x138bc(%rip), %rdi     # 0x3b1b2
callq 0x3110
leaq 0x138b0(%rip), %rdi     # 0x3b1b2
callq 0x3110
leaq 0x138a4(%rip), %rdi     # 0x3b1b2
callq 0x32b0
leaq 0x13898(%rip), %rdi     # 0x3b1b2
callq 0x32b0
movq %rax, %r15
jmp 0x27b48
movq %rax, %r15
jmp 0x27a75
movq %rax, %r15
jmp 0x27b60
movq %rax, %r15
jmp 0x27a8d
movq %rax, %r15
jmp 0x27b78
movq %rax, %r15
jmp 0x27aa5
movq %rax, %r15
jmp 0x27b90
movq %rax, %r15
jmp 0x27abd
movq %rax, %r15
jmp 0x27ba8
movq %rax, %r15
jmp 0x27ad5
movq %rax, %r15
jmp 0x27bc0
movq %rax, %r15
jmp 0x27aed
movq %rax, %r15
jmp 0x27bd8
jmp 0x27dda
movq %rax, %r15
jmp 0x27bf0
movq %rax, %r15
jmp 0x279fd
movq %rax, %r15
jmp 0x27c08
jmp 0x27dda
movq %rax, %r15
jmp 0x27a15
movq %rax, %r15
jmp 0x27a2d
movq %rax, %r15
jmp 0x27b18
movq %rax, %r15
jmp 0x27a45
movq %rax, %r15
jmp 0x27b30
movq %rax, %r15
jmp 0x27a5d
movq %rax, %r15
movq 0x205ee(%rip), %rax     # 0x47fc8
movq (%rax), %rbx
movq 0x18(%rax), %r14
jmp 0x27e13
movq %rax, %r15
jmp 0x27e3b
movq %rax, %r15
leaq -0x828(%rbp), %rdi
callq 0x5cb2
movq -0x678(%rbp), %rdi
leaq -0x668(%rbp), %rax
cmpq %rax, %rdi
je 0x27a15
callq 0x31d0
movq -0x478(%rbp), %rdi
leaq -0x468(%rbp), %rax
cmpq %rax, %rdi
je 0x27a2d
callq 0x31d0
movq -0x498(%rbp), %rdi
leaq -0x488(%rbp), %rax
cmpq %rax, %rdi
je 0x27a45
callq 0x31d0
movq -0x4b8(%rbp), %rdi
leaq -0x4a8(%rbp), %rax
cmpq %rax, %rdi
je 0x27a5d
callq 0x31d0
movq -0x4d8(%rbp), %rdi
leaq -0x4c8(%rbp), %rax
cmpq %rax, %rdi
je 0x27a75
callq 0x31d0
movq -0x4f8(%rbp), %rdi
leaq -0x4e8(%rbp), %rax
cmpq %rax, %rdi
je 0x27a8d
callq 0x31d0
movq -0x518(%rbp), %rdi
leaq -0x508(%rbp), %rax
cmpq %rax, %rdi
je 0x27aa5
callq 0x31d0
movq -0x538(%rbp), %rdi
leaq -0x528(%rbp), %rax
cmpq %rax, %rdi
je 0x27abd
callq 0x31d0
movq -0x558(%rbp), %rdi
leaq -0x548(%rbp), %rax
cmpq %rax, %rdi
je 0x27ad5
callq 0x31d0
movq -0x578(%rbp), %rdi
leaq -0x568(%rbp), %rax
cmpq %rax, %rdi
je 0x27aed
callq 0x31d0
movq -0x598(%rbp), %rdi
leaq -0x588(%rbp), %rax
cmpq %rax, %rdi
je 0x27ddd
jmp 0x27d9f
movq %rax, %r15
leaq -0x828(%rbp), %rdi
callq 0x6602
movq -0x658(%rbp), %rdi
leaq -0x648(%rbp), %rax
cmpq %rax, %rdi
je 0x27b30
callq 0x31d0
movq -0x298(%rbp), %rdi
leaq -0x288(%rbp), %rax
cmpq %rax, %rdi
je 0x27b48
callq 0x31d0
movq -0x2b8(%rbp), %rdi
leaq -0x2a8(%rbp), %rax
cmpq %rax, %rdi
je 0x27b60
callq 0x31d0
movq -0x2d8(%rbp), %rdi
leaq -0x2c8(%rbp), %rax
cmpq %rax, %rdi
je 0x27b78
callq 0x31d0
movq -0x2f8(%rbp), %rdi
leaq -0x2e8(%rbp), %rax
cmpq %rax, %rdi
je 0x27b90
callq 0x31d0
movq -0x318(%rbp), %rdi
leaq -0x308(%rbp), %rax
cmpq %rax, %rdi
je 0x27ba8
callq 0x31d0
movq -0x338(%rbp), %rdi
leaq -0x328(%rbp), %rax
cmpq %rax, %rdi
je 0x27bc0
callq 0x31d0
movq -0x358(%rbp), %rdi
leaq -0x348(%rbp), %rax
cmpq %rax, %rdi
je 0x27bd8
callq 0x31d0
movq -0x378(%rbp), %rdi
leaq -0x368(%rbp), %rax
cmpq %rax, %rdi
je 0x27bf0
callq 0x31d0
movq -0x398(%rbp), %rdi
leaq -0x388(%rbp), %rax
cmpq %rax, %rdi
je 0x27c08
callq 0x31d0
movq -0x3b8(%rbp), %rdi
leaq -0x3a8(%rbp), %rax
cmpq %rax, %rdi
je 0x27ddd
jmp 0x27d9f
jmp 0x27dda
jmp 0x27dda
jmp 0x27c30
movq %rax, %r15
movq 0x20376(%rip), %rsi     # 0x47fb0
leaq -0x828(%rbp), %rdi
callq 0x3160
movq -0x40(%rbp), %rdi
callq 0x30d0
jmp 0x27ddd
jmp 0x27dda
jmp 0x27dda
movq %rax, %r15
movq -0x5b8(%rbp), %rdi
leaq -0x5a8(%rbp), %rax
cmpq %rax, %rdi
je 0x27ddd
jmp 0x27d9f
movq %rax, %r15
movq -0x3d8(%rbp), %rdi
leaq -0x3c8(%rbp), %rax
cmpq %rax, %rdi
je 0x27ddd
jmp 0x27d9f
movq %rax, %r15
movq -0x5d8(%rbp), %rdi
leaq -0x5c8(%rbp), %rax
cmpq %rax, %rdi
je 0x27ddd
jmp 0x27d9f
movq %rax, %r15
movq -0x3f8(%rbp), %rdi
leaq -0x3e8(%rbp), %rax
cmpq %rax, %rdi
je 0x27ddd
jmp 0x27d9f
movq %rax, %r15
movq -0x418(%rbp), %rdi
leaq -0x408(%rbp), %rax
cmpq %rax, %rdi
je 0x27ddd
jmp 0x27d9f
movq %rax, %r15
movq -0x5f8(%rbp), %rdi
leaq -0x5e8(%rbp), %rax
cmpq %rax, %rdi
je 0x27ddd
jmp 0x27d9f
jmp 0x27d1a
movq %rax, %r15
cmpl $0x0, (%rbx)
jne 0x27ddd
movl %r14d, (%rbx)
jmp 0x27ddd
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
movq %rax, %r15
movq -0x618(%rbp), %rdi
leaq -0x608(%rbp), %rax
cmpq %rax, %rdi
je 0x27ddd
jmp 0x27d9f
movq %rax, %r15
movq -0x438(%rbp), %rdi
leaq -0x428(%rbp), %rax
cmpq %rax, %rdi
je 0x27ddd
jmp 0x27d9f
movq %rax, %r15
movq -0x458(%rbp), %rdi
leaq -0x448(%rbp), %rax
cmpq %rax, %rdi
je 0x27ddd
jmp 0x27d9f
movq %rax, %r15
movq -0x638(%rbp), %rdi
leaq -0x628(%rbp), %rax
cmpq %rax, %rdi
je 0x27ddd
callq 0x31d0
jmp 0x27ddd
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
jmp 0x27dda
movq %rax, %r15
movq 0x201e4(%rip), %rax     # 0x47fc8
movq (%rax), %rbx
movq 0x18(%rax), %r14
leaq -0xc20(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, -0xc28(%rbp,%rax)
callq 0x3190
leaq -0xb30(%rbp), %rdi
callq 0x30d0
leaq -0xa20(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, -0xa28(%rbp,%rax)
callq 0x3190
leaq -0x930(%rbp), %rdi
callq 0x30d0
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x27e53
callq 0x31d0
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x27e6b
callq 0x31d0
movq -0x170(%rbp), %rdi
leaq -0x160(%rbp), %rax
cmpq %rax, %rdi
je 0x27e83
callq 0x31d0
movq -0x698(%rbp), %rdi
leaq -0x688(%rbp), %rax
cmpq %rax, %rdi
je 0x27e9b
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x27ead
callq 0x31d0
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x27ec5
callq 0x31d0
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x27edd
callq 0x31d0
movq -0x1b0(%rbp), %rdi
leaq -0x1a0(%rbp), %rax
cmpq %rax, %rdi
je 0x27ef5
callq 0x31d0
movq -0x1d0(%rbp), %rdi
leaq -0x1c0(%rbp), %rax
cmpq %rax, %rdi
je 0x27f0d
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x27f22
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x27f3a
callq 0x31d0
movq -0x130(%rbp), %rdi
leaq -0x120(%rbp), %rax
cmpq %rax, %rdi
je 0x27f52
callq 0x31d0
movq -0x1f0(%rbp), %rdi
leaq -0x1e0(%rbp), %rax
cmpq %rax, %rdi
je 0x27f6a
callq 0x31d0
movq -0x210(%rbp), %rdi
leaq -0x200(%rbp), %rax
cmpq %rax, %rdi
je 0x27f82
callq 0x31d0
movq -0x230(%rbp), %rdi
leaq -0x220(%rbp), %rax
cmpq %rax, %rdi
je 0x27f9a
callq 0x31d0
movq %r15, %rdi
callq 0x3380