// File: /workspace/github_cpp_makefile_star2_O3/nataly-enne[P]pet-fera/pet_fera_cadastrar.cpp
// Function: cadastrar(std::map<int, AVE_NATIVO, std::less<int>, std::allocator<std::pair<int const, AVE_NATIVO>>>&, std::map<int, AVE_EXOTICO, std::less<int>, std::allocator<std::pair<int const, AVE_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, AVE_NATIVO> &aves_nat, map <int, AVE_EXOTICO> &aves_ex, map <int, VETERINARIO> vets, map <int, TRATADOR> tratadores){
	int id;
	bool check;
	double tam_bico, envergadura, tamanho;;
	string classe, nome_cientifico, dieta, veterinario, tratador, nome_batismo, autorizacao, autorizacao_IBAMA, origem, nome, id_string, sexo_string, tamanho_string, tam_bico_string, envergadura_string;
	char sexo, tipo_animal, sucesso, continuar = 's', tipo = 'v';
	unsigned int old_size;
	ofstream nativos;
	ofstream exoticos;

	do{
		cout << "Deseja cadastrar um AVE NATIVA ou AVE EXÓTICA? \n n - NATIVA\n e - EXÓTICA" << endl;
		cin >> tipo_animal;
		if(tipo_animal != 'n' && tipo_animal != 'e'){
			continuar = 's';
			continue;
		}
		else{
			// Recebe o ID e verifica se é valido.
			do{
				cout << "Digite o id:" << endl;
				cin >> id_string;
				if(!verifica_ID(aves_nat, aves_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 = "Aves";

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


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

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

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

			// Recebe o nome do tratador e verifica se não possui 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(0, tratadores, tratador, tipo);
				if(!check){
					cout << endl;
					cout << "ERRO: Tratador não cadastrado ou não se adequa!" << endl << endl;
					sucesso = 'n';
				}
			}while(sucesso == 'n');

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

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

			// Recebe o tamanho do animal e verifica se não 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');
				
			// Recebe o tamanho do bico do animal e verifica se não há caracteres proibidos.
			do{
				cout << "Digite o tamanho do bico: " << endl;
				getline(cin, tam_bico_string);
				if(!verifica_tamanho(tam_bico_string, sucesso)){
					cout << "ERRO: o tamanho do animal tem que ter apenas um '.' " << endl << endl;
				}
				tam_bico = stod(tam_bico_string);
			}while(sucesso == 'n');
			
			// Recebe a envergadura do animal e verifica se não há caracteres proibidos.
			do{
				cout << "Digite a envergadura: " << endl;
				getline(cin, envergadura_string);
				if(!verifica_tamanho(envergadura_string, sucesso)){
					cout << "ERRO: o tamanho do animal tem que ter apenas um '.' " << endl << endl;
				}
				envergadura = stod(envergadura_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 = aves_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 valores do tipo ave nativa no map passado pelo usuário.
				aves_nat.insert(pair <int, AVE_NATIVO> (id, AVE_NATIVO(id, classe, nome, nome_cientifico, sexo, tamanho, dieta, veterinario, tratador, nome_batismo, tam_bico, envergadura, autorizacao_IBAMA, origem, autorizacao)));
				
				if (aves_nat.size() == old_size){
					cout << "Falha no cadastro do animal! Tente novamente!" << endl;
					continuar = 's';
					continue;
				}
			}
			else{
				// 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 valores de ave exótica no map passada pelo usuário.
				aves_ex.insert(pair <int, AVE_EXOTICO> (id, AVE_EXOTICO(id, classe, nome, nome_cientifico, sexo, tamanho, dieta, veterinario, tratador, nome_batismo, tam_bico, envergadura, autorizacao_IBAMA, origem, autorizacao)));
				
				if (aves_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(!aves_nat.empty()){
		nativos.open("aves_nat.txt");
		for(auto it = aves_nat.begin(); it != aves_nat.end(); it++){
			nativos << (*it).second;
		}
		nativos.close();
	}
	if(!aves_ex.empty()){
		exoticos.open("aves_ex.txt");
		for(auto it = aves_ex.begin(); it != aves_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 $0xc88, %rsp            # imm = 0xC88
movq %rcx, -0x268(%rbp)
movq %rdx, -0x270(%rbp)
movq %rsi, -0x40(%rbp)
movq %rdi, -0x38(%rbp)
leaq -0x1b0(%rbp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x190(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x170(%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 -0x150(%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 -0x60(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x250(%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 -0x230(%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 -0xb38(%rbp), %rdi
callq 0x3360
leaq -0x938(%rbp), %rdi
callq 0x3360
leaq -0x738(%rbp), %r13
leaq 0x170(%r13), %rax
movq %rax, -0x128(%rbp)
leaq -0xcb0(%rbp), %rax
addq $0x168, %rax            # imm = 0x168
movq %rax, -0x120(%rbp)
movq 0x2d84b(%rip), %r12     # 0x47fd0
movq 0x2d854(%rip), %rbx     # 0x47fe0
movq %rax, -0x118(%rbp)
movl -0x118(%rbp), %eax
movq %rax, -0x48(%rbp)
movl $0x4a, %edx
movq %r12, %rdi
leaq 0x2096a(%rip), %rsi     # 0x3b116
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rbx, %rdi
leaq -0x2b(%rbp), %rsi
callq 0x3280
movzbl -0x2b(%rbp), %eax
cmpl $0x6e, %eax
je 0x1a7f9
cmpl $0x65, %eax
je 0x1a7f9
movb $0x73, -0x2a(%rbp)
jmp 0x1a79d
movl $0xc, %edx
movq %r12, %rdi
leaq 0x1ff37(%rip), %rsi     # 0x3a73f
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rbx, %rdi
leaq -0x260(%rbp), %rsi
callq 0x3270
movb -0x2b(%rbp), %r14b
leaq -0x560(%rbp), %rax
movq %rax, -0x570(%rbp)
movq -0x260(%rbp), %rsi
movq -0x258(%rbp), %rdx
addq %rsi, %rdx
leaq -0x570(%rbp), %rdi
callq 0x4574
movsbl %r14b, %edx
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rsi
leaq -0x570(%rbp), %rcx
leaq -0x29(%rbp), %r8
callq 0x37d8c
movl %eax, %r14d
movq -0x570(%rbp), %rdi
leaq -0x560(%rbp), %rax
cmpq %rax, %rdi
je 0x1a8aa
callq 0x31d0
testb %r14b, %r14b
je 0x1a8ec
movq %r13, %rdi
leaq -0x260(%rbp), %rsi
movl $0x18, %edx
callq 0x3310
movq %r13, %rdi
leaq -0x30(%rbp), %rsi
callq 0x3120
movq %r13, %rdi
movq 0x2d6d7(%rip), %rsi     # 0x47fb0
callq 0x3160
leaq -0x6b8(%rbp), %rdi
callq 0x30d0
jmp 0x1a952
movl $0x36, %edx
movq %r12, %rdi
leaq 0x1fe51(%rip), %rsi     # 0x3a74c
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %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 0x1a7f9
movq -0x1b8(%rbp), %rdx
movl $0x4, %r8d
leaq -0x1c0(%rbp), %rdi
xorl %esi, %esi
leaq 0x1fc75(%rip), %rcx     # 0x3a5ee
callq 0x3300
movl $0xe, %edx
movq %r12, %rdi
leaq 0x1fdf6(%rip), %rsi     # 0x3a783
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rbx, %rdi
callq 0x33a0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %rbx, %rdi
leaq -0x70(%rbp), %rsi
callq 0x33c0
leaq -0x70(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x1aa5c
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x1fd8d(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %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 -0x68(%rbp), %r14
testq %r14, %r14
je 0x1aa82
movq -0x70(%rbp), %r15
xorl %r13d, %r13d
movsbl (%r15,%r13), %edi
callq 0x32c0
movb %al, (%r15,%r13)
incq %r13
cmpq %r13, %r14
jne 0x1aa6c
cmpb $0x6e, -0x29(%rbp)
je 0x1a97e
movl $0x1a, %edx
movq %r12, %rdi
leaq 0x200bb(%rip), %rsi     # 0x3ab56
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %rbx, %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x33c0
leaq -0x1a0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38318
testb %al, %al
jne 0x1ab68
movl $0x35, %edx
movq %r12, %rdi
leaq 0x20060(%rip), %rsi     # 0x3ab71
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %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 0x1aa8c
movl $0x10, %edx
movq %r12, %rdi
leaq 0x20026(%rip), %rsi     # 0x3aba7
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %rbx, %rdi
leaq -0x180(%rbp), %rsi
callq 0x33c0
leaq -0x180(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38bdf
testb %al, %al
jne 0x1ac4e
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x1fb9b(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %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 0x1ab72
jmp 0x1acc2
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movl $0x22, %edx
movq %r12, %rdi
leaq 0x1ff46(%rip), %rsi     # 0x3abd7
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
movl $0x1e, %edx
movq %r12, %rdi
leaq 0x1fee7(%rip), %rsi     # 0x3abb8
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %rbx, %rdi
leaq -0x110(%rbp), %rsi
callq 0x33c0
leaq -0x110(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x1ad9e
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x1fa4b(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %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 -0x540(%rbp), %rax
movq %rax, -0x550(%rbp)
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
addq %rsi, %rdx
leaq -0x550(%rbp), %rdi
callq 0x4574
movq -0x270(%rbp), %rdi
leaq -0x550(%rbp), %rsi
callq 0x36d35
movl %eax, %r14d
movq -0x550(%rbp), %rdi
leaq -0x540(%rbp), %rax
cmpq %rax, %rdi
je 0x1adf7
callq 0x31d0
testb %r14b, %r14b
je 0x1ac5a
cmpb $0x6e, -0x29(%rbp)
je 0x1acc2
movl $0x1b, %edx
movq %r12, %rdi
leaq 0x1fde1(%rip), %rsi     # 0x3abfa
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %rbx, %rdi
leaq -0xf0(%rbp), %rsi
callq 0x33c0
leaq -0xf0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x1aee6
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x1f903(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %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 -0xf0(%rbp), %rsi
movq -0xe8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x530(%rbp), %rdi
callq 0x4574
xorl %edi, %edi
movq -0x268(%rbp), %rsi
leaq -0x530(%rbp), %rdx
movl $0x76, %ecx
callq 0x36dd5
movl %eax, %r14d
movq -0x530(%rbp), %rdi
leaq -0x520(%rbp), %rax
cmpq %rax, %rdi
je 0x1af46
callq 0x31d0
testb %r14b, %r14b
je 0x1af5a
cmpb $0x6e, -0x29(%rbp)
je 0x1ae0a
jmp 0x1aff1
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movl $0x31, %edx
movq %r12, %rdi
leaq 0x1fc85(%rip), %rsi     # 0x3ac16
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %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 0x1ae0a
movl $0x1a, %edx
movq %r12, %rdi
leaq 0x1fc48(%rip), %rsi     # 0x3ac48
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %rbx, %rdi
leaq -0xd0(%rbp), %rsi
callq 0x33c0
leaq -0xd0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x3821c
testb %al, %al
jne 0x1b0cd
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x1f71c(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %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 -0xc8(%rbp), %r14
testq %r14, %r14
je 0x1b0f9
movq -0xd0(%rbp), %r15
xorl %r13d, %r13d
movsbl (%r15,%r13), %edi
callq 0x32c0
movb %al, (%r15,%r13)
incq %r13
cmpq %r13, %r14
jne 0x1b0e3
cmpb $0x6e, -0x29(%rbp)
je 0x1aff1
movl $0x19, %edx
movq %r12, %rdi
leaq 0x1fb51(%rip), %rsi     # 0x3ac63
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %rbx, %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x33c0
movq -0x1d8(%rbp), %r14
testq %r14, %r14
je 0x1b191
movq -0x1e0(%rbp), %r15
xorl %r13d, %r13d
movsbl (%r15,%r13), %edi
callq 0x33d0
movb %al, (%r15,%r13)
incq %r13
cmpq %r13, %r14
jne 0x1b17b
leaq -0x1e0(%rbp), %r14
movq %r14, %rdi
leaq 0x1fadb(%rip), %rsi     # 0x3ac7d
callq 0x30c0
testl %eax, %eax
je 0x1b23f
movq %r14, %rdi
leaq 0x1fac6(%rip), %rsi     # 0x3ac7f
callq 0x30c0
testl %eax, %eax
je 0x1b23f
movb $0x6e, -0x29(%rbp)
movl $0x21, %edx
movq %r12, %rdi
leaq 0x1faac(%rip), %rsi     # 0x3ac81
callq 0x3250
leaq -0x738(%rbp), %r13
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %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 0x1b103
jmp 0x1b256
movq -0x1e0(%rbp), %rax
movb (%rax), %al
movb %al, -0x2c(%rbp)
movb $0x73, -0x29(%rbp)
leaq -0x738(%rbp), %r13
movl $0x1c, %edx
movq %r12, %rdi
leaq 0x1fa3e(%rip), %rsi     # 0x3aca3
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %rbx, %rdi
leaq -0x240(%rbp), %rsi
callq 0x33c0
leaq -0x500(%rbp), %rax
movq %rax, -0x510(%rbp)
movq -0x240(%rbp), %rsi
movq -0x238(%rbp), %rdx
addq %rsi, %rdx
leaq -0x510(%rbp), %rdi
callq 0x4574
leaq -0x510(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38d29
movl %eax, %r14d
movq -0x510(%rbp), %rdi
leaq -0x500(%rbp), %rax
cmpq %rax, %rdi
je 0x1b30e
callq 0x31d0
testb %r14b, %r14b
jne 0x1b379
movl $0x34, %edx
movq %r12, %rdi
leaq 0x1f99e(%rip), %rsi     # 0x3acc0
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %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 -0x240(%rbp), %r15
callq 0x3040
movq %rax, %r14
movq %r13, %rsi
movl (%rax), %r13d
movl $0x0, (%rax)
movq %r15, %rdi
callq 0x3170
movsd %xmm0, -0x140(%rbp)
cmpq %r15, -0x738(%rbp)
je 0x1c682
movl (%r14), %eax
testl %eax, %eax
je 0x1b3c2
cmpl $0x22, %eax
jne 0x1b3c5
jmp 0x1c6a6
movl %r13d, (%r14)
cmpb $0x6e, -0x29(%rbp)
leaq -0x738(%rbp), %r13
je 0x1b256
movl $0x1a, %edx
movq %r12, %rdi
leaq 0x1fd7c(%rip), %rsi     # 0x3b161
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %rbx, %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, %r15d
movq -0x4f0(%rbp), %rdi
leaq -0x4e0(%rbp), %rax
cmpq %rax, %rdi
je 0x1b48e
callq 0x31d0
testb %r15b, %r15b
jne 0x1b4f9
movl $0x34, %edx
movq %r12, %rdi
leaq 0x1f81e(%rip), %rsi     # 0x3acc0
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x220(%rbp), %r15
movq %r13, %rsi
movl (%r14), %r13d
movl $0x0, (%r14)
movq %r15, %rdi
callq 0x3170
movsd %xmm0, -0x138(%rbp)
cmpq %r15, -0x738(%rbp)
je 0x1c68e
movl (%r14), %eax
testl %eax, %eax
je 0x1b53b
cmpl $0x22, %eax
jne 0x1b53e
jmp 0x1c6b2
movl %r13d, (%r14)
cmpb $0x6e, -0x29(%rbp)
leaq -0x738(%rbp), %r13
je 0x1b3d6
movl $0x16, %edx
movq %r12, %rdi
leaq 0x1fc1e(%rip), %rsi     # 0x3b17c
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %rbx, %rdi
leaq -0x200(%rbp), %rsi
callq 0x33c0
leaq -0x4c0(%rbp), %rax
movq %rax, -0x4d0(%rbp)
movq -0x200(%rbp), %rsi
movq -0x1f8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4d0(%rbp), %rdi
callq 0x4574
leaq -0x4d0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38d29
movl %eax, %r15d
movq -0x4d0(%rbp), %rdi
leaq -0x4c0(%rbp), %rax
cmpq %rax, %rdi
je 0x1b607
callq 0x31d0
testb %r15b, %r15b
jne 0x1b672
movl $0x34, %edx
movq %r12, %rdi
leaq 0x1f6a5(%rip), %rsi     # 0x3acc0
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r15, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x200(%rbp), %r15
movq %r13, %rsi
movl (%r14), %r13d
movl $0x0, (%r14)
movq %r15, %rdi
callq 0x3170
movsd %xmm0, -0x130(%rbp)
cmpq %r15, -0x738(%rbp)
je 0x1c69a
movl (%r14), %eax
testl %eax, %eax
je 0x1b6b4
cmpl $0x22, %eax
jne 0x1b6b7
jmp 0x1c6be
movl %r13d, (%r14)
cmpb $0x6e, -0x29(%rbp)
leaq -0x738(%rbp), %r13
je 0x1b54f
movl $0x1f, %edx
movq %r12, %rdi
leaq 0x1f6da(%rip), %rsi     # 0x3adb1
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %rbx, %rdi
leaq -0x160(%rbp), %rsi
callq 0x33c0
leaq -0x160(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38ed7
testb %al, %al
jne 0x1b7a4
movl $0x36, %edx
movq %r12, %rdi
leaq 0x1f875(%rip), %rsi     # 0x3afc2
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %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 0x1b6c8
cmpb $0x6e, -0x2b(%rbp)
je 0x1bd61
movl $0x1a, %edx
movq %r12, %rdi
leaq 0x1f6cc(%rip), %rsi     # 0x3ae93
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %rbx, %rdi
leaq -0x90(%rbp), %rsi
callq 0x33c0
leaq -0x90(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x39038
testb %al, %al
jne 0x1b894
movl $0x24, %edx
movq %r12, %rdi
leaq 0x1f5e2(%rip), %rsi     # 0x3ae1f
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %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 0x1b7b8
movl $0x20, %edx
movq %r12, %rdi
leaq 0x1f597(%rip), %rsi     # 0x3ae44
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %rbx, %rdi
leaq -0xb0(%rbp), %rsi
callq 0x33c0
leaq -0xb0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38ed7
testb %al, %al
jne 0x1b97a
movl $0x35, %edx
movq %r12, %rdi
leaq 0x1f4ae(%rip), %rsi     # 0x3add1
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %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 0x1b89e
movl -0x30(%rbp), %r15d
leaq -0x380(%rbp), %rax
movq %rax, -0x390(%rbp)
movq -0x1c0(%rbp), %rsi
movq -0x1b8(%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 -0x1a0(%rbp), %rsi
movq -0x198(%rbp), %rdx
addq %rsi, %rdx
leaq -0x350(%rbp), %rdi
callq 0x4574
leaq -0x320(%rbp), %rax
movq %rax, -0x330(%rbp)
movq -0x180(%rbp), %rsi
movq -0x178(%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
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
leaq -0x2a0(%rbp), %rax
movq %rax, -0x2b0(%rbp)
movq -0x160(%rbp), %rsi
movq -0x158(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2b0(%rbp), %rdi
callq 0x4574
leaq -0x280(%rbp), %rax
movq %rax, -0x290(%rbp)
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
addq %rsi, %rdx
leaq -0x290(%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), %r14
movq %r14, %rdi
callq 0x4574
subq $0x8, %rsp
movsbl -0x2c(%rbp), %r9d
movl %r15d, %esi
leaq -0xcb0(%rbp), %r15
movq %r15, %rdi
leaq -0x390(%rbp), %rdx
leaq -0x370(%rbp), %rcx
leaq -0x350(%rbp), %r8
movsd -0x140(%rbp), %xmm0
movsd -0x138(%rbp), %xmm1
movsd -0x130(%rbp), %xmm2
pushq %r14
leaq -0x290(%rbp), %rax
pushq %rax
leaq -0x2b0(%rbp), %rax
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 0x7e40
addq $0x40, %rsp
movl -0x30(%rbp), %eax
movl %eax, -0x738(%rbp)
leaq -0x730(%rbp), %rdi
movq %r15, %rsi
callq 0x1d42a
movq -0x120(%rbp), %rax
movups (%rax), %xmm0
movq -0x128(%rbp), %rax
movups %xmm0, (%rax)
leaq 0x2be5c(%rip), %rcx     # 0x47a40
leaq 0x10(%rcx), %rax
movq %rax, -0x730(%rbp)
leaq 0x30(%rcx), %rax
movq %rax, -0x630(%rbp)
movq -0x40(%rbp), %rdi
movq %r13, %rsi
callq 0x1e98a
leaq -0x730(%rbp), %rdi
callq 0x8276
leaq -0xcb0(%rbp), %rdi
callq 0x8276
movq -0x590(%rbp), %rdi
leaq -0x580(%rbp), %rax
cmpq %rax, %rdi
je 0x1bc36
callq 0x31d0
movq -0x290(%rbp), %rdi
leaq -0x280(%rbp), %rax
cmpq %rax, %rdi
je 0x1bc4e
callq 0x31d0
movq -0x2b0(%rbp), %rdi
leaq -0x2a0(%rbp), %rax
cmpq %rax, %rdi
je 0x1bc66
callq 0x31d0
movq -0x2d0(%rbp), %rdi
leaq -0x2c0(%rbp), %rax
cmpq %rax, %rdi
je 0x1bc7e
callq 0x31d0
movq -0x2f0(%rbp), %rdi
leaq -0x2e0(%rbp), %rax
cmpq %rax, %rdi
je 0x1bc96
callq 0x31d0
movq -0x310(%rbp), %rdi
leaq -0x300(%rbp), %rax
cmpq %rax, %rdi
je 0x1bcae
callq 0x31d0
movq -0x330(%rbp), %rdi
leaq -0x320(%rbp), %rax
cmpq %rax, %rdi
je 0x1bcc6
callq 0x31d0
movq -0x350(%rbp), %rdi
leaq -0x340(%rbp), %rax
cmpq %rax, %rdi
je 0x1bcde
callq 0x31d0
movq -0x370(%rbp), %rdi
leaq -0x360(%rbp), %rax
cmpq %rax, %rdi
je 0x1bcf6
callq 0x31d0
movq -0x390(%rbp), %rdi
leaq -0x380(%rbp), %rax
cmpq %rax, %rdi
je 0x1bd0e
callq 0x31d0
movq -0x40(%rbp), %rax
movq -0x48(%rbp), %rcx
cmpq %rcx, 0x28(%rax)
jne 0x1c323
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x1f136(%rip), %rsi     # 0x3ae65
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
jmp 0x1a7f3
movq -0x38(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x118(%rbp)
movl %eax, %eax
movq %rax, -0x48(%rbp)
movl $0x17, %edx
movq %r12, %rdi
leaq 0x1f082(%rip), %rsi     # 0x3ae07
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %rbx, %rdi
leaq -0x90(%rbp), %rsi
callq 0x33c0
leaq -0x90(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x39038
testb %al, %al
jne 0x1be52
movl $0x24, %edx
movq %r12, %rdi
leaq 0x1f024(%rip), %rsi     # 0x3ae1f
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %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 0x1bd76
movl $0x20, %edx
movq %r12, %rdi
leaq 0x1efd9(%rip), %rsi     # 0x3ae44
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %rbx, %rdi
leaq -0xb0(%rbp), %rsi
callq 0x33c0
leaq -0xb0(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x38ed7
testb %al, %al
jne 0x1bf38
movl $0x35, %edx
movq %r12, %rdi
leaq 0x1eef0(%rip), %rsi     # 0x3add1
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %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 0x1be5c
movl -0x30(%rbp), %r14d
leaq -0x4a0(%rbp), %rax
movq %rax, -0x4b0(%rbp)
movq -0x1c0(%rbp), %rsi
movq -0x1b8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4b0(%rbp), %rdi
callq 0x4574
leaq -0x480(%rbp), %rax
movq %rax, -0x490(%rbp)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
leaq -0x490(%rbp), %rdi
callq 0x4574
leaq -0x460(%rbp), %rax
movq %rax, -0x470(%rbp)
movq -0x1a0(%rbp), %rsi
movq -0x198(%rbp), %rdx
addq %rsi, %rdx
leaq -0x470(%rbp), %rdi
callq 0x4574
leaq -0x440(%rbp), %rax
movq %rax, -0x450(%rbp)
movq -0x180(%rbp), %rsi
movq -0x178(%rbp), %rdx
addq %rsi, %rdx
leaq -0x450(%rbp), %rdi
callq 0x4574
leaq -0x420(%rbp), %rax
movq %rax, -0x430(%rbp)
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
addq %rsi, %rdx
leaq -0x430(%rbp), %rdi
callq 0x4574
leaq -0x400(%rbp), %rax
movq %rax, -0x410(%rbp)
movq -0xf0(%rbp), %rsi
movq -0xe8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x410(%rbp), %rdi
callq 0x4574
leaq -0x3e0(%rbp), %rax
movq %rax, -0x3f0(%rbp)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3f0(%rbp), %rdi
callq 0x4574
leaq -0x3c0(%rbp), %rax
movq %rax, -0x3d0(%rbp)
movq -0x160(%rbp), %rsi
movq -0x158(%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
movl %r14d, -0x4c(%rbp)
leaq -0x5a0(%rbp), %rax
movq %rax, -0x5b0(%rbp)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5b0(%rbp), %r14
movq %r14, %rdi
callq 0x4574
subq $0x8, %rsp
movsbl -0x2c(%rbp), %r9d
leaq -0xcb0(%rbp), %r15
movq %r15, %rdi
movl -0x4c(%rbp), %esi
leaq -0x4b0(%rbp), %rdx
leaq -0x490(%rbp), %rcx
leaq -0x470(%rbp), %r8
movsd -0x140(%rbp), %xmm0
movsd -0x138(%rbp), %xmm1
movsd -0x130(%rbp), %xmm2
pushq %r14
leaq -0x3b0(%rbp), %rax
pushq %rax
leaq -0x3d0(%rbp), %rax
pushq %rax
leaq -0x3f0(%rbp), %rax
pushq %rax
leaq -0x410(%rbp), %rax
pushq %rax
leaq -0x430(%rbp), %rax
pushq %rax
leaq -0x450(%rbp), %rax
pushq %rax
callq 0x79e0
addq $0x40, %rsp
movl -0x30(%rbp), %eax
movl %eax, -0x738(%rbp)
leaq -0x730(%rbp), %rdi
movq %r15, %rsi
callq 0x1d134
movq -0x120(%rbp), %rax
movups (%rax), %xmm0
movq -0x128(%rbp), %rax
movups %xmm0, (%rax)
leaq 0x2b862(%rip), %rcx     # 0x47a08
leaq 0x10(%rcx), %rax
movq %rax, -0x730(%rbp)
leaq 0x30(%rcx), %rax
movq %rax, -0x630(%rbp)
movq -0x38(%rbp), %rdi
movq %r13, %rsi
callq 0x1e7b2
leaq -0x730(%rbp), %rdi
callq 0x7e26
leaq -0xcb0(%rbp), %rdi
callq 0x7e26
movq -0x5b0(%rbp), %rdi
leaq -0x5a0(%rbp), %rax
cmpq %rax, %rdi
je 0x1c1f8
callq 0x31d0
movq -0x3b0(%rbp), %rdi
leaq -0x3a0(%rbp), %rax
cmpq %rax, %rdi
je 0x1c210
callq 0x31d0
movq -0x3d0(%rbp), %rdi
leaq -0x3c0(%rbp), %rax
cmpq %rax, %rdi
je 0x1c228
callq 0x31d0
movq -0x3f0(%rbp), %rdi
leaq -0x3e0(%rbp), %rax
cmpq %rax, %rdi
je 0x1c240
callq 0x31d0
movq -0x410(%rbp), %rdi
leaq -0x400(%rbp), %rax
cmpq %rax, %rdi
je 0x1c258
callq 0x31d0
movq -0x430(%rbp), %rdi
leaq -0x420(%rbp), %rax
cmpq %rax, %rdi
je 0x1c270
callq 0x31d0
movq -0x450(%rbp), %rdi
leaq -0x440(%rbp), %rax
cmpq %rax, %rdi
je 0x1c288
callq 0x31d0
movq -0x470(%rbp), %rdi
leaq -0x460(%rbp), %rax
cmpq %rax, %rdi
je 0x1c2a0
callq 0x31d0
movq -0x490(%rbp), %rdi
leaq -0x480(%rbp), %rax
cmpq %rax, %rdi
je 0x1c2b8
callq 0x31d0
movq -0x4b0(%rbp), %rdi
leaq -0x4a0(%rbp), %rax
cmpq %rax, %rdi
je 0x1c2d0
callq 0x31d0
movq -0x38(%rbp), %rax
movq -0x48(%rbp), %rcx
cmpq %rcx, 0x28(%rax)
jne 0x1c323
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x1eb78(%rip), %rsi     # 0x3ae65
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x73, -0x2a(%rbp)
jmp 0x1a793
movl $0x1f, %edx
movq %r12, %rdi
leaq 0x1eb7c(%rip), %rsi     # 0x3aeae
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rax, %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 %r12, %rdi
leaq 0x1eb36(%rip), %rsi     # 0x3aece
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %rbx, %rdi
leaq -0x2a(%rbp), %rsi
callq 0x3280
cmpb $0x73, -0x2a(%rbp)
je 0x1a793
movq -0x38(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x1c441
leaq 0x1eda6(%rip), %rsi     # 0x3b193
leaq -0xb38(%rbp), %rdi
movl $0x10, %edx
callq 0x3050
movq -0x38(%rbp), %rax
movq 0x18(%rax), %rbx
addq $0x8, %rax
cmpq %rax, %rbx
je 0x1c435
movq %rax, %r15
leaq -0xb38(%rbp), %r14
leaq 0x28(%rbx), %rsi
movq %r14, %rdi
callq 0xe5ab
movq %rbx, %rdi
callq 0x3140
movq %rax, %rbx
cmpq %r15, %rax
jne 0x1c419
leaq -0xb38(%rbp), %rdi
callq 0x32a0
movq -0x40(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x1c4a7
leaq 0x1ed4d(%rip), %rsi     # 0x3b1a0
leaq -0x938(%rbp), %rdi
movl $0x10, %edx
callq 0x3050
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rbx
addq $0x8, %rax
cmpq %rax, %rbx
je 0x1c49b
movq %rax, %r15
leaq -0x938(%rbp), %r14
leaq 0x28(%rbx), %rsi
movq %r14, %rdi
callq 0xebbe
movq %rbx, %rdi
callq 0x3140
movq %rax, %rbx
cmpq %r15, %rax
jne 0x1c47f
leaq -0x938(%rbp), %rdi
callq 0x32a0
movq 0x2bb1a(%rip), %rax     # 0x47fc8
movq (%rax), %rbx
movq 0x18(%rax), %r14
leaq -0x930(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, -0x938(%rbp,%rax)
callq 0x3190
movl $0xf8, %r15d
leaq -0x938(%rbp), %rdi
addq %r15, %rdi
callq 0x30d0
leaq -0xb30(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, -0xb38(%rbp,%rax)
callq 0x3190
leaq -0xb38(%rbp), %rdi
addq %r15, %rdi
callq 0x30d0
movq -0x200(%rbp), %rdi
leaq -0x1f0(%rbp), %rax
cmpq %rax, %rdi
je 0x1c529
callq 0x31d0
movq -0x220(%rbp), %rdi
leaq -0x210(%rbp), %rax
cmpq %rax, %rdi
je 0x1c541
callq 0x31d0
movq -0x240(%rbp), %rdi
leaq -0x230(%rbp), %rax
cmpq %rax, %rdi
je 0x1c559
callq 0x31d0
movq -0x1e0(%rbp), %rdi
leaq -0x1d0(%rbp), %rax
cmpq %rax, %rdi
je 0x1c571
callq 0x31d0
movq -0x260(%rbp), %rdi
leaq -0x250(%rbp), %rax
cmpq %rax, %rdi
je 0x1c589
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x1c59b
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x1c5b0
callq 0x31d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x1c5c8
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x1c5e0
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x1c5f8
callq 0x31d0
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x1c610
callq 0x31d0
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x1c628
callq 0x31d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x1c640
callq 0x31d0
movq -0x1a0(%rbp), %rdi
leaq -0x190(%rbp), %rax
cmpq %rax, %rdi
je 0x1c658
callq 0x31d0
movq -0x1c0(%rbp), %rdi
leaq -0x1b0(%rbp), %rax
cmpq %rax, %rdi
je 0x1c670
callq 0x31d0
addq $0xc88, %rsp            # imm = 0xC88
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1eb29(%rip), %rdi     # 0x3b1b2
callq 0x3110
leaq 0x1eb1d(%rip), %rdi     # 0x3b1b2
callq 0x3110
leaq 0x1eb11(%rip), %rdi     # 0x3b1b2
callq 0x3110
leaq 0x1eb05(%rip), %rdi     # 0x3b1b2
callq 0x32b0
leaq 0x1eaf9(%rip), %rdi     # 0x3b1b2
callq 0x32b0
leaq 0x1eaed(%rip), %rdi     # 0x3b1b2
callq 0x32b0
jmp 0x1cac3
movq %rax, %rbx
movq 0x2b8ef(%rip), %rax     # 0x47fc8
movq (%rax), %r14
movq 0x18(%rax), %r15
jmp 0x1cafc
movq %rax, %rbx
jmp 0x1cb24
jmp 0x1cac3
jmp 0x1cac3
movq %rax, %rbx
jmp 0x1c7a0
movq %rax, %rbx
jmp 0x1c818
movq %rax, %rbx
jmp 0x1c788
movq %rax, %rbx
jmp 0x1c800
movq %rax, %rbx
jmp 0x1c770
movq %rax, %rbx
jmp 0x1c7e8
movq %rax, %rbx
jmp 0x1c758
movq %rax, %rbx
jmp 0x1c7d0
movq %rax, %rbx
jmp 0x1c74c
jmp 0x1cac3
movq %rax, %rbx
jmp 0x1c7b8
movq %rax, %rbx
leaq -0x730(%rbp), %rdi
callq 0x7e26
leaq -0xcb0(%rbp), %rdi
callq 0x7e26
movq -0x5b0(%rbp), %rdi
leaq -0x5a0(%rbp), %rax
cmpq %rax, %rdi
je 0x1c770
callq 0x31d0
movq -0x3b0(%rbp), %rdi
leaq -0x3a0(%rbp), %rax
cmpq %rax, %rdi
je 0x1c788
callq 0x31d0
movq -0x3d0(%rbp), %rdi
leaq -0x3c0(%rbp), %rax
cmpq %rax, %rdi
je 0x1c7a0
callq 0x31d0
movq -0x3f0(%rbp), %rdi
leaq -0x3e0(%rbp), %rax
cmpq %rax, %rdi
je 0x1c7b8
callq 0x31d0
movq -0x410(%rbp), %rdi
leaq -0x400(%rbp), %rax
cmpq %rax, %rdi
je 0x1c7d0
callq 0x31d0
movq -0x430(%rbp), %rdi
leaq -0x420(%rbp), %rax
cmpq %rax, %rdi
je 0x1c7e8
callq 0x31d0
movq -0x450(%rbp), %rdi
leaq -0x440(%rbp), %rax
cmpq %rax, %rdi
je 0x1c800
callq 0x31d0
movq -0x470(%rbp), %rdi
leaq -0x460(%rbp), %rax
cmpq %rax, %rdi
je 0x1c818
callq 0x31d0
movq -0x490(%rbp), %rdi
leaq -0x480(%rbp), %rax
cmpq %rax, %rdi
je 0x1c830
callq 0x31d0
movq -0x4b0(%rbp), %rdi
leaq -0x4a0(%rbp), %rax
cmpq %rax, %rdi
je 0x1cac6
jmp 0x1caa0
movq %rax, %rbx
jmp 0x1c830
jmp 0x1cac3
movq %rax, %rbx
jmp 0x1c99a
movq %rax, %rbx
jmp 0x1c96a
movq %rax, %rbx
jmp 0x1c8b1
movq %rax, %rbx
jmp 0x1c90a
movq %rax, %rbx
jmp 0x1c8da
movq %rax, %rbx
jmp 0x1c93a
movq %rax, %rbx
jmp 0x1c982
movq %rax, %rbx
jmp 0x1c952
jmp 0x1cac3
movq %rax, %rbx
jmp 0x1c922
movq %rax, %rbx
jmp 0x1c8f2
movq %rax, %rbx
leaq -0x730(%rbp), %rdi
callq 0x8276
leaq -0xcb0(%rbp), %rdi
callq 0x8276
jmp 0x1c8c2
movq %rax, %rbx
movq -0x590(%rbp), %rdi
leaq -0x580(%rbp), %rax
cmpq %rax, %rdi
je 0x1c8da
callq 0x31d0
movq -0x290(%rbp), %rdi
leaq -0x280(%rbp), %rax
cmpq %rax, %rdi
je 0x1c8f2
callq 0x31d0
movq -0x2b0(%rbp), %rdi
leaq -0x2a0(%rbp), %rax
cmpq %rax, %rdi
je 0x1c90a
callq 0x31d0
movq -0x2d0(%rbp), %rdi
leaq -0x2c0(%rbp), %rax
cmpq %rax, %rdi
je 0x1c922
callq 0x31d0
movq -0x2f0(%rbp), %rdi
leaq -0x2e0(%rbp), %rax
cmpq %rax, %rdi
je 0x1c93a
callq 0x31d0
movq -0x310(%rbp), %rdi
leaq -0x300(%rbp), %rax
cmpq %rax, %rdi
je 0x1c952
callq 0x31d0
movq -0x330(%rbp), %rdi
leaq -0x320(%rbp), %rax
cmpq %rax, %rdi
je 0x1c96a
callq 0x31d0
movq -0x350(%rbp), %rdi
leaq -0x340(%rbp), %rax
cmpq %rax, %rdi
je 0x1c982
callq 0x31d0
movq -0x370(%rbp), %rdi
leaq -0x360(%rbp), %rax
cmpq %rax, %rdi
je 0x1c99a
callq 0x31d0
movq -0x390(%rbp), %rdi
leaq -0x380(%rbp), %rax
cmpq %rax, %rdi
je 0x1cac6
jmp 0x1caa0
jmp 0x1cac3
jmp 0x1cac3
jmp 0x1cac3
jmp 0x1cac3
movq %rax, %rbx
movq 0x2b5dc(%rip), %rsi     # 0x47fb0
leaq -0x738(%rbp), %rdi
callq 0x3160
leaq -0x6b8(%rbp), %rdi
callq 0x30d0
jmp 0x1cac6
movq %rax, %rbx
movq -0x4d0(%rbp), %rdi
leaq -0x4c0(%rbp), %rax
cmpq %rax, %rdi
je 0x1cac6
jmp 0x1caa0
movq %rax, %rbx
movq -0x4f0(%rbp), %rdi
leaq -0x4e0(%rbp), %rax
cmpq %rax, %rdi
je 0x1cac6
jmp 0x1caa0
movq %rax, %rbx
movq -0x510(%rbp), %rdi
leaq -0x500(%rbp), %rax
cmpq %rax, %rdi
je 0x1cac6
jmp 0x1caa0
movq %rax, %rbx
movq -0x570(%rbp), %rdi
leaq -0x560(%rbp), %rax
cmpq %rax, %rdi
je 0x1cac6
jmp 0x1caa0
jmp 0x1ca64
jmp 0x1ca64
movq %rax, %rbx
cmpl $0x0, (%r14)
jne 0x1cac6
movl %r13d, (%r14)
jmp 0x1cac6
movq %rax, %rbx
movq -0x530(%rbp), %rdi
leaq -0x520(%rbp), %rax
cmpq %rax, %rdi
je 0x1cac6
jmp 0x1caa0
movq %rax, %rbx
movq -0x550(%rbp), %rdi
leaq -0x540(%rbp), %rax
cmpq %rax, %rdi
je 0x1cac6
callq 0x31d0
jmp 0x1cac6
jmp 0x1cac3
jmp 0x1cac3
jmp 0x1cac3
jmp 0x1cac3
jmp 0x1cac3
jmp 0x1cac3
jmp 0x1cac3
jmp 0x1cac3
jmp 0x1cac3
jmp 0x1cac3
jmp 0x1cac3
jmp 0x1cac3
jmp 0x1cac3
jmp 0x1cac3
movq %rax, %rbx
movq 0x2b4fb(%rip), %rax     # 0x47fc8
movq (%rax), %r14
movq 0x18(%rax), %r15
leaq -0x930(%rbp), %rdi
movq %r14, -0x8(%rdi)
movq -0x18(%r14), %rax
movq %r15, -0x938(%rbp,%rax)
callq 0x3190
leaq -0x840(%rbp), %rdi
callq 0x30d0
leaq -0xb30(%rbp), %rdi
movq %r14, -0x8(%rdi)
movq -0x18(%r14), %rax
movq %r15, -0xb38(%rbp,%rax)
callq 0x3190
leaq -0xa40(%rbp), %rdi
callq 0x30d0
movq -0x200(%rbp), %rdi
leaq -0x1f0(%rbp), %rax
cmpq %rax, %rdi
je 0x1cb3c
callq 0x31d0
movq -0x220(%rbp), %rdi
leaq -0x210(%rbp), %rax
cmpq %rax, %rdi
je 0x1cb54
callq 0x31d0
movq -0x240(%rbp), %rdi
leaq -0x230(%rbp), %rax
cmpq %rax, %rdi
je 0x1cb6c
callq 0x31d0
movq -0x1e0(%rbp), %rdi
leaq -0x1d0(%rbp), %rax
cmpq %rax, %rdi
je 0x1cb84
callq 0x31d0
movq -0x260(%rbp), %rdi
leaq -0x250(%rbp), %rax
cmpq %rax, %rdi
je 0x1cb9c
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x1cbae
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x1cbc3
callq 0x31d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x1cbdb
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x1cbf3
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x1cc0b
callq 0x31d0
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x1cc23
callq 0x31d0
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x1cc3b
callq 0x31d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x1cc53
callq 0x31d0
movq -0x1a0(%rbp), %rdi
leaq -0x190(%rbp), %rax
cmpq %rax, %rdi
je 0x1cc6b
callq 0x31d0
movq -0x1c0(%rbp), %rdi
leaq -0x1b0(%rbp), %rax
cmpq %rax, %rdi
je 0x1cc83
callq 0x31d0
movq %rbx, %rdi
callq 0x3380
nop