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

					classe = "Mammalia";

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

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

					//Recebe a dieta e verifica se não possui caracteres proibidos.
					do{
						cout << "Digite a dieta: " << endl;
						getline(cin, dieta);
						if(!verifica_dieta(dieta, sucesso)){
							cout << "ERRO: só pode ser inserido letra ou espaço!" << endl << endl;
						}
					}while(sucesso == 'n');

					//Recebe o nome do veterinario e verifica se não possui caracteres proibidos.
					do{
						cout << "Digite o nome do veterinario: " << endl;
						getline(cin, veterinario);
						
						if(!verifica_nome(veterinario, sucesso)){
							cout << "ERRO: só pode ser inserido letra ou espaço!" << endl << endl;
						}
						check = check_vet(vets, veterinario);
						if(!check){
							cout << endl;
							cout << "ERRO: Veterinario não cadastrado!" << endl;
							sucesso = 'n';
						}
					}while(sucesso == 'n');

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

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

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

					//Recebe o tamanho do animal e verifica se não caracteres pproibidos.
					do{
						cout << "Digite o tamanho do animal: " << endl;
						getline(cin, tamanho_string);
						if(!verifica_tamanho(tamanho_string, sucesso)){
							cout << "ERRO: o tamanho do animal tem que ter apenas um '.' " << endl << endl;
						}
						tamanho = stod(tamanho_string);
					}while(sucesso == 'n');

					do{
						cout << "Digite a cor do pelo: " << endl;
						getline(cin, cor);
						if(!verifica_cor(cor, sucesso)){
							cout << "ERRO: a cor do animal deve conter letras, espaço ou '-'" << endl << endl;
						}
					}while(sucesso == 'n');
					
					//Verifica se a autorizacao está no formato correto.
					do{
						cout << "Insira a autorizacao do IBAMA: " << endl;
						getline(cin, autorizacao_IBAMA);
						if(!verifica_autorizacao(autorizacao_IBAMA, sucesso)){
							cout << "ERRO: A autorizacao deve conter letras, numeros 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 = MAMIFERO_NATIVO(id_buscado, classe, nome, nome_cientifico, sexo, tamanho, dieta, veterinario, tratador, nome_batismo, cor, autorizacao_IBAMA, origem, autorizacao);
					sucesso = 's';
				}
				else{
					cout << "Animal não cadastrado!!" << endl;
					sucesso = 'n';
				}
				if(sucesso == 's'){
					nativos.open("mamiferos_nat.txt");
					for(auto it = mamiferos_nat.begin(); it != mamiferos_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 = mamiferos_ex.find(id_buscado);
			
				if(result != mamiferos_ex.end()){
					cout << "ID existe!" << endl;

					classe = "Mammallia";

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

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

					//Recebe a dieta e verifica se não possui caracteres proibidos.
					do{
						cout << "Digite a dieta: " << endl;
						getline(cin, dieta);
						if(!verifica_dieta(dieta, sucesso)){
							cout << "ERRO: só pode ser inserido letra ou espaço!" << endl << endl;
						}
					}while(sucesso == 'n');

					//Recebe o nome do veterinario e verifica se não possui caracteres proibidos.
					do{
						cout << "Digite o nome do veterinario: " << endl;
						getline(cin, veterinario);
						
						if(!verifica_nome(veterinario, sucesso)){
							cout << "ERRO: só pode ser inserido letra ou espaço!" << endl << endl;
						}
						check = check_vet(vets, veterinario);
						if(!check){
							cout << endl;
							cout << "ERRO: Veterinario não cadastrado!" << endl;
							sucesso = 'n';
						}
					}while(sucesso == 'n');

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

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

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

					//Recebe o tamanho do animal e verifica se não caracteres pproibidos.
					do{
						cout << "Digite o tamanho do animal: " << endl;
						getline(cin, tamanho_string);
						if(!verifica_tamanho(tamanho_string, sucesso)){
							cout << "ERRO: o tamanho do animal tem que ter apenas um '.' " << endl << endl;
						}
						tamanho = stod(tamanho_string);
					}while(sucesso == 'n');

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

					//Verifica se foi passado uma string.
					do{
						cout << "Digiteo 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 = MAMIFERO_EXOTICO(id_buscado, classe, nome, nome_cientifico, sexo, tamanho, dieta, veterinario, tratador, nome_batismo, cor, autorizacao_IBAMA, origem, autorizacao);
					sucesso = 's';
				}
				else{
					cout << "Animal não cadastrado!!" << endl;
					sucesso = 'n';
				}
				if(sucesso == 's'){
					exoticos.open("mamiferos_ex.txt");
					for(auto it = mamiferos_ex.begin(); it != mamiferos_ex.end(); it++){
						exoticos << (*it).second;
					}
					exoticos.close();
				}
				cout << "Deseja editar outro? s/n" << endl;
				cin >> op;
			}
		} // Primeiro else.
	}while(op == 's');
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1280, %rsp           # imm = 0x1280
movq %rdx, -0xdc0(%rbp)
movq %rcx, -0xdb8(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movb $0x6d, -0x26(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x3300
leaq -0x70(%rbp), %rdi
callq 0x3300
leaq -0x90(%rbp), %rdi
callq 0x3300
leaq -0xb0(%rbp), %rdi
callq 0x3300
leaq -0xd0(%rbp), %rdi
callq 0x3300
leaq -0xf0(%rbp), %rdi
callq 0x3300
leaq -0x110(%rbp), %rdi
callq 0x3300
leaq -0x130(%rbp), %rdi
callq 0x3300
leaq -0x150(%rbp), %rdi
callq 0x3300
leaq -0x170(%rbp), %rdi
callq 0x3300
leaq -0x190(%rbp), %rdi
callq 0x3300
leaq -0x1b0(%rbp), %rdi
callq 0x3300
leaq -0x1d0(%rbp), %rdi
callq 0x3300
leaq -0x1f0(%rbp), %rdi
callq 0x3300
leaq -0x400(%rbp), %rdi
callq 0x33b0
jmp 0x2e33d
leaq -0x610(%rbp), %rdi
callq 0x33b0
jmp 0x2e34b
jmp 0x2e34d
movq 0x22c64(%rip), %rdi     # 0x50fb8
leaq 0x13e9c(%rip), %rsi     # 0x421f7
callq 0x3240
movq %rax, -0xdc8(%rbp)
jmp 0x2e369
movq -0xdc8(%rbp), %rdi
movq 0x22c29(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2e37e
movq 0x22c53(%rip), %rdi     # 0x50fd8
leaq -0x25(%rbp), %rsi
callq 0x32e0
jmp 0x2e390
movsbl -0x25(%rbp), %eax
cmpl $0x6e, %eax
je 0x2e48b
movsbl -0x25(%rbp), %eax
cmpl $0x65, %eax
je 0x2e48b
movq 0x22c07(%rip), %rdi     # 0x50fb8
leaq 0x13e19(%rip), %rsi     # 0x421d1
callq 0x3240
movq %rax, -0xdd0(%rbp)
jmp 0x2e3c6
movq -0xdd0(%rbp), %rdi
movq 0x22bcc(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2e3db
movq 0x22bd6(%rip), %rdi     # 0x50fb8
movq 0x22bb7(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2e3f0
movq 0x22bc1(%rip), %rdi     # 0x50fb8
leaq 0x131da(%rip), %rsi     # 0x415d8
callq 0x3240
movq %rax, -0xdd8(%rbp)
jmp 0x2e40c
movq -0xdd8(%rbp), %rdi
movq 0x22b86(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2e421
movq 0x22bb0(%rip), %rdi     # 0x50fd8
leaq -0x21(%rbp), %rsi
callq 0x32e0
jmp 0x2e433
movsbl -0x21(%rbp), %eax
cmpl $0x73, %eax
jne 0x2e486
jmp 0x30b40
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x30c1b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x30c0f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x30c03
jmp 0x30b31
movsbl -0x25(%rbp), %eax
cmpl $0x6e, %eax
jne 0x2f7e5
movq 0x22b19(%rip), %rdi     # 0x50fb8
leaq 0x13d81(%rip), %rsi     # 0x42227
callq 0x3240
movq %rax, -0xde0(%rbp)
jmp 0x2e4b4
movq -0xde0(%rbp), %rdi
movq 0x22ade(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2e4c9
movq 0x22b08(%rip), %rdi     # 0x50fd8
leaq -0x2c(%rbp), %rsi
callq 0x3170
jmp 0x2e4db
movq -0x8(%rbp), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x37690
movq %rax, -0xde8(%rbp)
jmp 0x2e4f1
movq -0xde8(%rbp), %rax
movq %rax, -0x618(%rbp)
movq -0x8(%rbp), %rdi
callq 0x13f10
movq %rax, -0x620(%rbp)
leaq -0x618(%rbp), %rdi
leaq -0x620(%rbp), %rsi
callq 0x13ee0
testb $0x1, %al
jne 0x2e52b
jmp 0x2f6be
movq 0x22a86(%rip), %rdi     # 0x50fb8
leaq 0x13d04(%rip), %rsi     # 0x4223d
callq 0x3240
movq %rax, -0xdf0(%rbp)
jmp 0x2e547
movq -0xdf0(%rbp), %rdi
movq 0x22a4b(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2e55c
leaq 0x139c6(%rip), %rsi     # 0x41f29
leaq -0x50(%rbp), %rdi
callq 0x32f0
jmp 0x2e56e
jmp 0x2e570
movq 0x22a41(%rip), %rdi     # 0x50fb8
leaq 0x131c5(%rip), %rsi     # 0x41743
callq 0x3240
movq %rax, -0xdf8(%rbp)
jmp 0x2e58c
movq -0xdf8(%rbp), %rdi
movq 0x22a06(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2e5a1
movq 0x22a30(%rip), %rdi     # 0x50fd8
callq 0x33f0
jmp 0x2e5af
movq 0x22a22(%rip), %rdi     # 0x50fd8
leaq -0x190(%rbp), %rsi
callq 0x3070
jmp 0x2e5c4
leaq -0x190(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x3f480
movb %al, -0xdf9(%rbp)
jmp 0x2e5dc
movb -0xdf9(%rbp), %al
testb $0x1, %al
jne 0x2e637
jmp 0x2e5e8
movq 0x229c9(%rip), %rdi     # 0x50fb8
leaq 0x1315c(%rip), %rsi     # 0x41752
callq 0x3240
movq %rax, -0xe08(%rbp)
jmp 0x2e604
movq -0xe08(%rbp), %rdi
movq 0x2298e(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0xe10(%rbp)
jmp 0x2e620
movq -0xe10(%rbp), %rdi
movq 0x22972(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2e635
jmp 0x2e637
leaq -0x190(%rbp), %rdi
movq %rdi, -0xe20(%rbp)
callq 0x31e0
movq -0xe20(%rbp), %rdi
movq %rax, -0x628(%rbp)
callq 0x3120
movq -0xe20(%rbp), %rdi
movq %rax, -0x630(%rbp)
callq 0x31e0
movq %rax, -0x638(%rbp)
movq -0x628(%rbp), %rdi
movq -0x630(%rbp), %rsi
movq -0x638(%rbp), %rdx
movq 0x22935(%rip), %rcx     # 0x50fc8
callq 0x1f5a0
movq %rax, -0xe18(%rbp)
jmp 0x2e6a1
movq -0xe18(%rbp), %rax
movq %rax, -0x640(%rbp)
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x2e570
jmp 0x2e6be
movq 0x228f3(%rip), %rdi     # 0x50fb8
leaq 0x1344a(%rip), %rsi     # 0x41b16
callq 0x3240
movq %rax, -0xe28(%rbp)
jmp 0x2e6da
movq -0xe28(%rbp), %rdi
movq 0x228b8(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2e6ef
movq 0x228e2(%rip), %rdi     # 0x50fd8
leaq -0x70(%rbp), %rsi
callq 0x3070
jmp 0x2e701
leaq -0x70(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x3f5c0
movb %al, -0xe29(%rbp)
jmp 0x2e716
movb -0xe29(%rbp), %al
testb $0x1, %al
jne 0x2e771
jmp 0x2e722
movq 0x2288f(%rip), %rdi     # 0x50fb8
leaq 0x13401(%rip), %rsi     # 0x41b31
callq 0x3240
movq %rax, -0xe38(%rbp)
jmp 0x2e73e
movq -0xe38(%rbp), %rdi
movq 0x22854(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0xe40(%rbp)
jmp 0x2e75a
movq -0xe40(%rbp), %rdi
movq 0x22838(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2e76f
jmp 0x2e771
jmp 0x2e773
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x2e6be
jmp 0x2e782
movq 0x2282f(%rip), %rdi     # 0x50fb8
leaq 0x133d7(%rip), %rsi     # 0x41b67
callq 0x3240
movq %rax, -0xe48(%rbp)
jmp 0x2e79e
movq -0xe48(%rbp), %rdi
movq 0x227f4(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2e7b3
movq 0x2281e(%rip), %rdi     # 0x50fd8
leaq -0x90(%rbp), %rsi
callq 0x3070
jmp 0x2e7c8
leaq -0x90(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x40170
movb %al, -0xe49(%rbp)
jmp 0x2e7e0
movb -0xe49(%rbp), %al
testb $0x1, %al
jne 0x2e83b
jmp 0x2e7ec
movq 0x227c5(%rip), %rdi     # 0x50fb8
leaq 0x12f58(%rip), %rsi     # 0x41752
callq 0x3240
movq %rax, -0xe58(%rbp)
jmp 0x2e808
movq -0xe58(%rbp), %rdi
movq 0x2278a(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0xe60(%rbp)
jmp 0x2e824
movq -0xe60(%rbp), %rdi
movq 0x2276e(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2e839
jmp 0x2e83b
jmp 0x2e83d
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x2e782
jmp 0x2e84c
movq 0x22765(%rip), %rdi     # 0x50fb8
leaq 0x1331e(%rip), %rsi     # 0x41b78
callq 0x3240
movq %rax, -0xe68(%rbp)
jmp 0x2e868
movq -0xe68(%rbp), %rdi
movq 0x2272a(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2e87d
movq 0x22754(%rip), %rdi     # 0x50fd8
leaq -0xb0(%rbp), %rsi
callq 0x3070
jmp 0x2e892
leaq -0xb0(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x3f480
movb %al, -0xe69(%rbp)
jmp 0x2e8aa
movb -0xe69(%rbp), %al
testb $0x1, %al
jne 0x2e905
jmp 0x2e8b6
movq 0x226fb(%rip), %rdi     # 0x50fb8
leaq 0x12e8e(%rip), %rsi     # 0x41752
callq 0x3240
movq %rax, -0xe78(%rbp)
jmp 0x2e8d2
movq -0xe78(%rbp), %rdi
movq 0x226c0(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0xe80(%rbp)
jmp 0x2e8ee
movq -0xe80(%rbp), %rdi
movq 0x226a4(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2e903
jmp 0x2e905
leaq -0x660(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x3100
jmp 0x2e91a
movq -0xdc0(%rbp), %rdi
leaq -0x660(%rbp), %rsi
callq 0x3d7a0
movb %al, -0xe81(%rbp)
jmp 0x2e935
movb -0xe81(%rbp), %al
andb $0x1, %al
movb %al, -0x1f9(%rbp)
leaq -0x660(%rbp), %rdi
callq 0x3180
testb $0x1, -0x1f9(%rbp)
jne 0x2e9c7
movq 0x22659(%rip), %rdi     # 0x50fb8
movq 0x2263a(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2e96d
movq 0x22644(%rip), %rdi     # 0x50fb8
leaq 0x1321c(%rip), %rsi     # 0x41b97
callq 0x3240
movq %rax, -0xe90(%rbp)
jmp 0x2e989
movq -0xe90(%rbp), %rdi
movq 0x22609(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2e99e
movb $0x6e, -0x23(%rbp)
jmp 0x2e9c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
leaq -0x660(%rbp), %rdi
callq 0x3180
jmp 0x30c03
jmp 0x2e9c9
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x2e84c
jmp 0x2e9d8
movq 0x225d9(%rip), %rdi     # 0x50fb8
leaq 0x131d4(%rip), %rsi     # 0x41bba
callq 0x3240
movq %rax, -0xe98(%rbp)
jmp 0x2e9f4
movq -0xe98(%rbp), %rdi
movq 0x2259e(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2ea09
movq 0x225c8(%rip), %rdi     # 0x50fd8
leaq -0xd0(%rbp), %rsi
callq 0x3070
jmp 0x2ea1e
leaq -0xd0(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x3f480
movb %al, -0xe99(%rbp)
jmp 0x2ea36
movb -0xe99(%rbp), %al
testb $0x1, %al
jne 0x2ea91
jmp 0x2ea42
movq 0x2256f(%rip), %rdi     # 0x50fb8
leaq 0x12d02(%rip), %rsi     # 0x41752
callq 0x3240
movq %rax, -0xea8(%rbp)
jmp 0x2ea5e
movq -0xea8(%rbp), %rdi
movq 0x22534(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0xeb0(%rbp)
jmp 0x2ea7a
movq -0xeb0(%rbp), %rdi
movq 0x22518(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2ea8f
jmp 0x2ea91
leaq -0x680(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x3100
jmp 0x2eaa6
movq -0xdb8(%rbp), %rsi
movsbl -0x26(%rbp), %ecx
xorl %edi, %edi
leaq -0x680(%rbp), %rdx
callq 0x3d850
movb %al, -0xeb1(%rbp)
jmp 0x2eac7
movb -0xeb1(%rbp), %al
andb $0x1, %al
movb %al, -0x1f9(%rbp)
leaq -0x680(%rbp), %rdi
callq 0x3180
testb $0x1, -0x1f9(%rbp)
jne 0x2eb79
movq 0x224c3(%rip), %rdi     # 0x50fb8
movq 0x224a4(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2eb03
movq 0x224ae(%rip), %rdi     # 0x50fb8
leaq 0x130c5(%rip), %rsi     # 0x41bd6
callq 0x3240
movq %rax, -0xec0(%rbp)
jmp 0x2eb1f
movq -0xec0(%rbp), %rdi
movq 0x22473(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0xec8(%rbp)
jmp 0x2eb3b
movq -0xec8(%rbp), %rdi
movq 0x22457(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2eb50
movb $0x6e, -0x23(%rbp)
jmp 0x2eb79
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
leaq -0x680(%rbp), %rdi
callq 0x3180
jmp 0x30c03
jmp 0x2eb7b
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x2e9d8
jmp 0x2eb8a
movq 0x22427(%rip), %rdi     # 0x50fb8
leaq 0x13070(%rip), %rsi     # 0x41c08
callq 0x3240
movq %rax, -0xed0(%rbp)
jmp 0x2eba6
movq -0xed0(%rbp), %rdi
movq 0x223ec(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2ebbb
movq 0x22416(%rip), %rdi     # 0x50fd8
leaq -0xf0(%rbp), %rsi
callq 0x3070
jmp 0x2ebd0
leaq -0xf0(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x3f480
movb %al, -0xed1(%rbp)
jmp 0x2ebe8
movb -0xed1(%rbp), %al
testb $0x1, %al
jne 0x2ec43
jmp 0x2ebf4
movq 0x223bd(%rip), %rdi     # 0x50fb8
leaq 0x12b50(%rip), %rsi     # 0x41752
callq 0x3240
movq %rax, -0xee0(%rbp)
jmp 0x2ec10
movq -0xee0(%rbp), %rdi
movq 0x22382(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0xee8(%rbp)
jmp 0x2ec2c
movq -0xee8(%rbp), %rdi
movq 0x22366(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2ec41
jmp 0x2ec43
leaq -0xf0(%rbp), %rdi
movq %rdi, -0xef8(%rbp)
callq 0x31e0
movq -0xef8(%rbp), %rdi
movq %rax, -0x688(%rbp)
callq 0x3120
movq -0xef8(%rbp), %rdi
movq %rax, -0x690(%rbp)
callq 0x31e0
movq %rax, -0x698(%rbp)
movq -0x688(%rbp), %rdi
movq -0x690(%rbp), %rsi
movq -0x698(%rbp), %rdx
movq 0x22329(%rip), %rcx     # 0x50fc8
callq 0x1f5a0
movq %rax, -0xef0(%rbp)
jmp 0x2ecad
movq -0xef0(%rbp), %rax
movq %rax, -0x6a0(%rbp)
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x2eb8a
jmp 0x2ecca
movq 0x222e7(%rip), %rdi     # 0x50fb8
leaq 0x12f4b(%rip), %rsi     # 0x41c23
callq 0x3240
movq %rax, -0xf00(%rbp)
jmp 0x2ece6
movq -0xf00(%rbp), %rdi
movq 0x222ac(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2ecfb
movq 0x222d6(%rip), %rdi     # 0x50fd8
leaq -0x1d0(%rbp), %rsi
callq 0x3070
jmp 0x2ed10
leaq -0x1d0(%rbp), %rdi
movq %rdi, -0xf10(%rbp)
callq 0x31e0
movq -0xf10(%rbp), %rdi
movq %rax, -0x6a8(%rbp)
callq 0x3120
movq -0xf10(%rbp), %rdi
movq %rax, -0x6b0(%rbp)
callq 0x31e0
movq %rax, -0x6b8(%rbp)
movq -0x6a8(%rbp), %rdi
movq -0x6b0(%rbp), %rsi
movq -0x6b8(%rbp), %rdx
movq 0x22274(%rip), %rcx     # 0x50fe0
callq 0x1f5a0
movq %rax, -0xf08(%rbp)
jmp 0x2ed7a
movq -0xf08(%rbp), %rax
movq %rax, -0x6c0(%rbp)
leaq 0x12eae(%rip), %rsi     # 0x41c3d
leaq -0x1d0(%rbp), %rdi
callq 0x13c60
movb %al, -0xf11(%rbp)
jmp 0x2eda3
movb -0xf11(%rbp), %al
testb $0x1, %al
jne 0x2edaf
jmp 0x2ee29
leaq 0x12e89(%rip), %rsi     # 0x41c3f
leaq -0x1d0(%rbp), %rdi
callq 0x13c60
movb %al, -0xf12(%rbp)
jmp 0x2edca
movb -0xf12(%rbp), %al
testb $0x1, %al
jne 0x2edd6
jmp 0x2ee29
movb $0x6e, -0x23(%rbp)
movq 0x221d7(%rip), %rdi     # 0x50fb8
leaq 0x12e59(%rip), %rsi     # 0x41c41
callq 0x3240
movq %rax, -0xf20(%rbp)
jmp 0x2edf6
movq -0xf20(%rbp), %rdi
movq 0x2219c(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0xf28(%rbp)
jmp 0x2ee12
movq -0xf28(%rbp), %rdi
movq 0x22180(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2ee27
jmp 0x2ee52
xorl %eax, %eax
movl %eax, %esi
leaq -0x1d0(%rbp), %rdi
callq 0x3430
movq %rax, -0xf30(%rbp)
jmp 0x2ee42
movq -0xf30(%rbp), %rax
movb (%rax), %al
movb %al, -0x24(%rbp)
movb $0x73, -0x23(%rbp)
jmp 0x2ee54
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x2ecca
jmp 0x2ee63
movq 0x2214e(%rip), %rdi     # 0x50fb8
leaq 0x12df2(%rip), %rsi     # 0x41c63
callq 0x3240
movq %rax, -0xf38(%rbp)
jmp 0x2ee7f
movq -0xf38(%rbp), %rdi
movq 0x22113(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2ee94
movq 0x2213d(%rip), %rdi     # 0x50fd8
leaq -0x1f0(%rbp), %rsi
callq 0x3070
jmp 0x2eea9
leaq -0x6e0(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
callq 0x3100
jmp 0x2eebe
leaq -0x6e0(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x40310
movb %al, -0xf39(%rbp)
jmp 0x2eed6
movb -0xf39(%rbp), %al
xorb $-0x1, %al
movb %al, -0xf3a(%rbp)
leaq -0x6e0(%rbp), %rdi
callq 0x3180
movb -0xf3a(%rbp), %al
testb $0x1, %al
jne 0x2eefc
jmp 0x2ef6e
movq 0x220b5(%rip), %rdi     # 0x50fb8
leaq 0x12d76(%rip), %rsi     # 0x41c80
callq 0x3240
movq %rax, -0xf48(%rbp)
jmp 0x2ef18
movq -0xf48(%rbp), %rdi
movq 0x2207a(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0xf50(%rbp)
jmp 0x2ef34
movq -0xf50(%rbp), %rdi
movq 0x2205e(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2ef49
jmp 0x2ef6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
leaq -0x6e0(%rbp), %rdi
callq 0x3180
jmp 0x30c03
xorl %eax, %eax
movl %eax, %esi
leaq -0x1f0(%rbp), %rdi
callq 0x1f9a0
movsd %xmm0, -0xf58(%rbp)
jmp 0x2ef88
movsd -0xf58(%rbp), %xmm0
movsd %xmm0, -0x1f8(%rbp)
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x2ee63
jmp 0x2efa7
movq 0x2200a(%rip), %rdi     # 0x50fb8
leaq 0x12f7d(%rip), %rsi     # 0x41f32
callq 0x3240
movq %rax, -0xf60(%rbp)
jmp 0x2efc3
movq -0xf60(%rbp), %rdi
movq 0x21fcf(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2efd8
movq 0x21ff9(%rip), %rdi     # 0x50fd8
leaq -0x170(%rbp), %rsi
callq 0x3070
jmp 0x2efed
leaq -0x170(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x40890
movb %al, -0xf61(%rbp)
jmp 0x2f005
movb -0xf61(%rbp), %al
testb $0x1, %al
jne 0x2f060
jmp 0x2f011
movq 0x21fa0(%rip), %rdi     # 0x50fb8
leaq 0x12f2a(%rip), %rsi     # 0x41f49
callq 0x3240
movq %rax, -0xf70(%rbp)
jmp 0x2f02d
movq -0xf70(%rbp), %rdi
movq 0x21f65(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0xf78(%rbp)
jmp 0x2f049
movq -0xf78(%rbp), %rdi
movq 0x21f49(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2f05e
jmp 0x2f060
jmp 0x2f062
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x2efa7
jmp 0x2f071
movq 0x21f40(%rip), %rdi     # 0x50fb8
leaq 0x12cf2(%rip), %rsi     # 0x41d71
callq 0x3240
movq %rax, -0xf80(%rbp)
jmp 0x2f08d
movq -0xf80(%rbp), %rdi
movq 0x21f05(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2f0a2
movq 0x21f2f(%rip), %rdi     # 0x50fd8
leaq -0x130(%rbp), %rsi
callq 0x3070
jmp 0x2f0b7
leaq -0x130(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x40550
movb %al, -0xf81(%rbp)
jmp 0x2f0cf
movb -0xf81(%rbp), %al
testb $0x1, %al
jne 0x2f12a
jmp 0x2f0db
movq 0x21ed6(%rip), %rdi     # 0x50fb8
leaq 0x12e99(%rip), %rsi     # 0x41f82
callq 0x3240
movq %rax, -0xf90(%rbp)
jmp 0x2f0f7
movq -0xf90(%rbp), %rdi
movq 0x21e9b(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0xf98(%rbp)
jmp 0x2f113
movq -0xf98(%rbp), %rdi
movq 0x21e7f(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2f128
jmp 0x2f12a
jmp 0x2f12c
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x2f071
jmp 0x2f13b
movq 0x21e76(%rip), %rdi     # 0x50fb8
leaq 0x12c7e(%rip), %rsi     # 0x41dc7
callq 0x3240
movq %rax, -0xfa0(%rbp)
jmp 0x2f157
movq -0xfa0(%rbp), %rdi
movq 0x21e3b(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2f16c
movq 0x21e65(%rip), %rdi     # 0x50fd8
leaq -0x150(%rbp), %rsi
callq 0x3070
jmp 0x2f181
leaq -0x150(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x40700
movb %al, -0xfa1(%rbp)
jmp 0x2f199
movb -0xfa1(%rbp), %al
testb $0x1, %al
jne 0x2f1f4
jmp 0x2f1a5
movq 0x21e0c(%rip), %rdi     # 0x50fb8
leaq 0x12c2c(%rip), %rsi     # 0x41ddf
callq 0x3240
movq %rax, -0xfb0(%rbp)
jmp 0x2f1c1
movq -0xfb0(%rbp), %rdi
movq 0x21dd1(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0xfb8(%rbp)
jmp 0x2f1dd
movq -0xfb8(%rbp), %rdi
movq 0x21db5(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2f1f2
jmp 0x2f1f4
jmp 0x2f1f6
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x2f13b
jmp 0x2f205
movq 0x21dac(%rip), %rdi     # 0x50fb8
leaq 0x12bf1(%rip), %rsi     # 0x41e04
callq 0x3240
movq %rax, -0xfc0(%rbp)
jmp 0x2f221
movq -0xfc0(%rbp), %rdi
movq 0x21d71(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2f236
movq 0x21d9b(%rip), %rdi     # 0x50fd8
leaq -0x110(%rbp), %rsi
callq 0x3070
jmp 0x2f24b
leaq -0x110(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x40550
movb %al, -0xfc1(%rbp)
jmp 0x2f263
movb -0xfc1(%rbp), %al
testb $0x1, %al
jne 0x2f2be
jmp 0x2f26f
movq 0x21d42(%rip), %rdi     # 0x50fb8
leaq 0x12b14(%rip), %rsi     # 0x41d91
callq 0x3240
movq %rax, -0xfd0(%rbp)
jmp 0x2f28b
movq -0xfd0(%rbp), %rdi
movq 0x21d07(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0xfd8(%rbp)
jmp 0x2f2a7
movq -0xfd8(%rbp), %rdi
movq 0x21ceb(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2f2bc
jmp 0x2f2be
jmp 0x2f2c0
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x2f205
movl -0x2c(%rbp), %eax
movl %eax, -0xfdc(%rbp)
leaq -0x888(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x3100
jmp 0x2f2e8
leaq -0x8a8(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x3100
jmp 0x2f2fd
leaq -0x8c8(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x3100
jmp 0x2f30f
movb -0x24(%rbp), %al
movb %al, -0xfe9(%rbp)
movsd -0x1f8(%rbp), %xmm0
movsd %xmm0, -0xfe8(%rbp)
leaq -0x8e8(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x3100
jmp 0x2f33d
leaq -0x908(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x3100
jmp 0x2f352
leaq -0x928(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x3100
jmp 0x2f367
leaq -0x948(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x3100
jmp 0x2f37c
leaq -0x968(%rbp), %rdi
leaq -0x170(%rbp), %rsi
callq 0x3100
jmp 0x2f391
leaq -0x988(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x3100
jmp 0x2f3a6
leaq -0x9a8(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x3100
jmp 0x2f3bb
leaq -0x9c8(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x3100
jmp 0x2f3d0
movsd -0xfe8(%rbp), %xmm0
movl -0xfdc(%rbp), %esi
movb -0xfe9(%rbp), %al
movq %rsp, %rcx
movq %rcx, -0xff8(%rbp)
leaq -0x9c8(%rbp), %rdx
movq %rdx, 0x38(%rcx)
leaq -0x9a8(%rbp), %rdx
movq %rdx, 0x30(%rcx)
leaq -0x988(%rbp), %rdx
movq %rdx, 0x28(%rcx)
leaq -0x968(%rbp), %rdx
movq %rdx, 0x20(%rcx)
leaq -0x948(%rbp), %rdx
movq %rdx, 0x18(%rcx)
leaq -0x928(%rbp), %rdx
movq %rdx, 0x10(%rcx)
leaq -0x908(%rbp), %rdx
movq %rdx, 0x8(%rcx)
leaq -0x8e8(%rbp), %rdx
movq %rdx, (%rcx)
movsbl %al, %r9d
leaq -0x868(%rbp), %rdi
leaq -0x888(%rbp), %rdx
leaq -0x8a8(%rbp), %rcx
leaq -0x8c8(%rbp), %r8
callq 0x9b20
jmp 0x2f46c
leaq -0x618(%rbp), %rdi
callq 0x1fd80
movq %rax, %rdi
addq $0x8, %rdi
leaq -0x868(%rbp), %rsi
callq 0x376c0
jmp 0x2f48d
leaq -0x868(%rbp), %rdi
callq 0x9ff0
leaq -0x9c8(%rbp), %rdi
callq 0x3180
leaq -0x9a8(%rbp), %rdi
callq 0x3180
leaq -0x988(%rbp), %rdi
callq 0x3180
leaq -0x968(%rbp), %rdi
callq 0x3180
leaq -0x948(%rbp), %rdi
callq 0x3180
leaq -0x928(%rbp), %rdi
callq 0x3180
leaq -0x908(%rbp), %rdi
callq 0x3180
leaq -0x8e8(%rbp), %rdi
callq 0x3180
leaq -0x8c8(%rbp), %rdi
callq 0x3180
leaq -0x8a8(%rbp), %rdi
callq 0x3180
leaq -0x888(%rbp), %rdi
callq 0x3180
movb $0x73, -0x23(%rbp)
jmp 0x2f6f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x2f6ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x2f6a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x2f695
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x2f689
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x2f67d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x2f671
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x2f665
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x2f659
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x2f64d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x2f641
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x2f635
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
leaq -0x868(%rbp), %rdi
callq 0x9ff0
leaq -0x9c8(%rbp), %rdi
callq 0x3180
leaq -0x9a8(%rbp), %rdi
callq 0x3180
leaq -0x988(%rbp), %rdi
callq 0x3180
leaq -0x968(%rbp), %rdi
callq 0x3180
leaq -0x948(%rbp), %rdi
callq 0x3180
leaq -0x928(%rbp), %rdi
callq 0x3180
leaq -0x908(%rbp), %rdi
callq 0x3180
leaq -0x8e8(%rbp), %rdi
callq 0x3180
leaq -0x8c8(%rbp), %rdi
callq 0x3180
leaq -0x8a8(%rbp), %rdi
callq 0x3180
leaq -0x888(%rbp), %rdi
callq 0x3180
jmp 0x30c03
movq 0x218f3(%rip), %rdi     # 0x50fb8
leaq 0x12b7c(%rip), %rsi     # 0x42248
callq 0x3240
movq %rax, -0x1000(%rbp)
jmp 0x2f6da
movq -0x1000(%rbp), %rdi
movq 0x218b8(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2f6ef
movb $0x6e, -0x23(%rbp)
movsbl -0x23(%rbp), %eax
cmpl $0x73, %eax
jne 0x2f79d
leaq 0x128b2(%rip), %rsi     # 0x41fb9
leaq -0x400(%rbp), %rdi
movl $0x10, %edx
callq 0x3050
jmp 0x2f71a
movq -0x8(%rbp), %rdi
callq 0x13eb0
movq %rax, -0x9d0(%rbp)
movq -0x8(%rbp), %rdi
callq 0x13f10
movq %rax, -0x9d8(%rbp)
leaq -0x9d0(%rbp), %rdi
leaq -0x9d8(%rbp), %rsi
callq 0x13ee0
testb $0x1, %al
jne 0x2f753
jmp 0x2f78d
leaq -0x9d0(%rbp), %rdi
callq 0x1fd80
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x400(%rbp), %rdi
callq 0xe2a0
jmp 0x2f774
jmp 0x2f776
leaq -0x9d0(%rbp), %rdi
xorl %esi, %esi
callq 0x13f70
movq %rax, -0x9e0(%rbp)
jmp 0x2f72a
leaq -0x400(%rbp), %rdi
callq 0x3310
jmp 0x2f79b
jmp 0x2f79d
movq 0x21814(%rip), %rdi     # 0x50fb8
leaq 0x12ab7(%rip), %rsi     # 0x42262
callq 0x3240
movq %rax, -0x1008(%rbp)
jmp 0x2f7b9
movq -0x1008(%rbp), %rdi
movq 0x217d9(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2f7ce
movq 0x21803(%rip), %rdi     # 0x50fd8
leaq -0x22(%rbp), %rsi
callq 0x32e0
jmp 0x2f7e0
jmp 0x30b2f
movq 0x217cc(%rip), %rdi     # 0x50fb8
leaq 0x12a34(%rip), %rsi     # 0x42227
callq 0x3240
movq %rax, -0x1010(%rbp)
jmp 0x2f801
movq -0x1010(%rbp), %rdi
movq 0x21791(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2f816
movq 0x217bb(%rip), %rdi     # 0x50fd8
leaq -0x2c(%rbp), %rsi
callq 0x3170
jmp 0x2f828
movq -0x10(%rbp), %rdi
leaq -0x2c(%rbp), %rsi
callq 0x37710
movq %rax, -0x1018(%rbp)
jmp 0x2f83e
movq -0x1018(%rbp), %rax
movq %rax, -0x9e8(%rbp)
movq -0x10(%rbp), %rdi
callq 0x14010
movq %rax, -0x9f0(%rbp)
leaq -0x9e8(%rbp), %rdi
leaq -0x9f0(%rbp), %rsi
callq 0x13fe0
testb $0x1, %al
jne 0x2f878
jmp 0x30a0b
movq 0x21739(%rip), %rdi     # 0x50fb8
leaq 0x129b7(%rip), %rsi     # 0x4223d
callq 0x3240
movq %rax, -0x1020(%rbp)
jmp 0x2f894
movq -0x1020(%rbp), %rdi
movq 0x216fe(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2f8a9
leaq 0x129cb(%rip), %rsi     # 0x4227b
leaq -0x50(%rbp), %rdi
callq 0x32f0
jmp 0x2f8bb
jmp 0x2f8bd
movq 0x216f4(%rip), %rdi     # 0x50fb8
leaq 0x11e78(%rip), %rsi     # 0x41743
callq 0x3240
movq %rax, -0x1028(%rbp)
jmp 0x2f8d9
movq -0x1028(%rbp), %rdi
movq 0x216b9(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2f8ee
movq 0x216e3(%rip), %rdi     # 0x50fd8
callq 0x33f0
jmp 0x2f8fc
movq 0x216d5(%rip), %rdi     # 0x50fd8
leaq -0x190(%rbp), %rsi
callq 0x3070
jmp 0x2f911
leaq -0x190(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x3f480
movb %al, -0x1029(%rbp)
jmp 0x2f929
movb -0x1029(%rbp), %al
testb $0x1, %al
jne 0x2f984
jmp 0x2f935
movq 0x2167c(%rip), %rdi     # 0x50fb8
leaq 0x11e0f(%rip), %rsi     # 0x41752
callq 0x3240
movq %rax, -0x1038(%rbp)
jmp 0x2f951
movq -0x1038(%rbp), %rdi
movq 0x21641(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0x1040(%rbp)
jmp 0x2f96d
movq -0x1040(%rbp), %rdi
movq 0x21625(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2f982
jmp 0x2f984
leaq -0x190(%rbp), %rdi
movq %rdi, -0x1050(%rbp)
callq 0x31e0
movq -0x1050(%rbp), %rdi
movq %rax, -0x9f8(%rbp)
callq 0x3120
movq -0x1050(%rbp), %rdi
movq %rax, -0xa00(%rbp)
callq 0x31e0
movq %rax, -0xa08(%rbp)
movq -0x9f8(%rbp), %rdi
movq -0xa00(%rbp), %rsi
movq -0xa08(%rbp), %rdx
movq 0x215e8(%rip), %rcx     # 0x50fc8
callq 0x1f5a0
movq %rax, -0x1048(%rbp)
jmp 0x2f9ee
movq -0x1048(%rbp), %rax
movq %rax, -0xa10(%rbp)
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x2f8bd
jmp 0x2fa0b
movq 0x215a6(%rip), %rdi     # 0x50fb8
leaq 0x120fd(%rip), %rsi     # 0x41b16
callq 0x3240
movq %rax, -0x1058(%rbp)
jmp 0x2fa27
movq -0x1058(%rbp), %rdi
movq 0x2156b(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2fa3c
movq 0x21595(%rip), %rdi     # 0x50fd8
leaq -0x70(%rbp), %rsi
callq 0x3070
jmp 0x2fa4e
leaq -0x70(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x3f5c0
movb %al, -0x1059(%rbp)
jmp 0x2fa63
movb -0x1059(%rbp), %al
testb $0x1, %al
jne 0x2fabe
jmp 0x2fa6f
movq 0x21542(%rip), %rdi     # 0x50fb8
leaq 0x120b4(%rip), %rsi     # 0x41b31
callq 0x3240
movq %rax, -0x1068(%rbp)
jmp 0x2fa8b
movq -0x1068(%rbp), %rdi
movq 0x21507(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0x1070(%rbp)
jmp 0x2faa7
movq -0x1070(%rbp), %rdi
movq 0x214eb(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2fabc
jmp 0x2fabe
jmp 0x2fac0
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x2fa0b
jmp 0x2facf
movq 0x214e2(%rip), %rdi     # 0x50fb8
leaq 0x1208a(%rip), %rsi     # 0x41b67
callq 0x3240
movq %rax, -0x1078(%rbp)
jmp 0x2faeb
movq -0x1078(%rbp), %rdi
movq 0x214a7(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2fb00
movq 0x214d1(%rip), %rdi     # 0x50fd8
leaq -0x90(%rbp), %rsi
callq 0x3070
jmp 0x2fb15
leaq -0x90(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x40170
movb %al, -0x1079(%rbp)
jmp 0x2fb2d
movb -0x1079(%rbp), %al
testb $0x1, %al
jne 0x2fb88
jmp 0x2fb39
movq 0x21478(%rip), %rdi     # 0x50fb8
leaq 0x11c0b(%rip), %rsi     # 0x41752
callq 0x3240
movq %rax, -0x1088(%rbp)
jmp 0x2fb55
movq -0x1088(%rbp), %rdi
movq 0x2143d(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0x1090(%rbp)
jmp 0x2fb71
movq -0x1090(%rbp), %rdi
movq 0x21421(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2fb86
jmp 0x2fb88
jmp 0x2fb8a
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x2facf
jmp 0x2fb99
movq 0x21418(%rip), %rdi     # 0x50fb8
leaq 0x11fd1(%rip), %rsi     # 0x41b78
callq 0x3240
movq %rax, -0x1098(%rbp)
jmp 0x2fbb5
movq -0x1098(%rbp), %rdi
movq 0x213dd(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2fbca
movq 0x21407(%rip), %rdi     # 0x50fd8
leaq -0xb0(%rbp), %rsi
callq 0x3070
jmp 0x2fbdf
leaq -0xb0(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x3f480
movb %al, -0x1099(%rbp)
jmp 0x2fbf7
movb -0x1099(%rbp), %al
testb $0x1, %al
jne 0x2fc52
jmp 0x2fc03
movq 0x213ae(%rip), %rdi     # 0x50fb8
leaq 0x11b41(%rip), %rsi     # 0x41752
callq 0x3240
movq %rax, -0x10a8(%rbp)
jmp 0x2fc1f
movq -0x10a8(%rbp), %rdi
movq 0x21373(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0x10b0(%rbp)
jmp 0x2fc3b
movq -0x10b0(%rbp), %rdi
movq 0x21357(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2fc50
jmp 0x2fc52
leaq -0xa30(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x3100
jmp 0x2fc67
movq -0xdc0(%rbp), %rdi
leaq -0xa30(%rbp), %rsi
callq 0x3d7a0
movb %al, -0x10b1(%rbp)
jmp 0x2fc82
movb -0x10b1(%rbp), %al
andb $0x1, %al
movb %al, -0x1f9(%rbp)
leaq -0xa30(%rbp), %rdi
callq 0x3180
testb $0x1, -0x1f9(%rbp)
jne 0x2fd14
movq 0x2130c(%rip), %rdi     # 0x50fb8
movq 0x212ed(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2fcba
movq 0x212f7(%rip), %rdi     # 0x50fb8
leaq 0x11ecf(%rip), %rsi     # 0x41b97
callq 0x3240
movq %rax, -0x10c0(%rbp)
jmp 0x2fcd6
movq -0x10c0(%rbp), %rdi
movq 0x212bc(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2fceb
movb $0x6e, -0x23(%rbp)
jmp 0x2fd14
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
leaq -0xa30(%rbp), %rdi
callq 0x3180
jmp 0x30c03
jmp 0x2fd16
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x2fb99
jmp 0x2fd25
movq 0x2128c(%rip), %rdi     # 0x50fb8
leaq 0x11e87(%rip), %rsi     # 0x41bba
callq 0x3240
movq %rax, -0x10c8(%rbp)
jmp 0x2fd41
movq -0x10c8(%rbp), %rdi
movq 0x21251(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2fd56
movq 0x2127b(%rip), %rdi     # 0x50fd8
leaq -0xd0(%rbp), %rsi
callq 0x3070
jmp 0x2fd6b
leaq -0xd0(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x3f480
movb %al, -0x10c9(%rbp)
jmp 0x2fd83
movb -0x10c9(%rbp), %al
testb $0x1, %al
jne 0x2fdde
jmp 0x2fd8f
movq 0x21222(%rip), %rdi     # 0x50fb8
leaq 0x119b5(%rip), %rsi     # 0x41752
callq 0x3240
movq %rax, -0x10d8(%rbp)
jmp 0x2fdab
movq -0x10d8(%rbp), %rdi
movq 0x211e7(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0x10e0(%rbp)
jmp 0x2fdc7
movq -0x10e0(%rbp), %rdi
movq 0x211cb(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2fddc
jmp 0x2fdde
leaq -0xa50(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x3100
jmp 0x2fdf3
movq -0xdb8(%rbp), %rsi
movsbl -0x26(%rbp), %ecx
xorl %edi, %edi
leaq -0xa50(%rbp), %rdx
callq 0x3d850
movb %al, -0x10e1(%rbp)
jmp 0x2fe14
movb -0x10e1(%rbp), %al
andb $0x1, %al
movb %al, -0x1f9(%rbp)
leaq -0xa50(%rbp), %rdi
callq 0x3180
testb $0x1, -0x1f9(%rbp)
jne 0x2fec6
movq 0x21176(%rip), %rdi     # 0x50fb8
movq 0x21157(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2fe50
movq 0x21161(%rip), %rdi     # 0x50fb8
leaq 0x11d78(%rip), %rsi     # 0x41bd6
callq 0x3240
movq %rax, -0x10f0(%rbp)
jmp 0x2fe6c
movq -0x10f0(%rbp), %rdi
movq 0x21126(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0x10f8(%rbp)
jmp 0x2fe88
movq -0x10f8(%rbp), %rdi
movq 0x2110a(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2fe9d
movb $0x6e, -0x23(%rbp)
jmp 0x2fec6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
leaq -0xa50(%rbp), %rdi
callq 0x3180
jmp 0x30c03
jmp 0x2fec8
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x2fd25
jmp 0x2fed7
movq 0x210da(%rip), %rdi     # 0x50fb8
leaq 0x11d23(%rip), %rsi     # 0x41c08
callq 0x3240
movq %rax, -0x1100(%rbp)
jmp 0x2fef3
movq -0x1100(%rbp), %rdi
movq 0x2109f(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2ff08
movq 0x210c9(%rip), %rdi     # 0x50fd8
leaq -0xf0(%rbp), %rsi
callq 0x3070
jmp 0x2ff1d
leaq -0xf0(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x3f480
movb %al, -0x1101(%rbp)
jmp 0x2ff35
movb -0x1101(%rbp), %al
testb $0x1, %al
jne 0x2ff90
jmp 0x2ff41
movq 0x21070(%rip), %rdi     # 0x50fb8
leaq 0x11803(%rip), %rsi     # 0x41752
callq 0x3240
movq %rax, -0x1110(%rbp)
jmp 0x2ff5d
movq -0x1110(%rbp), %rdi
movq 0x21035(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0x1118(%rbp)
jmp 0x2ff79
movq -0x1118(%rbp), %rdi
movq 0x21019(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x2ff8e
jmp 0x2ff90
leaq -0xf0(%rbp), %rdi
movq %rdi, -0x1128(%rbp)
callq 0x31e0
movq -0x1128(%rbp), %rdi
movq %rax, -0xa58(%rbp)
callq 0x3120
movq -0x1128(%rbp), %rdi
movq %rax, -0xa60(%rbp)
callq 0x31e0
movq %rax, -0xa68(%rbp)
movq -0xa58(%rbp), %rdi
movq -0xa60(%rbp), %rsi
movq -0xa68(%rbp), %rdx
movq 0x20fdc(%rip), %rcx     # 0x50fc8
callq 0x1f5a0
movq %rax, -0x1120(%rbp)
jmp 0x2fffa
movq -0x1120(%rbp), %rax
movq %rax, -0xa70(%rbp)
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x2fed7
jmp 0x30017
movq 0x20f9a(%rip), %rdi     # 0x50fb8
leaq 0x11bfe(%rip), %rsi     # 0x41c23
callq 0x3240
movq %rax, -0x1130(%rbp)
jmp 0x30033
movq -0x1130(%rbp), %rdi
movq 0x20f5f(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x30048
movq 0x20f89(%rip), %rdi     # 0x50fd8
leaq -0x1d0(%rbp), %rsi
callq 0x3070
jmp 0x3005d
leaq -0x1d0(%rbp), %rdi
movq %rdi, -0x1140(%rbp)
callq 0x31e0
movq -0x1140(%rbp), %rdi
movq %rax, -0xa78(%rbp)
callq 0x3120
movq -0x1140(%rbp), %rdi
movq %rax, -0xa80(%rbp)
callq 0x31e0
movq %rax, -0xa88(%rbp)
movq -0xa78(%rbp), %rdi
movq -0xa80(%rbp), %rsi
movq -0xa88(%rbp), %rdx
movq 0x20f27(%rip), %rcx     # 0x50fe0
callq 0x1f5a0
movq %rax, -0x1138(%rbp)
jmp 0x300c7
movq -0x1138(%rbp), %rax
movq %rax, -0xa90(%rbp)
leaq 0x11b61(%rip), %rsi     # 0x41c3d
leaq -0x1d0(%rbp), %rdi
callq 0x13c60
movb %al, -0x1141(%rbp)
jmp 0x300f0
movb -0x1141(%rbp), %al
testb $0x1, %al
jne 0x300fc
jmp 0x30176
leaq 0x11b3c(%rip), %rsi     # 0x41c3f
leaq -0x1d0(%rbp), %rdi
callq 0x13c60
movb %al, -0x1142(%rbp)
jmp 0x30117
movb -0x1142(%rbp), %al
testb $0x1, %al
jne 0x30123
jmp 0x30176
movb $0x6e, -0x23(%rbp)
movq 0x20e8a(%rip), %rdi     # 0x50fb8
leaq 0x11b0c(%rip), %rsi     # 0x41c41
callq 0x3240
movq %rax, -0x1150(%rbp)
jmp 0x30143
movq -0x1150(%rbp), %rdi
movq 0x20e4f(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0x1158(%rbp)
jmp 0x3015f
movq -0x1158(%rbp), %rdi
movq 0x20e33(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x30174
jmp 0x3019f
xorl %eax, %eax
movl %eax, %esi
leaq -0x1d0(%rbp), %rdi
callq 0x3430
movq %rax, -0x1160(%rbp)
jmp 0x3018f
movq -0x1160(%rbp), %rax
movb (%rax), %al
movb %al, -0x24(%rbp)
movb $0x73, -0x23(%rbp)
jmp 0x301a1
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x30017
jmp 0x301b0
movq 0x20e01(%rip), %rdi     # 0x50fb8
leaq 0x11aa5(%rip), %rsi     # 0x41c63
callq 0x3240
movq %rax, -0x1168(%rbp)
jmp 0x301cc
movq -0x1168(%rbp), %rdi
movq 0x20dc6(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x301e1
movq 0x20df0(%rip), %rdi     # 0x50fd8
leaq -0x1f0(%rbp), %rsi
callq 0x3070
jmp 0x301f6
leaq -0xab0(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
callq 0x3100
jmp 0x3020b
leaq -0xab0(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x40310
movb %al, -0x1169(%rbp)
jmp 0x30223
movb -0x1169(%rbp), %al
xorb $-0x1, %al
movb %al, -0x116a(%rbp)
leaq -0xab0(%rbp), %rdi
callq 0x3180
movb -0x116a(%rbp), %al
testb $0x1, %al
jne 0x30249
jmp 0x302bb
movq 0x20d68(%rip), %rdi     # 0x50fb8
leaq 0x11a29(%rip), %rsi     # 0x41c80
callq 0x3240
movq %rax, -0x1178(%rbp)
jmp 0x30265
movq -0x1178(%rbp), %rdi
movq 0x20d2d(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0x1180(%rbp)
jmp 0x30281
movq -0x1180(%rbp), %rdi
movq 0x20d11(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x30296
jmp 0x302bb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
leaq -0xab0(%rbp), %rdi
callq 0x3180
jmp 0x30c03
xorl %eax, %eax
movl %eax, %esi
leaq -0x1f0(%rbp), %rdi
callq 0x1f9a0
movsd %xmm0, -0x1188(%rbp)
jmp 0x302d5
movsd -0x1188(%rbp), %xmm0
movsd %xmm0, -0x1f8(%rbp)
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x301b0
jmp 0x302f4
movq 0x20cbd(%rip), %rdi     # 0x50fb8
leaq 0x11c30(%rip), %rsi     # 0x41f32
callq 0x3240
movq %rax, -0x1190(%rbp)
jmp 0x30310
movq -0x1190(%rbp), %rdi
movq 0x20c82(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x30325
movq 0x20cac(%rip), %rdi     # 0x50fd8
leaq -0x170(%rbp), %rsi
callq 0x3070
jmp 0x3033a
leaq -0x170(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x40890
movb %al, -0x1191(%rbp)
jmp 0x30352
movb -0x1191(%rbp), %al
testb $0x1, %al
jne 0x303ad
jmp 0x3035e
movq 0x20c53(%rip), %rdi     # 0x50fb8
leaq 0x11bdd(%rip), %rsi     # 0x41f49
callq 0x3240
movq %rax, -0x11a0(%rbp)
jmp 0x3037a
movq -0x11a0(%rbp), %rdi
movq 0x20c18(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0x11a8(%rbp)
jmp 0x30396
movq -0x11a8(%rbp), %rdi
movq 0x20bfc(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x303ab
jmp 0x303ad
jmp 0x303af
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x302f4
jmp 0x303be
movq 0x20bf3(%rip), %rdi     # 0x50fb8
leaq 0x119a5(%rip), %rsi     # 0x41d71
callq 0x3240
movq %rax, -0x11b0(%rbp)
jmp 0x303da
movq -0x11b0(%rbp), %rdi
movq 0x20bb8(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x303ef
movq 0x20be2(%rip), %rdi     # 0x50fd8
leaq -0x130(%rbp), %rsi
callq 0x3070
jmp 0x30404
leaq -0x130(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x40550
movb %al, -0x11b1(%rbp)
jmp 0x3041c
movb -0x11b1(%rbp), %al
testb $0x1, %al
jne 0x30477
jmp 0x30428
movq 0x20b89(%rip), %rdi     # 0x50fb8
leaq 0x11b4c(%rip), %rsi     # 0x41f82
callq 0x3240
movq %rax, -0x11c0(%rbp)
jmp 0x30444
movq -0x11c0(%rbp), %rdi
movq 0x20b4e(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0x11c8(%rbp)
jmp 0x30460
movq -0x11c8(%rbp), %rdi
movq 0x20b32(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x30475
jmp 0x30477
jmp 0x30479
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x303be
jmp 0x30488
movq 0x20b29(%rip), %rdi     # 0x50fb8
leaq 0x11def(%rip), %rsi     # 0x42285
callq 0x3240
movq %rax, -0x11d0(%rbp)
jmp 0x304a4
movq -0x11d0(%rbp), %rdi
movq 0x20aee(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x304b9
movq 0x20b18(%rip), %rdi     # 0x50fd8
leaq -0x150(%rbp), %rsi
callq 0x3070
jmp 0x304ce
leaq -0x150(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x40700
movb %al, -0x11d1(%rbp)
jmp 0x304e6
movb -0x11d1(%rbp), %al
testb $0x1, %al
jne 0x30541
jmp 0x304f2
movq 0x20abf(%rip), %rdi     # 0x50fb8
leaq 0x118df(%rip), %rsi     # 0x41ddf
callq 0x3240
movq %rax, -0x11e0(%rbp)
jmp 0x3050e
movq -0x11e0(%rbp), %rdi
movq 0x20a84(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0x11e8(%rbp)
jmp 0x3052a
movq -0x11e8(%rbp), %rdi
movq 0x20a68(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x3053f
jmp 0x30541
jmp 0x30543
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x30488
jmp 0x30552
movq 0x20a5f(%rip), %rdi     # 0x50fb8
leaq 0x118a4(%rip), %rsi     # 0x41e04
callq 0x3240
movq %rax, -0x11f0(%rbp)
jmp 0x3056e
movq -0x11f0(%rbp), %rdi
movq 0x20a24(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x30583
movq 0x20a4e(%rip), %rdi     # 0x50fd8
leaq -0x110(%rbp), %rsi
callq 0x3070
jmp 0x30598
leaq -0x110(%rbp), %rdi
leaq -0x23(%rbp), %rsi
callq 0x40550
movb %al, -0x11f1(%rbp)
jmp 0x305b0
movb -0x11f1(%rbp), %al
testb $0x1, %al
jne 0x3060b
jmp 0x305bc
movq 0x209f5(%rip), %rdi     # 0x50fb8
leaq 0x117c7(%rip), %rsi     # 0x41d91
callq 0x3240
movq %rax, -0x1200(%rbp)
jmp 0x305d8
movq -0x1200(%rbp), %rdi
movq 0x209ba(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0x1208(%rbp)
jmp 0x305f4
movq -0x1208(%rbp), %rdi
movq 0x2099e(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x30609
jmp 0x3060b
jmp 0x3060d
movsbl -0x23(%rbp), %eax
cmpl $0x6e, %eax
je 0x30552
movl -0x2c(%rbp), %eax
movl %eax, -0x120c(%rbp)
leaq -0xc58(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x3100
jmp 0x30635
leaq -0xc78(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x3100
jmp 0x3064a
leaq -0xc98(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x3100
jmp 0x3065c
movb -0x24(%rbp), %al
movb %al, -0x1219(%rbp)
movsd -0x1f8(%rbp), %xmm0
movsd %xmm0, -0x1218(%rbp)
leaq -0xcb8(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x3100
jmp 0x3068a
leaq -0xcd8(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x3100
jmp 0x3069f
leaq -0xcf8(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x3100
jmp 0x306b4
leaq -0xd18(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x3100
jmp 0x306c9
leaq -0xd38(%rbp), %rdi
leaq -0x170(%rbp), %rsi
callq 0x3100
jmp 0x306de
leaq -0xd58(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x3100
jmp 0x306f3
leaq -0xd78(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x3100
jmp 0x30708
leaq -0xd98(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x3100
jmp 0x3071d
movsd -0x1218(%rbp), %xmm0
movl -0x120c(%rbp), %esi
movb -0x1219(%rbp), %al
movq %rsp, %rcx
movq %rcx, -0x1228(%rbp)
leaq -0xd98(%rbp), %rdx
movq %rdx, 0x38(%rcx)
leaq -0xd78(%rbp), %rdx
movq %rdx, 0x30(%rcx)
leaq -0xd58(%rbp), %rdx
movq %rdx, 0x28(%rcx)
leaq -0xd38(%rbp), %rdx
movq %rdx, 0x20(%rcx)
leaq -0xd18(%rbp), %rdx
movq %rdx, 0x18(%rcx)
leaq -0xcf8(%rbp), %rdx
movq %rdx, 0x10(%rcx)
leaq -0xcd8(%rbp), %rdx
movq %rdx, 0x8(%rcx)
leaq -0xcb8(%rbp), %rdx
movq %rdx, (%rcx)
movsbl %al, %r9d
leaq -0xc38(%rbp), %rdi
leaq -0xc58(%rbp), %rdx
leaq -0xc78(%rbp), %rcx
leaq -0xc98(%rbp), %r8
callq 0xa060
jmp 0x307b9
leaq -0x9e8(%rbp), %rdi
callq 0x1fdc0
movq %rax, %rdi
addq $0x8, %rdi
leaq -0xc38(%rbp), %rsi
callq 0x37740
jmp 0x307da
leaq -0xc38(%rbp), %rdi
callq 0xa4d0
leaq -0xd98(%rbp), %rdi
callq 0x3180
leaq -0xd78(%rbp), %rdi
callq 0x3180
leaq -0xd58(%rbp), %rdi
callq 0x3180
leaq -0xd38(%rbp), %rdi
callq 0x3180
leaq -0xd18(%rbp), %rdi
callq 0x3180
leaq -0xcf8(%rbp), %rdi
callq 0x3180
leaq -0xcd8(%rbp), %rdi
callq 0x3180
leaq -0xcb8(%rbp), %rdi
callq 0x3180
leaq -0xc98(%rbp), %rdi
callq 0x3180
leaq -0xc78(%rbp), %rdi
callq 0x3180
leaq -0xc58(%rbp), %rdi
callq 0x3180
movb $0x73, -0x23(%rbp)
jmp 0x30a40
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x309fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x309ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x309e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x309d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x309ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x309be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x309b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x309a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x3099a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x3098e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
jmp 0x30982
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x408(%rbp)
movl %eax, -0x40c(%rbp)
leaq -0xc38(%rbp), %rdi
callq 0xa4d0
leaq -0xd98(%rbp), %rdi
callq 0x3180
leaq -0xd78(%rbp), %rdi
callq 0x3180
leaq -0xd58(%rbp), %rdi
callq 0x3180
leaq -0xd38(%rbp), %rdi
callq 0x3180
leaq -0xd18(%rbp), %rdi
callq 0x3180
leaq -0xcf8(%rbp), %rdi
callq 0x3180
leaq -0xcd8(%rbp), %rdi
callq 0x3180
leaq -0xcb8(%rbp), %rdi
callq 0x3180
leaq -0xc98(%rbp), %rdi
callq 0x3180
leaq -0xc78(%rbp), %rdi
callq 0x3180
leaq -0xc58(%rbp), %rdi
callq 0x3180
jmp 0x30c03
movq 0x205a6(%rip), %rdi     # 0x50fb8
leaq 0x1182f(%rip), %rsi     # 0x42248
callq 0x3240
movq %rax, -0x1230(%rbp)
jmp 0x30a27
movq -0x1230(%rbp), %rdi
movq 0x2056b(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x30a3c
movb $0x6e, -0x23(%rbp)
movsbl -0x23(%rbp), %eax
cmpl $0x73, %eax
jne 0x30aea
leaq 0x11577(%rip), %rsi     # 0x41fcb
leaq -0x610(%rbp), %rdi
movl $0x10, %edx
callq 0x3050
jmp 0x30a67
movq -0x10(%rbp), %rdi
callq 0x13fb0
movq %rax, -0xda0(%rbp)
movq -0x10(%rbp), %rdi
callq 0x14010
movq %rax, -0xda8(%rbp)
leaq -0xda0(%rbp), %rdi
leaq -0xda8(%rbp), %rsi
callq 0x13fe0
testb $0x1, %al
jne 0x30aa0
jmp 0x30ada
leaq -0xda0(%rbp), %rdi
callq 0x1fdc0
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x610(%rbp), %rdi
callq 0xe860
jmp 0x30ac1
jmp 0x30ac3
leaq -0xda0(%rbp), %rdi
xorl %esi, %esi
callq 0x14070
movq %rax, -0xdb0(%rbp)
jmp 0x30a77
leaq -0x610(%rbp), %rdi
callq 0x3310
jmp 0x30ae8
jmp 0x30aea
movq 0x204c7(%rip), %rdi     # 0x50fb8
leaq 0x1176a(%rip), %rsi     # 0x42262
callq 0x3240
movq %rax, -0x1238(%rbp)
jmp 0x30b06
movq -0x1238(%rbp), %rdi
movq 0x2048c(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x30b1b
movq 0x204b6(%rip), %rdi     # 0x50fd8
leaq -0x22(%rbp), %rsi
callq 0x32e0
jmp 0x30b2d
jmp 0x30b2f
jmp 0x30b31
jmp 0x30b33
movsbl -0x22(%rbp), %eax
cmpl $0x73, %eax
je 0x2e34d
leaq -0x610(%rbp), %rdi
callq 0x3340
leaq -0x400(%rbp), %rdi
callq 0x3340
leaq -0x1f0(%rbp), %rdi
callq 0x3180
leaq -0x1d0(%rbp), %rdi
callq 0x3180
leaq -0x1b0(%rbp), %rdi
callq 0x3180
leaq -0x190(%rbp), %rdi
callq 0x3180
leaq -0x170(%rbp), %rdi
callq 0x3180
leaq -0x150(%rbp), %rdi
callq 0x3180
leaq -0x130(%rbp), %rdi
callq 0x3180
leaq -0x110(%rbp), %rdi
callq 0x3180
leaq -0xf0(%rbp), %rdi
callq 0x3180
leaq -0xd0(%rbp), %rdi
callq 0x3180
leaq -0xb0(%rbp), %rdi
callq 0x3180
leaq -0x90(%rbp), %rdi
callq 0x3180
leaq -0x70(%rbp), %rdi
callq 0x3180
leaq -0x50(%rbp), %rdi
callq 0x3180
addq $0x1280, %rsp           # imm = 0x1280
popq %rbp
retq
leaq -0x610(%rbp), %rdi
callq 0x3340
leaq -0x400(%rbp), %rdi
callq 0x3340
leaq -0x1f0(%rbp), %rdi
callq 0x3180
leaq -0x1d0(%rbp), %rdi
callq 0x3180
leaq -0x1b0(%rbp), %rdi
callq 0x3180
leaq -0x190(%rbp), %rdi
callq 0x3180
leaq -0x170(%rbp), %rdi
callq 0x3180
leaq -0x150(%rbp), %rdi
callq 0x3180
leaq -0x130(%rbp), %rdi
callq 0x3180
leaq -0x110(%rbp), %rdi
callq 0x3180
leaq -0xf0(%rbp), %rdi
callq 0x3180
leaq -0xd0(%rbp), %rdi
callq 0x3180
leaq -0xb0(%rbp), %rdi
callq 0x3180
leaq -0x90(%rbp), %rdi
callq 0x3180
leaq -0x70(%rbp), %rdi
callq 0x3180
leaq -0x50(%rbp), %rdi
callq 0x3180
movq -0x408(%rbp), %rdi
callq 0x33d0
nopl (%rax)