// File: /workspace/github_cpp_makefile_star2_O1/nataly-enne[P]pet-fera/pet_fera_editar.cpp
// Function: editar(std::map<int, REPTIL_NATIVO, std::less<int>, std::allocator<std::pair<int const, REPTIL_NATIVO>>>&, std::map<int, REPTIL_EXOTICO, std::less<int>, std::allocator<std::pair<int const, REPTIL_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, REPTIL_NATIVO> &repteis_nat, map <int, REPTIL_EXOTICO> &repteis_ex, map <int, VETERINARIO> vets, map <int, TRATADOR> tratadores){
	char resp, op, sucesso, sexo, tipo_animal, tipo = 'r';;
	int id_buscado;
	double tamanho;
	bool venenoso, check;
	string classe, nome_cientifico, dieta, veterinario, tratador, nome_batismo, autorizacao, autorizacao_IBAMA, origem, tipo_veneno, nome, id_string, sexo_string, tamanho_string, venenoso_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 = repteis_nat.find(id_buscado);
			
				if(result != repteis_nat.end()){
					cout << "ID existe!" << endl;

					classe = "Reptilia";

					// 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');


					do{
						cout << "Digite 0 - não venenoso / 1 - venenoso: " << endl;
						cin >> venenoso_string;
						if(!verifica_venenoso(venenoso_string,sucesso)){
							cout << "ERRO: Digite apenas 0 para não venenoso OU 1 para venenoso!" << endl << endl;
						}
						else{
							stringstream ss(venenoso_string);
							ss >> venenoso;
							sucesso = 's';
							if(venenoso){
								cout << "Digite o tipo do veneno: " << endl;
								cin.ignore();
								getline(cin, tipo_veneno); 
							}
						}
					}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(venenoso, 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');

					
					
					// 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 = REPTIL_NATIVO(id_buscado, classe, nome, nome_cientifico, sexo, tamanho, dieta, veterinario, tratador, nome_batismo, venenoso, tipo_veneno, autorizacao_IBAMA, origem, autorizacao);
					sucesso = 's';
				}
				else{
					cout << "Animal não cadastrado!!" << endl;
					sucesso = 'n';
				}
				if(sucesso == 's'){
					nativos.open("repteis_nat.txt");
					for(auto it = repteis_nat.begin(); it != repteis_nat.end(); it++){
						nativos << (*it).second;
					}
					nativos.close();
				}

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

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

					classe = "Reptillia";

					// 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');


					do{
						cout << "Digite 0 - não venenoso / 1 - venenoso: " << endl;
						cin >> venenoso_string;
						if(!verifica_venenoso(venenoso_string,sucesso)){
							cout << "ERRO: Digite apenas 0 para não venenoso OU 1 para venenoso!" << endl << endl;
						}
						else{
							stringstream ss(venenoso_string);
							ss >> venenoso;
							sucesso = 's';
							if(venenoso){
								cout << "Digite o tipo do veneno: " << endl;
								cin.ignore();
								getline(cin, tipo_veneno); 
							}
						}
					}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(venenoso, 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');

					
					
					// 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 = REPTIL_EXOTICO(id_buscado, classe, nome, nome_cientifico, sexo, tamanho, dieta, veterinario, tratador, nome_batismo, venenoso, tipo_veneno, autorizacao_IBAMA, origem, autorizacao);
					sucesso = 's';
				}
				else{
					cout << "Animal não cadastrado!!" << endl;
					sucesso = 'n';
				}
				if(sucesso == 's'){
					exoticos.open("repteis_ex.txt");
					for(auto it = repteis_ex.begin(); it != repteis_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 $0xbc8, %rsp            # imm = 0xBC8
movq %rcx, -0x250(%rbp)
movq %rdx, -0x258(%rbp)
movq %rsi, -0xe0(%rbp)
movq %rdi, -0xd8(%rbp)
leaq -0x1f8(%rbp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x1d8(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x1b8(%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 -0x198(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x178(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x158(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x268(%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 -0x648(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0xf8(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x138(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x118(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0xbe8(%rbp), %rdi
callq 0x3360
leaq -0x9e8(%rbp), %rdi
callq 0x3360
movq -0xe0(%rbp), %rax
leaq 0x8(%rax), %rbx
leaq -0x7e8(%rbp), %rax
leaq 0x80(%rax), %rcx
movq %rcx, -0x50(%rbp)
leaq 0xa0(%rax), %rcx
movq %rcx, -0x248(%rbp)
leaq 0xc0(%rax), %rcx
movq %rcx, -0x240(%rbp)
leaq 0xe0(%rax), %rcx
movq %rcx, -0x238(%rbp)
leaq 0x108(%rax), %rcx
movq %rcx, -0x230(%rbp)
leaq 0x128(%rax), %rcx
movq %rcx, -0x228(%rbp)
leaq 0x148(%rax), %rcx
movq %rcx, -0x220(%rbp)
addq $0x170, %rax            # imm = 0x170
movq %rax, -0x218(%rbp)
movq -0xd8(%rbp), %rax
leaq 0x8(%rax), %r14
movq 0x1cb20(%rip), %r12     # 0x47fd0
movq 0x1cb29(%rip), %r15     # 0x47fe0
movq %rbx, -0x48(%rbp)
movq %r14, -0x210(%rbp)
movl $0x2f, %edx
movq %r12, %rdi
leaq 0xfd66(%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 -0x31(%rbp), %rsi
callq 0x3280
movzbl -0x31(%rbp), %eax
cmpl $0x65, %eax
je 0x2ca03
cmpl $0x6e, %eax
je 0x2b5e5
movl $0x25, %edx
movq %r12, %rdi
leaq 0xfce2(%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 0xf085(%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 -0x32(%rbp), %rsi
callq 0x3280
cmpb $0x73, -0x32(%rbp)
je 0x2e000
cmpb $0x73, -0x2c(%rbp)
je 0x2b4c2
jmp 0x2e000
movl $0x15, %edx
movq %r12, %rdi
leaq 0xfc73(%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 -0xd8(%rbp), %rax
movq 0x10(%rax), %rcx
movq %r14, %rax
testq %rcx, %rcx
je 0x2b65d
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 0x2b646
movq %r14, %rcx
cmpq %r14, %rax
je 0x2b672
movl -0x30(%rbp), %ecx
cmpl 0x20(%rax), %ecx
cmovlq %r14, %rax
movq %rax, %rcx
movq %rcx, -0x40(%rbp)
cmpq %r14, %rcx
je 0x2de21
movl $0xa, %edx
movq %r12, %rdi
leaq 0xfbef(%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 -0x200(%rbp), %rdx
movl $0x8, %r8d
leaq -0x208(%rbp), %rdi
xorl %esi, %esi
leaq 0xf995(%rip), %rcx      # 0x3b06d
callq 0x3300
movl $0xe, %edx
movq %r12, %rdi
leaq 0xf097(%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
jne 0x2b7bb
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xf02e(%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 -0x68(%rbp), %rbx
testq %rbx, %rbx
je 0x2b7e1
movq -0x70(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x32c0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2b7cb
cmpb $0x6e, -0x29(%rbp)
leaq -0x7e8(%rbp), %r14
je 0x2b6dd
movl $0x1a, %edx
movq %r12, %rdi
leaq 0xf355(%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 -0x1e8(%rbp), %rsi
callq 0x33c0
leaq -0x1e8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3844d
testb %al, %al
jne 0x2b8ce
movl $0x35, %edx
movq %r12, %rdi
leaq 0xf2fa(%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 0x2b7f2
movl $0x10, %edx
movq %r12, %rdi
leaq 0xf2c0(%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 -0x1c8(%rbp), %rsi
callq 0x33c0
leaq -0x1c8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38df8
testb %al, %al
jne 0x2b9b4
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xee35(%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 0x2b8d8
movl $0x29, %edx
movq %r12, %rdi
leaq 0xf6a9(%rip), %rsi      # 0x3b076
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 -0x128(%rbp), %rsi
callq 0x3270
leaq -0x5e8(%rbp), %rax
movq %rax, -0x5f8(%rbp)
movq -0x128(%rbp), %rsi
movq -0x120(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5f8(%rbp), %rdi
callq 0x4574
leaq -0x5f8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x39623
movl %eax, %ebx
movq -0x5f8(%rbp), %rdi
leaq -0x5e8(%rbp), %rax
cmpq %rax, %rdi
je 0x2ba5e
callq 0x31d0
testb %bl, %bl
je 0x2bb14
movq %r14, %rdi
leaq -0x128(%rbp), %rsi
movl $0x18, %edx
callq 0x3310
movq %r14, %rdi
leaq -0x2a(%rbp), %rsi
callq 0x31b0
movb $0x73, -0x29(%rbp)
cmpb $0x1, -0x2a(%rbp)
jne 0x2bafa
movl $0x19, %edx
movq %r12, %rdi
leaq 0xf63e(%rip), %rsi      # 0x3b0dd
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 -0x278(%rbp), %rsi
callq 0x33c0
movq %r14, %rdi
movq 0x1c4ac(%rip), %rsi     # 0x47fb0
callq 0x3160
movq -0x50(%rbp), %rdi
callq 0x30d0
jmp 0x2bb7a
movl $0x3c, %edx
movq %r12, %rdi
leaq 0xf57d(%rip), %rsi      # 0x3b0a0
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 0x2b9be
movl $0x1e, %edx
movq %r12, %rdi
leaq 0xf025(%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 0x2bc60
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xeb89(%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 -0x5c8(%rbp), %rax
movq %rax, -0x5d8(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5d8(%rbp), %rdi
callq 0x4574
movq -0x258(%rbp), %rdi
leaq -0x5d8(%rbp), %rsi
callq 0x36dd9
movl %eax, %ebx
movq -0x5d8(%rbp), %rdi
leaq -0x5c8(%rbp), %rax
cmpq %rax, %rdi
je 0x2bcb8
callq 0x31d0
testb %bl, %bl
jne 0x2bd24
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 0xeee4(%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 0x2bb84
movl $0x1b, %edx
movq %r12, %rdi
leaq 0xeebd(%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 0x2be0a
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xe9df(%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
movb -0x2a(%rbp), %bl
leaq -0x5a8(%rbp), %rax
movq %rax, -0x5b8(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5b8(%rbp), %rdi
callq 0x4574
movzbl %bl, %edi
movq -0x250(%rbp), %rsi
leaq -0x5b8(%rbp), %rdx
movl $0x72, %ecx
callq 0x36e7a
movl %eax, %ebx
movq -0x5b8(%rbp), %rdi
leaq -0x5a8(%rbp), %rax
cmpq %rax, %rdi
je 0x2be6d
callq 0x31d0
testb %bl, %bl
jne 0x2bf07
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 0xed6a(%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 0x2bd2e
movl $0x1a, %edx
movq %r12, %rdi
leaq 0xed28(%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 0x2bfed
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xe7fc(%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 0x2c019
movq -0x90(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x32c0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2c003
cmpb $0x6e, -0x29(%rbp)
je 0x2bf11
movl $0x19, %edx
movq %r12, %rdi
leaq 0xec31(%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 -0x108(%rbp), %rsi
callq 0x33c0
movq -0x100(%rbp), %rbx
testq %rbx, %rbx
je 0x2c0b1
movq -0x108(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x33d0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2c09b
leaq -0x108(%rbp), %rbx
movq %rbx, %rdi
leaq 0xebbb(%rip), %rsi      # 0x3ac7d
callq 0x30c0
testl %eax, %eax
je 0x2c155
movq %rbx, %rdi
leaq 0xeba6(%rip), %rsi      # 0x3ac7f
callq 0x30c0
testl %eax, %eax
je 0x2c155
movb $0x6e, -0x29(%rbp)
movl $0x21, %edx
movq %r12, %rdi
leaq 0xeb8c(%rip), %rsi      # 0x3ac81
callq 0x3250
leaq -0x7e8(%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 0x2c16c
movq -0x108(%rbp), %rax
movb (%rax), %al
movb %al, -0x2b(%rbp)
movb $0x73, -0x29(%rbp)
leaq -0x7e8(%rbp), %r14
cmpb $0x6e, -0x29(%rbp)
je 0x2c023
movl $0x1c, %edx
movq %r12, %rdi
leaq 0xeb1e(%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 -0x148(%rbp), %rsi
callq 0x33c0
leaq -0x588(%rbp), %rax
movq %rax, -0x598(%rbp)
movq -0x148(%rbp), %rsi
movq -0x140(%rbp), %rdx
addq %rsi, %rdx
leaq -0x598(%rbp), %rdi
callq 0x4574
leaq -0x598(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38f49
movl %eax, %ebx
movq -0x598(%rbp), %rdi
leaq -0x588(%rbp), %rax
cmpq %rax, %rdi
je 0x2c22d
callq 0x31d0
testb %bl, %bl
jne 0x2c297
movl $0x34, %edx
movq %r12, %rdi
leaq 0xea80(%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 -0x148(%rbp), %r13
callq 0x3040
movq %rax, %rbx
movq %r14, %rsi
movl (%rax), %r14d
movl $0x0, (%rax)
movq %r13, %rdi
callq 0x3170
movsd %xmm0, -0xe8(%rbp)
cmpq %r13, -0x7e8(%rbp)
je 0x2e1e7
movl (%rbx), %eax
testl %eax, %eax
je 0x2c2df
cmpl $0x22, %eax
jne 0x2c2e2
jmp 0x2e1ff
movl %r14d, (%rbx)
cmpb $0x6e, -0x29(%rbp)
leaq -0x7e8(%rbp), %r14
je 0x2c176
movl $0x1f, %edx
movq %r12, %rdi
leaq 0xeaaf(%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 -0x188(%rbp), %rsi
callq 0x33c0
leaq -0x188(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x391c3
testb %al, %al
jne 0x2c3cf
movl $0x36, %edx
movq %r12, %rdi
leaq 0xec4a(%rip), %rsi      # 0x3afc2
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 0x2c2f3
movl $0x17, %edx
movq %r12, %rdi
leaq 0xea1f(%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 -0x168(%rbp), %rsi
callq 0x33c0
leaq -0x168(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x39389
testb %al, %al
jne 0x2c4b5
movl $0x24, %edx
movq %r12, %rdi
leaq 0xe9c1(%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 0x2c3d9
movl $0x20, %edx
movq %r12, %rdi
leaq 0xe976(%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 -0x1a8(%rbp), %rsi
callq 0x33c0
leaq -0x1a8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x391c3
testb %al, %al
jne 0x2c59b
movl $0x35, %edx
movq %r12, %rdi
leaq 0xe88d(%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 0x2c4bf
movl -0x30(%rbp), %ebx
leaq -0x568(%rbp), %rax
movq %rax, -0x578(%rbp)
movq -0x208(%rbp), %rsi
movq -0x200(%rbp), %rdx
addq %rsi, %rdx
leaq -0x578(%rbp), %rdi
callq 0x4574
leaq -0x548(%rbp), %rax
movq %rax, -0x558(%rbp)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
leaq -0x558(%rbp), %rdi
callq 0x4574
leaq -0x528(%rbp), %rax
movq %rax, -0x538(%rbp)
movq -0x1e8(%rbp), %rsi
movq -0x1e0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x538(%rbp), %rdi
callq 0x4574
leaq -0x508(%rbp), %rax
movq %rax, -0x518(%rbp)
movq -0x1c8(%rbp), %rsi
movq -0x1c0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x518(%rbp), %rdi
callq 0x4574
leaq -0x4e8(%rbp), %rax
movq %rax, -0x4f8(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4f8(%rbp), %rdi
callq 0x4574
leaq -0x4c8(%rbp), %rax
movq %rax, -0x4d8(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4d8(%rbp), %rdi
callq 0x4574
leaq -0x4a8(%rbp), %rax
movq %rax, -0x4b8(%rbp)
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4b8(%rbp), %rdi
callq 0x4574
movb -0x2a(%rbp), %r13b
leaq -0x488(%rbp), %rax
movq %rax, -0x498(%rbp)
movq -0x278(%rbp), %rsi
movq -0x270(%rbp), %rdx
addq %rsi, %rdx
leaq -0x498(%rbp), %rdi
callq 0x4574
leaq -0x468(%rbp), %rax
movq %rax, -0x478(%rbp)
movq -0x188(%rbp), %rsi
movq -0x180(%rbp), %rdx
addq %rsi, %rdx
leaq -0x478(%rbp), %rdi
callq 0x4574
movl %ebx, -0x38(%rbp)
leaq -0x448(%rbp), %rax
movq %rax, -0x458(%rbp)
movq -0x168(%rbp), %rsi
movq -0x160(%rbp), %rdx
addq %rsi, %rdx
leaq -0x458(%rbp), %rdi
callq 0x4574
leaq -0x628(%rbp), %rax
movq %rax, -0x638(%rbp)
movq -0x1a8(%rbp), %rsi
movq -0x1a0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x638(%rbp), %rbx
movq %rbx, %rdi
callq 0x4574
subq $0x8, %rsp
movzbl %r13b, %eax
movsbl -0x2b(%rbp), %r9d
movq %r14, %rdi
movl -0x38(%rbp), %esi
leaq -0x578(%rbp), %rdx
leaq -0x558(%rbp), %rcx
leaq -0x538(%rbp), %r8
movsd -0xe8(%rbp), %xmm0
pushq %rbx
leaq -0x458(%rbp), %r10
pushq %r10
leaq -0x478(%rbp), %r10
pushq %r10
leaq -0x498(%rbp), %r10
pushq %r10
pushq %rax
leaq -0x4b8(%rbp), %rax
pushq %rax
leaq -0x4d8(%rbp), %rax
pushq %rax
leaq -0x4f8(%rbp), %rax
pushq %rax
leaq -0x518(%rbp), %rax
pushq %rax
callq 0x7000
addq $0x50, %rsp
movl -0x7e0(%rbp), %eax
movq -0x40(%rbp), %rbx
movl %eax, 0x30(%rbx)
leaq 0x38(%rbx), %rdi
leaq -0x7d8(%rbp), %rsi
callq 0x30f0
leaq 0x58(%rbx), %rdi
leaq -0x7b8(%rbp), %rsi
callq 0x30f0
leaq 0x78(%rbx), %rdi
leaq -0x798(%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 -0x248(%rbp), %rsi
callq 0x30f0
leaq 0xe8(%rbx), %rdi
movq -0x240(%rbp), %rsi
callq 0x30f0
leaq 0x108(%rbx), %rdi
movq -0x238(%rbp), %rsi
callq 0x30f0
leaq 0x130(%rbx), %rdi
movq -0x230(%rbp), %rsi
callq 0x30f0
leaq 0x150(%rbx), %rdi
movq -0x228(%rbp), %rsi
callq 0x30f0
leaq 0x170(%rbx), %rdi
movq -0x220(%rbp), %rsi
callq 0x30f0
movb -0x680(%rbp), %al
movb %al, 0x190(%rbx)
leaq 0x198(%rbx), %rdi
movq -0x218(%rbp), %rsi
callq 0x30f0
movq %r14, %rdi
callq 0x74d0
movq -0x638(%rbp), %rdi
leaq -0x628(%rbp), %rax
cmpq %rax, %rdi
je 0x2c905
callq 0x31d0
movq -0x458(%rbp), %rdi
leaq -0x448(%rbp), %rax
cmpq %rax, %rdi
movq -0x210(%rbp), %r14
je 0x2c924
callq 0x31d0
movq -0x478(%rbp), %rdi
leaq -0x468(%rbp), %rax
cmpq %rax, %rdi
je 0x2c93c
callq 0x31d0
movq -0x498(%rbp), %rdi
leaq -0x488(%rbp), %rax
cmpq %rax, %rdi
je 0x2c954
callq 0x31d0
movq -0x4b8(%rbp), %rdi
leaq -0x4a8(%rbp), %rax
cmpq %rax, %rdi
je 0x2c96c
callq 0x31d0
movq -0x4d8(%rbp), %rdi
leaq -0x4c8(%rbp), %rax
cmpq %rax, %rdi
je 0x2c984
callq 0x31d0
movq -0x4f8(%rbp), %rdi
leaq -0x4e8(%rbp), %rax
cmpq %rax, %rdi
je 0x2c99c
callq 0x31d0
movq -0x518(%rbp), %rdi
leaq -0x508(%rbp), %rax
cmpq %rax, %rdi
je 0x2c9b4
callq 0x31d0
movq -0x538(%rbp), %rdi
leaq -0x528(%rbp), %rax
cmpq %rax, %rdi
je 0x2c9cc
callq 0x31d0
movq -0x558(%rbp), %rdi
leaq -0x548(%rbp), %rax
cmpq %rax, %rdi
je 0x2c9e4
callq 0x31d0
movq -0x578(%rbp), %rdi
leaq -0x568(%rbp), %rax
cmpq %rax, %rdi
je 0x2c9fc
callq 0x31d0
movb $0x73, %bl
jmp 0x2de5f
movl $0x15, %edx
movq %r12, %rdi
leaq 0xe855(%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 %rbx, %rax
testq %rcx, %rcx
je 0x2ca7b
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 0x2ca64
movq %rbx, %rcx
cmpq %rbx, %rax
je 0x2ca90
movl -0x30(%rbp), %ecx
cmpl 0x20(%rax), %ecx
cmovlq %rbx, %rax
movq %rax, %rcx
movq %rcx, -0x40(%rbp)
cmpq %rbx, %rcx
je 0x2df09
movl $0xa, %edx
movq %r12, %rdi
leaq 0xe7d1(%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 -0x200(%rbp), %rdx
movl $0x9, %r8d
leaq -0x208(%rbp), %rdi
xorl %esi, %esi
leaq 0xe7e9(%rip), %rcx      # 0x3b2df
callq 0x3300
movl $0xe, %edx
movq %r12, %rdi
leaq 0xdc79(%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
jne 0x2cbd9
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xdc10(%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 -0x68(%rbp), %rbx
testq %rbx, %rbx
je 0x2cbff
movq -0x70(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x32c0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2cbe9
cmpb $0x6e, -0x29(%rbp)
leaq -0x7e8(%rbp), %r14
je 0x2cafb
movl $0x1a, %edx
movq %r12, %rdi
leaq 0xdf37(%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 -0x1e8(%rbp), %rsi
callq 0x33c0
leaq -0x1e8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3844d
testb %al, %al
jne 0x2ccec
movl $0x35, %edx
movq %r12, %rdi
leaq 0xdedc(%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 0x2cc10
movl $0x10, %edx
movq %r12, %rdi
leaq 0xdea2(%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 -0x1c8(%rbp), %rsi
callq 0x33c0
leaq -0x1c8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38df8
testb %al, %al
jne 0x2cdd2
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xda17(%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 0x2ccf6
movl $0x29, %edx
movq %r12, %rdi
leaq 0xe28b(%rip), %rsi      # 0x3b076
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 -0x128(%rbp), %rsi
callq 0x3270
leaq -0x428(%rbp), %rax
movq %rax, -0x438(%rbp)
movq -0x128(%rbp), %rsi
movq -0x120(%rbp), %rdx
addq %rsi, %rdx
leaq -0x438(%rbp), %rdi
callq 0x4574
leaq -0x438(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x39623
movl %eax, %ebx
movq -0x438(%rbp), %rdi
leaq -0x428(%rbp), %rax
cmpq %rax, %rdi
je 0x2ce7c
callq 0x31d0
testb %bl, %bl
je 0x2cf32
movq %r14, %rdi
leaq -0x128(%rbp), %rsi
movl $0x18, %edx
callq 0x3310
movq %r14, %rdi
leaq -0x2a(%rbp), %rsi
callq 0x31b0
movb $0x73, -0x29(%rbp)
cmpb $0x1, -0x2a(%rbp)
jne 0x2cf18
movl $0x19, %edx
movq %r12, %rdi
leaq 0xe220(%rip), %rsi      # 0x3b0dd
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 -0x278(%rbp), %rsi
callq 0x33c0
movq %r14, %rdi
movq 0x1b08e(%rip), %rsi     # 0x47fb0
callq 0x3160
movq -0x50(%rbp), %rdi
callq 0x30d0
jmp 0x2cf98
movl $0x3c, %edx
movq %r12, %rdi
leaq 0xe15f(%rip), %rsi      # 0x3b0a0
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 0x2cddc
movl $0x1e, %edx
movq %r12, %rdi
leaq 0xdc07(%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 0x2d07e
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xd76b(%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 -0x408(%rbp), %rax
movq %rax, -0x418(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x418(%rbp), %rdi
callq 0x4574
movq -0x258(%rbp), %rdi
leaq -0x418(%rbp), %rsi
callq 0x36dd9
movl %eax, %ebx
movq -0x418(%rbp), %rdi
leaq -0x408(%rbp), %rax
cmpq %rax, %rdi
je 0x2d0d6
callq 0x31d0
testb %bl, %bl
jne 0x2d142
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 0xdac6(%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 0x2cfa2
movl $0x1b, %edx
movq %r12, %rdi
leaq 0xda9f(%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 0x2d228
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xd5c1(%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
movb -0x2a(%rbp), %bl
leaq -0x3e8(%rbp), %rax
movq %rax, -0x3f8(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3f8(%rbp), %rdi
callq 0x4574
movzbl %bl, %edi
movq -0x250(%rbp), %rsi
leaq -0x3f8(%rbp), %rdx
movl $0x72, %ecx
callq 0x36e7a
movl %eax, %ebx
movq -0x3f8(%rbp), %rdi
leaq -0x3e8(%rbp), %rax
cmpq %rax, %rdi
je 0x2d28b
callq 0x31d0
testb %bl, %bl
jne 0x2d325
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 0xd94c(%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 0x2d14c
movl $0x1a, %edx
movq %r12, %rdi
leaq 0xd90a(%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 0x2d40b
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xd3de(%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 0x2d437
movq -0x90(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x32c0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2d421
cmpb $0x6e, -0x29(%rbp)
je 0x2d32f
movl $0x19, %edx
movq %r12, %rdi
leaq 0xd813(%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 -0x108(%rbp), %rsi
callq 0x33c0
movq -0x100(%rbp), %rbx
testq %rbx, %rbx
je 0x2d4cf
movq -0x108(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x33d0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2d4b9
leaq -0x108(%rbp), %rbx
movq %rbx, %rdi
leaq 0xd79d(%rip), %rsi      # 0x3ac7d
callq 0x30c0
testl %eax, %eax
je 0x2d573
movq %rbx, %rdi
leaq 0xd788(%rip), %rsi      # 0x3ac7f
callq 0x30c0
testl %eax, %eax
je 0x2d573
movb $0x6e, -0x29(%rbp)
movl $0x21, %edx
movq %r12, %rdi
leaq 0xd76e(%rip), %rsi      # 0x3ac81
callq 0x3250
leaq -0x7e8(%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 0x2d58a
movq -0x108(%rbp), %rax
movb (%rax), %al
movb %al, -0x2b(%rbp)
movb $0x73, -0x29(%rbp)
leaq -0x7e8(%rbp), %r14
cmpb $0x6e, -0x29(%rbp)
je 0x2d441
movl $0x1c, %edx
movq %r12, %rdi
leaq 0xd700(%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 -0x148(%rbp), %rsi
callq 0x33c0
leaq -0x3c8(%rbp), %rax
movq %rax, -0x3d8(%rbp)
movq -0x148(%rbp), %rsi
movq -0x140(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3d8(%rbp), %rdi
callq 0x4574
leaq -0x3d8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38f49
movl %eax, %ebx
movq -0x3d8(%rbp), %rdi
leaq -0x3c8(%rbp), %rax
cmpq %rax, %rdi
je 0x2d64b
callq 0x31d0
testb %bl, %bl
jne 0x2d6b5
movl $0x34, %edx
movq %r12, %rdi
leaq 0xd662(%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 -0x148(%rbp), %r13
callq 0x3040
movq %rax, %rbx
movq %r14, %rsi
movl (%rax), %r14d
movl $0x0, (%rax)
movq %r13, %rdi
callq 0x3170
movsd %xmm0, -0xe8(%rbp)
cmpq %r13, -0x7e8(%rbp)
je 0x2e1db
movl (%rbx), %eax
testl %eax, %eax
je 0x2d6fd
cmpl $0x22, %eax
jne 0x2d700
jmp 0x2e1f3
movl %r14d, (%rbx)
cmpb $0x6e, -0x29(%rbp)
leaq -0x7e8(%rbp), %r14
je 0x2d594
movl $0x1f, %edx
movq %r12, %rdi
leaq 0xd691(%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 -0x188(%rbp), %rsi
callq 0x33c0
leaq -0x188(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x391c3
testb %al, %al
jne 0x2d7ed
movl $0x36, %edx
movq %r12, %rdi
leaq 0xd82c(%rip), %rsi      # 0x3afc2
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 0x2d711
movl $0x1a, %edx
movq %r12, %rdi
leaq 0xd68d(%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 -0x168(%rbp), %rsi
callq 0x33c0
leaq -0x168(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x39389
testb %al, %al
jne 0x2d8d3
movl $0x24, %edx
movq %r12, %rdi
leaq 0xd5a3(%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 0x2d7f7
movl $0x20, %edx
movq %r12, %rdi
leaq 0xd558(%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 -0x1a8(%rbp), %rsi
callq 0x33c0
leaq -0x1a8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x391c3
testb %al, %al
jne 0x2d9b9
movl $0x35, %edx
movq %r12, %rdi
leaq 0xd46f(%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 0x2d8dd
movl -0x30(%rbp), %ebx
leaq -0x3a8(%rbp), %rax
movq %rax, -0x3b8(%rbp)
movq -0x208(%rbp), %rsi
movq -0x200(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3b8(%rbp), %rdi
callq 0x4574
leaq -0x388(%rbp), %rax
movq %rax, -0x398(%rbp)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
leaq -0x398(%rbp), %rdi
callq 0x4574
leaq -0x368(%rbp), %rax
movq %rax, -0x378(%rbp)
movq -0x1e8(%rbp), %rsi
movq -0x1e0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x378(%rbp), %rdi
callq 0x4574
leaq -0x348(%rbp), %rax
movq %rax, -0x358(%rbp)
movq -0x1c8(%rbp), %rsi
movq -0x1c0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x358(%rbp), %rdi
callq 0x4574
leaq -0x328(%rbp), %rax
movq %rax, -0x338(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x338(%rbp), %rdi
callq 0x4574
leaq -0x308(%rbp), %rax
movq %rax, -0x318(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x318(%rbp), %rdi
callq 0x4574
leaq -0x2e8(%rbp), %rax
movq %rax, -0x2f8(%rbp)
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2f8(%rbp), %rdi
callq 0x4574
movb -0x2a(%rbp), %r13b
leaq -0x2c8(%rbp), %rax
movq %rax, -0x2d8(%rbp)
movq -0x278(%rbp), %rsi
movq -0x270(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2d8(%rbp), %rdi
callq 0x4574
leaq -0x2a8(%rbp), %rax
movq %rax, -0x2b8(%rbp)
movq -0x188(%rbp), %rsi
movq -0x180(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2b8(%rbp), %rdi
callq 0x4574
movl %ebx, -0x38(%rbp)
leaq -0x288(%rbp), %rax
movq %rax, -0x298(%rbp)
movq -0x168(%rbp), %rsi
movq -0x160(%rbp), %rdx
addq %rsi, %rdx
leaq -0x298(%rbp), %rdi
callq 0x4574
leaq -0x608(%rbp), %rax
movq %rax, -0x618(%rbp)
movq -0x1a8(%rbp), %rsi
movq -0x1a0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x618(%rbp), %rbx
movq %rbx, %rdi
callq 0x4574
subq $0x8, %rsp
movzbl %r13b, %eax
movsbl -0x2b(%rbp), %r9d
movq %r14, %rdi
movl -0x38(%rbp), %esi
leaq -0x3b8(%rbp), %rdx
leaq -0x398(%rbp), %rcx
leaq -0x378(%rbp), %r8
movsd -0xe8(%rbp), %xmm0
pushq %rbx
leaq -0x298(%rbp), %r10
pushq %r10
leaq -0x2b8(%rbp), %r10
pushq %r10
leaq -0x2d8(%rbp), %r10
pushq %r10
pushq %rax
leaq -0x2f8(%rbp), %rax
pushq %rax
leaq -0x318(%rbp), %rax
pushq %rax
leaq -0x338(%rbp), %rax
pushq %rax
leaq -0x358(%rbp), %rax
pushq %rax
callq 0x7526
addq $0x50, %rsp
movl -0x7e0(%rbp), %eax
movq -0x40(%rbp), %rbx
movl %eax, 0x30(%rbx)
leaq 0x38(%rbx), %rdi
leaq -0x7d8(%rbp), %rsi
callq 0x30f0
leaq 0x58(%rbx), %rdi
leaq -0x7b8(%rbp), %rsi
callq 0x30f0
leaq 0x78(%rbx), %rdi
leaq -0x798(%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 -0x248(%rbp), %rsi
callq 0x30f0
leaq 0xe8(%rbx), %rdi
movq -0x240(%rbp), %rsi
callq 0x30f0
leaq 0x108(%rbx), %rdi
movq -0x238(%rbp), %rsi
callq 0x30f0
leaq 0x130(%rbx), %rdi
movq -0x230(%rbp), %rsi
callq 0x30f0
leaq 0x150(%rbx), %rdi
movq -0x228(%rbp), %rsi
callq 0x30f0
leaq 0x170(%rbx), %rdi
movq -0x220(%rbp), %rsi
callq 0x30f0
movb -0x680(%rbp), %al
movb %al, 0x190(%rbx)
leaq 0x198(%rbx), %rdi
movq -0x218(%rbp), %rsi
callq 0x30f0
movq %r14, %rdi
callq 0x79a2
movq -0x618(%rbp), %rdi
leaq -0x608(%rbp), %rax
cmpq %rax, %rdi
je 0x2dd23
callq 0x31d0
movq -0x298(%rbp), %rdi
leaq -0x288(%rbp), %rax
cmpq %rax, %rdi
movq -0x210(%rbp), %r14
je 0x2dd42
callq 0x31d0
movq -0x2b8(%rbp), %rdi
leaq -0x2a8(%rbp), %rax
cmpq %rax, %rdi
je 0x2dd5a
callq 0x31d0
movq -0x2d8(%rbp), %rdi
leaq -0x2c8(%rbp), %rax
cmpq %rax, %rdi
je 0x2dd72
callq 0x31d0
movq -0x2f8(%rbp), %rdi
leaq -0x2e8(%rbp), %rax
cmpq %rax, %rdi
je 0x2dd8a
callq 0x31d0
movq -0x318(%rbp), %rdi
leaq -0x308(%rbp), %rax
cmpq %rax, %rdi
je 0x2dda2
callq 0x31d0
movq -0x338(%rbp), %rdi
leaq -0x328(%rbp), %rax
cmpq %rax, %rdi
je 0x2ddba
callq 0x31d0
movq -0x358(%rbp), %rdi
leaq -0x348(%rbp), %rax
cmpq %rax, %rdi
je 0x2ddd2
callq 0x31d0
movq -0x378(%rbp), %rdi
leaq -0x368(%rbp), %rax
cmpq %rax, %rdi
je 0x2ddea
callq 0x31d0
movq -0x398(%rbp), %rdi
leaq -0x388(%rbp), %rax
cmpq %rax, %rdi
je 0x2de02
callq 0x31d0
movq -0x3b8(%rbp), %rdi
leaq -0x3a8(%rbp), %rax
cmpq %rax, %rdi
je 0x2de1a
callq 0x31d0
movb $0x73, %bl
jmp 0x2df47
movl $0x18, %edx
movq %r12, %rdi
leaq 0xd458(%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 0x2debc
leaq -0xbe8(%rbp), %rdi
leaq 0xd281(%rip), %rsi      # 0x3b0f7
movl $0x10, %edx
callq 0x3050
movq -0xd8(%rbp), %rax
movq 0x18(%rax), %rbx
cmpq %r14, %rbx
je 0x2deb0
leaq 0x28(%rbx), %rsi
leaq -0xbe8(%rbp), %rdi
callq 0xc9b3
movq %rbx, %rdi
callq 0x3140
movq %rax, %rbx
cmpq %r14, %rax
jne 0x2de90
leaq -0xbe8(%rbp), %rdi
callq 0x32a0
movl $0x18, %edx
movq %r12, %rdi
leaq 0xd3d7(%rip), %rsi      # 0x3b2a2
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 -0x2c(%rbp), %rsi
callq 0x3280
jmp 0x2dff2
movl $0x18, %edx
movq %r12, %rdi
leaq 0xd370(%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 0x2dfaa
leaq -0x9e8(%rbp), %rdi
leaq 0xd1a5(%rip), %rsi      # 0x3b107
movl $0x10, %edx
callq 0x3050
movq -0xe0(%rbp), %rax
movq 0x18(%rax), %rbx
cmpq -0x48(%rbp), %rbx
je 0x2df9e
leaq 0x28(%rbx), %rsi
leaq -0x9e8(%rbp), %rdi
callq 0xd030
movq %rbx, %rdi
callq 0x3140
movq %rax, %rbx
cmpq -0x48(%rbp), %rax
jne 0x2df7d
leaq -0x9e8(%rbp), %rdi
callq 0x32a0
movl $0x19, %edx
movq %r12, %rdi
leaq 0xd2e8(%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 -0x2c(%rbp), %rsi
callq 0x3280
cmpb $0x73, -0x2c(%rbp)
movq -0x48(%rbp), %rbx
je 0x2b4c2
movq 0x19fc1(%rip), %rax     # 0x47fc8
movq (%rax), %rbx
movq 0x18(%rax), %r14
leaq -0x9e0(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, -0x9e8(%rbp,%rax)
callq 0x3190
movl $0xf8, %r15d
leaq -0x9e8(%rbp), %rdi
addq %r15, %rdi
callq 0x30d0
leaq -0xbe0(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, -0xbe8(%rbp,%rax)
callq 0x3190
leaq -0xbe8(%rbp), %rdi
addq %r15, %rdi
callq 0x30d0
movq -0x128(%rbp), %rdi
leaq -0x118(%rbp), %rax
cmpq %rax, %rdi
je 0x2e082
callq 0x31d0
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x2e09a
callq 0x31d0
movq -0x108(%rbp), %rdi
leaq -0xf8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e0b2
callq 0x31d0
movq -0x658(%rbp), %rdi
leaq -0x648(%rbp), %rax
cmpq %rax, %rdi
je 0x2e0ca
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x2e0dc
callq 0x31d0
movq -0x278(%rbp), %rdi
leaq -0x268(%rbp), %rax
cmpq %rax, %rdi
je 0x2e0f4
callq 0x31d0
movq -0x168(%rbp), %rdi
leaq -0x158(%rbp), %rax
cmpq %rax, %rdi
je 0x2e10c
callq 0x31d0
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x2e124
callq 0x31d0
movq -0x1a8(%rbp), %rdi
leaq -0x198(%rbp), %rax
cmpq %rax, %rdi
je 0x2e13c
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x2e151
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e169
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e181
callq 0x31d0
movq -0x1c8(%rbp), %rdi
leaq -0x1b8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e199
callq 0x31d0
movq -0x1e8(%rbp), %rdi
leaq -0x1d8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e1b1
callq 0x31d0
movq -0x208(%rbp), %rdi
leaq -0x1f8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e1c9
callq 0x31d0
addq $0xbc8, %rsp            # imm = 0xBC8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xcfd0(%rip), %rdi      # 0x3b1b2
callq 0x3110
leaq 0xcfc4(%rip), %rdi      # 0x3b1b2
callq 0x3110
leaq 0xcfb8(%rip), %rdi      # 0x3b1b2
callq 0x32b0
leaq 0xcfac(%rip), %rdi      # 0x3b1b2
callq 0x32b0
movq %rax, %r15
jmp 0x2e389
movq %rax, %r15
jmp 0x2e4bc
movq %rax, %r15
jmp 0x2e4ec
movq %rax, %r15
jmp 0x2e2e1
movq %rax, %r15
jmp 0x2e45c
movq %rax, %r15
jmp 0x2e3a1
movq %rax, %r15
jmp 0x2e341
movq %rax, %r15
jmp 0x2e414
movq %rax, %r15
jmp 0x2e359
jmp 0x2e67a
movq %rax, %r15
jmp 0x2e2f9
movq %rax, %r15
jmp 0x2e329
movq %rax, %r15
jmp 0x2e3b9
movq %rax, %r15
jmp 0x2e3d1
movq %rax, %r15
jmp 0x2e474
movq %rax, %r15
jmp 0x2e48c
movq %rax, %r15
jmp 0x2e4a4
jmp 0x2e67a
movq %rax, %r15
jmp 0x2e4d4
movq %rax, %r15
jmp 0x2e311
movq %rax, %r15
jmp 0x2e42c
movq %rax, %r15
jmp 0x2e371
movq %rax, %r15
jmp 0x2e444
movq %rax, %r15
jmp 0x2e3fc
movq %rax, %r15
jmp 0x2e6b3
movq %rax, %r15
jmp 0x2e6e9
movq %rax, %r15
leaq -0x7e8(%rbp), %rdi
callq 0x79a2
movq -0x618(%rbp), %rdi
leaq -0x608(%rbp), %rax
cmpq %rax, %rdi
je 0x2e2f9
callq 0x31d0
movq -0x298(%rbp), %rdi
leaq -0x288(%rbp), %rax
cmpq %rax, %rdi
je 0x2e311
callq 0x31d0
movq -0x2b8(%rbp), %rdi
leaq -0x2a8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e329
callq 0x31d0
movq -0x2d8(%rbp), %rdi
leaq -0x2c8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e341
callq 0x31d0
movq -0x2f8(%rbp), %rdi
leaq -0x2e8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e359
callq 0x31d0
movq -0x318(%rbp), %rdi
leaq -0x308(%rbp), %rax
cmpq %rax, %rdi
je 0x2e371
callq 0x31d0
movq -0x338(%rbp), %rdi
leaq -0x328(%rbp), %rax
cmpq %rax, %rdi
je 0x2e389
callq 0x31d0
movq -0x358(%rbp), %rdi
leaq -0x348(%rbp), %rax
cmpq %rax, %rdi
je 0x2e3a1
callq 0x31d0
movq -0x378(%rbp), %rdi
leaq -0x368(%rbp), %rax
cmpq %rax, %rdi
je 0x2e3b9
callq 0x31d0
movq -0x398(%rbp), %rdi
leaq -0x388(%rbp), %rax
cmpq %rax, %rdi
je 0x2e3d1
callq 0x31d0
movq -0x3b8(%rbp), %rdi
leaq -0x3a8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e67d
jmp 0x2e60e
movq %rax, %r15
leaq -0x7e8(%rbp), %rdi
callq 0x74d0
movq -0x638(%rbp), %rdi
leaq -0x628(%rbp), %rax
cmpq %rax, %rdi
je 0x2e414
callq 0x31d0
movq -0x458(%rbp), %rdi
leaq -0x448(%rbp), %rax
cmpq %rax, %rdi
je 0x2e42c
callq 0x31d0
movq -0x478(%rbp), %rdi
leaq -0x468(%rbp), %rax
cmpq %rax, %rdi
je 0x2e444
callq 0x31d0
movq -0x498(%rbp), %rdi
leaq -0x488(%rbp), %rax
cmpq %rax, %rdi
je 0x2e45c
callq 0x31d0
movq -0x4b8(%rbp), %rdi
leaq -0x4a8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e474
callq 0x31d0
movq -0x4d8(%rbp), %rdi
leaq -0x4c8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e48c
callq 0x31d0
movq -0x4f8(%rbp), %rdi
leaq -0x4e8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e4a4
callq 0x31d0
movq -0x518(%rbp), %rdi
leaq -0x508(%rbp), %rax
cmpq %rax, %rdi
je 0x2e4bc
callq 0x31d0
movq -0x538(%rbp), %rdi
leaq -0x528(%rbp), %rax
cmpq %rax, %rdi
je 0x2e4d4
callq 0x31d0
movq -0x558(%rbp), %rdi
leaq -0x548(%rbp), %rax
cmpq %rax, %rdi
je 0x2e4ec
callq 0x31d0
movq -0x578(%rbp), %rdi
leaq -0x568(%rbp), %rax
cmpq %rax, %rdi
je 0x2e67d
jmp 0x2e60e
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
movq %rax, %r15
movq -0x3d8(%rbp), %rdi
leaq -0x3c8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e67d
jmp 0x2e60e
movq %rax, %r15
movq -0x598(%rbp), %rdi
leaq -0x588(%rbp), %rax
cmpq %rax, %rdi
je 0x2e67d
jmp 0x2e60e
movq %rax, %r15
movq -0x3f8(%rbp), %rdi
leaq -0x3e8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e67d
jmp 0x2e60e
movq %rax, %r15
movq -0x5b8(%rbp), %rdi
leaq -0x5a8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e67d
jmp 0x2e60e
movq %rax, %r15
movq -0x418(%rbp), %rdi
leaq -0x408(%rbp), %rax
cmpq %rax, %rdi
je 0x2e67d
jmp 0x2e60e
movq %rax, %r15
movq -0x5d8(%rbp), %rdi
leaq -0x5c8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e67d
jmp 0x2e60e
movq %rax, %r15
movq -0x438(%rbp), %rdi
leaq -0x428(%rbp), %rax
cmpq %rax, %rdi
je 0x2e67d
jmp 0x2e60e
movq %rax, %r15
movq -0x5f8(%rbp), %rdi
leaq -0x5e8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e67d
callq 0x31d0
jmp 0x2e67d
jmp 0x2e617
movq %rax, %r15
cmpl $0x0, (%rbx)
jne 0x2e67d
movl %r14d, (%rbx)
jmp 0x2e67d
jmp 0x2e626
movq %rax, %r15
movq 0x19980(%rip), %rsi     # 0x47fb0
leaq -0x7e8(%rbp), %rdi
callq 0x3160
leaq -0x768(%rbp), %rdi
callq 0x30d0
jmp 0x2e67d
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
jmp 0x2e67a
movq %rax, %r15
movq 0x19944(%rip), %rax     # 0x47fc8
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq -0x9e0(%rbp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, -0x9e8(%rbp,%rcx)
callq 0x3190
leaq -0x8f0(%rbp), %rdi
callq 0x30d0
movq 0x1990e(%rip), %rax     # 0x47fc8
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq -0xbe0(%rbp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, -0xbe8(%rbp,%rcx)
callq 0x3190
leaq -0xaf0(%rbp), %rdi
callq 0x30d0
movq -0x128(%rbp), %rdi
leaq -0x118(%rbp), %rax
cmpq %rax, %rdi
je 0x2e701
callq 0x31d0
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x2e719
callq 0x31d0
movq -0x108(%rbp), %rdi
leaq -0xf8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e731
callq 0x31d0
movq -0x658(%rbp), %rdi
leaq -0x648(%rbp), %rax
cmpq %rax, %rdi
je 0x2e749
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x2e75b
callq 0x31d0
movq -0x278(%rbp), %rdi
leaq -0x268(%rbp), %rax
cmpq %rax, %rdi
je 0x2e773
callq 0x31d0
movq -0x168(%rbp), %rdi
leaq -0x158(%rbp), %rax
cmpq %rax, %rdi
je 0x2e78b
callq 0x31d0
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x2e7a3
callq 0x31d0
movq -0x1a8(%rbp), %rdi
leaq -0x198(%rbp), %rax
cmpq %rax, %rdi
je 0x2e7bb
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x2e7d0
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e7e8
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e800
callq 0x31d0
movq -0x1c8(%rbp), %rdi
leaq -0x1b8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e818
callq 0x31d0
movq -0x1e8(%rbp), %rdi
leaq -0x1d8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e830
callq 0x31d0
movq -0x208(%rbp), %rdi
leaq -0x1f8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e848
callq 0x31d0
movq %r15, %rdi
callq 0x3380