// File: /workspace/github_cpp_makefile_star2_O3/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, -0x248(%rbp)
movq %rdx, -0x250(%rbp)
movq %rsi, -0xd8(%rbp)
movq %rdi, -0xd0(%rbp)
leaq -0x1f0(%rbp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x1d0(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x1b0(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -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 -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 -0x150(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x130(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x58(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x5e0(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0xf0(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x110(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0xb78(%rbp), %rdi
callq 0x3360
leaq -0x978(%rbp), %rdi
callq 0x3360
movq -0xd8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x48(%rbp)
leaq -0x778(%rbp), %rax
leaq 0x80(%rax), %rcx
movq %rcx, -0x240(%rbp)
leaq 0xa0(%rax), %rcx
movq %rcx, -0x238(%rbp)
leaq 0xc0(%rax), %rcx
movq %rcx, -0x230(%rbp)
leaq 0xe0(%rax), %rcx
movq %rcx, -0x228(%rbp)
leaq 0x108(%rax), %rcx
movq %rcx, -0x220(%rbp)
leaq 0x128(%rax), %rcx
movq %rcx, -0x218(%rbp)
leaq 0x148(%rax), %rcx
movq %rcx, -0x210(%rbp)
addq $0x168, %rax            # imm = 0x168
movq %rax, -0x208(%rbp)
movq -0xd0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x40(%rbp)
movq 0x1fe61(%rip), %r15     # 0x47fd0
movq 0x1fe6a(%rip), %r12     # 0x47fe0
leaq -0x29(%rbp), %r13
movl $0x2f, %edx
movq %r15, %rdi
leaq 0x130ae(%rip), %rsi     # 0x3b237
callq 0x3250
movq (%r15), %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 %r12, %rdi
leaq -0x2c(%rbp), %rsi
callq 0x3280
movzbl -0x2c(%rbp), %eax
cmpl $0x65, %eax
je 0x283ad
cmpl $0x6e, %eax
je 0x28299
movl $0x25, %edx
movq %r15, %rdi
leaq 0x1302b(%rip), %rsi     # 0x3b211
callq 0x3250
movq (%r15), %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 (%r15), %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
movl $0x10, %edx
movq %r15, %rdi
leaq 0x123d0(%rip), %rsi     # 0x3a618
callq 0x3250
movq (%r15), %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 %r12, %rdi
leaq -0x2d(%rbp), %rsi
callq 0x3280
cmpb $0x73, -0x2d(%rbp)
je 0x2aaaf
cmpb $0x73, -0x2b(%rbp)
je 0x2817a
jmp 0x2aaaf
movl $0x15, %edx
movq %r15, %rdi
leaq 0x12fbf(%rip), %rsi     # 0x3b267
callq 0x3250
movq (%r15), %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 %r12, %rdi
leaq -0x34(%rbp), %rsi
callq 0x3120
movq -0xd0(%rbp), %rax
movq 0x10(%rax), %rcx
testq %rcx, %rcx
je 0x28322
movl -0x34(%rbp), %eax
movq -0x40(%rbp), %r14
xorl %edx, %edx
cmpl %eax, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %r14
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x282f7
cmpq -0x40(%rbp), %r14
je 0x28322
cmpl 0x20(%r14), %eax
cmovlq -0x40(%rbp), %r14
jge 0x284c1
movl $0x18, %edx
movq %r15, %rdi
leaq 0x12f57(%rip), %rsi     # 0x3b288
callq 0x3250
movq (%r15), %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
movb $0x6e, -0x29(%rbp)
movl $0x18, %edx
movq %r15, %rdi
leaq 0x12f32(%rip), %rsi     # 0x3b2a2
callq 0x3250
movq (%r15), %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 %r12, %rdi
leaq -0x2b(%rbp), %rsi
callq 0x3280
jmp 0x2828a
movl $0x15, %edx
movq %r15, %rdi
leaq 0x12eab(%rip), %rsi     # 0x3b267
callq 0x3250
movq (%r15), %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 %r12, %rdi
leaq -0x34(%rbp), %rsi
callq 0x3120
movq -0xd8(%rbp), %rax
movq 0x10(%rax), %rcx
testq %rcx, %rcx
je 0x28436
movl -0x34(%rbp), %eax
movq -0x48(%rbp), %r14
xorl %edx, %edx
cmpl %eax, 0x20(%rcx)
setl %dl
cmovgeq %rcx, %r14
movq 0x10(%rcx,%rdx,8), %rcx
testq %rcx, %rcx
jne 0x2840b
cmpq -0x48(%rbp), %r14
je 0x28436
cmpl 0x20(%r14), %eax
cmovlq -0x48(%rbp), %r14
jge 0x28de8
movl $0x18, %edx
movq %r15, %rdi
leaq 0x12e43(%rip), %rsi     # 0x3b288
callq 0x3250
movq (%r15), %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
movb $0x6e, -0x29(%rbp)
movl $0x18, %edx
movq %r15, %rdi
leaq 0x12e1e(%rip), %rsi     # 0x3b2a2
callq 0x3250
movq (%r15), %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 %r12, %rdi
leaq -0x2b(%rbp), %rsi
callq 0x3280
jmp 0x2828a
movl $0xa, %edx
movq %r15, %rdi
leaq 0x12dad(%rip), %rsi     # 0x3b27d
callq 0x3250
movq (%r15), %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 -0x1f8(%rbp), %rdx
movl $0x8, %r8d
leaq -0x200(%rbp), %rdi
xorl %esi, %esi
leaq 0x12a50(%rip), %rcx     # 0x3af69
callq 0x3300
movl $0xe, %edx
movq %r15, %rdi
leaq 0x12256(%rip), %rsi     # 0x3a783
callq 0x3250
movq (%r15), %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 %r12, %rdi
callq 0x33a0
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x68(%rbp), %rsi
callq 0x33c0
leaq -0x68(%rbp), %rdi
movq %r13, %rsi
callq 0x3821c
testb %al, %al
jne 0x285fa
movl $0x2d, %edx
movq %r15, %rdi
leaq 0x121ee(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x60(%rbp), %rbx
testq %rbx, %rbx
je 0x28620
movq -0x68(%rbp), %r12
xorl %r13d, %r13d
movsbl (%r12,%r13), %edi
callq 0x32c0
movb %al, (%r12,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2860a
cmpb $0x6e, -0x29(%rbp)
movq 0x1f9b5(%rip), %r12     # 0x47fe0
leaq -0x29(%rbp), %r13
je 0x2851e
movl $0x1a, %edx
movq %r15, %rdi
leaq 0x12512(%rip), %rsi     # 0x3ab56
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x33c0
leaq -0x1e0(%rbp), %rdi
movq %r13, %rsi
callq 0x38318
testb %al, %al
jne 0x2870f
movl $0x35, %edx
movq %r15, %rdi
leaq 0x124b8(%rip), %rsi     # 0x3ab71
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x28635
movl $0x10, %edx
movq %r15, %rdi
leaq 0x1247f(%rip), %rsi     # 0x3aba7
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x1c0(%rbp), %rsi
callq 0x33c0
leaq -0x1c0(%rbp), %rdi
movq %r13, %rsi
callq 0x38bdf
testb %al, %al
jne 0x287f3
movl $0x2d, %edx
movq %r15, %rdi
leaq 0x11ff5(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x28719
jmp 0x28865
movq (%r15), %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
movl $0x22, %edx
movq %r15, %rdi
leaq 0x123a2(%rip), %rsi     # 0x3abd7
callq 0x3250
movq (%r15), %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
movb $0x6e, -0x29(%rbp)
movl $0x1e, %edx
movq %r15, %rdi
leaq 0x12344(%rip), %rsi     # 0x3abb8
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0xc8(%rbp), %rsi
callq 0x33c0
leaq -0xc8(%rbp), %rdi
movq %r13, %rsi
callq 0x3821c
testb %al, %al
jne 0x2893f
movl $0x2d, %edx
movq %r15, %rdi
leaq 0x11ea9(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
leaq -0x580(%rbp), %rax
movq %rax, -0x590(%rbp)
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x590(%rbp), %rdi
callq 0x4574
movq -0x250(%rbp), %rdi
leaq -0x590(%rbp), %rsi
callq 0x36d35
movl %eax, %ebx
movq -0x590(%rbp), %rdi
leaq -0x580(%rbp), %rax
cmpq %rax, %rdi
je 0x28997
callq 0x31d0
testb %bl, %bl
je 0x287ff
cmpb $0x6e, -0x29(%rbp)
je 0x28865
movl $0x1b, %edx
movq %r15, %rdi
leaq 0x12242(%rip), %rsi     # 0x3abfa
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0xa8(%rbp), %rsi
callq 0x33c0
leaq -0xa8(%rbp), %rdi
movq %r13, %rsi
callq 0x3821c
testb %al, %al
jne 0x28a83
movl $0x2d, %edx
movq %r15, %rdi
leaq 0x11d65(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
leaq -0x560(%rbp), %rax
movq %rax, -0x570(%rbp)
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x570(%rbp), %rdi
callq 0x4574
xorl %edi, %edi
movq -0x248(%rbp), %rsi
leaq -0x570(%rbp), %rdx
movl $0x6d, %ecx
callq 0x36dd5
movl %eax, %ebx
movq -0x570(%rbp), %rdi
leaq -0x560(%rbp), %rax
cmpq %rax, %rdi
je 0x28ae2
callq 0x31d0
testb %bl, %bl
je 0x28af5
cmpb $0x6e, -0x29(%rbp)
je 0x289a9
jmp 0x28b8a
movq (%r15), %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
movl $0x31, %edx
movq %r15, %rdi
leaq 0x120eb(%rip), %rsi     # 0x3ac16
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
jmp 0x289a9
movl $0x1a, %edx
movq %r15, %rdi
leaq 0x120af(%rip), %rsi     # 0x3ac48
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x88(%rbp), %rsi
callq 0x33c0
leaq -0x88(%rbp), %rdi
movq %r13, %rsi
callq 0x3821c
testb %al, %al
jne 0x28c64
movl $0x2d, %edx
movq %r15, %rdi
leaq 0x11b84(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x80(%rbp), %rbx
testq %rbx, %rbx
je 0x28c8d
movq -0x88(%rbp), %r12
xorl %r13d, %r13d
movsbl (%r12,%r13), %edi
callq 0x32c0
movb %al, (%r12,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x28c77
cmpb $0x6e, -0x29(%rbp)
movq 0x1f348(%rip), %r12     # 0x47fe0
leaq -0x29(%rbp), %r13
je 0x28b8a
movl $0x19, %edx
movq %r15, %rdi
leaq 0x11fb2(%rip), %rsi     # 0x3ac63
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x100(%rbp), %rsi
callq 0x33c0
movq -0xf8(%rbp), %rbx
testq %rbx, %rbx
je 0x28d30
movq -0x100(%rbp), %r12
xorl %r13d, %r13d
movsbl (%r12,%r13), %edi
callq 0x33d0
movb %al, (%r12,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x28d1a
leaq -0x100(%rbp), %rbx
movq %rbx, %rdi
leaq 0x11f3c(%rip), %rsi     # 0x3ac7d
callq 0x30c0
testl %eax, %eax
je 0x2970f
movq %rbx, %rdi
leaq 0x11f27(%rip), %rsi     # 0x3ac7f
callq 0x30c0
testl %eax, %eax
je 0x2970f
movb $0x6e, -0x29(%rbp)
movl $0x21, %edx
movq %r15, %rdi
leaq 0x11f09(%rip), %rsi     # 0x3ac81
callq 0x3250
movq 0x1f25c(%rip), %r12     # 0x47fe0
leaq -0x29(%rbp), %r13
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x28ca2
jmp 0x2972a
movl $0xa, %edx
movq %r15, %rdi
leaq 0x12486(%rip), %rsi     # 0x3b27d
callq 0x3250
movq (%r15), %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 -0x1f8(%rbp), %rdx
movl $0x9, %r8d
leaq -0x200(%rbp), %rdi
xorl %esi, %esi
leaq 0x1247b(%rip), %rcx     # 0x3b2bb
callq 0x3300
movl $0xe, %edx
movq %r15, %rdi
leaq 0x1192f(%rip), %rsi     # 0x3a783
callq 0x3250
movq (%r15), %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 %r12, %rdi
callq 0x33a0
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x68(%rbp), %rsi
callq 0x33c0
leaq -0x68(%rbp), %rdi
movq %r13, %rsi
callq 0x3821c
testb %al, %al
jne 0x28f21
movl $0x2d, %edx
movq %r15, %rdi
leaq 0x118c7(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x60(%rbp), %rbx
testq %rbx, %rbx
je 0x28f47
movq -0x68(%rbp), %r12
xorl %r13d, %r13d
movsbl (%r12,%r13), %edi
callq 0x32c0
movb %al, (%r12,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x28f31
cmpb $0x6e, -0x29(%rbp)
movq 0x1f08e(%rip), %r12     # 0x47fe0
leaq -0x29(%rbp), %r13
je 0x28e45
movl $0x1a, %edx
movq %r15, %rdi
leaq 0x11beb(%rip), %rsi     # 0x3ab56
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x33c0
leaq -0x1e0(%rbp), %rdi
movq %r13, %rsi
callq 0x38318
testb %al, %al
jne 0x29036
movl $0x35, %edx
movq %r15, %rdi
leaq 0x11b91(%rip), %rsi     # 0x3ab71
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x28f5c
movl $0x10, %edx
movq %r15, %rdi
leaq 0x11b58(%rip), %rsi     # 0x3aba7
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x1c0(%rbp), %rsi
callq 0x33c0
leaq -0x1c0(%rbp), %rdi
movq %r13, %rsi
callq 0x38bdf
testb %al, %al
jne 0x2911a
movl $0x2d, %edx
movq %r15, %rdi
leaq 0x116ce(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x29040
jmp 0x2918c
movq (%r15), %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
movl $0x22, %edx
movq %r15, %rdi
leaq 0x11a7b(%rip), %rsi     # 0x3abd7
callq 0x3250
movq (%r15), %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
movb $0x6e, -0x29(%rbp)
movl $0x1e, %edx
movq %r15, %rdi
leaq 0x11a1d(%rip), %rsi     # 0x3abb8
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0xc8(%rbp), %rsi
callq 0x33c0
leaq -0xc8(%rbp), %rdi
movq %r13, %rsi
callq 0x3821c
testb %al, %al
jne 0x29266
movl $0x2d, %edx
movq %r15, %rdi
leaq 0x11582(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
leaq -0x3e0(%rbp), %rax
movq %rax, -0x3f0(%rbp)
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3f0(%rbp), %rdi
callq 0x4574
movq -0x250(%rbp), %rdi
leaq -0x3f0(%rbp), %rsi
callq 0x36d35
movl %eax, %ebx
movq -0x3f0(%rbp), %rdi
leaq -0x3e0(%rbp), %rax
cmpq %rax, %rdi
je 0x292be
callq 0x31d0
testb %bl, %bl
je 0x29126
cmpb $0x6e, -0x29(%rbp)
je 0x2918c
movl $0x1b, %edx
movq %r15, %rdi
leaq 0x1191b(%rip), %rsi     # 0x3abfa
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0xa8(%rbp), %rsi
callq 0x33c0
leaq -0xa8(%rbp), %rdi
movq %r13, %rsi
callq 0x3821c
testb %al, %al
jne 0x293aa
movl $0x2d, %edx
movq %r15, %rdi
leaq 0x1143e(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
leaq -0x3c0(%rbp), %rax
movq %rax, -0x3d0(%rbp)
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3d0(%rbp), %rdi
callq 0x4574
xorl %edi, %edi
movq -0x248(%rbp), %rsi
leaq -0x3d0(%rbp), %rdx
movl $0x6d, %ecx
callq 0x36dd5
movl %eax, %ebx
movq -0x3d0(%rbp), %rdi
leaq -0x3c0(%rbp), %rax
cmpq %rax, %rdi
je 0x29409
callq 0x31d0
testb %bl, %bl
je 0x2941c
cmpb $0x6e, -0x29(%rbp)
je 0x292d0
jmp 0x294b1
movq (%r15), %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
movl $0x31, %edx
movq %r15, %rdi
leaq 0x117c4(%rip), %rsi     # 0x3ac16
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movb $0x6e, -0x29(%rbp)
jmp 0x292d0
movl $0x1a, %edx
movq %r15, %rdi
leaq 0x11788(%rip), %rsi     # 0x3ac48
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x88(%rbp), %rsi
callq 0x33c0
leaq -0x88(%rbp), %rdi
movq %r13, %rsi
callq 0x3821c
testb %al, %al
jne 0x2958b
movl $0x2d, %edx
movq %r15, %rdi
leaq 0x1125d(%rip), %rsi     # 0x3a792
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x80(%rbp), %rbx
testq %rbx, %rbx
je 0x295b4
movq -0x88(%rbp), %r12
xorl %r13d, %r13d
movsbl (%r12,%r13), %edi
callq 0x32c0
movb %al, (%r12,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x2959e
cmpb $0x6e, -0x29(%rbp)
movq 0x1ea21(%rip), %r12     # 0x47fe0
leaq -0x29(%rbp), %r13
je 0x294b1
movl $0x19, %edx
movq %r15, %rdi
leaq 0x1168b(%rip), %rsi     # 0x3ac63
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x100(%rbp), %rsi
callq 0x33c0
movq -0xf8(%rbp), %rbx
testq %rbx, %rbx
je 0x29657
movq -0x100(%rbp), %r12
xorl %r13d, %r13d
movsbl (%r12,%r13), %edi
callq 0x33d0
movb %al, (%r12,%r13)
incq %r13
cmpq %r13, %rbx
jne 0x29641
leaq -0x100(%rbp), %rbx
movq %rbx, %rdi
leaq 0x11615(%rip), %rsi     # 0x3ac7d
callq 0x30c0
testl %eax, %eax
je 0x2a0df
movq %rbx, %rdi
leaq 0x11600(%rip), %rsi     # 0x3ac7f
callq 0x30c0
testl %eax, %eax
je 0x2a0df
movb $0x6e, -0x29(%rbp)
movl $0x21, %edx
movq %r15, %rdi
leaq 0x115e2(%rip), %rsi     # 0x3ac81
callq 0x3250
movq 0x1e935(%rip), %r12     # 0x47fe0
leaq -0x29(%rbp), %r13
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x295c9
jmp 0x2a0fa
movq -0x100(%rbp), %rax
movb (%rax), %al
movb %al, -0x2a(%rbp)
movb $0x73, -0x29(%rbp)
movq 0x1e8ba(%rip), %r12     # 0x47fe0
leaq -0x29(%rbp), %r13
movl $0x1c, %edx
movq %r15, %rdi
leaq 0x1156a(%rip), %rsi     # 0x3aca3
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x120(%rbp), %rsi
callq 0x33c0
leaq -0x540(%rbp), %rax
movq %rax, -0x550(%rbp)
movq -0x120(%rbp), %rsi
movq -0x118(%rbp), %rdx
addq %rsi, %rdx
leaq -0x550(%rbp), %rdi
callq 0x4574
leaq -0x550(%rbp), %rdi
movq %r13, %rsi
callq 0x38d29
movl %eax, %ebx
movq -0x550(%rbp), %rdi
leaq -0x540(%rbp), %rax
cmpq %rax, %rdi
je 0x297e0
callq 0x31d0
testb %bl, %bl
jne 0x29849
movl $0x34, %edx
movq %r15, %rdi
leaq 0x114cd(%rip), %rsi     # 0x3acc0
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x120(%rbp), %r12
callq 0x3040
movq %rax, %rbx
movl (%rax), %r13d
movl $0x0, (%rax)
movq %r12, %rdi
leaq -0x778(%rbp), %rsi
callq 0x3170
movsd %xmm0, -0xe0(%rbp)
cmpq %r12, -0x778(%rbp)
je 0x2ac7e
movl (%rbx), %eax
testl %eax, %eax
je 0x29895
cmpl $0x22, %eax
jne 0x29898
jmp 0x2ac8a
movl %r13d, (%rbx)
cmpb $0x6e, -0x29(%rbp)
movq 0x1e73d(%rip), %r12     # 0x47fe0
leaq -0x29(%rbp), %r13
je 0x2972a
movl $0x16, %edx
movq %r15, %rdi
leaq 0x116b6(%rip), %rsi     # 0x3af72
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x140(%rbp), %rsi
callq 0x33c0
leaq -0x140(%rbp), %rdi
movq %r13, %rsi
callq 0x3917a
testb %al, %al
jne 0x29987
movl $0x38, %edx
movq %r15, %rdi
leaq 0x11658(%rip), %rsi     # 0x3af89
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x298ad
movl $0x1f, %edx
movq %r15, %rdi
leaq 0x11411(%rip), %rsi     # 0x3adb1
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x180(%rbp), %rsi
callq 0x33c0
leaq -0x180(%rbp), %rdi
movq %r13, %rsi
callq 0x38ed7
testb %al, %al
jne 0x29a6b
movl $0x36, %edx
movq %r15, %rdi
leaq 0x115ad(%rip), %rsi     # 0x3afc2
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x29991
movl $0x17, %edx
movq %r15, %rdi
leaq 0x11383(%rip), %rsi     # 0x3ae07
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x160(%rbp), %rsi
callq 0x33c0
leaq -0x160(%rbp), %rdi
movq %r13, %rsi
callq 0x39038
testb %al, %al
jne 0x29b4f
movl $0x24, %edx
movq %r15, %rdi
leaq 0x11326(%rip), %rsi     # 0x3ae1f
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x29a75
movl $0x20, %edx
movq %r15, %rdi
leaq 0x112dc(%rip), %rsi     # 0x3ae44
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x33c0
leaq -0x1a0(%rbp), %rdi
movq %r13, %rsi
callq 0x38ed7
testb %al, %al
jne 0x29c33
movl $0x35, %edx
movq %r15, %rdi
leaq 0x111f4(%rip), %rsi     # 0x3add1
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x29b59
movl -0x34(%rbp), %ebx
leaq -0x520(%rbp), %rax
movq %rax, -0x530(%rbp)
movq -0x200(%rbp), %rsi
movq -0x1f8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x530(%rbp), %rdi
callq 0x4574
leaq -0x500(%rbp), %rax
movq %rax, -0x510(%rbp)
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
addq %rsi, %rdx
leaq -0x510(%rbp), %rdi
callq 0x4574
leaq -0x4e0(%rbp), %rax
movq %rax, -0x4f0(%rbp)
movq -0x1e0(%rbp), %rsi
movq -0x1d8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4f0(%rbp), %rdi
callq 0x4574
leaq -0x4c0(%rbp), %rax
movq %rax, -0x4d0(%rbp)
movq -0x1c0(%rbp), %rsi
movq -0x1b8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4d0(%rbp), %rdi
callq 0x4574
leaq -0x4a0(%rbp), %rax
movq %rax, -0x4b0(%rbp)
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4b0(%rbp), %rdi
callq 0x4574
leaq -0x480(%rbp), %rax
movq %rax, -0x490(%rbp)
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x490(%rbp), %rdi
callq 0x4574
leaq -0x460(%rbp), %rax
movq %rax, -0x470(%rbp)
movq -0x88(%rbp), %rsi
movq -0x80(%rbp), %rdx
addq %rsi, %rdx
leaq -0x470(%rbp), %rdi
callq 0x4574
leaq -0x440(%rbp), %rax
movq %rax, -0x450(%rbp)
movq -0x140(%rbp), %rsi
movq -0x138(%rbp), %rdx
addq %rsi, %rdx
leaq -0x450(%rbp), %rdi
callq 0x4574
leaq -0x420(%rbp), %rax
movq %rax, -0x430(%rbp)
movq -0x180(%rbp), %rsi
movq -0x178(%rbp), %rdx
addq %rsi, %rdx
leaq -0x430(%rbp), %rdi
callq 0x4574
movl %ebx, -0x38(%rbp)
leaq -0x400(%rbp), %rax
movq %rax, -0x410(%rbp)
movq -0x160(%rbp), %rsi
movq -0x158(%rbp), %rdx
addq %rsi, %rdx
leaq -0x410(%rbp), %rdi
callq 0x4574
leaq -0x5c0(%rbp), %rax
movq %rax, -0x5d0(%rbp)
movq -0x1a0(%rbp), %rsi
movq -0x198(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5d0(%rbp), %rbx
movq %rbx, %rdi
callq 0x4574
movsbl -0x2a(%rbp), %r9d
leaq -0x778(%rbp), %rdi
movl -0x38(%rbp), %esi
leaq -0x530(%rbp), %rdx
leaq -0x510(%rbp), %rcx
leaq -0x4f0(%rbp), %r8
movsd -0xe0(%rbp), %xmm0
pushq %rbx
leaq -0x410(%rbp), %rax
pushq %rax
leaq -0x430(%rbp), %rax
pushq %rax
leaq -0x450(%rbp), %rax
pushq %rax
leaq -0x470(%rbp), %rax
pushq %rax
leaq -0x490(%rbp), %rax
pushq %rax
leaq -0x4b0(%rbp), %rax
pushq %rax
leaq -0x4d0(%rbp), %rax
pushq %rax
callq 0x663c
addq $0x40, %rsp
movl -0x770(%rbp), %eax
movl %eax, 0x30(%r14)
leaq 0x38(%r14), %rdi
leaq -0x768(%rbp), %rsi
callq 0x30f0
leaq 0x58(%r14), %rdi
leaq -0x748(%rbp), %rsi
callq 0x30f0
leaq 0x78(%r14), %rdi
leaq -0x728(%rbp), %rsi
callq 0x30f0
leaq -0x768(%rbp), %rax
movups 0x60(%rax), %xmm0
movups %xmm0, 0x98(%r14)
leaq 0xa8(%r14), %rdi
movq -0x240(%rbp), %rsi
callq 0x30f0
leaq 0xc8(%r14), %rdi
movq -0x238(%rbp), %rsi
callq 0x30f0
leaq 0xe8(%r14), %rdi
movq -0x230(%rbp), %rsi
callq 0x30f0
leaq 0x108(%r14), %rdi
movq -0x228(%rbp), %rsi
callq 0x30f0
leaq 0x130(%r14), %rdi
movq -0x220(%rbp), %rsi
callq 0x30f0
leaq 0x150(%r14), %rdi
movq -0x218(%rbp), %rsi
callq 0x30f0
leaq 0x170(%r14), %rdi
movq -0x210(%rbp), %rsi
callq 0x30f0
addq $0x190, %r14            # imm = 0x190
movq %r14, %rdi
movq -0x208(%rbp), %rsi
callq 0x30f0
leaq -0x778(%rbp), %rdi
callq 0x6afc
movq -0x5d0(%rbp), %rdi
leaq -0x5c0(%rbp), %rax
cmpq %rax, %rdi
je 0x29f90
callq 0x31d0
movq -0x410(%rbp), %rdi
leaq -0x400(%rbp), %rax
cmpq %rax, %rdi
je 0x29fa8
callq 0x31d0
movq -0x430(%rbp), %rdi
leaq -0x420(%rbp), %rax
cmpq %rax, %rdi
je 0x29fc0
callq 0x31d0
movq -0x450(%rbp), %rdi
leaq -0x440(%rbp), %rax
cmpq %rax, %rdi
je 0x29fd8
callq 0x31d0
movq -0x470(%rbp), %rdi
leaq -0x460(%rbp), %rax
cmpq %rax, %rdi
je 0x29ff0
callq 0x31d0
movq -0x490(%rbp), %rdi
leaq -0x480(%rbp), %rax
cmpq %rax, %rdi
je 0x2a008
callq 0x31d0
movq -0x4b0(%rbp), %rdi
leaq -0x4a0(%rbp), %rax
cmpq %rax, %rdi
je 0x2a020
callq 0x31d0
movq -0x4d0(%rbp), %rdi
leaq -0x4c0(%rbp), %rax
cmpq %rax, %rdi
je 0x2a038
callq 0x31d0
movq -0x4f0(%rbp), %rdi
leaq -0x4e0(%rbp), %rax
cmpq %rax, %rdi
je 0x2a050
callq 0x31d0
movq -0x510(%rbp), %rdi
leaq -0x500(%rbp), %rax
cmpq %rax, %rdi
je 0x2a068
callq 0x31d0
movq -0x530(%rbp), %rdi
leaq -0x520(%rbp), %rax
cmpq %rax, %rdi
je 0x2a080
callq 0x31d0
movb $0x73, -0x29(%rbp)
leaq -0xb78(%rbp), %rdi
leaq 0x10f67(%rip), %rsi     # 0x3aff9
movl $0x10, %edx
callq 0x3050
movq -0xd0(%rbp), %rax
movq 0x18(%rax), %rbx
cmpq -0x40(%rbp), %rbx
je 0x2a0ce
leaq 0x28(%rbx), %rsi
leaq -0xb78(%rbp), %rdi
callq 0xad98
movq %rbx, %rdi
callq 0x3140
movq %rax, %rbx
cmpq -0x40(%rbp), %rax
jne 0x2a0ad
leaq -0xb78(%rbp), %rdi
callq 0x32a0
jmp 0x28361
movq -0x100(%rbp), %rax
movb (%rax), %al
movb %al, -0x2a(%rbp)
movb $0x73, -0x29(%rbp)
movq 0x1deea(%rip), %r12     # 0x47fe0
leaq -0x29(%rbp), %r13
movl $0x1c, %edx
movq %r15, %rdi
leaq 0x10b9a(%rip), %rsi     # 0x3aca3
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x120(%rbp), %rsi
callq 0x33c0
leaq -0x3a0(%rbp), %rax
movq %rax, -0x3b0(%rbp)
movq -0x120(%rbp), %rsi
movq -0x118(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3b0(%rbp), %rdi
callq 0x4574
leaq -0x3b0(%rbp), %rdi
movq %r13, %rsi
callq 0x38d29
movl %eax, %ebx
movq -0x3b0(%rbp), %rdi
leaq -0x3a0(%rbp), %rax
cmpq %rax, %rdi
je 0x2a1b0
callq 0x31d0
testb %bl, %bl
jne 0x2a219
movl $0x34, %edx
movq %r15, %rdi
leaq 0x10afd(%rip), %rsi     # 0x3acc0
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
movq -0x120(%rbp), %r12
callq 0x3040
movq %rax, %rbx
movl (%rax), %r13d
movl $0x0, (%rax)
movq %r12, %rdi
leaq -0x778(%rbp), %rsi
callq 0x3170
movsd %xmm0, -0xe0(%rbp)
cmpq %r12, -0x778(%rbp)
je 0x2ac72
movl (%rbx), %eax
testl %eax, %eax
je 0x2a265
cmpl $0x22, %eax
jne 0x2a268
jmp 0x2ac96
movl %r13d, (%rbx)
cmpb $0x6e, -0x29(%rbp)
movq 0x1dd6d(%rip), %r12     # 0x47fe0
leaq -0x29(%rbp), %r13
je 0x2a0fa
movl $0x16, %edx
movq %r15, %rdi
leaq 0x10ce6(%rip), %rsi     # 0x3af72
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x140(%rbp), %rsi
callq 0x33c0
leaq -0x140(%rbp), %rdi
movq %r13, %rsi
callq 0x3917a
testb %al, %al
jne 0x2a357
movl $0x38, %edx
movq %r15, %rdi
leaq 0x10c88(%rip), %rsi     # 0x3af89
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x2a27d
movl $0x1f, %edx
movq %r15, %rdi
leaq 0x10a41(%rip), %rsi     # 0x3adb1
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x180(%rbp), %rsi
callq 0x33c0
leaq -0x180(%rbp), %rdi
movq %r13, %rsi
callq 0x38ed7
testb %al, %al
jne 0x2a43b
movl $0x36, %edx
movq %r15, %rdi
leaq 0x10bdd(%rip), %rsi     # 0x3afc2
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x2a361
movl $0x19, %edx
movq %r15, %rdi
leaq 0x10e71(%rip), %rsi     # 0x3b2c5
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x160(%rbp), %rsi
callq 0x33c0
leaq -0x160(%rbp), %rdi
movq %r13, %rsi
callq 0x39038
testb %al, %al
jne 0x2a51f
movl $0x24, %edx
movq %r15, %rdi
leaq 0x10956(%rip), %rsi     # 0x3ae1f
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x2a445
movl $0x20, %edx
movq %r15, %rdi
leaq 0x1090c(%rip), %rsi     # 0x3ae44
callq 0x3250
movq (%r15), %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 (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %edx
movq %r12, %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x33c0
leaq -0x1a0(%rbp), %rdi
movq %r13, %rsi
callq 0x38ed7
testb %al, %al
jne 0x2a603
movl $0x35, %edx
movq %r15, %rdi
leaq 0x10824(%rip), %rsi     # 0x3add1
callq 0x3250
movq (%r15), %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 %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x31f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
cmpb $0x6e, -0x29(%rbp)
je 0x2a529
movl -0x34(%rbp), %ebx
leaq -0x380(%rbp), %rax
movq %rax, -0x390(%rbp)
movq -0x200(%rbp), %rsi
movq -0x1f8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x390(%rbp), %rdi
callq 0x4574
leaq -0x360(%rbp), %rax
movq %rax, -0x370(%rbp)
movq -0x68(%rbp), %rsi
movq -0x60(%rbp), %rdx
addq %rsi, %rdx
leaq -0x370(%rbp), %rdi
callq 0x4574
leaq -0x340(%rbp), %rax
movq %rax, -0x350(%rbp)
movq -0x1e0(%rbp), %rsi
movq -0x1d8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x350(%rbp), %rdi
callq 0x4574
leaq -0x320(%rbp), %rax
movq %rax, -0x330(%rbp)
movq -0x1c0(%rbp), %rsi
movq -0x1b8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x330(%rbp), %rdi
callq 0x4574
leaq -0x300(%rbp), %rax
movq %rax, -0x310(%rbp)
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x310(%rbp), %rdi
callq 0x4574
leaq -0x2e0(%rbp), %rax
movq %rax, -0x2f0(%rbp)
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2f0(%rbp), %rdi
callq 0x4574
leaq -0x2c0(%rbp), %rax
movq %rax, -0x2d0(%rbp)
movq -0x88(%rbp), %rsi
movq -0x80(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2d0(%rbp), %rdi
callq 0x4574
leaq -0x2a0(%rbp), %rax
movq %rax, -0x2b0(%rbp)
movq -0x140(%rbp), %rsi
movq -0x138(%rbp), %rdx
addq %rsi, %rdx
leaq -0x2b0(%rbp), %rdi
callq 0x4574
leaq -0x280(%rbp), %rax
movq %rax, -0x290(%rbp)
movq -0x180(%rbp), %rsi
movq -0x178(%rbp), %rdx
addq %rsi, %rdx
leaq -0x290(%rbp), %rdi
callq 0x4574
movl %ebx, -0x38(%rbp)
leaq -0x260(%rbp), %rax
movq %rax, -0x270(%rbp)
movq -0x160(%rbp), %rsi
movq -0x158(%rbp), %rdx
addq %rsi, %rdx
leaq -0x270(%rbp), %rdi
callq 0x4574
leaq -0x5a0(%rbp), %rax
movq %rax, -0x5b0(%rbp)
movq -0x1a0(%rbp), %rsi
movq -0x198(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5b0(%rbp), %rbx
movq %rbx, %rdi
callq 0x4574
movsbl -0x2a(%rbp), %r9d
leaq -0x778(%rbp), %rdi
movl -0x38(%rbp), %esi
leaq -0x390(%rbp), %rdx
leaq -0x370(%rbp), %rcx
leaq -0x350(%rbp), %r8
movsd -0xe0(%rbp), %xmm0
pushq %rbx
leaq -0x270(%rbp), %rax
pushq %rax
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 0x6b52
addq $0x40, %rsp
movl -0x770(%rbp), %eax
movl %eax, 0x30(%r14)
leaq 0x38(%r14), %rdi
leaq -0x768(%rbp), %rsi
callq 0x30f0
leaq 0x58(%r14), %rdi
leaq -0x748(%rbp), %rsi
callq 0x30f0
leaq 0x78(%r14), %rdi
leaq -0x728(%rbp), %rsi
callq 0x30f0
leaq -0x768(%rbp), %rax
movups 0x60(%rax), %xmm0
movups %xmm0, 0x98(%r14)
leaq 0xa8(%r14), %rdi
movq -0x240(%rbp), %rsi
callq 0x30f0
leaq 0xc8(%r14), %rdi
movq -0x238(%rbp), %rsi
callq 0x30f0
leaq 0xe8(%r14), %rdi
movq -0x230(%rbp), %rsi
callq 0x30f0
leaq 0x108(%r14), %rdi
movq -0x228(%rbp), %rsi
callq 0x30f0
leaq 0x130(%r14), %rdi
movq -0x220(%rbp), %rsi
callq 0x30f0
leaq 0x150(%r14), %rdi
movq -0x218(%rbp), %rsi
callq 0x30f0
leaq 0x170(%r14), %rdi
movq -0x210(%rbp), %rsi
callq 0x30f0
addq $0x190, %r14            # imm = 0x190
movq %r14, %rdi
movq -0x208(%rbp), %rsi
callq 0x30f0
leaq -0x778(%rbp), %rdi
callq 0x6fca
movq -0x5b0(%rbp), %rdi
leaq -0x5a0(%rbp), %rax
cmpq %rax, %rdi
je 0x2a960
callq 0x31d0
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0x2a978
callq 0x31d0
movq -0x290(%rbp), %rdi
leaq -0x280(%rbp), %rax
cmpq %rax, %rdi
je 0x2a990
callq 0x31d0
movq -0x2b0(%rbp), %rdi
leaq -0x2a0(%rbp), %rax
cmpq %rax, %rdi
je 0x2a9a8
callq 0x31d0
movq -0x2d0(%rbp), %rdi
leaq -0x2c0(%rbp), %rax
cmpq %rax, %rdi
je 0x2a9c0
callq 0x31d0
movq -0x2f0(%rbp), %rdi
leaq -0x2e0(%rbp), %rax
cmpq %rax, %rdi
je 0x2a9d8
callq 0x31d0
movq -0x310(%rbp), %rdi
leaq -0x300(%rbp), %rax
cmpq %rax, %rdi
je 0x2a9f0
callq 0x31d0
movq -0x330(%rbp), %rdi
leaq -0x320(%rbp), %rax
cmpq %rax, %rdi
je 0x2aa08
callq 0x31d0
movq -0x350(%rbp), %rdi
leaq -0x340(%rbp), %rax
cmpq %rax, %rdi
je 0x2aa20
callq 0x31d0
movq -0x370(%rbp), %rdi
leaq -0x360(%rbp), %rax
cmpq %rax, %rdi
je 0x2aa38
callq 0x31d0
movq -0x390(%rbp), %rdi
leaq -0x380(%rbp), %rax
cmpq %rax, %rdi
je 0x2aa50
callq 0x31d0
movb $0x73, -0x29(%rbp)
leaq -0x978(%rbp), %rdi
leaq 0x105a9(%rip), %rsi     # 0x3b00b
movl $0x10, %edx
callq 0x3050
movq -0xd8(%rbp), %rax
movq 0x18(%rax), %rbx
cmpq -0x48(%rbp), %rbx
je 0x2aa9e
leaq 0x28(%rbx), %rsi
leaq -0x978(%rbp), %rdi
callq 0xb3eb
movq %rbx, %rdi
callq 0x3140
movq %rax, %rbx
cmpq -0x48(%rbp), %rax
jne 0x2aa7d
leaq -0x978(%rbp), %rdi
callq 0x32a0
jmp 0x28475
movq 0x1d512(%rip), %rax     # 0x47fc8
movq (%rax), %rbx
movq 0x18(%rax), %r14
leaq -0x970(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, -0x978(%rbp,%rax)
callq 0x3190
movl $0xf8, %r15d
leaq -0x978(%rbp), %rdi
addq %r15, %rdi
callq 0x30d0
leaq -0xb70(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r14, -0xb78(%rbp,%rax)
callq 0x3190
leaq -0xb78(%rbp), %rdi
addq %r15, %rdi
callq 0x30d0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x2ab31
callq 0x31d0
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x2ab49
callq 0x31d0
movq -0x5f0(%rbp), %rdi
leaq -0x5e0(%rbp), %rax
cmpq %rax, %rdi
je 0x2ab61
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x2ab73
callq 0x31d0
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x2ab8b
callq 0x31d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x2aba3
callq 0x31d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x2abbb
callq 0x31d0
movq -0x1a0(%rbp), %rdi
leaq -0x190(%rbp), %rax
cmpq %rax, %rdi
je 0x2abd3
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x2abe8
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x2ac00
callq 0x31d0
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x2ac18
callq 0x31d0
movq -0x1c0(%rbp), %rdi
leaq -0x1b0(%rbp), %rax
cmpq %rax, %rdi
je 0x2ac30
callq 0x31d0
movq -0x1e0(%rbp), %rdi
leaq -0x1d0(%rbp), %rax
cmpq %rax, %rdi
je 0x2ac48
callq 0x31d0
movq -0x200(%rbp), %rdi
leaq -0x1f0(%rbp), %rax
cmpq %rax, %rdi
je 0x2ac60
callq 0x31d0
addq $0xb58, %rsp            # imm = 0xB58
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x10539(%rip), %rdi     # 0x3b1b2
callq 0x3110
leaq 0x1052d(%rip), %rdi     # 0x3b1b2
callq 0x3110
leaq 0x10521(%rip), %rdi     # 0x3b1b2
callq 0x32b0
leaq 0x10515(%rip), %rdi     # 0x3b1b2
callq 0x32b0
movq %rax, %r14
jmp 0x2ae13
movq %rax, %r14
jmp 0x2ae9e
movq %rax, %r14
jmp 0x2ae2b
movq %rax, %r14
jmp 0x2aeb6
movq %rax, %r14
jmp 0x2ae43
movq %rax, %r14
jmp 0x2aece
movq %rax, %r14
jmp 0x2ae5b
movq %rax, %r14
jmp 0x2aee6
movq %rax, %r14
jmp 0x2adfb
movq %rax, %r14
jmp 0x2adcb
jmp 0x2b0b0
movq %rax, %r14
jmp 0x2af16
movq %rax, %r14
jmp 0x2af5e
movq %rax, %r14
jmp 0x2ad9b
movq %rax, %r14
jmp 0x2af76
movq %rax, %r14
jmp 0x2ade3
movq %rax, %r14
jmp 0x2ae73
movq %rax, %r14
jmp 0x2aefe
jmp 0x2b0b0
movq %rax, %r14
jmp 0x2adb3
movq %rax, %r14
jmp 0x2ad83
movq %rax, %r14
jmp 0x2af2e
movq %rax, %r14
jmp 0x2af46
movq %rax, %r14
jmp 0x2af8e
movq %rax, %r14
movq 0x1d268(%rip), %rax     # 0x47fc8
movq (%rax), %rbx
movq 0x18(%rax), %r15
jmp 0x2b0e9
movq %rax, %r14
jmp 0x2b111
movq %rax, %r14
leaq -0x778(%rbp), %rdi
callq 0x6afc
movq -0x5d0(%rbp), %rdi
leaq -0x5c0(%rbp), %rax
cmpq %rax, %rdi
je 0x2ad9b
callq 0x31d0
movq -0x410(%rbp), %rdi
leaq -0x400(%rbp), %rax
cmpq %rax, %rdi
je 0x2adb3
callq 0x31d0
movq -0x430(%rbp), %rdi
leaq -0x420(%rbp), %rax
cmpq %rax, %rdi
je 0x2adcb
callq 0x31d0
movq -0x450(%rbp), %rdi
leaq -0x440(%rbp), %rax
cmpq %rax, %rdi
je 0x2ade3
callq 0x31d0
movq -0x470(%rbp), %rdi
leaq -0x460(%rbp), %rax
cmpq %rax, %rdi
je 0x2adfb
callq 0x31d0
movq -0x490(%rbp), %rdi
leaq -0x480(%rbp), %rax
cmpq %rax, %rdi
je 0x2ae13
callq 0x31d0
movq -0x4b0(%rbp), %rdi
leaq -0x4a0(%rbp), %rax
cmpq %rax, %rdi
je 0x2ae2b
callq 0x31d0
movq -0x4d0(%rbp), %rdi
leaq -0x4c0(%rbp), %rax
cmpq %rax, %rdi
je 0x2ae43
callq 0x31d0
movq -0x4f0(%rbp), %rdi
leaq -0x4e0(%rbp), %rax
cmpq %rax, %rdi
je 0x2ae5b
callq 0x31d0
movq -0x510(%rbp), %rdi
leaq -0x500(%rbp), %rax
cmpq %rax, %rdi
je 0x2ae73
callq 0x31d0
movq -0x530(%rbp), %rdi
leaq -0x520(%rbp), %rax
cmpq %rax, %rdi
je 0x2b0b3
jmp 0x2b079
movq %rax, %r14
leaq -0x778(%rbp), %rdi
callq 0x6fca
movq -0x5b0(%rbp), %rdi
leaq -0x5a0(%rbp), %rax
cmpq %rax, %rdi
je 0x2aeb6
callq 0x31d0
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0x2aece
callq 0x31d0
movq -0x290(%rbp), %rdi
leaq -0x280(%rbp), %rax
cmpq %rax, %rdi
je 0x2aee6
callq 0x31d0
movq -0x2b0(%rbp), %rdi
leaq -0x2a0(%rbp), %rax
cmpq %rax, %rdi
je 0x2aefe
callq 0x31d0
movq -0x2d0(%rbp), %rdi
leaq -0x2c0(%rbp), %rax
cmpq %rax, %rdi
je 0x2af16
callq 0x31d0
movq -0x2f0(%rbp), %rdi
leaq -0x2e0(%rbp), %rax
cmpq %rax, %rdi
je 0x2af2e
callq 0x31d0
movq -0x310(%rbp), %rdi
leaq -0x300(%rbp), %rax
cmpq %rax, %rdi
je 0x2af46
callq 0x31d0
movq -0x330(%rbp), %rdi
leaq -0x320(%rbp), %rax
cmpq %rax, %rdi
je 0x2af5e
callq 0x31d0
movq -0x350(%rbp), %rdi
leaq -0x340(%rbp), %rax
cmpq %rax, %rdi
je 0x2af76
callq 0x31d0
movq -0x370(%rbp), %rdi
leaq -0x360(%rbp), %rax
cmpq %rax, %rdi
je 0x2af8e
callq 0x31d0
movq -0x390(%rbp), %rdi
leaq -0x380(%rbp), %rax
cmpq %rax, %rdi
je 0x2b0b3
jmp 0x2b079
jmp 0x2b0b0
jmp 0x2b0b0
movq %rax, %r14
movq -0x550(%rbp), %rdi
leaq -0x540(%rbp), %rax
cmpq %rax, %rdi
je 0x2b0b3
jmp 0x2b079
movq %rax, %r14
movq -0x3b0(%rbp), %rdi
leaq -0x3a0(%rbp), %rax
cmpq %rax, %rdi
je 0x2b0b3
jmp 0x2b079
jmp 0x2aff4
movq %rax, %r14
cmpl $0x0, (%rbx)
jne 0x2b0b3
movl %r13d, (%rbx)
jmp 0x2b0b3
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
movq %rax, %r14
movq -0x3d0(%rbp), %rdi
leaq -0x3c0(%rbp), %rax
cmpq %rax, %rdi
je 0x2b0b3
jmp 0x2b079
movq %rax, %r14
movq -0x570(%rbp), %rdi
leaq -0x560(%rbp), %rax
cmpq %rax, %rdi
je 0x2b0b3
jmp 0x2b079
movq %rax, %r14
movq -0x3f0(%rbp), %rdi
leaq -0x3e0(%rbp), %rax
cmpq %rax, %rdi
je 0x2b0b3
jmp 0x2b079
movq %rax, %r14
movq -0x590(%rbp), %rdi
leaq -0x580(%rbp), %rax
cmpq %rax, %rdi
je 0x2b0b3
callq 0x31d0
jmp 0x2b0b3
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
jmp 0x2b0b0
movq %rax, %r14
movq 0x1cf0e(%rip), %rax     # 0x47fc8
movq (%rax), %rbx
movq 0x18(%rax), %r15
leaq -0x970(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r15, -0x978(%rbp,%rax)
callq 0x3190
leaq -0x880(%rbp), %rdi
callq 0x30d0
leaq -0xb70(%rbp), %rdi
movq %rbx, -0x8(%rdi)
movq -0x18(%rbx), %rax
movq %r15, -0xb78(%rbp,%rax)
callq 0x3190
leaq -0xa80(%rbp), %rdi
callq 0x30d0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x2b129
callq 0x31d0
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x2b141
callq 0x31d0
movq -0x5f0(%rbp), %rdi
leaq -0x5e0(%rbp), %rax
cmpq %rax, %rdi
je 0x2b159
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x2b16b
callq 0x31d0
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x2b183
callq 0x31d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x2b19b
callq 0x31d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x2b1b3
callq 0x31d0
movq -0x1a0(%rbp), %rdi
leaq -0x190(%rbp), %rax
cmpq %rax, %rdi
je 0x2b1cb
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x2b1e0
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x2b1f8
callq 0x31d0
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x2b210
callq 0x31d0
movq -0x1c0(%rbp), %rdi
leaq -0x1b0(%rbp), %rax
cmpq %rax, %rdi
je 0x2b228
callq 0x31d0
movq -0x1e0(%rbp), %rdi
leaq -0x1d0(%rbp), %rax
cmpq %rax, %rdi
je 0x2b240
callq 0x31d0
movq -0x200(%rbp), %rdi
leaq -0x1f0(%rbp), %rax
cmpq %rax, %rdi
je 0x2b258
callq 0x31d0
movq %r14, %rdi
callq 0x3380