// File: /workspace/github_cpp_makefile_star2_O3/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 0x1300e
leaq 0x600(%rbx), %r14
movq %r14, %rdi
callq 0x25c8c
cmpq $0x0, 0x8(%r12)
je 0x2487d
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 0x2485f
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 0x13084
movq %r14, %rdi
movq %r13, %rsi
callq 0x1b32c
movl %ebp, (%rax)
incl %ebp
movq 0x28(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x2, 0x48(%rsp,%rax)
je 0x24811
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x2485f
callq 0x5410
movq 0x24752(%rip), %rsi     # 0x48fb8
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 0x15366(%rip), %rsi     # 0x39c00
leaq 0x15361(%rip), %rdx     # 0x39c02
leaq 0x28(%rsp), %rdi
callq 0xc85e
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x1f64c
movq %rax, %r15
leaq 0x608(%rbx), %r13
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x248d1
callq 0x5410
cmpq %r13, %r15
je 0x24918
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1531b(%rip), %rsi     # 0x39c00
leaq 0x15316(%rip), %rdx     # 0x39c02
callq 0xc85e
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x259ec
leaq 0x630(%rbx), %rcx
movl (%rax), %eax
movl %eax, (%rcx)
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x24918
callq 0x5410
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x159ff(%rip), %rsi     # 0x3a326
leaq 0x159fa(%rip), %rdx     # 0x3a328
callq 0xc85e
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x1f64c
movq %rax, %r15
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x24952
callq 0x5410
cmpq %r13, %r15
je 0x24996
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x159c0(%rip), %rsi     # 0x3a326
leaq 0x159bb(%rip), %rdx     # 0x3a328
callq 0xc85e
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x259ec
movl (%rax), %eax
movl %eax, 0x634(%rbx)
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x24996
callq 0x5410
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x15968(%rip), %rsi     # 0x3a30d
leaq 0x15963(%rip), %rdx     # 0x3a30f
callq 0xc85e
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x1f64c
movq %rax, %r15
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x249d0
callq 0x5410
cmpq %r13, %r15
je 0x24a14
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x15929(%rip), %rsi     # 0x3a30d
leaq 0x15924(%rip), %rdx     # 0x3a30f
callq 0xc85e
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x259ec
movl (%rax), %eax
movl %eax, 0x638(%rbx)
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x24a14
callq 0x5410
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x151e0(%rip), %rsi     # 0x39c03
leaq 0x151db(%rip), %rdx     # 0x39c05
callq 0xc85e
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x1f64c
movq %rax, %r15
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x24a4e
callq 0x5410
cmpq %r13, %r15
je 0x24a92
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x151a1(%rip), %rsi     # 0x39c03
leaq 0x1519c(%rip), %rdx     # 0x39c05
callq 0xc85e
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x259ec
movl (%rax), %eax
movl %eax, 0x63c(%rbx)
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x24a92
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 0x24ac7
jmp 0x24adb
jmp 0x24ac7
jmp 0x24adb
jmp 0x24ac7
jmp 0x24adb
jmp 0x24ac7
jmp 0x24adb
jmp 0x24ac7
jmp 0x24adb
jmp 0x24ac7
jmp 0x24adb
jmp 0x24ac7
jmp 0x24adb
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x24b15
callq 0x5410
jmp 0x24b15
movq %rax, %rbx
jmp 0x24b15
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x24af7
callq 0x5410
movq 0x244ba(%rip), %rsi     # 0x48fb8
leaq 0x28(%rsp), %rdi
callq 0x5610
leaq 0xa0(%rsp), %rdi
callq 0x5100
movq %rbx, %rdi
callq 0x57d0
nop