// File: nataly-enne[P]pet-fera/pet_fera_consulta_p_func.cpp
// Function: imprime_animais(char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, 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>>>&)
void imprime_animais(char tipo, string nome, 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){
	
	if(tipo == 't'){
		for(auto it = anfibios_nat.begin();it != anfibios_nat.end(); it++){
			if(it->second.getTratador() == nome){
				cout << it->second;
			}
		}
		for(auto it = anfibios_ex.begin();it != anfibios_ex.end(); it++){
			if(it->second.getTratador() == nome){
				cout << it->second;
			}
		}
		for(auto it = mamiferos_nat.begin();it != mamiferos_nat.end(); it++){
			if(it->second.getTratador() == nome){
				cout << it->second;
			}
		}
		for(auto it = mamiferos_ex.begin();it != mamiferos_ex.end(); it++){
			if(it->second.getTratador() == nome){
				cout << it->second;
			}
		}
		for(auto it = repteis_nat.begin();it != repteis_nat.end(); it++){
			if(it->second.getTratador() == nome){
				cout << it->second;
			}
		}
		for(auto it = repteis_ex.begin();it != repteis_ex.end(); it++){
			if(it->second.getTratador() == nome){
				cout << it->second;
			}
		}
		for(auto it = aves_nat.begin();it != aves_nat.end(); it++){
			if(it->second.getTratador() == nome){
				cout << it->second;
			}
		}
		for(auto it = aves_ex.begin();it != aves_ex.end(); it++){
			if(it->second.getTratador() == nome){
				cout << it->second;
			}
		}
	}
	else{
		for(auto it = anfibios_nat.begin();it != anfibios_nat.end(); it++){
			if(it->second.getVeterinario() == nome){
				cout << it->second;
			}
		}
		for(auto it = anfibios_ex.begin();it != anfibios_ex.end(); it++){
			if(it->second.getVeterinario() == nome){
				cout << it->second;
			}
		}
		for(auto it = mamiferos_nat.begin();it != mamiferos_nat.end(); it++){
			if(it->second.getVeterinario() == nome){
				cout << it->second;
			}
		}
		for(auto it = mamiferos_ex.begin();it != mamiferos_ex.end(); it++){
			if(it->second.getVeterinario() == nome){
				cout << it->second;
			}
		}
		for(auto it = repteis_nat.begin();it != repteis_nat.end(); it++){
			if(it->second.getVeterinario() == nome){
				cout << it->second;
			}
		}
		for(auto it = repteis_ex.begin();it != repteis_ex.end(); it++){
			if(it->second.getVeterinario() == nome){
				cout << it->second;
			}
		}
		for(auto it = aves_nat.begin();it != aves_nat.end(); it++){
			if(it->second.getVeterinario() == nome){
				cout << it->second;
			}
		}
		for(auto it = aves_ex.begin();it != aves_ex.end(); it++){
			if(it->second.getVeterinario() == nome){
				cout << it->second;
			}
		}
	}	
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3d0, %rsp            # imm = 0x3D0
movq %rsi, -0x3b8(%rbp)
movb %dil, %al
movq 0x28(%rbp), %rdi
movq 0x20(%rbp), %rdi
movq 0x18(%rbp), %rdi
movq 0x10(%rbp), %rdi
movb %al, -0x1(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movsbl -0x1(%rbp), %eax
cmpl $0x74, %eax
jne 0x3cefd
movq -0x18(%rbp), %rdi
callq 0x13cb0
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rdi
callq 0x13d10
movq %rax, -0x40(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x13ce0
testb $0x1, %al
jne 0x3c926
jmp 0x3c99c
leaq -0x38(%rbp), %rdi
callq 0x13d40
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x60(%rbp), %rdi
callq 0x8320
movq -0x3b8(%rbp), %rsi
leaq -0x60(%rbp), %rdi
callq 0x3d540
movb %al, -0x3b9(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x3180
movb -0x3b9(%rbp), %al
testb $0x1, %al
jne 0x3c96a
jmp 0x3c986
leaq -0x38(%rbp), %rdi
callq 0x13d40
movq %rax, %rsi
addq $0x8, %rsi
movq 0x14637(%rip), %rdi     # 0x50fb8
callq 0xbab0
jmp 0x3c988
leaq -0x38(%rbp), %rdi
xorl %esi, %esi
callq 0x13d70
movq %rax, -0x68(%rbp)
jmp 0x3c906
movq -0x20(%rbp), %rdi
callq 0x13db0
movq %rax, -0x70(%rbp)
movq -0x20(%rbp), %rdi
callq 0x13e10
movq %rax, -0x78(%rbp)
leaq -0x70(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x13de0
testb $0x1, %al
jne 0x3c9cc
jmp 0x3ca4e
leaq -0x70(%rbp), %rdi
callq 0x13e40
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x98(%rbp), %rdi
callq 0x8320
movq -0x3b8(%rbp), %rsi
leaq -0x98(%rbp), %rdi
callq 0x3d540
movb %al, -0x3ba(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x3180
movb -0x3ba(%rbp), %al
testb $0x1, %al
jne 0x3ca19
jmp 0x3ca35
leaq -0x70(%rbp), %rdi
callq 0x13e40
movq %rax, %rsi
addq $0x8, %rsi
movq 0x14588(%rip), %rdi     # 0x50fb8
callq 0xc180
jmp 0x3ca37
leaq -0x70(%rbp), %rdi
xorl %esi, %esi
callq 0x13e70
movq %rax, -0xa0(%rbp)
jmp 0x3c9a9
movq -0x28(%rbp), %rdi
callq 0x13eb0
movq %rax, -0xa8(%rbp)
movq -0x28(%rbp), %rdi
callq 0x13f10
movq %rax, -0xb0(%rbp)
leaq -0xa8(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x13ee0
testb $0x1, %al
jne 0x3ca8a
jmp 0x3cb15
leaq -0xa8(%rbp), %rdi
callq 0x13f40
movq %rax, %rsi
addq $0x8, %rsi
leaq -0xd0(%rbp), %rdi
callq 0x8320
movq -0x3b8(%rbp), %rsi
leaq -0xd0(%rbp), %rdi
callq 0x3d540
movb %al, -0x3bb(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x3180
movb -0x3bb(%rbp), %al
testb $0x1, %al
jne 0x3cada
jmp 0x3caf9
leaq -0xa8(%rbp), %rdi
callq 0x13f40
movq %rax, %rsi
addq $0x8, %rsi
movq 0x144c4(%rip), %rdi     # 0x50fb8
callq 0xd480
jmp 0x3cafb
leaq -0xa8(%rbp), %rdi
xorl %esi, %esi
callq 0x13f70
movq %rax, -0xd8(%rbp)
jmp 0x3ca5e
movq -0x30(%rbp), %rdi
callq 0x13fb0
movq %rax, -0xe0(%rbp)
movq -0x30(%rbp), %rdi
callq 0x14010
movq %rax, -0xe8(%rbp)
leaq -0xe0(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0x13fe0
testb $0x1, %al
jne 0x3cb51
jmp 0x3cbdc
leaq -0xe0(%rbp), %rdi
callq 0x14040
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x108(%rbp), %rdi
callq 0x8320
movq -0x3b8(%rbp), %rsi
leaq -0x108(%rbp), %rdi
callq 0x3d540
movb %al, -0x3bc(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x3180
movb -0x3bc(%rbp), %al
testb $0x1, %al
jne 0x3cba1
jmp 0x3cbc0
leaq -0xe0(%rbp), %rdi
callq 0x14040
movq %rax, %rsi
addq $0x8, %rsi
movq 0x143fd(%rip), %rdi     # 0x50fb8
callq 0xdb90
jmp 0x3cbc2
leaq -0xe0(%rbp), %rdi
xorl %esi, %esi
callq 0x14070
movq %rax, -0x110(%rbp)
jmp 0x3cb25
movq 0x10(%rbp), %rdi
callq 0x140b0
movq %rax, -0x118(%rbp)
movq 0x10(%rbp), %rdi
callq 0x14110
movq %rax, -0x120(%rbp)
leaq -0x118(%rbp), %rdi
leaq -0x120(%rbp), %rsi
callq 0x140e0
testb $0x1, %al
jne 0x3cc18
jmp 0x3cca3
leaq -0x118(%rbp), %rdi
callq 0x14140
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x140(%rbp), %rdi
callq 0x8320
movq -0x3b8(%rbp), %rsi
leaq -0x140(%rbp), %rdi
callq 0x3d540
movb %al, -0x3bd(%rbp)
leaq -0x140(%rbp), %rdi
callq 0x3180
movb -0x3bd(%rbp), %al
testb $0x1, %al
jne 0x3cc68
jmp 0x3cc87
leaq -0x118(%rbp), %rdi
callq 0x14140
movq %rax, %rsi
addq $0x8, %rsi
movq 0x14336(%rip), %rdi     # 0x50fb8
callq 0xee70
jmp 0x3cc89
leaq -0x118(%rbp), %rdi
xorl %esi, %esi
callq 0x14170
movq %rax, -0x148(%rbp)
jmp 0x3cbec
movq 0x18(%rbp), %rdi
callq 0x141b0
movq %rax, -0x150(%rbp)
movq 0x18(%rbp), %rdi
callq 0x14210
movq %rax, -0x158(%rbp)
leaq -0x150(%rbp), %rdi
leaq -0x158(%rbp), %rsi
callq 0x141e0
testb $0x1, %al
jne 0x3ccdf
jmp 0x3cd6a
leaq -0x150(%rbp), %rdi
callq 0x14240
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x178(%rbp), %rdi
callq 0x8320
movq -0x3b8(%rbp), %rsi
leaq -0x178(%rbp), %rdi
callq 0x3d540
movb %al, -0x3be(%rbp)
leaq -0x178(%rbp), %rdi
callq 0x3180
movb -0x3be(%rbp), %al
testb $0x1, %al
jne 0x3cd2f
jmp 0x3cd4e
leaq -0x150(%rbp), %rdi
callq 0x14240
movq %rax, %rsi
addq $0x8, %rsi
movq 0x1426f(%rip), %rdi     # 0x50fb8
callq 0xf5c0
jmp 0x3cd50
leaq -0x150(%rbp), %rdi
xorl %esi, %esi
callq 0x14270
movq %rax, -0x180(%rbp)
jmp 0x3ccb3
movq 0x20(%rbp), %rdi
callq 0x142b0
movq %rax, -0x188(%rbp)
movq 0x20(%rbp), %rdi
callq 0x14310
movq %rax, -0x190(%rbp)
leaq -0x188(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x142e0
testb $0x1, %al
jne 0x3cda6
jmp 0x3ce31
leaq -0x188(%rbp), %rdi
callq 0x14340
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x1b0(%rbp), %rdi
callq 0x8320
movq -0x3b8(%rbp), %rsi
leaq -0x1b0(%rbp), %rdi
callq 0x3d540
movb %al, -0x3bf(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x3180
movb -0x3bf(%rbp), %al
testb $0x1, %al
jne 0x3cdf6
jmp 0x3ce15
leaq -0x188(%rbp), %rdi
callq 0x14340
movq %rax, %rsi
addq $0x8, %rsi
movq 0x141a8(%rip), %rdi     # 0x50fb8
callq 0x10970
jmp 0x3ce17
leaq -0x188(%rbp), %rdi
xorl %esi, %esi
callq 0x14370
movq %rax, -0x1b8(%rbp)
jmp 0x3cd7a
movq 0x28(%rbp), %rdi
callq 0x143b0
movq %rax, -0x1c0(%rbp)
movq 0x28(%rbp), %rdi
callq 0x14410
movq %rax, -0x1c8(%rbp)
leaq -0x1c0(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x143e0
testb $0x1, %al
jne 0x3ce6d
jmp 0x3cef8
leaq -0x1c0(%rbp), %rdi
callq 0x14440
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x1e8(%rbp), %rdi
callq 0x8320
movq -0x3b8(%rbp), %rsi
leaq -0x1e8(%rbp), %rdi
callq 0x3d540
movb %al, -0x3c0(%rbp)
leaq -0x1e8(%rbp), %rdi
callq 0x3180
movb -0x3c0(%rbp), %al
testb $0x1, %al
jne 0x3cebd
jmp 0x3cedc
leaq -0x1c0(%rbp), %rdi
callq 0x14440
movq %rax, %rsi
addq $0x8, %rsi
movq 0x140e1(%rip), %rdi     # 0x50fb8
callq 0x11080
jmp 0x3cede
leaq -0x1c0(%rbp), %rdi
xorl %esi, %esi
callq 0x14470
movq %rax, -0x1f0(%rbp)
jmp 0x3ce41
jmp 0x3d537
movq -0x18(%rbp), %rdi
callq 0x13cb0
movq %rax, -0x1f8(%rbp)
movq -0x18(%rbp), %rdi
callq 0x13d10
movq %rax, -0x200(%rbp)
leaq -0x1f8(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0x13ce0
testb $0x1, %al
jne 0x3cf39
jmp 0x3cfc4
leaq -0x1f8(%rbp), %rdi
callq 0x13d40
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x220(%rbp), %rdi
callq 0x82e0
movq -0x3b8(%rbp), %rsi
leaq -0x220(%rbp), %rdi
callq 0x3d540
movb %al, -0x3c1(%rbp)
leaq -0x220(%rbp), %rdi
callq 0x3180
movb -0x3c1(%rbp), %al
testb $0x1, %al
jne 0x3cf89
jmp 0x3cfa8
leaq -0x1f8(%rbp), %rdi
callq 0x13d40
movq %rax, %rsi
addq $0x8, %rsi
movq 0x14015(%rip), %rdi     # 0x50fb8
callq 0xbab0
jmp 0x3cfaa
leaq -0x1f8(%rbp), %rdi
xorl %esi, %esi
callq 0x13d70
movq %rax, -0x228(%rbp)
jmp 0x3cf0d
movq -0x20(%rbp), %rdi
callq 0x13db0
movq %rax, -0x230(%rbp)
movq -0x20(%rbp), %rdi
callq 0x13e10
movq %rax, -0x238(%rbp)
leaq -0x230(%rbp), %rdi
leaq -0x238(%rbp), %rsi
callq 0x13de0
testb $0x1, %al
jne 0x3d000
jmp 0x3d08b
leaq -0x230(%rbp), %rdi
callq 0x13e40
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x258(%rbp), %rdi
callq 0x82e0
movq -0x3b8(%rbp), %rsi
leaq -0x258(%rbp), %rdi
callq 0x3d540
movb %al, -0x3c2(%rbp)
leaq -0x258(%rbp), %rdi
callq 0x3180
movb -0x3c2(%rbp), %al
testb $0x1, %al
jne 0x3d050
jmp 0x3d06f
leaq -0x230(%rbp), %rdi
callq 0x13e40
movq %rax, %rsi
addq $0x8, %rsi
movq 0x13f4e(%rip), %rdi     # 0x50fb8
callq 0xc180
jmp 0x3d071
leaq -0x230(%rbp), %rdi
xorl %esi, %esi
callq 0x13e70
movq %rax, -0x260(%rbp)
jmp 0x3cfd4
movq -0x28(%rbp), %rdi
callq 0x13eb0
movq %rax, -0x268(%rbp)
movq -0x28(%rbp), %rdi
callq 0x13f10
movq %rax, -0x270(%rbp)
leaq -0x268(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0x13ee0
testb $0x1, %al
jne 0x3d0c7
jmp 0x3d152
leaq -0x268(%rbp), %rdi
callq 0x13f40
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x290(%rbp), %rdi
callq 0x82e0
movq -0x3b8(%rbp), %rsi
leaq -0x290(%rbp), %rdi
callq 0x3d540
movb %al, -0x3c3(%rbp)
leaq -0x290(%rbp), %rdi
callq 0x3180
movb -0x3c3(%rbp), %al
testb $0x1, %al
jne 0x3d117
jmp 0x3d136
leaq -0x268(%rbp), %rdi
callq 0x13f40
movq %rax, %rsi
addq $0x8, %rsi
movq 0x13e87(%rip), %rdi     # 0x50fb8
callq 0xd480
jmp 0x3d138
leaq -0x268(%rbp), %rdi
xorl %esi, %esi
callq 0x13f70
movq %rax, -0x298(%rbp)
jmp 0x3d09b
movq -0x30(%rbp), %rdi
callq 0x13fb0
movq %rax, -0x2a0(%rbp)
movq -0x30(%rbp), %rdi
callq 0x14010
movq %rax, -0x2a8(%rbp)
leaq -0x2a0(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
callq 0x13fe0
testb $0x1, %al
jne 0x3d18e
jmp 0x3d219
leaq -0x2a0(%rbp), %rdi
callq 0x14040
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x2c8(%rbp), %rdi
callq 0x82e0
movq -0x3b8(%rbp), %rsi
leaq -0x2c8(%rbp), %rdi
callq 0x3d540
movb %al, -0x3c4(%rbp)
leaq -0x2c8(%rbp), %rdi
callq 0x3180
movb -0x3c4(%rbp), %al
testb $0x1, %al
jne 0x3d1de
jmp 0x3d1fd
leaq -0x2a0(%rbp), %rdi
callq 0x14040
movq %rax, %rsi
addq $0x8, %rsi
movq 0x13dc0(%rip), %rdi     # 0x50fb8
callq 0xdb90
jmp 0x3d1ff
leaq -0x2a0(%rbp), %rdi
xorl %esi, %esi
callq 0x14070
movq %rax, -0x2d0(%rbp)
jmp 0x3d162
movq 0x10(%rbp), %rdi
callq 0x140b0
movq %rax, -0x2d8(%rbp)
movq 0x10(%rbp), %rdi
callq 0x14110
movq %rax, -0x2e0(%rbp)
leaq -0x2d8(%rbp), %rdi
leaq -0x2e0(%rbp), %rsi
callq 0x140e0
testb $0x1, %al
jne 0x3d255
jmp 0x3d2e0
leaq -0x2d8(%rbp), %rdi
callq 0x14140
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x300(%rbp), %rdi
callq 0x82e0
movq -0x3b8(%rbp), %rsi
leaq -0x300(%rbp), %rdi
callq 0x3d540
movb %al, -0x3c5(%rbp)
leaq -0x300(%rbp), %rdi
callq 0x3180
movb -0x3c5(%rbp), %al
testb $0x1, %al
jne 0x3d2a5
jmp 0x3d2c4
leaq -0x2d8(%rbp), %rdi
callq 0x14140
movq %rax, %rsi
addq $0x8, %rsi
movq 0x13cf9(%rip), %rdi     # 0x50fb8
callq 0xee70
jmp 0x3d2c6
leaq -0x2d8(%rbp), %rdi
xorl %esi, %esi
callq 0x14170
movq %rax, -0x308(%rbp)
jmp 0x3d229
movq 0x18(%rbp), %rdi
callq 0x141b0
movq %rax, -0x310(%rbp)
movq 0x18(%rbp), %rdi
callq 0x14210
movq %rax, -0x318(%rbp)
leaq -0x310(%rbp), %rdi
leaq -0x318(%rbp), %rsi
callq 0x141e0
testb $0x1, %al
jne 0x3d31c
jmp 0x3d3a7
leaq -0x310(%rbp), %rdi
callq 0x14240
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x338(%rbp), %rdi
callq 0x82e0
movq -0x3b8(%rbp), %rsi
leaq -0x338(%rbp), %rdi
callq 0x3d540
movb %al, -0x3c6(%rbp)
leaq -0x338(%rbp), %rdi
callq 0x3180
movb -0x3c6(%rbp), %al
testb $0x1, %al
jne 0x3d36c
jmp 0x3d38b
leaq -0x310(%rbp), %rdi
callq 0x14240
movq %rax, %rsi
addq $0x8, %rsi
movq 0x13c32(%rip), %rdi     # 0x50fb8
callq 0xf5c0
jmp 0x3d38d
leaq -0x310(%rbp), %rdi
xorl %esi, %esi
callq 0x14270
movq %rax, -0x340(%rbp)
jmp 0x3d2f0
movq 0x20(%rbp), %rdi
callq 0x142b0
movq %rax, -0x348(%rbp)
movq 0x20(%rbp), %rdi
callq 0x14310
movq %rax, -0x350(%rbp)
leaq -0x348(%rbp), %rdi
leaq -0x350(%rbp), %rsi
callq 0x142e0
testb $0x1, %al
jne 0x3d3e3
jmp 0x3d46e
leaq -0x348(%rbp), %rdi
callq 0x14340
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x370(%rbp), %rdi
callq 0x82e0
movq -0x3b8(%rbp), %rsi
leaq -0x370(%rbp), %rdi
callq 0x3d540
movb %al, -0x3c7(%rbp)
leaq -0x370(%rbp), %rdi
callq 0x3180
movb -0x3c7(%rbp), %al
testb $0x1, %al
jne 0x3d433
jmp 0x3d452
leaq -0x348(%rbp), %rdi
callq 0x14340
movq %rax, %rsi
addq $0x8, %rsi
movq 0x13b6b(%rip), %rdi     # 0x50fb8
callq 0x10970
jmp 0x3d454
leaq -0x348(%rbp), %rdi
xorl %esi, %esi
callq 0x14370
movq %rax, -0x378(%rbp)
jmp 0x3d3b7
movq 0x28(%rbp), %rdi
callq 0x143b0
movq %rax, -0x380(%rbp)
movq 0x28(%rbp), %rdi
callq 0x14410
movq %rax, -0x388(%rbp)
leaq -0x380(%rbp), %rdi
leaq -0x388(%rbp), %rsi
callq 0x143e0
testb $0x1, %al
jne 0x3d4aa
jmp 0x3d535
leaq -0x380(%rbp), %rdi
callq 0x14440
movq %rax, %rsi
addq $0x8, %rsi
leaq -0x3a8(%rbp), %rdi
callq 0x82e0
movq -0x3b8(%rbp), %rsi
leaq -0x3a8(%rbp), %rdi
callq 0x3d540
movb %al, -0x3c8(%rbp)
leaq -0x3a8(%rbp), %rdi
callq 0x3180
movb -0x3c8(%rbp), %al
testb $0x1, %al
jne 0x3d4fa
jmp 0x3d519
leaq -0x380(%rbp), %rdi
callq 0x14440
movq %rax, %rsi
addq $0x8, %rsi
movq 0x13aa4(%rip), %rdi     # 0x50fb8
callq 0x11080
jmp 0x3d51b
leaq -0x380(%rbp), %rdi
xorl %esi, %esi
callq 0x14470
movq %rax, -0x3b0(%rbp)
jmp 0x3d47e
jmp 0x3d537
addq $0x3d0, %rsp            # imm = 0x3D0
popq %rbp
retq