// File: /workspace/github_cpp_makefile_star2_O1/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, -0x278(%rbp)
movq %rdx, -0x280(%rbp)
movq %rsi, -0xe8(%rbp)
movq %rdi, -0xe0(%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 -0xc0(%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 -0x120(%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 -0x690(%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 -0x100(%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 -0xc30(%rbp), %rdi
callq 0x3360
leaq -0xa30(%rbp), %rdi
callq 0x3360
movq -0xe8(%rbp), %rax
leaq 0x8(%rax), %rbx
leaq -0x830(%rbp), %rax
leaq 0x80(%rax), %rcx
movq %rcx, -0x50(%rbp)
leaq 0xa0(%rax), %rcx
movq %rcx, -0x270(%rbp)
leaq 0xc0(%rax), %rcx
movq %rcx, -0x268(%rbp)
leaq 0xe0(%rax), %rcx
movq %rcx, -0x260(%rbp)
leaq 0x108(%rax), %rcx
movq %rcx, -0x258(%rbp)
leaq 0x128(%rax), %rcx
movq %rcx, -0x250(%rbp)
leaq 0x148(%rax), %rcx
movq %rcx, -0x248(%rbp)
addq $0x170, %rax            # imm = 0x170
movq %rax, -0x240(%rbp)
movq -0xe0(%rbp), %rax
leaq 0x8(%rax), %r14
movq 0x2352d(%rip), %r12     # 0x47fd0
movq 0x23536(%rip), %r15     # 0x47fe0
movq %r14, -0x238(%rbp)
movq %rbx, -0x48(%rbp)
movl $0x2f, %edx
movq %r12, %rdi
leaq 0x16773(%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 %r15, %rdi
leaq -0x32(%rbp), %rsi
callq 0x3280
movzbl -0x32(%rbp), %eax
cmpl $0x65, %eax
je 0x260bd
cmpl $0x6e, %eax
je 0x24bd8
movl $0x25, %edx
movq %r12, %rdi
leaq 0x166ef(%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 0x15a92(%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 %r15, %rdi
leaq -0x31(%rbp), %rsi
callq 0x3280
cmpb $0x73, -0x31(%rbp)
je 0x27781
cmpb $0x73, -0x2b(%rbp)
je 0x24ab5
jmp 0x27781
movl $0x15, %edx
movq %r12, %rdi
leaq 0x16680(%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 %r15, %rdi
leaq -0x30(%rbp), %rsi
callq 0x3120
movq -0xe0(%rbp), %rax
movq 0x10(%rax), %rcx
movq %r14, %rax
testq %rcx, %rcx
je 0x24c50
movl -0x30(%rbp), %edx
movq %r14, %rax
xorl %esi, %esi
cmpl %edx, 0x20(%rcx)
setl %sil
cmovgeq %rcx, %rax
movq 0x10(%rcx,%rsi,8), %rcx
testq %rcx, %rcx
jne 0x24c39
movq %r14, %rcx
cmpq %r14, %rax
je 0x24c65
movl -0x30(%rbp), %ecx
cmpl 0x20(%rax), %ecx
cmovlq %r14, %rax
movq %rax, %rcx
movq %rcx, -0x40(%rbp)
cmpq %r14, %rcx
je 0x275a2
movl $0xa, %edx
movq %r12, %rdi
leaq 0x165fc(%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 0x15e82(%rip), %rcx     # 0x3ab4d
callq 0x3300
movl $0xe, %edx
movq %r12, %rdi
leaq 0x15aa4(%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 %r15, %rdi
callq 0x33a0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x70(%rbp), %rsi
callq 0x33c0
leaq -0x70(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3832d
testb %al, %al
je 0x24d74
movq -0x68(%rbp), %rbx
testq %rbx, %rbx
je 0x24dda
movq -0x70(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x32c0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x24d5c
jmp 0x24dda
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x15a0f(%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 0x24cd0
movl $0x1a, %edx
movq %r12, %rdi
leaq 0x15d63(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x210(%rbp), %rsi
callq 0x33c0
leaq -0x210(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3844d
testb %al, %al
jne 0x24ec0
movl $0x35, %edx
movq %r12, %rdi
leaq 0x15d08(%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 0x24de4
movl $0x10, %edx
movq %r12, %rdi
leaq 0x15cce(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x1f0(%rbp), %rsi
callq 0x33c0
leaq -0x1f0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38df8
testb %al, %al
jne 0x24fa6
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x15843(%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 0x24eca
movl $0x1e, %edx
movq %r12, %rdi
leaq 0x15bf9(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0xd0(%rbp), %rsi
callq 0x33c0
leaq -0xd0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3832d
testb %al, %al
jne 0x2508c
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x1575d(%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 -0x630(%rbp), %rax
movq %rax, -0x640(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x640(%rbp), %rdi
callq 0x4574
movq -0x280(%rbp), %rdi
leaq -0x640(%rbp), %rsi
callq 0x36dd9
movl %eax, %ebx
movq -0x640(%rbp), %rdi
leaq -0x630(%rbp), %rax
cmpq %rax, %rdi
je 0x250e4
callq 0x31d0
testb %bl, %bl
jne 0x25150
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 0x15ab8(%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)
cmpb $0x6e, -0x29(%rbp)
je 0x24fb0
movl $0x1b, %edx
movq %r12, %rdi
leaq 0x15a91(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0xb0(%rbp), %rsi
callq 0x33c0
leaq -0xb0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3832d
testb %al, %al
jne 0x25236
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x155b3(%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 -0x610(%rbp), %rax
movq %rax, -0x620(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x620(%rbp), %rdi
callq 0x4574
xorl %edi, %edi
movq -0x278(%rbp), %rsi
leaq -0x620(%rbp), %rdx
movl $0x61, %ecx
callq 0x36e7a
movl %eax, %ebx
movq -0x620(%rbp), %rdi
leaq -0x610(%rbp), %rax
cmpq %rax, %rdi
je 0x25295
callq 0x31d0
testb %bl, %bl
jne 0x2532f
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 0x15942(%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)
cmpb $0x6e, -0x29(%rbp)
je 0x2515a
movl $0x1a, %edx
movq %r12, %rdi
leaq 0x15900(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x90(%rbp), %rsi
callq 0x33c0
leaq -0x90(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3832d
testb %al, %al
jne 0x25415
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x153d4(%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 0x25441
movq -0x90(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x32c0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2542b
cmpb $0x6e, -0x29(%rbp)
je 0x25339
movl $0x19, %edx
movq %r12, %rdi
leaq 0x15809(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x110(%rbp), %rsi
callq 0x33c0
movq -0x108(%rbp), %rbx
testq %rbx, %rbx
je 0x254d9
movq -0x110(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x33d0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x254c3
leaq -0x110(%rbp), %rbx
movq %rbx, %rdi
leaq 0x15793(%rip), %rsi     # 0x3ac7d
callq 0x30c0
testl %eax, %eax
je 0x2557d
movq %rbx, %rdi
leaq 0x1577e(%rip), %rsi     # 0x3ac7f
callq 0x30c0
testl %eax, %eax
je 0x2557d
movb $0x6e, -0x29(%rbp)
movl $0x21, %edx
movq %r12, %rdi
leaq 0x15764(%rip), %rsi     # 0x3ac81
callq 0x3250
leaq -0x830(%rbp), %r14
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
jmp 0x25594
movq -0x110(%rbp), %rax
movb (%rax), %al
movb %al, -0x2a(%rbp)
movb $0x73, -0x29(%rbp)
leaq -0x830(%rbp), %r14
cmpb $0x6e, -0x29(%rbp)
je 0x2544b
movl $0x1c, %edx
movq %r12, %rdi
leaq 0x156f6(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x170(%rbp), %rsi
callq 0x33c0
leaq -0x5f0(%rbp), %rax
movq %rax, -0x600(%rbp)
movq -0x170(%rbp), %rsi
movq -0x168(%rbp), %rdx
addq %rsi, %rdx
leaq -0x600(%rbp), %rdi
callq 0x4574
leaq -0x600(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38f49
movl %eax, %ebx
movq -0x600(%rbp), %rdi
leaq -0x5f0(%rbp), %rax
cmpq %rax, %rdi
je 0x25655
callq 0x31d0
testb %bl, %bl
jne 0x256bf
movl $0x34, %edx
movq %r12, %rdi
leaq 0x15658(%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), %r13
callq 0x3040
movq %rax, %rbx
movq %r14, %rsi
movl (%rax), %r14d
movl $0x0, (%rax)
movq %r13, %rdi
callq 0x3170
movsd %xmm0, -0xf0(%rbp)
cmpq %r13, -0x830(%rbp)
je 0x2795c
movl (%rbx), %eax
testl %eax, %eax
je 0x25707
cmpl $0x22, %eax
jne 0x2570a
jmp 0x27974
movl %r14d, (%rbx)
cmpb $0x6e, -0x29(%rbp)
leaq -0x830(%rbp), %r14
je 0x2559e
movl $0x18, %edx
movq %r12, %rdi
leaq 0x155cb(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x150(%rbp), %rsi
callq 0x33c0
leaq -0x5d0(%rbp), %rax
movq %rax, -0x5e0(%rbp)
movq -0x150(%rbp), %rsi
movq -0x148(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5e0(%rbp), %rdi
callq 0x4574
leaq -0x5e0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3871a
movl %eax, %ebx
movq -0x5e0(%rbp), %rdi
leaq -0x5d0(%rbp), %rax
cmpq %rax, %rdi
je 0x257d2
callq 0x31d0
testb %bl, %bl
je 0x25810
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 0x227b0(%rip), %rsi     # 0x47fb0
callq 0x3160
movq -0x50(%rbp), %rdi
callq 0x30d0
jmp 0x25876
movl $0x3d, %edx
movq %r12, %rdi
leaq 0x154ef(%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 0x2571b
movl $0x29, %edx
movq %r12, %rdi
leaq 0x154bd(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x130(%rbp), %rsi
callq 0x33c0
leaq -0x5b0(%rbp), %rax
movq %rax, -0x5c0(%rbp)
movq -0x130(%rbp), %rsi
movq -0x128(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5c0(%rbp), %rdi
callq 0x4574
leaq -0x5c0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x39086
movl %eax, %ebx
movq -0x5c0(%rbp), %rdi
leaq -0x5b0(%rbp), %rax
cmpq %rax, %rdi
je 0x25937
callq 0x31d0
testb %bl, %bl
jne 0x259a1
movl $0x3a, %edx
movq %r12, %rdi
leaq 0x1542c(%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 0x25880
movl $0x1f, %edx
movq %r12, %rdi
leaq 0x153f7(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x33c0
leaq -0x1b0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x391c3
testb %al, %al
jne 0x25a87
movl $0x35, %edx
movq %r12, %rdi
leaq 0x153a1(%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 0x259ab
movl $0x17, %edx
movq %r12, %rdi
leaq 0x15367(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x190(%rbp), %rsi
callq 0x33c0
leaq -0x190(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x39389
testb %al, %al
jne 0x25b6d
movl $0x24, %edx
movq %r12, %rdi
leaq 0x15309(%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 0x25a91
movl $0x20, %edx
movq %r12, %rdi
leaq 0x152be(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x33c0
leaq -0x1d0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x391c3
testb %al, %al
jne 0x25c53
movl $0x35, %edx
movq %r12, %rdi
leaq 0x151d5(%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 0x25b77
movl -0x30(%rbp), %r13d
leaq -0x590(%rbp), %rax
movq %rax, -0x5a0(%rbp)
movq -0x230(%rbp), %rsi
movq -0x228(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5a0(%rbp), %rdi
callq 0x4574
leaq -0x570(%rbp), %rax
movq %rax, -0x580(%rbp)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
leaq -0x580(%rbp), %rdi
callq 0x4574
leaq -0x550(%rbp), %rax
movq %rax, -0x560(%rbp)
movq -0x210(%rbp), %rsi
movq -0x208(%rbp), %rdx
addq %rsi, %rdx
leaq -0x560(%rbp), %rdi
callq 0x4574
leaq -0x530(%rbp), %rax
movq %rax, -0x540(%rbp)
movq -0x1f0(%rbp), %rsi
movq -0x1e8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x540(%rbp), %rdi
callq 0x4574
leaq -0x510(%rbp), %rax
movq %rax, -0x520(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x520(%rbp), %rdi
callq 0x4574
leaq -0x4f0(%rbp), %rax
movq %rax, -0x500(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x500(%rbp), %rdi
callq 0x4574
leaq -0x4d0(%rbp), %rax
movq %rax, -0x4e0(%rbp)
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4e0(%rbp), %rdi
callq 0x4574
movl -0x38(%rbp), %ebx
leaq -0x4b0(%rbp), %rax
movq %rax, -0x4c0(%rbp)
movq -0x130(%rbp), %rsi
movq -0x128(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4c0(%rbp), %rdi
callq 0x4574
leaq -0x490(%rbp), %rax
movq %rax, -0x4a0(%rbp)
movq -0x1b0(%rbp), %rsi
movq -0x1a8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4a0(%rbp), %rdi
callq 0x4574
movq %rbx, -0xd8(%rbp)
leaq -0x470(%rbp), %rax
movq %rax, -0x480(%rbp)
movq -0x190(%rbp), %rsi
movq -0x188(%rbp), %rdx
addq %rsi, %rdx
leaq -0x480(%rbp), %rdi
callq 0x4574
leaq -0x670(%rbp), %rax
movq %rax, -0x680(%rbp)
movq -0x1d0(%rbp), %rsi
movq -0x1c8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x680(%rbp), %rbx
movq %rbx, %rdi
callq 0x4574
subq $0x8, %rsp
movsbl -0x2a(%rbp), %r9d
movq %r14, %rdi
movl %r13d, %esi
leaq -0x5a0(%rbp), %rdx
leaq -0x580(%rbp), %rcx
leaq -0x560(%rbp), %r8
movsd -0xf0(%rbp), %xmm0
pushq %rbx
leaq -0x480(%rbp), %rax
pushq %rax
leaq -0x4a0(%rbp), %rax
pushq %rax
leaq -0x4c0(%rbp), %rax
pushq %rax
pushq -0xd8(%rbp)
leaq -0x4e0(%rbp), %rax
pushq %rax
leaq -0x500(%rbp), %rax
pushq %rax
leaq -0x520(%rbp), %rax
pushq %rax
leaq -0x540(%rbp), %rax
pushq %rax
callq 0x57e4
addq $0x50, %rsp
movl -0x828(%rbp), %eax
movq -0x40(%rbp), %rbx
movl %eax, 0x30(%rbx)
leaq 0x38(%rbx), %rdi
leaq -0x820(%rbp), %rsi
callq 0x30f0
leaq 0x58(%rbx), %rdi
leaq -0x800(%rbp), %rsi
callq 0x30f0
leaq 0x78(%rbx), %rdi
leaq -0x7e0(%rbp), %rsi
callq 0x30f0
movups 0x70(%r14), %xmm0
movups %xmm0, 0x98(%rbx)
leaq 0xa8(%rbx), %rdi
movq -0x50(%rbp), %rsi
callq 0x30f0
leaq 0xc8(%rbx), %rdi
movq -0x270(%rbp), %rsi
callq 0x30f0
leaq 0xe8(%rbx), %rdi
movq -0x268(%rbp), %rsi
callq 0x30f0
leaq 0x108(%rbx), %rdi
movq -0x260(%rbp), %rsi
callq 0x30f0
leaq 0x130(%rbx), %rdi
movq -0x258(%rbp), %rsi
callq 0x30f0
leaq 0x150(%rbx), %rdi
movq -0x250(%rbp), %rsi
callq 0x30f0
leaq 0x170(%rbx), %rdi
movq -0x248(%rbp), %rsi
callq 0x30f0
movl -0x6c8(%rbp), %eax
movl %eax, 0x190(%rbx)
leaq 0x198(%rbx), %rdi
movq -0x240(%rbp), %rsi
callq 0x30f0
movq %r14, %rdi
callq 0x5cae
movq -0x680(%rbp), %rdi
leaq -0x670(%rbp), %rax
cmpq %rax, %rdi
je 0x25fbf
callq 0x31d0
movq -0x480(%rbp), %rdi
leaq -0x470(%rbp), %rax
cmpq %rax, %rdi
movq -0x238(%rbp), %r14
je 0x25fde
callq 0x31d0
movq -0x4a0(%rbp), %rdi
leaq -0x490(%rbp), %rax
cmpq %rax, %rdi
je 0x25ff6
callq 0x31d0
movq -0x4c0(%rbp), %rdi
leaq -0x4b0(%rbp), %rax
cmpq %rax, %rdi
je 0x2600e
callq 0x31d0
movq -0x4e0(%rbp), %rdi
leaq -0x4d0(%rbp), %rax
cmpq %rax, %rdi
je 0x26026
callq 0x31d0
movq -0x500(%rbp), %rdi
leaq -0x4f0(%rbp), %rax
cmpq %rax, %rdi
je 0x2603e
callq 0x31d0
movq -0x520(%rbp), %rdi
leaq -0x510(%rbp), %rax
cmpq %rax, %rdi
je 0x26056
callq 0x31d0
movq -0x540(%rbp), %rdi
leaq -0x530(%rbp), %rax
cmpq %rax, %rdi
je 0x2606e
callq 0x31d0
movq -0x560(%rbp), %rdi
leaq -0x550(%rbp), %rax
cmpq %rax, %rdi
je 0x26086
callq 0x31d0
movq -0x580(%rbp), %rdi
leaq -0x570(%rbp), %rax
cmpq %rax, %rdi
je 0x2609e
callq 0x31d0
movq -0x5a0(%rbp), %rdi
leaq -0x590(%rbp), %rax
cmpq %rax, %rdi
je 0x260b6
callq 0x31d0
movb $0x73, %bl
jmp 0x275e0
movl $0x15, %edx
movq %r12, %rdi
leaq 0x1519b(%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 %r15, %rdi
leaq -0x30(%rbp), %rsi
callq 0x3120
movq -0xe8(%rbp), %rax
movq 0x10(%rax), %rcx
movq %rbx, %rax
testq %rcx, %rcx
je 0x26135
movl -0x30(%rbp), %edx
movq %rbx, %rax
xorl %esi, %esi
cmpl %edx, 0x20(%rcx)
setl %sil
cmovgeq %rcx, %rax
movq 0x10(%rcx,%rsi,8), %rcx
testq %rcx, %rcx
jne 0x2611e
movq %rbx, %rcx
cmpq %rbx, %rax
je 0x2614a
movl -0x30(%rbp), %ecx
cmpl 0x20(%rax), %ecx
cmovlq %rbx, %rax
movq %rax, %rcx
movq %rcx, -0x40(%rbp)
cmpq %rbx, %rcx
je 0x2768a
movl $0xa, %edx
movq %r12, %rdi
leaq 0x15117(%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 0x1499d(%rip), %rcx     # 0x3ab4d
callq 0x3300
movl $0xe, %edx
movq %r12, %rdi
leaq 0x145bf(%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 %r15, %rdi
callq 0x33a0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x70(%rbp), %rsi
callq 0x33c0
leaq -0x70(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3832d
testb %al, %al
je 0x26259
movq -0x68(%rbp), %rbx
testq %rbx, %rbx
je 0x262bf
movq -0x70(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x32c0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x26241
jmp 0x262bf
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x1452a(%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 0x261b5
movl $0x1a, %edx
movq %r12, %rdi
leaq 0x1487e(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x210(%rbp), %rsi
callq 0x33c0
leaq -0x210(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3844d
testb %al, %al
jne 0x263a5
movl $0x35, %edx
movq %r12, %rdi
leaq 0x14823(%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 0x262c9
movl $0x10, %edx
movq %r12, %rdi
leaq 0x147e9(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x1f0(%rbp), %rsi
callq 0x33c0
leaq -0x1f0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38df8
testb %al, %al
jne 0x2648b
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x1435e(%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 0x263af
movl $0x1e, %edx
movq %r12, %rdi
leaq 0x14714(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0xd0(%rbp), %rsi
callq 0x33c0
leaq -0xd0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3832d
testb %al, %al
jne 0x26571
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x14278(%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 -0x450(%rbp), %rax
movq %rax, -0x460(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x460(%rbp), %rdi
callq 0x4574
movq -0x280(%rbp), %rdi
leaq -0x460(%rbp), %rsi
callq 0x36dd9
movl %eax, %ebx
movq -0x460(%rbp), %rdi
leaq -0x450(%rbp), %rax
cmpq %rax, %rdi
je 0x265c9
callq 0x31d0
testb %bl, %bl
jne 0x26635
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 0x145d3(%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)
cmpb $0x6e, -0x29(%rbp)
je 0x26495
movl $0x1b, %edx
movq %r12, %rdi
leaq 0x145ac(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0xb0(%rbp), %rsi
callq 0x33c0
leaq -0xb0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3832d
testb %al, %al
jne 0x2671b
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x140ce(%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 -0x430(%rbp), %rax
movq %rax, -0x440(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x440(%rbp), %rdi
callq 0x4574
xorl %edi, %edi
movq -0x278(%rbp), %rsi
leaq -0x440(%rbp), %rdx
movl $0x61, %ecx
callq 0x36e7a
movl %eax, %ebx
movq -0x440(%rbp), %rdi
leaq -0x430(%rbp), %rax
cmpq %rax, %rdi
je 0x2677a
callq 0x31d0
testb %bl, %bl
jne 0x26814
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 0x1445d(%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)
cmpb $0x6e, -0x29(%rbp)
je 0x2663f
movl $0x1a, %edx
movq %r12, %rdi
leaq 0x1441b(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x90(%rbp), %rsi
callq 0x33c0
leaq -0x90(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3832d
testb %al, %al
jne 0x268fa
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x13eef(%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 0x26926
movq -0x90(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x32c0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x26910
cmpb $0x6e, -0x29(%rbp)
je 0x2681e
movl $0x19, %edx
movq %r12, %rdi
leaq 0x14324(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x110(%rbp), %rsi
callq 0x33c0
movq -0x108(%rbp), %rbx
testq %rbx, %rbx
je 0x269be
movq -0x110(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x33d0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x269a8
leaq -0x110(%rbp), %rbx
movq %rbx, %rdi
leaq 0x142ae(%rip), %rsi     # 0x3ac7d
callq 0x30c0
testl %eax, %eax
je 0x26a62
movq %rbx, %rdi
leaq 0x14299(%rip), %rsi     # 0x3ac7f
callq 0x30c0
testl %eax, %eax
je 0x26a62
movb $0x6e, -0x29(%rbp)
movl $0x21, %edx
movq %r12, %rdi
leaq 0x1427f(%rip), %rsi     # 0x3ac81
callq 0x3250
leaq -0x830(%rbp), %r14
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
jmp 0x26a79
movq -0x110(%rbp), %rax
movb (%rax), %al
movb %al, -0x2a(%rbp)
movb $0x73, -0x29(%rbp)
leaq -0x830(%rbp), %r14
cmpb $0x6e, -0x29(%rbp)
je 0x26930
movl $0x1c, %edx
movq %r12, %rdi
leaq 0x14211(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x170(%rbp), %rsi
callq 0x33c0
leaq -0x410(%rbp), %rax
movq %rax, -0x420(%rbp)
movq -0x170(%rbp), %rsi
movq -0x168(%rbp), %rdx
addq %rsi, %rdx
leaq -0x420(%rbp), %rdi
callq 0x4574
leaq -0x420(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38f49
movl %eax, %ebx
movq -0x420(%rbp), %rdi
leaq -0x410(%rbp), %rax
cmpq %rax, %rdi
je 0x26b3a
callq 0x31d0
testb %bl, %bl
jne 0x26ba4
movl $0x34, %edx
movq %r12, %rdi
leaq 0x14173(%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), %r13
callq 0x3040
movq %rax, %rbx
movq %r14, %rsi
movl (%rax), %r14d
movl $0x0, (%rax)
movq %r13, %rdi
callq 0x3170
movsd %xmm0, -0xf0(%rbp)
cmpq %r13, -0x830(%rbp)
je 0x27968
movl (%rbx), %eax
testl %eax, %eax
je 0x26bec
cmpl $0x22, %eax
jne 0x26bef
jmp 0x27980
movl %r14d, (%rbx)
cmpb $0x6e, -0x29(%rbp)
leaq -0x830(%rbp), %r14
je 0x26a83
movl $0x18, %edx
movq %r12, %rdi
leaq 0x140e6(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x150(%rbp), %rsi
callq 0x33c0
leaq -0x3f0(%rbp), %rax
movq %rax, -0x400(%rbp)
movq -0x150(%rbp), %rsi
movq -0x148(%rbp), %rdx
addq %rsi, %rdx
leaq -0x400(%rbp), %rdi
callq 0x4574
leaq -0x400(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3871a
movl %eax, %ebx
movq -0x400(%rbp), %rdi
leaq -0x3f0(%rbp), %rax
cmpq %rax, %rdi
je 0x26cb7
callq 0x31d0
testb %bl, %bl
je 0x26cf5
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 0x212cb(%rip), %rsi     # 0x47fb0
callq 0x3160
movq -0x50(%rbp), %rdi
callq 0x30d0
jmp 0x26d5b
movl $0x3d, %edx
movq %r12, %rdi
leaq 0x1400a(%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 0x26c00
movl $0x29, %edx
movq %r12, %rdi
leaq 0x13fd8(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x130(%rbp), %rsi
callq 0x33c0
leaq -0x3d0(%rbp), %rax
movq %rax, -0x3e0(%rbp)
movq -0x130(%rbp), %rsi
movq -0x128(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3e0(%rbp), %rdi
callq 0x4574
leaq -0x3e0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x39086
movl %eax, %ebx
movq -0x3e0(%rbp), %rdi
leaq -0x3d0(%rbp), %rax
cmpq %rax, %rdi
je 0x26e1c
callq 0x31d0
testb %bl, %bl
jne 0x26e86
movl $0x3a, %edx
movq %r12, %rdi
leaq 0x13f47(%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 0x26d65
movl $0x1f, %edx
movq %r12, %rdi
leaq 0x13f12(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x33c0
leaq -0x1b0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x391c3
testb %al, %al
jne 0x26f6c
movl $0x35, %edx
movq %r12, %rdi
leaq 0x13ebc(%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 0x26e90
movl $0x1a, %edx
movq %r12, %rdi
leaq 0x13f0e(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x190(%rbp), %rsi
callq 0x33c0
leaq -0x190(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x39389
testb %al, %al
jne 0x27052
movl $0x24, %edx
movq %r12, %rdi
leaq 0x13e24(%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 0x26f76
movl $0x20, %edx
movq %r12, %rdi
leaq 0x13dd9(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x33c0
leaq -0x1d0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x391c3
testb %al, %al
jne 0x27138
movl $0x35, %edx
movq %r12, %rdi
leaq 0x13cf0(%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 0x2705c
movl -0x30(%rbp), %r13d
leaq -0x3b0(%rbp), %rax
movq %rax, -0x3c0(%rbp)
movq -0x230(%rbp), %rsi
movq -0x228(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3c0(%rbp), %rdi
callq 0x4574
leaq -0x390(%rbp), %rax
movq %rax, -0x3a0(%rbp)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3a0(%rbp), %rdi
callq 0x4574
leaq -0x370(%rbp), %rax
movq %rax, -0x380(%rbp)
movq -0x210(%rbp), %rsi
movq -0x208(%rbp), %rdx
addq %rsi, %rdx
leaq -0x380(%rbp), %rdi
callq 0x4574
leaq -0x350(%rbp), %rax
movq %rax, -0x360(%rbp)
movq -0x1f0(%rbp), %rsi
movq -0x1e8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x360(%rbp), %rdi
callq 0x4574
leaq -0x330(%rbp), %rax
movq %rax, -0x340(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x340(%rbp), %rdi
callq 0x4574
leaq -0x310(%rbp), %rax
movq %rax, -0x320(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x320(%rbp), %rdi
callq 0x4574
leaq -0x2f0(%rbp), %rax
movq %rax, -0x300(%rbp)
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
addq %rsi, %rdx
leaq -0x300(%rbp), %rdi
callq 0x4574
movl -0x38(%rbp), %ebx
leaq -0x2d0(%rbp), %rax
movq %rax, -0x2e0(%rbp)
movq -0x130(%rbp), %rsi
movq -0x128(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2e0(%rbp), %rdi
callq 0x4574
leaq -0x2b0(%rbp), %rax
movq %rax, -0x2c0(%rbp)
movq -0x1b0(%rbp), %rsi
movq -0x1a8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2c0(%rbp), %rdi
callq 0x4574
movq %rbx, -0xd8(%rbp)
leaq -0x290(%rbp), %rax
movq %rax, -0x2a0(%rbp)
movq -0x190(%rbp), %rsi
movq -0x188(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2a0(%rbp), %rdi
callq 0x4574
leaq -0x650(%rbp), %rax
movq %rax, -0x660(%rbp)
movq -0x1d0(%rbp), %rsi
movq -0x1c8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x660(%rbp), %rbx
movq %rbx, %rdi
callq 0x4574
subq $0x8, %rsp
movsbl -0x2a(%rbp), %r9d
movq %r14, %rdi
movl %r13d, %esi
leaq -0x3c0(%rbp), %rdx
leaq -0x3a0(%rbp), %rcx
leaq -0x380(%rbp), %r8
movsd -0xf0(%rbp), %xmm0
pushq %rbx
leaq -0x2a0(%rbp), %rax
pushq %rax
leaq -0x2c0(%rbp), %rax
pushq %rax
leaq -0x2e0(%rbp), %rax
pushq %rax
pushq -0xd8(%rbp)
leaq -0x300(%rbp), %rax
pushq %rax
leaq -0x320(%rbp), %rax
pushq %rax
leaq -0x340(%rbp), %rax
pushq %rax
leaq -0x360(%rbp), %rax
pushq %rax
callq 0x5d04
addq $0x50, %rsp
movl -0x828(%rbp), %eax
movq -0x40(%rbp), %rbx
movl %eax, 0x30(%rbx)
leaq 0x38(%rbx), %rdi
leaq -0x820(%rbp), %rsi
callq 0x30f0
leaq 0x58(%rbx), %rdi
leaq -0x800(%rbp), %rsi
callq 0x30f0
leaq 0x78(%rbx), %rdi
leaq -0x7e0(%rbp), %rsi
callq 0x30f0
movups 0x70(%r14), %xmm0
movups %xmm0, 0x98(%rbx)
leaq 0xa8(%rbx), %rdi
movq -0x50(%rbp), %rsi
callq 0x30f0
leaq 0xc8(%rbx), %rdi
movq -0x270(%rbp), %rsi
callq 0x30f0
leaq 0xe8(%rbx), %rdi
movq -0x268(%rbp), %rsi
callq 0x30f0
leaq 0x108(%rbx), %rdi
movq -0x260(%rbp), %rsi
callq 0x30f0
leaq 0x130(%rbx), %rdi
movq -0x258(%rbp), %rsi
callq 0x30f0
leaq 0x150(%rbx), %rdi
movq -0x250(%rbp), %rsi
callq 0x30f0
leaq 0x170(%rbx), %rdi
movq -0x248(%rbp), %rsi
callq 0x30f0
movl -0x6c8(%rbp), %eax
movl %eax, 0x190(%rbx)
leaq 0x198(%rbx), %rdi
movq -0x240(%rbp), %rsi
callq 0x30f0
movq %r14, %rdi
callq 0x65fe
movq -0x660(%rbp), %rdi
leaq -0x650(%rbp), %rax
cmpq %rax, %rdi
je 0x274a4
callq 0x31d0
movq -0x2a0(%rbp), %rdi
leaq -0x290(%rbp), %rax
cmpq %rax, %rdi
movq -0x238(%rbp), %r14
je 0x274c3
callq 0x31d0
movq -0x2c0(%rbp), %rdi
leaq -0x2b0(%rbp), %rax
cmpq %rax, %rdi
je 0x274db
callq 0x31d0
movq -0x2e0(%rbp), %rdi
leaq -0x2d0(%rbp), %rax
cmpq %rax, %rdi
je 0x274f3
callq 0x31d0
movq -0x300(%rbp), %rdi
leaq -0x2f0(%rbp), %rax
cmpq %rax, %rdi
je 0x2750b
callq 0x31d0
movq -0x320(%rbp), %rdi
leaq -0x310(%rbp), %rax
cmpq %rax, %rdi
je 0x27523
callq 0x31d0
movq -0x340(%rbp), %rdi
leaq -0x330(%rbp), %rax
cmpq %rax, %rdi
je 0x2753b
callq 0x31d0
movq -0x360(%rbp), %rdi
leaq -0x350(%rbp), %rax
cmpq %rax, %rdi
je 0x27553
callq 0x31d0
movq -0x380(%rbp), %rdi
leaq -0x370(%rbp), %rax
cmpq %rax, %rdi
je 0x2756b
callq 0x31d0
movq -0x3a0(%rbp), %rdi
leaq -0x390(%rbp), %rax
cmpq %rax, %rdi
je 0x27583
callq 0x31d0
movq -0x3c0(%rbp), %rdi
leaq -0x3b0(%rbp), %rax
cmpq %rax, %rdi
je 0x2759b
callq 0x31d0
movb $0x73, %bl
jmp 0x276c8
movl $0x18, %edx
movq %r12, %rdi
leaq 0x13cd7(%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
movb $0x6e, %bl
movq %rax, %rdi
callq 0x3130
movb %bl, -0x29(%rbp)
cmpq %r14, -0x40(%rbp)
je 0x2763d
leaq -0xc30(%rbp), %rdi
leaq 0x138fc(%rip), %rsi     # 0x3aef3
movl $0x10, %edx
callq 0x3050
movq -0xe0(%rbp), %rax
movq 0x18(%rax), %rbx
cmpq %r14, %rbx
je 0x27631
leaq 0x28(%rbx), %rsi
leaq -0xc30(%rbp), %rdi
callq 0x91c7
movq %rbx, %rdi
callq 0x3140
movq %rax, %rbx
cmpq %r14, %rax
jne 0x27611
leaq -0xc30(%rbp), %rdi
callq 0x32a0
movl $0x19, %edx
movq %r12, %rdi
leaq 0x13c55(%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 %r15, %rdi
leaq -0x2b(%rbp), %rsi
callq 0x3280
jmp 0x27773
movl $0x18, %edx
movq %r12, %rdi
leaq 0x13bef(%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
movb $0x6e, %bl
movq %rax, %rdi
callq 0x3130
movb %bl, -0x29(%rbp)
movq -0x40(%rbp), %rax
cmpq -0x48(%rbp), %rax
je 0x2772b
leaq -0xa30(%rbp), %rdi
leaq 0x13821(%rip), %rsi     # 0x3af04
movl $0x10, %edx
callq 0x3050
movq -0xe8(%rbp), %rax
movq 0x18(%rax), %rbx
cmpq -0x48(%rbp), %rbx
je 0x2771f
leaq 0x28(%rbx), %rsi
leaq -0xa30(%rbp), %rdi
callq 0x9843
movq %rbx, %rdi
callq 0x3140
movq %rax, %rbx
cmpq -0x48(%rbp), %rax
jne 0x276fe
leaq -0xa30(%rbp), %rdi
callq 0x32a0
movl $0x19, %edx
movq %r12, %rdi
leaq 0x13b67(%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 %r15, %rdi
leaq -0x2b(%rbp), %rsi
callq 0x3280
cmpb $0x73, -0x2b(%rbp)
movq -0x48(%rbp), %rbx
je 0x24ab5
movq 0x20840(%rip), %rax     # 0x47fc8
movq (%rax), %rbx
movq 0x18(%rax), %r14
leaq -0xa28(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, -0xa30(%rbp,%rax)
callq 0x3190
movl $0xf8, %r15d
leaq -0xa30(%rbp), %rdi
addq %r15, %rdi
callq 0x30d0
leaq -0xc28(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, -0xc30(%rbp,%rax)
callq 0x3190
leaq -0xc30(%rbp), %rdi
addq %r15, %rdi
callq 0x30d0
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x27803
callq 0x31d0
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x2781b
callq 0x31d0
movq -0x170(%rbp), %rdi
leaq -0x160(%rbp), %rax
cmpq %rax, %rdi
je 0x27833
callq 0x31d0
movq -0x6a0(%rbp), %rdi
leaq -0x690(%rbp), %rax
cmpq %rax, %rdi
je 0x2784b
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x2785d
callq 0x31d0
movq -0x130(%rbp), %rdi
leaq -0x120(%rbp), %rax
cmpq %rax, %rdi
je 0x27875
callq 0x31d0
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x2788d
callq 0x31d0
movq -0x1b0(%rbp), %rdi
leaq -0x1a0(%rbp), %rax
cmpq %rax, %rdi
je 0x278a5
callq 0x31d0
movq -0x1d0(%rbp), %rdi
leaq -0x1c0(%rbp), %rax
cmpq %rax, %rdi
je 0x278bd
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x278d2
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x278ea
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x27902
callq 0x31d0
movq -0x1f0(%rbp), %rdi
leaq -0x1e0(%rbp), %rax
cmpq %rax, %rdi
je 0x2791a
callq 0x31d0
movq -0x210(%rbp), %rdi
leaq -0x200(%rbp), %rax
cmpq %rax, %rdi
je 0x27932
callq 0x31d0
movq -0x230(%rbp), %rdi
leaq -0x220(%rbp), %rax
cmpq %rax, %rdi
je 0x2794a
callq 0x31d0
addq $0xc08, %rsp            # imm = 0xC08
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1384f(%rip), %rdi     # 0x3b1b2
callq 0x3110
leaq 0x13843(%rip), %rdi     # 0x3b1b2
callq 0x3110
leaq 0x13837(%rip), %rdi     # 0x3b1b2
callq 0x32b0
leaq 0x1382b(%rip), %rdi     # 0x3b1b2
callq 0x32b0
movq %rax, %r15
jmp 0x27c10
movq %rax, %r15
jmp 0x27ac5
movq %rax, %r15
jmp 0x27c28
movq %rax, %r15
jmp 0x27af5
movq %rax, %r15
jmp 0x27c58
movq %rax, %r15
jmp 0x27bb0
movq %rax, %r15
jmp 0x27a65
movq %rax, %r15
jmp 0x27bc8
movq %rax, %r15
jmp 0x27a7d
movq %rax, %r15
jmp 0x27b25
movq %rax, %r15
jmp 0x27b0d
movq %rax, %r15
jmp 0x27b80
jmp 0x27e38
movq %rax, %r15
jmp 0x27b55
movq %rax, %r15
jmp 0x27a95
movq %rax, %r15
jmp 0x27bf8
movq %rax, %r15
jmp 0x27add
movq %rax, %r15
jmp 0x27b98
movq %rax, %r15
jmp 0x27aad
jmp 0x27e38
movq %rax, %r15
jmp 0x27c40
movq %rax, %r15
jmp 0x27c70
movq %rax, %r15
jmp 0x27b3d
movq %rax, %r15
jmp 0x27be0
movq %rax, %r15
jmp 0x27e71
movq %rax, %r15
jmp 0x27ea7
movq %rax, %r15
leaq -0x830(%rbp), %rdi
callq 0x65fe
movq -0x660(%rbp), %rdi
leaq -0x650(%rbp), %rax
cmpq %rax, %rdi
je 0x27a7d
callq 0x31d0
movq -0x2a0(%rbp), %rdi
leaq -0x290(%rbp), %rax
cmpq %rax, %rdi
je 0x27a95
callq 0x31d0
movq -0x2c0(%rbp), %rdi
leaq -0x2b0(%rbp), %rax
cmpq %rax, %rdi
je 0x27aad
callq 0x31d0
movq -0x2e0(%rbp), %rdi
leaq -0x2d0(%rbp), %rax
cmpq %rax, %rdi
je 0x27ac5
callq 0x31d0
movq -0x300(%rbp), %rdi
leaq -0x2f0(%rbp), %rax
cmpq %rax, %rdi
je 0x27add
callq 0x31d0
movq -0x320(%rbp), %rdi
leaq -0x310(%rbp), %rax
cmpq %rax, %rdi
je 0x27af5
callq 0x31d0
movq -0x340(%rbp), %rdi
leaq -0x330(%rbp), %rax
cmpq %rax, %rdi
je 0x27b0d
callq 0x31d0
movq -0x360(%rbp), %rdi
leaq -0x350(%rbp), %rax
cmpq %rax, %rdi
je 0x27b25
callq 0x31d0
movq -0x380(%rbp), %rdi
leaq -0x370(%rbp), %rax
cmpq %rax, %rdi
je 0x27b3d
callq 0x31d0
movq -0x3a0(%rbp), %rdi
leaq -0x390(%rbp), %rax
cmpq %rax, %rdi
je 0x27b55
callq 0x31d0
movq -0x3c0(%rbp), %rdi
leaq -0x3b0(%rbp), %rax
cmpq %rax, %rdi
je 0x27e3b
jmp 0x27dee
movq %rax, %r15
leaq -0x830(%rbp), %rdi
callq 0x5cae
movq -0x680(%rbp), %rdi
leaq -0x670(%rbp), %rax
cmpq %rax, %rdi
je 0x27b98
callq 0x31d0
movq -0x480(%rbp), %rdi
leaq -0x470(%rbp), %rax
cmpq %rax, %rdi
je 0x27bb0
callq 0x31d0
movq -0x4a0(%rbp), %rdi
leaq -0x490(%rbp), %rax
cmpq %rax, %rdi
je 0x27bc8
callq 0x31d0
movq -0x4c0(%rbp), %rdi
leaq -0x4b0(%rbp), %rax
cmpq %rax, %rdi
je 0x27be0
callq 0x31d0
movq -0x4e0(%rbp), %rdi
leaq -0x4d0(%rbp), %rax
cmpq %rax, %rdi
je 0x27bf8
callq 0x31d0
movq -0x500(%rbp), %rdi
leaq -0x4f0(%rbp), %rax
cmpq %rax, %rdi
je 0x27c10
callq 0x31d0
movq -0x520(%rbp), %rdi
leaq -0x510(%rbp), %rax
cmpq %rax, %rdi
je 0x27c28
callq 0x31d0
movq -0x540(%rbp), %rdi
leaq -0x530(%rbp), %rax
cmpq %rax, %rdi
je 0x27c40
callq 0x31d0
movq -0x560(%rbp), %rdi
leaq -0x550(%rbp), %rax
cmpq %rax, %rdi
je 0x27c58
callq 0x31d0
movq -0x580(%rbp), %rdi
leaq -0x570(%rbp), %rax
cmpq %rax, %rdi
je 0x27c70
callq 0x31d0
movq -0x5a0(%rbp), %rdi
leaq -0x590(%rbp), %rax
cmpq %rax, %rdi
je 0x27e3b
jmp 0x27dee
jmp 0x27c93
jmp 0x27e38
movq %rax, %r15
movq 0x20313(%rip), %rsi     # 0x47fb0
leaq -0x830(%rbp), %rdi
callq 0x3160
leaq -0x7b0(%rbp), %rdi
callq 0x30d0
jmp 0x27e3b
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
movq %rax, %r15
movq -0x5c0(%rbp), %rdi
leaq -0x5b0(%rbp), %rax
cmpq %rax, %rdi
je 0x27e3b
jmp 0x27dee
movq %rax, %r15
movq -0x3e0(%rbp), %rdi
leaq -0x3d0(%rbp), %rax
cmpq %rax, %rdi
je 0x27e3b
jmp 0x27dee
movq %rax, %r15
movq -0x400(%rbp), %rdi
leaq -0x3f0(%rbp), %rax
cmpq %rax, %rdi
je 0x27e3b
jmp 0x27dee
movq %rax, %r15
movq -0x5e0(%rbp), %rdi
leaq -0x5d0(%rbp), %rax
cmpq %rax, %rdi
je 0x27e3b
jmp 0x27dee
movq %rax, %r15
movq -0x420(%rbp), %rdi
leaq -0x410(%rbp), %rax
cmpq %rax, %rdi
je 0x27e3b
jmp 0x27dee
movq %rax, %r15
movq -0x600(%rbp), %rdi
leaq -0x5f0(%rbp), %rax
cmpq %rax, %rdi
je 0x27e3b
jmp 0x27dee
movq %rax, %r15
movq -0x440(%rbp), %rdi
leaq -0x430(%rbp), %rax
cmpq %rax, %rdi
je 0x27e3b
jmp 0x27dee
movq %rax, %r15
movq -0x620(%rbp), %rdi
leaq -0x610(%rbp), %rax
cmpq %rax, %rdi
je 0x27e3b
jmp 0x27dee
movq %rax, %r15
movq -0x460(%rbp), %rdi
leaq -0x450(%rbp), %rax
cmpq %rax, %rdi
je 0x27e3b
jmp 0x27dee
movq %rax, %r15
movq -0x640(%rbp), %rdi
leaq -0x630(%rbp), %rax
cmpq %rax, %rdi
je 0x27e3b
callq 0x31d0
jmp 0x27e3b
jmp 0x27df7
movq %rax, %r15
cmpl $0x0, (%rbx)
jne 0x27e3b
movl %r14d, (%rbx)
jmp 0x27e3b
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
jmp 0x27e38
movq %rax, %r15
movq 0x20186(%rip), %rax     # 0x47fc8
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq -0xa28(%rbp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, -0xa30(%rbp,%rcx)
callq 0x3190
leaq -0x938(%rbp), %rdi
callq 0x30d0
movq 0x20150(%rip), %rax     # 0x47fc8
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq -0xc28(%rbp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, -0xc30(%rbp,%rcx)
callq 0x3190
leaq -0xb38(%rbp), %rdi
callq 0x30d0
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x27ebf
callq 0x31d0
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x27ed7
callq 0x31d0
movq -0x170(%rbp), %rdi
leaq -0x160(%rbp), %rax
cmpq %rax, %rdi
je 0x27eef
callq 0x31d0
movq -0x6a0(%rbp), %rdi
leaq -0x690(%rbp), %rax
cmpq %rax, %rdi
je 0x27f07
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x27f19
callq 0x31d0
movq -0x130(%rbp), %rdi
leaq -0x120(%rbp), %rax
cmpq %rax, %rdi
je 0x27f31
callq 0x31d0
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x27f49
callq 0x31d0
movq -0x1b0(%rbp), %rdi
leaq -0x1a0(%rbp), %rax
cmpq %rax, %rdi
je 0x27f61
callq 0x31d0
movq -0x1d0(%rbp), %rdi
leaq -0x1c0(%rbp), %rax
cmpq %rax, %rdi
je 0x27f79
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x27f8e
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x27fa6
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x27fbe
callq 0x31d0
movq -0x1f0(%rbp), %rdi
leaq -0x1e0(%rbp), %rax
cmpq %rax, %rdi
je 0x27fd6
callq 0x31d0
movq -0x210(%rbp), %rdi
leaq -0x200(%rbp), %rax
cmpq %rax, %rdi
je 0x27fee
callq 0x31d0
movq -0x230(%rbp), %rdi
leaq -0x220(%rbp), %rax
cmpq %rax, %rdi
je 0x28006
callq 0x31d0
movq %r15, %rdi
callq 0x3380