// File: /workspace/github_cpp_makefile_star2_O3/nataly-enne[P]pet-fera/pet_fera_editar.cpp
// Function: editar(std::map<int, AVE_NATIVO, std::less<int>, std::allocator<std::pair<int const, AVE_NATIVO>>>&, std::map<int, AVE_EXOTICO, std::less<int>, std::allocator<std::pair<int const, AVE_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, AVE_NATIVO> &aves_nat, map <int, AVE_EXOTICO> &aves_ex, map <int, VETERINARIO> vets, map <int, TRATADOR> tratadores){
	char resp, op, sexo, tipo_animal, sucesso, tipo = 'v';
	int id_buscado;;
	double tamanho, envergadura, tam_bico;
	bool check;
	string classe, nome_cientifico, dieta, veterinario, tratador, nome_batismo, autorizacao, autorizacao_IBAMA, origem, nome, id_string, sexo_string, tamanho_string, tam_bico_string, envergadura_string;
	ofstream nativos;
	ofstream exoticos;
			

	do{
		cout << "É nativo ou exotico? \n n - NATIVO\n e - EXOTICO" << endl;
		cin >> tipo_animal;
		if(tipo_animal != 'n' && tipo_animal != '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(tipo_animal == 'n'){
				cout << "Insira o ID buscado: " << endl;
				cin >> id_buscado;

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

					classe = "Aves";

					// 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;
						}
						transform(nome.begin(), nome.end(), nome.begin(), ::tolower); // Converte a string nome para caracteres maiúsculos.
					}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_batismo para caracteres minusculos.
					}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 sexo 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;
							continue;
						}
						else{
							tamanho = stod(tamanho_string);
						}
					}while(sucesso == 'n');
						
					// Recebe o tamanho do bico do animal e verifica se não caracteres pproibidos.
					do{
						cout << "Digite o tamanho do bico: " << endl;
						getline(cin, tam_bico_string);
						if(!verifica_tamanho(tam_bico_string, sucesso)){
							cout << "ERRO: o tamanho do animal tem que ter apenas um '.' " << endl << endl;
						}
						tam_bico = stod(tam_bico_string);
					}while(sucesso == 'n');
					
					// Recebe a envergadura do animal e verifica se não caracteres pproibidos.
					do{
						cout << "Digite a envergadura: " << endl;
						getline(cin, envergadura_string);
						if(!verifica_tamanho(envergadura_string, sucesso)){
							cout << "ERRO: o tamanho do animal tem que ter apenas um '.' " << endl << endl;
						}
						envergadura = stod(envergadura_string);
					}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 ou '-'" << 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 = AVE_NATIVO(id_buscado, classe, nome, nome_cientifico, sexo, tamanho, dieta, veterinario, tratador, nome_batismo, tam_bico, envergadura, autorizacao_IBAMA, origem, autorizacao);
					sucesso = 's';
				}
				else{
					cout << "Animal não cadastrado!!" << endl;
					sucesso = 'n';
				}
				if(sucesso == 's'){
					nativos.open("aves_nat.txt");
					for(auto it = aves_nat.begin(); it != aves_nat.end(); it++){
						nativos << (*it).second;
					}
					nativos.close();
				}
				cout << "Deseja editar outro? s/n" << endl;
				cin >> op;

			} // IF nativo.
			else{
				cout << "Insira o ID buscado: " << endl;
				cin >> id_buscado;

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

					classe = "Aves";

					// 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;
						}
						transform(nome.begin(), nome.end(), nome.begin(), ::tolower); // Converte a string nome para caracteres maiúsculos.
					}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_batismo para caracteres minusculos.
					}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 sexo 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 tamanho do bico do animal e verifica se não caracteres pproibidos.
					do{
						cout << "Digite o tamanho do bico: " << endl;
						getline(cin, tam_bico_string);
						if(!verifica_tamanho(tam_bico_string, sucesso)){
							cout << "ERRO: o tamanho do animal tem que ter apenas um '.' " << endl << endl;
						}
						tam_bico = stod(tam_bico_string);
					}while(sucesso == 'n');
					
					// Recebe a envergadura do animal e verifica se não caracteres pproibidos.
					do{
						cout << "Digite a envergadura: " << endl;
						getline(cin, envergadura_string);
						if(!verifica_tamanho(envergadura_string, sucesso)){
							cout << "ERRO: o tamanho do animal tem que ter apenas um '.' " << endl << endl;
						}
						envergadura = stod(envergadura_string);
					}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 ou '-'" << 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 = AVE_EXOTICO(id_buscado, classe, nome, nome_cientifico, sexo, tamanho, dieta, veterinario, tratador, nome_batismo, tam_bico, envergadura, autorizacao_IBAMA, origem, autorizacao);
					sucesso = 's';
				}
				else{
					cout << "Animal não cadastrado!!" << endl;
					sucesso = 'n';
				}
				if(sucesso == 's'){
					exoticos.open("aves_ex.txt");
					for(auto it = aves_ex.begin(); it != aves_ex.end(); it++){
						exoticos << (*it).second;
					}
					exoticos.close();
				}
				cout << "\nDeseja editar outro? s/n" << endl;
				cin >> op;
			} // Else exótico.
		} // Primeiro else.
	}while(op == 's');
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xbb8, %rsp            # imm = 0xBB8
movq %rcx, -0x280(%rbp)
movq %rdx, -0x288(%rbp)
movq %rsi, -0xd8(%rbp)
movq %rdi, -0xe0(%rbp)
leaq -0x228(%rbp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x208(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x1e8(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0xb8(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x98(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x78(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x1c8(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x1a8(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x188(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x58(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x658(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x108(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x168(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x148(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x128(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0xbe0(%rbp), %rdi
callq 0x3360
leaq -0x9e0(%rbp), %rdi
callq 0x3360
movq -0xd8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x40(%rbp)
leaq -0x7e0(%rbp), %rax
leaq 0x80(%rax), %rcx
movq %rcx, -0x278(%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 $0x168, %rax            # imm = 0x168
movq %rax, -0x240(%rbp)
movq -0xe0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x48(%rbp)
movq 0x195a6(%rip), %r15     # 0x47fd0
movq 0x195af(%rip), %r12     # 0x47fe0
leaq -0x29(%rbp), %r13
movl $0x2f, %edx
movq %r15, %rdi
leaq 0xc7f3(%rip), %rsi      # 0x3b237
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r12, %rdi
leaq -0x2c(%rbp), %rsi
callq 0x3280
movzbl -0x2c(%rbp), %eax
cmpl $0x65, %eax
je 0x2ec67
cmpl $0x6e, %eax
je 0x2eb54
movl $0x25, %edx
movq %r15, %rdi
leaq 0xc770(%rip), %rsi      # 0x3b211
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movl $0x10, %edx
movq %r15, %rdi
leaq 0xbb15(%rip), %rsi      # 0x3a618
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r12, %rdi
leaq -0x2d(%rbp), %rsi
callq 0x3280
cmpb $0x73, -0x2d(%rbp)
je 0x316d9
cmpb $0x73, -0x2b(%rbp)
je 0x2ea35
jmp 0x316d9
movl $0x15, %edx
movq %r15, %rdi
leaq 0xc704(%rip), %rsi      # 0x3b267
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r12, %rdi
leaq -0x34(%rbp), %rsi
callq 0x3120
movq -0xe0(%rbp), %rax
movq 0x10(%rax), %rcx
testq %rcx, %rcx
je 0x2ebdc
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 0x2ebb2
cmpq -0x48(%rbp), %rsi
je 0x2ebdc
cmpl 0x20(%rsi), %eax
cmovlq -0x48(%rbp), %rsi
jge 0x2ed7a
movl $0x18, %edx
movq %r15, %rdi
leaq 0xc69d(%rip), %rsi      # 0x3b288
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
movl $0x18, %edx
movq %r15, %rdi
leaq 0xc678(%rip), %rsi      # 0x3b2a2
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r12, %rdi
leaq -0x2b(%rbp), %rsi
callq 0x3280
jmp 0x2eb45
movl $0x15, %edx
movq %r15, %rdi
leaq 0xc5f1(%rip), %rsi      # 0x3b267
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r12, %rdi
leaq -0x34(%rbp), %rsi
callq 0x3120
movq -0xd8(%rbp), %rax
movq 0x10(%rax), %rcx
testq %rcx, %rcx
je 0x2ecef
movl -0x34(%rbp), %eax
movq -0x40(%rbp), %rsi
xorl %edx, %edx
cmpl %eax, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %rsi
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x2ecc5
cmpq -0x40(%rbp), %rsi
je 0x2ecef
cmpl 0x20(%rsi), %eax
cmovlq -0x40(%rbp), %rsi
jge 0x2f693
movl $0x18, %edx
movq %r15, %rdi
leaq 0xc58a(%rip), %rsi      # 0x3b288
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
movl $0x19, %edx
movq %r15, %rdi
leaq 0xc564(%rip), %rsi      # 0x3b2a1
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r12, %rdi
leaq -0x2b(%rbp), %rsi
callq 0x3280
jmp 0x2eb45
movq %rsi, -0xd0(%rbp)
movl $0xa, %edx
movq %r15, %rdi
leaq 0xc4ed(%rip), %rsi      # 0x3b27d
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x230(%rbp), %rdx
movl $0x4, %r8d
leaq -0x238(%rbp), %rdi
xorl %esi, %esi
leaq 0xb815(%rip), %rcx      # 0x3a5ee
callq 0x3300
movl $0xe, %edx
movq %r15, %rdi
leaq 0xb996(%rip), %rsi      # 0x3a783
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r12, %rdi
callq 0x33a0
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x68(%rbp), %rsi
callq 0x33c0
leaq -0x68(%rbp), %rdi
movq %r13, %rsi
callq 0x3821c
testb %al, %al
jne 0x2eeba
movl $0x2d, %edx
movq %r15, %rdi
leaq 0xb92e(%rip), %rsi      # 0x3a792
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x60(%rbp), %rbx
testq %rbx, %rbx
je 0x2eee0
movq -0x68(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x32c0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2eeca
cmpb $0x6e, -0x29(%rbp)
leaq -0x29(%rbp), %r13
je 0x2edde
movl $0x1a, %edx
movq %r15, %rdi
leaq 0xbc59(%rip), %rsi      # 0x3ab56
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x218(%rbp), %rsi
callq 0x33c0
leaq -0x218(%rbp), %rdi
movq %r13, %rsi
callq 0x38318
testb %al, %al
jne 0x2efc8
movl $0x35, %edx
movq %r15, %rdi
leaq 0xbbff(%rip), %rsi      # 0x3ab71
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x2eeee
movl $0x10, %edx
movq %r15, %rdi
leaq 0xbbc6(%rip), %rsi      # 0x3aba7
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x1f8(%rbp), %rsi
callq 0x33c0
leaq -0x1f8(%rbp), %rdi
movq %r13, %rsi
callq 0x38bdf
testb %al, %al
jne 0x2f0ac
movl $0x2d, %edx
movq %r15, %rdi
leaq 0xb73c(%rip), %rsi      # 0x3a792
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x2efd2
jmp 0x2f11e
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movl $0x22, %edx
movq %r15, %rdi
leaq 0xbae9(%rip), %rsi      # 0x3abd7
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
movl $0x1e, %edx
movq %r15, %rdi
leaq 0xba8b(%rip), %rsi      # 0x3abb8
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0xc8(%rbp), %rsi
callq 0x33c0
leaq -0xc8(%rbp), %rdi
movq %r13, %rsi
callq 0x3821c
testb %al, %al
jne 0x2f1f8
movl $0x2d, %edx
movq %r15, %rdi
leaq 0xb5f0(%rip), %rsi      # 0x3a792
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
leaq -0x5f8(%rbp), %rax
movq %rax, -0x608(%rbp)
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x608(%rbp), %rdi
callq 0x4574
movq -0x288(%rbp), %rdi
leaq -0x608(%rbp), %rsi
callq 0x36d35
movl %eax, %ebx
movq -0x608(%rbp), %rdi
leaq -0x5f8(%rbp), %rax
cmpq %rax, %rdi
je 0x2f250
callq 0x31d0
testb %bl, %bl
je 0x2f0b8
cmpb $0x6e, -0x29(%rbp)
je 0x2f11e
movl $0x1b, %edx
movq %r15, %rdi
leaq 0xb989(%rip), %rsi      # 0x3abfa
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0xa8(%rbp), %rsi
callq 0x33c0
leaq -0xa8(%rbp), %rdi
movq %r13, %rsi
callq 0x3821c
testb %al, %al
jne 0x2f33c
movl $0x2d, %edx
movq %r15, %rdi
leaq 0xb4ac(%rip), %rsi      # 0x3a792
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
leaq -0x5d8(%rbp), %rax
movq %rax, -0x5e8(%rbp)
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5e8(%rbp), %rdi
callq 0x4574
xorl %edi, %edi
movq -0x280(%rbp), %rsi
leaq -0x5e8(%rbp), %rdx
movl $0x76, %ecx
callq 0x36dd5
movl %eax, %ebx
movq -0x5e8(%rbp), %rdi
leaq -0x5d8(%rbp), %rax
cmpq %rax, %rdi
je 0x2f39b
callq 0x31d0
testb %bl, %bl
je 0x2f3ae
cmpb $0x6e, -0x29(%rbp)
je 0x2f262
jmp 0x2f443
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movl $0x31, %edx
movq %r15, %rdi
leaq 0xb832(%rip), %rsi      # 0x3ac16
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
jmp 0x2f262
movl $0x1a, %edx
movq %r15, %rdi
leaq 0xb7f6(%rip), %rsi      # 0x3ac48
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x88(%rbp), %rsi
callq 0x33c0
leaq -0x88(%rbp), %rdi
movq %r13, %rsi
callq 0x3821c
testb %al, %al
jne 0x2f51d
movl $0x2d, %edx
movq %r15, %rdi
leaq 0xb2cb(%rip), %rsi      # 0x3a792
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x80(%rbp), %rbx
testq %rbx, %rbx
je 0x2f546
movq -0x88(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x32c0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2f530
cmpb $0x6e, -0x29(%rbp)
leaq -0x29(%rbp), %r13
je 0x2f443
movl $0x19, %edx
movq %r15, %rdi
leaq 0xb700(%rip), %rsi      # 0x3ac63
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x118(%rbp), %rsi
callq 0x33c0
movq -0x110(%rbp), %rbx
testq %rbx, %rbx
je 0x2f5e2
movq -0x118(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x33d0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2f5cc
leaq -0x118(%rbp), %rbx
movq %rbx, %rdi
leaq 0xb68a(%rip), %rsi      # 0x3ac7d
callq 0x30c0
testl %eax, %eax
je 0x2ffac
movq %rbx, %rdi
leaq 0xb675(%rip), %rsi      # 0x3ac7f
callq 0x30c0
testl %eax, %eax
je 0x2ffac
movb $0x6e, -0x29(%rbp)
movl $0x21, %edx
movq %r15, %rdi
leaq 0xb657(%rip), %rsi      # 0x3ac81
callq 0x3250
leaq -0x29(%rbp), %r13
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x2f554
jmp 0x2ffc0
movq %rsi, -0xd0(%rbp)
movl $0xa, %edx
movq %r15, %rdi
leaq 0xbbd4(%rip), %rsi      # 0x3b27d
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x230(%rbp), %rdx
movl $0x4, %r8d
leaq -0x238(%rbp), %rdi
xorl %esi, %esi
leaq 0xaefc(%rip), %rcx      # 0x3a5ee
callq 0x3300
movl $0xe, %edx
movq %r15, %rdi
leaq 0xb07d(%rip), %rsi      # 0x3a783
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r12, %rdi
callq 0x33a0
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x68(%rbp), %rsi
callq 0x33c0
leaq -0x68(%rbp), %rdi
movq %r13, %rsi
callq 0x3821c
testb %al, %al
jne 0x2f7d3
movl $0x2d, %edx
movq %r15, %rdi
leaq 0xb015(%rip), %rsi      # 0x3a792
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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 -0x60(%rbp), %rbx
testq %rbx, %rbx
je 0x2f7f9
movq -0x68(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x32c0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2f7e3
cmpb $0x6e, -0x29(%rbp)
leaq -0x29(%rbp), %r13
je 0x2f6f7
movl $0x1a, %edx
movq %r15, %rdi
leaq 0xb340(%rip), %rsi      # 0x3ab56
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x218(%rbp), %rsi
callq 0x33c0
leaq -0x218(%rbp), %rdi
movq %r13, %rsi
callq 0x38318
testb %al, %al
jne 0x2f8e1
movl $0x35, %edx
movq %r15, %rdi
leaq 0xb2e6(%rip), %rsi      # 0x3ab71
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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 0x2f807
movl $0x10, %edx
movq %r15, %rdi
leaq 0xb2ad(%rip), %rsi      # 0x3aba7
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x1f8(%rbp), %rsi
callq 0x33c0
leaq -0x1f8(%rbp), %rdi
movq %r13, %rsi
callq 0x38bdf
testb %al, %al
jne 0x2f9c5
movl $0x2d, %edx
movq %r15, %rdi
leaq 0xae23(%rip), %rsi      # 0x3a792
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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 0x2f8eb
jmp 0x2fa37
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movl $0x22, %edx
movq %r15, %rdi
leaq 0xb1d0(%rip), %rsi      # 0x3abd7
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
movl $0x1e, %edx
movq %r15, %rdi
leaq 0xb172(%rip), %rsi      # 0x3abb8
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0xc8(%rbp), %rsi
callq 0x33c0
leaq -0xc8(%rbp), %rdi
movq %r13, %rsi
callq 0x3821c
testb %al, %al
jne 0x2fb11
movl $0x2d, %edx
movq %r15, %rdi
leaq 0xacd7(%rip), %rsi      # 0x3a792
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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 -0x438(%rbp), %rax
movq %rax, -0x448(%rbp)
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x448(%rbp), %rdi
callq 0x4574
movq -0x288(%rbp), %rdi
leaq -0x448(%rbp), %rsi
callq 0x36d35
movl %eax, %ebx
movq -0x448(%rbp), %rdi
leaq -0x438(%rbp), %rax
cmpq %rax, %rdi
je 0x2fb69
callq 0x31d0
testb %bl, %bl
je 0x2f9d1
cmpb $0x6e, -0x29(%rbp)
je 0x2fa37
movl $0x1b, %edx
movq %r15, %rdi
leaq 0xb070(%rip), %rsi      # 0x3abfa
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0xa8(%rbp), %rsi
callq 0x33c0
leaq -0xa8(%rbp), %rdi
movq %r13, %rsi
callq 0x3821c
testb %al, %al
jne 0x2fc55
movl $0x2d, %edx
movq %r15, %rdi
leaq 0xab93(%rip), %rsi      # 0x3a792
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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 -0x418(%rbp), %rax
movq %rax, -0x428(%rbp)
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x428(%rbp), %rdi
callq 0x4574
xorl %edi, %edi
movq -0x280(%rbp), %rsi
leaq -0x428(%rbp), %rdx
movl $0x76, %ecx
callq 0x36dd5
movl %eax, %ebx
movq -0x428(%rbp), %rdi
leaq -0x418(%rbp), %rax
cmpq %rax, %rdi
je 0x2fcb4
callq 0x31d0
testb %bl, %bl
je 0x2fcc7
cmpb $0x6e, -0x29(%rbp)
je 0x2fb7b
jmp 0x2fd5c
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movl $0x31, %edx
movq %r15, %rdi
leaq 0xaf19(%rip), %rsi      # 0x3ac16
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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 0x2fb7b
movl $0x1a, %edx
movq %r15, %rdi
leaq 0xaedd(%rip), %rsi      # 0x3ac48
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x88(%rbp), %rsi
callq 0x33c0
leaq -0x88(%rbp), %rdi
movq %r13, %rsi
callq 0x3821c
testb %al, %al
jne 0x2fe36
movl $0x2d, %edx
movq %r15, %rdi
leaq 0xa9b2(%rip), %rsi      # 0x3a792
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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 -0x80(%rbp), %rbx
testq %rbx, %rbx
je 0x2fe5f
movq -0x88(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x32c0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2fe49
cmpb $0x6e, -0x29(%rbp)
leaq -0x29(%rbp), %r13
je 0x2fd5c
movl $0x19, %edx
movq %r15, %rdi
leaq 0xade7(%rip), %rsi      # 0x3ac63
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x118(%rbp), %rsi
callq 0x33c0
movq -0x110(%rbp), %rbx
testq %rbx, %rbx
je 0x2fefb
movq -0x118(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x33d0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2fee5
leaq -0x118(%rbp), %rbx
movq %rbx, %rdi
leaq 0xad71(%rip), %rsi      # 0x3ac7d
callq 0x30c0
testl %eax, %eax
je 0x30b47
movq %rbx, %rdi
leaq 0xad5c(%rip), %rsi      # 0x3ac7f
callq 0x30c0
testl %eax, %eax
je 0x30b47
movb $0x6e, -0x29(%rbp)
movl $0x21, %edx
movq %r15, %rdi
leaq 0xad3e(%rip), %rsi      # 0x3ac81
callq 0x3250
leaq -0x29(%rbp), %r13
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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 0x2fe6d
jmp 0x30b5b
movq -0x118(%rbp), %rax
movb (%rax), %al
movb %al, -0x2a(%rbp)
movb $0x73, -0x29(%rbp)
leaq -0x29(%rbp), %r13
movl $0x1c, %edx
movq %r15, %rdi
leaq 0xacd4(%rip), %rsi      # 0x3aca3
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x178(%rbp), %rsi
callq 0x33c0
leaq -0x5b8(%rbp), %rax
movq %rax, -0x5c8(%rbp)
movq -0x178(%rbp), %rsi
movq -0x170(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5c8(%rbp), %rdi
callq 0x4574
leaq -0x5c8(%rbp), %rdi
movq %r13, %rsi
callq 0x38d29
movl %eax, %ebx
movq -0x5c8(%rbp), %rdi
leaq -0x5b8(%rbp), %rax
cmpq %rax, %rdi
je 0x30076
callq 0x31d0
testb %bl, %bl
je 0x300c7
movq -0x178(%rbp), %rbx
callq 0x3040
movq %rax, %r14
movl (%rax), %r13d
movl $0x0, (%rax)
movq %rbx, %rdi
leaq -0x7e0(%rbp), %rsi
callq 0x3170
movsd %xmm0, -0xf8(%rbp)
cmpq %rbx, -0x7e0(%rbp)
je 0x318fc
movl (%r14), %eax
testl %eax, %eax
je 0x3012e
cmpl $0x22, %eax
jne 0x30131
jmp 0x31938
movl $0x34, %edx
movq %r15, %rdi
leaq 0xabea(%rip), %rsi      # 0x3acc0
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
jmp 0x30135
movl %r13d, (%r14)
leaq -0x29(%rbp), %r13
cmpb $0x6e, -0x29(%rbp)
je 0x2ffc0
movl $0x1a, %edx
movq %r15, %rdi
leaq 0xb013(%rip), %rsi      # 0x3b161
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x158(%rbp), %rsi
callq 0x33c0
leaq -0x598(%rbp), %rax
movq %rax, -0x5a8(%rbp)
movq -0x158(%rbp), %rsi
movq -0x150(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5a8(%rbp), %rdi
callq 0x4574
leaq -0x5a8(%rbp), %rdi
movq %r13, %rsi
callq 0x38d29
movl %eax, %ebx
movq -0x5a8(%rbp), %rdi
leaq -0x598(%rbp), %rax
cmpq %rax, %rdi
je 0x301f5
callq 0x31d0
testb %bl, %bl
jne 0x3025e
movl $0x34, %edx
movq %r15, %rdi
leaq 0xaab8(%rip), %rsi      # 0x3acc0
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x158(%rbp), %rbx
callq 0x3040
movq %rax, %r14
movl (%rax), %r13d
movl $0x0, (%rax)
movq %rbx, %rdi
leaq -0x7e0(%rbp), %rsi
callq 0x3170
movsd %xmm0, -0xf0(%rbp)
cmpq %rbx, -0x7e0(%rbp)
je 0x318c0
movl (%r14), %eax
testl %eax, %eax
je 0x302ab
cmpl $0x22, %eax
jne 0x302ae
jmp 0x31908
movl %r13d, (%r14)
cmpb $0x6e, -0x29(%rbp)
leaq -0x29(%rbp), %r13
je 0x3013f
movl $0x16, %edx
movq %r15, %rdi
leaq 0xaeb1(%rip), %rsi      # 0x3b17c
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x138(%rbp), %rsi
callq 0x33c0
leaq -0x578(%rbp), %rax
movq %rax, -0x588(%rbp)
movq -0x138(%rbp), %rsi
movq -0x130(%rbp), %rdx
addq %rsi, %rdx
leaq -0x588(%rbp), %rdi
callq 0x4574
leaq -0x588(%rbp), %rdi
movq %r13, %rsi
callq 0x38d29
movl %eax, %ebx
movq -0x588(%rbp), %rdi
leaq -0x578(%rbp), %rax
cmpq %rax, %rdi
je 0x30372
callq 0x31d0
testb %bl, %bl
jne 0x303db
movl $0x34, %edx
movq %r15, %rdi
leaq 0xa93b(%rip), %rsi      # 0x3acc0
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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 -0x138(%rbp), %rbx
movl (%r14), %r13d
movl $0x0, (%r14)
movq %rbx, %rdi
leaq -0x7e0(%rbp), %rsi
callq 0x3170
movsd %xmm0, -0xe8(%rbp)
cmpq %rbx, -0x7e0(%rbp)
je 0x318e4
movl (%r14), %eax
testl %eax, %eax
je 0x30421
cmpl $0x22, %eax
jne 0x30424
jmp 0x31920
movl %r13d, (%r14)
cmpb $0x6e, -0x29(%rbp)
leaq -0x29(%rbp), %r13
je 0x302bc
movl $0x1f, %edx
movq %r15, %rdi
leaq 0xa970(%rip), %rsi      # 0x3adb1
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x33c0
leaq -0x1b8(%rbp), %rdi
movq %r13, %rsi
callq 0x38ed7
testb %al, %al
jne 0x3050c
movl $0x36, %edx
movq %r15, %rdi
leaq 0xab0c(%rip), %rsi      # 0x3afc2
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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 0x30432
movl $0x17, %edx
movq %r15, %rdi
leaq 0xa8e2(%rip), %rsi      # 0x3ae07
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x198(%rbp), %rsi
callq 0x33c0
leaq -0x198(%rbp), %rdi
movq %r13, %rsi
callq 0x39038
testb %al, %al
jne 0x305f0
movl $0x24, %edx
movq %r15, %rdi
leaq 0xa885(%rip), %rsi      # 0x3ae1f
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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 0x30516
movl $0x20, %edx
movq %r15, %rdi
leaq 0xa83b(%rip), %rsi      # 0x3ae44
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x1d8(%rbp), %rsi
callq 0x33c0
leaq -0x1d8(%rbp), %rdi
movq %r13, %rsi
callq 0x38ed7
testb %al, %al
jne 0x306d4
movl $0x35, %edx
movq %r15, %rdi
leaq 0xa753(%rip), %rsi      # 0x3add1
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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 0x305fa
movl -0x34(%rbp), %r14d
leaq -0x558(%rbp), %rax
movq %rax, -0x568(%rbp)
movq -0x238(%rbp), %rsi
movq -0x230(%rbp), %rdx
addq %rsi, %rdx
leaq -0x568(%rbp), %rdi
callq 0x4574
leaq -0x538(%rbp), %rax
movq %rax, -0x548(%rbp)
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
addq %rsi, %rdx
leaq -0x548(%rbp), %rdi
callq 0x4574
leaq -0x518(%rbp), %rax
movq %rax, -0x528(%rbp)
movq -0x218(%rbp), %rsi
movq -0x210(%rbp), %rdx
addq %rsi, %rdx
leaq -0x528(%rbp), %rdi
callq 0x4574
leaq -0x4f8(%rbp), %rax
movq %rax, -0x508(%rbp)
movq -0x1f8(%rbp), %rsi
movq -0x1f0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x508(%rbp), %rdi
callq 0x4574
leaq -0x4d8(%rbp), %rax
movq %rax, -0x4e8(%rbp)
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4e8(%rbp), %rdi
callq 0x4574
leaq -0x4b8(%rbp), %rax
movq %rax, -0x4c8(%rbp)
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4c8(%rbp), %rdi
callq 0x4574
leaq -0x498(%rbp), %rax
movq %rax, -0x4a8(%rbp)
movq -0x88(%rbp), %rsi
movq -0x80(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4a8(%rbp), %rdi
callq 0x4574
leaq -0x478(%rbp), %rax
movq %rax, -0x488(%rbp)
movq -0x1b8(%rbp), %rsi
movq -0x1b0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x488(%rbp), %rdi
callq 0x4574
leaq -0x458(%rbp), %rax
movq %rax, -0x468(%rbp)
movq -0x198(%rbp), %rsi
movq -0x190(%rbp), %rdx
addq %rsi, %rdx
leaq -0x468(%rbp), %rdi
callq 0x4574
leaq -0x638(%rbp), %rax
movq %rax, -0x648(%rbp)
movq -0x1d8(%rbp), %rsi
movq -0x1d0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x648(%rbp), %rbx
movq %rbx, %rdi
callq 0x4574
subq $0x8, %rsp
movsbl -0x2a(%rbp), %r9d
leaq -0x7e0(%rbp), %rdi
movl %r14d, %esi
leaq -0x568(%rbp), %rdx
leaq -0x548(%rbp), %rcx
leaq -0x528(%rbp), %r8
movsd -0xf8(%rbp), %xmm0
movsd -0xf0(%rbp), %xmm1
movsd -0xe8(%rbp), %xmm2
pushq %rbx
leaq -0x468(%rbp), %rax
pushq %rax
leaq -0x488(%rbp), %rax
pushq %rax
leaq -0x4a8(%rbp), %rax
pushq %rax
leaq -0x4c8(%rbp), %rax
pushq %rax
leaq -0x4e8(%rbp), %rax
pushq %rax
leaq -0x508(%rbp), %rax
pushq %rax
callq 0x79e0
addq $0x40, %rsp
movl -0x7d8(%rbp), %eax
movq -0xd0(%rbp), %rbx
movl %eax, 0x30(%rbx)
leaq 0x38(%rbx), %rdi
leaq -0x7d0(%rbp), %rsi
callq 0x30f0
leaq 0x58(%rbx), %rdi
leaq -0x7b0(%rbp), %rsi
callq 0x30f0
leaq 0x78(%rbx), %rdi
leaq -0x790(%rbp), %rsi
callq 0x30f0
leaq -0x7d0(%rbp), %rax
movups 0x60(%rax), %xmm0
movups %xmm0, 0x98(%rbx)
leaq 0xa8(%rbx), %rdi
movq -0x278(%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
movq -0x240(%rbp), %rax
movups (%rax), %xmm0
movups %xmm0, 0x190(%rbx)
leaq -0x7e0(%rbp), %rdi
callq 0x7e26
movq -0x648(%rbp), %rdi
leaq -0x638(%rbp), %rax
cmpq %rax, %rdi
je 0x30a10
callq 0x31d0
movq -0x468(%rbp), %rdi
leaq -0x458(%rbp), %rax
cmpq %rax, %rdi
je 0x30a28
callq 0x31d0
movq -0x488(%rbp), %rdi
leaq -0x478(%rbp), %rax
cmpq %rax, %rdi
je 0x30a40
callq 0x31d0
movq -0x4a8(%rbp), %rdi
leaq -0x498(%rbp), %rax
cmpq %rax, %rdi
je 0x30a58
callq 0x31d0
movq -0x4c8(%rbp), %rdi
leaq -0x4b8(%rbp), %rax
cmpq %rax, %rdi
je 0x30a70
callq 0x31d0
movq -0x4e8(%rbp), %rdi
leaq -0x4d8(%rbp), %rax
cmpq %rax, %rdi
je 0x30a88
callq 0x31d0
movq -0x508(%rbp), %rdi
leaq -0x4f8(%rbp), %rax
cmpq %rax, %rdi
je 0x30aa0
callq 0x31d0
movq -0x528(%rbp), %rdi
leaq -0x518(%rbp), %rax
cmpq %rax, %rdi
je 0x30ab8
callq 0x31d0
movq -0x548(%rbp), %rdi
leaq -0x538(%rbp), %rax
cmpq %rax, %rdi
je 0x30ad0
callq 0x31d0
movq -0x568(%rbp), %rdi
leaq -0x558(%rbp), %rax
cmpq %rax, %rdi
je 0x30ae8
callq 0x31d0
movb $0x73, -0x29(%rbp)
leaq -0xbe0(%rbp), %rdi
leaq 0xa699(%rip), %rsi      # 0x3b193
movl $0x10, %edx
callq 0x3050
movq -0xe0(%rbp), %rax
movq 0x18(%rax), %r14
cmpq -0x48(%rbp), %r14
je 0x30b36
leaq 0x28(%r14), %rsi
leaq -0xbe0(%rbp), %rdi
callq 0xe5ab
movq %r14, %rdi
callq 0x3140
movq %rax, %r14
cmpq -0x48(%rbp), %rax
jne 0x30b15
leaq -0xbe0(%rbp), %rdi
callq 0x32a0
jmp 0x2ec1b
movq -0x118(%rbp), %rax
movb (%rax), %al
movb %al, -0x2a(%rbp)
movb $0x73, -0x29(%rbp)
leaq -0x29(%rbp), %r13
movl $0x1c, %edx
movq %r15, %rdi
leaq 0xa139(%rip), %rsi      # 0x3aca3
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x178(%rbp), %rsi
callq 0x33c0
leaq -0x3f8(%rbp), %rax
movq %rax, -0x408(%rbp)
movq -0x178(%rbp), %rsi
movq -0x170(%rbp), %rdx
addq %rsi, %rdx
leaq -0x408(%rbp), %rdi
callq 0x4574
leaq -0x408(%rbp), %rdi
movq %r13, %rsi
callq 0x38d29
movl %eax, %ebx
movq -0x408(%rbp), %rdi
leaq -0x3f8(%rbp), %rax
cmpq %rax, %rdi
je 0x30c11
callq 0x31d0
testb %bl, %bl
jne 0x30c7a
movl $0x34, %edx
movq %r15, %rdi
leaq 0xa09c(%rip), %rsi      # 0x3acc0
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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 -0x178(%rbp), %rbx
callq 0x3040
movq %rax, %r14
movl (%rax), %r13d
movl $0x0, (%rax)
movq %rbx, %rdi
leaq -0x7e0(%rbp), %rsi
callq 0x3170
movsd %xmm0, -0xf8(%rbp)
cmpq %rbx, -0x7e0(%rbp)
je 0x318b4
movl (%r14), %eax
testl %eax, %eax
je 0x30cc7
cmpl $0x22, %eax
jne 0x30cca
jmp 0x318f0
movl %r13d, (%r14)
cmpb $0x6e, -0x29(%rbp)
leaq -0x29(%rbp), %r13
je 0x30b5b
movl $0x1a, %edx
movq %r15, %rdi
leaq 0xa47a(%rip), %rsi      # 0x3b161
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x158(%rbp), %rsi
callq 0x33c0
leaq -0x3d8(%rbp), %rax
movq %rax, -0x3e8(%rbp)
movq -0x158(%rbp), %rsi
movq -0x150(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3e8(%rbp), %rdi
callq 0x4574
leaq -0x3e8(%rbp), %rdi
movq %r13, %rsi
callq 0x38d29
movl %eax, %ebx
movq -0x3e8(%rbp), %rdi
leaq -0x3d8(%rbp), %rax
cmpq %rax, %rdi
je 0x30d8e
callq 0x31d0
testb %bl, %bl
jne 0x30df7
movl $0x34, %edx
movq %r15, %rdi
leaq 0x9f1f(%rip), %rsi      # 0x3acc0
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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 -0x158(%rbp), %rbx
movl (%r14), %r13d
movl $0x0, (%r14)
movq %rbx, %rdi
leaq -0x7e0(%rbp), %rsi
callq 0x3170
movsd %xmm0, -0xf0(%rbp)
cmpq %rbx, -0x7e0(%rbp)
je 0x318cc
movl (%r14), %eax
testl %eax, %eax
je 0x30e3d
cmpl $0x22, %eax
jne 0x30e40
jmp 0x31914
movl %r13d, (%r14)
cmpb $0x6e, -0x29(%rbp)
leaq -0x29(%rbp), %r13
je 0x30cd8
movl $0x16, %edx
movq %r15, %rdi
leaq 0xa31f(%rip), %rsi      # 0x3b17c
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x138(%rbp), %rsi
callq 0x33c0
leaq -0x3b8(%rbp), %rax
movq %rax, -0x3c8(%rbp)
movq -0x138(%rbp), %rsi
movq -0x130(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3c8(%rbp), %rdi
callq 0x4574
leaq -0x3c8(%rbp), %rdi
movq %r13, %rsi
callq 0x38d29
movl %eax, %ebx
movq -0x3c8(%rbp), %rdi
leaq -0x3b8(%rbp), %rax
cmpq %rax, %rdi
je 0x30f04
callq 0x31d0
testb %bl, %bl
jne 0x30f6d
movl $0x34, %edx
movq %r15, %rdi
leaq 0x9da9(%rip), %rsi      # 0x3acc0
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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 -0x138(%rbp), %rbx
movl (%r14), %r13d
movl $0x0, (%r14)
movq %rbx, %rdi
leaq -0x7e0(%rbp), %rsi
callq 0x3170
movsd %xmm0, -0xe8(%rbp)
cmpq %rbx, -0x7e0(%rbp)
je 0x318d8
movl (%r14), %eax
testl %eax, %eax
je 0x30fb3
cmpl $0x22, %eax
jne 0x30fb6
jmp 0x3192c
movl %r13d, (%r14)
cmpb $0x6e, -0x29(%rbp)
leaq -0x29(%rbp), %r13
je 0x30e4e
movl $0x1f, %edx
movq %r15, %rdi
leaq 0x9dde(%rip), %rsi      # 0x3adb1
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x33c0
leaq -0x1b8(%rbp), %rdi
movq %r13, %rsi
callq 0x38ed7
testb %al, %al
jne 0x3109e
movl $0x36, %edx
movq %r15, %rdi
leaq 0x9f7a(%rip), %rsi      # 0x3afc2
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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 0x30fc4
movl $0x1a, %edx
movq %r15, %rdi
leaq 0x9ddc(%rip), %rsi      # 0x3ae93
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x198(%rbp), %rsi
callq 0x33c0
leaq -0x198(%rbp), %rdi
movq %r13, %rsi
callq 0x39038
testb %al, %al
jne 0x31182
movl $0x24, %edx
movq %r15, %rdi
leaq 0x9cf3(%rip), %rsi      # 0x3ae1f
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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 0x310a8
movl $0x20, %edx
movq %r15, %rdi
leaq 0x9ca9(%rip), %rsi      # 0x3ae44
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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, %edx
movq %r12, %rdi
leaq -0x1d8(%rbp), %rsi
callq 0x33c0
leaq -0x1d8(%rbp), %rdi
movq %r13, %rsi
callq 0x38ed7
testb %al, %al
jne 0x31266
movl $0x35, %edx
movq %r15, %rdi
leaq 0x9bc1(%rip), %rsi      # 0x3add1
callq 0x3250
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %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 0x3118c
movl -0x34(%rbp), %r14d
leaq -0x398(%rbp), %rax
movq %rax, -0x3a8(%rbp)
movq -0x238(%rbp), %rsi
movq -0x230(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3a8(%rbp), %rdi
callq 0x4574
leaq -0x378(%rbp), %rax
movq %rax, -0x388(%rbp)
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
addq %rsi, %rdx
leaq -0x388(%rbp), %rdi
callq 0x4574
leaq -0x358(%rbp), %rax
movq %rax, -0x368(%rbp)
movq -0x218(%rbp), %rsi
movq -0x210(%rbp), %rdx
addq %rsi, %rdx
leaq -0x368(%rbp), %rdi
callq 0x4574
leaq -0x338(%rbp), %rax
movq %rax, -0x348(%rbp)
movq -0x1f8(%rbp), %rsi
movq -0x1f0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x348(%rbp), %rdi
callq 0x4574
leaq -0x318(%rbp), %rax
movq %rax, -0x328(%rbp)
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x328(%rbp), %rdi
callq 0x4574
leaq -0x2f8(%rbp), %rax
movq %rax, -0x308(%rbp)
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x308(%rbp), %rdi
callq 0x4574
leaq -0x2d8(%rbp), %rax
movq %rax, -0x2e8(%rbp)
movq -0x88(%rbp), %rsi
movq -0x80(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2e8(%rbp), %rdi
callq 0x4574
leaq -0x2b8(%rbp), %rax
movq %rax, -0x2c8(%rbp)
movq -0x1b8(%rbp), %rsi
movq -0x1b0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2c8(%rbp), %rdi
callq 0x4574
leaq -0x298(%rbp), %rax
movq %rax, -0x2a8(%rbp)
movq -0x198(%rbp), %rsi
movq -0x190(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2a8(%rbp), %rdi
callq 0x4574
leaq -0x618(%rbp), %rax
movq %rax, -0x628(%rbp)
movq -0x1d8(%rbp), %rsi
movq -0x1d0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x628(%rbp), %rbx
movq %rbx, %rdi
callq 0x4574
subq $0x8, %rsp
movsbl -0x2a(%rbp), %r9d
leaq -0x7e0(%rbp), %rdi
movl %r14d, %esi
leaq -0x3a8(%rbp), %rdx
leaq -0x388(%rbp), %rcx
leaq -0x368(%rbp), %r8
movsd -0xf8(%rbp), %xmm0
movsd -0xf0(%rbp), %xmm1
movsd -0xe8(%rbp), %xmm2
pushq %rbx
leaq -0x2a8(%rbp), %rax
pushq %rax
leaq -0x2c8(%rbp), %rax
pushq %rax
leaq -0x2e8(%rbp), %rax
pushq %rax
leaq -0x308(%rbp), %rax
pushq %rax
leaq -0x328(%rbp), %rax
pushq %rax
leaq -0x348(%rbp), %rax
pushq %rax
callq 0x7e40
addq $0x40, %rsp
movl -0x7d8(%rbp), %eax
movq -0xd0(%rbp), %rbx
movl %eax, 0x30(%rbx)
leaq 0x38(%rbx), %rdi
leaq -0x7d0(%rbp), %rsi
callq 0x30f0
leaq 0x58(%rbx), %rdi
leaq -0x7b0(%rbp), %rsi
callq 0x30f0
leaq 0x78(%rbx), %rdi
leaq -0x790(%rbp), %rsi
callq 0x30f0
leaq -0x7d0(%rbp), %rax
movups 0x60(%rax), %xmm0
movups %xmm0, 0x98(%rbx)
leaq 0xa8(%rbx), %rdi
movq -0x278(%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
movq -0x240(%rbp), %rax
movups (%rax), %xmm0
movups %xmm0, 0x190(%rbx)
leaq -0x7e0(%rbp), %rdi
callq 0x8276
movq -0x628(%rbp), %rdi
leaq -0x618(%rbp), %rax
cmpq %rax, %rdi
je 0x315a2
callq 0x31d0
movq -0x2a8(%rbp), %rdi
leaq -0x298(%rbp), %rax
cmpq %rax, %rdi
je 0x315ba
callq 0x31d0
movq -0x2c8(%rbp), %rdi
leaq -0x2b8(%rbp), %rax
cmpq %rax, %rdi
je 0x315d2
callq 0x31d0
movq -0x2e8(%rbp), %rdi
leaq -0x2d8(%rbp), %rax
cmpq %rax, %rdi
je 0x315ea
callq 0x31d0
movq -0x308(%rbp), %rdi
leaq -0x2f8(%rbp), %rax
cmpq %rax, %rdi
je 0x31602
callq 0x31d0
movq -0x328(%rbp), %rdi
leaq -0x318(%rbp), %rax
cmpq %rax, %rdi
je 0x3161a
callq 0x31d0
movq -0x348(%rbp), %rdi
leaq -0x338(%rbp), %rax
cmpq %rax, %rdi
je 0x31632
callq 0x31d0
movq -0x368(%rbp), %rdi
leaq -0x358(%rbp), %rax
cmpq %rax, %rdi
je 0x3164a
callq 0x31d0
movq -0x388(%rbp), %rdi
leaq -0x378(%rbp), %rax
cmpq %rax, %rdi
je 0x31662
callq 0x31d0
movq -0x3a8(%rbp), %rdi
leaq -0x398(%rbp), %rax
cmpq %rax, %rdi
je 0x3167a
callq 0x31d0
movb $0x73, -0x29(%rbp)
leaq -0x9e0(%rbp), %rdi
leaq 0x9b14(%rip), %rsi      # 0x3b1a0
movl $0x10, %edx
callq 0x3050
movq -0xd8(%rbp), %rax
movq 0x18(%rax), %r14
cmpq -0x40(%rbp), %r14
je 0x316c8
leaq 0x28(%r14), %rsi
leaq -0x9e0(%rbp), %rdi
callq 0xebbe
movq %r14, %rdi
callq 0x3140
movq %rax, %r14
cmpq -0x40(%rbp), %rax
jne 0x316a7
leaq -0x9e0(%rbp), %rdi
callq 0x32a0
jmp 0x2ed2e
movq 0x168e8(%rip), %rax     # 0x47fc8
movq (%rax), %rbx
movq 0x18(%rax), %r14
leaq -0x9d8(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, -0x9e0(%rbp,%rax)
callq 0x3190
movl $0xf8, %r15d
leaq -0x9e0(%rbp), %rdi
addq %r15, %rdi
callq 0x30d0
leaq -0xbd8(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, -0xbe0(%rbp,%rax)
callq 0x3190
leaq -0xbe0(%rbp), %rdi
addq %r15, %rdi
callq 0x30d0
movq -0x138(%rbp), %rdi
leaq -0x128(%rbp), %rax
cmpq %rax, %rdi
je 0x3175b
callq 0x31d0
movq -0x158(%rbp), %rdi
leaq -0x148(%rbp), %rax
cmpq %rax, %rdi
je 0x31773
callq 0x31d0
movq -0x178(%rbp), %rdi
leaq -0x168(%rbp), %rax
cmpq %rax, %rdi
je 0x3178b
callq 0x31d0
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %rax
cmpq %rax, %rdi
je 0x317a3
callq 0x31d0
movq -0x668(%rbp), %rdi
leaq -0x658(%rbp), %rax
cmpq %rax, %rdi
je 0x317bb
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x317cd
callq 0x31d0
movq -0x198(%rbp), %rdi
leaq -0x188(%rbp), %rax
cmpq %rax, %rdi
je 0x317e5
callq 0x31d0
movq -0x1b8(%rbp), %rdi
leaq -0x1a8(%rbp), %rax
cmpq %rax, %rdi
je 0x317fd
callq 0x31d0
movq -0x1d8(%rbp), %rdi
leaq -0x1c8(%rbp), %rax
cmpq %rax, %rdi
je 0x31815
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x3182a
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x31842
callq 0x31d0
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x3185a
callq 0x31d0
movq -0x1f8(%rbp), %rdi
leaq -0x1e8(%rbp), %rax
cmpq %rax, %rdi
je 0x31872
callq 0x31d0
movq -0x218(%rbp), %rdi
leaq -0x208(%rbp), %rax
cmpq %rax, %rdi
je 0x3188a
callq 0x31d0
movq -0x238(%rbp), %rdi
leaq -0x228(%rbp), %rax
cmpq %rax, %rdi
je 0x318a2
callq 0x31d0
addq $0xbb8, %rsp            # imm = 0xBB8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x98f7(%rip), %rdi      # 0x3b1b2
callq 0x3110
leaq 0x98eb(%rip), %rdi      # 0x3b1b2
callq 0x3110
leaq 0x98df(%rip), %rdi      # 0x3b1b2
callq 0x3110
leaq 0x98d3(%rip), %rdi      # 0x3b1b2
callq 0x3110
leaq 0x98c7(%rip), %rdi      # 0x3b1b2
callq 0x3110
leaq 0x98bb(%rip), %rdi      # 0x3b1b2
callq 0x32b0
leaq 0x98af(%rip), %rdi      # 0x3b1b2
callq 0x3110
leaq 0x98a3(%rip), %rdi      # 0x3b1b2
callq 0x32b0
leaq 0x9897(%rip), %rdi      # 0x3b1b2
callq 0x32b0
leaq 0x988b(%rip), %rdi      # 0x3b1b2
callq 0x32b0
leaq 0x987f(%rip), %rdi      # 0x3b1b2
callq 0x32b0
leaq 0x9873(%rip), %rdi      # 0x3b1b2
callq 0x32b0
movq %rax, %rbx
jmp 0x31b1b
movq %rax, %rbx
jmp 0x31ad8
movq %rax, %rbx
jmp 0x31bc3
movq %rax, %rbx
jmp 0x31bdb
movq %rax, %rbx
jmp 0x31b7b
movq %rax, %rbx
jmp 0x31bab
jmp 0x31da1
movq %rax, %rbx
jmp 0x31a90
movq %rax, %rbx
jmp 0x31bf3
movq %rax, %rbx
jmp 0x31a48
movq %rax, %rbx
jmp 0x31aa8
jmp 0x31da1
movq %rax, %rbx
jmp 0x31a30
movq %rax, %rbx
jmp 0x31b4b
movq %rax, %rbx
jmp 0x31a60
movq %rax, %rbx
jmp 0x31a18
movq %rax, %rbx
jmp 0x31b33
movq %rax, %rbx
jmp 0x31b93
movq %rax, %rbx
jmp 0x31b63
movq %rax, %rbx
jmp 0x31a78
movq %rax, %rbx
jmp 0x31af0
movq %rax, %rbx
jmp 0x31ac0
movq %rax, %rbx
movq 0x165d3(%rip), %rax     # 0x47fc8
movq (%rax), %r14
movq 0x18(%rax), %r15
jmp 0x31dda
movq %rax, %rbx
jmp 0x31e02
movq %rax, %rbx
leaq -0x7e0(%rbp), %rdi
callq 0x8276
movq -0x628(%rbp), %rdi
leaq -0x618(%rbp), %rax
cmpq %rax, %rdi
je 0x31a30
callq 0x31d0
movq -0x2a8(%rbp), %rdi
leaq -0x298(%rbp), %rax
cmpq %rax, %rdi
je 0x31a48
callq 0x31d0
movq -0x2c8(%rbp), %rdi
leaq -0x2b8(%rbp), %rax
cmpq %rax, %rdi
je 0x31a60
callq 0x31d0
movq -0x2e8(%rbp), %rdi
leaq -0x2d8(%rbp), %rax
cmpq %rax, %rdi
je 0x31a78
callq 0x31d0
movq -0x308(%rbp), %rdi
leaq -0x2f8(%rbp), %rax
cmpq %rax, %rdi
je 0x31a90
callq 0x31d0
movq -0x328(%rbp), %rdi
leaq -0x318(%rbp), %rax
cmpq %rax, %rdi
je 0x31aa8
callq 0x31d0
movq -0x348(%rbp), %rdi
leaq -0x338(%rbp), %rax
cmpq %rax, %rdi
je 0x31ac0
callq 0x31d0
movq -0x368(%rbp), %rdi
leaq -0x358(%rbp), %rax
cmpq %rax, %rdi
je 0x31ad8
callq 0x31d0
movq -0x388(%rbp), %rdi
leaq -0x378(%rbp), %rax
cmpq %rax, %rdi
je 0x31af0
callq 0x31d0
movq -0x3a8(%rbp), %rdi
leaq -0x398(%rbp), %rax
cmpq %rax, %rdi
je 0x31da4
jmp 0x31d66
movq %rax, %rbx
leaq -0x7e0(%rbp), %rdi
callq 0x7e26
movq -0x648(%rbp), %rdi
leaq -0x638(%rbp), %rax
cmpq %rax, %rdi
je 0x31b33
callq 0x31d0
movq -0x468(%rbp), %rdi
leaq -0x458(%rbp), %rax
cmpq %rax, %rdi
je 0x31b4b
callq 0x31d0
movq -0x488(%rbp), %rdi
leaq -0x478(%rbp), %rax
cmpq %rax, %rdi
je 0x31b63
callq 0x31d0
movq -0x4a8(%rbp), %rdi
leaq -0x498(%rbp), %rax
cmpq %rax, %rdi
je 0x31b7b
callq 0x31d0
movq -0x4c8(%rbp), %rdi
leaq -0x4b8(%rbp), %rax
cmpq %rax, %rdi
je 0x31b93
callq 0x31d0
movq -0x4e8(%rbp), %rdi
leaq -0x4d8(%rbp), %rax
cmpq %rax, %rdi
je 0x31bab
callq 0x31d0
movq -0x508(%rbp), %rdi
leaq -0x4f8(%rbp), %rax
cmpq %rax, %rdi
je 0x31bc3
callq 0x31d0
movq -0x528(%rbp), %rdi
leaq -0x518(%rbp), %rax
cmpq %rax, %rdi
je 0x31bdb
callq 0x31d0
movq -0x548(%rbp), %rdi
leaq -0x538(%rbp), %rax
cmpq %rax, %rdi
je 0x31bf3
callq 0x31d0
movq -0x568(%rbp), %rdi
leaq -0x558(%rbp), %rax
cmpq %rax, %rdi
je 0x31da4
jmp 0x31d66
jmp 0x31da1
jmp 0x31da1
jmp 0x31ce0
movq %rax, %rbx
movq -0x588(%rbp), %rdi
leaq -0x578(%rbp), %rax
cmpq %rax, %rdi
je 0x31da4
jmp 0x31d66
movq %rax, %rbx
movq -0x3c8(%rbp), %rdi
leaq -0x3b8(%rbp), %rax
cmpq %rax, %rdi
je 0x31da4
jmp 0x31d66
movq %rax, %rbx
movq -0x3e8(%rbp), %rdi
leaq -0x3d8(%rbp), %rax
cmpq %rax, %rdi
je 0x31da4
jmp 0x31d66
movq %rax, %rbx
movq -0x5a8(%rbp), %rdi
leaq -0x598(%rbp), %rax
cmpq %rax, %rdi
je 0x31da4
jmp 0x31d66
movq %rax, %rbx
movq -0x5c8(%rbp), %rdi
leaq -0x5b8(%rbp), %rax
cmpq %rax, %rdi
je 0x31da4
jmp 0x31d66
movq %rax, %rbx
movq -0x408(%rbp), %rdi
leaq -0x3f8(%rbp), %rax
cmpq %rax, %rdi
je 0x31da4
jmp 0x31d66
jmp 0x31ce0
jmp 0x31ce0
jmp 0x31ce0
jmp 0x31ce0
movq %rax, %rbx
cmpl $0x0, (%r14)
jne 0x31da4
movl %r13d, (%r14)
jmp 0x31da4
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
movq %rax, %rbx
movq -0x5e8(%rbp), %rdi
leaq -0x5d8(%rbp), %rax
cmpq %rax, %rdi
je 0x31da4
jmp 0x31d66
movq %rax, %rbx
movq -0x428(%rbp), %rdi
leaq -0x418(%rbp), %rax
cmpq %rax, %rdi
je 0x31da4
jmp 0x31d66
movq %rax, %rbx
movq -0x448(%rbp), %rdi
leaq -0x438(%rbp), %rax
cmpq %rax, %rdi
je 0x31da4
jmp 0x31d66
movq %rax, %rbx
movq -0x608(%rbp), %rdi
leaq -0x5f8(%rbp), %rax
cmpq %rax, %rdi
je 0x31da4
callq 0x31d0
jmp 0x31da4
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
jmp 0x31da1
movq %rax, %rbx
movq 0x1621d(%rip), %rax     # 0x47fc8
movq (%rax), %r14
movq 0x18(%rax), %r15
leaq -0x9d8(%rbp), %rdi
movq %r14, -0x8(%rdi)
movq -0x18(%r14), %rax
movq %r15, -0x9e0(%rbp,%rax)
callq 0x3190
leaq -0x8e8(%rbp), %rdi
callq 0x30d0
leaq -0xbd8(%rbp), %rdi
movq %r14, -0x8(%rdi)
movq -0x18(%r14), %rax
movq %r15, -0xbe0(%rbp,%rax)
callq 0x3190
leaq -0xae8(%rbp), %rdi
callq 0x30d0
movq -0x138(%rbp), %rdi
leaq -0x128(%rbp), %rax
cmpq %rax, %rdi
je 0x31e1a
callq 0x31d0
movq -0x158(%rbp), %rdi
leaq -0x148(%rbp), %rax
cmpq %rax, %rdi
je 0x31e32
callq 0x31d0
movq -0x178(%rbp), %rdi
leaq -0x168(%rbp), %rax
cmpq %rax, %rdi
je 0x31e4a
callq 0x31d0
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %rax
cmpq %rax, %rdi
je 0x31e62
callq 0x31d0
movq -0x668(%rbp), %rdi
leaq -0x658(%rbp), %rax
cmpq %rax, %rdi
je 0x31e7a
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x31e8c
callq 0x31d0
movq -0x198(%rbp), %rdi
leaq -0x188(%rbp), %rax
cmpq %rax, %rdi
je 0x31ea4
callq 0x31d0
movq -0x1b8(%rbp), %rdi
leaq -0x1a8(%rbp), %rax
cmpq %rax, %rdi
je 0x31ebc
callq 0x31d0
movq -0x1d8(%rbp), %rdi
leaq -0x1c8(%rbp), %rax
cmpq %rax, %rdi
je 0x31ed4
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x31ee9
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x31f01
callq 0x31d0
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x31f19
callq 0x31d0
movq -0x1f8(%rbp), %rdi
leaq -0x1e8(%rbp), %rax
cmpq %rax, %rdi
je 0x31f31
callq 0x31d0
movq -0x218(%rbp), %rdi
leaq -0x208(%rbp), %rax
cmpq %rax, %rdi
je 0x31f49
callq 0x31d0
movq -0x238(%rbp), %rdi
leaq -0x228(%rbp), %rax
cmpq %rax, %rdi
je 0x31f61
callq 0x31d0
movq %rbx, %rdi
callq 0x3380