// File: /workspace/github_cpp_makefile_star2_O3/auton1[P]viterbi/header.cpp
// Function: header::add_FORMAT_descriptor(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, int)
int header::add_FORMAT_descriptor(const string &in, int index)
{
	size_t found_end=in.find_last_of(">");
	string details = in.substr(0, found_end);

	vector<string> tokens;
	tokenize(details, ',', tokens);
	Field_description I;
	I.Field = "FORMAT";

	if (tokens.size() < 4)
		LOG.error("Expected at least 4 parts in FORMAT definition: " + in);

	vector<string> entry;
	for (unsigned int ui=0; ui<tokens.size(); ui++)
	{
		tokenize(tokens[ui], '=', entry);
		if (entry[0] == "ID") I.ID = entry[1];
		else if (entry[0] == "Number")
		{
			if ((entry[1] == "A") || (entry[1] == "G"))
				I.N_entries = -1;
			else
				I.N_entries = str2int(entry[1]);
			I.N_entries_str = entry[1];
		}
		else if (entry[0] == "Type")
		{
			if (entry[1] == "Integer") {I.Type_str = "Integer"; I.Type = Integer;}
			else if ((entry[1] == "Float") || (entry[1] == "Numeric")) {I.Type_str = "Float"; I.Type = Float;}
			else if (entry[1] == "Character") {I.Type_str = "Character"; I.Type = Character;}
			else if (entry[1] == "String") {I.Type_str = "String"; I.Type = String;}
			else if (entry[1] == "Flag")
			{
				I.Type = Flag;
				I.Type_str = "Flag";
				if (I.N_entries != 0) LOG.error("Flag Type must have 0 entries: " + in);
			}
			else LOG.error("Unknown Type in FORMAT meta-information: " + in);
		}
		else if (entry[0] == "Description")	I.Description = entry[1];
		else if (entry[0] == "IDX")
		{
			has_idx = true;
			I.idx = str2int(entry[1]);
		}
		else
		{
			if (I.Other != "")
				I.Other += ",";
			I.Other += tokens[ui];
		}
	}

	if (I.ID == "") LOG.error("ID required in FORMAT field description: " + in);
	if (I.N_entries_str == "") LOG.error("Number required in FORMAT field description: " + in);
	if (I.Type_str == "") LOG.error("Type required in FORMAT field description: " + in);
	if (I.Description == "") LOG.error("Description required in FORMAT field description: " + in);
	if ((I.idx == -1) && (has_idx)) LOG.error("Missing index in FORMAT field description: " + in);
	parsed_lines.push_back(I);

	if (I.idx != -1)
	{
		FORMAT_map[I.idx] = I;
		FORMAT_reverse_map[I.ID] = I.idx;
		return 0;
	}
	else
	{
		if ( FILTER_reverse_map.find( I.ID ) != FILTER_reverse_map.end() )
		{
			FORMAT_map[ FILTER_reverse_map[ I.ID ] ] = I;
			FORMAT_reverse_map[I.ID] = FILTER_reverse_map[ I.ID ];
			return 0;
		}
		else if ( INFO_reverse_map.find( I.ID ) != INFO_reverse_map.end() )
		{
			FORMAT_map[ INFO_reverse_map[ I.ID ] ] = I;
			FORMAT_reverse_map[I.ID] = INFO_reverse_map[ I.ID ];
			return 0;
		}
		else if ( FORMAT_reverse_map.find( I.ID ) != FORMAT_reverse_map.end() )
			return 0;
		else
		{
			FORMAT_map[ index ] = I;
			FORMAT_reverse_map[I.ID] = index;
			return 1;
		}
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2c8, %rsp            # imm = 0x2C8
movq %rsi, %r15
movq %rdi, %r14
movl %edx, 0x34(%rsp)
leaq 0x238a8(%rip), %rsi     # 0x38bb8
movl $0x1, %ecx
movq %r15, %rdi
movq $-0x1, %rdx
callq 0x5890
leaq 0x2a8(%rsp), %rbx
movq %rbx, %rdi
movq %r15, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x5480
xorps %xmm0, %xmm0
leaq 0x40(%rsp), %rdx
movaps %xmm0, (%rdx)
movq $0x0, 0x10(%rdx)
movq %rbx, %rdi
movl $0x2c, %esi
callq 0x16a0a
leaq 0x58(%rsp), %rdi
callq 0x174bc
leaq 0x58(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x237f5(%rip), %rcx     # 0x38b6b
movl $0x6, %r8d
xorl %esi, %esi
callq 0x5690
movq 0x48(%rsp), %rax
subq 0x40(%rsp), %rax
cmpq $0x7f, %rax
ja 0x153d9
leaq 0x239cd(%rip), %rsi     # 0x38d67
leaq 0x288(%rsp), %rdi
movq %r15, %rdx
callq 0xb777
leaq 0x340f7(%rip), %rdi     # 0x494a8
leaq 0x288(%rsp), %rsi
movl $0x1, %edx
callq 0x36ec8
leaq 0x298(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x153d9
callq 0x5410
movq %r15, 0x38(%rsp)
movq %r14, 0x8(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movq $0x0, 0x20(%rsp)
movq 0x40(%rsp), %rdi
cmpq %rdi, 0x48(%rsp)
je 0x1580d
movl $0x1, %r15d
xorl %ebx, %ebx
leaq 0x10(%rsp), %r13
leaq 0x23662(%rip), %rbp     # 0x38a7a
leaq 0x237ca(%rip), %r12     # 0x38be9
leaq 0x237ce(%rip), %r14     # 0x38bf4
shlq $0x5, %rbx
addq %rbx, %rdi
movl $0x3d, %esi
movq %r13, %rdx
callq 0x16a0a
movq 0x10(%rsp), %rdi
movq %rbp, %rsi
callq 0x50e0
movq 0x10(%rsp), %rsi
testl %eax, %eax
je 0x154fd
movq %rsi, %rdi
movq %r12, %rsi
callq 0x50e0
movq 0x10(%rsp), %rdi
testl %eax, %eax
je 0x15507
movq %r14, %rsi
callq 0x50e0
movq 0x10(%rsp), %rdi
testl %eax, %eax
je 0x15567
leaq 0x237e5(%rip), %rsi     # 0x38c6d
callq 0x50e0
movq 0x10(%rsp), %rsi
testl %eax, %eax
je 0x15663
movq %rsi, %rdi
leaq 0x237e4(%rip), %rsi     # 0x38c88
callq 0x50e0
testl %eax, %eax
je 0x15699
leaq 0x188(%rsp), %rdi
leaq 0x24a17(%rip), %rsi     # 0x39ed7
callq 0x50e0
testl %eax, %eax
je 0x154dd
leaq 0x188(%rsp), %rdi
leaq 0x237b4(%rip), %rsi     # 0x38c8c
callq 0x5870
movq 0x40(%rsp), %rax
movq (%rax,%rbx), %rsi
movq 0x8(%rax,%rbx), %rdx
leaq 0x188(%rsp), %rdi
callq 0x50f0
jmp 0x15674
leaq 0x78(%rsp), %rdi
jmp 0x1566b
addq $0x20, %rdi
leaq 0x236de(%rip), %rsi     # 0x38bf0
callq 0x50e0
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
testl %eax, %eax
je 0x1554e
movq 0x10(%rsp), %rdi
addq $0x20, %rdi
leaq 0x236c2(%rip), %rsi     # 0x38bf2
callq 0x50e0
testl %eax, %eax
je 0x1554e
movq 0x10(%rsp), %rdi
addq $0x20, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x16afa
movl %eax, %ebx
movl %ebx, 0x9c(%rsp)
movq 0x10(%rsp), %rsi
leaq 0xa0(%rsp), %rdi
jmp 0x1566b
addq $0x20, %rdi
leaq 0x23687(%rip), %rbx     # 0x38bf9
movq %rbx, %rsi
callq 0x50e0
testl %eax, %eax
je 0x156ef
movq 0x10(%rsp), %rdi
addq $0x20, %rdi
leaq 0x2366f(%rip), %rsi     # 0x38c01
callq 0x50e0
testl %eax, %eax
je 0x156be
movq 0x10(%rsp), %rdi
addq $0x20, %rdi
leaq 0x23658(%rip), %rsi     # 0x38c07
callq 0x50e0
testl %eax, %eax
je 0x156be
movq 0x10(%rsp), %rdi
addq $0x20, %rdi
leaq 0x23643(%rip), %rbx     # 0x38c0f
movq %rbx, %rsi
callq 0x50e0
testl %eax, %eax
je 0x1571f
movq 0x10(%rsp), %rdi
addq $0x20, %rdi
leaq 0x2362d(%rip), %rbx     # 0x38c19
movq %rbx, %rsi
callq 0x50e0
testl %eax, %eax
je 0x1574f
movq 0x10(%rsp), %rdi
addq $0x20, %rdi
leaq 0x23614(%rip), %rbx     # 0x38c20
movq %rbx, %rsi
callq 0x50e0
testl %eax, %eax
je 0x1577f
leaq 0x1a8(%rsp), %rdi
leaq 0x2376d(%rip), %rsi     # 0x38d98
movq 0x38(%rsp), %rdx
callq 0xb777
leaq 0x33e6c(%rip), %rdi     # 0x494a8
leaq 0x1a8(%rsp), %rsi
movl $0x1, %edx
callq 0x36ec8
movq 0x1a8(%rsp), %rdi
leaq 0x1b8(%rsp), %rax
jmp 0x157fa
leaq 0xe8(%rsp), %rdi
addq $0x20, %rsi
callq 0x51f0
movl %r15d, %ebx
movq 0x40(%rsp), %rdi
movq 0x48(%rsp), %rax
subq %rdi, %rax
sarq $0x5, %rax
incl %r15d
cmpq %rbx, %rax
ja 0x15426
jmp 0x1580d
movq 0x8(%rsp), %rax
movb $0x1, 0x8(%rax)
movq 0x10(%rsp), %rdi
addq $0x20, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x16afa
movl %eax, 0x98(%rsp)
jmp 0x15674
movq 0xc8(%rsp), %rdx
movl $0x5, %r8d
leaq 0xc0(%rsp), %rdi
xorl %esi, %esi
leaq 0x23524(%rip), %rcx     # 0x38c01
callq 0x5690
movl $0x1, 0xe0(%rsp)
jmp 0x15674
movq 0xc8(%rsp), %rdx
movl $0x7, %r8d
leaq 0xc0(%rsp), %rdi
xorl %esi, %esi
movq %rbx, %rcx
callq 0x5690
movl $0x0, 0xe0(%rsp)
jmp 0x15674
movq 0xc8(%rsp), %rdx
movl $0x9, %r8d
leaq 0xc0(%rsp), %rdi
xorl %esi, %esi
movq %rbx, %rcx
callq 0x5690
movl $0x2, 0xe0(%rsp)
jmp 0x15674
movq 0xc8(%rsp), %rdx
movl $0x6, %r8d
leaq 0xc0(%rsp), %rdi
xorl %esi, %esi
movq %rbx, %rcx
callq 0x5690
movl $0x3, 0xe0(%rsp)
jmp 0x15674
movl $0x4, 0xe0(%rsp)
movq 0xc8(%rsp), %rdx
movl $0x4, %r8d
leaq 0xc0(%rsp), %rdi
xorl %esi, %esi
movq %rbx, %rcx
callq 0x5690
cmpl $0x0, 0x9c(%rsp)
je 0x15674
leaq 0x1c8(%rsp), %rdi
leaq 0x2345e(%rip), %rsi     # 0x38c25
movq 0x38(%rsp), %rdx
callq 0xb777
leaq 0x33cd0(%rip), %rdi     # 0x494a8
leaq 0x1c8(%rsp), %rsi
movl $0x1, %edx
callq 0x36ec8
movq 0x1c8(%rsp), %rdi
leaq 0x1d8(%rsp), %rax
cmpq %rax, %rdi
je 0x15674
callq 0x5410
jmp 0x15674
leaq 0x78(%rsp), %rdi
leaq 0x246be(%rip), %rsi     # 0x39ed7
callq 0x50e0
testl %eax, %eax
movq 0x38(%rsp), %rbx
jne 0x1586d
leaq 0x23594(%rip), %rsi     # 0x38dc2
leaq 0x268(%rsp), %rdi
movq %rbx, %rdx
callq 0xb777
leaq 0x33c63(%rip), %rdi     # 0x494a8
leaq 0x268(%rsp), %rsi
movl $0x1, %edx
callq 0x36ec8
leaq 0x278(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1586d
callq 0x5410
leaq 0xa0(%rsp), %rdi
leaq 0x2465b(%rip), %rsi     # 0x39ed7
callq 0x50e0
testl %eax, %eax
jne 0x158cb
leaq 0x23560(%rip), %rsi     # 0x38dec
leaq 0x248(%rsp), %rdi
movq %rbx, %rdx
callq 0xb777
leaq 0x33c05(%rip), %rdi     # 0x494a8
leaq 0x248(%rsp), %rsi
movl $0x1, %edx
callq 0x36ec8
leaq 0x258(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x158cb
callq 0x5410
leaq 0xc0(%rsp), %r13
leaq 0x245fd(%rip), %rsi     # 0x39ed7
movq %r13, %rdi
callq 0x50e0
testl %eax, %eax
jne 0x1592c
leaq 0x2352d(%rip), %rsi     # 0x38e1a
leaq 0x228(%rsp), %rdi
movq %rbx, %rdx
callq 0xb777
leaq 0x33ba4(%rip), %rdi     # 0x494a8
leaq 0x228(%rsp), %rsi
movl $0x1, %edx
callq 0x36ec8
leaq 0x238(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1592c
callq 0x5410
leaq 0xe8(%rsp), %rbp
leaq 0x2459c(%rip), %rsi     # 0x39ed7
movq %rbp, %rdi
callq 0x50e0
testl %eax, %eax
jne 0x1598d
leaq 0x234f8(%rip), %rsi     # 0x38e46
leaq 0x208(%rsp), %rdi
movq %rbx, %rdx
callq 0xb777
leaq 0x33b43(%rip), %rdi     # 0x494a8
leaq 0x208(%rsp), %rsi
movl $0x1, %edx
callq 0x36ec8
leaq 0x218(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1598d
callq 0x5410
cmpl $-0x1, 0x98(%rsp)
jne 0x159e8
movq 0x8(%rsp), %rax
cmpb $0x1, 0x8(%rax)
jne 0x159e8
leaq 0x234d0(%rip), %rsi     # 0x38e79
leaq 0x1e8(%rsp), %rdi
movq %rbx, %rdx
callq 0xb777
leaq 0x33ae8(%rip), %rdi     # 0x494a8
leaq 0x1e8(%rsp), %rsi
movl $0x1, %edx
callq 0x36ec8
leaq 0x1f8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x159e8
callq 0x5410
movq 0x8(%rsp), %rax
leaq 0x40(%rax), %rdi
leaq 0x58(%rsp), %rsi
callq 0x17752
cmpl $-0x1, 0x98(%rsp)
je 0x15b05
leaq 0x98(%rsp), %rsi
movq 0x8(%rsp), %rax
leaq 0xc0(%rax), %rdi
callq 0x17782
movq %rax, %r15
leaq 0x58(%rsp), %r14
movq %rax, %rdi
movq %r14, %rsi
callq 0x51f0
leaq 0x20(%r15), %rdi
leaq 0x78(%rsp), %rsi
callq 0x51f0
movq 0x98(%rsp), %rax
movq %rax, 0x40(%r15)
leaq 0x48(%r15), %rdi
leaq 0xa0(%rsp), %rsi
callq 0x51f0
leaq 0x68(%r15), %rdi
movq %r13, %rsi
callq 0x51f0
movl 0xe0(%rsp), %eax
movl %eax, 0x88(%r15)
leaq 0x90(%r15), %rdi
movq %rbp, %rsi
callq 0x51f0
movl $0xb0, %esi
leaq (%r15,%rsi), %rdi
addq %r14, %rsi
callq 0x51f0
movl $0xd0, %esi
leaq (%r15,%rsi), %rdi
addq %r14, %rsi
callq 0x51f0
movl $0xf0, %esi
leaq (%r15,%rsi), %rdi
addq %r14, %rsi
callq 0x51f0
movl $0x110, %esi            # imm = 0x110
leaq (%r15,%rsi), %rdi
addq %r14, %rsi
callq 0x51f0
movl $0x130, %eax            # imm = 0x130
addq %rax, %r15
addq %rax, %r14
movq %r15, %rdi
movq %r14, %rsi
callq 0x51f0
movl 0x98(%rsp), %ebx
movq 0x8(%rsp), %rdi
addq $0x1b0, %rdi            # imm = 0x1B0
leaq 0x78(%rsp), %rsi
callq 0x177e8
jmp 0x15d65
movq 0x8(%rsp), %rbx
leaq 0x150(%rbx), %r15
movq %r15, %rdi
leaq 0x78(%rsp), %rsi
callq 0x18140
leaq 0x158(%rbx), %rcx
cmpq %rcx, %rax
je 0x15c3a
movq %r15, %rdi
leaq 0x78(%rsp), %rsi
callq 0x177e8
movq 0x8(%rsp), %rcx
leaq 0xc0(%rcx), %rdi
movq %rax, %rsi
callq 0x17782
movq %rax, %r14
leaq 0x58(%rsp), %r12
movq %rax, %rdi
movq %r12, %rsi
callq 0x51f0
leaq 0x20(%r14), %rdi
leaq 0x78(%rsp), %rsi
callq 0x51f0
movq 0x98(%rsp), %rax
movq %rax, 0x40(%r14)
leaq 0x48(%r14), %rdi
leaq 0xa0(%rsp), %rsi
callq 0x51f0
leaq 0x68(%r14), %rdi
movq %r13, %rsi
callq 0x51f0
movl 0xe0(%rsp), %eax
movl %eax, 0x88(%r14)
leaq 0x90(%r14), %rdi
movq %rbp, %rsi
callq 0x51f0
movl $0xb0, %esi
leaq (%r14,%rsi), %rdi
addq %r12, %rsi
callq 0x51f0
movl $0xd0, %esi
leaq (%r14,%rsi), %rdi
addq %r12, %rsi
callq 0x51f0
movl $0xf0, %esi
leaq (%r14,%rsi), %rdi
addq %r12, %rsi
callq 0x51f0
movl $0x110, %esi            # imm = 0x110
leaq (%r14,%rsi), %rdi
addq %r12, %rsi
callq 0x51f0
movl $0x130, %eax            # imm = 0x130
addq %rax, %r14
addq %rax, %r12
movq %r14, %rdi
movq %r12, %rsi
callq 0x51f0
movq %r15, %rdi
leaq 0x78(%rsp), %rsi
callq 0x177e8
movl (%rax), %ebx
movq 0x8(%rsp), %rdi
addq $0x1b0, %rdi            # imm = 0x1B0
leaq 0x78(%rsp), %rsi
callq 0x177e8
jmp 0x15d65
leaq 0x180(%rbx), %r15
movq %r15, %rdi
leaq 0x78(%rsp), %rsi
callq 0x18140
leaq 0x188(%rbx), %rcx
cmpq %rcx, %rax
je 0x15db3
movq %r15, %rdi
leaq 0x78(%rsp), %rsi
callq 0x177e8
movq 0x8(%rsp), %rcx
leaq 0xc0(%rcx), %rdi
movq %rax, %rsi
callq 0x17782
movq %rax, %r14
leaq 0x58(%rsp), %r12
movq %rax, %rdi
movq %r12, %rsi
callq 0x51f0
leaq 0x20(%r14), %rdi
leaq 0x78(%rsp), %rsi
callq 0x51f0
movq 0x98(%rsp), %rax
movq %rax, 0x40(%r14)
leaq 0x48(%r14), %rdi
leaq 0xa0(%rsp), %rsi
callq 0x51f0
leaq 0x68(%r14), %rdi
movq %r13, %rsi
callq 0x51f0
movl 0xe0(%rsp), %eax
movl %eax, 0x88(%r14)
leaq 0x90(%r14), %rdi
movq %rbp, %rsi
callq 0x51f0
movl $0xb0, %esi
leaq (%r14,%rsi), %rdi
addq %r12, %rsi
callq 0x51f0
movl $0xd0, %esi
leaq (%r14,%rsi), %rdi
addq %r12, %rsi
callq 0x51f0
movl $0xf0, %esi
leaq (%r14,%rsi), %rdi
addq %r12, %rsi
callq 0x51f0
movl $0x110, %esi            # imm = 0x110
leaq (%r14,%rsi), %rdi
addq %r12, %rsi
callq 0x51f0
movl $0x130, %eax            # imm = 0x130
addq %rax, %r14
addq %rax, %r12
movq %r14, %rdi
movq %r12, %rsi
callq 0x51f0
movq %r15, %rdi
leaq 0x78(%rsp), %rsi
callq 0x177e8
movl (%rax), %ebx
movq 0x8(%rsp), %rdi
addq $0x1b0, %rdi            # imm = 0x1B0
leaq 0x78(%rsp), %rsi
callq 0x177e8
movl %ebx, (%rax)
xorl %r14d, %r14d
leaq 0x10(%rsp), %rdi
callq 0xc4da
leaq 0x58(%rsp), %rdi
callq 0xfb7c
leaq 0x40(%rsp), %rdi
callq 0xc4da
leaq 0x2b8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x15d9e
callq 0x5410
movl %r14d, %eax
addq $0x2c8, %rsp            # imm = 0x2C8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1b0(%rbx), %r15
movq %r15, %rdi
leaq 0x78(%rsp), %rsi
callq 0x18140
leaq 0x1b8(%rbx), %rcx
xorl %r14d, %r14d
cmpq %rcx, %rax
jne 0x15d6a
addq $0xc0, %rbx
leaq 0x34(%rsp), %rsi
movq %rbx, %rdi
callq 0x17782
movq %rax, %rbx
leaq 0x58(%rsp), %r14
movq %rax, %rdi
movq %r14, %rsi
callq 0x51f0
leaq 0x20(%rbx), %rdi
leaq 0x78(%rsp), %rsi
callq 0x51f0
movq 0x98(%rsp), %rax
movq %rax, 0x40(%rbx)
leaq 0x48(%rbx), %rdi
leaq 0xa0(%rsp), %rsi
callq 0x51f0
leaq 0x68(%rbx), %rdi
movq %r13, %rsi
callq 0x51f0
movl 0xe0(%rsp), %eax
movl %eax, 0x88(%rbx)
leaq 0x90(%rbx), %rdi
movq %rbp, %rsi
callq 0x51f0
movl $0xb0, %esi
leaq (%rbx,%rsi), %rdi
addq %r14, %rsi
callq 0x51f0
movl $0xd0, %esi
leaq (%rbx,%rsi), %rdi
addq %r14, %rsi
callq 0x51f0
movl $0xf0, %esi
leaq (%rbx,%rsi), %rdi
addq %r14, %rsi
callq 0x51f0
movl $0x110, %esi            # imm = 0x110
leaq (%rbx,%rsi), %rdi
addq %r14, %rsi
callq 0x51f0
movl $0x130, %eax            # imm = 0x130
addq %rax, %rbx
addq %rax, %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x51f0
movl 0x34(%rsp), %ebx
movq %r15, %rdi
leaq 0x78(%rsp), %rsi
callq 0x177e8
movl %ebx, (%rax)
movl $0x1, %r14d
jmp 0x15d6a
jmp 0x15f76
movq %rax, %rbx
movq 0x1c8(%rsp), %rdi
leaq 0x1d8(%rsp), %rax
jmp 0x15f41
jmp 0x15f76
movq %rax, %rbx
movq 0x1a8(%rsp), %rdi
leaq 0x1b8(%rsp), %rax
jmp 0x15f41
movq %rax, %rbx
leaq 0x1f8(%rsp), %rax
jmp 0x15f3d
jmp 0x15f76
movq %rax, %rbx
leaq 0x218(%rsp), %rax
jmp 0x15f3d
movq %rax, %rbx
leaq 0x238(%rsp), %rax
jmp 0x15f3d
movq %rax, %rbx
leaq 0x258(%rsp), %rax
jmp 0x15f3d
movq %rax, %rbx
leaq 0x278(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x15f79
callq 0x5410
jmp 0x15f79
movq %rax, %rbx
leaq 0x298(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x15f83
callq 0x5410
jmp 0x15f83
jmp 0x15f6a
movq %rax, %rbx
jmp 0x15f8d
movq %rax, %rbx
jmp 0x15f83
jmp 0x15f76
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0xc4da
leaq 0x58(%rsp), %rdi
callq 0xfb7c
leaq 0x40(%rsp), %rdi
callq 0xc4da
leaq 0x2b8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x15fad
callq 0x5410
movq %rbx, %rdi
callq 0x57d0
nop