// File: /workspace/github_cpp_makefile_star2_O2/nataly-enne[P]pet-fera/pet_fera_auxiliar.cpp
// Function: exportacao(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>>)
void exportacao(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 saida){
	transform(saida.begin(), saida.end(), saida.begin(), ::tolower);

	ofstream animais;
	animais.open(saida);

	for(auto it = anfibios_nat.begin(); it != anfibios_nat.end(); it++){
		animais << (*it).second;
	}
	for(auto it = anfibios_ex.begin(); it != anfibios_ex.end(); it++){
		animais << (*it).second;		
	}
	for(auto it = mamiferos_nat.begin(); it != mamiferos_nat.end(); it++){
		animais << (*it).second;
	}
	for(auto it = mamiferos_ex.begin(); it != mamiferos_ex.end(); it++){
		animais << (*it).second;	
	}
	for(auto it = repteis_nat.begin(); it != repteis_nat.end(); it++){
		animais << (*it).second;
	}
	for(auto it = repteis_ex.begin(); it != repteis_ex.end(); it++){
		animais << (*it).second;		
	}
	for(auto it = aves_nat.begin(); it != aves_nat.end(); it++){
		animais << (*it).second;		
	}
	for(auto it = aves_ex.begin(); it != aves_ex.end(); it++){
		animais << (*it).second;		
	}
	animais.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x228, %rsp            # imm = 0x228
movq %r9, -0x40(%rbp)
movq %r8, -0x30(%rbp)
movq %rcx, -0x48(%rbp)
movq %rdx, -0x38(%rbp)
movq %rsi, %r13
movq %rdi, %rbx
movq 0x20(%rbp), %rax
movq (%rax), %r14
movq 0x8(%rax), %r15
xorl %r12d, %r12d
cmpq %r12, %r15
je 0xa970
movsbl (%r14,%r12), %edi
callq 0x52b0
movb %al, (%r14,%r12)
incq %r12
jmp 0xa958
leaq -0x248(%rbp), %r14
movq %r14, %rdi
callq 0x5300
pushq $0x10
popq %rdx
movq %r14, %rdi
movq 0x20(%rbp), %rsi
callq 0x50e0
movq 0x18(%rbx), %r15
addq $0x8, %rbx
cmpq %rbx, %r15
je 0xa9b4
leaq 0x28(%r15), %rsi
movq %r14, %rdi
callq 0x51b0
movq %r15, %rdi
callq 0x5160
movq %rax, %r15
jmp 0xa996
movq 0x18(%r13), %r14
addq $0x8, %r13
leaq -0x248(%rbp), %rbx
movq -0x48(%rbp), %r15
cmpq %r13, %r14
je 0xa9e5
leaq 0x28(%r14), %rsi
movq %rbx, %rdi
callq 0x5310
movq %r14, %rdi
callq 0x5160
movq %rax, %r14
jmp 0xa9c7
movq -0x38(%rbp), %r13
movq 0x18(%r13), %r14
addq $0x8, %r13
leaq -0x248(%rbp), %rbx
movq -0x40(%rbp), %r12
cmpq %r13, %r14
je 0xaa1a
leaq 0x28(%r14), %rsi
movq %rbx, %rdi
callq 0x5290
movq %r14, %rdi
callq 0x5160
movq %rax, %r14
jmp 0xa9fc
movq 0x18(%r15), %r14
addq $0x8, %r15
leaq -0x248(%rbp), %rbx
cmpq %r15, %r14
je 0xaa47
leaq 0x28(%r14), %rsi
movq %rbx, %rdi
callq 0x5110
movq %r14, %rdi
callq 0x5160
movq %rax, %r14
jmp 0xaa29
movq -0x30(%rbp), %r15
movq 0x18(%r15), %r14
addq $0x8, %r15
leaq -0x248(%rbp), %rbx
cmpq %r15, %r14
je 0xaa78
leaq 0x28(%r14), %rsi
movq %rbx, %rdi
callq 0x5080
movq %r14, %rdi
callq 0x5160
movq %rax, %r14
jmp 0xaa5a
movq 0x18(%r12), %r14
addq $0x8, %r12
leaq -0x248(%rbp), %rbx
movq 0x18(%rbp), %r15
cmpq %r12, %r14
je 0xaaaa
leaq 0x28(%r14), %rsi
movq %rbx, %rdi
callq 0x5130
movq %r14, %rdi
callq 0x5160
movq %rax, %r14
jmp 0xaa8c
movq 0x10(%rbp), %r12
movq 0x18(%r12), %r14
addq $0x8, %r12
leaq -0x248(%rbp), %rbx
cmpq %r12, %r14
je 0xaadc
leaq 0x28(%r14), %rsi
movq %rbx, %rdi
callq 0x5280
movq %r14, %rdi
callq 0x5160
movq %rax, %r14
jmp 0xaabe
movq 0x18(%r15), %r14
addq $0x8, %r15
leaq -0x248(%rbp), %rbx
cmpq %r15, %r14
je 0xab09
leaq 0x28(%r14), %rsi
movq %rbx, %rdi
callq 0x5220
movq %r14, %rdi
callq 0x5160
movq %rax, %r14
jmp 0xaaeb
leaq -0x248(%rbp), %rdi
callq 0x52a0
leaq -0x248(%rbp), %rdi
callq 0x52d0
addq $0x228, %rsp            # imm = 0x228
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xab43
jmp 0xab43
jmp 0xab43
jmp 0xab43
jmp 0xab43
jmp 0xab43
jmp 0xab43
jmp 0xab43
movq %rax, %rbx
leaq -0x248(%rbp), %rdi
callq 0x52d0
movq %rbx, %rdi
callq 0x5320