// File: /workspace/github_cpp_makefile_star2_O3/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 $0xbb8, %rsp            # imm = 0xBB8
movq %rcx, -0x248(%rbp)
movq %rdx, -0x250(%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 -0x260(%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 -0x640(%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 -0xbe0(%rbp), %rdi
callq 0x3360
leaq -0x9e0(%rbp), %rdi
callq 0x3360
movq -0xe0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x50(%rbp)
leaq -0x7e0(%rbp), %rcx
leaq 0x80(%rcx), %rax
movq %rax, -0x40(%rbp)
leaq 0xa0(%rcx), %rax
movq %rax, -0x240(%rbp)
leaq 0xc0(%rcx), %rax
movq %rax, -0x238(%rbp)
leaq 0xe0(%rcx), %rax
movq %rax, -0x230(%rbp)
leaq 0x108(%rcx), %rax
movq %rax, -0x228(%rbp)
leaq 0x128(%rcx), %rax
movq %rax, -0x220(%rbp)
leaq 0x148(%rcx), %rax
movq %rax, -0x218(%rbp)
leaq 0x170(%rcx), %rax
movq %rax, -0x210(%rbp)
movq -0xd8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x48(%rbp)
movq 0x1cb94(%rip), %r12     # 0x47fd0
movq 0x1cb9d(%rip), %r13     # 0x47fe0
movl $0x2f, %edx
movq %r12, %rdi
leaq 0xfde5(%rip), %rsi      # 0x3b237
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
leaq -0x2d(%rbp), %rsi
callq 0x3280
movzbl -0x2d(%rbp), %eax
cmpl $0x65, %eax
je 0x2b67d
cmpl $0x6e, %eax
je 0x2b566
movl $0x25, %edx
movq %r12, %rdi
leaq 0xfd61(%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 0xf104(%rip), %rsi      # 0x3a618
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
leaq -0x2e(%rbp), %rsi
callq 0x3280
cmpb $0x73, -0x2e(%rbp)
je 0x2dff6
cmpb $0x73, -0x2c(%rbp)
je 0x2b443
jmp 0x2dff6
movl $0x15, %edx
movq %r12, %rdi
leaq 0xfcf2(%rip), %rsi      # 0x3b267
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
leaq -0x34(%rbp), %rsi
callq 0x3120
movq -0xd8(%rbp), %rax
movq 0x10(%rax), %rcx
testq %rcx, %rcx
je 0x2b5f0
movl -0x34(%rbp), %eax
movq -0x48(%rbp), %r14
xorl %edx, %edx
cmpl %eax, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %r14
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x2b5c5
cmpq -0x48(%rbp), %r14
je 0x2b5f0
cmpl 0x20(%r14), %eax
cmovlq -0x48(%rbp), %r14
jge 0x2b794
movl $0x18, %edx
movq %r12, %rdi
leaq 0xfc89(%rip), %rsi      # 0x3b288
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
movl $0x18, %edx
movq %r12, %rdi
leaq 0xfc63(%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 %r13, %rdi
leaq -0x2c(%rbp), %rsi
callq 0x3280
jmp 0x2b557
movl $0x15, %edx
movq %r12, %rdi
leaq 0xfbdb(%rip), %rsi      # 0x3b267
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
leaq -0x34(%rbp), %rsi
callq 0x3120
movq -0xe0(%rbp), %rax
movq 0x10(%rax), %rcx
testq %rcx, %rcx
je 0x2b707
movl -0x34(%rbp), %eax
movq -0x50(%rbp), %r14
xorl %edx, %edx
cmpl %eax, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %r14
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x2b6dc
cmpq -0x50(%rbp), %r14
je 0x2b707
cmpl 0x20(%r14), %eax
cmovlq -0x50(%rbp), %r14
jge 0x2c29d
movl $0x18, %edx
movq %r12, %rdi
leaq 0xfb72(%rip), %rsi      # 0x3b288
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
movl $0x19, %edx
movq %r12, %rdi
leaq 0xfb4b(%rip), %rsi      # 0x3b2a1
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
leaq -0x2c(%rbp), %rsi
callq 0x3280
jmp 0x2b557
movl $0xa, %edx
movq %r12, %rdi
leaq 0xfada(%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 0xf880(%rip), %rcx      # 0x3b06d
callq 0x3300
movl $0xe, %edx
movq %r12, %rdi
leaq 0xef82(%rip), %rsi      # 0x3a783
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
callq 0x33a0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x70(%rbp), %rsi
callq 0x33c0
leaq -0x70(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x2b8d1
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xef18(%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 0x2b8f7
movq -0x70(%rbp), %r15
xorl %r13d, %r13d
movsbl (%r15,%r13), %edi
callq 0x32c0
movb %al, (%r15,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2b8e1
cmpb $0x6e, -0x29(%rbp)
movq 0x1c6de(%rip), %r13     # 0x47fe0
je 0x2b7f2
leaq -0x7e0(%rbp), %r15
movl $0x1a, %edx
movq %r12, %rdi
leaq 0xf238(%rip), %rsi      # 0x3ab56
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x33c0
leaq -0x1e8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38318
testb %al, %al
jne 0x2b9ec
movl $0x35, %edx
movq %r12, %rdi
leaq 0xf1dc(%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 0x2b90f
movl $0x10, %edx
movq %r12, %rdi
leaq 0xf1a2(%rip), %rsi      # 0x3aba7
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x33c0
leaq -0x1c8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38bdf
testb %al, %al
jne 0x2bad3
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xed16(%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 0x2b9f6
movl $0x29, %edx
movq %r12, %rdi
leaq 0xf58a(%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 %r13, %rdi
leaq -0x128(%rbp), %rsi
callq 0x3270
leaq -0x5e0(%rbp), %rax
movq %rax, -0x5f0(%rbp)
movq -0x128(%rbp), %rsi
movq -0x120(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5f0(%rbp), %rdi
callq 0x4574
leaq -0x5f0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x392c4
movl %eax, %ebx
movq -0x5f0(%rbp), %rdi
leaq -0x5e0(%rbp), %rax
cmpq %rax, %rdi
je 0x2bb7d
callq 0x31d0
testb %bl, %bl
je 0x2bc34
movq %r15, %rdi
leaq -0x128(%rbp), %rsi
movl $0x18, %edx
callq 0x3310
movq %r15, %rdi
leaq -0x2a(%rbp), %rsi
callq 0x31b0
movb $0x73, -0x29(%rbp)
cmpb $0x1, -0x2a(%rbp)
jne 0x2bc1a
movl $0x19, %edx
movq %r12, %rdi
leaq 0xf51f(%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 %r13, %rdi
callq 0x33a0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x270(%rbp), %rsi
callq 0x33c0
movq %r15, %rdi
movq 0x1c38c(%rip), %rsi     # 0x47fb0
callq 0x3160
movq -0x40(%rbp), %rdi
callq 0x30d0
jmp 0x2bc9a
movl $0x3c, %edx
movq %r12, %rdi
leaq 0xf45d(%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 0x2badd
jmp 0x2bd0e
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 0xeefa(%rip), %rsi      # 0x3abd7
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
movl $0x1e, %edx
movq %r12, %rdi
leaq 0xee9b(%rip), %rsi      # 0x3abb8
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0xd0(%rbp), %rsi
callq 0x33c0
leaq -0xd0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x2bdeb
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xe9fe(%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 -0x5c0(%rbp), %rax
movq %rax, -0x5d0(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5d0(%rbp), %rdi
callq 0x4574
movq -0x250(%rbp), %rdi
leaq -0x5d0(%rbp), %rsi
callq 0x36d35
movl %eax, %ebx
movq -0x5d0(%rbp), %rdi
leaq -0x5c0(%rbp), %rax
cmpq %rax, %rdi
je 0x2be43
callq 0x31d0
testb %bl, %bl
je 0x2bca6
cmpb $0x6e, -0x29(%rbp)
je 0x2bd0e
movl $0x1b, %edx
movq %r12, %rdi
leaq 0xed96(%rip), %rsi      # 0x3abfa
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0xb0(%rbp), %rsi
callq 0x33c0
leaq -0xb0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x2bf32
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xe8b7(%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 -0x5a0(%rbp), %rax
movq %rax, -0x5b0(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5b0(%rbp), %rdi
callq 0x4574
movzbl %bl, %edi
movq -0x248(%rbp), %rsi
leaq -0x5b0(%rbp), %rdx
movl $0x72, %ecx
callq 0x36dd5
movl %eax, %ebx
movq -0x5b0(%rbp), %rdi
leaq -0x5a0(%rbp), %rax
cmpq %rax, %rdi
je 0x2bf95
callq 0x31d0
testb %bl, %bl
je 0x2bfa8
cmpb $0x6e, -0x29(%rbp)
je 0x2be55
jmp 0x2c03f
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 0xec37(%rip), %rsi      # 0x3ac16
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
jmp 0x2be55
movl $0x1a, %edx
movq %r12, %rdi
leaq 0xebfa(%rip), %rsi      # 0x3ac48
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x90(%rbp), %rsi
callq 0x33c0
leaq -0x90(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x2c11c
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xe6cd(%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 0x2c148
movq -0x90(%rbp), %r15
xorl %r13d, %r13d
movsbl (%r15,%r13), %edi
callq 0x32c0
movb %al, (%r15,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2c132
cmpb $0x6e, -0x29(%rbp)
movq 0x1be8d(%rip), %r13     # 0x47fe0
je 0x2c03f
movl $0x19, %edx
movq %r12, %rdi
leaq 0xeafb(%rip), %rsi      # 0x3ac63
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x108(%rbp), %rsi
callq 0x33c0
movq -0x100(%rbp), %rbx
testq %rbx, %rbx
je 0x2c1e8
movq -0x108(%rbp), %r15
xorl %r13d, %r13d
movsbl (%r15,%r13), %edi
callq 0x33d0
movb %al, (%r15,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2c1d2
leaq -0x108(%rbp), %rbx
movq %rbx, %rdi
leaq 0xea84(%rip), %rsi      # 0x3ac7d
callq 0x30c0
testl %eax, %eax
je 0x2cda6
movq %rbx, %rdi
leaq 0xea6f(%rip), %rsi      # 0x3ac7f
callq 0x30c0
testl %eax, %eax
je 0x2cda6
movb $0x6e, -0x29(%rbp)
movl $0x21, %edx
movq %r12, %rdi
leaq 0xea51(%rip), %rsi      # 0x3ac81
callq 0x3250
movq 0x1bda4(%rip), %r13     # 0x47fe0
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 0x2c159
jmp 0x2cdbd
movl $0xa, %edx
movq %r12, %rdi
leaq 0xefd1(%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 0xefe9(%rip), %rcx      # 0x3b2df
callq 0x3300
movl $0xe, %edx
movq %r12, %rdi
leaq 0xe479(%rip), %rsi      # 0x3a783
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
callq 0x33a0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x70(%rbp), %rsi
callq 0x33c0
leaq -0x70(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x2c3da
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xe40f(%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 0x2c400
movq -0x70(%rbp), %r15
xorl %r13d, %r13d
movsbl (%r15,%r13), %edi
callq 0x32c0
movb %al, (%r15,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2c3ea
cmpb $0x6e, -0x29(%rbp)
movq 0x1bbd5(%rip), %r13     # 0x47fe0
je 0x2c2fb
leaq -0x7e0(%rbp), %r15
movl $0x1a, %edx
movq %r12, %rdi
leaq 0xe72f(%rip), %rsi      # 0x3ab56
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x33c0
leaq -0x1e8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38318
testb %al, %al
jne 0x2c4f5
movl $0x35, %edx
movq %r12, %rdi
leaq 0xe6d3(%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 0x2c418
movl $0x10, %edx
movq %r12, %rdi
leaq 0xe699(%rip), %rsi      # 0x3aba7
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x33c0
leaq -0x1c8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38bdf
testb %al, %al
jne 0x2c5dc
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xe20d(%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 0x2c4ff
movl $0x29, %edx
movq %r12, %rdi
leaq 0xea81(%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 %r13, %rdi
leaq -0x128(%rbp), %rsi
callq 0x3270
leaq -0x420(%rbp), %rax
movq %rax, -0x430(%rbp)
movq -0x128(%rbp), %rsi
movq -0x120(%rbp), %rdx
addq %rsi, %rdx
leaq -0x430(%rbp), %rdi
callq 0x4574
leaq -0x430(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x392c4
movl %eax, %ebx
movq -0x430(%rbp), %rdi
leaq -0x420(%rbp), %rax
cmpq %rax, %rdi
je 0x2c686
callq 0x31d0
testb %bl, %bl
je 0x2c73d
movq %r15, %rdi
leaq -0x128(%rbp), %rsi
movl $0x18, %edx
callq 0x3310
movq %r15, %rdi
leaq -0x2a(%rbp), %rsi
callq 0x31b0
movb $0x73, -0x29(%rbp)
cmpb $0x1, -0x2a(%rbp)
jne 0x2c723
movl $0x19, %edx
movq %r12, %rdi
leaq 0xea16(%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 %r13, %rdi
callq 0x33a0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x270(%rbp), %rsi
callq 0x33c0
movq %r15, %rdi
movq 0x1b883(%rip), %rsi     # 0x47fb0
callq 0x3160
movq -0x40(%rbp), %rdi
callq 0x30d0
jmp 0x2c7a3
movl $0x3c, %edx
movq %r12, %rdi
leaq 0xe954(%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 0x2c5e6
jmp 0x2c817
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 0xe3f1(%rip), %rsi      # 0x3abd7
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
movl $0x1e, %edx
movq %r12, %rdi
leaq 0xe392(%rip), %rsi      # 0x3abb8
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0xd0(%rbp), %rsi
callq 0x33c0
leaq -0xd0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x2c8f4
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xdef5(%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 -0x400(%rbp), %rax
movq %rax, -0x410(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x410(%rbp), %rdi
callq 0x4574
movq -0x250(%rbp), %rdi
leaq -0x410(%rbp), %rsi
callq 0x36d35
movl %eax, %ebx
movq -0x410(%rbp), %rdi
leaq -0x400(%rbp), %rax
cmpq %rax, %rdi
je 0x2c94c
callq 0x31d0
testb %bl, %bl
je 0x2c7af
cmpb $0x6e, -0x29(%rbp)
je 0x2c817
movl $0x1b, %edx
movq %r12, %rdi
leaq 0xe28d(%rip), %rsi      # 0x3abfa
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0xb0(%rbp), %rsi
callq 0x33c0
leaq -0xb0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x2ca3b
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xddae(%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 -0x3e0(%rbp), %rax
movq %rax, -0x3f0(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3f0(%rbp), %rdi
callq 0x4574
movzbl %bl, %edi
movq -0x248(%rbp), %rsi
leaq -0x3f0(%rbp), %rdx
movl $0x72, %ecx
callq 0x36dd5
movl %eax, %ebx
movq -0x3f0(%rbp), %rdi
leaq -0x3e0(%rbp), %rax
cmpq %rax, %rdi
je 0x2ca9e
callq 0x31d0
testb %bl, %bl
je 0x2cab1
cmpb $0x6e, -0x29(%rbp)
je 0x2c95e
jmp 0x2cb48
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 0xe12e(%rip), %rsi      # 0x3ac16
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
jmp 0x2c95e
movl $0x1a, %edx
movq %r12, %rdi
leaq 0xe0f1(%rip), %rsi      # 0x3ac48
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x90(%rbp), %rsi
callq 0x33c0
leaq -0x90(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x2cc25
movl $0x2d, %edx
movq %r12, %rdi
leaq 0xdbc4(%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 0x2cc51
movq -0x90(%rbp), %r15
xorl %r13d, %r13d
movsbl (%r15,%r13), %edi
callq 0x32c0
movb %al, (%r15,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2cc3b
cmpb $0x6e, -0x29(%rbp)
movq 0x1b384(%rip), %r13     # 0x47fe0
je 0x2cb48
movl $0x19, %edx
movq %r12, %rdi
leaq 0xdff2(%rip), %rsi      # 0x3ac63
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x108(%rbp), %rsi
callq 0x33c0
movq -0x100(%rbp), %rbx
testq %rbx, %rbx
je 0x2ccf1
movq -0x108(%rbp), %r15
xorl %r13d, %r13d
movsbl (%r15,%r13), %edi
callq 0x33d0
movb %al, (%r15,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2ccdb
leaq -0x108(%rbp), %rbx
movq %rbx, %rdi
leaq 0xdf7b(%rip), %rsi      # 0x3ac7d
callq 0x30c0
testl %eax, %eax
je 0x2d6ce
movq %rbx, %rdi
leaq 0xdf66(%rip), %rsi      # 0x3ac7f
callq 0x30c0
testl %eax, %eax
je 0x2d6ce
movb $0x6e, -0x29(%rbp)
movl $0x21, %edx
movq %r12, %rdi
leaq 0xdf48(%rip), %rsi      # 0x3ac81
callq 0x3250
movq 0x1b29b(%rip), %r13     # 0x47fe0
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 0x2cc62
jmp 0x2d6e5
movq -0x108(%rbp), %rax
movb (%rax), %al
movb %al, -0x2b(%rbp)
movb $0x73, -0x29(%rbp)
movq 0x1b223(%rip), %r13     # 0x47fe0
movl $0x1c, %edx
movq %r12, %rdi
leaq 0xded7(%rip), %rsi      # 0x3aca3
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x148(%rbp), %rsi
callq 0x33c0
leaq -0x580(%rbp), %rax
movq %rax, -0x590(%rbp)
movq -0x148(%rbp), %rsi
movq -0x140(%rbp), %rdx
addq %rsi, %rdx
leaq -0x590(%rbp), %rdi
callq 0x4574
leaq -0x590(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38d29
movl %eax, %ebx
movq -0x590(%rbp), %rdi
leaq -0x580(%rbp), %rax
cmpq %rax, %rdi
je 0x2ce75
callq 0x31d0
testb %bl, %bl
jne 0x2cedf
movl $0x34, %edx
movq %r12, %rdi
leaq 0xde38(%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), %r15
callq 0x3040
movq %rax, %rbx
movl (%rax), %r13d
movl $0x0, (%rax)
movq %r15, %rdi
leaq -0x7e0(%rbp), %rsi
callq 0x3170
movsd %xmm0, -0xe8(%rbp)
cmpq %r15, -0x7e0(%rbp)
je 0x2e1d1
movl (%rbx), %eax
testl %eax, %eax
je 0x2cf2b
cmpl $0x22, %eax
jne 0x2cf2e
jmp 0x2e1e9
movl %r13d, (%rbx)
cmpb $0x6e, -0x29(%rbp)
movq 0x1b0a7(%rip), %r13     # 0x47fe0
je 0x2cdbd
movl $0x1f, %edx
movq %r12, %rdi
leaq 0xde63(%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 0x1b05e(%rip), %rcx     # 0x47fe0
movq (%rcx), %rax
movq -0x18(%rax), %rdi
addq %rcx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq 0x1b040(%rip), %rdi     # 0x47fe0
leaq -0x188(%rbp), %rsi
callq 0x33c0
leaq -0x188(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38ed7
testb %al, %al
jne 0x2d026
movl $0x36, %edx
movq %r12, %rdi
leaq 0xdff3(%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 0x2cf3f
movl $0x17, %edx
movq %r12, %rdi
leaq 0xddc8(%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 0x1af6d(%rip), %rcx     # 0x47fe0
movq (%rcx), %rax
movq -0x18(%rax), %rdi
addq %rcx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq 0x1af4f(%rip), %rdi     # 0x47fe0
leaq -0x168(%rbp), %rsi
callq 0x33c0
leaq -0x168(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x39038
testb %al, %al
jne 0x2d117
movl $0x24, %edx
movq %r12, %rdi
leaq 0xdd5f(%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 0x2d030
movl $0x20, %edx
movq %r12, %rdi
leaq 0xdd14(%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 0x1ae7c(%rip), %rcx     # 0x47fe0
movq (%rcx), %rax
movq -0x18(%rax), %rdi
addq %rcx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq 0x1ae5e(%rip), %rdi     # 0x47fe0
leaq -0x1a8(%rbp), %rsi
callq 0x33c0
leaq -0x1a8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38ed7
testb %al, %al
jne 0x2d208
movl $0x35, %edx
movq %r12, %rdi
leaq 0xdc20(%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 0x2d121
movl -0x34(%rbp), %ebx
leaq -0x560(%rbp), %rax
movq %rax, -0x570(%rbp)
movq -0x208(%rbp), %rsi
movq -0x200(%rbp), %rdx
addq %rsi, %rdx
leaq -0x570(%rbp), %rdi
callq 0x4574
leaq -0x540(%rbp), %rax
movq %rax, -0x550(%rbp)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
leaq -0x550(%rbp), %rdi
callq 0x4574
leaq -0x520(%rbp), %rax
movq %rax, -0x530(%rbp)
movq -0x1e8(%rbp), %rsi
movq -0x1e0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x530(%rbp), %rdi
callq 0x4574
leaq -0x500(%rbp), %rax
movq %rax, -0x510(%rbp)
movq -0x1c8(%rbp), %rsi
movq -0x1c0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x510(%rbp), %rdi
callq 0x4574
leaq -0x4e0(%rbp), %rax
movq %rax, -0x4f0(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4f0(%rbp), %rdi
callq 0x4574
leaq -0x4c0(%rbp), %rax
movq %rax, -0x4d0(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4d0(%rbp), %rdi
callq 0x4574
leaq -0x4a0(%rbp), %rax
movq %rax, -0x4b0(%rbp)
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4b0(%rbp), %rdi
callq 0x4574
movb -0x2a(%rbp), %r15b
leaq -0x480(%rbp), %rax
movq %rax, -0x490(%rbp)
movq -0x270(%rbp), %rsi
movq -0x268(%rbp), %rdx
addq %rsi, %rdx
leaq -0x490(%rbp), %rdi
callq 0x4574
leaq -0x460(%rbp), %rax
movq %rax, -0x470(%rbp)
movq -0x188(%rbp), %rsi
movq -0x180(%rbp), %rdx
addq %rsi, %rdx
leaq -0x470(%rbp), %rdi
callq 0x4574
leaq -0x440(%rbp), %rax
movq %rax, -0x450(%rbp)
movq -0x168(%rbp), %rsi
movq -0x160(%rbp), %rdx
addq %rsi, %rdx
leaq -0x450(%rbp), %rdi
callq 0x4574
leaq -0x620(%rbp), %rax
movq %rax, -0x630(%rbp)
movq -0x1a8(%rbp), %rsi
movq -0x1a0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x630(%rbp), %r13
movq %r13, %rdi
callq 0x4574
subq $0x8, %rsp
movzbl %r15b, %eax
movsbl -0x2b(%rbp), %r9d
leaq -0x7e0(%rbp), %r15
movq %r15, %rdi
movl %ebx, %esi
leaq -0x570(%rbp), %rdx
leaq -0x550(%rbp), %rcx
leaq -0x530(%rbp), %r8
movsd -0xe8(%rbp), %xmm0
pushq %r13
leaq -0x450(%rbp), %r10
pushq %r10
leaq -0x470(%rbp), %r10
pushq %r10
leaq -0x490(%rbp), %r10
pushq %r10
pushq %rax
leaq -0x4b0(%rbp), %rax
pushq %rax
leaq -0x4d0(%rbp), %rax
pushq %rax
leaq -0x4f0(%rbp), %rax
pushq %rax
leaq -0x510(%rbp), %rax
pushq %rax
callq 0x7004
addq $0x50, %rsp
movl -0x7d8(%rbp), %eax
movl %eax, 0x30(%r14)
leaq 0x38(%r14), %rdi
leaq -0x7d0(%rbp), %rsi
callq 0x30f0
leaq 0x58(%r14), %rdi
leaq -0x7b0(%rbp), %rsi
callq 0x30f0
leaq 0x78(%r14), %rdi
leaq -0x790(%rbp), %rsi
callq 0x30f0
movups 0x70(%r15), %xmm0
movups %xmm0, 0x98(%r14)
leaq 0xa8(%r14), %rdi
movq -0x40(%rbp), %rsi
callq 0x30f0
leaq 0xc8(%r14), %rdi
movq -0x240(%rbp), %rsi
callq 0x30f0
leaq 0xe8(%r14), %rdi
movq -0x238(%rbp), %rsi
callq 0x30f0
leaq 0x108(%r14), %rdi
movq -0x230(%rbp), %rsi
callq 0x30f0
leaq 0x130(%r14), %rdi
movq -0x228(%rbp), %rsi
callq 0x30f0
leaq 0x150(%r14), %rdi
movq -0x220(%rbp), %rsi
callq 0x30f0
leaq 0x170(%r14), %rdi
movq -0x218(%rbp), %rsi
callq 0x30f0
movb -0x678(%rbp), %al
movb %al, 0x190(%r14)
addq $0x198, %r14            # imm = 0x198
movq %r14, %rdi
movq -0x210(%rbp), %rsi
callq 0x30f0
movq %r15, %rdi
callq 0x74d4
movq -0x630(%rbp), %rdi
leaq -0x620(%rbp), %rax
cmpq %rax, %rdi
je 0x2d578
callq 0x31d0
movq -0x450(%rbp), %rdi
leaq -0x440(%rbp), %rax
cmpq %rax, %rdi
movq 0x1aa50(%rip), %r13     # 0x47fe0
je 0x2d597
callq 0x31d0
movq -0x470(%rbp), %rdi
leaq -0x460(%rbp), %rax
cmpq %rax, %rdi
je 0x2d5af
callq 0x31d0
movq -0x490(%rbp), %rdi
leaq -0x480(%rbp), %rax
cmpq %rax, %rdi
je 0x2d5c7
callq 0x31d0
movq -0x4b0(%rbp), %rdi
leaq -0x4a0(%rbp), %rax
cmpq %rax, %rdi
je 0x2d5df
callq 0x31d0
movq -0x4d0(%rbp), %rdi
leaq -0x4c0(%rbp), %rax
cmpq %rax, %rdi
je 0x2d5f7
callq 0x31d0
movq -0x4f0(%rbp), %rdi
leaq -0x4e0(%rbp), %rax
cmpq %rax, %rdi
je 0x2d60f
callq 0x31d0
movq -0x510(%rbp), %rdi
leaq -0x500(%rbp), %rax
cmpq %rax, %rdi
je 0x2d627
callq 0x31d0
movq -0x530(%rbp), %rdi
leaq -0x520(%rbp), %rax
cmpq %rax, %rdi
je 0x2d63f
callq 0x31d0
movq -0x550(%rbp), %rdi
leaq -0x540(%rbp), %rax
cmpq %rax, %rdi
je 0x2d657
callq 0x31d0
movq -0x570(%rbp), %rdi
leaq -0x560(%rbp), %rax
cmpq %rax, %rdi
je 0x2d66f
callq 0x31d0
movb $0x73, -0x29(%rbp)
leaq -0xbe0(%rbp), %rdi
leaq 0xda76(%rip), %rsi      # 0x3b0f7
movl $0x10, %edx
callq 0x3050
movq -0xd8(%rbp), %rax
movq 0x18(%rax), %rbx
cmpq -0x48(%rbp), %rbx
je 0x2d6bd
leaq 0x28(%rbx), %rsi
leaq -0xbe0(%rbp), %rdi
callq 0xc9b7
movq %rbx, %rdi
callq 0x3140
movq %rax, %rbx
cmpq -0x48(%rbp), %rax
jne 0x2d69c
leaq -0xbe0(%rbp), %rdi
callq 0x32a0
jmp 0x2b630
movq -0x108(%rbp), %rax
movb (%rax), %al
movb %al, -0x2b(%rbp)
movb $0x73, -0x29(%rbp)
movq 0x1a8fb(%rip), %r13     # 0x47fe0
movl $0x1c, %edx
movq %r12, %rdi
leaq 0xd5af(%rip), %rsi      # 0x3aca3
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x148(%rbp), %rsi
callq 0x33c0
leaq -0x3c0(%rbp), %rax
movq %rax, -0x3d0(%rbp)
movq -0x148(%rbp), %rsi
movq -0x140(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3d0(%rbp), %rdi
callq 0x4574
leaq -0x3d0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38d29
movl %eax, %ebx
movq -0x3d0(%rbp), %rdi
leaq -0x3c0(%rbp), %rax
cmpq %rax, %rdi
je 0x2d79d
callq 0x31d0
testb %bl, %bl
jne 0x2d807
movl $0x34, %edx
movq %r12, %rdi
leaq 0xd510(%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), %r15
callq 0x3040
movq %rax, %rbx
movl (%rax), %r13d
movl $0x0, (%rax)
movq %r15, %rdi
leaq -0x7e0(%rbp), %rsi
callq 0x3170
movsd %xmm0, -0xe8(%rbp)
cmpq %r15, -0x7e0(%rbp)
je 0x2e1dd
movl (%rbx), %eax
testl %eax, %eax
je 0x2d853
cmpl $0x22, %eax
jne 0x2d856
jmp 0x2e1f5
movl %r13d, (%rbx)
cmpb $0x6e, -0x29(%rbp)
movq 0x1a77f(%rip), %r13     # 0x47fe0
je 0x2d6e5
movl $0x1f, %edx
movq %r12, %rdi
leaq 0xd53b(%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 0x1a736(%rip), %rcx     # 0x47fe0
movq (%rcx), %rax
movq -0x18(%rax), %rdi
addq %rcx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq 0x1a718(%rip), %rdi     # 0x47fe0
leaq -0x188(%rbp), %rsi
callq 0x33c0
leaq -0x188(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38ed7
testb %al, %al
jne 0x2d94e
movl $0x36, %edx
movq %r12, %rdi
leaq 0xd6cb(%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 0x2d867
movl $0x1a, %edx
movq %r12, %rdi
leaq 0xd52c(%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 0x1a645(%rip), %rcx     # 0x47fe0
movq (%rcx), %rax
movq -0x18(%rax), %rdi
addq %rcx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq 0x1a627(%rip), %rdi     # 0x47fe0
leaq -0x168(%rbp), %rsi
callq 0x33c0
leaq -0x168(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x39038
testb %al, %al
jne 0x2da3f
movl $0x24, %edx
movq %r12, %rdi
leaq 0xd437(%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 0x2d958
movl $0x20, %edx
movq %r12, %rdi
leaq 0xd3ec(%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 0x1a554(%rip), %rcx     # 0x47fe0
movq (%rcx), %rax
movq -0x18(%rax), %rdi
addq %rcx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq 0x1a536(%rip), %rdi     # 0x47fe0
leaq -0x1a8(%rbp), %rsi
callq 0x33c0
leaq -0x1a8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38ed7
testb %al, %al
jne 0x2db30
movl $0x35, %edx
movq %r12, %rdi
leaq 0xd2f8(%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 0x2da49
movl -0x34(%rbp), %ebx
leaq -0x3a0(%rbp), %rax
movq %rax, -0x3b0(%rbp)
movq -0x208(%rbp), %rsi
movq -0x200(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3b0(%rbp), %rdi
callq 0x4574
leaq -0x380(%rbp), %rax
movq %rax, -0x390(%rbp)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
leaq -0x390(%rbp), %rdi
callq 0x4574
leaq -0x360(%rbp), %rax
movq %rax, -0x370(%rbp)
movq -0x1e8(%rbp), %rsi
movq -0x1e0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x370(%rbp), %rdi
callq 0x4574
leaq -0x340(%rbp), %rax
movq %rax, -0x350(%rbp)
movq -0x1c8(%rbp), %rsi
movq -0x1c0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x350(%rbp), %rdi
callq 0x4574
leaq -0x320(%rbp), %rax
movq %rax, -0x330(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x330(%rbp), %rdi
callq 0x4574
leaq -0x300(%rbp), %rax
movq %rax, -0x310(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x310(%rbp), %rdi
callq 0x4574
leaq -0x2e0(%rbp), %rax
movq %rax, -0x2f0(%rbp)
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2f0(%rbp), %rdi
callq 0x4574
movb -0x2a(%rbp), %r15b
leaq -0x2c0(%rbp), %rax
movq %rax, -0x2d0(%rbp)
movq -0x270(%rbp), %rsi
movq -0x268(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2d0(%rbp), %rdi
callq 0x4574
leaq -0x2a0(%rbp), %rax
movq %rax, -0x2b0(%rbp)
movq -0x188(%rbp), %rsi
movq -0x180(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2b0(%rbp), %rdi
callq 0x4574
leaq -0x280(%rbp), %rax
movq %rax, -0x290(%rbp)
movq -0x168(%rbp), %rsi
movq -0x160(%rbp), %rdx
addq %rsi, %rdx
leaq -0x290(%rbp), %rdi
callq 0x4574
leaq -0x600(%rbp), %rax
movq %rax, -0x610(%rbp)
movq -0x1a8(%rbp), %rsi
movq -0x1a0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x610(%rbp), %r13
movq %r13, %rdi
callq 0x4574
subq $0x8, %rsp
movzbl %r15b, %eax
movsbl -0x2b(%rbp), %r9d
leaq -0x7e0(%rbp), %r15
movq %r15, %rdi
movl %ebx, %esi
leaq -0x3b0(%rbp), %rdx
leaq -0x390(%rbp), %rcx
leaq -0x370(%rbp), %r8
movsd -0xe8(%rbp), %xmm0
pushq %r13
leaq -0x290(%rbp), %r10
pushq %r10
leaq -0x2b0(%rbp), %r10
pushq %r10
leaq -0x2d0(%rbp), %r10
pushq %r10
pushq %rax
leaq -0x2f0(%rbp), %rax
pushq %rax
leaq -0x310(%rbp), %rax
pushq %rax
leaq -0x330(%rbp), %rax
pushq %rax
leaq -0x350(%rbp), %rax
pushq %rax
callq 0x752a
addq $0x50, %rsp
movl -0x7d8(%rbp), %eax
movl %eax, 0x30(%r14)
leaq 0x38(%r14), %rdi
leaq -0x7d0(%rbp), %rsi
callq 0x30f0
leaq 0x58(%r14), %rdi
leaq -0x7b0(%rbp), %rsi
callq 0x30f0
leaq 0x78(%r14), %rdi
leaq -0x790(%rbp), %rsi
callq 0x30f0
movups 0x70(%r15), %xmm0
movups %xmm0, 0x98(%r14)
leaq 0xa8(%r14), %rdi
movq -0x40(%rbp), %rsi
callq 0x30f0
leaq 0xc8(%r14), %rdi
movq -0x240(%rbp), %rsi
callq 0x30f0
leaq 0xe8(%r14), %rdi
movq -0x238(%rbp), %rsi
callq 0x30f0
leaq 0x108(%r14), %rdi
movq -0x230(%rbp), %rsi
callq 0x30f0
leaq 0x130(%r14), %rdi
movq -0x228(%rbp), %rsi
callq 0x30f0
leaq 0x150(%r14), %rdi
movq -0x220(%rbp), %rsi
callq 0x30f0
leaq 0x170(%r14), %rdi
movq -0x218(%rbp), %rsi
callq 0x30f0
movb -0x678(%rbp), %al
movb %al, 0x190(%r14)
addq $0x198, %r14            # imm = 0x198
movq %r14, %rdi
movq -0x210(%rbp), %rsi
callq 0x30f0
movq %r15, %rdi
callq 0x79a6
movq -0x610(%rbp), %rdi
leaq -0x600(%rbp), %rax
cmpq %rax, %rdi
je 0x2dea0
callq 0x31d0
movq -0x290(%rbp), %rdi
leaq -0x280(%rbp), %rax
cmpq %rax, %rdi
movq 0x1a128(%rip), %r13     # 0x47fe0
je 0x2debf
callq 0x31d0
movq -0x2b0(%rbp), %rdi
leaq -0x2a0(%rbp), %rax
cmpq %rax, %rdi
je 0x2ded7
callq 0x31d0
movq -0x2d0(%rbp), %rdi
leaq -0x2c0(%rbp), %rax
cmpq %rax, %rdi
je 0x2deef
callq 0x31d0
movq -0x2f0(%rbp), %rdi
leaq -0x2e0(%rbp), %rax
cmpq %rax, %rdi
je 0x2df07
callq 0x31d0
movq -0x310(%rbp), %rdi
leaq -0x300(%rbp), %rax
cmpq %rax, %rdi
je 0x2df1f
callq 0x31d0
movq -0x330(%rbp), %rdi
leaq -0x320(%rbp), %rax
cmpq %rax, %rdi
je 0x2df37
callq 0x31d0
movq -0x350(%rbp), %rdi
leaq -0x340(%rbp), %rax
cmpq %rax, %rdi
je 0x2df4f
callq 0x31d0
movq -0x370(%rbp), %rdi
leaq -0x360(%rbp), %rax
cmpq %rax, %rdi
je 0x2df67
callq 0x31d0
movq -0x390(%rbp), %rdi
leaq -0x380(%rbp), %rax
cmpq %rax, %rdi
je 0x2df7f
callq 0x31d0
movq -0x3b0(%rbp), %rdi
leaq -0x3a0(%rbp), %rax
cmpq %rax, %rdi
je 0x2df97
callq 0x31d0
movb $0x73, -0x29(%rbp)
leaq -0x9e0(%rbp), %rdi
leaq 0xd15e(%rip), %rsi      # 0x3b107
movl $0x10, %edx
callq 0x3050
movq -0xe0(%rbp), %rax
movq 0x18(%rax), %rbx
cmpq -0x50(%rbp), %rbx
je 0x2dfe5
leaq 0x28(%rbx), %rsi
leaq -0x9e0(%rbp), %rdi
callq 0xd034
movq %rbx, %rdi
callq 0x3140
movq %rax, %rbx
cmpq -0x50(%rbp), %rax
jne 0x2dfc4
leaq -0x9e0(%rbp), %rdi
callq 0x32a0
jmp 0x2b747
movq 0x19fcb(%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 -0x128(%rbp), %rdi
leaq -0x118(%rbp), %rax
cmpq %rax, %rdi
je 0x2e078
callq 0x31d0
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x2e090
callq 0x31d0
movq -0x108(%rbp), %rdi
leaq -0xf8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e0a8
callq 0x31d0
movq -0x650(%rbp), %rdi
leaq -0x640(%rbp), %rax
cmpq %rax, %rdi
je 0x2e0c0
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x2e0d2
callq 0x31d0
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0x2e0ea
callq 0x31d0
movq -0x168(%rbp), %rdi
leaq -0x158(%rbp), %rax
cmpq %rax, %rdi
je 0x2e102
callq 0x31d0
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x2e11a
callq 0x31d0
movq -0x1a8(%rbp), %rdi
leaq -0x198(%rbp), %rax
cmpq %rax, %rdi
je 0x2e132
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x2e147
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e15f
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e177
callq 0x31d0
movq -0x1c8(%rbp), %rdi
leaq -0x1b8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e18f
callq 0x31d0
movq -0x1e8(%rbp), %rdi
leaq -0x1d8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e1a7
callq 0x31d0
movq -0x208(%rbp), %rdi
leaq -0x1f8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e1bf
callq 0x31d0
addq $0xbb8, %rsp            # imm = 0xBB8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xcfda(%rip), %rdi      # 0x3b1b2
callq 0x3110
leaq 0xcfce(%rip), %rdi      # 0x3b1b2
callq 0x3110
leaq 0xcfc2(%rip), %rdi      # 0x3b1b2
callq 0x32b0
leaq 0xcfb6(%rip), %rdi      # 0x3b1b2
callq 0x32b0
movq %rax, %r14
jmp 0x2e433
movq %rax, %r14
jmp 0x2e44b
movq %rax, %r14
jmp 0x2e2e8
movq %rax, %r14
jmp 0x2e463
movq %rax, %r14
jmp 0x2e300
movq %rax, %r14
jmp 0x2e47b
movq %rax, %r14
jmp 0x2e318
movq %rax, %r14
jmp 0x2e493
movq %rax, %r14
jmp 0x2e330
movq %rax, %r14
jmp 0x2e4ab
movq %rax, %r14
jmp 0x2e348
movq %rax, %r14
jmp 0x2e3a8
movq %rax, %r14
jmp 0x2e4f3
movq %rax, %r14
jmp 0x2e4db
movq %rax, %r14
jmp 0x2e378
movq %rax, %r14
jmp 0x2e4c3
movq %rax, %r14
jmp 0x2e360
movq %rax, %r14
jmp 0x2e390
jmp 0x2e684
movq %rax, %r14
jmp 0x2e3c0
movq %rax, %r14
jmp 0x2e3d8
movq %rax, %r14
jmp 0x2e403
jmp 0x2e684
movq %rax, %r14
jmp 0x2e41b
movq %rax, %r14
movq 0x19d03(%rip), %rax     # 0x47fc8
movq (%rax), %rbx
movq 0x18(%rax), %r15
jmp 0x2e6bd
movq %rax, %r14
jmp 0x2e6e5
movq %rax, %r14
leaq -0x7e0(%rbp), %rdi
callq 0x74d4
movq -0x630(%rbp), %rdi
leaq -0x620(%rbp), %rax
cmpq %rax, %rdi
je 0x2e300
callq 0x31d0
movq -0x450(%rbp), %rdi
leaq -0x440(%rbp), %rax
cmpq %rax, %rdi
je 0x2e318
callq 0x31d0
movq -0x470(%rbp), %rdi
leaq -0x460(%rbp), %rax
cmpq %rax, %rdi
je 0x2e330
callq 0x31d0
movq -0x490(%rbp), %rdi
leaq -0x480(%rbp), %rax
cmpq %rax, %rdi
je 0x2e348
callq 0x31d0
movq -0x4b0(%rbp), %rdi
leaq -0x4a0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e360
callq 0x31d0
movq -0x4d0(%rbp), %rdi
leaq -0x4c0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e378
callq 0x31d0
movq -0x4f0(%rbp), %rdi
leaq -0x4e0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e390
callq 0x31d0
movq -0x510(%rbp), %rdi
leaq -0x500(%rbp), %rax
cmpq %rax, %rdi
je 0x2e3a8
callq 0x31d0
movq -0x530(%rbp), %rdi
leaq -0x520(%rbp), %rax
cmpq %rax, %rdi
je 0x2e3c0
callq 0x31d0
movq -0x550(%rbp), %rdi
leaq -0x540(%rbp), %rax
cmpq %rax, %rdi
je 0x2e3d8
callq 0x31d0
movq -0x570(%rbp), %rdi
leaq -0x560(%rbp), %rax
cmpq %rax, %rdi
je 0x2e687
jmp 0x2e62a
movq %rax, %r14
leaq -0x7e0(%rbp), %rdi
callq 0x79a6
movq -0x610(%rbp), %rdi
leaq -0x600(%rbp), %rax
cmpq %rax, %rdi
je 0x2e41b
callq 0x31d0
movq -0x290(%rbp), %rdi
leaq -0x280(%rbp), %rax
cmpq %rax, %rdi
je 0x2e433
callq 0x31d0
movq -0x2b0(%rbp), %rdi
leaq -0x2a0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e44b
callq 0x31d0
movq -0x2d0(%rbp), %rdi
leaq -0x2c0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e463
callq 0x31d0
movq -0x2f0(%rbp), %rdi
leaq -0x2e0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e47b
callq 0x31d0
movq -0x310(%rbp), %rdi
leaq -0x300(%rbp), %rax
cmpq %rax, %rdi
je 0x2e493
callq 0x31d0
movq -0x330(%rbp), %rdi
leaq -0x320(%rbp), %rax
cmpq %rax, %rdi
je 0x2e4ab
callq 0x31d0
movq -0x350(%rbp), %rdi
leaq -0x340(%rbp), %rax
cmpq %rax, %rdi
je 0x2e4c3
callq 0x31d0
movq -0x370(%rbp), %rdi
leaq -0x360(%rbp), %rax
cmpq %rax, %rdi
je 0x2e4db
callq 0x31d0
movq -0x390(%rbp), %rdi
leaq -0x380(%rbp), %rax
cmpq %rax, %rdi
je 0x2e4f3
callq 0x31d0
movq -0x3b0(%rbp), %rdi
leaq -0x3a0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e687
jmp 0x2e62a
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
movq %rax, %r14
movq -0x590(%rbp), %rdi
leaq -0x580(%rbp), %rax
cmpq %rax, %rdi
je 0x2e687
jmp 0x2e62a
movq %rax, %r14
movq -0x3d0(%rbp), %rdi
leaq -0x3c0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e687
jmp 0x2e62a
movq %rax, %r14
movq -0x5f0(%rbp), %rdi
leaq -0x5e0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e687
jmp 0x2e62a
movq %rax, %r14
movq -0x430(%rbp), %rdi
leaq -0x420(%rbp), %rax
cmpq %rax, %rdi
je 0x2e687
jmp 0x2e62a
jmp 0x2e5a1
movq %rax, %r14
cmpl $0x0, (%rbx)
jne 0x2e687
movl %r13d, (%rbx)
jmp 0x2e687
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
movq %rax, %r14
movq -0x5b0(%rbp), %rdi
leaq -0x5a0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e687
jmp 0x2e62a
movq %rax, %r14
movq -0x3f0(%rbp), %rdi
leaq -0x3e0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e687
jmp 0x2e62a
movq %rax, %r14
movq -0x5d0(%rbp), %rdi
leaq -0x5c0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e687
jmp 0x2e62a
movq %rax, %r14
movq -0x410(%rbp), %rdi
leaq -0x400(%rbp), %rax
cmpq %rax, %rdi
je 0x2e687
callq 0x31d0
jmp 0x2e687
jmp 0x2e633
movq %rax, %r14
movq 0x19973(%rip), %rsi     # 0x47fb0
leaq -0x7e0(%rbp), %rdi
callq 0x3160
movq -0x40(%rbp), %rdi
callq 0x30d0
jmp 0x2e687
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
jmp 0x2e684
movq %rax, %r14
movq 0x1993a(%rip), %rax     # 0x47fc8
movq (%rax), %rbx
movq 0x18(%rax), %r15
leaq -0x9d8(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r15, -0x9e0(%rbp,%rax)
callq 0x3190
leaq -0x8e8(%rbp), %rdi
callq 0x30d0
leaq -0xbd8(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r15, -0xbe0(%rbp,%rax)
callq 0x3190
leaq -0xae8(%rbp), %rdi
callq 0x30d0
movq -0x128(%rbp), %rdi
leaq -0x118(%rbp), %rax
cmpq %rax, %rdi
je 0x2e6fd
callq 0x31d0
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x2e715
callq 0x31d0
movq -0x108(%rbp), %rdi
leaq -0xf8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e72d
callq 0x31d0
movq -0x650(%rbp), %rdi
leaq -0x640(%rbp), %rax
cmpq %rax, %rdi
je 0x2e745
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x2e757
callq 0x31d0
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0x2e76f
callq 0x31d0
movq -0x168(%rbp), %rdi
leaq -0x158(%rbp), %rax
cmpq %rax, %rdi
je 0x2e787
callq 0x31d0
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x2e79f
callq 0x31d0
movq -0x1a8(%rbp), %rdi
leaq -0x198(%rbp), %rax
cmpq %rax, %rdi
je 0x2e7b7
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x2e7cc
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e7e4
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x2e7fc
callq 0x31d0
movq -0x1c8(%rbp), %rdi
leaq -0x1b8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e814
callq 0x31d0
movq -0x1e8(%rbp), %rdi
leaq -0x1d8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e82c
callq 0x31d0
movq -0x208(%rbp), %rdi
leaq -0x1f8(%rbp), %rax
cmpq %rax, %rdi
je 0x2e844
callq 0x31d0
movq %r14, %rdi
callq 0x3380