// File: /workspace/github_cpp_makefile_star2_O1/nataly-enne[P]pet-fera/pet_fera_cadastrar.cpp
// Function: cadastrar(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 cadastrar(map <int, REPTIL_NATIVO> &repteis_nat, map <int, REPTIL_EXOTICO> &repteis_ex, map <int, VETERINARIO> vets, map <int, TRATADOR> tratadores){
	int id;
	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;
	char sexo, tipo_animal, continuar = 's', sucesso, tipo = 'r';
	double tamanho;
	unsigned int old_size;
	ofstream nativos;
	ofstream exoticos;

	do{
		cout << "Deseja cadastrar um REPTIL NATIVO ou REPTIL EXÓTICO? \n n - NATIVO\n e - EXÓTICO" << endl;
		cin >> tipo_animal;
		if(tipo_animal != 'n' && tipo_animal != 'e'){
			cout << "Tipo invalido, tente novamente!" << endl;
			continuar = 's';
			continue;
		}
		else{
			// Recebe o ID e verifica se é valido.
			do{
				cout << "Digite o id:" << endl;
				cin >> id_string;
				if(!verifica_ID(repteis_nat, repteis_ex, tipo_animal, id_string, sucesso)){
					cout << "O ID deve conter apenas inteiros ou ID já cadastrado!" << endl << endl;
				}
				else{
					stringstream ss(id_string); // Converte string para int.
					ss >> id;
				}

			}while(sucesso == 'n');

			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;
				cin.ignore();
				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 há caracteres proibidos.
			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');

			
			if(tipo_animal == 'n'){
				old_size = repteis_nat.size();

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

				// Armazenando no map dados do tipo réptil nativo passados pelo usuário.
				repteis_nat.insert(pair <int, REPTIL_NATIVO> (id, REPTIL_NATIVO(id, classe, nome, nome_cientifico, sexo, tamanho, dieta, veterinario, tratador, nome_batismo, venenoso, tipo_veneno, autorizacao_IBAMA, origem, autorizacao)));
				
				if (repteis_nat.size() == old_size){
					cout << "Falha no cadastro do animal! Tente novamente!" << endl;
					continuar = 's';
					continue;
				}
			}
			else{
				old_size = repteis_ex.size();

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

				// Armazenando no map dados do tipo réptil exótico passados pelo usuário.
				repteis_ex.insert(pair <int, REPTIL_EXOTICO> (id, REPTIL_EXOTICO(id, classe, nome, nome_cientifico, sexo, tamanho, dieta, veterinario, tratador, nome_batismo, venenoso, tipo_veneno, autorizacao_IBAMA, origem, autorizacao)));
				
				if (repteis_ex.size() == old_size){
					cout << "Falha no cadastro do animal! Tente novamente!" << endl;
					continuar = 's';
					continue;
				}
			}
		}
		cout << "\nAnimal cadastrado com sucesso!" << endl << endl;
		cout << "Deseja cadastrar um novo animal? s/n" << endl;
		cin >> continuar;
	}while(continuar == 's');

	if(!repteis_nat.empty()){
		nativos.open("repteis_nat.txt");
		for(auto it = repteis_nat.begin(); it != repteis_nat.end(); it++){
			nativos << (*it).second;
		}
		nativos.close();
	}
	if(!repteis_ex.empty()){
		exoticos.open("repteis_ex.txt");
		for(auto it = repteis_ex.begin(); it != repteis_ex.end(); it++){
			exoticos << (*it).second;
		}
		exoticos.close();
	}	
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xcb8, %rsp            # imm = 0xCB8
movq %rcx, -0x248(%rbp)
movq %rdx, -0x250(%rbp)
movq %rsi, -0x40(%rbp)
movq %rdi, -0x48(%rbp)
leaq -0x190(%rbp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x170(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x150(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x100(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0xe0(%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 -0x130(%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 -0x1d0(%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 -0x230(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x1b0(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x210(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x1f0(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
movb $0x73, -0x2a(%rbp)
leaq -0xb48(%rbp), %rdi
callq 0x3360
leaq -0x948(%rbp), %rdi
callq 0x3360
leaq -0x748(%rbp), %rax
addq $0x80, %rax
movq %rax, -0x118(%rbp)
movq 0x2fd82(%rip), %r14     # 0x47fd0
movq 0x2fd8b(%rip), %r13     # 0x47fe0
movl $0x50, %edx
movq %r14, %rdi
leaq 0x22db8(%rip), %rsi     # 0x3b01c
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
leaq -0x2c(%rbp), %rsi
callq 0x3280
movzbl -0x2c(%rbp), %eax
cmpl $0x6e, %eax
je 0x182ae
cmpl $0x65, %eax
jne 0x196f1
movl $0xc, %edx
movq %r14, %rdi
leaq 0x22482(%rip), %rsi     # 0x3a73f
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
leaq -0x240(%rbp), %rsi
callq 0x3270
movb -0x2c(%rbp), %bl
leaq -0x560(%rbp), %rax
movq %rax, -0x570(%rbp)
movq -0x240(%rbp), %rsi
movq -0x238(%rbp), %rdx
addq %rsi, %rdx
leaq -0x570(%rbp), %rdi
callq 0x4574
movsbl %bl, %edx
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
leaq -0x570(%rbp), %rcx
leaq -0x29(%rbp), %r8
callq 0x37b94
movl %eax, %r12d
movq -0x570(%rbp), %rdi
leaq -0x560(%rbp), %rax
cmpq %rax, %rdi
je 0x1835c
callq 0x31d0
testb %r12b, %r12b
je 0x183a5
leaq -0x748(%rbp), %rbx
movq %rbx, %rdi
leaq -0x240(%rbp), %rsi
movl $0x18, %edx
callq 0x3310
movq %rbx, %rdi
leaq -0x34(%rbp), %rsi
callq 0x3120
movq %rbx, %rdi
movq 0x2fc1e(%rip), %rsi     # 0x47fb0
callq 0x3160
movq -0x118(%rbp), %rdi
callq 0x30d0
jmp 0x1840a
movl $0x36, %edx
movq %r14, %rdi
leaq 0x22398(%rip), %rsi     # 0x3a74c
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r12
movq (%rax), %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
cmpb $0x6e, -0x29(%rbp)
je 0x182ae
movq -0x198(%rbp), %rdx
movl $0x8, %r8d
leaq -0x1a0(%rbp), %rdi
xorl %esi, %esi
leaq 0x22c3c(%rip), %rcx     # 0x3b06d
callq 0x3300
movl $0xe, %edx
movq %r14, %rdi
leaq 0x2233e(%rip), %rsi     # 0x3a783
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %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 0x3832d
testb %al, %al
jne 0x18513
movl $0x2d, %edx
movq %r14, %rdi
leaq 0x222d5(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r12
movq (%rax), %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 -0x68(%rbp), %rbx
testq %rbx, %rbx
je 0x18539
movq -0x70(%rbp), %r15
xorl %r12d, %r12d
movsbl (%r15,%r12), %edi
callq 0x32c0
movb %al, (%r15,%r12)
incq %r12
cmpq %r12, %rbx
jne 0x18523
cmpb $0x6e, -0x29(%rbp)
je 0x18436
movl $0x1a, %edx
movq %r14, %rdi
leaq 0x22604(%rip), %rsi     # 0x3ab56
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x180(%rbp), %rsi
callq 0x33c0
leaq -0x180(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3844d
testb %al, %al
jne 0x1861e
movl $0x35, %edx
movq %r14, %rdi
leaq 0x225a9(%rip), %rsi     # 0x3ab71
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r12
movq (%rax), %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
cmpb $0x6e, -0x29(%rbp)
je 0x18543
movl $0x10, %edx
movq %r14, %rdi
leaq 0x22570(%rip), %rsi     # 0x3aba7
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x160(%rbp), %rsi
callq 0x33c0
leaq -0x160(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38df8
testb %al, %al
jne 0x18703
movl $0x2d, %edx
movq %r14, %rdi
leaq 0x220e5(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r12
movq (%rax), %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
cmpb $0x6e, -0x29(%rbp)
je 0x18628
movl $0x29, %edx
movq %r14, %rdi
leaq 0x2295a(%rip), %rsi     # 0x3b076
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
leaq -0x200(%rbp), %rsi
callq 0x3270
movq %r13, %rdi
callq 0x33a0
leaq -0x540(%rbp), %rax
movq %rax, -0x550(%rbp)
movq -0x200(%rbp), %rsi
movq -0x1f8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x550(%rbp), %rdi
callq 0x4574
leaq -0x550(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x39623
movl %eax, %r12d
movq -0x550(%rbp), %rdi
leaq -0x540(%rbp), %rax
cmpq %rax, %rdi
je 0x187b5
callq 0x31d0
testb %r12b, %r12b
je 0x1887a
leaq -0x748(%rbp), %rbx
movq %rbx, %rdi
leaq -0x200(%rbp), %rsi
movl $0x18, %edx
callq 0x3310
movq %rbx, %rdi
leaq -0x2b(%rbp), %rsi
callq 0x31b0
movb $0x73, -0x29(%rbp)
cmpb $0x1, -0x2b(%rbp)
jne 0x18859
movl $0x19, %edx
movq %r14, %rdi
leaq 0x228df(%rip), %rsi     # 0x3b0dd
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %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 -0x1e0(%rbp), %rsi
callq 0x33c0
leaq -0x748(%rbp), %rdi
movq 0x2f749(%rip), %rsi     # 0x47fb0
callq 0x3160
movq -0x118(%rbp), %rdi
callq 0x30d0
jmp 0x188df
movl $0x3c, %edx
movq %r14, %rdi
leaq 0x22817(%rip), %rsi     # 0x3b0a0
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r12
movq (%rax), %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
cmpb $0x6e, -0x29(%rbp)
je 0x1870d
movl $0x1e, %edx
movq %r14, %rdi
leaq 0x222c0(%rip), %rsi     # 0x3abb8
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x110(%rbp), %rsi
callq 0x33c0
leaq -0x110(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3832d
testb %al, %al
jne 0x189c4
movl $0x2d, %edx
movq %r14, %rdi
leaq 0x21e24(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r12
movq (%rax), %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
leaq -0x520(%rbp), %rax
movq %rax, -0x530(%rbp)
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
addq %rsi, %rdx
leaq -0x530(%rbp), %rdi
callq 0x4574
movq -0x250(%rbp), %rdi
leaq -0x530(%rbp), %rsi
callq 0x36dd9
movl %eax, %r12d
movq -0x530(%rbp), %rdi
leaq -0x520(%rbp), %rax
cmpq %rax, %rdi
je 0x18a1d
callq 0x31d0
testb %r12b, %r12b
jne 0x18a88
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movl $0x22, %edx
movq %r14, %rdi
leaq 0x2217f(%rip), %rsi     # 0x3abd7
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
cmpb $0x6e, -0x29(%rbp)
je 0x188e9
movl $0x1b, %edx
movq %r14, %rdi
leaq 0x22159(%rip), %rsi     # 0x3abfa
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0xf0(%rbp), %rsi
callq 0x33c0
leaq -0xf0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3832d
testb %al, %al
jne 0x18b6d
movl $0x2d, %edx
movq %r14, %rdi
leaq 0x21c7b(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r12
movq (%rax), %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 -0x2b(%rbp), %bl
leaq -0x500(%rbp), %rax
movq %rax, -0x510(%rbp)
movq -0xf0(%rbp), %rsi
movq -0xe8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x510(%rbp), %rdi
callq 0x4574
movzbl %bl, %edi
movq -0x248(%rbp), %rsi
leaq -0x510(%rbp), %rdx
movl $0x72, %ecx
callq 0x36e7a
movl %eax, %r12d
movq -0x510(%rbp), %rdi
leaq -0x500(%rbp), %rax
cmpq %rax, %rdi
je 0x18bd1
callq 0x31d0
testb %r12b, %r12b
jne 0x18c6a
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movl $0x31, %edx
movq %r14, %rdi
leaq 0x22006(%rip), %rsi     # 0x3ac16
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
cmpb $0x6e, -0x29(%rbp)
je 0x18a92
movl $0x1a, %edx
movq %r14, %rdi
leaq 0x21fc5(%rip), %rsi     # 0x3ac48
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%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 0x3832d
testb %al, %al
jne 0x18d4f
movl $0x2d, %edx
movq %r14, %rdi
leaq 0x21a99(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r12
movq (%rax), %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 -0xc8(%rbp), %rbx
testq %rbx, %rbx
je 0x18d7b
movq -0xd0(%rbp), %r15
xorl %r12d, %r12d
movsbl (%r15,%r12), %edi
callq 0x32c0
movb %al, (%r15,%r12)
incq %r12
cmpq %r12, %rbx
jne 0x18d65
cmpb $0x6e, -0x29(%rbp)
je 0x18c74
movl $0x19, %edx
movq %r14, %rdi
leaq 0x21ecf(%rip), %rsi     # 0x3ac63
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x1c0(%rbp), %rsi
callq 0x33c0
movq -0x1b8(%rbp), %rbx
testq %rbx, %rbx
je 0x18e13
movq -0x1c0(%rbp), %r15
xorl %r12d, %r12d
movsbl (%r15,%r12), %edi
callq 0x33d0
movb %al, (%r15,%r12)
incq %r12
cmpq %r12, %rbx
jne 0x18dfd
leaq -0x1c0(%rbp), %rbx
movq %rbx, %rdi
leaq 0x21e59(%rip), %rsi     # 0x3ac7d
callq 0x30c0
testl %eax, %eax
je 0x18eab
movq %rbx, %rdi
leaq 0x21e48(%rip), %rsi     # 0x3ac7f
callq 0x30c0
testl %eax, %eax
je 0x18eab
movb $0x6e, -0x29(%rbp)
movl $0x21, %edx
movq %r14, %rdi
leaq 0x21e2e(%rip), %rsi     # 0x3ac81
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r12
movq (%rax), %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
jmp 0x18ebb
movq -0x1c0(%rbp), %rax
movb (%rax), %al
movb %al, -0x2d(%rbp)
movb $0x73, -0x29(%rbp)
cmpb $0x6e, -0x29(%rbp)
je 0x18d85
movl $0x1c, %edx
movq %r14, %rdi
leaq 0x21dcf(%rip), %rsi     # 0x3aca3
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x220(%rbp), %rsi
callq 0x33c0
leaq -0x4e0(%rbp), %rax
movq %rax, -0x4f0(%rbp)
movq -0x220(%rbp), %rsi
movq -0x218(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4f0(%rbp), %rdi
callq 0x4574
leaq -0x4f0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38f49
movl %eax, %r12d
movq -0x4f0(%rbp), %rdi
leaq -0x4e0(%rbp), %rax
cmpq %rax, %rdi
je 0x18f7d
callq 0x31d0
testb %r12b, %r12b
jne 0x18fe7
movl $0x34, %edx
movq %r14, %rdi
leaq 0x21d2f(%rip), %rsi     # 0x3acc0
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r12
movq (%rax), %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 -0x220(%rbp), %r15
callq 0x3040
movq %rax, %r12
movl (%rax), %ebx
movl $0x0, (%rax)
movq %r15, %rdi
leaq -0x748(%rbp), %rsi
callq 0x3170
movsd %xmm0, -0x120(%rbp)
cmpq %r15, -0x748(%rbp)
je 0x1a04e
movl (%r12), %eax
testl %eax, %eax
je 0x19034
cmpl $0x22, %eax
jne 0x19038
jmp 0x1a05a
movl %ebx, (%r12)
cmpb $0x6e, -0x29(%rbp)
je 0x18ec5
movl $0x1f, %edx
movq %r14, %rdi
leaq 0x21d60(%rip), %rsi     # 0x3adb1
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r13, %rdi
leaq -0x140(%rbp), %rsi
callq 0x33c0
leaq -0x140(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x391c3
testb %al, %al
jne 0x1911d
movl $0x36, %edx
movq %r14, %rdi
leaq 0x21efb(%rip), %rsi     # 0x3afc2
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r12
movq (%rax), %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
cmpb $0x6e, -0x29(%rbp)
je 0x19042
cmpb $0x6e, -0x2c(%rbp)
jne 0x19731
movq -0x48(%rbp), %rax
movl 0x28(%rax), %ebx
movl $0x17, %edx
movq %r14, %rdi
leaq 0x21cc0(%rip), %rsi     # 0x3ae07
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%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 0x39389
testb %al, %al
jne 0x19213
movl $0x24, %edx
movq %r14, %rdi
leaq 0x21c62(%rip), %rsi     # 0x3ae1f
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r12
movq (%rax), %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
cmpb $0x6e, -0x29(%rbp)
je 0x19138
movl $0x20, %edx
movq %r14, %rdi
leaq 0x21c18(%rip), %rsi     # 0x3ae44
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%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 0x391c3
testb %al, %al
jne 0x192f8
movl $0x35, %edx
movq %r14, %rdi
leaq 0x21b2f(%rip), %rsi     # 0x3add1
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r12
movq (%rax), %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
cmpb $0x6e, -0x29(%rbp)
je 0x1921d
movl -0x34(%rbp), %r12d
leaq -0x4c0(%rbp), %rax
movq %rax, -0x4d0(%rbp)
movq -0x1a0(%rbp), %rsi
movq -0x198(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4d0(%rbp), %rdi
callq 0x4574
leaq -0x4a0(%rbp), %rax
movq %rax, -0x4b0(%rbp)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4b0(%rbp), %rdi
callq 0x4574
leaq -0x480(%rbp), %rax
movq %rax, -0x490(%rbp)
movq -0x180(%rbp), %rsi
movq -0x178(%rbp), %rdx
addq %rsi, %rdx
leaq -0x490(%rbp), %rdi
callq 0x4574
leaq -0x460(%rbp), %rax
movq %rax, -0x470(%rbp)
movq -0x160(%rbp), %rsi
movq -0x158(%rbp), %rdx
addq %rsi, %rdx
leaq -0x470(%rbp), %rdi
callq 0x4574
leaq -0x440(%rbp), %rax
movq %rax, -0x450(%rbp)
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
addq %rsi, %rdx
leaq -0x450(%rbp), %rdi
callq 0x4574
leaq -0x420(%rbp), %rax
movq %rax, -0x430(%rbp)
movq -0xf0(%rbp), %rsi
movq -0xe8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x430(%rbp), %rdi
callq 0x4574
movq %rbx, -0x50(%rbp)
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
movb -0x2b(%rbp), %r15b
leaq -0x3e0(%rbp), %rax
movq %rax, -0x3f0(%rbp)
movq -0x1e0(%rbp), %rsi
movq -0x1d8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3f0(%rbp), %rdi
callq 0x4574
leaq -0x3c0(%rbp), %rax
movq %rax, -0x3d0(%rbp)
movq -0x140(%rbp), %rsi
movq -0x138(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3d0(%rbp), %rdi
callq 0x4574
leaq -0x3a0(%rbp), %rax
movq %rax, -0x3b0(%rbp)
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3b0(%rbp), %rdi
callq 0x4574
leaq -0x5a0(%rbp), %rax
movq %rax, -0x5b0(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5b0(%rbp), %rbx
movq %rbx, %rdi
callq 0x4574
subq $0x8, %rsp
movzbl %r15b, %eax
movsbl -0x2d(%rbp), %r9d
leaq -0xcd8(%rbp), %r15
movq %r15, %rdi
movl %r12d, %esi
leaq -0x4d0(%rbp), %rdx
leaq -0x4b0(%rbp), %rcx
leaq -0x490(%rbp), %r8
movsd -0x120(%rbp), %xmm0
pushq %rbx
leaq -0x3b0(%rbp), %r10
pushq %r10
leaq -0x3d0(%rbp), %r10
pushq %r10
leaq -0x3f0(%rbp), %r10
pushq %r10
pushq %rax
leaq -0x410(%rbp), %rax
pushq %rax
leaq -0x430(%rbp), %rax
pushq %rax
leaq -0x450(%rbp), %rax
pushq %rax
leaq -0x470(%rbp), %rax
pushq %rax
callq 0x7000
addq $0x50, %rsp
leaq -0x748(%rbp), %rbx
movq %rbx, %rdi
leaq -0x34(%rbp), %rsi
movq %r15, %rdx
callq 0x1d01a
movq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x1e390
leaq -0x740(%rbp), %rdi
callq 0x74d0
movq %r15, %rdi
callq 0x74d0
movq -0x5b0(%rbp), %rdi
leaq -0x5a0(%rbp), %rax
cmpq %rax, %rdi
je 0x195af
callq 0x31d0
movq -0x3b0(%rbp), %rdi
leaq -0x3a0(%rbp), %rax
cmpq %rax, %rdi
movq -0x50(%rbp), %r12
je 0x195cb
callq 0x31d0
movq -0x3d0(%rbp), %rdi
leaq -0x3c0(%rbp), %rax
cmpq %rax, %rdi
je 0x195e3
callq 0x31d0
movq -0x3f0(%rbp), %rdi
leaq -0x3e0(%rbp), %rax
cmpq %rax, %rdi
je 0x195fb
callq 0x31d0
movq -0x410(%rbp), %rdi
leaq -0x400(%rbp), %rax
cmpq %rax, %rdi
je 0x19613
callq 0x31d0
movq -0x430(%rbp), %rdi
leaq -0x420(%rbp), %rax
cmpq %rax, %rdi
je 0x1962b
callq 0x31d0
movq -0x450(%rbp), %rdi
leaq -0x440(%rbp), %rax
cmpq %rax, %rdi
je 0x19643
callq 0x31d0
movq -0x470(%rbp), %rdi
leaq -0x460(%rbp), %rax
cmpq %rax, %rdi
je 0x1965b
callq 0x31d0
movq -0x490(%rbp), %rdi
leaq -0x480(%rbp), %rax
cmpq %rax, %rdi
je 0x19673
callq 0x31d0
movq -0x4b0(%rbp), %rdi
leaq -0x4a0(%rbp), %rax
cmpq %rax, %rdi
je 0x1968b
callq 0x31d0
movq -0x4d0(%rbp), %rdi
leaq -0x4c0(%rbp), %rax
cmpq %rax, %rdi
je 0x196a3
callq 0x31d0
movq -0x48(%rbp), %rax
cmpq %r12, 0x28(%rax)
jne 0x19cf1
movl $0x2d, %edx
movq %r14, %rdi
leaq 0x217a5(%rip), %rsi     # 0x3ae65
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
jmp 0x19ce8
movl $0x1f, %edx
movq %r14, %rdi
leaq 0x2142d(%rip), %rsi     # 0x3ab2d
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
jmp 0x19ce8
movq -0x40(%rbp), %rax
movl 0x28(%rax), %ebx
movl $0x1a, %edx
movq %r14, %rdi
leaq 0x2174c(%rip), %rsi     # 0x3ae93
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%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 0x39389
testb %al, %al
jne 0x19813
movl $0x24, %edx
movq %r14, %rdi
leaq 0x21662(%rip), %rsi     # 0x3ae1f
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r12
movq (%rax), %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
cmpb $0x6e, -0x29(%rbp)
je 0x19738
movl $0x20, %edx
movq %r14, %rdi
leaq 0x21618(%rip), %rsi     # 0x3ae44
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%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 0x391c3
testb %al, %al
jne 0x198f8
movl $0x35, %edx
movq %r14, %rdi
leaq 0x2152f(%rip), %rsi     # 0x3add1
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r12
movq (%rax), %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
cmpb $0x6e, -0x29(%rbp)
je 0x1981d
movl -0x34(%rbp), %r12d
leaq -0x380(%rbp), %rax
movq %rax, -0x390(%rbp)
movq -0x1a0(%rbp), %rsi
movq -0x198(%rbp), %rdx
addq %rsi, %rdx
leaq -0x390(%rbp), %rdi
callq 0x4574
leaq -0x360(%rbp), %rax
movq %rax, -0x370(%rbp)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
leaq -0x370(%rbp), %rdi
callq 0x4574
leaq -0x340(%rbp), %rax
movq %rax, -0x350(%rbp)
movq -0x180(%rbp), %rsi
movq -0x178(%rbp), %rdx
addq %rsi, %rdx
leaq -0x350(%rbp), %rdi
callq 0x4574
leaq -0x320(%rbp), %rax
movq %rax, -0x330(%rbp)
movq -0x160(%rbp), %rsi
movq -0x158(%rbp), %rdx
addq %rsi, %rdx
leaq -0x330(%rbp), %rdi
callq 0x4574
leaq -0x300(%rbp), %rax
movq %rax, -0x310(%rbp)
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
addq %rsi, %rdx
leaq -0x310(%rbp), %rdi
callq 0x4574
leaq -0x2e0(%rbp), %rax
movq %rax, -0x2f0(%rbp)
movq -0xf0(%rbp), %rsi
movq -0xe8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2f0(%rbp), %rdi
callq 0x4574
movq %rbx, -0x50(%rbp)
leaq -0x2c0(%rbp), %rax
movq %rax, -0x2d0(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2d0(%rbp), %rdi
callq 0x4574
movb -0x2b(%rbp), %r15b
leaq -0x2a0(%rbp), %rax
movq %rax, -0x2b0(%rbp)
movq -0x1e0(%rbp), %rsi
movq -0x1d8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2b0(%rbp), %rdi
callq 0x4574
leaq -0x280(%rbp), %rax
movq %rax, -0x290(%rbp)
movq -0x140(%rbp), %rsi
movq -0x138(%rbp), %rdx
addq %rsi, %rdx
leaq -0x290(%rbp), %rdi
callq 0x4574
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
addq %rsi, %rdx
leaq -0x270(%rbp), %rdi
callq 0x4574
leaq -0x580(%rbp), %rax
movq %rax, -0x590(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x590(%rbp), %rbx
movq %rbx, %rdi
callq 0x4574
subq $0x8, %rsp
movzbl %r15b, %eax
movsbl -0x2d(%rbp), %r9d
leaq -0xcd8(%rbp), %r15
movq %r15, %rdi
movl %r12d, %esi
leaq -0x390(%rbp), %rdx
leaq -0x370(%rbp), %rcx
leaq -0x350(%rbp), %r8
movsd -0x120(%rbp), %xmm0
pushq %rbx
leaq -0x270(%rbp), %r10
pushq %r10
leaq -0x290(%rbp), %r10
pushq %r10
leaq -0x2b0(%rbp), %r10
pushq %r10
pushq %rax
leaq -0x2d0(%rbp), %rax
pushq %rax
leaq -0x2f0(%rbp), %rax
pushq %rax
leaq -0x310(%rbp), %rax
pushq %rax
leaq -0x330(%rbp), %rax
pushq %rax
callq 0x7526
addq $0x50, %rsp
leaq -0x748(%rbp), %rbx
movq %rbx, %rdi
leaq -0x34(%rbp), %rsi
movq %r15, %rdx
callq 0x1d0ae
movq -0x40(%rbp), %rdi
movq %rbx, %rsi
callq 0x1e5d8
leaq -0x740(%rbp), %rdi
callq 0x79a2
movq %r15, %rdi
callq 0x79a2
movq -0x590(%rbp), %rdi
leaq -0x580(%rbp), %rax
cmpq %rax, %rdi
je 0x19baf
callq 0x31d0
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
movq -0x50(%rbp), %r12
je 0x19bcb
callq 0x31d0
movq -0x290(%rbp), %rdi
leaq -0x280(%rbp), %rax
cmpq %rax, %rdi
je 0x19be3
callq 0x31d0
movq -0x2b0(%rbp), %rdi
leaq -0x2a0(%rbp), %rax
cmpq %rax, %rdi
je 0x19bfb
callq 0x31d0
movq -0x2d0(%rbp), %rdi
leaq -0x2c0(%rbp), %rax
cmpq %rax, %rdi
je 0x19c13
callq 0x31d0
movq -0x2f0(%rbp), %rdi
leaq -0x2e0(%rbp), %rax
cmpq %rax, %rdi
je 0x19c2b
callq 0x31d0
movq -0x310(%rbp), %rdi
leaq -0x300(%rbp), %rax
cmpq %rax, %rdi
je 0x19c43
callq 0x31d0
movq -0x330(%rbp), %rdi
leaq -0x320(%rbp), %rax
cmpq %rax, %rdi
je 0x19c5b
callq 0x31d0
movq -0x350(%rbp), %rdi
leaq -0x340(%rbp), %rax
cmpq %rax, %rdi
je 0x19c73
callq 0x31d0
movq -0x370(%rbp), %rdi
leaq -0x360(%rbp), %rax
cmpq %rax, %rdi
je 0x19c8b
callq 0x31d0
movq -0x390(%rbp), %rdi
leaq -0x380(%rbp), %rax
cmpq %rax, %rdi
je 0x19ca3
callq 0x31d0
movq -0x40(%rbp), %rax
cmpq %r12, 0x28(%rax)
jne 0x19cf1
movl $0x2d, %edx
movq %r14, %rdi
leaq 0x211a9(%rip), %rsi     # 0x3ae65
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x73, -0x2a(%rbp)
jmp 0x19d9d
movl $0x1f, %edx
movq %r14, %rdi
leaq 0x211ae(%rip), %rsi     # 0x3aeae
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r12
movq (%rax), %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 $0x24, %edx
movq %r14, %rdi
leaq 0x21169(%rip), %rsi     # 0x3aece
callq 0x3250
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r13, %rdi
leaq -0x2a(%rbp), %rsi
callq 0x3280
cmpb $0x73, -0x2a(%rbp)
je 0x18255
movq -0x48(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x19e0d
leaq 0x2133e(%rip), %rsi     # 0x3b0f7
leaq -0xb48(%rbp), %rdi
movl $0x10, %edx
callq 0x3050
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rbx
addq $0x8, %rax
cmpq %rax, %rbx
je 0x19e01
movq %rax, %r15
leaq -0xb48(%rbp), %r14
leaq 0x28(%rbx), %rsi
movq %r14, %rdi
callq 0xc9b3
movq %rbx, %rdi
callq 0x3140
movq %rax, %rbx
cmpq %r15, %rax
jne 0x19de5
leaq -0xb48(%rbp), %rdi
callq 0x32a0
movq -0x40(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x19e73
leaq 0x212e8(%rip), %rsi     # 0x3b107
leaq -0x948(%rbp), %rdi
movl $0x10, %edx
callq 0x3050
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rbx
addq $0x8, %rax
cmpq %rax, %rbx
je 0x19e67
movq %rax, %r15
leaq -0x948(%rbp), %r14
leaq 0x28(%rbx), %rsi
movq %r14, %rdi
callq 0xd030
movq %rbx, %rdi
callq 0x3140
movq %rax, %rbx
cmpq %r15, %rax
jne 0x19e4b
leaq -0x948(%rbp), %rdi
callq 0x32a0
movq 0x2e14e(%rip), %rax     # 0x47fc8
movq (%rax), %rbx
movq 0x18(%rax), %r14
leaq -0x940(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, -0x948(%rbp,%rax)
callq 0x3190
movl $0xf8, %r15d
leaq -0x948(%rbp), %rdi
addq %r15, %rdi
callq 0x30d0
leaq -0xb40(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, -0xb48(%rbp,%rax)
callq 0x3190
leaq -0xb48(%rbp), %rdi
addq %r15, %rdi
callq 0x30d0
movq -0x200(%rbp), %rdi
leaq -0x1f0(%rbp), %rax
cmpq %rax, %rdi
je 0x19ef5
callq 0x31d0
movq -0x220(%rbp), %rdi
leaq -0x210(%rbp), %rax
cmpq %rax, %rdi
je 0x19f0d
callq 0x31d0
movq -0x1c0(%rbp), %rdi
leaq -0x1b0(%rbp), %rax
cmpq %rax, %rdi
je 0x19f25
callq 0x31d0
movq -0x240(%rbp), %rdi
leaq -0x230(%rbp), %rax
cmpq %rax, %rdi
je 0x19f3d
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x19f4f
callq 0x31d0
movq -0x1e0(%rbp), %rdi
leaq -0x1d0(%rbp), %rax
cmpq %rax, %rdi
je 0x19f67
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x19f7c
callq 0x31d0
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x19f94
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x19fac
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x19fc4
callq 0x31d0
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x19fdc
callq 0x31d0
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x19ff4
callq 0x31d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x1a00c
callq 0x31d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x1a024
callq 0x31d0
movq -0x1a0(%rbp), %rdi
leaq -0x190(%rbp), %rax
cmpq %rax, %rdi
je 0x1a03c
callq 0x31d0
addq $0xcb8, %rsp            # imm = 0xCB8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2115d(%rip), %rdi     # 0x3b1b2
callq 0x3110
leaq 0x21151(%rip), %rdi     # 0x3b1b2
callq 0x32b0
movq %rax, %r14
jmp 0x1a4c2
movq %rax, %r14
jmp 0x1a4f8
jmp 0x1a489
movq %rax, %r14
jmp 0x1a2af
movq %rax, %r14
jmp 0x1a14b
movq %rax, %r14
jmp 0x1a376
movq %rax, %r14
jmp 0x1a1cb
movq %rax, %r14
jmp 0x1a24f
movq %rax, %r14
jmp 0x1a316
movq %rax, %r14
jmp 0x1a2c7
movq %rax, %r14
jmp 0x1a157
jmp 0x1a489
movq %rax, %r14
jmp 0x1a1e3
movq %rax, %r14
jmp 0x1a267
movq %rax, %r14
jmp 0x1a32e
movq %rax, %r14
leaq -0x740(%rbp), %rdi
callq 0x79a2
jmp 0x1a111
movq %rax, %r14
jmp 0x1a2df
movq %rax, %r14
jmp 0x1a16f
movq %rax, %r14
jmp 0x1a1fb
movq %rax, %r14
jmp 0x1a27f
movq %rax, %r14
jmp 0x1a346
movq %rax, %r14
leaq -0xcd8(%rbp), %rdi
callq 0x79a2
jmp 0x1a1b3
jmp 0x1a489
movq %rax, %r14
jmp 0x1a187
movq %rax, %r14
jmp 0x1a213
movq %rax, %r14
jmp 0x1a297
movq %rax, %r14
leaq -0x740(%rbp), %rdi
callq 0x74d0
leaq -0xcd8(%rbp), %rdi
callq 0x74d0
movq -0x5b0(%rbp), %rdi
leaq -0x5a0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a16f
callq 0x31d0
movq -0x3b0(%rbp), %rdi
leaq -0x3a0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a187
callq 0x31d0
movq -0x3d0(%rbp), %rdi
leaq -0x3c0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a237
callq 0x31d0
jmp 0x1a237
movq %rax, %r14
jmp 0x1a35e
movq %rax, %r14
movq -0x590(%rbp), %rdi
leaq -0x580(%rbp), %rax
cmpq %rax, %rdi
je 0x1a1cb
callq 0x31d0
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0x1a1e3
callq 0x31d0
movq -0x290(%rbp), %rdi
leaq -0x280(%rbp), %rax
cmpq %rax, %rdi
je 0x1a1fb
callq 0x31d0
movq -0x2b0(%rbp), %rdi
leaq -0x2a0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a213
callq 0x31d0
movq -0x2d0(%rbp), %rdi
leaq -0x2c0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a2fe
callq 0x31d0
jmp 0x1a2fe
movq %rax, %r14
movq -0x3f0(%rbp), %rdi
leaq -0x3e0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a24f
callq 0x31d0
movq -0x410(%rbp), %rdi
leaq -0x400(%rbp), %rax
cmpq %rax, %rdi
je 0x1a267
callq 0x31d0
movq -0x430(%rbp), %rdi
leaq -0x420(%rbp), %rax
cmpq %rax, %rdi
je 0x1a27f
callq 0x31d0
movq -0x450(%rbp), %rdi
leaq -0x440(%rbp), %rax
cmpq %rax, %rdi
je 0x1a297
callq 0x31d0
movq -0x470(%rbp), %rdi
leaq -0x460(%rbp), %rax
cmpq %rax, %rdi
je 0x1a2af
callq 0x31d0
movq -0x490(%rbp), %rdi
leaq -0x480(%rbp), %rax
cmpq %rax, %rdi
je 0x1a2c7
callq 0x31d0
movq -0x4b0(%rbp), %rdi
leaq -0x4a0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a2df
callq 0x31d0
movq -0x4d0(%rbp), %rdi
leaq -0x4c0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a48c
jmp 0x1a432
movq %rax, %r14
movq -0x2f0(%rbp), %rdi
leaq -0x2e0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a316
callq 0x31d0
movq -0x310(%rbp), %rdi
leaq -0x300(%rbp), %rax
cmpq %rax, %rdi
je 0x1a32e
callq 0x31d0
movq -0x330(%rbp), %rdi
leaq -0x320(%rbp), %rax
cmpq %rax, %rdi
je 0x1a346
callq 0x31d0
movq -0x350(%rbp), %rdi
leaq -0x340(%rbp), %rax
cmpq %rax, %rdi
je 0x1a35e
callq 0x31d0
movq -0x370(%rbp), %rdi
leaq -0x360(%rbp), %rax
cmpq %rax, %rdi
je 0x1a376
callq 0x31d0
movq -0x390(%rbp), %rdi
leaq -0x380(%rbp), %rax
cmpq %rax, %rdi
je 0x1a48c
jmp 0x1a432
jmp 0x1a489
jmp 0x1a489
jmp 0x1a489
jmp 0x1a489
jmp 0x1a449
jmp 0x1a489
movq %rax, %r14
movq -0x4f0(%rbp), %rdi
leaq -0x4e0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a48c
jmp 0x1a432
movq %rax, %r14
movq -0x510(%rbp), %rdi
leaq -0x500(%rbp), %rax
cmpq %rax, %rdi
je 0x1a48c
jmp 0x1a432
movq %rax, %r14
movq -0x530(%rbp), %rdi
leaq -0x520(%rbp), %rax
cmpq %rax, %rdi
je 0x1a48c
jmp 0x1a432
movq %rax, %r14
movq -0x550(%rbp), %rdi
leaq -0x540(%rbp), %rax
cmpq %rax, %rdi
je 0x1a48c
jmp 0x1a432
movq %rax, %r14
movq -0x570(%rbp), %rdi
leaq -0x560(%rbp), %rax
cmpq %rax, %rdi
je 0x1a48c
callq 0x31d0
jmp 0x1a48c
movq %rax, %r14
cmpl $0x0, (%r12)
jne 0x1a48c
movl %ebx, (%r12)
jmp 0x1a48c
movq %rax, %r14
movq 0x2db5d(%rip), %rsi     # 0x47fb0
leaq -0x748(%rbp), %rdi
callq 0x3160
leaq -0x6c8(%rbp), %rdi
callq 0x30d0
jmp 0x1a48c
jmp 0x1a489
jmp 0x1a489
jmp 0x1a489
jmp 0x1a489
jmp 0x1a489
jmp 0x1a489
jmp 0x1a489
jmp 0x1a489
jmp 0x1a489
jmp 0x1a489
jmp 0x1a489
jmp 0x1a489
jmp 0x1a489
jmp 0x1a489
movq %rax, %r14
movq 0x2db35(%rip), %rax     # 0x47fc8
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq -0x940(%rbp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, -0x948(%rbp,%rcx)
callq 0x3190
leaq -0x850(%rbp), %rdi
callq 0x30d0
movq 0x2daff(%rip), %rax     # 0x47fc8
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq -0xb40(%rbp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, -0xb48(%rbp,%rcx)
callq 0x3190
leaq -0xa50(%rbp), %rdi
callq 0x30d0
movq -0x200(%rbp), %rdi
leaq -0x1f0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a510
callq 0x31d0
movq -0x220(%rbp), %rdi
leaq -0x210(%rbp), %rax
cmpq %rax, %rdi
je 0x1a528
callq 0x31d0
movq -0x1c0(%rbp), %rdi
leaq -0x1b0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a540
callq 0x31d0
movq -0x240(%rbp), %rdi
leaq -0x230(%rbp), %rax
cmpq %rax, %rdi
je 0x1a558
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x1a56a
callq 0x31d0
movq -0x1e0(%rbp), %rdi
leaq -0x1d0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a582
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x1a597
callq 0x31d0
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x1a5af
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a5c7
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a5df
callq 0x31d0
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a5f7
callq 0x31d0
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x1a60f
callq 0x31d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x1a627
callq 0x31d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x1a63f
callq 0x31d0
movq -0x1a0(%rbp), %rdi
leaq -0x190(%rbp), %rax
cmpq %rax, %rdi
je 0x1a657
callq 0x31d0
movq %r14, %rdi
callq 0x3380