// File: /workspace/github_cpp_makefile_star2_O2/viniciu21[P]PetLolja/./src/PetFera.cpp
// Function: Petfera::Petfera()
Petfera::Petfera()
{
	ifstream funcaCVS("../banco/Dados_csv_funci.csv");
	string funcaDadosJuntos;
	string funcaToken;
	while (getline(funcaCVS, funcaDadosJuntos))
	{
		std::stringstream s(funcaDadosJuntos);
		std::vector<string> dadosFunca;
		while (getline(s, funcaToken, ';'))
		{
			dadosFunca.push_back(funcaToken);
		}
		if (dadosFunca.at(0) == "Funcionario_Tratador")
		{

			std::shared_ptr<Funcionario> novo = std::make_shared<FuncionarioTratador>(stoi(dadosFunca.at(1)), dadosFunca.at(3), dadosFunca.at(6), Tratador, dadosFunca.at(4), dadosFunca.at(7), Verde);
			adicionarFuncionario(novo);
		}
		else
		{

			std::shared_ptr<Funcionario> novo = std::make_shared<FuncionarioVeterinario>(stoi(dadosFunca.at(1)), dadosFunca.at(3), dadosFunca.at(6), Veterinario, dadosFunca.at(4), dadosFunca.at(7), true);
			adicionarFuncionario(novo);
		}
	}

	// std::shared_ptr<Funcionario> novo = std::make_shared<FuncionarioTratador>(this->funcionarioStore.size(), "Mario", "cpf", Tratador, "(84) 95165-8432", "roi@gmail.com", Verde);
	// this->adicionarFuncionario(novo);
	// std::shared_ptr<Funcionario> novo2 = std::make_shared<FuncionarioVeterinario>(this->funcionarioStore.size(), "Ahsoka", "cpf", Veterinario, "(84) 9245-7524", "ordem_jedi_nadinha@hotmail.com", true);
	// this->adicionarFuncionario(novo2);
	funcaCVS.close();

	ifstream animaisCSV("../banco/Dados_csv_animais.csv");
	string animalDados;
	string animalToken;
	while (getline(animaisCSV, animalDados))
	{
		std::stringstream s(animalDados);
		std::vector<string> animalAtual;
		while (getline(s, animalToken, ';'))
		{
			animalAtual.push_back(animalToken);
		}
		std::shared_ptr<Funcionario> veterinario = pegarVeterinarioPeloNome(animalAtual.at(0));
		std::shared_ptr<Funcionario> tratador = pegarTratadorPeloNome(animalAtual.at(1));
		// Anfibio
		if (animalAtual.at(2) == "Anfibio_Domestico"){
			std::shared_ptr<Animal> criado = std::make_shared<AnfibioDomestico>(
				stoi(animalAtual.at(3)), // ID
				animalAtual.at(6), // Especie
				animalAtual.at(5), // Nome
				toGenero(animalAtual.at(7)), // Genero
				Anfibios,          // Classe
				veterinario,       // Veterinario
				tratador,					 // Tratador
				animalAtual.at(8), // Temperatura
				animalAtual.at(11),// Tipo pele
				animalAtual.at(12),// Fecundação
				toBool(animalAtual.at(13)),// Troca pele
				animalAtual.at(14),// Material eliminado
				animalAtual.at(9), // Habitat
				toBool(animalAtual.at(10)),// Possui ovos
				animalAtual.at(15),// Nome animal
				"Ninguem"          // Nome do dono
				);

			if (adicionarAnimal(criado))
			{
				this->animais_cadastrados++;
			}

		}
		if (animalAtual.at(2) == "Anfibio_Exotico"){
			std::shared_ptr<Animal> criado = std::make_shared<AnfibioExotico>(
				std:: stoi(animalAtual.at(3)), // ID
				animalAtual.at(6), // Especie
				animalAtual.at(5), // Nome
				toGenero(animalAtual.at(7)), // Genero
				Anfibios,          // Classe
				veterinario,       // Veterinario
				tratador,					 // Tratador
				animalAtual.at(8), // Temperatura
				animalAtual.at(11),// Tipo pele
				animalAtual.at(12),// Fecundação
				toBool(animalAtual.at(13)),// Troca pele
				animalAtual.at(14),// Material eliminado
				animalAtual.at(9), // Habitat
				toBool(animalAtual.at(10)),// Possui ovos
				animalAtual.at(15),// Aquatico/Terrestre
				toBool(animalAtual.at(16)),// Registro Ibama
				false,// Brasileiro
				nao_ameacado,// Ameacado Extinção
				animalAtual.at(19) // Pais Origem
				);

			if (adicionarAnimal(criado))
			{
				this->animais_cadastrados++;
			}
		}
		if (animalAtual.at(2) == "Anfibio_Nativo"){
			std::shared_ptr<Animal> criado = std::make_shared<AnfibioNativo>(
				std:: stoi(animalAtual.at(3)), // ID
				animalAtual.at(6), // Especie
				animalAtual.at(5), // Nome
				toGenero(animalAtual.at(7)), // Genero
				Anfibios,          // Classe
				veterinario,       // Veterinario
				tratador,					 // Tratador
				animalAtual.at(8), // Temperatura
				animalAtual.at(11),// Tipo pele
				animalAtual.at(12),// Fecundação
				toBool(animalAtual.at(13)),// Troca pele
				animalAtual.at(14),// Material eliminado
				animalAtual.at(9), // Habitat
				toBool(animalAtual.at(10)),// Possui ovos
				animalAtual.at(15),// Aquatico/Terrestre
				toBool(animalAtual.at(16)),// Registro Ibama
				true,// Brasileiro
				nao_ameacado// Ameacado Extinção
				);

			if (adicionarAnimal(criado))
			{
				this->animais_cadastrados++;
			}
		}
		// Ave
		if (animalAtual.at(2) == "Ave_Domestico"){
			std::shared_ptr<Animal> criado = std::make_shared<AveDomestico>(
				std:: stoi(animalAtual.at(3)), // ID
				animalAtual.at(6), // Especie
				animalAtual.at(5), // Nome
				toGenero(animalAtual.at(7)), // Genero
				Aves,          // Classe
				veterinario,       // Veterinario
				tratador,					 // Tratador
				animalAtual.at(8), // Temperatura
				animalAtual.at(9),// Tipo pele
				animalAtual.at(10),// Fecundação
				toBool(animalAtual.at(11)),// Troca pele
				animalAtual.at(12),// Material eliminado
				animalAtual.at(15),// Tamanho bico
				animalAtual.at(16),// Envergadura das asas
				animalAtual.at(13),// Nome animal
				"Ninguem"          // Nome do dono
				);

			if (adicionarAnimal(criado))
			{
				this->animais_cadastrados++;
			}
		}
		if (animalAtual.at(2) == "Ave_Exotico"){
		std::shared_ptr<Animal> criado = std::make_shared<AveExotica>(
				std:: stoi(animalAtual.at(3)), // ID
				animalAtual.at(6), // Especie
				animalAtual.at(5), // Nome
				toGenero(animalAtual.at(7)), // Genero
				Aves,          // Classe
				veterinario,       // Veterinario
				tratador,					 // Tratador
				animalAtual.at(8), // Temperatura
				animalAtual.at(9),// Tipo pele
				animalAtual.at(10),// Fecundação
				toBool(animalAtual.at(11)),// Troca pele
				animalAtual.at(12),// Material eliminado
				animalAtual.at(18),// Tamanho bico
				animalAtual.at(19),// Envergadura das asas

				animalAtual.at(13),// Aquatico Terrestre
				toBool(animalAtual.at(14)),// Registro Ibama
				false,// Brasileiro
				nao_ameacado,// Ameacado Extinção
				animalAtual.at(17) // Pais
				);

			if (adicionarAnimal(criado))
			{
				this->animais_cadastrados++;
			}
		}
		if (animalAtual.at(2) == "Ave_Nativo"){
				std::shared_ptr<Animal> criado = std::make_shared<AveNativo>(
				std:: stoi(animalAtual.at(3)), // ID
				animalAtual.at(6), // Especie
				animalAtual.at(5), // Nome
				toGenero(animalAtual.at(7)), // Genero
				Aves,          // Classe
				veterinario,       // Veterinario
				tratador,					 // Tratador
				animalAtual.at(8), // Temperatura
				animalAtual.at(9),// Tipo pele
				animalAtual.at(10),// Fecundação
				toBool(animalAtual.at(11)),// Troca pele
				animalAtual.at(12),// Material eliminado
				animalAtual.at(17),// Tamanho bico
				animalAtual.at(18),// Envergadura das asas
				animalAtual.at(13),// Aquatico Terrestre
				toBool(animalAtual.at(14)),// Registro Ibama
				true,// Brasileiro
				nao_ameacado// Ameacado Extinção
				);

			if (adicionarAnimal(criado))
			{
				this->animais_cadastrados++;
			}
		}
		// Mamifero
		if (animalAtual.at(2) == "Mamifero_Domestico"){
			std::shared_ptr<Animal> criado = std::make_shared<MamiferoDomestico>(
				std:: stoi(animalAtual.at(3)), // ID
				animalAtual.at(6), // Especie
				animalAtual.at(5), // Nome
				toGenero(animalAtual.at(7)), // Genero
				Mamiferos,          // Classe
				veterinario,       // Veterinario
				tratador,					 // Tratador
				animalAtual.at(8), // Temperatura
				animalAtual.at(9),// Tipo pele
				animalAtual.at(10),// Fecundação
				toBool(animalAtual.at(11)),// Troca pele
				animalAtual.at(12),// Material eliminado

				toBool(animalAtual.at(15)),// Dentes
				toPelo(animalAtual.at(16)),// Pelagem
				toGestacao(animalAtual.at(17)),// Gestacao

				animalAtual.at(13),// Nome animal
				"Ninguem"          // Nome do dono
				);

			if (adicionarAnimal(criado))
			{
				this->animais_cadastrados++;
			}
		}
		if (animalAtual.at(2) == "Mamifero_Exotico"){
			std::shared_ptr<Animal> criado = std::make_shared<MamiferoExotico>(
				std:: stoi(animalAtual.at(3)), // ID
				animalAtual.at(6), // Especie
				animalAtual.at(5), // Nome
				toGenero(animalAtual.at(7)), // Genero
				Mamiferos,          // Classe
				veterinario,       // Veterinario
				tratador,					 // Tratador
				animalAtual.at(8), // Temperatura
				animalAtual.at(9),// Tipo pele
				animalAtual.at(10),// Fecundação
				toBool(animalAtual.at(11)),// Troca pele
				animalAtual.at(12),// Material eliminado

				toBool(animalAtual.at(18)),// Dentes
				toPelo(animalAtual.at(19)),// Pelagem
				toGestacao(animalAtual.at(20)),// Gestacao

				animalAtual.at(13),// Aquatico Terrestre
				toBool(animalAtual.at(14)),// Registro Ibama
				false,// Brasileiro
				nao_ameacado,// Ameacado Extinção
				animalAtual.at(17) // Pais
				);

			if (adicionarAnimal(criado))
			{
				this->animais_cadastrados++;
			}
		}
		if (animalAtual.at(2) == "Mamifero_Nativo"){
				std::shared_ptr<Animal> criado = std::make_shared<MamiferoNativo>(
				std:: stoi(animalAtual.at(3)), // ID
				animalAtual.at(6), // Especie
				animalAtual.at(5), // Nome
				toGenero(animalAtual.at(7)), // Genero
				Mamiferos,          // Classe
				veterinario,       // Veterinario
				tratador,					 // Tratador
				animalAtual.at(8), // Temperatura
				animalAtual.at(9),// Tipo pele
				animalAtual.at(10),// Fecundação
				toBool(animalAtual.at(11)),// Troca pele
				animalAtual.at(12),// Material eliminado

				toBool(animalAtual.at(17)),// Dentes
				toPelo(animalAtual.at(18)),// Pelagem
				toGestacao(animalAtual.at(19)),// Gestacao

				animalAtual.at(13),// Aquatico Terrestre
				toBool(animalAtual.at(14)),// Registro Ibama
				true,// Brasileiro
				nao_ameacado// Ameacado Extinção
				);

			if (adicionarAnimal(criado))
			{
				this->animais_cadastrados++;
			}
		}
		// Repteis
		if (animalAtual.at(2) == "Reptil_Domestico"){
			std::shared_ptr<Animal> criado = std::make_shared<ReptilDomestico>(
				std:: stoi(animalAtual.at(3)), // ID
				animalAtual.at(6), // Especie
				animalAtual.at(5), // Nome
				toGenero(animalAtual.at(7)), // Genero
				Repteis,          // Classe
				veterinario,       // Veterinario
				tratador,					 // Tratador
				animalAtual.at(8), // Temperatura
				animalAtual.at(9),// Tipo pele
				animalAtual.at(10),// Fecundação
				toBool(animalAtual.at(11)),// Troca pele
				animalAtual.at(12),// Material eliminado
				animalAtual.at(13),// Nome animal
				"Ninguem"          // Nome do dono
				);

			if (adicionarAnimal(criado))
			{
				this->animais_cadastrados++;
			}
		}
		if (animalAtual.at(2) == "Reptil_Exotico"){
			std::shared_ptr<Animal> criado = std::make_shared<ReptilExotico>(
				std:: stoi(animalAtual.at(3)), // ID
				animalAtual.at(6), // Especie
				animalAtual.at(5), // Nome
				toGenero(animalAtual.at(7)), // Genero
				Repteis,          // Classe
				veterinario,       // Veterinario
				tratador,					 // Tratador
				animalAtual.at(8), // Temperatura
				animalAtual.at(9),// Tipo pele
				animalAtual.at(10),// Fecundação
				toBool(animalAtual.at(11)),// Troca pele
				animalAtual.at(12),// Material eliminado

				animalAtual.at(13),// Aquatico/Terrestre
				toBool(animalAtual.at(14)),// Registro Ibama
				false,// Brasileiro
				nao_ameacado,// Extinção
				animalAtual.at(17)// Pais
				);

			if (adicionarAnimal(criado))
			{
				this->animais_cadastrados++;
			}
		}


		if (animalAtual.at(2) == "Reptil_Nativo"){
				std::shared_ptr<Animal> criado = std::make_shared<ReptilNativo>(
				std:: stoi(animalAtual.at(3)), // ID
				animalAtual.at(6), // Especie
				animalAtual.at(5), // Nome
				toGenero(animalAtual.at(7)), // Genero
				Repteis,          // Classe
				veterinario,       // Veterinario
				tratador,					 // Tratador
				animalAtual.at(8), // Temperatura
				animalAtual.at(9),// Tipo pele
				animalAtual.at(10),// Fecundação
				toBool(animalAtual.at(11)),// Troca pele
				animalAtual.at(12),// Material eliminado

				animalAtual.at(13),// Aquatico Terrestre
				toBool(animalAtual.at(14)),// Registro Ibama
				true,// Brasileiro
				nao_ameacado// Ameacado Extinção
				);

			if (adicionarAnimal(criado))
			{
				this->animais_cadastrados++;
			}
		}
	}
	animaisCSV.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd68, %rsp            # imm = 0xD68
xorps %xmm0, %xmm0
movups %xmm0, 0xc(%rdi)
movups %xmm0, (%rdi)
movups %xmm0, 0x20(%rdi)
movq %rdi, -0x90(%rbp)
movups %xmm0, 0x2c(%rdi)
leaq 0x17308(%rip), %rsi     # 0x1f8c0
leaq -0xd90(%rbp), %rdi
pushq $0x8
popq %rdx
callq 0x42d0
leaq -0x208(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
xorl %ecx, %ecx
movb %cl, (%rax)
leaq -0x248(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb %cl, (%rax)
leaq -0x218(%rbp), %r14
leaq -0xb88(%rbp), %r15
leaq -0x258(%rbp), %r12
pushq $0x3b
popq %r13
leaq -0x980(%rbp), %rbx
leaq -0xd90(%rbp), %rdi
movq %r14, %rsi
callq 0x4050
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x889f
movq %r15, %rdi
movq %r14, %rsi
pushq $0x18
popq %rdx
callq 0x4280
xorps %xmm0, %xmm0
movaps %xmm0, -0x980(%rbp)
andq $0x0, -0x970(%rbp)
movq %r15, %rdi
movq %r12, %rsi
movl %r13d, %edx
callq 0x42e0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x8677
movq %rbx, %rdi
movq %r12, %rsi
callq 0x1328e
jmp 0x864e
movq %rbx, %rdi
xorl %esi, %esi
callq 0x132da
movq %rax, %rdi
leaq 0x17252(%rip), %rsi     # 0x1f8dd
callq 0x132c9
testb %al, %al
je 0x878e
movq %rbx, %rdi
pushq $0x1
popq %rsi
callq 0x132da
movq %rax, %rdi
xorl %esi, %esi
pushq $0xa
popq %rdx
callq 0x13336
movl %eax, -0x110(%rbp)
movq %rbx, %rdi
pushq $0x3
popq %rsi
callq 0x132da
movq %rax, -0x58(%rbp)
movq %rbx, %rdi
pushq $0x6
popq %rsi
callq 0x132da
movq %rax, -0x50(%rbp)
movl $0x1, -0xb0(%rbp)
movq %rbx, %rdi
pushq $0x4
popq %rsi
callq 0x132da
movq %rax, %r14
movq %rbx, %rdi
pushq $0x7
popq %rsi
callq 0x132da
movl $0x5, -0xa0(%rbp)
leaq -0xd8(%rbp), %rdi
leaq -0x110(%rbp), %rsi
movq -0x58(%rbp), %rdx
movq -0x50(%rbp), %rcx
leaq -0xb0(%rbp), %r8
movq %r14, %r9
leaq -0xa0(%rbp), %r10
pushq %r10
pushq %rax
callq 0x132fb
popq %rax
popq %rcx
movups -0xd8(%rbp), %xmm0
movups %xmm0, -0xf8(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, -0xd8(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x4c0e
leaq -0x1f8(%rbp), %r14
movq %r14, %rdi
leaq -0xf8(%rbp), %rsi
callq 0x4bd0
movq -0x90(%rbp), %rdi
movq %r14, %rsi
callq 0xab6e
leaq -0x218(%rbp), %r14
leaq -0x1f0(%rbp), %rdi
jmp 0x8879
movq %rbx, %rdi
pushq $0x1
popq %rsi
callq 0x132da
movq %rax, %rdi
xorl %esi, %esi
pushq $0xa
popq %rdx
callq 0x13336
movl %eax, -0x110(%rbp)
movq %rbx, %rdi
pushq $0x3
popq %rsi
callq 0x132da
movq %rax, -0x58(%rbp)
movq %rbx, %rdi
pushq $0x6
popq %rsi
callq 0x132da
movq %rax, -0x50(%rbp)
andl $0x0, -0xb0(%rbp)
movq %rbx, %rdi
pushq $0x4
popq %rsi
callq 0x132da
movq %rax, %r14
movq %rbx, %rdi
pushq $0x7
popq %rsi
callq 0x132da
movb $0x1, -0xa0(%rbp)
leaq -0xd8(%rbp), %rdi
leaq -0x110(%rbp), %rsi
movq -0x58(%rbp), %rdx
movq -0x50(%rbp), %rcx
leaq -0xb0(%rbp), %r8
movq %r14, %r9
leaq -0xa0(%rbp), %r10
pushq %r10
pushq %rax
callq 0x13357
popq %rax
popq %rcx
movups -0xd8(%rbp), %xmm0
movups %xmm0, -0xf8(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, -0xd8(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x4c0e
leaq -0x1e8(%rbp), %r14
movq %r14, %rdi
leaq -0xf8(%rbp), %rsi
callq 0x4bd0
movq -0x90(%rbp), %rdi
movq %r14, %rsi
callq 0xab6e
leaq -0x218(%rbp), %r14
leaq -0x1e0(%rbp), %rdi
callq 0x4c0e
leaq -0xf0(%rbp), %rdi
callq 0x4c0e
movq %rbx, %rdi
callq 0x13392
movq %r15, %rdi
callq 0x4150
jmp 0x860d
leaq -0xd90(%rbp), %rdi
callq 0x4060
leaq 0x17040(%rip), %rsi     # 0x1f8f2
leaq -0xb88(%rbp), %rdi
pushq $0x8
popq %rdx
callq 0x42d0
leaq -0xe8(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
xorl %ecx, %ecx
leaq -0xc8(%rbp), %rdx
movq %rdx, -0x10(%rdx)
andq $0x0, -0x8(%rdx)
movb %cl, (%rax)
movb %cl, (%rdx)
leaq -0x110(%rbp), %r13
leaq -0xb88(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0x4050
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0xa53a
leaq -0x980(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
pushq $0x18
popq %rdx
callq 0x4280
xorps %xmm0, %xmm0
movaps %xmm0, -0x110(%rbp)
andq $0x0, -0x100(%rbp)
leaq -0xd8(%rbp), %rbx
leaq -0x980(%rbp), %rdi
movq %rbx, %rsi
pushq $0x3b
popq %rdx
callq 0x42e0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x8976
movq %r13, %rdi
leaq -0xd8(%rbp), %rbx
movq %rbx, %rsi
callq 0x1328e
jmp 0x8942
movq %r13, %rdi
xorl %esi, %esi
callq 0x132da
leaq -0x7f8(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
leaq -0xb0(%rbp), %rdi
movq -0x90(%rbp), %rsi
movq %rbx, %rdx
callq 0xabb4
movq %rbx, %rdi
callq 0x40e0
movq %r13, %rdi
pushq $0x1
popq %rsi
callq 0x132da
leaq -0x7d8(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
leaq -0xa0(%rbp), %rdi
movq -0x90(%rbp), %rsi
movq %rbx, %rdx
callq 0xac46
movq %rbx, %rdi
callq 0x40e0
movq %r13, %rdi
pushq $0x2
popq %rsi
callq 0x132da
movq %rax, %rdi
leaq 0x16f11(%rip), %rsi     # 0x1f911
callq 0x132c9
testb %al, %al
je 0x8bf9
movq %r13, %rdi
pushq $0x3
popq %rsi
callq 0x132da
movq %rax, %rdi
xorl %esi, %esi
pushq $0xa
popq %rdx
callq 0x13336
movl %eax, -0x3c(%rbp)
movq %r13, %rdi
pushq $0x6
popq %rsi
callq 0x132da
movq %rax, -0x58(%rbp)
movq %r13, %rdi
pushq $0x5
popq %rsi
callq 0x132da
movq %rax, -0x50(%rbp)
movq %r13, %rdi
pushq $0x7
popq %rsi
callq 0x132da
leaq -0x758(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
movq %rbx, %rsi
callq 0xacd8
movl %eax, -0x38(%rbp)
movl $0x2, -0x34(%rbp)
movq %r13, %rdi
pushq $0x8
popq %rsi
callq 0x132da
movq %rax, -0x80(%rbp)
movq %r13, %rdi
pushq $0xb
popq %rsi
callq 0x132da
movq %rax, -0x88(%rbp)
movq %r13, %rdi
pushq $0xc
popq %rsi
callq 0x132da
movq %rax, %rbx
movq %r13, %rdi
pushq $0xd
popq %rsi
callq 0x132da
leaq -0x738(%rbp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x4210
movq %r14, %rdi
leaq 0x1667b(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x30(%rbp)
movq %r13, %rdi
pushq $0xe
popq %rsi
callq 0x132da
movq %rax, %r14
movq %r13, %rdi
pushq $0x9
popq %rsi
callq 0x132da
movq %rax, %r15
movq %r13, %rdi
pushq $0xa
popq %rsi
callq 0x132da
leaq -0x718(%rbp), %r12
movq %r12, %rdi
movq %rax, %rsi
callq 0x4210
movq %r12, %rdi
leaq 0x16630(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x40(%rbp)
movq %r13, %rdi
pushq $0xf
popq %rsi
callq 0x132da
subq $0x8, %rsp
leaq -0x68(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
movq -0x58(%rbp), %rdx
movq -0x50(%rbp), %rcx
leaq -0x38(%rbp), %r8
leaq -0x34(%rbp), %r9
leaq 0x16dd7(%rip), %r10     # 0x1f923
pushq %r10
pushq %rax
leaq -0x40(%rbp), %rax
pushq %rax
pushq %r15
pushq %r14
leaq -0x30(%rbp), %rax
pushq %rax
pushq %rbx
pushq -0x88(%rbp)
pushq -0x80(%rbp)
leaq -0xa0(%rbp), %rax
pushq %rax
leaq -0xb0(%rbp), %rax
pushq %rax
callq 0x133bd
addq $0x60, %rsp
movups -0x68(%rbp), %xmm0
movups %xmm0, -0x78(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, -0x68(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4c0e
leaq -0x718(%rbp), %rdi
callq 0x40e0
leaq -0x738(%rbp), %rdi
callq 0x40e0
leaq -0x758(%rbp), %rdi
callq 0x40e0
leaq -0x1d8(%rbp), %r14
movq %r14, %rdi
leaq -0x78(%rbp), %rsi
callq 0x14260
movq -0x90(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xad08
leaq -0x1d0(%rbp), %rdi
callq 0x4c0e
incl 0x18(%rbx)
leaq -0x70(%rbp), %rdi
callq 0x4c0e
movq %r13, %rdi
pushq $0x2
popq %rsi
callq 0x132da
movq %rax, %rdi
leaq 0x16d1d(%rip), %rsi     # 0x1f92b
callq 0x132c9
testb %al, %al
je 0x8e68
movq %r13, %rdi
pushq $0x3
popq %rsi
callq 0x132da
movq %rax, %rdi
xorl %esi, %esi
pushq $0xa
popq %rdx
callq 0x13336
movl %eax, -0x3c(%rbp)
movq %r13, %rdi
pushq $0x6
popq %rsi
callq 0x132da
movq %rax, -0x58(%rbp)
movq %r13, %rdi
pushq $0x5
popq %rsi
callq 0x132da
movq %rax, -0x50(%rbp)
movq %r13, %rdi
pushq $0x7
popq %rsi
callq 0x132da
leaq -0x6f8(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
movq %rbx, %rsi
callq 0xacd8
movl %eax, -0x38(%rbp)
movl $0x2, -0x34(%rbp)
movq %r13, %rdi
pushq $0x8
popq %rsi
callq 0x132da
movq %rax, -0x80(%rbp)
movq %r13, %rdi
pushq $0xb
popq %rsi
callq 0x132da
movq %rax, -0x88(%rbp)
movq %r13, %rdi
pushq $0xc
popq %rsi
callq 0x132da
movq %rax, -0xb8(%rbp)
movq %r13, %rdi
pushq $0xd
popq %rsi
callq 0x132da
leaq -0x6d8(%rbp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x4210
movq %r14, %rdi
leaq 0x16469(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x40(%rbp)
movq %r13, %rdi
pushq $0xe
popq %rsi
callq 0x132da
movq %rax, %r14
movq %r13, %rdi
pushq $0x9
popq %rsi
callq 0x132da
movq %rax, %r12
movq %r13, %rdi
pushq $0xa
popq %rsi
callq 0x132da
leaq -0x6b8(%rbp), %r15
movq %r15, %rdi
movq %rax, %rsi
callq 0x4210
movq %r15, %rdi
leaq 0x1641e(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x44(%rbp)
movq %r13, %rdi
pushq $0xf
popq %rsi
callq 0x132da
movq %rax, %r15
movq %r13, %rdi
pushq $0x10
popq %rsi
callq 0x132da
leaq -0x698(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
movq %rbx, %rdi
leaq 0x163e1(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x29(%rbp)
movb $0x0, -0x2a(%rbp)
movl $0x1, -0x30(%rbp)
movq %r13, %rdi
pushq $0x13
popq %rsi
callq 0x132da
leaq -0x68(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
movq -0x58(%rbp), %rdx
movq -0x50(%rbp), %rcx
leaq -0x38(%rbp), %r8
leaq -0x34(%rbp), %r9
pushq %rax
leaq -0x30(%rbp), %rax
pushq %rax
leaq -0x2a(%rbp), %rax
pushq %rax
leaq -0x29(%rbp), %rax
pushq %rax
pushq %r15
leaq -0x44(%rbp), %rax
pushq %rax
pushq %r12
pushq %r14
leaq -0x40(%rbp), %rax
pushq %rax
pushq -0xb8(%rbp)
pushq -0x88(%rbp)
pushq -0x80(%rbp)
leaq -0xa0(%rbp), %rax
pushq %rax
leaq -0xb0(%rbp), %rax
pushq %rax
callq 0x13425
addq $0x70, %rsp
movups -0x68(%rbp), %xmm0
movups %xmm0, -0x78(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, -0x68(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4c0e
leaq -0x698(%rbp), %rdi
callq 0x40e0
leaq -0x6b8(%rbp), %rdi
callq 0x40e0
leaq -0x6d8(%rbp), %rdi
callq 0x40e0
leaq -0x6f8(%rbp), %rdi
callq 0x40e0
leaq -0x1c8(%rbp), %r14
movq %r14, %rdi
leaq -0x78(%rbp), %rsi
callq 0x14260
movq -0x90(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xad08
leaq -0x1c0(%rbp), %rdi
callq 0x4c0e
incl 0x18(%rbx)
leaq -0x70(%rbp), %rdi
callq 0x4c0e
movq %r13, %rdi
pushq $0x2
popq %rsi
callq 0x132da
movq %rax, %rdi
leaq 0x16abe(%rip), %rsi     # 0x1f93b
callq 0x132c9
testb %al, %al
je 0x90cb
movq %r13, %rdi
pushq $0x3
popq %rsi
callq 0x132da
movq %rax, %rdi
xorl %esi, %esi
pushq $0xa
popq %rdx
callq 0x13336
movl %eax, -0x3c(%rbp)
movq %r13, %rdi
pushq $0x6
popq %rsi
callq 0x132da
movq %rax, -0x58(%rbp)
movq %r13, %rdi
pushq $0x5
popq %rsi
callq 0x132da
movq %rax, -0x50(%rbp)
movq %r13, %rdi
pushq $0x7
popq %rsi
callq 0x132da
leaq -0x678(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
movq %rbx, %rsi
callq 0xacd8
movl %eax, -0x38(%rbp)
movl $0x2, -0x34(%rbp)
movq %r13, %rdi
pushq $0x8
popq %rsi
callq 0x132da
movq %rax, -0x80(%rbp)
movq %r13, %rdi
pushq $0xb
popq %rsi
callq 0x132da
movq %rax, -0x88(%rbp)
movq %r13, %rdi
pushq $0xc
popq %rsi
callq 0x132da
movq %rax, -0xb8(%rbp)
movq %r13, %rdi
pushq $0xd
popq %rsi
callq 0x132da
leaq -0x658(%rbp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x4210
movq %r14, %rdi
leaq 0x161fa(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x40(%rbp)
movq %r13, %rdi
pushq $0xe
popq %rsi
callq 0x132da
movq %rax, %r14
movq %r13, %rdi
pushq $0x9
popq %rsi
callq 0x132da
movq %rax, %r15
movq %r13, %rdi
pushq $0xa
popq %rsi
callq 0x132da
leaq -0x638(%rbp), %r12
movq %r12, %rdi
movq %rax, %rsi
callq 0x4210
movq %r12, %rdi
leaq 0x161af(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x44(%rbp)
movq %r13, %rdi
pushq $0xf
popq %rsi
callq 0x132da
movq %rax, %r12
movq %r13, %rdi
pushq $0x10
popq %rsi
callq 0x132da
leaq -0x7b8(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
movq %rbx, %rdi
leaq 0x16172(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x29(%rbp)
movb $0x1, -0x2a(%rbp)
movl $0x1, -0x30(%rbp)
subq $0x8, %rsp
leaq -0x68(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
movq -0x58(%rbp), %rdx
movq -0x50(%rbp), %rcx
leaq -0x38(%rbp), %r8
leaq -0x34(%rbp), %r9
leaq -0x30(%rbp), %rax
pushq %rax
leaq -0x2a(%rbp), %rax
pushq %rax
leaq -0x29(%rbp), %rax
pushq %rax
pushq %r12
leaq -0x44(%rbp), %rax
pushq %rax
pushq %r15
pushq %r14
leaq -0x40(%rbp), %rax
pushq %rax
pushq -0xb8(%rbp)
pushq -0x88(%rbp)
pushq -0x80(%rbp)
leaq -0xa0(%rbp), %rax
pushq %rax
leaq -0xb0(%rbp), %rax
pushq %rax
callq 0x1349c
addq $0x70, %rsp
movups -0x68(%rbp), %xmm0
movups %xmm0, -0x78(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, -0x68(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4c0e
movq %rbx, %rdi
callq 0x40e0
leaq -0x638(%rbp), %rdi
callq 0x40e0
leaq -0x658(%rbp), %rdi
callq 0x40e0
leaq -0x678(%rbp), %rdi
callq 0x40e0
leaq -0x1b8(%rbp), %r14
movq %r14, %rdi
leaq -0x78(%rbp), %rsi
callq 0x14260
movq -0x90(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xad08
leaq -0x1b0(%rbp), %rdi
callq 0x4c0e
incl 0x18(%rbx)
leaq -0x70(%rbp), %rdi
callq 0x4c0e
movq %r13, %rdi
pushq $0x2
popq %rsi
callq 0x132da
movq %rax, %rdi
leaq 0x1686a(%rip), %rsi     # 0x1f94a
callq 0x132c9
testb %al, %al
je 0x92b6
movq %r13, %rdi
pushq $0x3
popq %rsi
callq 0x132da
movq %rax, %rdi
xorl %esi, %esi
pushq $0xa
popq %rdx
callq 0x13336
movl %eax, -0x3c(%rbp)
movq %r13, %rdi
pushq $0x6
popq %rsi
callq 0x132da
movq %rax, %r14
movq %r13, %rdi
pushq $0x5
popq %rsi
callq 0x132da
movq %rax, %r15
movq %r13, %rdi
pushq $0x7
popq %rsi
callq 0x132da
leaq -0x618(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
movq %rbx, %rsi
callq 0xacd8
movl %eax, -0x38(%rbp)
movl $0x1, -0x34(%rbp)
movq %r13, %rdi
pushq $0x8
popq %rsi
callq 0x132da
movq %rax, %rbx
movq %r13, %rdi
pushq $0x9
popq %rsi
callq 0x132da
movq %rax, %r12
movq %r13, %rdi
pushq $0xa
popq %rsi
callq 0x132da
movq %rax, -0x58(%rbp)
movq %r12, -0x88(%rbp)
movq %rbx, -0x80(%rbp)
movq %r15, -0x50(%rbp)
movq %r14, %rbx
movq %r13, %rdi
pushq $0xb
popq %rsi
callq 0x132da
leaq -0x5f8(%rbp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x4210
movq %r14, %rdi
leaq 0x15f8f(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x30(%rbp)
movq %r13, %rdi
pushq $0xc
popq %rsi
callq 0x132da
movq %rax, %r14
movq %r13, %rdi
pushq $0xf
popq %rsi
callq 0x132da
movq %rax, %r15
movq %r13, %rdi
pushq $0x10
popq %rsi
callq 0x132da
movq %rax, %r12
movq %r13, %rdi
pushq $0xd
popq %rsi
callq 0x132da
subq $0x8, %rsp
leaq -0x68(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
movq %rbx, %rdx
movq -0x50(%rbp), %rcx
leaq -0x38(%rbp), %r8
leaq -0x34(%rbp), %r9
leaq 0x1670d(%rip), %r10     # 0x1f923
pushq %r10
pushq %rax
pushq %r12
pushq %r15
pushq %r14
leaq -0x30(%rbp), %rax
pushq %rax
pushq -0x58(%rbp)
pushq -0x88(%rbp)
pushq -0x80(%rbp)
leaq -0xa0(%rbp), %rax
pushq %rax
leaq -0xb0(%rbp), %rax
pushq %rax
callq 0x1350d
addq $0x60, %rsp
movups -0x68(%rbp), %xmm0
movups %xmm0, -0x78(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, -0x68(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4c0e
leaq -0x5f8(%rbp), %rdi
callq 0x40e0
leaq -0x618(%rbp), %rdi
callq 0x40e0
leaq -0x1a8(%rbp), %r14
movq %r14, %rdi
leaq -0x78(%rbp), %rsi
callq 0x14260
movq -0x90(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xad08
leaq -0x1a0(%rbp), %rdi
callq 0x4c0e
incl 0x18(%rbx)
leaq -0x70(%rbp), %rdi
callq 0x4c0e
movq %r13, %rdi
pushq $0x2
popq %rsi
callq 0x132da
movq %rax, %rdi
leaq 0x1668d(%rip), %rsi     # 0x1f958
callq 0x132c9
testb %al, %al
je 0x9502
movq %r13, %rdi
pushq $0x3
popq %rsi
callq 0x132da
movq %rax, %rdi
xorl %esi, %esi
pushq $0xa
popq %rdx
callq 0x13336
movl %eax, -0x3c(%rbp)
movq %r13, %rdi
pushq $0x6
popq %rsi
callq 0x132da
movq %rax, -0x58(%rbp)
movq %r13, %rdi
pushq $0x5
popq %rsi
callq 0x132da
movq %rax, -0x50(%rbp)
movq %r13, %rdi
pushq $0x7
popq %rsi
callq 0x132da
leaq -0x5d8(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
movq %rbx, %rsi
callq 0xacd8
movl %eax, -0x38(%rbp)
movl $0x1, -0x34(%rbp)
movq %r13, %rdi
pushq $0x8
popq %rsi
callq 0x132da
movq %rax, -0x80(%rbp)
movq %r13, %rdi
pushq $0x9
popq %rsi
callq 0x132da
movq %rax, -0x88(%rbp)
movq %r13, %rdi
pushq $0xa
popq %rsi
callq 0x132da
movq %rax, -0xb8(%rbp)
movq %r13, %rdi
pushq $0xb
popq %rsi
callq 0x132da
leaq -0x5b8(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
movq %rbx, %rdi
leaq 0x15dac(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x40(%rbp)
movq %r13, %rdi
pushq $0xc
popq %rsi
callq 0x132da
movq %rax, -0x118(%rbp)
movq %r13, %rdi
pushq $0x12
popq %rsi
callq 0x132da
movq %rax, %r15
movq %r13, %rdi
pushq $0x13
popq %rsi
callq 0x132da
movq %rax, %r12
movq %r13, %rdi
pushq $0xd
popq %rsi
callq 0x132da
movq %rax, %rbx
movq %r13, %r14
movq %r13, %rdi
pushq $0xe
popq %rsi
callq 0x132da
leaq -0x598(%rbp), %r13
movq %r13, %rdi
movq %rax, %rsi
callq 0x4210
movq %r13, %rdi
leaq 0x15d3e(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x44(%rbp)
movb $0x0, -0x29(%rbp)
movl $0x1, -0x30(%rbp)
movq %r14, %r13
movq %r14, %rdi
pushq $0x11
popq %rsi
callq 0x132da
leaq -0x68(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
movq -0x58(%rbp), %rdx
movq -0x50(%rbp), %rcx
leaq -0x38(%rbp), %r8
leaq -0x34(%rbp), %r9
pushq %rax
leaq -0x30(%rbp), %rax
pushq %rax
leaq -0x29(%rbp), %rax
pushq %rax
leaq -0x44(%rbp), %rax
pushq %rax
pushq %rbx
pushq %r12
pushq %r15
pushq -0x118(%rbp)
leaq -0x40(%rbp), %rax
pushq %rax
pushq -0xb8(%rbp)
pushq -0x88(%rbp)
pushq -0x80(%rbp)
leaq -0xa0(%rbp), %rax
pushq %rax
leaq -0xb0(%rbp), %rax
pushq %rax
callq 0x13575
addq $0x70, %rsp
movups -0x68(%rbp), %xmm0
movups %xmm0, -0x78(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, -0x68(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4c0e
leaq -0x598(%rbp), %rdi
callq 0x40e0
leaq -0x5b8(%rbp), %rdi
callq 0x40e0
leaq -0x5d8(%rbp), %rdi
callq 0x40e0
leaq -0x198(%rbp), %r14
movq %r14, %rdi
leaq -0x78(%rbp), %rsi
callq 0x14260
movq -0x90(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xad08
leaq -0x190(%rbp), %rdi
callq 0x4c0e
incl 0x18(%rbx)
leaq -0x70(%rbp), %rdi
callq 0x4c0e
movq %r13, %rdi
pushq $0x2
popq %rsi
callq 0x132da
movq %rax, %rdi
leaq 0x1644d(%rip), %rsi     # 0x1f964
callq 0x132c9
testb %al, %al
je 0x973c
movq %r13, %rdi
pushq $0x3
popq %rsi
callq 0x132da
movq %rax, %rdi
xorl %esi, %esi
pushq $0xa
popq %rdx
callq 0x13336
movl %eax, -0x3c(%rbp)
movq %r13, %rdi
pushq $0x6
popq %rsi
callq 0x132da
movq %rax, %r14
movq %r13, %rdi
pushq $0x5
popq %rsi
callq 0x132da
movq %rax, -0x58(%rbp)
movq %r13, %rdi
pushq $0x7
popq %rsi
callq 0x132da
leaq -0x578(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
movq %rbx, %rsi
callq 0xacd8
movl %eax, -0x38(%rbp)
movl $0x1, -0x34(%rbp)
movq %r13, %rdi
pushq $0x8
popq %rsi
callq 0x132da
movq %rax, -0x50(%rbp)
movq %r13, %rdi
pushq $0x9
popq %rsi
callq 0x132da
movq %rax, -0x80(%rbp)
movq %r13, %rdi
pushq $0xa
popq %rsi
callq 0x132da
movq %rax, -0x88(%rbp)
movq %r14, -0xb8(%rbp)
movq %r13, %rdi
pushq $0xb
popq %rsi
callq 0x132da
leaq -0x558(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
movq %rbx, %rdi
leaq 0x15b5d(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x40(%rbp)
movq %r13, %rdi
pushq $0xc
popq %rsi
callq 0x132da
movq %rax, %r14
movq %r13, %rdi
pushq $0x11
popq %rsi
callq 0x132da
movq %rax, %r15
movq %r13, %rdi
pushq $0x12
popq %rsi
callq 0x132da
movq %rax, %r12
movq %r13, %rdi
pushq $0xd
popq %rsi
callq 0x132da
movq %rax, %rbx
movq %r13, %rdi
pushq $0xe
popq %rsi
callq 0x132da
leaq -0x238(%rbp), %rdi
movq %rax, %rsi
callq 0x4210
leaq -0x238(%rbp), %rdi
leaq 0x15af5(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x44(%rbp)
movb $0x1, -0x29(%rbp)
movl $0x1, -0x30(%rbp)
subq $0x8, %rsp
leaq -0x68(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
movq -0xb8(%rbp), %rdx
movq -0x58(%rbp), %rcx
leaq -0x38(%rbp), %r8
leaq -0x34(%rbp), %r9
leaq -0x30(%rbp), %rax
pushq %rax
leaq -0x29(%rbp), %rax
pushq %rax
leaq -0x44(%rbp), %rax
pushq %rax
pushq %rbx
pushq %r12
pushq %r15
pushq %r14
leaq -0x40(%rbp), %rax
pushq %rax
pushq -0x88(%rbp)
pushq -0x80(%rbp)
pushq -0x50(%rbp)
leaq -0xa0(%rbp), %rax
pushq %rax
leaq -0xb0(%rbp), %rax
pushq %rax
callq 0x135ec
addq $0x70, %rsp
movups -0x68(%rbp), %xmm0
movups %xmm0, -0x78(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, -0x68(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4c0e
leaq -0x238(%rbp), %rdi
callq 0x40e0
leaq -0x558(%rbp), %rdi
callq 0x40e0
leaq -0x578(%rbp), %rdi
callq 0x40e0
leaq -0x188(%rbp), %r14
movq %r14, %rdi
leaq -0x78(%rbp), %rsi
callq 0x14260
movq -0x90(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xad08
leaq -0x180(%rbp), %rdi
callq 0x4c0e
incl 0x18(%rbx)
leaq -0x70(%rbp), %rdi
callq 0x4c0e
movq %r13, %rdi
pushq $0x2
popq %rsi
callq 0x132da
movq %rax, %rdi
leaq 0x1621e(%rip), %rsi     # 0x1f96f
callq 0x132c9
testb %al, %al
je 0x999d
movq %r13, %rdi
pushq $0x3
popq %rsi
callq 0x132da
movq %rax, %rdi
xorl %esi, %esi
pushq $0xa
popq %rdx
callq 0x13336
movl %eax, -0x3c(%rbp)
movq %r13, %rdi
pushq $0x6
popq %rsi
callq 0x132da
movq %rax, -0x58(%rbp)
movq %r13, %rdi
pushq $0x5
popq %rsi
callq 0x132da
movq %rax, -0x50(%rbp)
movq %r13, %rdi
pushq $0x7
popq %rsi
callq 0x132da
leaq -0x538(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
movq %rbx, %rsi
callq 0xacd8
movl %eax, -0x38(%rbp)
andl $0x0, -0x34(%rbp)
movq %r13, %rdi
pushq $0x8
popq %rsi
callq 0x132da
movq %rax, -0x80(%rbp)
movq %r13, %rdi
pushq $0x9
popq %rsi
callq 0x132da
movq %rax, %r15
movq %r13, %rdi
pushq $0xa
popq %rsi
callq 0x132da
movq %rax, %rbx
movq %r13, %rdi
pushq $0xb
popq %rsi
callq 0x132da
leaq -0x518(%rbp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x4210
movq %r14, %rdi
leaq 0x15931(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x44(%rbp)
movq %r13, %rdi
pushq $0xc
popq %rsi
callq 0x132da
movq %rax, %r14
movq %r13, %rdi
pushq $0xf
popq %rsi
callq 0x132da
leaq -0x4f8(%rbp), %r12
movq %r12, %rdi
movq %rax, %rsi
callq 0x4210
movq %r12, %rdi
leaq 0x158f4(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x29(%rbp)
movq %r13, %rdi
pushq $0x10
popq %rsi
callq 0x132da
leaq -0x4d8(%rbp), %r12
movq %r12, %rdi
movq %rax, %rsi
callq 0x4210
movq %r12, %rsi
callq 0xad4a
movl %eax, -0x30(%rbp)
movq %r13, %rdi
pushq $0x11
popq %rsi
callq 0x132da
leaq -0x4b8(%rbp), %r12
movq %r12, %rdi
movq %rax, %rsi
callq 0x4210
movq %r12, %rsi
callq 0xad88
movl %eax, -0x40(%rbp)
movq %r13, %rdi
pushq $0xd
popq %rsi
callq 0x132da
leaq -0x68(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
movq -0x58(%rbp), %rdx
movq -0x50(%rbp), %rcx
leaq -0x38(%rbp), %r8
leaq -0x34(%rbp), %r9
leaq 0x1604f(%rip), %r10     # 0x1f923
pushq %r10
pushq %rax
leaq -0x40(%rbp), %rax
pushq %rax
leaq -0x30(%rbp), %rax
pushq %rax
leaq -0x29(%rbp), %rax
pushq %rax
pushq %r14
leaq -0x44(%rbp), %rax
pushq %rax
pushq %rbx
pushq %r15
pushq -0x80(%rbp)
leaq -0xa0(%rbp), %rax
pushq %rax
leaq -0xb0(%rbp), %rax
pushq %rax
callq 0x1365d
addq $0x60, %rsp
movups -0x68(%rbp), %xmm0
movups %xmm0, -0x78(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, -0x68(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4c0e
leaq -0x4b8(%rbp), %rdi
callq 0x40e0
leaq -0x4d8(%rbp), %rdi
callq 0x40e0
leaq -0x4f8(%rbp), %rdi
callq 0x40e0
leaq -0x518(%rbp), %rdi
callq 0x40e0
leaq -0x538(%rbp), %rdi
callq 0x40e0
leaq -0x178(%rbp), %r14
movq %r14, %rdi
leaq -0x78(%rbp), %rsi
callq 0x14260
movq -0x90(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xad08
leaq -0x170(%rbp), %rdi
callq 0x4c0e
incl 0x18(%rbx)
leaq -0x70(%rbp), %rdi
callq 0x4c0e
movq %r13, %rdi
pushq $0x2
popq %rsi
callq 0x132da
movq %rax, %rdi
leaq 0x15fd0(%rip), %rsi     # 0x1f982
callq 0x132c9
testb %al, %al
je 0x9c73
movq %r13, %rdi
pushq $0x3
popq %rsi
callq 0x132da
movq %rax, %rdi
xorl %esi, %esi
pushq $0xa
popq %rdx
callq 0x13336
movl %eax, -0x3c(%rbp)
movq %r13, %rdi
pushq $0x6
popq %rsi
callq 0x132da
movq %rax, %r12
movq %r13, %rdi
pushq $0x5
popq %rsi
callq 0x132da
movq %rax, %r14
movq %r13, %rdi
pushq $0x7
popq %rsi
callq 0x132da
leaq -0x498(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
movq %rbx, %rsi
callq 0xacd8
movl %eax, -0x38(%rbp)
andl $0x0, -0x34(%rbp)
movq %r13, %rdi
pushq $0x8
popq %rsi
callq 0x132da
movq %rax, %rbx
movq %r13, %rdi
pushq $0x9
popq %rsi
callq 0x132da
movq %rax, %r15
movq %r13, %rdi
pushq $0xa
popq %rsi
callq 0x132da
movq %rax, -0x58(%rbp)
movq %r15, -0x88(%rbp)
movq %rbx, -0x80(%rbp)
movq %r14, -0x50(%rbp)
movq %r13, %rdi
pushq $0xb
popq %rsi
callq 0x132da
leaq -0x478(%rbp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x4210
movq %r14, %rdi
leaq 0x156c3(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x29(%rbp)
movq %r13, %rdi
pushq $0xc
popq %rsi
callq 0x132da
movq %rax, %r15
movq %r13, %rdi
pushq $0x12
popq %rsi
callq 0x132da
leaq -0x458(%rbp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x4210
movq %r14, %rdi
leaq 0x15686(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x2a(%rbp)
movq %r13, %rdi
pushq $0x13
popq %rsi
callq 0x132da
leaq -0x438(%rbp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x4210
movq %r14, %rsi
callq 0xad4a
movl %eax, -0x30(%rbp)
movq %r13, %rdi
pushq $0x14
popq %rsi
callq 0x132da
leaq -0x418(%rbp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x4210
movq %r14, %rsi
callq 0xad88
movl %eax, -0x40(%rbp)
movq %r13, %rdi
pushq $0xd
popq %rsi
callq 0x132da
movq %rax, %r14
movq %r13, %rdi
pushq $0xe
popq %rsi
callq 0x132da
leaq -0x3f8(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
movq %rbx, %rdi
leaq 0x155f9(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x46(%rbp)
movb $0x0, -0x45(%rbp)
movl $0x1, -0x44(%rbp)
movq %r13, %rdi
pushq $0x11
popq %rsi
callq 0x132da
subq $0x8, %rsp
leaq -0x68(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
movq %r12, %rdx
movq -0x50(%rbp), %rcx
leaq -0x38(%rbp), %r8
leaq -0x34(%rbp), %r9
pushq %rax
leaq -0x44(%rbp), %rax
pushq %rax
leaq -0x45(%rbp), %rax
pushq %rax
leaq -0x46(%rbp), %rax
pushq %rax
pushq %r14
leaq -0x40(%rbp), %rax
pushq %rax
leaq -0x30(%rbp), %rax
pushq %rax
leaq -0x2a(%rbp), %rax
pushq %rax
pushq %r15
leaq -0x29(%rbp), %rax
pushq %rax
pushq -0x58(%rbp)
pushq -0x88(%rbp)
pushq -0x80(%rbp)
leaq -0xa0(%rbp), %rax
pushq %rax
leaq -0xb0(%rbp), %rax
pushq %rax
callq 0x136c5
addq $0x80, %rsp
movups -0x68(%rbp), %xmm0
movups %xmm0, -0x78(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, -0x68(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4c0e
leaq -0x3f8(%rbp), %rdi
callq 0x40e0
leaq -0x418(%rbp), %rdi
callq 0x40e0
leaq -0x438(%rbp), %rdi
callq 0x40e0
leaq -0x458(%rbp), %rdi
callq 0x40e0
leaq -0x478(%rbp), %rdi
callq 0x40e0
leaq -0x498(%rbp), %rdi
callq 0x40e0
leaq -0x168(%rbp), %r14
movq %r14, %rdi
leaq -0x78(%rbp), %rsi
callq 0x14260
movq -0x90(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xad08
leaq -0x160(%rbp), %rdi
callq 0x4c0e
incl 0x18(%rbx)
leaq -0x70(%rbp), %rdi
callq 0x4c0e
movq %r13, %rdi
pushq $0x2
popq %rsi
callq 0x132da
movq %rax, %rdi
leaq 0x15d0b(%rip), %rsi     # 0x1f993
callq 0x132c9
testb %al, %al
je 0x9f32
movq %r13, %rdi
pushq $0x3
popq %rsi
callq 0x132da
movq %rax, %rdi
xorl %esi, %esi
pushq $0xa
popq %rdx
callq 0x13336
movl %eax, -0x3c(%rbp)
movq %r13, %rdi
pushq $0x6
popq %rsi
callq 0x132da
movq %rax, %r12
movq %r13, %rdi
pushq $0x5
popq %rsi
callq 0x132da
movq %rax, %r14
movq %r13, %rdi
pushq $0x7
popq %rsi
callq 0x132da
leaq -0x3d8(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
movq %rbx, %rsi
callq 0xacd8
movl %eax, -0x38(%rbp)
andl $0x0, -0x34(%rbp)
movq %r13, %rdi
pushq $0x8
popq %rsi
callq 0x132da
movq %rax, %rbx
movq %r13, %rdi
pushq $0x9
popq %rsi
callq 0x132da
movq %rax, %r15
movq %r13, %rdi
pushq $0xa
popq %rsi
callq 0x132da
movq %rax, -0x58(%rbp)
movq %r15, -0x88(%rbp)
movq %rbx, -0x80(%rbp)
movq %r14, -0x50(%rbp)
movq %r13, %rdi
pushq $0xb
popq %rsi
callq 0x132da
leaq -0x3b8(%rbp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x4210
movq %r14, %rdi
leaq 0x153ed(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x29(%rbp)
movq %r13, %rdi
pushq $0xc
popq %rsi
callq 0x132da
movq %rax, %r15
movq %r13, %rdi
pushq $0x11
popq %rsi
callq 0x132da
leaq -0x398(%rbp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x4210
movq %r14, %rdi
leaq 0x153b0(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x2a(%rbp)
movq %r13, %rdi
pushq $0x12
popq %rsi
callq 0x132da
leaq -0x378(%rbp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x4210
movq %r14, %rsi
callq 0xad4a
movl %eax, -0x30(%rbp)
movq %r13, %rdi
pushq $0x13
popq %rsi
callq 0x132da
leaq -0x358(%rbp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x4210
movq %r14, %rsi
callq 0xad88
movl %eax, -0x40(%rbp)
movq %r13, %rdi
pushq $0xd
popq %rsi
callq 0x132da
movq %rax, %r14
movq %r13, %rdi
pushq $0xe
popq %rsi
callq 0x132da
leaq -0x798(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
movq %rbx, %rdi
leaq 0x15323(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x46(%rbp)
movb $0x1, -0x45(%rbp)
movl $0x1, -0x44(%rbp)
leaq -0x68(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
movq %r12, %rdx
movq -0x50(%rbp), %rcx
leaq -0x38(%rbp), %r8
leaq -0x34(%rbp), %r9
leaq -0x44(%rbp), %rax
pushq %rax
leaq -0x45(%rbp), %rax
pushq %rax
leaq -0x46(%rbp), %rax
pushq %rax
pushq %r14
leaq -0x40(%rbp), %rax
pushq %rax
leaq -0x30(%rbp), %rax
pushq %rax
leaq -0x2a(%rbp), %rax
pushq %rax
pushq %r15
leaq -0x29(%rbp), %rax
pushq %rax
pushq -0x58(%rbp)
pushq -0x88(%rbp)
pushq -0x80(%rbp)
leaq -0xa0(%rbp), %rax
pushq %rax
leaq -0xb0(%rbp), %rax
pushq %rax
callq 0x13748
addq $0x70, %rsp
movups -0x68(%rbp), %xmm0
movups %xmm0, -0x78(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, -0x68(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4c0e
movq %rbx, %rdi
callq 0x40e0
leaq -0x358(%rbp), %rdi
callq 0x40e0
leaq -0x378(%rbp), %rdi
callq 0x40e0
leaq -0x398(%rbp), %rdi
callq 0x40e0
leaq -0x3b8(%rbp), %rdi
callq 0x40e0
leaq -0x3d8(%rbp), %rdi
callq 0x40e0
leaq -0x158(%rbp), %r14
movq %r14, %rdi
leaq -0x78(%rbp), %rsi
callq 0x14260
movq -0x90(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xad08
leaq -0x150(%rbp), %rdi
callq 0x4c0e
incl 0x18(%rbx)
leaq -0x70(%rbp), %rdi
callq 0x4c0e
movq %r13, %rdi
pushq $0x2
popq %rsi
callq 0x132da
movq %rax, %rdi
leaq 0x15a5c(%rip), %rsi     # 0x1f9a3
callq 0x132c9
testb %al, %al
je 0xa0e9
movq %r13, %rdi
pushq $0x3
popq %rsi
callq 0x132da
movq %rax, %rdi
xorl %esi, %esi
pushq $0xa
popq %rdx
callq 0x13336
movl %eax, -0x3c(%rbp)
movq %r13, %rdi
pushq $0x6
popq %rsi
callq 0x132da
movq %rax, %rbx
movq %r13, %rdi
pushq $0x5
popq %rsi
callq 0x132da
movq %rax, -0x50(%rbp)
movq %rbx, -0x58(%rbp)
movq %r13, %rdi
pushq $0x7
popq %rsi
callq 0x132da
leaq -0x338(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
movq %rbx, %rsi
callq 0xacd8
movl %eax, -0x38(%rbp)
movl $0x3, -0x34(%rbp)
movq %r13, %rdi
pushq $0x8
popq %rsi
callq 0x132da
movq %rax, %r15
movq %r13, %rdi
pushq $0x9
popq %rsi
callq 0x132da
movq %rax, %r12
movq %r13, %rdi
pushq $0xa
popq %rsi
callq 0x132da
movq %rax, %rbx
movq %r13, %rdi
pushq $0xb
popq %rsi
callq 0x132da
leaq -0x318(%rbp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x4210
movq %r14, %rdi
leaq 0x15136(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x30(%rbp)
movq %r13, %rdi
pushq $0xc
popq %rsi
callq 0x132da
movq %rax, %r14
movq %r13, %rdi
pushq $0xd
popq %rsi
callq 0x132da
subq $0x8, %rsp
leaq -0x68(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
movq -0x58(%rbp), %rdx
movq -0x50(%rbp), %rcx
leaq -0x38(%rbp), %r8
leaq -0x34(%rbp), %r9
leaq 0x158cf(%rip), %r10     # 0x1f923
pushq %r10
pushq %rax
pushq %r14
leaq -0x30(%rbp), %rax
pushq %rax
pushq %rbx
pushq %r12
pushq %r15
leaq -0xa0(%rbp), %rax
pushq %rax
leaq -0xb0(%rbp), %rax
pushq %rax
callq 0x137bf
addq $0x50, %rsp
movups -0x68(%rbp), %xmm0
movups %xmm0, -0x78(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, -0x68(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4c0e
leaq -0x318(%rbp), %rdi
callq 0x40e0
leaq -0x338(%rbp), %rdi
callq 0x40e0
leaq -0x148(%rbp), %r14
movq %r14, %rdi
leaq -0x78(%rbp), %rsi
callq 0x14260
movq -0x90(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xad08
leaq -0x140(%rbp), %rdi
callq 0x4c0e
incl 0x18(%rbx)
leaq -0x70(%rbp), %rdi
callq 0x4c0e
movq %r13, %rdi
pushq $0x2
popq %rsi
callq 0x132da
movq %rax, %rdi
leaq 0x158b6(%rip), %rsi     # 0x1f9b4
callq 0x132c9
testb %al, %al
je 0xa2ff
movq %r13, %rdi
pushq $0x3
popq %rsi
callq 0x132da
movq %rax, %rdi
xorl %esi, %esi
pushq $0xa
popq %rdx
callq 0x13336
movl %eax, -0x3c(%rbp)
movq %r13, %rdi
pushq $0x6
popq %rsi
callq 0x132da
movq %rax, -0x58(%rbp)
movq %r13, %rdi
pushq $0x5
popq %rsi
callq 0x132da
movq %rax, -0x50(%rbp)
movq %r13, %rdi
pushq $0x7
popq %rsi
callq 0x132da
leaq -0x2f8(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
movq %rbx, %rsi
callq 0xacd8
movl %eax, -0x38(%rbp)
movl $0x3, -0x34(%rbp)
movq %r13, %rdi
pushq $0x8
popq %rsi
callq 0x132da
movq %rax, -0x80(%rbp)
movq %r13, %rdi
pushq $0x9
popq %rsi
callq 0x132da
movq %rax, -0x88(%rbp)
movq %r13, %rdi
pushq $0xa
popq %rsi
callq 0x132da
movq %rax, %rbx
movq %r13, %rdi
pushq $0xb
popq %rsi
callq 0x132da
leaq -0x2d8(%rbp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x4210
movq %r14, %rdi
leaq 0x14f7d(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x40(%rbp)
movq %r13, %rdi
pushq $0xc
popq %rsi
callq 0x132da
movq %rax, %r14
movq %r13, %rdi
pushq $0xd
popq %rsi
callq 0x132da
movq %rax, %r15
movq %r13, %rdi
pushq $0xe
popq %rsi
callq 0x132da
leaq -0x2b8(%rbp), %r12
movq %r12, %rdi
movq %rax, %rsi
callq 0x4210
movq %r12, %rdi
leaq 0x14f32(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x44(%rbp)
movb $0x0, -0x29(%rbp)
movl $0x1, -0x30(%rbp)
movq %r13, %rdi
pushq $0x11
popq %rsi
callq 0x132da
leaq -0x68(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
movq -0x58(%rbp), %rdx
movq -0x50(%rbp), %rcx
leaq -0x38(%rbp), %r8
leaq -0x34(%rbp), %r9
pushq %rax
leaq -0x30(%rbp), %rax
pushq %rax
leaq -0x29(%rbp), %rax
pushq %rax
leaq -0x44(%rbp), %rax
pushq %rax
pushq %r15
pushq %r14
leaq -0x40(%rbp), %rax
pushq %rax
pushq %rbx
pushq -0x88(%rbp)
pushq -0x80(%rbp)
leaq -0xa0(%rbp), %rax
pushq %rax
leaq -0xb0(%rbp), %rax
pushq %rax
callq 0x1381e
addq $0x60, %rsp
movups -0x68(%rbp), %xmm0
movups %xmm0, -0x78(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, -0x68(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4c0e
leaq -0x2b8(%rbp), %rdi
callq 0x40e0
leaq -0x2d8(%rbp), %rdi
callq 0x40e0
leaq -0x2f8(%rbp), %rdi
callq 0x40e0
leaq -0x138(%rbp), %r14
movq %r14, %rdi
leaq -0x78(%rbp), %rsi
callq 0x14260
movq -0x90(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xad08
leaq -0x130(%rbp), %rdi
callq 0x4c0e
incl 0x18(%rbx)
leaq -0x70(%rbp), %rdi
callq 0x4c0e
movq %r13, %rdi
pushq $0x2
popq %rsi
callq 0x132da
movq %rax, %rdi
leaq 0x156af(%rip), %rsi     # 0x1f9c3
callq 0x132c9
testb %al, %al
je 0xa509
movq %r13, %rdi
pushq $0x3
popq %rsi
callq 0x132da
movq %rax, %rdi
xorl %esi, %esi
pushq $0xa
popq %rdx
callq 0x13336
movl %eax, -0x3c(%rbp)
movq %r13, %rdi
pushq $0x6
popq %rsi
callq 0x132da
movq %rax, -0x58(%rbp)
movq %r13, %rdi
pushq $0x5
popq %rsi
callq 0x132da
movq %rax, -0x50(%rbp)
movq %r13, %rdi
pushq $0x7
popq %rsi
callq 0x132da
leaq -0x298(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x4210
movq %rbx, %rsi
callq 0xacd8
movl %eax, -0x38(%rbp)
movl $0x3, -0x34(%rbp)
movq %r13, %rdi
pushq $0x8
popq %rsi
callq 0x132da
movq %rax, -0x80(%rbp)
movq %r13, %rdi
pushq $0x9
popq %rsi
callq 0x132da
movq %rax, -0x88(%rbp)
movq %r13, %rdi
pushq $0xa
popq %rsi
callq 0x132da
movq %rax, %rbx
movq %r13, %rdi
pushq $0xb
popq %rsi
callq 0x132da
leaq -0x278(%rbp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x4210
movq %r14, %rdi
leaq 0x14d67(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x40(%rbp)
movq %r13, %rdi
pushq $0xc
popq %rsi
callq 0x132da
movq %rax, %r14
movq %r13, %rdi
pushq $0xd
popq %rsi
callq 0x132da
movq %rax, %r15
movq %r13, %rdi
pushq $0xe
popq %rsi
callq 0x132da
leaq -0x778(%rbp), %r12
movq %r12, %rdi
movq %rax, %rsi
callq 0x4210
movq %r12, %rdi
leaq 0x14d1c(%rip), %rsi     # 0x1f146
callq 0x132c9
movb %al, -0x44(%rbp)
movb $0x1, -0x29(%rbp)
movl $0x1, -0x30(%rbp)
subq $0x8, %rsp
leaq -0x68(%rbp), %rdi
leaq -0x3c(%rbp), %rsi
movq -0x58(%rbp), %rdx
movq -0x50(%rbp), %rcx
leaq -0x38(%rbp), %r8
leaq -0x34(%rbp), %r9
leaq -0x30(%rbp), %rax
pushq %rax
leaq -0x29(%rbp), %rax
pushq %rax
leaq -0x44(%rbp), %rax
pushq %rax
pushq %r15
pushq %r14
leaq -0x40(%rbp), %rax
pushq %rax
pushq %rbx
pushq -0x88(%rbp)
pushq -0x80(%rbp)
leaq -0xa0(%rbp), %rax
pushq %rax
leaq -0xb0(%rbp), %rax
pushq %rax
callq 0x13886
addq $0x60, %rsp
movups -0x68(%rbp), %xmm0
movups %xmm0, -0x78(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, -0x68(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4c0e
movq %r12, %rdi
callq 0x40e0
leaq -0x278(%rbp), %rdi
callq 0x40e0
leaq -0x298(%rbp), %rdi
callq 0x40e0
leaq -0x128(%rbp), %r14
movq %r14, %rdi
leaq -0x78(%rbp), %rsi
callq 0x14260
movq -0x90(%rbp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xad08
leaq -0x120(%rbp), %rdi
callq 0x4c0e
incl 0x18(%rbx)
leaq -0x70(%rbp), %rdi
callq 0x4c0e
leaq -0x98(%rbp), %rdi
callq 0x4c0e
leaq -0xa8(%rbp), %rdi
callq 0x4c0e
movq %r13, %rdi
callq 0x13392
leaq -0x980(%rbp), %rdi
callq 0x4150
jmp 0x88ee
leaq -0xb88(%rbp), %rdi
callq 0x4060
leaq -0xd8(%rbp), %rdi
callq 0x40e0
leaq -0xf8(%rbp), %rdi
callq 0x40e0
leaq -0xb88(%rbp), %rdi
callq 0x4070
leaq -0x258(%rbp), %rdi
callq 0x40e0
leaq -0x218(%rbp), %rdi
callq 0x40e0
leaq -0xd90(%rbp), %rdi
callq 0x4070
addq $0xd68, %rsp            # imm = 0xD68
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xa990
jmp 0xa998
jmp 0xa998
movq %rax, %r14
jmp 0xab4e
movq %rax, %r14
leaq -0x160(%rbp), %rdi
jmp 0xa6c2
jmp 0xa80e
movq %rax, %r14
leaq -0x798(%rbp), %rdi
callq 0x40e0
jmp 0xa811
movq %rax, %r14
leaq -0x130(%rbp), %rdi
jmp 0xa6c2
movq %rax, %r14
leaq -0x778(%rbp), %rdi
callq 0x40e0
jmp 0xa735
jmp 0xa7b1
movq %rax, %r14
leaq -0x120(%rbp), %rdi
jmp 0xa6c2
movq %rax, %r14
leaq -0x150(%rbp), %rdi
jmp 0xa6c2
movq %rax, %r14
leaq -0x140(%rbp), %rdi
jmp 0xa6c2
jmp 0xa76e
movq %rax, %r14
leaq -0x180(%rbp), %rdi
jmp 0xa6c2
movq %rax, %r14
leaq -0x238(%rbp), %rdi
callq 0x40e0
jmp 0xaa66
movq %rax, %r14
leaq -0x170(%rbp), %rdi
jmp 0xa6c2
jmp 0xa7c0
movq %rax, %r14
leaq -0x1a0(%rbp), %rdi
jmp 0xa6c2
jmp 0xa857
movq %rax, %r14
leaq -0x1b0(%rbp), %rdi
jmp 0xa6c2
movq %rax, %r14
leaq -0x7b8(%rbp), %rdi
callq 0x40e0
jmp 0xa8fd
movq %rax, %r14
leaq -0x1c0(%rbp), %rdi
jmp 0xa6c2
jmp 0xa8fa
movq %rax, %r14
leaq -0x190(%rbp), %rdi
jmp 0xa6c2
movq %rax, %r14
leaq -0x1d0(%rbp), %rdi
callq 0x4c0e
leaq -0x70(%rbp), %rdi
callq 0x4c0e
jmp 0xaab4
jmp 0xa8c4
movq %rax, %r14
leaq -0x1e0(%rbp), %rdi
jmp 0xa6f0
movq %rax, %r14
leaq -0x1f0(%rbp), %rdi
callq 0x4c0e
leaq -0xf0(%rbp), %rdi
callq 0x4c0e
jmp 0xab12
jmp 0xab0f
jmp 0xab0f
jmp 0xa9a0
jmp 0xa9af
jmp 0xa9be
movq %rax, %r14
leaq -0x2b8(%rbp), %rdi
callq 0x40e0
jmp 0xa74b
jmp 0xa732
movq %rax, %r14
leaq -0x278(%rbp), %rdi
callq 0x40e0
jmp 0xa9b2
jmp 0xa748
movq %rax, %r14
leaq -0x2d8(%rbp), %rdi
callq 0x40e0
jmp 0xa9a3
jmp 0xaab1
jmp 0xaab1
movq %rax, %r14
jmp 0xa829
movq %rax, %r14
jmp 0xa7ec
movq %rax, %r14
jmp 0xa81d
movq %rax, %r14
leaq -0x4b8(%rbp), %rdi
callq 0x40e0
jmp 0xa800
jmp 0xa9ed
jmp 0xaab1
jmp 0xaab1
movq %rax, %r14
leaq -0x3f8(%rbp), %rdi
callq 0x40e0
jmp 0xa7c3
movq %rax, %r14
jmp 0xa7cf
movq %rax, %r14
jmp 0xa835
jmp 0xa9c3
jmp 0xaab1
movq %rax, %r14
leaq -0x418(%rbp), %rdi
callq 0x40e0
leaq -0x438(%rbp), %rdi
callq 0x40e0
jmp 0xa7e0
movq %rax, %r14
leaq -0x458(%rbp), %rdi
callq 0x40e0
leaq -0x478(%rbp), %rdi
callq 0x40e0
jmp 0xa9f0
movq %rax, %r14
leaq -0x4d8(%rbp), %rdi
callq 0x40e0
jmp 0xa849
movq %rax, %r14
leaq -0x358(%rbp), %rdi
callq 0x40e0
leaq -0x378(%rbp), %rdi
callq 0x40e0
leaq -0x398(%rbp), %rdi
callq 0x40e0
leaq -0x3b8(%rbp), %rdi
callq 0x40e0
jmp 0xa9c6
movq %rax, %r14
leaq -0x4f8(%rbp), %rdi
callq 0x40e0
jmp 0xa85a
movq %rax, %r14
leaq -0x518(%rbp), %rdi
callq 0x40e0
jmp 0xaa04
jmp 0xaa63
jmp 0xa9fc
movq %rax, %r14
leaq -0x598(%rbp), %rdi
callq 0x40e0
jmp 0xaa4e
jmp 0xaa01
jmp 0xaab1
jmp 0xaa4b
jmp 0xaab1
jmp 0xaab1
jmp 0xaa24
movq %rax, %r14
leaq -0x698(%rbp), %rdi
callq 0x40e0
jmp 0xa8c7
jmp 0xaab1
jmp 0xa8da
jmp 0xaa10
movq %rax, %r14
leaq -0x6b8(%rbp), %rdi
callq 0x40e0
jmp 0xa8dd
jmp 0xaab1
movq %rax, %r14
leaq -0x6d8(%rbp), %rdi
callq 0x40e0
jmp 0xaa2c
jmp 0xaa29
jmp 0xa8f5
movq %rax, %r14
jmp 0xa93a
movq %rax, %r14
leaq -0x638(%rbp), %rdi
callq 0x40e0
jmp 0xa91a
jmp 0xaa1f
jmp 0xaab1
jmp 0xa917
movq %rax, %r14
leaq -0x658(%rbp), %rdi
callq 0x40e0
jmp 0xaa13
movq %rax, %r14
leaq -0x718(%rbp), %rdi
callq 0x40e0
leaq -0x738(%rbp), %rdi
callq 0x40e0
jmp 0xaa38
movq %rax, %r14
leaq -0x7d8(%rbp), %rdi
callq 0x40e0
jmp 0xaac0
jmp 0xaab1
jmp 0xaa35
movq %rax, %r14
leaq -0x7f8(%rbp), %rdi
callq 0x40e0
jmp 0xaad1
jmp 0xa990
jmp 0xab0f
jmp 0xab0f
jmp 0xab0f
jmp 0xa998
movq %rax, %r14
jmp 0xaae9
movq %rax, %r14
jmp 0xab2a
movq %rax, %r14
leaq -0x2f8(%rbp), %rdi
jmp 0xaaaa
movq %rax, %r14
leaq -0x298(%rbp), %rdi
jmp 0xaaaa
movq %rax, %r14
jmp 0xa9e1
movq %rax, %r14
leaq -0x3d8(%rbp), %rdi
jmp 0xaaaa
movq %rax, %r14
leaq -0x318(%rbp), %rdi
callq 0x40e0
leaq -0x338(%rbp), %rdi
jmp 0xaaaa
movq %rax, %r14
leaq -0x498(%rbp), %rdi
jmp 0xaaaa
movq %rax, %r14
jmp 0xaa72
movq %rax, %r14
leaq -0x538(%rbp), %rdi
jmp 0xaaaa
movq %rax, %r14
leaq -0x678(%rbp), %rdi
jmp 0xaaaa
movq %rax, %r14
jmp 0xaaa3
movq %rax, %r14
jmp 0xaa5a
movq %rax, %r14
leaq -0x6f8(%rbp), %rdi
jmp 0xaaaa
movq %rax, %r14
leaq -0x758(%rbp), %rdi
jmp 0xaaaa
jmp 0xaab1
jmp 0xaab1
jmp 0xaab1
jmp 0xaab1
jmp 0xaab1
movq %rax, %r14
leaq -0x5b8(%rbp), %rdi
callq 0x40e0
leaq -0x5d8(%rbp), %rdi
jmp 0xaaaa
movq %rax, %r14
leaq -0x558(%rbp), %rdi
callq 0x40e0
leaq -0x578(%rbp), %rdi
jmp 0xaaaa
jmp 0xaab1
jmp 0xaab1
jmp 0xaab1
jmp 0xaab1
jmp 0xaab1
jmp 0xaab1
jmp 0xaab1
jmp 0xaace
movq %rax, %r14
jmp 0xaac0
jmp 0xab0f
jmp 0xab0f
movq %rax, %r14
leaq -0x5f8(%rbp), %rdi
callq 0x40e0
leaq -0x618(%rbp), %rdi
callq 0x40e0
jmp 0xaab4
movq %rax, %r14
leaq -0x98(%rbp), %rdi
callq 0x4c0e
leaq -0xa8(%rbp), %rdi
callq 0x4c0e
jmp 0xaad1
movq %rax, %r14
leaq -0x110(%rbp), %rdi
callq 0x13392
leaq -0x980(%rbp), %rdi
callq 0x4150
leaq -0xd8(%rbp), %rdi
callq 0x40e0
leaq -0xf8(%rbp), %rdi
callq 0x40e0
leaq -0xb88(%rbp), %rdi
callq 0x4070
jmp 0xab2a
movq %rax, %r14
leaq -0x980(%rbp), %rdi
callq 0x13392
leaq -0xb88(%rbp), %rdi
callq 0x4150
leaq -0x258(%rbp), %rdi
callq 0x40e0
leaq -0x218(%rbp), %rdi
callq 0x40e0
leaq -0xd90(%rbp), %rdi
callq 0x4070
movq -0x90(%rbp), %rbx
leaq 0x20(%rbx), %rdi
callq 0x138ee
movq %rbx, %rdi
callq 0x1391a
movq %r14, %rdi
callq 0x42c0