// File: nataly-enne[P]pet-fera/pet_fera_main.cpp
// Function: main
int main(){
	int op;
	string especialidade, crmv;

	// Declarando o map das classes.
	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;

	map <int, VETERINARIO> vets;
	map <int, TRATADOR> tratadores;

	carregar_arquivos(anfibios_nat, anfibios_ex, mamiferos_nat, mamiferos_ex, repteis_nat, repteis_ex, aves_nat, aves_ex, vets, tratadores);

	// Menu da tela inicial.
	cout << "" << endl;
	cout << ">>> Bem-Vindo ao Sistema da Pet Fera! <<<" << endl;

	do{
		cout << " _________________________________________" << endl;
		cout << "|                                         |" << endl;
		cout << "|              MENU INICIAL               |" << endl;
		cout << "|_________________________________________|" << endl << endl;
		cout << "|"<<"1" << "|" << " - Cadastrar novo funcionario" << endl;
		cout << "|"<<"2" << "|" << " - Cadastrar novo animal" << endl;
		cout << "|"<<"3" << "|" << " - Remover um funcionario" << endl;
		cout << "|"<<"4" << "|" << " - Remover um animal" << endl;
		cout << "|"<<"5" << "|" << " - Alterar dados de um animal" << endl;
		cout << "|"<<"6" << "|" << " - Alterar dados de um funcionário" << endl;
		cout << "|"<<"7" << "|" << " - Consultar dados através da classe" << endl;
		cout << "|"<<"8" << "|" << " - Consultar dados de um animal sob responsabilidade de um veterinario ou tratador" << endl;
		cout << "|"<<"0" << "|" << " - Sair" << endl;
		cin >> op;

		switch (op){
			case 0:
				cout << "Programa finalizado!!" << endl;
				break;
			case 1: 
				cadastrar_func(vets, tratadores);
				break;
			case 2:
				cadastrar_animal(anfibios_nat, anfibios_ex, mamiferos_nat, mamiferos_ex, repteis_nat, repteis_ex, aves_nat, aves_ex, vets, tratadores);
				break;
			case 3:
				remover_funcionario(vets, tratadores);
				break;
			case 4:
				remover_animal(anfibios_nat, anfibios_ex, mamiferos_nat, mamiferos_ex, repteis_nat, repteis_ex, aves_nat, aves_ex);
				break;
			case 5:
				editar_animais(anfibios_nat, anfibios_ex, mamiferos_nat, mamiferos_ex, repteis_nat, repteis_ex, aves_nat, aves_ex, vets, tratadores);
				break;
			case 6:
				editar_func(vets, tratadores);
				break;
			case 7:
				pesquisar_classe(anfibios_nat, anfibios_ex, mamiferos_nat, mamiferos_ex, repteis_nat, repteis_ex, aves_nat, aves_ex);
				break;
			case 8:
				consulta_p_func(vets,tratadores,anfibios_nat, anfibios_ex, mamiferos_nat, mamiferos_ex, repteis_nat, repteis_ex, aves_nat, aves_ex);
				break;
			default:
				cout << "Opçao indisponível! Tente novamente!" << endl;
		}
	}while(op != 0);

	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x4d0, %rsp            # imm = 0x4D0
movl $0x0, -0x14(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x3300
leaq -0x58(%rbp), %rdi
callq 0x3300
leaq -0x88(%rbp), %rdi
movq %rdi, -0x338(%rbp)
callq 0x43c0
leaq -0xb8(%rbp), %rdi
movq %rdi, -0x330(%rbp)
callq 0x43e0
leaq -0xe8(%rbp), %rdi
movq %rdi, -0x328(%rbp)
callq 0x4400
leaq -0x118(%rbp), %rdi
movq %rdi, -0x320(%rbp)
callq 0x4420
leaq -0x148(%rbp), %rdi
movq %rdi, -0x318(%rbp)
callq 0x4440
leaq -0x178(%rbp), %rdi
movq %rdi, -0x310(%rbp)
callq 0x4460
leaq -0x1a8(%rbp), %rdi
movq %rdi, -0x340(%rbp)
callq 0x4480
leaq -0x1d8(%rbp), %rdi
movq %rdi, -0x348(%rbp)
callq 0x44a0
leaq -0x208(%rbp), %rbx
movq %rbx, %rdi
callq 0x44c0
leaq -0x238(%rbp), %r14
movq %r14, %rdi
callq 0x44e0
movq -0x348(%rbp), %r11
movq -0x340(%rbp), %r10
movq -0x338(%rbp), %rdi
movq -0x330(%rbp), %rsi
movq -0x328(%rbp), %rdx
movq -0x320(%rbp), %rcx
movq -0x318(%rbp), %r8
movq -0x310(%rbp), %r9
movq %rsp, %rax
movq %r14, 0x18(%rax)
movq %rbx, 0x10(%rax)
movq %r11, 0x8(%rax)
movq %r10, (%rax)
callq 0x25b30
jmp 0x38ae
movq 0x4d703(%rip), %rdi     # 0x50fb8
leaq 0x3e93a(%rip), %rsi     # 0x421f6
callq 0x3240
movq %rax, -0x350(%rbp)
jmp 0x38ca
movq -0x350(%rbp), %rdi
movq 0x4d6c8(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x38df
movq 0x4d6d2(%rip), %rdi     # 0x50fb8
leaq 0x3d73b(%rip), %rsi     # 0x41028
callq 0x3240
movq %rax, -0x358(%rbp)
jmp 0x38fb
movq -0x358(%rbp), %rdi
movq 0x4d697(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x3910
jmp 0x3912
movq 0x4d69f(%rip), %rdi     # 0x50fb8
leaq 0x3d732(%rip), %rsi     # 0x41052
callq 0x3240
movq %rax, -0x360(%rbp)
jmp 0x392e
movq -0x360(%rbp), %rdi
movq 0x4d664(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x3943
movq 0x4d66e(%rip), %rdi     # 0x50fb8
leaq 0x3d72c(%rip), %rsi     # 0x4107d
callq 0x3240
movq %rax, -0x368(%rbp)
jmp 0x395f
movq -0x368(%rbp), %rdi
movq 0x4d633(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x3974
movq 0x4d63d(%rip), %rdi     # 0x50fb8
leaq 0x3d727(%rip), %rsi     # 0x410a9
callq 0x3240
movq %rax, -0x370(%rbp)
jmp 0x3990
movq -0x370(%rbp), %rdi
movq 0x4d602(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x39a5
movq 0x4d60c(%rip), %rdi     # 0x50fb8
leaq 0x3d722(%rip), %rsi     # 0x410d5
callq 0x3240
movq %rax, -0x378(%rbp)
jmp 0x39c1
movq -0x378(%rbp), %rdi
movq 0x4d5d1(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, -0x380(%rbp)
jmp 0x39dd
movq -0x380(%rbp), %rdi
movq 0x4d5b5(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x39f2
movq 0x4d5bf(%rip), %rdi     # 0x50fb8
leaq 0x3d6a7(%rip), %rsi     # 0x410a7
callq 0x3240
movq %rax, -0x388(%rbp)
jmp 0x3a0e
movq -0x388(%rbp), %rdi
leaq 0x3d6e5(%rip), %rsi     # 0x41101
callq 0x3240
movq %rax, -0x390(%rbp)
jmp 0x3a2a
movq -0x390(%rbp), %rdi
leaq 0x3d66f(%rip), %rsi     # 0x410a7
callq 0x3240
movq %rax, -0x398(%rbp)
jmp 0x3a46
movq -0x398(%rbp), %rdi
leaq 0x3d6af(%rip), %rsi     # 0x41103
callq 0x3240
movq %rax, -0x3a0(%rbp)
jmp 0x3a62
movq -0x3a0(%rbp), %rdi
movq 0x4d530(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x3a77
movq 0x4d53a(%rip), %rdi     # 0x50fb8
leaq 0x3d622(%rip), %rsi     # 0x410a7
callq 0x3240
movq %rax, -0x3a8(%rbp)
jmp 0x3a93
movq -0x3a8(%rbp), %rdi
leaq 0x3df07(%rip), %rsi     # 0x419a8
callq 0x3240
movq %rax, -0x3b0(%rbp)
jmp 0x3aaf
movq -0x3b0(%rbp), %rdi
leaq 0x3d5ea(%rip), %rsi     # 0x410a7
callq 0x3240
movq %rax, -0x3b8(%rbp)
jmp 0x3acb
movq -0x3b8(%rbp), %rdi
leaq 0x3d648(%rip), %rsi     # 0x41121
callq 0x3240
movq %rax, -0x3c0(%rbp)
jmp 0x3ae7
movq -0x3c0(%rbp), %rdi
movq 0x4d4ab(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x3afc
movq 0x4d4b5(%rip), %rdi     # 0x50fb8
leaq 0x3d59d(%rip), %rsi     # 0x410a7
callq 0x3240
movq %rax, -0x3c8(%rbp)
jmp 0x3b18
movq -0x3c8(%rbp), %rdi
leaq 0x3d614(%rip), %rsi     # 0x4113a
callq 0x3240
movq %rax, -0x3d0(%rbp)
jmp 0x3b34
movq -0x3d0(%rbp), %rdi
leaq 0x3d565(%rip), %rsi     # 0x410a7
callq 0x3240
movq %rax, -0x3d8(%rbp)
jmp 0x3b50
movq -0x3d8(%rbp), %rdi
leaq 0x3d5de(%rip), %rsi     # 0x4113c
callq 0x3240
movq %rax, -0x3e0(%rbp)
jmp 0x3b6c
movq -0x3e0(%rbp), %rdi
movq 0x4d426(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x3b81
movq 0x4d430(%rip), %rdi     # 0x50fb8
leaq 0x3d518(%rip), %rsi     # 0x410a7
callq 0x3240
movq %rax, -0x3e8(%rbp)
jmp 0x3b9d
movq -0x3e8(%rbp), %rdi
leaq 0x3d5ab(%rip), %rsi     # 0x41156
callq 0x3240
movq %rax, -0x3f0(%rbp)
jmp 0x3bb9
movq -0x3f0(%rbp), %rdi
leaq 0x3d4e0(%rip), %rsi     # 0x410a7
callq 0x3240
movq %rax, -0x3f8(%rbp)
jmp 0x3bd5
movq -0x3f8(%rbp), %rdi
leaq 0x3d575(%rip), %rsi     # 0x41158
callq 0x3240
movq %rax, -0x400(%rbp)
jmp 0x3bf1
movq -0x400(%rbp), %rdi
movq 0x4d3a1(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x3c06
movq 0x4d3ab(%rip), %rdi     # 0x50fb8
leaq 0x3d493(%rip), %rsi     # 0x410a7
callq 0x3240
movq %rax, -0x408(%rbp)
jmp 0x3c22
movq -0x408(%rbp), %rdi
leaq 0x3d53d(%rip), %rsi     # 0x4116d
callq 0x3240
movq %rax, -0x410(%rbp)
jmp 0x3c3e
movq -0x410(%rbp), %rdi
leaq 0x3d45b(%rip), %rsi     # 0x410a7
callq 0x3240
movq %rax, -0x418(%rbp)
jmp 0x3c5a
movq -0x418(%rbp), %rdi
leaq 0x3d507(%rip), %rsi     # 0x4116f
callq 0x3240
movq %rax, -0x420(%rbp)
jmp 0x3c76
movq -0x420(%rbp), %rdi
movq 0x4d31c(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x3c8b
movq 0x4d326(%rip), %rdi     # 0x50fb8
leaq 0x3d40e(%rip), %rsi     # 0x410a7
callq 0x3240
movq %rax, -0x428(%rbp)
jmp 0x3ca7
movq -0x428(%rbp), %rdi
leaq 0x3d4d8(%rip), %rsi     # 0x4118d
callq 0x3240
movq %rax, -0x430(%rbp)
jmp 0x3cc3
movq -0x430(%rbp), %rdi
leaq 0x3d3d6(%rip), %rsi     # 0x410a7
callq 0x3240
movq %rax, -0x438(%rbp)
jmp 0x3cdf
movq -0x438(%rbp), %rdi
leaq 0x3d4a2(%rip), %rsi     # 0x4118f
callq 0x3240
movq %rax, -0x440(%rbp)
jmp 0x3cfb
movq -0x440(%rbp), %rdi
movq 0x4d297(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x3d10
movq 0x4d2a1(%rip), %rdi     # 0x50fb8
leaq 0x3d389(%rip), %rsi     # 0x410a7
callq 0x3240
movq %rax, -0x448(%rbp)
jmp 0x3d2c
movq -0x448(%rbp), %rdi
leaq 0x3d479(%rip), %rsi     # 0x411b3
callq 0x3240
movq %rax, -0x450(%rbp)
jmp 0x3d48
movq -0x450(%rbp), %rdi
leaq 0x3d351(%rip), %rsi     # 0x410a7
callq 0x3240
movq %rax, -0x458(%rbp)
jmp 0x3d64
movq -0x458(%rbp), %rdi
leaq 0x3d443(%rip), %rsi     # 0x411b5
callq 0x3240
movq %rax, -0x460(%rbp)
jmp 0x3d80
movq -0x460(%rbp), %rdi
movq 0x4d212(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x3d95
movq 0x4d21c(%rip), %rdi     # 0x50fb8
leaq 0x3d304(%rip), %rsi     # 0x410a7
callq 0x3240
movq %rax, -0x468(%rbp)
jmp 0x3db1
movq -0x468(%rbp), %rdi
leaq 0x3d41c(%rip), %rsi     # 0x411db
callq 0x3240
movq %rax, -0x470(%rbp)
jmp 0x3dcd
movq -0x470(%rbp), %rdi
leaq 0x3d2cc(%rip), %rsi     # 0x410a7
callq 0x3240
movq %rax, -0x478(%rbp)
jmp 0x3de9
movq -0x478(%rbp), %rdi
leaq 0x3d3e6(%rip), %rsi     # 0x411dd
callq 0x3240
movq %rax, -0x480(%rbp)
jmp 0x3e05
movq -0x480(%rbp), %rdi
movq 0x4d18d(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x3e1a
movq 0x4d197(%rip), %rdi     # 0x50fb8
leaq 0x3d27f(%rip), %rsi     # 0x410a7
callq 0x3240
movq %rax, -0x488(%rbp)
jmp 0x3e36
movq -0x488(%rbp), %rdi
leaq 0x3d3ec(%rip), %rsi     # 0x41230
callq 0x3240
movq %rax, -0x490(%rbp)
jmp 0x3e52
movq -0x490(%rbp), %rdi
leaq 0x3d247(%rip), %rsi     # 0x410a7
callq 0x3240
movq %rax, -0x498(%rbp)
jmp 0x3e6e
movq -0x498(%rbp), %rdi
leaq 0x3d3b6(%rip), %rsi     # 0x41232
callq 0x3240
movq %rax, -0x4a0(%rbp)
jmp 0x3e8a
movq -0x4a0(%rbp), %rdi
movq 0x4d108(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x3e9f
movq 0x4d132(%rip), %rdi     # 0x50fd8
leaq -0x18(%rbp), %rsi
callq 0x3170
jmp 0x3eb1
movl -0x18(%rbp), %eax
movq %rax, -0x4a8(%rbp)
subq $0x8, %rax
ja 0x4246
movq -0x4a8(%rbp), %rax
leaq 0x3d131(%rip), %rcx     # 0x41004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
jmp 0x4325
movq 0x4d0be(%rip), %rdi     # 0x50fb8
leaq 0x3d339(%rip), %rsi     # 0x4123a
callq 0x3240
movq %rax, -0x4b0(%rbp)
jmp 0x3f0f
movq -0x4b0(%rbp), %rdi
movq 0x4d083(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x3f24
jmp 0x4279
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
callq 0x148e0
jmp 0x3f3e
jmp 0x4279
leaq -0x278(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0x4500
jmp 0x3f58
leaq -0x2a8(%rbp), %rdi
leaq -0x238(%rbp), %rsi
callq 0x4530
jmp 0x3f6d
movq %rsp, %rax
leaq -0x2a8(%rbp), %rcx
movq %rcx, 0x18(%rax)
leaq -0x278(%rbp), %rcx
movq %rcx, 0x10(%rax)
leaq -0x1d8(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq -0x1a8(%rbp), %rcx
movq %rcx, (%rax)
leaq -0x88(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
leaq -0xe8(%rbp), %rdx
leaq -0x118(%rbp), %rcx
leaq -0x148(%rbp), %r8
leaq -0x178(%rbp), %r9
callq 0x16ae0
jmp 0x3fcc
leaq -0x2a8(%rbp), %rdi
callq 0x4560
leaq -0x278(%rbp), %rdi
callq 0x4580
jmp 0x4279
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
jmp 0x401b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
leaq -0x2a8(%rbp), %rdi
callq 0x4560
leaq -0x278(%rbp), %rdi
callq 0x4580
jmp 0x4325
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
callq 0x3aa20
jmp 0x4041
jmp 0x4279
movq %rsp, %rax
leaq -0x1d8(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq -0x1a8(%rbp), %rcx
movq %rcx, (%rax)
leaq -0x88(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
leaq -0xe8(%rbp), %rdx
leaq -0x118(%rbp), %rcx
leaq -0x148(%rbp), %r8
leaq -0x178(%rbp), %r9
callq 0x38a70
jmp 0x408f
jmp 0x4279
leaq -0x2d8(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0x4500
jmp 0x40a9
leaq -0x308(%rbp), %rdi
leaq -0x238(%rbp), %rsi
callq 0x4530
jmp 0x40be
movq %rsp, %rax
leaq -0x308(%rbp), %rcx
movq %rcx, 0x18(%rax)
leaq -0x2d8(%rbp), %rcx
movq %rcx, 0x10(%rax)
leaq -0x1d8(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq -0x1a8(%rbp), %rcx
movq %rcx, (%rax)
leaq -0x88(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
leaq -0xe8(%rbp), %rdx
leaq -0x118(%rbp), %rcx
leaq -0x148(%rbp), %r8
leaq -0x178(%rbp), %r9
callq 0x2af60
jmp 0x411d
leaq -0x308(%rbp), %rdi
callq 0x4560
leaq -0x2d8(%rbp), %rdi
callq 0x4580
jmp 0x4279
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
jmp 0x416c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
leaq -0x308(%rbp), %rdi
callq 0x4560
leaq -0x2d8(%rbp), %rdi
callq 0x4580
jmp 0x4325
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
callq 0x36780
jmp 0x4192
jmp 0x4279
movq %rsp, %rax
leaq -0x1d8(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq -0x1a8(%rbp), %rcx
movq %rcx, (%rax)
leaq -0x88(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
leaq -0xe8(%rbp), %rdx
leaq -0x118(%rbp), %rcx
leaq -0x148(%rbp), %r8
leaq -0x178(%rbp), %r9
callq 0x13460
jmp 0x41e0
jmp 0x4279
movq %rsp, %rax
leaq -0x1d8(%rbp), %rcx
movq %rcx, 0x18(%rax)
leaq -0x1a8(%rbp), %rcx
movq %rcx, 0x10(%rax)
leaq -0x178(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq -0x148(%rbp), %rcx
movq %rcx, (%rax)
leaq -0x208(%rbp), %rdi
leaq -0x238(%rbp), %rsi
leaq -0x88(%rbp), %rdx
leaq -0xb8(%rbp), %rcx
leaq -0xe8(%rbp), %r8
leaq -0x118(%rbp), %r9
callq 0x3bfc0
jmp 0x4244
jmp 0x4279
movq 0x4cd6b(%rip), %rdi     # 0x50fb8
leaq 0x3cffc(%rip), %rsi     # 0x41250
callq 0x3240
movq %rax, -0x4b8(%rbp)
jmp 0x4262
movq -0x4b8(%rbp), %rdi
movq 0x4cd30(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x4277
jmp 0x4279
jmp 0x427b
cmpl $0x0, -0x18(%rbp)
jne 0x3912
movl $0x0, -0x14(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x4560
leaq -0x208(%rbp), %rdi
callq 0x4580
leaq -0x1d8(%rbp), %rdi
callq 0x45a0
leaq -0x1a8(%rbp), %rdi
callq 0x45c0
leaq -0x178(%rbp), %rdi
callq 0x45e0
leaq -0x148(%rbp), %rdi
callq 0x4600
leaq -0x118(%rbp), %rdi
callq 0x4620
leaq -0xe8(%rbp), %rdi
callq 0x4640
leaq -0xb8(%rbp), %rdi
callq 0x4660
leaq -0x88(%rbp), %rdi
callq 0x4680
leaq -0x58(%rbp), %rdi
callq 0x3180
leaq -0x38(%rbp), %rdi
callq 0x3180
movl -0x14(%rbp), %eax
addq $0x4d0, %rsp            # imm = 0x4D0
popq %rbx
popq %r14
popq %rbp
retq
leaq -0x238(%rbp), %rdi
callq 0x4560
leaq -0x208(%rbp), %rdi
callq 0x4580
leaq -0x1d8(%rbp), %rdi
callq 0x45a0
leaq -0x1a8(%rbp), %rdi
callq 0x45c0
leaq -0x178(%rbp), %rdi
callq 0x45e0
leaq -0x148(%rbp), %rdi
callq 0x4600
leaq -0x118(%rbp), %rdi
callq 0x4620
leaq -0xe8(%rbp), %rdi
callq 0x4640
leaq -0xb8(%rbp), %rdi
callq 0x4660
leaq -0x88(%rbp), %rdi
callq 0x4680
leaq -0x58(%rbp), %rdi
callq 0x3180
leaq -0x38(%rbp), %rdi
callq 0x3180
movq -0x240(%rbp), %rdi
callq 0x33d0
nopl (%rax,%rax)