// File: nataly-enne[P]pet-fera/pet_fera_auxiliar.cpp
// Function: exportacao_classe_vet_trat(std::map<int, ANFIBIO_NATIVO, std::less<int>, std::allocator<std::pair<int const, ANFIBIO_NATIVO>>>, std::map<int, ANFIBIO_EXOTICO, std::less<int>, std::allocator<std::pair<int const, ANFIBIO_EXOTICO>>>, 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, REPTIL_NATIVO, std::less<int>, std::allocator<std::pair<int const, REPTIL_NATIVO>>>, std::map<int, REPTIL_EXOTICO, std::less<int>, std::allocator<std::pair<int const, REPTIL_EXOTICO>>>, std::map<int, AVE_NATIVO, std::less<int>, std::allocator<std::pair<int const, AVE_NATIVO>>>, std::map<int, AVE_EXOTICO, std::less<int>, std::allocator<std::pair<int const, AVE_EXOTICO>>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void exportacao_classe_vet_trat(map <int, ANFIBIO_NATIVO> anfibios_nat, map <int, ANFIBIO_EXOTICO> anfibios_ex, map <int, MAMIFERO_NATIVO> mamiferos_nat, map <int, MAMIFERO_EXOTICO> mamiferos_ex, map <int, REPTIL_NATIVO> repteis_nat, map <int, REPTIL_EXOTICO> repteis_ex, map <int, AVE_NATIVO> aves_nat, map <int, AVE_EXOTICO> aves_ex, string classe, string veterinario, string tratador, string saida){

	transform(classe.begin(), classe.end(), classe.begin(), ::tolower);
	transform(saida.begin(), saida.end(), saida.begin(), ::tolower);
	transform(veterinario.begin(), veterinario.end(), veterinario.begin(), ::toupper);
	transform(tratador.begin(), tratador.end(), tratador.begin(), ::toupper);

	if(classe == "anfibio" || classe == "amphibia"){
		ofstream anfibios;
		anfibios.open(saida);
		for(auto it = anfibios_nat.begin(); it != anfibios_nat.end(); it++){
			if(it->second.getVeterinario() == veterinario && it->second.getTratador() == tratador){
				anfibios << (*it).second;
			}
		}
		for(auto it = anfibios_ex.begin(); it != anfibios_ex.end(); it++){
			if(it->second.getVeterinario() == veterinario && it->second.getTratador() == tratador){
				anfibios << (*it).second;
			}
		}
		anfibios.close();
	}
	else if(classe == "mamifero" || classe == "mamallia"){
		ofstream mamiferos;
		mamiferos.open(saida);
		for(auto it = mamiferos_nat.begin(); it != mamiferos_nat.end(); it++){
			if(it->second.getVeterinario() == veterinario && it->second.getTratador() == tratador){
				mamiferos << (*it).second;
			}
		}
		for(auto it = mamiferos_ex.begin(); it != mamiferos_ex.end(); it++){
			if(it->second.getVeterinario() == veterinario && it->second.getTratador() == tratador){
				mamiferos << (*it).second;
			}
		}
		mamiferos.close();
	}
	else if(classe == "reptil" || classe == "reptilia"){
		ofstream repteis;
		repteis.open(saida);
		for(auto it = repteis_nat.begin(); it != repteis_nat.end(); it++){
			if(it->second.getVeterinario() == veterinario && it->second.getTratador() == tratador){
				repteis << (*it).second;
			}
		}
		for(auto it = repteis_ex.begin(); it != repteis_ex.end(); it++){
			if(it->second.getVeterinario() == veterinario && it->second.getTratador() == tratador){
				repteis << (*it).second;
			}
		}
		repteis.close();
	}
	else if(classe == "ave" || classe == "aves"){
		ofstream aves;
		aves.open(saida);
		for(auto it = aves_nat.begin(); it != aves_nat.end(); it++){
			if(it->second.getVeterinario() == veterinario && it->second.getTratador() == tratador){
				aves << (*it).second;
			}
		}
		for(auto it = aves_ex.begin(); it != aves_ex.end(); it++){
			if(it->second.getVeterinario() == veterinario && it->second.getTratador() == tratador){
				aves << (*it).second;
			}
		}
		aves.close();
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc60, %rsp            # imm = 0xC60
movq %r9, -0xc20(%rbp)
movq %r8, -0xc18(%rbp)
movq %rcx, -0xc10(%rbp)
movq %rdx, -0xc08(%rbp)
movq %rsi, -0xc00(%rbp)
movq %rdi, %rax
movq %rax, -0xbf8(%rbp)
movq 0x38(%rbp), %rdi
movq %rdi, -0xbe0(%rbp)
movq 0x30(%rbp), %rdi
movq %rdi, -0xbd0(%rbp)
movq 0x28(%rbp), %rdi
movq %rdi, -0xbd8(%rbp)
movq 0x20(%rbp), %rdi
movq %rdi, -0xbc8(%rbp)
movq 0x18(%rbp), %r10
movq %r10, -0xbf0(%rbp)
movq 0x10(%rbp), %r10
movq %r10, -0xbe8(%rbp)
movq %rax, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
callq 0xe200
movq -0xbc8(%rbp), %rdi
movq %rax, -0x38(%rbp)
callq 0xe110
movq -0xbc8(%rbp), %rdi
movq %rax, -0x40(%rbp)
callq 0xe200
movq %rax, -0x48(%rbp)
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq 0x16bba(%rip), %rcx     # 0x29fb8
callq 0x18600
movq -0xbe0(%rbp), %rdi
movq %rax, -0x50(%rbp)
callq 0xe200
movq -0xbe0(%rbp), %rdi
movq %rax, -0x58(%rbp)
callq 0xe110
movq -0xbe0(%rbp), %rdi
movq %rax, -0x60(%rbp)
callq 0xe200
movq %rax, -0x68(%rbp)
movq -0x58(%rbp), %rdi
movq -0x60(%rbp), %rsi
movq -0x68(%rbp), %rdx
movq 0x16b6e(%rip), %rcx     # 0x29fb8
callq 0x18600
movq -0xbd8(%rbp), %rdi
movq %rax, -0x70(%rbp)
callq 0xe200
movq -0xbd8(%rbp), %rdi
movq %rax, -0x78(%rbp)
callq 0xe110
movq -0xbd8(%rbp), %rdi
movq %rax, -0x80(%rbp)
callq 0xe200
movq %rax, -0x88(%rbp)
movq -0x78(%rbp), %rdi
movq -0x80(%rbp), %rsi
movq -0x88(%rbp), %rdx
movq 0x16b3c(%rip), %rcx     # 0x29fd8
callq 0x18600
movq -0xbd0(%rbp), %rdi
movq %rax, -0x90(%rbp)
callq 0xe200
movq -0xbd0(%rbp), %rdi
movq %rax, -0x98(%rbp)
callq 0xe110
movq -0xbd0(%rbp), %rdi
movq %rax, -0xa0(%rbp)
callq 0xe200
movq %rax, -0xa8(%rbp)
movq -0x98(%rbp), %rdi
movq -0xa0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
movq 0x16adb(%rip), %rcx     # 0x29fd8
callq 0x18600
movq -0xbc8(%rbp), %rdi
movq %rax, -0xb0(%rbp)
leaq 0xdb0e(%rip), %rsi      # 0x21025
callq 0x18e00
testb $0x1, %al
jne 0x1353c
movq -0xbc8(%rbp), %rdi
leaq 0xdaff(%rip), %rsi      # 0x2102d
callq 0x18e00
testb $0x1, %al
jne 0x1353c
jmp 0x13885
leaq -0x2b0(%rbp), %rdi
movq %rdi, -0xc28(%rbp)
callq 0xe350
movq -0xc28(%rbp), %rdi
movq -0xbe0(%rbp), %rsi
movl $0x10, %edx
callq 0xe0e0
jmp 0x13569
movq -0xbf8(%rbp), %rdi
callq 0x18680
movq %rax, -0x2c8(%rbp)
movq -0xbf8(%rbp), %rdi
callq 0x186e0
movq %rax, -0x2d0(%rbp)
leaq -0x2c8(%rbp), %rdi
leaq -0x2d0(%rbp), %rsi
callq 0x186b0
testb $0x1, %al
jne 0x135ab
jmp 0x136ec
leaq -0x2c8(%rbp), %rdi
callq 0x18ec0
movq %rax, %rsi
addq $0x8, %rsi
movb $0x0, -0x311(%rbp)
leaq -0x2f0(%rbp), %rdi
callq 0xe160
jmp 0x135d3
movq -0xbd8(%rbp), %rsi
leaq -0x2f0(%rbp), %rdi
callq 0x18e30
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xc29(%rbp)
jne 0x135f7
jmp 0x13638
leaq -0x2c8(%rbp), %rdi
callq 0x18ec0
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x310(%rbp), %rdi
callq 0xe2b0
jmp 0x13618
movq -0xbd0(%rbp), %rsi
movb $0x1, -0x311(%rbp)
leaq -0x310(%rbp), %rdi
callq 0x18e30
movb %al, -0xc29(%rbp)
movb -0xc29(%rbp), %al
movb %al, -0xc2a(%rbp)
testb $0x1, -0x311(%rbp)
jne 0x1364f
jmp 0x1365b
leaq -0x310(%rbp), %rdi
callq 0xe150
leaq -0x2f0(%rbp), %rdi
callq 0xe150
movb -0xc2a(%rbp), %al
testb $0x1, %al
jne 0x13673
jmp 0x136d0
leaq -0x2c8(%rbp), %rdi
callq 0x18710
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x2b0(%rbp), %rdi
callq 0xe1e0
jmp 0x13694
jmp 0x136d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0x13874
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x2f0(%rbp), %rdi
callq 0xe150
jmp 0x13874
jmp 0x136d2
leaq -0x2c8(%rbp), %rdi
xorl %esi, %esi
callq 0x18730
movq %rax, -0x320(%rbp)
jmp 0x1357c
movq -0xc00(%rbp), %rdi
callq 0x18770
movq %rax, -0x328(%rbp)
movq -0xc00(%rbp), %rdi
callq 0x187d0
movq %rax, -0x330(%rbp)
leaq -0x328(%rbp), %rdi
leaq -0x330(%rbp), %rsi
callq 0x187a0
testb $0x1, %al
jne 0x1372e
jmp 0x13855
leaq -0x328(%rbp), %rdi
callq 0x18ee0
movq %rax, %rsi
addq $0x8, %rsi
movb $0x0, -0x371(%rbp)
leaq -0x350(%rbp), %rdi
callq 0xe160
jmp 0x13756
movq -0xbd8(%rbp), %rsi
leaq -0x350(%rbp), %rdi
callq 0x18e30
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xc2b(%rbp)
jne 0x1377a
jmp 0x137bb
leaq -0x328(%rbp), %rdi
callq 0x18ee0
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x370(%rbp), %rdi
callq 0xe2b0
jmp 0x1379b
movq -0xbd0(%rbp), %rsi
movb $0x1, -0x371(%rbp)
leaq -0x370(%rbp), %rdi
callq 0x18e30
movb %al, -0xc2b(%rbp)
movb -0xc2b(%rbp), %al
movb %al, -0xc2c(%rbp)
testb $0x1, -0x371(%rbp)
jne 0x137d2
jmp 0x137de
leaq -0x370(%rbp), %rdi
callq 0xe150
leaq -0x350(%rbp), %rdi
callq 0xe150
movb -0xc2c(%rbp), %al
testb $0x1, %al
jne 0x137f6
jmp 0x13839
leaq -0x328(%rbp), %rdi
callq 0x18800
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x2b0(%rbp), %rdi
callq 0xe360
jmp 0x13817
jmp 0x13839
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x350(%rbp), %rdi
callq 0xe150
jmp 0x13874
jmp 0x1383b
leaq -0x328(%rbp), %rdi
xorl %esi, %esi
callq 0x18820
movq %rax, -0x380(%rbp)
jmp 0x136ff
leaq -0x2b0(%rbp), %rdi
callq 0xe300
jmp 0x13863
leaq -0x2b0(%rbp), %rdi
callq 0xe320
jmp 0x142f9
leaq -0x2b0(%rbp), %rdi
callq 0xe320
jmp 0x14302
movq -0xbc8(%rbp), %rdi
leaq 0xd7a3(%rip), %rsi      # 0x21036
callq 0x18e00
testb $0x1, %al
jne 0x138b8
movq -0xbc8(%rbp), %rdi
leaq 0xd795(%rip), %rsi      # 0x2103f
callq 0x18e00
testb $0x1, %al
jne 0x138b8
jmp 0x13c01
leaq -0x580(%rbp), %rdi
movq %rdi, -0xc38(%rbp)
callq 0xe350
movq -0xc38(%rbp), %rdi
movq -0xbe0(%rbp), %rsi
movl $0x10, %edx
callq 0xe0e0
jmp 0x138e5
movq -0xc08(%rbp), %rdi
callq 0x18860
movq %rax, -0x588(%rbp)
movq -0xc08(%rbp), %rdi
callq 0x188c0
movq %rax, -0x590(%rbp)
leaq -0x588(%rbp), %rdi
leaq -0x590(%rbp), %rsi
callq 0x18890
testb $0x1, %al
jne 0x13927
jmp 0x13a68
leaq -0x588(%rbp), %rdi
callq 0x18f00
movq %rax, %rsi
addq $0x8, %rsi
movb $0x0, -0x5d1(%rbp)
leaq -0x5b0(%rbp), %rdi
callq 0xe160
jmp 0x1394f
movq -0xbd8(%rbp), %rsi
leaq -0x5b0(%rbp), %rdi
callq 0x18e30
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xc39(%rbp)
jne 0x13973
jmp 0x139b4
leaq -0x588(%rbp), %rdi
callq 0x18f00
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x5d0(%rbp), %rdi
callq 0xe2b0
jmp 0x13994
movq -0xbd0(%rbp), %rsi
movb $0x1, -0x5d1(%rbp)
leaq -0x5d0(%rbp), %rdi
callq 0x18e30
movb %al, -0xc39(%rbp)
movb -0xc39(%rbp), %al
movb %al, -0xc3a(%rbp)
testb $0x1, -0x5d1(%rbp)
jne 0x139cb
jmp 0x139d7
leaq -0x5d0(%rbp), %rdi
callq 0xe150
leaq -0x5b0(%rbp), %rdi
callq 0xe150
movb -0xc3a(%rbp), %al
testb $0x1, %al
jne 0x139ef
jmp 0x13a4c
leaq -0x588(%rbp), %rdi
callq 0x188f0
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x580(%rbp), %rdi
callq 0xe2f0
jmp 0x13a10
jmp 0x13a4c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0x13bf0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x5b0(%rbp), %rdi
callq 0xe150
jmp 0x13bf0
jmp 0x13a4e
leaq -0x588(%rbp), %rdi
xorl %esi, %esi
callq 0x18910
movq %rax, -0x5e0(%rbp)
jmp 0x138f8
movq -0xc10(%rbp), %rdi
callq 0x18950
movq %rax, -0x5e8(%rbp)
movq -0xc10(%rbp), %rdi
callq 0x189b0
movq %rax, -0x5f0(%rbp)
leaq -0x5e8(%rbp), %rdi
leaq -0x5f0(%rbp), %rsi
callq 0x18980
testb $0x1, %al
jne 0x13aaa
jmp 0x13bd1
leaq -0x5e8(%rbp), %rdi
callq 0x18f20
movq %rax, %rsi
addq $0x8, %rsi
movb $0x0, -0x631(%rbp)
leaq -0x610(%rbp), %rdi
callq 0xe160
jmp 0x13ad2
movq -0xbd8(%rbp), %rsi
leaq -0x610(%rbp), %rdi
callq 0x18e30
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xc3b(%rbp)
jne 0x13af6
jmp 0x13b37
leaq -0x5e8(%rbp), %rdi
callq 0x18f20
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x630(%rbp), %rdi
callq 0xe2b0
jmp 0x13b17
movq -0xbd0(%rbp), %rsi
movb $0x1, -0x631(%rbp)
leaq -0x630(%rbp), %rdi
callq 0x18e30
movb %al, -0xc3b(%rbp)
movb -0xc3b(%rbp), %al
movb %al, -0xc3c(%rbp)
testb $0x1, -0x631(%rbp)
jne 0x13b4e
jmp 0x13b5a
leaq -0x630(%rbp), %rdi
callq 0xe150
leaq -0x610(%rbp), %rdi
callq 0xe150
movb -0xc3c(%rbp), %al
testb $0x1, %al
jne 0x13b72
jmp 0x13bb5
leaq -0x5e8(%rbp), %rdi
callq 0x189e0
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x580(%rbp), %rdi
callq 0xe100
jmp 0x13b93
jmp 0x13bb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x610(%rbp), %rdi
callq 0xe150
jmp 0x13bf0
jmp 0x13bb7
leaq -0x5e8(%rbp), %rdi
xorl %esi, %esi
callq 0x18a00
movq %rax, -0x640(%rbp)
jmp 0x13a7b
leaq -0x580(%rbp), %rdi
callq 0xe300
jmp 0x13bdf
leaq -0x580(%rbp), %rdi
callq 0xe320
jmp 0x142f7
leaq -0x580(%rbp), %rdi
callq 0xe320
jmp 0x14302
movq -0xbc8(%rbp), %rdi
leaq 0xd439(%rip), %rsi      # 0x21048
callq 0x18e00
testb $0x1, %al
jne 0x13c34
movq -0xbc8(%rbp), %rdi
leaq 0xd429(%rip), %rsi      # 0x2104f
callq 0x18e00
testb $0x1, %al
jne 0x13c34
jmp 0x13f7d
leaq -0x840(%rbp), %rdi
movq %rdi, -0xc48(%rbp)
callq 0xe350
movq -0xc48(%rbp), %rdi
movq -0xbe0(%rbp), %rsi
movl $0x10, %edx
callq 0xe0e0
jmp 0x13c61
movq -0xc18(%rbp), %rdi
callq 0x18a40
movq %rax, -0x848(%rbp)
movq -0xc18(%rbp), %rdi
callq 0x18aa0
movq %rax, -0x850(%rbp)
leaq -0x848(%rbp), %rdi
leaq -0x850(%rbp), %rsi
callq 0x18a70
testb $0x1, %al
jne 0x13ca3
jmp 0x13de4
leaq -0x848(%rbp), %rdi
callq 0x18f40
movq %rax, %rsi
addq $0x8, %rsi
movb $0x0, -0x891(%rbp)
leaq -0x870(%rbp), %rdi
callq 0xe160
jmp 0x13ccb
movq -0xbd8(%rbp), %rsi
leaq -0x870(%rbp), %rdi
callq 0x18e30
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xc49(%rbp)
jne 0x13cef
jmp 0x13d30
leaq -0x848(%rbp), %rdi
callq 0x18f40
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x890(%rbp), %rdi
callq 0xe2b0
jmp 0x13d10
movq -0xbd0(%rbp), %rsi
movb $0x1, -0x891(%rbp)
leaq -0x890(%rbp), %rdi
callq 0x18e30
movb %al, -0xc49(%rbp)
movb -0xc49(%rbp), %al
movb %al, -0xc4a(%rbp)
testb $0x1, -0x891(%rbp)
jne 0x13d47
jmp 0x13d53
leaq -0x890(%rbp), %rdi
callq 0xe150
leaq -0x870(%rbp), %rdi
callq 0xe150
movb -0xc4a(%rbp), %al
testb $0x1, %al
jne 0x13d6b
jmp 0x13dc8
leaq -0x848(%rbp), %rdi
callq 0x18ad0
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x840(%rbp), %rdi
callq 0xe080
jmp 0x13d8c
jmp 0x13dc8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0x13f6c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x870(%rbp), %rdi
callq 0xe150
jmp 0x13f6c
jmp 0x13dca
leaq -0x848(%rbp), %rdi
xorl %esi, %esi
callq 0x18af0
movq %rax, -0x8a0(%rbp)
jmp 0x13c74
movq -0xc20(%rbp), %rdi
callq 0x18b30
movq %rax, -0x8a8(%rbp)
movq -0xc20(%rbp), %rdi
callq 0x18b90
movq %rax, -0x8b0(%rbp)
leaq -0x8a8(%rbp), %rdi
leaq -0x8b0(%rbp), %rsi
callq 0x18b60
testb $0x1, %al
jne 0x13e26
jmp 0x13f4d
leaq -0x8a8(%rbp), %rdi
callq 0x18f60
movq %rax, %rsi
addq $0x8, %rsi
movb $0x0, -0x8f1(%rbp)
leaq -0x8d0(%rbp), %rdi
callq 0xe160
jmp 0x13e4e
movq -0xbd8(%rbp), %rsi
leaq -0x8d0(%rbp), %rdi
callq 0x18e30
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xc4b(%rbp)
jne 0x13e72
jmp 0x13eb3
leaq -0x8a8(%rbp), %rdi
callq 0x18f60
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x8f0(%rbp), %rdi
callq 0xe2b0
jmp 0x13e93
movq -0xbd0(%rbp), %rsi
movb $0x1, -0x8f1(%rbp)
leaq -0x8f0(%rbp), %rdi
callq 0x18e30
movb %al, -0xc4b(%rbp)
movb -0xc4b(%rbp), %al
movb %al, -0xc4c(%rbp)
testb $0x1, -0x8f1(%rbp)
jne 0x13eca
jmp 0x13ed6
leaq -0x8f0(%rbp), %rdi
callq 0xe150
leaq -0x8d0(%rbp), %rdi
callq 0xe150
movb -0xc4c(%rbp), %al
testb $0x1, %al
jne 0x13eee
jmp 0x13f31
leaq -0x8a8(%rbp), %rdi
callq 0x18bc0
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x840(%rbp), %rdi
callq 0xe140
jmp 0x13f0f
jmp 0x13f31
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0x8d0(%rbp), %rdi
callq 0xe150
jmp 0x13f6c
jmp 0x13f33
leaq -0x8a8(%rbp), %rdi
xorl %esi, %esi
callq 0x18be0
movq %rax, -0x900(%rbp)
jmp 0x13df7
leaq -0x840(%rbp), %rdi
callq 0xe300
jmp 0x13f5b
leaq -0x840(%rbp), %rdi
callq 0xe320
jmp 0x142f5
leaq -0x840(%rbp), %rdi
callq 0xe320
jmp 0x14302
movq -0xbc8(%rbp), %rdi
leaq 0xd0cd(%rip), %rsi      # 0x21058
callq 0x18e00
testb $0x1, %al
jne 0x13fb0
movq -0xbc8(%rbp), %rdi
leaq 0xd0ba(%rip), %rsi      # 0x2105c
callq 0x18e00
testb $0x1, %al
jne 0x13fb0
jmp 0x142f3
leaq -0xb00(%rbp), %rdi
movq %rdi, -0xc58(%rbp)
callq 0xe350
movq -0xc58(%rbp), %rdi
movq -0xbe0(%rbp), %rsi
movl $0x10, %edx
callq 0xe0e0
jmp 0x13fdd
movq -0xbe8(%rbp), %rdi
callq 0x18c20
movq %rax, -0xb08(%rbp)
movq -0xbe8(%rbp), %rdi
callq 0x18c80
movq %rax, -0xb10(%rbp)
leaq -0xb08(%rbp), %rdi
leaq -0xb10(%rbp), %rsi
callq 0x18c50
testb $0x1, %al
jne 0x1401f
jmp 0x14160
leaq -0xb08(%rbp), %rdi
callq 0x18f80
movq %rax, %rsi
addq $0x8, %rsi
movb $0x0, -0xb51(%rbp)
leaq -0xb30(%rbp), %rdi
callq 0xe160
jmp 0x14047
movq -0xbd8(%rbp), %rsi
leaq -0xb30(%rbp), %rdi
callq 0x18e30
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xc59(%rbp)
jne 0x1406b
jmp 0x140ac
leaq -0xb08(%rbp), %rdi
callq 0x18f80
movq %rax, %rsi
addq $0x8, %rsi
leaq -0xb50(%rbp), %rdi
callq 0xe2b0
jmp 0x1408c
movq -0xbd0(%rbp), %rsi
movb $0x1, -0xb51(%rbp)
leaq -0xb50(%rbp), %rdi
callq 0x18e30
movb %al, -0xc59(%rbp)
movb -0xc59(%rbp), %al
movb %al, -0xc5a(%rbp)
testb $0x1, -0xb51(%rbp)
jne 0x140c3
jmp 0x140cf
leaq -0xb50(%rbp), %rdi
callq 0xe150
leaq -0xb30(%rbp), %rdi
callq 0xe150
movb -0xc5a(%rbp), %al
testb $0x1, %al
jne 0x140e7
jmp 0x14144
leaq -0xb08(%rbp), %rdi
callq 0x18cb0
movq %rax, %rsi
addq $0x8, %rsi
leaq -0xb00(%rbp), %rdi
callq 0xe2e0
jmp 0x14108
jmp 0x14144
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
jmp 0x142e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0xb30(%rbp), %rdi
callq 0xe150
jmp 0x142e5
jmp 0x14146
leaq -0xb08(%rbp), %rdi
xorl %esi, %esi
callq 0x18cd0
movq %rax, -0xb60(%rbp)
jmp 0x13ff0
movq -0xbf0(%rbp), %rdi
callq 0x18d10
movq %rax, -0xb68(%rbp)
movq -0xbf0(%rbp), %rdi
callq 0x18d70
movq %rax, -0xb70(%rbp)
leaq -0xb68(%rbp), %rdi
leaq -0xb70(%rbp), %rsi
callq 0x18d40
testb $0x1, %al
jne 0x141a2
jmp 0x142c9
leaq -0xb68(%rbp), %rdi
callq 0x18fa0
movq %rax, %rsi
addq $0x8, %rsi
movb $0x0, -0xbb1(%rbp)
leaq -0xb90(%rbp), %rdi
callq 0xe160
jmp 0x141ca
movq -0xbd8(%rbp), %rsi
leaq -0xb90(%rbp), %rdi
callq 0x18e30
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xc5b(%rbp)
jne 0x141ee
jmp 0x1422f
leaq -0xb68(%rbp), %rdi
callq 0x18fa0
movq %rax, %rsi
addq $0x8, %rsi
leaq -0xbb0(%rbp), %rdi
callq 0xe2b0
jmp 0x1420f
movq -0xbd0(%rbp), %rsi
movb $0x1, -0xbb1(%rbp)
leaq -0xbb0(%rbp), %rdi
callq 0x18e30
movb %al, -0xc5b(%rbp)
movb -0xc5b(%rbp), %al
movb %al, -0xc5c(%rbp)
testb $0x1, -0xbb1(%rbp)
jne 0x14246
jmp 0x14252
leaq -0xbb0(%rbp), %rdi
callq 0xe150
leaq -0xb90(%rbp), %rdi
callq 0xe150
movb -0xc5c(%rbp), %al
testb $0x1, %al
jne 0x1426a
jmp 0x142ad
leaq -0xb68(%rbp), %rdi
callq 0x18da0
movq %rax, %rsi
addq $0x8, %rsi
leaq -0xb00(%rbp), %rdi
callq 0xe270
jmp 0x1428b
jmp 0x142ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b8(%rbp)
movl %eax, -0x2bc(%rbp)
leaq -0xb90(%rbp), %rdi
callq 0xe150
jmp 0x142e5
jmp 0x142af
leaq -0xb68(%rbp), %rdi
xorl %esi, %esi
callq 0x18dc0
movq %rax, -0xbc0(%rbp)
jmp 0x14173
leaq -0xb00(%rbp), %rdi
callq 0xe300
jmp 0x142d7
leaq -0xb00(%rbp), %rdi
callq 0xe320
jmp 0x142f3
leaq -0xb00(%rbp), %rdi
callq 0xe320
jmp 0x14302
jmp 0x142f5
jmp 0x142f7
jmp 0x142f9
addq $0xc60, %rsp            # imm = 0xC60
popq %rbp
retq
movq -0x2b8(%rbp), %rdi
callq 0xe370
nop