// File: /workspace/github_cpp_makefile_star2_O1/nataly-enne[P]pet-fera/pet_fera_editar.cpp
// Function: editar(std::map<int, MAMIFERO_NATIVO, std::less<int>, std::allocator<std::pair<int const, MAMIFERO_NATIVO>>>&, std::map<int, MAMIFERO_EXOTICO, std::less<int>, std::allocator<std::pair<int const, MAMIFERO_EXOTICO>>>&, std::map<int, VETERINARIO, std::less<int>, std::allocator<std::pair<int const, VETERINARIO>>>, std::map<int, TRATADOR, std::less<int>, std::allocator<std::pair<int const, TRATADOR>>>)
void editar(map <int, MAMIFERO_NATIVO> &mamiferos_nat, map <int, MAMIFERO_EXOTICO> &mamiferos_ex, map <int, VETERINARIO> vets, map <int, TRATADOR> tratadores){
	char resp, op, sucesso, sexo, tipo_animal, tipo = 'm';;
	int id_buscado;
	string classe, nome_cientifico, dieta, veterinario, tratador, nome_batismo, autorizacao, autorizacao_IBAMA, origem, cor, nome, id_string, sexo_string, tamanho_string;
	double tamanho;
	bool check;
	ofstream nativos;
	ofstream exoticos;
			
	do{
		cout << "É nativo ou exotico? \n n - NATIVO\n e - EXOTICO" << endl;
		cin >> tipo_animal;
		if(tipo_animal != 'n' && tipo_animal != 'e'){
			cout << "Opção inválida!! Tente novamente!\n" << endl;
			cout << endl;
			cout << "Deseja sair? s/n" << endl;
			cin >> resp;
			if(resp == 's'){
				break;
			}	
		}
		else{ 
			if(tipo_animal == 'n'){
				cout << "Insira o ID buscado: " << endl;
				cin >> id_buscado;

				auto result = mamiferos_nat.find(id_buscado);
			
				if(result != mamiferos_nat.end()){
					cout << "ID existe!" << endl;

					classe = "Mammalia";

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

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

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

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

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

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

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

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

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


					//Verifica se foi passado uma string.
					do{
						cout << "Digite a UF de origem: " << endl;
						getline(cin, origem);
						if(!verifica_origem(origem, sucesso)){
							cout << "ERRO: Deve-se colocar apenas letras!" << endl << endl;
						}
					}while(sucesso == 'n');
					
					//Verifica se a autorizacao está no formato correto.
					do{
						cout << "Insira a autorizacao do animal: " << endl;
						getline(cin, autorizacao);
						if(!verifica_autorizacao(autorizacao, sucesso)){
							cout << "ERRO: A autorizacao deve conter letras, numeros e '-'" << endl << endl;
						}
					}while(sucesso == 'n');

					(*result).second = MAMIFERO_NATIVO(id_buscado, classe, nome, nome_cientifico, sexo, tamanho, dieta, veterinario, tratador, nome_batismo, cor, autorizacao_IBAMA, origem, autorizacao);
					sucesso = 's';
				}
				else{
					cout << "Animal não cadastrado!!" << endl;
					sucesso = 'n';
				}
				if(sucesso == 's'){
					nativos.open("mamiferos_nat.txt");
					for(auto it = mamiferos_nat.begin(); it != mamiferos_nat.end(); it++){
						nativos << (*it).second;
					}
					nativos.close();
				}

				cout << "Deseja editar outro? s/n" << endl;
				cin >> op;
			}
			else{
				cout << "Insira o ID buscado: " << endl;
				cin >> id_buscado;

				auto result = mamiferos_ex.find(id_buscado);
			
				if(result != mamiferos_ex.end()){
					cout << "ID existe!" << endl;

					classe = "Mammallia";

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

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

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

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

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

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

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

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

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

					//Verifica se foi passado uma string.
					do{
						cout << "Digiteo País de origem: " << endl;
						getline(cin, origem);
						if(!verifica_origem(origem, sucesso)){
							cout << "ERRO: Deve-se colocar apenas letras!" << endl << endl;
						}
					}while(sucesso == 'n');
					
					//Verifica se a autorizacao está no formato correto.
					do{
						cout << "Insira a autorizacao do animal: " << endl;
						getline(cin, autorizacao);
						if(!verifica_autorizacao(autorizacao, sucesso)){
							cout << "ERRO: A autorizacao deve conter letras, numeros e '-'" << endl << endl;
						}
					}while(sucesso == 'n');

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb58, %rsp            # imm = 0xB58
movq %rcx, -0x250(%rbp)
movq %rdx, -0x258(%rbp)
movq %rsi, -0xd8(%rbp)
movq %rdi, -0xd0(%rbp)
leaq -0x1f8(%rbp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x1d8(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x1b8(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0xb8(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x98(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x78(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x198(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x178(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x158(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x138(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x58(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x5e8(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0xf8(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x118(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0xb80(%rbp), %rdi
callq 0x3360
leaq -0x980(%rbp), %rdi
callq 0x3360
movq -0xd8(%rbp), %rax
leaq 0x8(%rax), %rbx
leaq -0x780(%rbp), %rax
leaq 0x80(%rax), %rcx
movq %rcx, -0x248(%rbp)
leaq 0xa0(%rax), %rcx
movq %rcx, -0x240(%rbp)
leaq 0xc0(%rax), %rcx
movq %rcx, -0x238(%rbp)
leaq 0xe0(%rax), %rcx
movq %rcx, -0x230(%rbp)
leaq 0x108(%rax), %rcx
movq %rcx, -0x228(%rbp)
leaq 0x128(%rax), %rcx
movq %rcx, -0x220(%rbp)
leaq 0x148(%rax), %rcx
movq %rcx, -0x218(%rbp)
addq $0x168, %rax            # imm = 0x168
movq %rax, -0x210(%rbp)
movq -0xd0(%rbp), %rax
leaq 0x8(%rax), %r13
movq 0x1fdfd(%rip), %r12     # 0x47fd0
movq 0x1fe06(%rip), %r15     # 0x47fe0
movq %rbx, -0xe0(%rbp)
movq %r13, -0x48(%rbp)
movl $0x2f, %edx
movq %r12, %rdi
leaq 0x13043(%rip), %rsi     # 0x3b237
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r15, %rdi
leaq -0x31(%rbp), %rsi
callq 0x3280
movzbl -0x31(%rbp), %eax
cmpl $0x65, %eax
je 0x2962b
cmpl $0x6e, %eax
je 0x28308
movl $0x25, %edx
movq %r12, %rdi
leaq 0x12fbf(%rip), %rsi     # 0x3b211
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movl $0x10, %edx
movq %r12, %rdi
leaq 0x12362(%rip), %rsi     # 0x3a618
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r15, %rdi
leaq -0x32(%rbp), %rsi
callq 0x3280
cmpb $0x73, -0x32(%rbp)
je 0x2ab38
cmpb $0x73, -0x2b(%rbp)
je 0x281e5
jmp 0x2ab38
movl $0x15, %edx
movq %r12, %rdi
leaq 0x12f50(%rip), %rsi     # 0x3b267
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r15, %rdi
leaq -0x30(%rbp), %rsi
callq 0x3120
movq -0xd0(%rbp), %rax
movq 0x10(%rax), %rcx
movq %r13, %rax
testq %rcx, %rcx
je 0x28380
movl -0x30(%rbp), %edx
movq %r13, %rax
xorl %esi, %esi
cmpl %edx, 0x20(%rcx)
setl %sil
cmovgeq %rcx, %rax
movq 0x10(%rcx,%rsi,8), %rcx
testq %rcx, %rcx
jne 0x28369
movq %r13, %rcx
cmpq %r13, %rax
je 0x28395
movl -0x30(%rbp), %ecx
cmpl 0x20(%rax), %ecx
cmovlq %r13, %rax
movq %rax, %rcx
movq %rcx, -0x40(%rbp)
cmpq %r13, %rcx
je 0x2a94e
movl $0xa, %edx
movq %r12, %rdi
leaq 0x12ecc(%rip), %rsi     # 0x3b27d
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x200(%rbp), %rdx
movl $0x8, %r8d
leaq -0x208(%rbp), %rdi
xorl %esi, %esi
leaq 0x12b6e(%rip), %rcx     # 0x3af69
callq 0x3300
movl $0xe, %edx
movq %r12, %rdi
leaq 0x12374(%rip), %rsi     # 0x3a783
callq 0x3250
leaq -0x29(%rbp), %rbx
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 %r15, %rdi
callq 0x33a0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x68(%rbp), %rsi
callq 0x33c0
leaq -0x68(%rbp), %rdi
movq %rbx, %rsi
callq 0x3832d
testb %al, %al
jne 0x284e1
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x12308(%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 -0x60(%rbp), %rbx
testq %rbx, %rbx
je 0x28507
movq -0x68(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x32c0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x284f1
cmpb $0x6e, -0x29(%rbp)
je 0x28400
leaq -0x29(%rbp), %rbx
movl $0x1a, %edx
movq %r12, %rdi
leaq 0x12632(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x33c0
leaq -0x1e8(%rbp), %rdi
movq %rbx, %rsi
callq 0x3844d
testb %al, %al
jne 0x285f0
movl $0x35, %edx
movq %r12, %rdi
leaq 0x125d8(%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 0x28515
movl $0x10, %edx
movq %r12, %rdi
leaq 0x1259e(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x33c0
leaq -0x1c8(%rbp), %rdi
movq %rbx, %rsi
callq 0x38df8
testb %al, %al
jne 0x286d5
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x12114(%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 0x285fa
movl $0x1e, %edx
movq %r12, %rdi
leaq 0x124ca(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0xc8(%rbp), %rsi
callq 0x33c0
leaq -0xc8(%rbp), %rdi
movq %rbx, %rsi
callq 0x3832d
testb %al, %al
jne 0x287ba
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x1202f(%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 -0x588(%rbp), %rax
movq %rax, -0x598(%rbp)
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x598(%rbp), %rdi
callq 0x4574
movq -0x258(%rbp), %rdi
leaq -0x598(%rbp), %rsi
callq 0x36dd9
movl %eax, %r14d
movq -0x598(%rbp), %rdi
leaq -0x588(%rbp), %rax
cmpq %rax, %rdi
je 0x28813
callq 0x31d0
testb %r14b, %r14b
jne 0x28880
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 0x12388(%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)
cmpb $0x6e, -0x29(%rbp)
je 0x286df
movl $0x1b, %edx
movq %r12, %rdi
leaq 0x12361(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0xa8(%rbp), %rsi
callq 0x33c0
leaq -0xa8(%rbp), %rdi
movq %rbx, %rsi
callq 0x3832d
testb %al, %al
jne 0x28965
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x11e84(%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 -0x568(%rbp), %rax
movq %rax, -0x578(%rbp)
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x578(%rbp), %rdi
callq 0x4574
xorl %edi, %edi
movq -0x250(%rbp), %rsi
leaq -0x578(%rbp), %rdx
movl $0x6d, %ecx
callq 0x36e7a
movl %eax, %r14d
movq -0x578(%rbp), %rdi
leaq -0x568(%rbp), %rax
cmpq %rax, %rdi
je 0x289c5
callq 0x31d0
testb %r14b, %r14b
jne 0x28a60
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 0x12211(%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)
cmpb $0x6e, -0x29(%rbp)
je 0x2888a
movl $0x1a, %edx
movq %r12, %rdi
leaq 0x121cf(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x88(%rbp), %rsi
callq 0x33c0
leaq -0x88(%rbp), %rdi
movq %rbx, %rsi
callq 0x3832d
testb %al, %al
jne 0x28b45
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x11ca4(%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 -0x80(%rbp), %rbx
testq %rbx, %rbx
je 0x28b6e
movq -0x88(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x32c0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x28b58
cmpb $0x6e, -0x29(%rbp)
leaq -0x29(%rbp), %rbx
je 0x28a6a
movl $0x19, %edx
movq %r12, %rdi
leaq 0x120d8(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x108(%rbp), %rsi
callq 0x33c0
movq -0x100(%rbp), %rbx
testq %rbx, %rbx
je 0x28c0a
movq -0x108(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x33d0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x28bf4
leaq -0x108(%rbp), %rbx
movq %rbx, %rdi
leaq 0x12062(%rip), %rsi     # 0x3ac7d
callq 0x30c0
testl %eax, %eax
je 0x28cab
movq %rbx, %rdi
leaq 0x1204d(%rip), %rsi     # 0x3ac7f
callq 0x30c0
testl %eax, %eax
je 0x28cab
movb $0x6e, -0x29(%rbp)
movl $0x21, %edx
movq %r12, %rdi
leaq 0x12033(%rip), %rsi     # 0x3ac81
callq 0x3250
leaq -0x29(%rbp), %rbx
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
jmp 0x28cbf
movq -0x108(%rbp), %rax
movb (%rax), %al
movb %al, -0x2a(%rbp)
movb $0x73, -0x29(%rbp)
leaq -0x29(%rbp), %rbx
cmpb $0x6e, -0x29(%rbp)
je 0x28b7c
movl $0x1c, %edx
movq %r12, %rdi
leaq 0x11fcb(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x128(%rbp), %rsi
callq 0x33c0
leaq -0x548(%rbp), %rax
movq %rax, -0x558(%rbp)
movq -0x128(%rbp), %rsi
movq -0x120(%rbp), %rdx
addq %rsi, %rdx
leaq -0x558(%rbp), %rdi
callq 0x4574
leaq -0x558(%rbp), %rdi
movq %rbx, %rsi
callq 0x38f49
movl %eax, %r14d
movq -0x558(%rbp), %rdi
leaq -0x548(%rbp), %rax
cmpq %rax, %rdi
je 0x28d80
callq 0x31d0
testb %r14b, %r14b
jne 0x28deb
movl $0x34, %edx
movq %r12, %rdi
leaq 0x11f2c(%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 -0x128(%rbp), %r13
callq 0x3040
movq %rax, %r14
movl (%rax), %ebx
movl $0x0, (%rax)
movq %r13, %rdi
leaq -0x780(%rbp), %rsi
callq 0x3170
movsd %xmm0, -0xe8(%rbp)
cmpq %r13, -0x780(%rbp)
je 0x2acfb
movl (%r14), %eax
testl %eax, %eax
je 0x28e3b
cmpl $0x22, %eax
movq -0x48(%rbp), %r13
jne 0x28e42
jmp 0x2ad1f
movl %ebx, (%r14)
movq -0x48(%rbp), %r13
cmpb $0x6e, -0x29(%rbp)
leaq -0x29(%rbp), %rbx
je 0x28cc9
movl $0x16, %edx
movq %r12, %rdi
leaq 0x12113(%rip), %rsi     # 0x3af72
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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x148(%rbp), %rsi
callq 0x33c0
leaq -0x148(%rbp), %rdi
movq %rbx, %rsi
callq 0x394d2
testb %al, %al
jne 0x28f2b
movl $0x38, %edx
movq %r12, %rdi
leaq 0x120b5(%rip), %rsi     # 0x3af89
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 0x28e50
movl $0x1f, %edx
movq %r12, %rdi
leaq 0x11e6d(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x188(%rbp), %rsi
callq 0x33c0
leaq -0x188(%rbp), %rdi
movq %rbx, %rsi
callq 0x391c3
testb %al, %al
jne 0x29010
movl $0x36, %edx
movq %r12, %rdi
leaq 0x12009(%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 0x28f35
movl $0x17, %edx
movq %r12, %rdi
leaq 0x11dde(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x168(%rbp), %rsi
callq 0x33c0
leaq -0x168(%rbp), %rdi
movq %rbx, %rsi
callq 0x39389
testb %al, %al
jne 0x290f5
movl $0x24, %edx
movq %r12, %rdi
leaq 0x11d81(%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 0x2901a
movl $0x20, %edx
movq %r12, %rdi
leaq 0x11d36(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x1a8(%rbp), %rsi
callq 0x33c0
leaq -0x1a8(%rbp), %rdi
movq %rbx, %rsi
callq 0x391c3
testb %al, %al
jne 0x291da
movl $0x35, %edx
movq %r12, %rdi
leaq 0x11c4e(%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 0x290ff
movl -0x30(%rbp), %r14d
leaq -0x528(%rbp), %rax
movq %rax, -0x538(%rbp)
movq -0x208(%rbp), %rsi
movq -0x200(%rbp), %rdx
addq %rsi, %rdx
leaq -0x538(%rbp), %rdi
callq 0x4574
leaq -0x508(%rbp), %rax
movq %rax, -0x518(%rbp)
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
addq %rsi, %rdx
leaq -0x518(%rbp), %rdi
callq 0x4574
leaq -0x4e8(%rbp), %rax
movq %rax, -0x4f8(%rbp)
movq -0x1e8(%rbp), %rsi
movq -0x1e0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4f8(%rbp), %rdi
callq 0x4574
leaq -0x4c8(%rbp), %rax
movq %rax, -0x4d8(%rbp)
movq -0x1c8(%rbp), %rsi
movq -0x1c0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4d8(%rbp), %rdi
callq 0x4574
leaq -0x4a8(%rbp), %rax
movq %rax, -0x4b8(%rbp)
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4b8(%rbp), %rdi
callq 0x4574
leaq -0x488(%rbp), %rax
movq %rax, -0x498(%rbp)
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x498(%rbp), %rdi
callq 0x4574
leaq -0x468(%rbp), %rax
movq %rax, -0x478(%rbp)
movq -0x88(%rbp), %rsi
movq -0x80(%rbp), %rdx
addq %rsi, %rdx
leaq -0x478(%rbp), %rdi
callq 0x4574
leaq -0x448(%rbp), %rax
movq %rax, -0x458(%rbp)
movq -0x148(%rbp), %rsi
movq -0x140(%rbp), %rdx
addq %rsi, %rdx
leaq -0x458(%rbp), %rdi
callq 0x4574
leaq -0x428(%rbp), %rax
movq %rax, -0x438(%rbp)
movq -0x188(%rbp), %rsi
movq -0x180(%rbp), %rdx
addq %rsi, %rdx
leaq -0x438(%rbp), %rdi
callq 0x4574
leaq -0x408(%rbp), %rax
movq %rax, -0x418(%rbp)
movq -0x168(%rbp), %rsi
movq -0x160(%rbp), %rdx
addq %rsi, %rdx
leaq -0x418(%rbp), %rdi
callq 0x4574
leaq -0x5c8(%rbp), %rax
movq %rax, -0x5d8(%rbp)
movq -0x1a8(%rbp), %rsi
movq -0x1a0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5d8(%rbp), %rbx
movq %rbx, %rdi
callq 0x4574
movsbl -0x2a(%rbp), %r9d
leaq -0x780(%rbp), %rdi
movl %r14d, %esi
leaq -0x538(%rbp), %rdx
leaq -0x518(%rbp), %rcx
leaq -0x4f8(%rbp), %r8
movsd -0xe8(%rbp), %xmm0
pushq %rbx
leaq -0x418(%rbp), %rax
pushq %rax
leaq -0x438(%rbp), %rax
pushq %rax
leaq -0x458(%rbp), %rax
pushq %rax
leaq -0x478(%rbp), %rax
pushq %rax
leaq -0x498(%rbp), %rax
pushq %rax
leaq -0x4b8(%rbp), %rax
pushq %rax
leaq -0x4d8(%rbp), %rax
pushq %rax
callq 0x6638
addq $0x40, %rsp
movl -0x778(%rbp), %eax
movq -0x40(%rbp), %rbx
movl %eax, 0x30(%rbx)
leaq 0x38(%rbx), %rdi
leaq -0x770(%rbp), %rsi
callq 0x30f0
leaq 0x58(%rbx), %rdi
leaq -0x750(%rbp), %rsi
callq 0x30f0
leaq 0x78(%rbx), %rdi
leaq -0x730(%rbp), %rsi
callq 0x30f0
leaq -0x770(%rbp), %rax
movups 0x60(%rax), %xmm0
movups %xmm0, 0x98(%rbx)
leaq 0xa8(%rbx), %rdi
movq -0x248(%rbp), %rsi
callq 0x30f0
leaq 0xc8(%rbx), %rdi
movq -0x240(%rbp), %rsi
callq 0x30f0
leaq 0xe8(%rbx), %rdi
movq -0x238(%rbp), %rsi
callq 0x30f0
leaq 0x108(%rbx), %rdi
movq -0x230(%rbp), %rsi
callq 0x30f0
leaq 0x130(%rbx), %rdi
movq -0x228(%rbp), %rsi
callq 0x30f0
leaq 0x150(%rbx), %rdi
movq -0x220(%rbp), %rsi
callq 0x30f0
leaq 0x170(%rbx), %rdi
movq -0x218(%rbp), %rsi
callq 0x30f0
leaq 0x190(%rbx), %rdi
movq -0x210(%rbp), %rsi
callq 0x30f0
leaq -0x780(%rbp), %rdi
callq 0x6af8
movq -0x5d8(%rbp), %rdi
leaq -0x5c8(%rbp), %rax
cmpq %rax, %rdi
je 0x29534
callq 0x31d0
movq -0x418(%rbp), %rdi
leaq -0x408(%rbp), %rax
cmpq %rax, %rdi
je 0x2954c
callq 0x31d0
movq -0x438(%rbp), %rdi
leaq -0x428(%rbp), %rax
cmpq %rax, %rdi
je 0x29564
callq 0x31d0
movq -0x458(%rbp), %rdi
leaq -0x448(%rbp), %rax
cmpq %rax, %rdi
je 0x2957c
callq 0x31d0
movq -0x478(%rbp), %rdi
leaq -0x468(%rbp), %rax
cmpq %rax, %rdi
je 0x29594
callq 0x31d0
movq -0x498(%rbp), %rdi
leaq -0x488(%rbp), %rax
cmpq %rax, %rdi
je 0x295ac
callq 0x31d0
movq -0x4b8(%rbp), %rdi
leaq -0x4a8(%rbp), %rax
cmpq %rax, %rdi
je 0x295c4
callq 0x31d0
movq -0x4d8(%rbp), %rdi
leaq -0x4c8(%rbp), %rax
cmpq %rax, %rdi
je 0x295dc
callq 0x31d0
movq -0x4f8(%rbp), %rdi
leaq -0x4e8(%rbp), %rax
cmpq %rax, %rdi
je 0x295f4
callq 0x31d0
movq -0x518(%rbp), %rdi
leaq -0x508(%rbp), %rax
cmpq %rax, %rdi
je 0x2960c
callq 0x31d0
movq -0x538(%rbp), %rdi
leaq -0x528(%rbp), %rax
cmpq %rax, %rdi
je 0x29624
callq 0x31d0
movb $0x73, %bl
jmp 0x2a98c
movl $0x15, %edx
movq %r12, %rdi
leaq 0x11c2d(%rip), %rsi     # 0x3b267
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r15, %rdi
leaq -0x30(%rbp), %rsi
callq 0x3120
movq -0xd8(%rbp), %rax
movq 0x10(%rax), %rcx
movq %rbx, %rax
testq %rcx, %rcx
je 0x296a3
movl -0x30(%rbp), %edx
movq %rbx, %rax
xorl %esi, %esi
cmpl %edx, 0x20(%rcx)
setl %sil
cmovgeq %rcx, %rax
movq 0x10(%rcx,%rsi,8), %rcx
testq %rcx, %rcx
jne 0x2968c
movq %rbx, %rcx
cmpq %rbx, %rax
je 0x296b8
movl -0x30(%rbp), %ecx
cmpl 0x20(%rax), %ecx
cmovlq %rbx, %rax
movq %rax, %rcx
movq %rcx, -0x40(%rbp)
cmpq %rbx, %rcx
je 0x2aa36
movl $0xa, %edx
movq %r12, %rdi
leaq 0x11ba9(%rip), %rsi     # 0x3b27d
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x200(%rbp), %rdx
movl $0x9, %r8d
leaq -0x208(%rbp), %rdi
xorl %esi, %esi
leaq 0x11b9d(%rip), %rcx     # 0x3b2bb
callq 0x3300
movl $0xe, %edx
movq %r12, %rdi
leaq 0x11051(%rip), %rsi     # 0x3a783
callq 0x3250
leaq -0x29(%rbp), %rbx
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 %r15, %rdi
callq 0x33a0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x68(%rbp), %rsi
callq 0x33c0
leaq -0x68(%rbp), %rdi
movq %rbx, %rsi
callq 0x3832d
testb %al, %al
jne 0x29804
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x10fe5(%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 -0x60(%rbp), %rbx
testq %rbx, %rbx
je 0x2982a
movq -0x68(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x32c0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x29814
cmpb $0x6e, -0x29(%rbp)
je 0x29723
leaq -0x29(%rbp), %rbx
movl $0x1a, %edx
movq %r12, %rdi
leaq 0x1130f(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x33c0
leaq -0x1e8(%rbp), %rdi
movq %rbx, %rsi
callq 0x3844d
testb %al, %al
jne 0x29913
movl $0x35, %edx
movq %r12, %rdi
leaq 0x112b5(%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 0x29838
movl $0x10, %edx
movq %r12, %rdi
leaq 0x1127b(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x33c0
leaq -0x1c8(%rbp), %rdi
movq %rbx, %rsi
callq 0x38df8
testb %al, %al
jne 0x299f8
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x10df1(%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 0x2991d
movl $0x1e, %edx
movq %r12, %rdi
leaq 0x111a7(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0xc8(%rbp), %rsi
callq 0x33c0
leaq -0xc8(%rbp), %rdi
movq %rbx, %rsi
callq 0x3832d
testb %al, %al
jne 0x29add
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x10d0c(%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 -0x3e8(%rbp), %rax
movq %rax, -0x3f8(%rbp)
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3f8(%rbp), %rdi
callq 0x4574
movq -0x258(%rbp), %rdi
leaq -0x3f8(%rbp), %rsi
callq 0x36dd9
movl %eax, %r14d
movq -0x3f8(%rbp), %rdi
leaq -0x3e8(%rbp), %rax
cmpq %rax, %rdi
je 0x29b36
callq 0x31d0
testb %r14b, %r14b
jne 0x29ba3
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 0x11065(%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)
cmpb $0x6e, -0x29(%rbp)
je 0x29a02
movl $0x1b, %edx
movq %r12, %rdi
leaq 0x1103e(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0xa8(%rbp), %rsi
callq 0x33c0
leaq -0xa8(%rbp), %rdi
movq %rbx, %rsi
callq 0x3832d
testb %al, %al
jne 0x29c88
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x10b61(%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 -0x3c8(%rbp), %rax
movq %rax, -0x3d8(%rbp)
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3d8(%rbp), %rdi
callq 0x4574
xorl %edi, %edi
movq -0x250(%rbp), %rsi
leaq -0x3d8(%rbp), %rdx
movl $0x6d, %ecx
callq 0x36e7a
movl %eax, %r14d
movq -0x3d8(%rbp), %rdi
leaq -0x3c8(%rbp), %rax
cmpq %rax, %rdi
je 0x29ce8
callq 0x31d0
testb %r14b, %r14b
jne 0x29d83
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 0x10eee(%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)
cmpb $0x6e, -0x29(%rbp)
je 0x29bad
movl $0x1a, %edx
movq %r12, %rdi
leaq 0x10eac(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x88(%rbp), %rsi
callq 0x33c0
leaq -0x88(%rbp), %rdi
movq %rbx, %rsi
callq 0x3832d
testb %al, %al
jne 0x29e68
movl $0x2d, %edx
movq %r12, %rdi
leaq 0x10981(%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 -0x80(%rbp), %rbx
testq %rbx, %rbx
je 0x29e91
movq -0x88(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x32c0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x29e7b
cmpb $0x6e, -0x29(%rbp)
leaq -0x29(%rbp), %rbx
je 0x29d8d
movl $0x19, %edx
movq %r12, %rdi
leaq 0x10db5(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x108(%rbp), %rsi
callq 0x33c0
movq -0x100(%rbp), %rbx
testq %rbx, %rbx
je 0x29f2d
movq -0x108(%rbp), %r14
xorl %r13d, %r13d
movsbl (%r14,%r13), %edi
callq 0x33d0
movb %al, (%r14,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x29f17
leaq -0x108(%rbp), %rbx
movq %rbx, %rdi
leaq 0x10d3f(%rip), %rsi     # 0x3ac7d
callq 0x30c0
testl %eax, %eax
je 0x29fce
movq %rbx, %rdi
leaq 0x10d2a(%rip), %rsi     # 0x3ac7f
callq 0x30c0
testl %eax, %eax
je 0x29fce
movb $0x6e, -0x29(%rbp)
movl $0x21, %edx
movq %r12, %rdi
leaq 0x10d10(%rip), %rsi     # 0x3ac81
callq 0x3250
leaq -0x29(%rbp), %rbx
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
jmp 0x29fe2
movq -0x108(%rbp), %rax
movb (%rax), %al
movb %al, -0x2a(%rbp)
movb $0x73, -0x29(%rbp)
leaq -0x29(%rbp), %rbx
cmpb $0x6e, -0x29(%rbp)
je 0x29e9f
movl $0x1c, %edx
movq %r12, %rdi
leaq 0x10ca8(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x128(%rbp), %rsi
callq 0x33c0
leaq -0x3a8(%rbp), %rax
movq %rax, -0x3b8(%rbp)
movq -0x128(%rbp), %rsi
movq -0x120(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3b8(%rbp), %rdi
callq 0x4574
leaq -0x3b8(%rbp), %rdi
movq %rbx, %rsi
callq 0x38f49
movl %eax, %r14d
movq -0x3b8(%rbp), %rdi
leaq -0x3a8(%rbp), %rax
cmpq %rax, %rdi
je 0x2a0a3
callq 0x31d0
testb %r14b, %r14b
jne 0x2a10e
movl $0x34, %edx
movq %r12, %rdi
leaq 0x10c09(%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 -0x128(%rbp), %r13
callq 0x3040
movq %rax, %r14
movl (%rax), %ebx
movl $0x0, (%rax)
movq %r13, %rdi
leaq -0x780(%rbp), %rsi
callq 0x3170
movsd %xmm0, -0xe8(%rbp)
cmpq %r13, -0x780(%rbp)
je 0x2ad07
movl (%r14), %eax
testl %eax, %eax
je 0x2a15e
cmpl $0x22, %eax
movq -0x48(%rbp), %r13
jne 0x2a165
jmp 0x2ad13
movl %ebx, (%r14)
movq -0x48(%rbp), %r13
cmpb $0x6e, -0x29(%rbp)
leaq -0x29(%rbp), %rbx
je 0x29fec
movl $0x16, %edx
movq %r12, %rdi
leaq 0x10df0(%rip), %rsi     # 0x3af72
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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x148(%rbp), %rsi
callq 0x33c0
leaq -0x148(%rbp), %rdi
movq %rbx, %rsi
callq 0x394d2
testb %al, %al
jne 0x2a24e
movl $0x38, %edx
movq %r12, %rdi
leaq 0x10d92(%rip), %rsi     # 0x3af89
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 0x2a173
movl $0x1f, %edx
movq %r12, %rdi
leaq 0x10b4a(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x188(%rbp), %rsi
callq 0x33c0
leaq -0x188(%rbp), %rdi
movq %rbx, %rsi
callq 0x391c3
testb %al, %al
jne 0x2a333
movl $0x36, %edx
movq %r12, %rdi
leaq 0x10ce6(%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 0x2a258
movl $0x19, %edx
movq %r12, %rdi
leaq 0x10f79(%rip), %rsi     # 0x3b2c5
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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x168(%rbp), %rsi
callq 0x33c0
leaq -0x168(%rbp), %rdi
movq %rbx, %rsi
callq 0x39389
testb %al, %al
jne 0x2a418
movl $0x24, %edx
movq %r12, %rdi
leaq 0x10a5e(%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 0x2a33d
movl $0x20, %edx
movq %r12, %rdi
leaq 0x10a13(%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 (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r15, %rdi
leaq -0x1a8(%rbp), %rsi
callq 0x33c0
leaq -0x1a8(%rbp), %rdi
movq %rbx, %rsi
callq 0x391c3
testb %al, %al
jne 0x2a4fd
movl $0x35, %edx
movq %r12, %rdi
leaq 0x1092b(%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 0x2a422
movl -0x30(%rbp), %r14d
leaq -0x388(%rbp), %rax
movq %rax, -0x398(%rbp)
movq -0x208(%rbp), %rsi
movq -0x200(%rbp), %rdx
addq %rsi, %rdx
leaq -0x398(%rbp), %rdi
callq 0x4574
leaq -0x368(%rbp), %rax
movq %rax, -0x378(%rbp)
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
addq %rsi, %rdx
leaq -0x378(%rbp), %rdi
callq 0x4574
leaq -0x348(%rbp), %rax
movq %rax, -0x358(%rbp)
movq -0x1e8(%rbp), %rsi
movq -0x1e0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x358(%rbp), %rdi
callq 0x4574
leaq -0x328(%rbp), %rax
movq %rax, -0x338(%rbp)
movq -0x1c8(%rbp), %rsi
movq -0x1c0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x338(%rbp), %rdi
callq 0x4574
leaq -0x308(%rbp), %rax
movq %rax, -0x318(%rbp)
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x318(%rbp), %rdi
callq 0x4574
leaq -0x2e8(%rbp), %rax
movq %rax, -0x2f8(%rbp)
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2f8(%rbp), %rdi
callq 0x4574
leaq -0x2c8(%rbp), %rax
movq %rax, -0x2d8(%rbp)
movq -0x88(%rbp), %rsi
movq -0x80(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2d8(%rbp), %rdi
callq 0x4574
leaq -0x2a8(%rbp), %rax
movq %rax, -0x2b8(%rbp)
movq -0x148(%rbp), %rsi
movq -0x140(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2b8(%rbp), %rdi
callq 0x4574
leaq -0x288(%rbp), %rax
movq %rax, -0x298(%rbp)
movq -0x188(%rbp), %rsi
movq -0x180(%rbp), %rdx
addq %rsi, %rdx
leaq -0x298(%rbp), %rdi
callq 0x4574
leaq -0x268(%rbp), %rax
movq %rax, -0x278(%rbp)
movq -0x168(%rbp), %rsi
movq -0x160(%rbp), %rdx
addq %rsi, %rdx
leaq -0x278(%rbp), %rdi
callq 0x4574
leaq -0x5a8(%rbp), %rax
movq %rax, -0x5b8(%rbp)
movq -0x1a8(%rbp), %rsi
movq -0x1a0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5b8(%rbp), %rbx
movq %rbx, %rdi
callq 0x4574
movsbl -0x2a(%rbp), %r9d
leaq -0x780(%rbp), %rdi
movl %r14d, %esi
leaq -0x398(%rbp), %rdx
leaq -0x378(%rbp), %rcx
leaq -0x358(%rbp), %r8
movsd -0xe8(%rbp), %xmm0
pushq %rbx
leaq -0x278(%rbp), %rax
pushq %rax
leaq -0x298(%rbp), %rax
pushq %rax
leaq -0x2b8(%rbp), %rax
pushq %rax
leaq -0x2d8(%rbp), %rax
pushq %rax
leaq -0x2f8(%rbp), %rax
pushq %rax
leaq -0x318(%rbp), %rax
pushq %rax
leaq -0x338(%rbp), %rax
pushq %rax
callq 0x6b4e
addq $0x40, %rsp
movl -0x778(%rbp), %eax
movq -0x40(%rbp), %rbx
movl %eax, 0x30(%rbx)
leaq 0x38(%rbx), %rdi
leaq -0x770(%rbp), %rsi
callq 0x30f0
leaq 0x58(%rbx), %rdi
leaq -0x750(%rbp), %rsi
callq 0x30f0
leaq 0x78(%rbx), %rdi
leaq -0x730(%rbp), %rsi
callq 0x30f0
leaq -0x770(%rbp), %rax
movups 0x60(%rax), %xmm0
movups %xmm0, 0x98(%rbx)
leaq 0xa8(%rbx), %rdi
movq -0x248(%rbp), %rsi
callq 0x30f0
leaq 0xc8(%rbx), %rdi
movq -0x240(%rbp), %rsi
callq 0x30f0
leaq 0xe8(%rbx), %rdi
movq -0x238(%rbp), %rsi
callq 0x30f0
leaq 0x108(%rbx), %rdi
movq -0x230(%rbp), %rsi
callq 0x30f0
leaq 0x130(%rbx), %rdi
movq -0x228(%rbp), %rsi
callq 0x30f0
leaq 0x150(%rbx), %rdi
movq -0x220(%rbp), %rsi
callq 0x30f0
leaq 0x170(%rbx), %rdi
movq -0x218(%rbp), %rsi
callq 0x30f0
leaq 0x190(%rbx), %rdi
movq -0x210(%rbp), %rsi
callq 0x30f0
leaq -0x780(%rbp), %rdi
callq 0x6fc6
movq -0x5b8(%rbp), %rdi
leaq -0x5a8(%rbp), %rax
cmpq %rax, %rdi
je 0x2a857
callq 0x31d0
movq -0x278(%rbp), %rdi
leaq -0x268(%rbp), %rax
cmpq %rax, %rdi
je 0x2a86f
callq 0x31d0
movq -0x298(%rbp), %rdi
leaq -0x288(%rbp), %rax
cmpq %rax, %rdi
je 0x2a887
callq 0x31d0
movq -0x2b8(%rbp), %rdi
leaq -0x2a8(%rbp), %rax
cmpq %rax, %rdi
je 0x2a89f
callq 0x31d0
movq -0x2d8(%rbp), %rdi
leaq -0x2c8(%rbp), %rax
cmpq %rax, %rdi
je 0x2a8b7
callq 0x31d0
movq -0x2f8(%rbp), %rdi
leaq -0x2e8(%rbp), %rax
cmpq %rax, %rdi
je 0x2a8cf
callq 0x31d0
movq -0x318(%rbp), %rdi
leaq -0x308(%rbp), %rax
cmpq %rax, %rdi
je 0x2a8e7
callq 0x31d0
movq -0x338(%rbp), %rdi
leaq -0x328(%rbp), %rax
cmpq %rax, %rdi
je 0x2a8ff
callq 0x31d0
movq -0x358(%rbp), %rdi
leaq -0x348(%rbp), %rax
cmpq %rax, %rdi
je 0x2a917
callq 0x31d0
movq -0x378(%rbp), %rdi
leaq -0x368(%rbp), %rax
cmpq %rax, %rdi
je 0x2a92f
callq 0x31d0
movq -0x398(%rbp), %rdi
leaq -0x388(%rbp), %rax
cmpq %rax, %rdi
je 0x2a947
callq 0x31d0
movb $0x73, %bl
jmp 0x2aa74
movl $0x18, %edx
movq %r12, %rdi
leaq 0x1092b(%rip), %rsi     # 0x3b288
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movb $0x6e, %bl
movq %rax, %rdi
callq 0x3130
movb %bl, -0x29(%rbp)
cmpq %r13, -0x40(%rbp)
je 0x2a9e9
leaq -0xb80(%rbp), %rdi
leaq 0x10656(%rip), %rsi     # 0x3aff9
movl $0x10, %edx
callq 0x3050
movq -0xd0(%rbp), %rax
movq 0x18(%rax), %r14
cmpq %r13, %r14
je 0x2a9dd
leaq 0x28(%r14), %rsi
leaq -0xb80(%rbp), %rdi
callq 0xad94
movq %r14, %rdi
callq 0x3140
movq %rax, %r14
cmpq %r13, %rax
jne 0x2a9bd
leaq -0xb80(%rbp), %rdi
callq 0x32a0
movl $0x18, %edx
movq %r12, %rdi
leaq 0x108aa(%rip), %rsi     # 0x3b2a2
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r15, %rdi
leaq -0x2b(%rbp), %rsi
callq 0x3280
jmp 0x2ab27
movl $0x18, %edx
movq %r12, %rdi
leaq 0x10843(%rip), %rsi     # 0x3b288
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movb $0x6e, %bl
movq %rax, %rdi
callq 0x3130
movb %bl, -0x29(%rbp)
movq -0x40(%rbp), %rax
cmpq -0xe0(%rbp), %rax
je 0x2aadf
leaq -0x980(%rbp), %rdi
leaq 0x10579(%rip), %rsi     # 0x3b00b
movl $0x10, %edx
callq 0x3050
movq -0xd8(%rbp), %rax
movq 0x18(%rax), %r14
movq -0xe0(%rbp), %rbx
cmpq %rbx, %r14
je 0x2aad3
leaq 0x28(%r14), %rsi
leaq -0x980(%rbp), %rdi
callq 0xb3e7
movq %r14, %rdi
callq 0x3140
movq %rax, %r14
cmpq %rbx, %rax
jne 0x2aab3
leaq -0x980(%rbp), %rdi
callq 0x32a0
movl $0x18, %edx
movq %r12, %rdi
leaq 0x107b4(%rip), %rsi     # 0x3b2a2
callq 0x3250
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %r12, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq %r15, %rdi
leaq -0x2b(%rbp), %rsi
callq 0x3280
cmpb $0x73, -0x2b(%rbp)
movq -0xe0(%rbp), %rbx
je 0x281e5
movq 0x1d489(%rip), %rax     # 0x47fc8
movq (%rax), %rbx
movq 0x18(%rax), %r14
leaq -0x978(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, -0x980(%rbp,%rax)
callq 0x3190
movl $0xf8, %r15d
leaq -0x980(%rbp), %rdi
addq %r15, %rdi
callq 0x30d0
leaq -0xb78(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, -0xb80(%rbp,%rax)
callq 0x3190
leaq -0xb80(%rbp), %rdi
addq %r15, %rdi
callq 0x30d0
movq -0x128(%rbp), %rdi
leaq -0x118(%rbp), %rax
cmpq %rax, %rdi
je 0x2abba
callq 0x31d0
movq -0x108(%rbp), %rdi
leaq -0xf8(%rbp), %rax
cmpq %rax, %rdi
je 0x2abd2
callq 0x31d0
movq -0x5f8(%rbp), %rdi
leaq -0x5e8(%rbp), %rax
cmpq %rax, %rdi
je 0x2abea
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x2abfc
callq 0x31d0
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x2ac14
callq 0x31d0
movq -0x168(%rbp), %rdi
leaq -0x158(%rbp), %rax
cmpq %rax, %rdi
je 0x2ac2c
callq 0x31d0
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x2ac44
callq 0x31d0
movq -0x1a8(%rbp), %rdi
leaq -0x198(%rbp), %rax
cmpq %rax, %rdi
je 0x2ac5c
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x2ac71
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x2ac89
callq 0x31d0
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x2aca1
callq 0x31d0
movq -0x1c8(%rbp), %rdi
leaq -0x1b8(%rbp), %rax
cmpq %rax, %rdi
je 0x2acb9
callq 0x31d0
movq -0x1e8(%rbp), %rdi
leaq -0x1d8(%rbp), %rax
cmpq %rax, %rdi
je 0x2acd1
callq 0x31d0
movq -0x208(%rbp), %rdi
leaq -0x1f8(%rbp), %rax
cmpq %rax, %rdi
je 0x2ace9
callq 0x31d0
addq $0xb58, %rsp            # imm = 0xB58
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x104b0(%rip), %rdi     # 0x3b1b2
callq 0x3110
leaq 0x104a4(%rip), %rdi     # 0x3b1b2
callq 0x3110
leaq 0x10498(%rip), %rdi     # 0x3b1b2
callq 0x32b0
leaq 0x1048c(%rip), %rdi     # 0x3b1b2
callq 0x32b0
movq %rax, %r15
jmp 0x2afa9
movq %rax, %r15
jmp 0x2afd9
movq %rax, %r15
jmp 0x2ae2e
movq %rax, %r15
jmp 0x2ae8e
movq %rax, %r15
jmp 0x2af61
movq %rax, %r15
jmp 0x2aed6
movq %rax, %r15
jmp 0x2aea6
jmp 0x2b11f
jmp 0x2b11f
movq %rax, %r15
jmp 0x2af19
movq %rax, %r15
jmp 0x2af31
movq %rax, %r15
jmp 0x2aeee
movq %rax, %r15
jmp 0x2aebe
movq %rax, %r15
jmp 0x2af49
movq %rax, %r15
jmp 0x2ae5e
movq %rax, %r15
jmp 0x2afc1
movq %rax, %r15
jmp 0x2af79
movq %rax, %r15
jmp 0x2adfe
movq %rax, %r15
jmp 0x2af91
movq %rax, %r15
jmp 0x2ae46
movq %rax, %r15
jmp 0x2aff1
movq %rax, %r15
jmp 0x2ae76
movq %rax, %r15
jmp 0x2b009
movq %rax, %r15
jmp 0x2ae16
movq %rax, %r15
jmp 0x2b158
movq %rax, %r15
jmp 0x2b18e
movq %rax, %r15
leaq -0x780(%rbp), %rdi
callq 0x6fc6
movq -0x5b8(%rbp), %rdi
leaq -0x5a8(%rbp), %rax
cmpq %rax, %rdi
je 0x2ae16
callq 0x31d0
movq -0x278(%rbp), %rdi
leaq -0x268(%rbp), %rax
cmpq %rax, %rdi
je 0x2ae2e
callq 0x31d0
movq -0x298(%rbp), %rdi
leaq -0x288(%rbp), %rax
cmpq %rax, %rdi
je 0x2ae46
callq 0x31d0
movq -0x2b8(%rbp), %rdi
leaq -0x2a8(%rbp), %rax
cmpq %rax, %rdi
je 0x2ae5e
callq 0x31d0
movq -0x2d8(%rbp), %rdi
leaq -0x2c8(%rbp), %rax
cmpq %rax, %rdi
je 0x2ae76
callq 0x31d0
movq -0x2f8(%rbp), %rdi
leaq -0x2e8(%rbp), %rax
cmpq %rax, %rdi
je 0x2ae8e
callq 0x31d0
movq -0x318(%rbp), %rdi
leaq -0x308(%rbp), %rax
cmpq %rax, %rdi
je 0x2aea6
callq 0x31d0
movq -0x338(%rbp), %rdi
leaq -0x328(%rbp), %rax
cmpq %rax, %rdi
je 0x2aebe
callq 0x31d0
movq -0x358(%rbp), %rdi
leaq -0x348(%rbp), %rax
cmpq %rax, %rdi
je 0x2aed6
callq 0x31d0
movq -0x378(%rbp), %rdi
leaq -0x368(%rbp), %rax
cmpq %rax, %rdi
je 0x2aeee
callq 0x31d0
movq -0x398(%rbp), %rdi
leaq -0x388(%rbp), %rax
cmpq %rax, %rdi
je 0x2b122
jmp 0x2b0d8
movq %rax, %r15
leaq -0x780(%rbp), %rdi
callq 0x6af8
movq -0x5d8(%rbp), %rdi
leaq -0x5c8(%rbp), %rax
cmpq %rax, %rdi
je 0x2af31
callq 0x31d0
movq -0x418(%rbp), %rdi
leaq -0x408(%rbp), %rax
cmpq %rax, %rdi
je 0x2af49
callq 0x31d0
movq -0x438(%rbp), %rdi
leaq -0x428(%rbp), %rax
cmpq %rax, %rdi
je 0x2af61
callq 0x31d0
movq -0x458(%rbp), %rdi
leaq -0x448(%rbp), %rax
cmpq %rax, %rdi
je 0x2af79
callq 0x31d0
movq -0x478(%rbp), %rdi
leaq -0x468(%rbp), %rax
cmpq %rax, %rdi
je 0x2af91
callq 0x31d0
movq -0x498(%rbp), %rdi
leaq -0x488(%rbp), %rax
cmpq %rax, %rdi
je 0x2afa9
callq 0x31d0
movq -0x4b8(%rbp), %rdi
leaq -0x4a8(%rbp), %rax
cmpq %rax, %rdi
je 0x2afc1
callq 0x31d0
movq -0x4d8(%rbp), %rdi
leaq -0x4c8(%rbp), %rax
cmpq %rax, %rdi
je 0x2afd9
callq 0x31d0
movq -0x4f8(%rbp), %rdi
leaq -0x4e8(%rbp), %rax
cmpq %rax, %rdi
je 0x2aff1
callq 0x31d0
movq -0x518(%rbp), %rdi
leaq -0x508(%rbp), %rax
cmpq %rax, %rdi
je 0x2b009
callq 0x31d0
movq -0x538(%rbp), %rdi
leaq -0x528(%rbp), %rax
cmpq %rax, %rdi
je 0x2b122
jmp 0x2b0d8
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
movq %rax, %r15
movq -0x558(%rbp), %rdi
leaq -0x548(%rbp), %rax
cmpq %rax, %rdi
je 0x2b122
jmp 0x2b0d8
movq %rax, %r15
movq -0x3b8(%rbp), %rdi
leaq -0x3a8(%rbp), %rax
cmpq %rax, %rdi
je 0x2b122
jmp 0x2b0d8
movq %rax, %r15
movq -0x3d8(%rbp), %rdi
leaq -0x3c8(%rbp), %rax
cmpq %rax, %rdi
je 0x2b122
jmp 0x2b0d8
movq %rax, %r15
movq -0x578(%rbp), %rdi
leaq -0x568(%rbp), %rax
cmpq %rax, %rdi
je 0x2b122
jmp 0x2b0d8
movq %rax, %r15
movq -0x3f8(%rbp), %rdi
leaq -0x3e8(%rbp), %rax
cmpq %rax, %rdi
je 0x2b122
jmp 0x2b0d8
movq %rax, %r15
movq -0x598(%rbp), %rdi
leaq -0x588(%rbp), %rax
cmpq %rax, %rdi
je 0x2b122
callq 0x31d0
jmp 0x2b122
jmp 0x2b0e1
movq %rax, %r15
cmpl $0x0, (%r14)
jne 0x2b122
movl %ebx, (%r14)
jmp 0x2b122
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
jmp 0x2b11f
movq %rax, %r15
movq 0x1ce9f(%rip), %rax     # 0x47fc8
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq -0x978(%rbp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, -0x980(%rbp,%rcx)
callq 0x3190
leaq -0x888(%rbp), %rdi
callq 0x30d0
movq 0x1ce69(%rip), %rax     # 0x47fc8
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq -0xb78(%rbp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, -0xb80(%rbp,%rcx)
callq 0x3190
leaq -0xa88(%rbp), %rdi
callq 0x30d0
movq -0x128(%rbp), %rdi
leaq -0x118(%rbp), %rax
cmpq %rax, %rdi
je 0x2b1a6
callq 0x31d0
movq -0x108(%rbp), %rdi
leaq -0xf8(%rbp), %rax
cmpq %rax, %rdi
je 0x2b1be
callq 0x31d0
movq -0x5f8(%rbp), %rdi
leaq -0x5e8(%rbp), %rax
cmpq %rax, %rdi
je 0x2b1d6
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x2b1e8
callq 0x31d0
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x2b200
callq 0x31d0
movq -0x168(%rbp), %rdi
leaq -0x158(%rbp), %rax
cmpq %rax, %rdi
je 0x2b218
callq 0x31d0
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x2b230
callq 0x31d0
movq -0x1a8(%rbp), %rdi
leaq -0x198(%rbp), %rax
cmpq %rax, %rdi
je 0x2b248
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x2b25d
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x2b275
callq 0x31d0
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x2b28d
callq 0x31d0
movq -0x1c8(%rbp), %rdi
leaq -0x1b8(%rbp), %rax
cmpq %rax, %rdi
je 0x2b2a5
callq 0x31d0
movq -0x1e8(%rbp), %rdi
leaq -0x1d8(%rbp), %rax
cmpq %rax, %rdi
je 0x2b2bd
callq 0x31d0
movq -0x208(%rbp), %rdi
leaq -0x1f8(%rbp), %rax
cmpq %rax, %rdi
je 0x2b2d5
callq 0x31d0
movq %r15, %rdi
callq 0x3380