// File: viniciu21[P]PetLolja/./src/PetFera.cpp
// Function: Petfera::salvar_doc_funcio()
void Petfera::salvar_doc_funcio()
{
	vector<string> chaves{"ID", "Classe", "Nome", "Numero", "contato", "Funcao", "Cpf", "Email", "Nivel", "seguranca", "Inscricao", "CRMV"};

	ifstream arqCache("cache_funcio.dat");
	ofstream arqDados("temp_func.dat");
	ofstream arqDados_csv("../banco/Dados_csv_funci.csv");
	vector<string> tokens_funcio;
	string linha;

	string palavra;

	while (arqCache >> linha)
	{
		if (linha != " " && linha != "==============")
		{
			tokens_funcio.push_back(linha);
		}
	}

	for (auto &novo : tokens_funcio)
	{
		arqDados << novo << endl;
	}

	for (unsigned int i = 0; i < tokens_funcio.size(); ++i)
	{
		for (unsigned int j = 0; j < chaves.size(); ++j)
		{
			if (tokens_funcio[i] == chaves[j] || tokens_funcio[i] == "|")
			{
				tokens_funcio[i] = "";
			}
		}
	}

	for (auto &novo : tokens_funcio)
	{
		if (novo == "." && novo != "")
		{
			arqDados_csv << "" << endl;
		}
		else if (novo != "")
		{
			arqDados_csv << novo << ";";
		}
	}

	inicio();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x9f0, %rsp            # imm = 0x9F0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x8a0(%rbp)
movb $0x1, -0x1d8(%rbp)
leaq -0x1b0(%rbp), %rax
movq %rax, -0x898(%rbp)
movq %rax, -0x1b8(%rbp)
leaq -0x1b9(%rbp), %rdi
movq %rdi, -0x890(%rbp)
callq 0x4330
movq -0x898(%rbp), %rdi
movq -0x890(%rbp), %rdx
leaq 0x37527(%rip), %rsi     # 0x48245
callq 0x4270
jmp 0x10d25
leaq -0x190(%rbp), %rax
movq %rax, -0x8b0(%rbp)
movq %rax, -0x1b8(%rbp)
leaq -0x1cd(%rbp), %rdi
movq %rdi, -0x8a8(%rbp)
callq 0x4330
movq -0x8b0(%rbp), %rdi
movq -0x8a8(%rbp), %rdx
leaq 0x374e6(%rip), %rsi     # 0x48248
callq 0x4270
jmp 0x10d69
leaq -0x170(%rbp), %rax
movq %rax, -0x8c0(%rbp)
movq %rax, -0x1b8(%rbp)
leaq -0x1ce(%rbp), %rdi
movq %rdi, -0x8b8(%rbp)
callq 0x4330
movq -0x8c0(%rbp), %rdi
movq -0x8b8(%rbp), %rdx
leaq 0x374a9(%rip), %rsi     # 0x4824f
callq 0x4270
jmp 0x10dad
leaq -0x150(%rbp), %rax
movq %rax, -0x8d0(%rbp)
movq %rax, -0x1b8(%rbp)
leaq -0x1cf(%rbp), %rdi
movq %rdi, -0x8c8(%rbp)
callq 0x4330
movq -0x8d0(%rbp), %rdi
movq -0x8c8(%rbp), %rdx
leaq 0x3756a(%rip), %rsi     # 0x48354
callq 0x4270
jmp 0x10df1
leaq -0x130(%rbp), %rax
movq %rax, -0x8e0(%rbp)
movq %rax, -0x1b8(%rbp)
leaq -0x1d0(%rbp), %rdi
movq %rdi, -0x8d8(%rbp)
callq 0x4330
movq -0x8e0(%rbp), %rdi
movq -0x8d8(%rbp), %rdx
leaq 0x3752d(%rip), %rsi     # 0x4835b
callq 0x4270
jmp 0x10e35
leaq -0x110(%rbp), %rax
movq %rax, -0x8f0(%rbp)
movq %rax, -0x1b8(%rbp)
leaq -0x1d1(%rbp), %rdi
movq %rdi, -0x8e8(%rbp)
callq 0x4330
movq -0x8f0(%rbp), %rdi
movq -0x8e8(%rbp), %rdx
leaq 0x374f1(%rip), %rsi     # 0x48363
callq 0x4270
jmp 0x10e79
leaq -0xf0(%rbp), %rax
movq %rax, -0x900(%rbp)
movq %rax, -0x1b8(%rbp)
leaq -0x1d2(%rbp), %rdi
movq %rdi, -0x8f8(%rbp)
callq 0x4330
movq -0x900(%rbp), %rdi
movq -0x8f8(%rbp), %rdx
leaq 0x374b4(%rip), %rsi     # 0x4836a
callq 0x4270
jmp 0x10ebd
leaq -0xd0(%rbp), %rax
movq %rax, -0x910(%rbp)
movq %rax, -0x1b8(%rbp)
leaq -0x1d3(%rbp), %rdi
movq %rdi, -0x908(%rbp)
callq 0x4330
movq -0x910(%rbp), %rdi
movq -0x908(%rbp), %rdx
leaq 0x37474(%rip), %rsi     # 0x4836e
callq 0x4270
jmp 0x10f01
leaq -0xb0(%rbp), %rax
movq %rax, -0x920(%rbp)
movq %rax, -0x1b8(%rbp)
leaq -0x1d4(%rbp), %rdi
movq %rdi, -0x918(%rbp)
callq 0x4330
movq -0x920(%rbp), %rdi
movq -0x918(%rbp), %rdx
leaq 0x37436(%rip), %rsi     # 0x48374
callq 0x4270
jmp 0x10f45
leaq -0x90(%rbp), %rax
movq %rax, -0x930(%rbp)
movq %rax, -0x1b8(%rbp)
leaq -0x1d5(%rbp), %rdi
movq %rdi, -0x928(%rbp)
callq 0x4330
movq -0x930(%rbp), %rdi
movq -0x928(%rbp), %rdx
leaq 0x36e67(%rip), %rsi     # 0x47de9
callq 0x4270
jmp 0x10f89
leaq -0x70(%rbp), %rax
movq %rax, -0x940(%rbp)
movq %rax, -0x1b8(%rbp)
leaq -0x1d6(%rbp), %rdi
movq %rdi, -0x938(%rbp)
callq 0x4330
movq -0x940(%rbp), %rdi
movq -0x938(%rbp), %rdx
leaq 0x373b7(%rip), %rsi     # 0x4837a
callq 0x4270
jmp 0x10fca
leaq -0x50(%rbp), %rax
movq %rax, -0x950(%rbp)
movq %rax, -0x1b8(%rbp)
leaq -0x1d7(%rbp), %rdi
movq %rdi, -0x948(%rbp)
callq 0x4330
movq -0x950(%rbp), %rdi
movq -0x948(%rbp), %rdx
leaq 0x36dc6(%rip), %rsi     # 0x47dca
callq 0x4270
jmp 0x1100b
movb $0x0, -0x1d8(%rbp)
leaq -0x1b0(%rbp), %rax
movq %rax, -0x30(%rbp)
movq $0xc, -0x28(%rbp)
leaq -0x1d9(%rbp), %rdi
movq %rdi, -0x958(%rbp)
callq 0x22790
movq -0x958(%rbp), %rcx
movq -0x30(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x20(%rbp), %rdi
callq 0x227b0
jmp 0x11052
leaq -0x1d9(%rbp), %rdi
callq 0x22830
leaq -0x1b0(%rbp), %rax
movq %rax, -0x968(%rbp)
addq $0x180, %rax            # imm = 0x180
movq %rax, -0x960(%rbp)
movq -0x960(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x970(%rbp)
callq 0x4140
movq -0x968(%rbp), %rcx
movq -0x970(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x960(%rbp)
jne 0x11079
leaq -0x1d7(%rbp), %rdi
callq 0x4200
leaq -0x1d6(%rbp), %rdi
callq 0x4200
leaq -0x1d5(%rbp), %rdi
callq 0x4200
leaq -0x1d4(%rbp), %rdi
callq 0x4200
leaq -0x1d3(%rbp), %rdi
callq 0x4200
leaq -0x1d2(%rbp), %rdi
callq 0x4200
leaq -0x1d1(%rbp), %rdi
callq 0x4200
leaq -0x1d0(%rbp), %rdi
callq 0x4200
leaq -0x1cf(%rbp), %rdi
callq 0x4200
leaq -0x1ce(%rbp), %rdi
callq 0x4200
leaq -0x1cd(%rbp), %rdi
callq 0x4200
leaq -0x1b9(%rbp), %rdi
callq 0x4200
leaq 0x35d77(%rip), %rsi     # 0x46eb8
leaq -0x3e8(%rbp), %rdi
movl $0x8, %edx
callq 0x4350
jmp 0x11154
leaq 0x37229(%rip), %rsi     # 0x48384
leaq -0x5e8(%rbp), %rdi
movl $0x10, %edx
callq 0x4210
jmp 0x1116e
leaq 0x356db(%rip), %rsi     # 0x46850
leaq -0x7e8(%rbp), %rdi
movl $0x10, %edx
callq 0x4210
jmp 0x11188
leaq -0x800(%rbp), %rdi
callq 0x1ebb0
leaq -0x820(%rbp), %rdi
callq 0x4280
leaq -0x840(%rbp), %rdi
callq 0x4280
leaq -0x3e8(%rbp), %rdi
leaq -0x820(%rbp), %rsi
callq 0x4240
movq %rax, -0x978(%rbp)
jmp 0x111c8
movq -0x978(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x4230
movb %al, -0x979(%rbp)
jmp 0x111e6
movb -0x979(%rbp), %al
testb $0x1, %al
jne 0x111f5
jmp 0x1155e
leaq 0x377b1(%rip), %rsi     # 0x489ad
leaq -0x820(%rbp), %rdi
callq 0x221b0
movb %al, -0x97a(%rbp)
jmp 0x11210
movb -0x97a(%rbp), %al
testb $0x1, %al
jne 0x1121f
jmp 0x11559
leaq 0x35382(%rip), %rsi     # 0x465a8
leaq -0x820(%rbp), %rdi
callq 0x221b0
movb %al, -0x97b(%rbp)
jmp 0x1123a
movb -0x97b(%rbp), %al
testb $0x1, %al
jne 0x11249
jmp 0x11559
leaq -0x800(%rbp), %rdi
leaq -0x820(%rbp), %rsi
callq 0x1ebd0
jmp 0x1125e
jmp 0x11559
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x11464
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x11458
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x1144c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x11440
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x11434
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x11428
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x1141c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x11410
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x11404
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x113f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x113ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x113e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
leaq -0x1d9(%rbp), %rdi
callq 0x22830
leaq -0x1b0(%rbp), %rax
movq %rax, -0x990(%rbp)
addq $0x180, %rax            # imm = 0x180
movq %rax, -0x988(%rbp)
movq -0x988(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x998(%rbp)
callq 0x4140
movq -0x990(%rbp), %rcx
movq -0x998(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x988(%rbp)
jne 0x113ad
jmp 0x113e0
leaq -0x1d7(%rbp), %rdi
callq 0x4200
leaq -0x1d6(%rbp), %rdi
callq 0x4200
leaq -0x1d5(%rbp), %rdi
callq 0x4200
leaq -0x1d4(%rbp), %rdi
callq 0x4200
leaq -0x1d3(%rbp), %rdi
callq 0x4200
leaq -0x1d2(%rbp), %rdi
callq 0x4200
leaq -0x1d1(%rbp), %rdi
callq 0x4200
leaq -0x1d0(%rbp), %rdi
callq 0x4200
leaq -0x1cf(%rbp), %rdi
callq 0x4200
leaq -0x1ce(%rbp), %rdi
callq 0x4200
leaq -0x1cd(%rbp), %rdi
callq 0x4200
leaq -0x1b9(%rbp), %rdi
callq 0x4200
testb $0x1, -0x1d8(%rbp)
jne 0x1147b
jmp 0x114c8
movq -0x1b8(%rbp), %rax
leaq -0x1b0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x9a0(%rbp)
je 0x114c6
movq -0x9a0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x9a8(%rbp)
callq 0x4140
movq -0x9a8(%rbp), %rax
leaq -0x1b0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x9a0(%rbp)
jne 0x11495
jmp 0x114c8
jmp 0x1190d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x11904
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x118f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
jmp 0x118ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c8(%rbp)
movl %eax, -0x1cc(%rbp)
leaq -0x840(%rbp), %rdi
callq 0x4140
leaq -0x820(%rbp), %rdi
callq 0x4140
leaq -0x800(%rbp), %rdi
callq 0x1eef0
leaq -0x7e8(%rbp), %rdi
callq 0x42c0
jmp 0x118ec
jmp 0x111ac
leaq -0x800(%rbp), %rax
movq %rax, -0x848(%rbp)
movq -0x848(%rbp), %rdi
callq 0x22850
movq %rax, -0x850(%rbp)
movq -0x848(%rbp), %rdi
callq 0x22880
movq %rax, -0x858(%rbp)
leaq -0x850(%rbp), %rdi
leaq -0x858(%rbp), %rsi
callq 0x228b0
testb $0x1, %al
jne 0x115ab
jmp 0x115ff
leaq -0x850(%rbp), %rdi
callq 0x228f0
movq %rax, -0x860(%rbp)
movq -0x860(%rbp), %rsi
leaq -0x5e8(%rbp), %rdi
callq 0x41b0
movq %rax, -0x9b0(%rbp)
jmp 0x115da
movq -0x9b0(%rbp), %rdi
movq 0x4a9c8(%rip), %rsi     # 0x5bfb0
callq 0x41f0
jmp 0x115ef
jmp 0x115f1
leaq -0x850(%rbp), %rdi
callq 0x22910
jmp 0x11592
movl $0x0, -0x864(%rbp)
movl -0x864(%rbp), %eax
movq %rax, -0x9b8(%rbp)
leaq -0x800(%rbp), %rdi
callq 0x22930
movq %rax, %rcx
movq -0x9b8(%rbp), %rax
cmpq %rcx, %rax
jae 0x11731
movl $0x0, -0x868(%rbp)
movl -0x868(%rbp), %eax
movq %rax, -0x9c0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x22930
movq %rax, %rcx
movq -0x9c0(%rbp), %rax
cmpq %rcx, %rax
jae 0x1171b
movl -0x864(%rbp), %eax
movl %eax, %esi
leaq -0x800(%rbp), %rdi
callq 0x22950
movq %rax, -0x9c8(%rbp)
movl -0x868(%rbp), %eax
movl %eax, %esi
leaq -0x20(%rbp), %rdi
callq 0x22950
movq -0x9c8(%rbp), %rdi
movq %rax, %rsi
callq 0x20950
testb $0x1, %al
jne 0x116de
movl -0x864(%rbp), %eax
movl %eax, %esi
leaq -0x800(%rbp), %rdi
callq 0x22950
movq %rax, %rdi
leaq 0x36c8b(%rip), %rsi     # 0x48350
callq 0x1ec40
movb %al, -0x9c9(%rbp)
jmp 0x116d2
movb -0x9c9(%rbp), %al
testb $0x1, %al
jne 0x116de
jmp 0x11705
movl -0x864(%rbp), %eax
movl %eax, %esi
leaq -0x800(%rbp), %rdi
callq 0x22950
movq %rax, %rdi
leaq 0x352a6(%rip), %rsi     # 0x469a2
callq 0x4260
jmp 0x11703
jmp 0x11705
jmp 0x11707
movl -0x868(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x868(%rbp)
jmp 0x1163f
jmp 0x1171d
movl -0x864(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x864(%rbp)
jmp 0x11609
leaq -0x800(%rbp), %rax
movq %rax, -0x870(%rbp)
movq -0x870(%rbp), %rdi
callq 0x22850
movq %rax, -0x878(%rbp)
movq -0x870(%rbp), %rdi
callq 0x22880
movq %rax, -0x880(%rbp)
leaq -0x878(%rbp), %rdi
leaq -0x880(%rbp), %rsi
callq 0x228b0
testb $0x1, %al
jne 0x11781
jmp 0x11884
leaq -0x878(%rbp), %rdi
callq 0x228f0
movq %rax, -0x888(%rbp)
movq -0x888(%rbp), %rdi
leaq 0x34a49(%rip), %rsi     # 0x461eb
callq 0x1ec40
movb %al, -0x9ca(%rbp)
jmp 0x117af
movb -0x9ca(%rbp), %al
testb $0x1, %al
jne 0x117bb
jmp 0x11815
movq -0x888(%rbp), %rdi
leaq 0x351d9(%rip), %rsi     # 0x469a2
callq 0x221b0
movb %al, -0x9cb(%rbp)
jmp 0x117d6
movb -0x9cb(%rbp), %al
testb $0x1, %al
jne 0x117e2
jmp 0x11815
leaq 0x351b9(%rip), %rsi     # 0x469a2
leaq -0x7e8(%rbp), %rdi
callq 0x41c0
movq %rax, -0x9d8(%rbp)
jmp 0x117fe
movq -0x9d8(%rbp), %rdi
movq 0x4a7a4(%rip), %rsi     # 0x5bfb0
callq 0x41f0
jmp 0x11813
jmp 0x11871
movq -0x888(%rbp), %rdi
leaq 0x3517f(%rip), %rsi     # 0x469a2
callq 0x221b0
movb %al, -0x9d9(%rbp)
jmp 0x11830
movb -0x9d9(%rbp), %al
testb $0x1, %al
jne 0x1183c
jmp 0x1186f
movq -0x888(%rbp), %rsi
leaq -0x7e8(%rbp), %rdi
callq 0x41b0
movq %rax, -0x9e8(%rbp)
jmp 0x11858
movq -0x9e8(%rbp), %rdi
leaq 0x36aec(%rip), %rsi     # 0x48352
callq 0x41c0
jmp 0x1186d
jmp 0x1186f
jmp 0x11871
jmp 0x11873
leaq -0x878(%rbp), %rdi
callq 0x22910
jmp 0x11765
movq -0x8a0(%rbp), %rdi
callq 0xf540
jmp 0x11892
leaq -0x840(%rbp), %rdi
callq 0x4140
leaq -0x820(%rbp), %rdi
callq 0x4140
leaq -0x800(%rbp), %rdi
callq 0x1eef0
leaq -0x7e8(%rbp), %rdi
callq 0x42c0
leaq -0x5e8(%rbp), %rdi
callq 0x42c0
leaq -0x3e8(%rbp), %rdi
callq 0x4080
leaq -0x20(%rbp), %rdi
callq 0x1eef0
addq $0x9f0, %rsp            # imm = 0x9F0
popq %rbp
retq
leaq -0x5e8(%rbp), %rdi
callq 0x42c0
leaq -0x3e8(%rbp), %rdi
callq 0x4080
leaq -0x20(%rbp), %rdi
callq 0x1eef0
movq -0x1c8(%rbp), %rdi
callq 0x4320
nopl (%rax)