// File: /workspace/github_cpp_makefile_star2_O1/auton1[P]viterbi/vcf_entry_setters.cpp
// Function: vcf_entry::set_FORMAT(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void vcf_entry::set_FORMAT(const string &in)
{
	FORMAT.resize(0);
	FORMAT_to_idx.clear();

	if (in.size() > 0)
	{
		istringstream ss(in);
		string tmpstr;

		unsigned int pos=0;
		while(!ss.eof())
		{
			getline(ss, tmpstr, ':');
			add_FORMAT_entry(tmpstr, pos);
			pos++;
		}
	}

	GT_idx = -1;
	GQ_idx = -1;
	DP_idx = -1;
	FT_idx = -1;

	if (FORMAT_to_idx.find("GT") != FORMAT_to_idx.end())
		GT_idx = FORMAT_to_idx["GT"];
	if (FORMAT_to_idx.find("GQ") != FORMAT_to_idx.end())
		GQ_idx = FORMAT_to_idx["GQ"];
	if (FORMAT_to_idx.find("DP") != FORMAT_to_idx.end())
		DP_idx = FORMAT_to_idx["DP"];
	if (FORMAT_to_idx.find("FT") != FORMAT_to_idx.end())
		FT_idx = FORMAT_to_idx["FT"];

	parsed_FORMAT = true;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1a8, %rsp            # imm = 0x1A8
movq %rsi, %r12
movq %rdi, %rbx
leaq 0x498(%rdi), %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0x1300a
leaq 0x600(%rbx), %r14
movq %r14, %rdi
callq 0x25ebc
cmpq $0x0, 0x8(%r12)
je 0x24ac1
leaq 0x28(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movl $0x8, %edx
callq 0x5730
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq (%r13), %rax
movq -0x18(%rax), %rax
testb $0x2, 0x48(%rsp,%rax)
jne 0x24a8f
xorl %ebp, %ebp
leaq 0x28(%rsp), %r12
leaq 0x8(%rsp), %r13
movq %r12, %rdi
movq %r13, %rsi
movl $0x3a, %edx
callq 0x5830
movq %r15, %rdi
movq %r13, %rsi
callq 0x13080
movq %r14, %rdi
movq %r13, %rsi
callq 0x1b42a
movl %ebp, (%rax)
incl %ebp
movq 0x28(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x2, 0x48(%rsp,%rax)
je 0x24a55
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x24aa3
callq 0x5410
movq 0x2550e(%rip), %rsi     # 0x49fb8
leaq 0x28(%rsp), %rdi
callq 0x5610
leaq 0xa0(%rsp), %rdi
callq 0x5100
pcmpeqd %xmm0, %xmm0
movdqu %xmm0, 0x630(%rbx)
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x1614a(%rip), %rsi     # 0x3ac28
leaq 0x16145(%rip), %rdx     # 0x3ac2a
leaq 0x28(%rsp), %rdi
callq 0xc868
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x1f7ca
movq %rax, %r15
leaq 0x608(%rbx), %r13
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x24b15
callq 0x5410
cmpq %r13, %r15
je 0x24b5c
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x160ff(%rip), %rsi     # 0x3ac28
leaq 0x160fa(%rip), %rdx     # 0x3ac2a
callq 0xc868
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x25c1c
leaq 0x630(%rbx), %rcx
movl (%rax), %eax
movl %eax, (%rcx)
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x24b5c
callq 0x5410
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x167eb(%rip), %rsi     # 0x3b356
leaq 0x167e6(%rip), %rdx     # 0x3b358
callq 0xc868
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x1f7ca
movq %rax, %r15
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x24b96
callq 0x5410
cmpq %r13, %r15
je 0x24bda
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x167ac(%rip), %rsi     # 0x3b356
leaq 0x167a7(%rip), %rdx     # 0x3b358
callq 0xc868
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x25c1c
movl (%rax), %eax
movl %eax, 0x634(%rbx)
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x24bda
callq 0x5410
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x16754(%rip), %rsi     # 0x3b33d
leaq 0x1674f(%rip), %rdx     # 0x3b33f
callq 0xc868
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x1f7ca
movq %rax, %r15
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x24c14
callq 0x5410
cmpq %r13, %r15
je 0x24c58
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x16715(%rip), %rsi     # 0x3b33d
leaq 0x16710(%rip), %rdx     # 0x3b33f
callq 0xc868
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x25c1c
movl (%rax), %eax
movl %eax, 0x638(%rbx)
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x24c58
callq 0x5410
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x15fc4(%rip), %rsi     # 0x3ac2b
leaq 0x15fbf(%rip), %rdx     # 0x3ac2d
callq 0xc868
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x1f7ca
movq %rax, %r15
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x24c92
callq 0x5410
cmpq %r13, %r15
je 0x24cd6
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x15f85(%rip), %rsi     # 0x3ac2b
leaq 0x15f80(%rip), %rdx     # 0x3ac2d
callq 0xc868
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x25c1c
movl (%rax), %eax
movl %eax, 0x63c(%rbx)
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x24cd6
callq 0x5410
movb $0x1, 0x3dd(%rbx)
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x24d0b
jmp 0x24d1f
jmp 0x24d0b
jmp 0x24d1f
jmp 0x24d0b
jmp 0x24d1f
jmp 0x24d0b
jmp 0x24d1f
jmp 0x24d0b
jmp 0x24d1f
jmp 0x24d0b
jmp 0x24d1f
jmp 0x24d0b
jmp 0x24d1f
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x24d59
callq 0x5410
jmp 0x24d59
movq %rax, %rbx
jmp 0x24d59
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x24d3b
callq 0x5410
movq 0x25276(%rip), %rsi     # 0x49fb8
leaq 0x28(%rsp), %rdi
callq 0x5610
leaq 0xa0(%rsp), %rdi
callq 0x5100
movq %rbx, %rdi
callq 0x57d0
nop