// File: /workspace/github_cpp_makefile_star2_O3/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, -0x48(%rbp)
movq %rdi, -0x40(%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 -0x108(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0xe8(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0xc8(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0xa8(%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 -0x88(%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 -0x68(%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), %r13
leaq 0x80(%r13), %rax
movq %rax, -0x50(%rbp)
movq 0x2fdde(%rip), %rbx     # 0x47fd0
leaq 0x22e23(%rip), %r15     # 0x3b01c
movq 0x2fde0(%rip), %r12     # 0x47fe0
movl $0x50, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r12, %rdi
leaq -0x2c(%rbp), %rsi
callq 0x3280
movzbl -0x2c(%rbp), %eax
cmpl $0x6e, %eax
je 0x18295
cmpl $0x65, %eax
je 0x18295
movl $0x1f, %edx
movq %rbx, %rdi
leaq 0x228cd(%rip), %rsi     # 0x3ab2d
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x73, -0x2a(%rbp)
jmp 0x18200
movl $0xc, %edx
movq %rbx, %rdi
leaq 0x2249b(%rip), %rsi     # 0x3a73f
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r12, %rdi
leaq -0x240(%rbp), %rsi
callq 0x3270
movb -0x2c(%rbp), %r14b
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 %r14b, %edx
movq -0x40(%rbp), %rdi
movq -0x48(%rbp), %rsi
leaq -0x570(%rbp), %rcx
leaq -0x29(%rbp), %r8
callq 0x37a91
movl %eax, %r14d
movq -0x570(%rbp), %rdi
leaq -0x560(%rbp), %rax
cmpq %rax, %rdi
je 0x18345
callq 0x31d0
testb %r14b, %r14b
je 0x18384
movq %r13, %rdi
leaq -0x240(%rbp), %rsi
movl $0x18, %edx
callq 0x3310
movq %r13, %rdi
leaq -0x34(%rbp), %rsi
callq 0x3120
movq %r13, %rdi
movq 0x2fc3c(%rip), %rsi     # 0x47fb0
callq 0x3160
movq -0x50(%rbp), %rdi
callq 0x30d0
jmp 0x183e9
movl $0x36, %edx
movq %rbx, %rdi
leaq 0x223b9(%rip), %rsi     # 0x3a74c
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x18295
movq -0x198(%rbp), %rdx
movl $0x8, %r8d
leaq -0x1a0(%rbp), %rdi
xorl %esi, %esi
leaq 0x22c5d(%rip), %rcx     # 0x3b06d
callq 0x3300
movl $0xe, %edx
movq %rbx, %rdi
leaq 0x2235f(%rip), %rsi     # 0x3a783
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r12, %rdi
callq 0x33a0
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x78(%rbp), %rsi
callq 0x33c0
leaq -0x78(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x184f2
movl $0x2d, %edx
movq %rbx, %rdi
leaq 0x222f6(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x70(%rbp), %r14
testq %r14, %r14
je 0x18518
movq -0x78(%rbp), %r15
xorl %r13d, %r13d
movsbl (%r15,%r13), %edi
callq 0x32c0
movb %al, (%r15,%r13)
incq %r13
cmpq %r13, %r14
jne 0x18502
cmpb $0x6e, -0x29(%rbp)
leaq -0x748(%rbp), %r15
je 0x18415
movl $0x1a, %edx
movq %rbx, %rdi
leaq 0x2261e(%rip), %rsi     # 0x3ab56
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x180(%rbp), %rsi
callq 0x33c0
leaq -0x180(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38318
testb %al, %al
jne 0x18604
movl $0x35, %edx
movq %rbx, %rdi
leaq 0x225c3(%rip), %rsi     # 0x3ab71
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x18529
movl $0x10, %edx
movq %rbx, %rdi
leaq 0x2258a(%rip), %rsi     # 0x3aba7
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x160(%rbp), %rsi
callq 0x33c0
leaq -0x160(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38bdf
testb %al, %al
jne 0x186e9
movl $0x2d, %edx
movq %rbx, %rdi
leaq 0x220ff(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x1860e
movl $0x29, %edx
movq %rbx, %rdi
leaq 0x22974(%rip), %rsi     # 0x3b076
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r12, %rdi
leaq -0x200(%rbp), %rsi
callq 0x3270
movq %r12, %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 0x392c4
movl %eax, %r14d
movq -0x550(%rbp), %rdi
leaq -0x540(%rbp), %rax
cmpq %rax, %rdi
je 0x1879b
callq 0x31d0
testb %r14b, %r14b
je 0x18852
movq %r15, %rdi
leaq -0x200(%rbp), %rsi
movl $0x18, %edx
callq 0x3310
movq %r15, %rdi
leaq -0x2b(%rbp), %rsi
callq 0x31b0
movb $0x73, -0x29(%rbp)
cmpb $0x1, -0x2b(%rbp)
jne 0x18838
movl $0x19, %edx
movq %rbx, %rdi
leaq 0x22900(%rip), %rsi     # 0x3b0dd
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r12, %rdi
callq 0x33a0
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x33c0
movq %r15, %rdi
movq 0x2f76e(%rip), %rsi     # 0x47fb0
callq 0x3160
movq -0x50(%rbp), %rdi
callq 0x30d0
jmp 0x188b7
movl $0x3c, %edx
movq %rbx, %rdi
leaq 0x2283f(%rip), %rsi     # 0x3b0a0
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x186f3
jmp 0x18929
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movl $0x22, %edx
movq %rbx, %rdi
leaq 0x222de(%rip), %rsi     # 0x3abd7
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
movl $0x1e, %edx
movq %rbx, %rdi
leaq 0x22280(%rip), %rsi     # 0x3abb8
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x118(%rbp), %rsi
callq 0x33c0
leaq -0x118(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x18a04
movl $0x2d, %edx
movq %rbx, %rdi
leaq 0x21de4(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
leaq -0x520(%rbp), %rax
movq %rax, -0x530(%rbp)
movq -0x118(%rbp), %rsi
movq -0x110(%rbp), %rdx
addq %rsi, %rdx
leaq -0x530(%rbp), %rdi
callq 0x4574
movq -0x250(%rbp), %rdi
leaq -0x530(%rbp), %rsi
callq 0x36d35
movl %eax, %r14d
movq -0x530(%rbp), %rdi
leaq -0x520(%rbp), %rax
cmpq %rax, %rdi
je 0x18a5d
callq 0x31d0
testb %r14b, %r14b
je 0x188c3
cmpb $0x6e, -0x29(%rbp)
je 0x18929
movl $0x1b, %edx
movq %rbx, %rdi
leaq 0x2217b(%rip), %rsi     # 0x3abfa
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0xf8(%rbp), %rsi
callq 0x33c0
leaq -0xf8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x18b4b
movl $0x2d, %edx
movq %rbx, %rdi
leaq 0x21c9d(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb -0x2b(%rbp), %r14b
leaq -0x500(%rbp), %rax
movq %rax, -0x510(%rbp)
movq -0xf8(%rbp), %rsi
movq -0xf0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x510(%rbp), %rdi
callq 0x4574
movzbl %r14b, %edi
movq -0x248(%rbp), %rsi
leaq -0x510(%rbp), %rdx
movl $0x72, %ecx
callq 0x36dd5
movl %eax, %r14d
movq -0x510(%rbp), %rdi
leaq -0x500(%rbp), %rax
cmpq %rax, %rdi
je 0x18bb1
callq 0x31d0
testb %r14b, %r14b
je 0x18bc5
cmpb $0x6e, -0x29(%rbp)
je 0x18a70
jmp 0x18c5a
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movl $0x31, %edx
movq %rbx, %rdi
leaq 0x2201b(%rip), %rsi     # 0x3ac16
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
jmp 0x18a70
movl $0x1a, %edx
movq %rbx, %rdi
leaq 0x21fdf(%rip), %rsi     # 0x3ac48
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0xd8(%rbp), %rsi
callq 0x33c0
leaq -0xd8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x18d35
movl $0x2d, %edx
movq %rbx, %rdi
leaq 0x21ab3(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0xd0(%rbp), %r14
testq %r14, %r14
je 0x18d61
movq -0xd8(%rbp), %r15
xorl %r13d, %r13d
movsbl (%r15,%r13), %edi
callq 0x32c0
movb %al, (%r15,%r13)
incq %r13
cmpq %r13, %r14
jne 0x18d4b
cmpb $0x6e, -0x29(%rbp)
je 0x18c5a
movl $0x19, %edx
movq %rbx, %rdi
leaq 0x21ee9(%rip), %rsi     # 0x3ac63
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x1c0(%rbp), %rsi
callq 0x33c0
movq -0x1b8(%rbp), %r14
testq %r14, %r14
je 0x18df9
movq -0x1c0(%rbp), %r15
xorl %r13d, %r13d
movsbl (%r15,%r13), %edi
callq 0x33d0
movb %al, (%r15,%r13)
incq %r13
cmpq %r13, %r14
jne 0x18de3
leaq -0x1c0(%rbp), %r14
movq %r14, %rdi
leaq 0x21e73(%rip), %rsi     # 0x3ac7d
callq 0x30c0
testl %eax, %eax
je 0x18ea6
movq %r14, %rdi
leaq 0x21e5e(%rip), %rsi     # 0x3ac7f
callq 0x30c0
testl %eax, %eax
je 0x18ea6
movb $0x6e, -0x29(%rbp)
movl $0x21, %edx
movq %rbx, %rdi
leaq 0x21e44(%rip), %rsi     # 0x3ac81
callq 0x3250
leaq -0x748(%rbp), %r13
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x18d6b
jmp 0x18ebd
movq -0x1c0(%rbp), %rax
movb (%rax), %al
movb %al, -0x2d(%rbp)
movb $0x73, -0x29(%rbp)
leaq -0x748(%rbp), %r13
movl $0x1c, %edx
movq %rbx, %rdi
leaq 0x21dd7(%rip), %rsi     # 0x3aca3
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %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 0x38d29
movl %eax, %r14d
movq -0x4f0(%rbp), %rdi
leaq -0x4e0(%rbp), %rax
cmpq %rax, %rdi
je 0x18f75
callq 0x31d0
testb %r14b, %r14b
jne 0x18fdf
movl $0x34, %edx
movq %rbx, %rdi
leaq 0x21d37(%rip), %rsi     # 0x3acc0
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x220(%rbp), %r15
callq 0x3040
movq %rax, %r14
movq %r13, %rsi
movl (%rax), %r13d
movl $0x0, (%rax)
movq %r15, %rdi
callq 0x3170
movsd %xmm0, -0x120(%rbp)
cmpq %r15, -0x748(%rbp)
je 0x1a020
movl (%r14), %eax
testl %eax, %eax
je 0x19028
cmpl $0x22, %eax
jne 0x1902b
jmp 0x1a02c
movl %r13d, (%r14)
cmpb $0x6e, -0x29(%rbp)
leaq -0x748(%rbp), %r13
je 0x18ebd
movl $0x1f, %edx
movq %rbx, %rdi
leaq 0x21d66(%rip), %rsi     # 0x3adb1
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x140(%rbp), %rsi
callq 0x33c0
leaq -0x140(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38ed7
testb %al, %al
jne 0x19117
movl $0x36, %edx
movq %rbx, %rdi
leaq 0x21f01(%rip), %rsi     # 0x3afc2
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x1903c
cmpb $0x6e, -0x2c(%rbp)
jne 0x196f4
movq -0x40(%rbp), %rax
movl 0x28(%rax), %eax
movq %rax, -0x58(%rbp)
movl $0x17, %edx
movq %rbx, %rdi
leaq 0x21cc2(%rip), %rsi     # 0x3ae07
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x98(%rbp), %rsi
callq 0x33c0
leaq -0x98(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x39038
testb %al, %al
jne 0x19211
movl $0x24, %edx
movq %rbx, %rdi
leaq 0x21c64(%rip), %rsi     # 0x3ae1f
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x19136
movl $0x20, %edx
movq %rbx, %rdi
leaq 0x21c1a(%rip), %rsi     # 0x3ae44
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0xb8(%rbp), %rsi
callq 0x33c0
leaq -0xb8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38ed7
testb %al, %al
jne 0x192f6
movl $0x35, %edx
movq %rbx, %rdi
leaq 0x21b31(%rip), %rsi     # 0x3add1
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x1921b
movl -0x34(%rbp), %r15d
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 -0x78(%rbp), %rsi
movq -0x70(%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 -0x118(%rbp), %rsi
movq -0x110(%rbp), %rdx
addq %rsi, %rdx
leaq -0x450(%rbp), %rdi
callq 0x4574
leaq -0x420(%rbp), %rax
movq %rax, -0x430(%rbp)
movq -0xf8(%rbp), %rsi
movq -0xf0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x430(%rbp), %rdi
callq 0x4574
leaq -0x400(%rbp), %rax
movq %rax, -0x410(%rbp)
movq -0xd8(%rbp), %rsi
movq -0xd0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x410(%rbp), %rdi
callq 0x4574
movb -0x2b(%rbp), %r14b
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
movl %r15d, -0x38(%rbp)
leaq -0x3a0(%rbp), %rax
movq %rax, -0x3b0(%rbp)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3b0(%rbp), %rdi
callq 0x4574
leaq -0x5a0(%rbp), %rax
movq %rax, -0x5b0(%rbp)
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5b0(%rbp), %r15
movq %r15, %rdi
callq 0x4574
subq $0x8, %rsp
movzbl %r14b, %eax
movsbl -0x2d(%rbp), %r9d
leaq -0xcd8(%rbp), %r14
movq %r14, %rdi
movl -0x38(%rbp), %esi
leaq -0x4d0(%rbp), %rdx
leaq -0x4b0(%rbp), %rcx
leaq -0x490(%rbp), %r8
movsd -0x120(%rbp), %xmm0
pushq %r15
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 0x7004
addq $0x50, %rsp
movq %r13, %rdi
leaq -0x34(%rbp), %rsi
movq %r14, %rdx
callq 0x1d00c
movq -0x40(%rbp), %rdi
movq %r13, %rsi
callq 0x1e33a
leaq -0x740(%rbp), %rdi
callq 0x74d4
leaq -0xcd8(%rbp), %rdi
callq 0x74d4
movq -0x5b0(%rbp), %rdi
leaq -0x5a0(%rbp), %rax
cmpq %rax, %rdi
je 0x195ab
callq 0x31d0
movq -0x3b0(%rbp), %rdi
leaq -0x3a0(%rbp), %rax
cmpq %rax, %rdi
je 0x195c3
callq 0x31d0
movq -0x3d0(%rbp), %rdi
leaq -0x3c0(%rbp), %rax
cmpq %rax, %rdi
je 0x195db
callq 0x31d0
movq -0x3f0(%rbp), %rdi
leaq -0x3e0(%rbp), %rax
cmpq %rax, %rdi
je 0x195f3
callq 0x31d0
movq -0x410(%rbp), %rdi
leaq -0x400(%rbp), %rax
cmpq %rax, %rdi
je 0x1960b
callq 0x31d0
movq -0x430(%rbp), %rdi
leaq -0x420(%rbp), %rax
cmpq %rax, %rdi
je 0x19623
callq 0x31d0
movq -0x450(%rbp), %rdi
leaq -0x440(%rbp), %rax
cmpq %rax, %rdi
je 0x1963b
callq 0x31d0
movq -0x470(%rbp), %rdi
leaq -0x460(%rbp), %rax
cmpq %rax, %rdi
je 0x19653
callq 0x31d0
movq -0x490(%rbp), %rdi
leaq -0x480(%rbp), %rax
cmpq %rax, %rdi
je 0x1966b
callq 0x31d0
movq -0x4b0(%rbp), %rdi
leaq -0x4a0(%rbp), %rax
cmpq %rax, %rdi
je 0x19683
callq 0x31d0
movq -0x4d0(%rbp), %rdi
leaq -0x4c0(%rbp), %rax
cmpq %rax, %rdi
je 0x1969b
callq 0x31d0
movq -0x40(%rbp), %rax
movq -0x58(%rbp), %rcx
cmpq %rcx, 0x28(%rax)
jne 0x19cb9
movl $0x2d, %edx
movq %rbx, %rdi
leaq 0x217a9(%rip), %rsi     # 0x3ae65
callq 0x3250
leaq 0x21954(%rip), %r15     # 0x3b01c
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
jmp 0x1828c
movq -0x48(%rbp), %rax
movl 0x28(%rax), %eax
movq %rax, -0x58(%rbp)
movl $0x1a, %edx
movq %rbx, %rdi
leaq 0x21785(%rip), %rsi     # 0x3ae93
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x98(%rbp), %rsi
callq 0x33c0
leaq -0x98(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x39038
testb %al, %al
jne 0x197da
movl $0x24, %edx
movq %rbx, %rdi
leaq 0x2169b(%rip), %rsi     # 0x3ae1f
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x196ff
movl $0x20, %edx
movq %rbx, %rdi
leaq 0x21651(%rip), %rsi     # 0x3ae44
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0xb8(%rbp), %rsi
callq 0x33c0
leaq -0xb8(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38ed7
testb %al, %al
jne 0x198bf
movl $0x35, %edx
movq %rbx, %rdi
leaq 0x21568(%rip), %rsi     # 0x3add1
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x197e4
movl -0x34(%rbp), %r15d
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 -0x78(%rbp), %rsi
movq -0x70(%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 -0x118(%rbp), %rsi
movq -0x110(%rbp), %rdx
addq %rsi, %rdx
leaq -0x310(%rbp), %rdi
callq 0x4574
leaq -0x2e0(%rbp), %rax
movq %rax, -0x2f0(%rbp)
movq -0xf8(%rbp), %rsi
movq -0xf0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2f0(%rbp), %rdi
callq 0x4574
leaq -0x2c0(%rbp), %rax
movq %rax, -0x2d0(%rbp)
movq -0xd8(%rbp), %rsi
movq -0xd0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2d0(%rbp), %rdi
callq 0x4574
movb -0x2b(%rbp), %r14b
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
movl %r15d, -0x38(%rbp)
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
addq %rsi, %rdx
leaq -0x270(%rbp), %rdi
callq 0x4574
leaq -0x580(%rbp), %rax
movq %rax, -0x590(%rbp)
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x590(%rbp), %r15
movq %r15, %rdi
callq 0x4574
subq $0x8, %rsp
movzbl %r14b, %eax
movsbl -0x2d(%rbp), %r9d
leaq -0xcd8(%rbp), %r14
movq %r14, %rdi
movl -0x38(%rbp), %esi
leaq -0x390(%rbp), %rdx
leaq -0x370(%rbp), %rcx
leaq -0x350(%rbp), %r8
movsd -0x120(%rbp), %xmm0
pushq %r15
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 0x752a
addq $0x50, %rsp
movq %r13, %rdi
leaq -0x34(%rbp), %rsi
movq %r14, %rdx
callq 0x1d0a0
movq -0x48(%rbp), %rdi
movq %r13, %rsi
callq 0x1e576
leaq -0x740(%rbp), %rdi
callq 0x79a6
leaq -0xcd8(%rbp), %rdi
callq 0x79a6
movq -0x590(%rbp), %rdi
leaq -0x580(%rbp), %rax
cmpq %rax, %rdi
je 0x19b74
callq 0x31d0
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0x19b8c
callq 0x31d0
movq -0x290(%rbp), %rdi
leaq -0x280(%rbp), %rax
cmpq %rax, %rdi
je 0x19ba4
callq 0x31d0
movq -0x2b0(%rbp), %rdi
leaq -0x2a0(%rbp), %rax
cmpq %rax, %rdi
je 0x19bbc
callq 0x31d0
movq -0x2d0(%rbp), %rdi
leaq -0x2c0(%rbp), %rax
cmpq %rax, %rdi
je 0x19bd4
callq 0x31d0
movq -0x2f0(%rbp), %rdi
leaq -0x2e0(%rbp), %rax
cmpq %rax, %rdi
je 0x19bec
callq 0x31d0
movq -0x310(%rbp), %rdi
leaq -0x300(%rbp), %rax
cmpq %rax, %rdi
je 0x19c04
callq 0x31d0
movq -0x330(%rbp), %rdi
leaq -0x320(%rbp), %rax
cmpq %rax, %rdi
je 0x19c1c
callq 0x31d0
movq -0x350(%rbp), %rdi
leaq -0x340(%rbp), %rax
cmpq %rax, %rdi
je 0x19c34
callq 0x31d0
movq -0x370(%rbp), %rdi
leaq -0x360(%rbp), %rax
cmpq %rax, %rdi
je 0x19c4c
callq 0x31d0
movq -0x390(%rbp), %rdi
leaq -0x380(%rbp), %rax
cmpq %rax, %rdi
je 0x19c64
callq 0x31d0
movq -0x48(%rbp), %rax
movq -0x58(%rbp), %rcx
cmpq %rcx, 0x28(%rax)
jne 0x19cb9
movl $0x2d, %edx
movq %rbx, %rdi
leaq 0x211e4(%rip), %rsi     # 0x3ae65
callq 0x3250
leaq 0x2138f(%rip), %r15     # 0x3b01c
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
jmp 0x1828c
movl $0x1f, %edx
movq %rbx, %rdi
leaq 0x211e6(%rip), %rsi     # 0x3aeae
callq 0x3250
leaq 0x21348(%rip), %r15     # 0x3b01c
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movl $0x24, %edx
movq %rbx, %rdi
leaq 0x2119a(%rip), %rsi     # 0x3aece
callq 0x3250
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r12, %rdi
leaq -0x2a(%rbp), %rsi
callq 0x3280
cmpb $0x73, -0x2a(%rbp)
je 0x18200
movq -0x40(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x19ddc
leaq 0x2136f(%rip), %rsi     # 0x3b0f7
leaq -0xb48(%rbp), %rdi
movl $0x10, %edx
callq 0x3050
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rbx
addq $0x8, %rax
cmpq %rax, %rbx
je 0x19dd0
movq %rax, %r15
leaq -0xb48(%rbp), %r14
leaq 0x28(%rbx), %rsi
movq %r14, %rdi
callq 0xc9b7
movq %rbx, %rdi
callq 0x3140
movq %rax, %rbx
cmpq %r15, %rax
jne 0x19db4
leaq -0xb48(%rbp), %rdi
callq 0x32a0
movq -0x48(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x19e42
leaq 0x21319(%rip), %rsi     # 0x3b107
leaq -0x948(%rbp), %rdi
movl $0x10, %edx
callq 0x3050
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rbx
addq $0x8, %rax
cmpq %rax, %rbx
je 0x19e36
movq %rax, %r15
leaq -0x948(%rbp), %r14
leaq 0x28(%rbx), %rsi
movq %r14, %rdi
callq 0xd034
movq %rbx, %rdi
callq 0x3140
movq %rax, %rbx
cmpq %r15, %rax
jne 0x19e1a
leaq -0x948(%rbp), %rdi
callq 0x32a0
movq 0x2e17f(%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 0x19ec4
callq 0x31d0
movq -0x220(%rbp), %rdi
leaq -0x210(%rbp), %rax
cmpq %rax, %rdi
je 0x19edc
callq 0x31d0
movq -0x1c0(%rbp), %rdi
leaq -0x1b0(%rbp), %rax
cmpq %rax, %rdi
je 0x19ef4
callq 0x31d0
movq -0x240(%rbp), %rdi
leaq -0x230(%rbp), %rax
cmpq %rax, %rdi
je 0x19f0c
callq 0x31d0
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x19f1e
callq 0x31d0
movq -0x1e0(%rbp), %rdi
leaq -0x1d0(%rbp), %rax
cmpq %rax, %rdi
je 0x19f36
callq 0x31d0
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x19f4e
callq 0x31d0
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x19f66
callq 0x31d0
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x19f7e
callq 0x31d0
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x19f96
callq 0x31d0
movq -0xf8(%rbp), %rdi
leaq -0xe8(%rbp), %rax
cmpq %rax, %rdi
je 0x19fae
callq 0x31d0
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %rax
cmpq %rax, %rdi
je 0x19fc6
callq 0x31d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x19fde
callq 0x31d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x19ff6
callq 0x31d0
movq -0x1a0(%rbp), %rdi
leaq -0x190(%rbp), %rax
cmpq %rax, %rdi
je 0x1a00e
callq 0x31d0
addq $0xcb8, %rsp            # imm = 0xCB8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2118b(%rip), %rdi     # 0x3b1b2
callq 0x3110
leaq 0x2117f(%rip), %rdi     # 0x3b1b2
callq 0x32b0
movq %rax, %rbx
movq 0x2df86(%rip), %rax     # 0x47fc8
movq (%rax), %r14
movq 0x18(%rax), %r15
jmp 0x1a482
movq %rax, %rbx
jmp 0x1a4aa
jmp 0x1a449
jmp 0x1a449
jmp 0x1a449
movq %rax, %rbx
jmp 0x1a2f6
movq %rax, %rbx
jmp 0x1a2de
movq %rax, %rbx
jmp 0x1a2c6
movq %rax, %rbx
jmp 0x1a2ae
jmp 0x1a449
movq %rax, %rbx
jmp 0x1a1ee
movq %rax, %rbx
jmp 0x1a1d6
movq %rax, %rbx
jmp 0x1a1be
movq %rax, %rbx
jmp 0x1a1a6
movq %rax, %rbx
jmp 0x1a18e
movq %rax, %rbx
jmp 0x1a176
movq %rax, %rbx
jmp 0x1a15e
movq %rax, %rbx
jmp 0x1a296
movq %rax, %rbx
jmp 0x1a146
movq %rax, %rbx
jmp 0x1a12e
movq %rax, %rbx
jmp 0x1a116
movq %rax, %rbx
jmp 0x1a0fe
movq %rax, %rbx
jmp 0x1a0f2
movq %rax, %rbx
leaq -0x740(%rbp), %rdi
callq 0x74d4
leaq -0xcd8(%rbp), %rdi
callq 0x74d4
movq -0x5b0(%rbp), %rdi
leaq -0x5a0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a116
callq 0x31d0
movq -0x3b0(%rbp), %rdi
leaq -0x3a0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a12e
callq 0x31d0
movq -0x3d0(%rbp), %rdi
leaq -0x3c0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a146
callq 0x31d0
movq -0x3f0(%rbp), %rdi
leaq -0x3e0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a15e
callq 0x31d0
movq -0x410(%rbp), %rdi
leaq -0x400(%rbp), %rax
cmpq %rax, %rdi
je 0x1a176
callq 0x31d0
movq -0x430(%rbp), %rdi
leaq -0x420(%rbp), %rax
cmpq %rax, %rdi
je 0x1a18e
callq 0x31d0
movq -0x450(%rbp), %rdi
leaq -0x440(%rbp), %rax
cmpq %rax, %rdi
je 0x1a1a6
callq 0x31d0
movq -0x470(%rbp), %rdi
leaq -0x460(%rbp), %rax
cmpq %rax, %rdi
je 0x1a1be
callq 0x31d0
movq -0x490(%rbp), %rdi
leaq -0x480(%rbp), %rax
cmpq %rax, %rdi
je 0x1a1d6
callq 0x31d0
movq -0x4b0(%rbp), %rdi
leaq -0x4a0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a1ee
callq 0x31d0
movq -0x4d0(%rbp), %rdi
leaq -0x4c0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a44c
jmp 0x1a403
movq %rax, %rbx
jmp 0x1a27e
movq %rax, %rbx
jmp 0x1a266
jmp 0x1a449
movq %rax, %rbx
jmp 0x1a24e
movq %rax, %rbx
jmp 0x1a33e
movq %rax, %rbx
jmp 0x1a242
movq %rax, %rbx
jmp 0x1a326
movq %rax, %rbx
leaq -0x740(%rbp), %rdi
callq 0x79a6
leaq -0xcd8(%rbp), %rdi
callq 0x79a6
movq -0x590(%rbp), %rdi
leaq -0x580(%rbp), %rax
cmpq %rax, %rdi
je 0x1a266
callq 0x31d0
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0x1a27e
callq 0x31d0
movq -0x290(%rbp), %rdi
leaq -0x280(%rbp), %rax
cmpq %rax, %rdi
je 0x1a296
callq 0x31d0
movq -0x2b0(%rbp), %rdi
leaq -0x2a0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a2ae
callq 0x31d0
movq -0x2d0(%rbp), %rdi
leaq -0x2c0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a2c6
callq 0x31d0
movq -0x2f0(%rbp), %rdi
leaq -0x2e0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a2de
callq 0x31d0
movq -0x310(%rbp), %rdi
leaq -0x300(%rbp), %rax
cmpq %rax, %rdi
je 0x1a2f6
callq 0x31d0
movq -0x330(%rbp), %rdi
leaq -0x320(%rbp), %rax
cmpq %rax, %rdi
je 0x1a30e
callq 0x31d0
movq -0x350(%rbp), %rdi
leaq -0x340(%rbp), %rax
cmpq %rax, %rdi
je 0x1a326
callq 0x31d0
movq -0x370(%rbp), %rdi
leaq -0x360(%rbp), %rax
cmpq %rax, %rdi
je 0x1a33e
callq 0x31d0
movq -0x390(%rbp), %rdi
leaq -0x380(%rbp), %rax
cmpq %rax, %rdi
je 0x1a44c
jmp 0x1a403
movq %rax, %rbx
jmp 0x1a30e
jmp 0x1a449
jmp 0x1a449
jmp 0x1a449
jmp 0x1a40a
movq %rax, %rbx
movq -0x4f0(%rbp), %rdi
leaq -0x4e0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a44c
jmp 0x1a403
movq %rax, %rbx
movq -0x550(%rbp), %rdi
leaq -0x540(%rbp), %rax
cmpq %rax, %rdi
je 0x1a44c
jmp 0x1a403
movq %rax, %rbx
movq -0x570(%rbp), %rdi
leaq -0x560(%rbp), %rax
cmpq %rax, %rdi
je 0x1a44c
jmp 0x1a403
movq %rax, %rbx
cmpl $0x0, (%r14)
jne 0x1a44c
movl %r13d, (%r14)
jmp 0x1a44c
movq %rax, %rbx
movq -0x510(%rbp), %rdi
leaq -0x500(%rbp), %rax
cmpq %rax, %rdi
je 0x1a44c
jmp 0x1a403
movq %rax, %rbx
movq -0x530(%rbp), %rdi
leaq -0x520(%rbp), %rax
cmpq %rax, %rdi
je 0x1a44c
callq 0x31d0
jmp 0x1a44c
movq %rax, %rbx
movq 0x2db9c(%rip), %rsi     # 0x47fb0
leaq -0x748(%rbp), %rdi
callq 0x3160
movq -0x50(%rbp), %rdi
callq 0x30d0
jmp 0x1a44c
jmp 0x1a449
jmp 0x1a449
jmp 0x1a449
jmp 0x1a449
jmp 0x1a449
jmp 0x1a449
jmp 0x1a449
jmp 0x1a449
jmp 0x1a449
jmp 0x1a449
jmp 0x1a449
jmp 0x1a449
jmp 0x1a449
jmp 0x1a449
jmp 0x1a449
movq %rax, %rbx
movq 0x2db75(%rip), %rax     # 0x47fc8
movq (%rax), %r14
movq 0x18(%rax), %r15
leaq -0x940(%rbp), %rdi
movq %r14, -0x8(%rdi)
movq -0x18(%r14), %rax
movq %r15, -0x948(%rbp,%rax)
callq 0x3190
leaq -0x850(%rbp), %rdi
callq 0x30d0
leaq -0xb40(%rbp), %rdi
movq %r14, -0x8(%rdi)
movq -0x18(%r14), %rax
movq %r15, -0xb48(%rbp,%rax)
callq 0x3190
leaq -0xa50(%rbp), %rdi
callq 0x30d0
movq -0x200(%rbp), %rdi
leaq -0x1f0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a4c2
callq 0x31d0
movq -0x220(%rbp), %rdi
leaq -0x210(%rbp), %rax
cmpq %rax, %rdi
je 0x1a4da
callq 0x31d0
movq -0x1c0(%rbp), %rdi
leaq -0x1b0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a4f2
callq 0x31d0
movq -0x240(%rbp), %rdi
leaq -0x230(%rbp), %rax
cmpq %rax, %rdi
je 0x1a50a
callq 0x31d0
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x1a51c
callq 0x31d0
movq -0x1e0(%rbp), %rdi
leaq -0x1d0(%rbp), %rax
cmpq %rax, %rdi
je 0x1a534
callq 0x31d0
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x1a54c
callq 0x31d0
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x1a564
callq 0x31d0
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x1a57c
callq 0x31d0
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x1a594
callq 0x31d0
movq -0xf8(%rbp), %rdi
leaq -0xe8(%rbp), %rax
cmpq %rax, %rdi
je 0x1a5ac
callq 0x31d0
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %rax
cmpq %rax, %rdi
je 0x1a5c4
callq 0x31d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x1a5dc
callq 0x31d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x1a5f4
callq 0x31d0
movq -0x1a0(%rbp), %rdi
leaq -0x190(%rbp), %rax
cmpq %rax, %rdi
je 0x1a60c
callq 0x31d0
movq %rbx, %rdi
callq 0x3380