// File: auton1[P]viterbi/bcf_entry_setters.cpp
// Function: bcf_entry::set_FILTER()
void bcf_entry::set_FILTER()
{
	FILTER_str = get_int_vector( &FILTER_pos, line );
	FILTER.resize(0);

	if ( (FILTER_str.size() == 1) and entry_header.FILTER_map[ FILTER_str[0] ].ID == "")
	{
		FILTER.push_back("PASS");
		return;
	}

	for (unsigned int ui=0; ui<FILTER_str.size(); ui++)
	{
		if ((int8_t)FILTER_str[ui] != (int8_t)0x80)
			FILTER.push_back( entry_header.FILTER_map[ FILTER_str[ui] ].ID );
		else
			FILTER.push_back( "." );
	}
	sort(FILTER.begin(), FILTER.end());
	parsed_FILTER = true;
}

// Assembly:
subq $0xd8, %rsp
movq %rdi, 0xd0(%rsp)
movq 0xd0(%rsp), %rsi
movq %rsi, 0x40(%rsp)
movq %rsi, %rdx
addq $0x6ec, %rdx            # imm = 0x6EC
movq %rsi, %rcx
addq $0x3c0, %rcx            # imm = 0x3C0
leaq 0xb8(%rsp), %rdi
callq 0x48e70
movq 0x40(%rsp), %rdi
addq $0x6d0, %rdi            # imm = 0x6D0
leaq 0xb8(%rsp), %rsi
callq 0x59300
leaq 0xb8(%rsp), %rdi
callq 0xed70
movq 0x40(%rsp), %rdi
addq $0x468, %rdi            # imm = 0x468
xorl %eax, %eax
movl %eax, %esi
callq 0x2a0f0
movq 0x40(%rsp), %rdi
addq $0x6d0, %rdi            # imm = 0x6D0
callq 0x10be0
cmpq $0x1, %rax
jne 0x5908c
movq 0x40(%rsp), %rdi
movq %rdi, %rax
addq $0x10, %rax
addq $0x90, %rax
movq %rax, 0x38(%rsp)
addq $0x6d0, %rdi            # imm = 0x6D0
xorl %eax, %eax
movl %eax, %esi
callq 0xecf0
movq 0x38(%rsp), %rdi
movq %rax, %rsi
callq 0x30ef0
movq %rax, %rdi
addq $0x20, %rdi
leaq 0x1cd64(%rip), %rsi     # 0x75d29
callq 0xea20
testb $0x1, %al
jne 0x58fd3
jmp 0x5908c
movq 0x40(%rsp), %rax
addq $0x468, %rax            # imm = 0x468
movq %rax, 0x28(%rsp)
leaq 0x97(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x69f0
movq 0x30(%rsp), %rdx
leaq 0x1b523(%rip), %rsi     # 0x74524
leaq 0x98(%rsp), %rdi
callq 0x67c0
jmp 0x59010
movq 0x28(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x2a240
jmp 0x59024
leaq 0x98(%rsp), %rdi
callq 0x6b50
leaq 0x97(%rsp), %rdi
callq 0x65f0
jmp 0x59241
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
jmp 0x5907a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
leaq 0x98(%rsp), %rdi
callq 0x6b50
leaq 0x97(%rsp), %rdi
callq 0x65f0
jmp 0x59249
movl $0x0, 0x80(%rsp)
movq 0x40(%rsp), %rdi
movl 0x80(%rsp), %eax
movq %rax, 0x20(%rsp)
addq $0x6d0, %rdi            # imm = 0x6D0
callq 0x10be0
movq %rax, %rcx
movq 0x20(%rsp), %rax
cmpq %rcx, %rax
jae 0x591fa
movq 0x40(%rsp), %rdi
addq $0x6d0, %rdi            # imm = 0x6D0
movl 0x80(%rsp), %eax
movl %eax, %esi
callq 0xecf0
movl (%rax), %eax
movsbl %al, %eax
cmpl $-0x80, %eax
je 0x59146
movq 0x40(%rsp), %rdi
movq %rdi, %rax
addq $0x468, %rax            # imm = 0x468
movq %rax, 0x18(%rsp)
movq %rdi, %rax
addq $0x10, %rax
addq $0x90, %rax
movq %rax, 0x10(%rsp)
addq $0x6d0, %rdi            # imm = 0x6D0
movl 0x80(%rsp), %eax
movl %eax, %esi
callq 0xecf0
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0x30ef0
movq 0x18(%rsp), %rdi
movq %rax, %rsi
addq $0x20, %rsi
callq 0x2a190
jmp 0x591e2
movq 0x40(%rsp), %rax
addq $0x468, %rax            # imm = 0x468
movq %rax, (%rsp)
leaq 0x5f(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x69f0
movq 0x8(%rsp), %rdx
leaq 0x1bf6e(%rip), %rsi     # 0x750de
leaq 0x60(%rsp), %rdi
callq 0x67c0
jmp 0x5917c
movq (%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x2a240
jmp 0x5918c
leaq 0x60(%rsp), %rdi
callq 0x6b50
leaq 0x5f(%rsp), %rdi
callq 0x65f0
jmp 0x591e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
jmp 0x591d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x6b50
leaq 0x5f(%rsp), %rdi
callq 0x65f0
jmp 0x59249
jmp 0x591e4
movl 0x80(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x80(%rsp)
jmp 0x59097
movq 0x40(%rsp), %rdi
addq $0x468, %rdi            # imm = 0x468
callq 0x211d0
movq 0x40(%rsp), %rdi
movq %rax, 0x50(%rsp)
addq $0x468, %rdi            # imm = 0x468
callq 0x21200
movq %rax, 0x48(%rsp)
movq 0x50(%rsp), %rdi
movq 0x48(%rsp), %rsi
callq 0x52030
movq 0x40(%rsp), %rax
movb $0x1, 0x3db(%rax)
addq $0xd8, %rsp
retq
movq 0x88(%rsp), %rdi
callq 0x69e0
nopw %cs:(%rax,%rax)