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

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

	if (tokens.size() < 4)
		LOG.error("Expected at least 4 parts in INFO 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 INFO meta-information: " + in);
		}
		else if (entry[0] == "Description") I.Description = entry[1];
		else if (entry[0] == "Source") I.Source = entry[1];
		else if (entry[0] == "Version") I.Version = 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 INFO field description: " + in);
	if (I.N_entries_str == "") LOG.error("Number required in INFO field description: " + in);
	if (I.Type_str == "") LOG.error("Type required in INFO field description: " + in);
	if (I.Description == "") LOG.error("Description required in INFO field description: " + in);
	if ((I.idx == -1) && (has_idx)) LOG.error("Missing index in INFO field description: " + in);
	parsed_lines.push_back(I);

	if (I.idx != -1)
	{
		INFO_map[I.idx] = I;
		INFO_reverse_map[I.ID] = I.idx;
		return 0;
	}
	else
	{
		if ( FORMAT_reverse_map.find( I.ID ) != FORMAT_reverse_map.end() )
		{
			INFO_map[ FORMAT_reverse_map[ I.ID ] ] = I;
			INFO_reverse_map[I.ID] = FORMAT_reverse_map[I.ID];
			return 0;
		}
		else if ( FILTER_reverse_map.find( I.ID ) != FILTER_reverse_map.end() )
		{
			INFO_map[ FILTER_reverse_map[ I.ID ] ] = I;
			INFO_reverse_map[I.ID] = FILTER_reverse_map[ I.ID ];
			return 0;
		}
		else if ( INFO_reverse_map.find( I.ID ) != INFO_reverse_map.end() )
			return 0;
		else
		{
			INFO_map[index] = I;
			INFO_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, %r14
movq %rdi, %rbx
movl %edx, 0x34(%rsp)
leaq 0x24e96(%rip), %rsi     # 0x38bb8
movl $0x1, %ecx
movq %r14, %rdi
movq $-0x1, %rdx
callq 0x5890
leaq 0x2a8(%rsp), %rdi
movq %r14, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x5480
leaq 0x58(%rsp), %rdi
callq 0x174bc
leaq 0x58(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x2669f(%rip), %rcx     # 0x3a404
movl $0x4, %r8d
xorl %esi, %esi
callq 0x5690
xorps %xmm0, %xmm0
leaq 0x40(%rsp), %rdx
movaps %xmm0, (%rdx)
movq $0x0, 0x10(%rdx)
leaq 0x2a8(%rsp), %rdi
movl $0x2c, %esi
callq 0x16a0a
movq 0x48(%rsp), %rax
subq 0x40(%rsp), %rax
cmpq $0x7f, %rax
ja 0x13ded
leaq 0x24e0c(%rip), %rsi     # 0x38bba
leaq 0x288(%rsp), %rdi
movq %r14, %rdx
callq 0xb777
leaq 0x356e3(%rip), %rdi     # 0x494a8
leaq 0x288(%rsp), %rsi
movl $0x1, %edx
callq 0x36ec8
leaq 0x298(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x13ded
callq 0x5410
movq %r14, 0x38(%rsp)
movq %rbx, 0x8(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movq $0x0, 0x20(%rsp)
movq 0x40(%rsp), %rdi
cmpq %rdi, 0x48(%rsp)
je 0x14267
movl $0x1, %r15d
xorl %ebx, %ebx
leaq 0x10(%rsp), %r13
leaq 0x24c4e(%rip), %rbp     # 0x38a7a
leaq 0x24db6(%rip), %r14     # 0x38be9
leaq 0x24dba(%rip), %r12     # 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 0x13f49
movq %rsi, %rdi
movq %r14, %rsi
callq 0x50e0
movq 0x10(%rsp), %rdi
testl %eax, %eax
je 0x13f53
movq %r12, %rsi
callq 0x50e0
movq 0x10(%rsp), %rdi
testl %eax, %eax
je 0x13fb3
leaq 0x24dd1(%rip), %rsi     # 0x38c6d
callq 0x50e0
movq 0x10(%rsp), %rsi
testl %eax, %eax
je 0x140af
movq %rsi, %rdi
leaq 0x24dc1(%rip), %rsi     # 0x38c79
callq 0x50e0
movq 0x10(%rsp), %rsi
testl %eax, %eax
je 0x140b9
movq %rsi, %rdi
leaq 0x24dac(%rip), %rsi     # 0x38c80
callq 0x50e0
movq 0x10(%rsp), %rsi
testl %eax, %eax
je 0x14121
movq %rsi, %rdi
leaq 0x24d98(%rip), %rsi     # 0x38c88
callq 0x50e0
testl %eax, %eax
je 0x14157
leaq 0x188(%rsp), %rdi
leaq 0x25fcb(%rip), %rsi     # 0x39ed7
callq 0x50e0
testl %eax, %eax
je 0x13f29
leaq 0x188(%rsp), %rdi
leaq 0x24d68(%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 0x14132
leaq 0x78(%rsp), %rdi
jmp 0x14129
addq $0x20, %rdi
leaq 0x24c92(%rip), %rsi     # 0x38bf0
callq 0x50e0
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
testl %eax, %eax
je 0x13f9a
movq 0x10(%rsp), %rdi
addq $0x20, %rdi
leaq 0x24c76(%rip), %rsi     # 0x38bf2
callq 0x50e0
testl %eax, %eax
je 0x13f9a
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 0x14129
addq $0x20, %rdi
leaq 0x24c3b(%rip), %rbx     # 0x38bf9
movq %rbx, %rsi
callq 0x50e0
testl %eax, %eax
je 0x140f4
movq 0x10(%rsp), %rdi
addq $0x20, %rdi
leaq 0x24c23(%rip), %rsi     # 0x38c01
callq 0x50e0
testl %eax, %eax
je 0x140c3
movq 0x10(%rsp), %rdi
addq $0x20, %rdi
leaq 0x24c0c(%rip), %rsi     # 0x38c07
callq 0x50e0
testl %eax, %eax
je 0x140c3
movq 0x10(%rsp), %rdi
addq $0x20, %rdi
leaq 0x24bf7(%rip), %rbx     # 0x38c0f
movq %rbx, %rsi
callq 0x50e0
testl %eax, %eax
je 0x1417c
movq 0x10(%rsp), %rdi
addq $0x20, %rdi
leaq 0x24be1(%rip), %rbx     # 0x38c19
movq %rbx, %rsi
callq 0x50e0
testl %eax, %eax
je 0x141a9
movq 0x10(%rsp), %rdi
addq $0x20, %rdi
leaq 0x24bc8(%rip), %rbx     # 0x38c20
movq %rbx, %rsi
callq 0x50e0
testl %eax, %eax
je 0x141d9
leaq 0x1a8(%rsp), %rdi
leaq 0x24bce(%rip), %rsi     # 0x38c45
movq 0x38(%rsp), %rdx
callq 0xb777
leaq 0x35420(%rip), %rdi     # 0x494a8
leaq 0x1a8(%rsp), %rsi
movl $0x1, %edx
callq 0x36ec8
movq 0x1a8(%rsp), %rdi
leaq 0x1b8(%rsp), %rax
jmp 0x14254
leaq 0xe8(%rsp), %rdi
jmp 0x14129
leaq 0x148(%rsp), %rdi
jmp 0x14129
movq 0xc8(%rsp), %rdx
movl $0x5, %r8d
leaq 0xc0(%rsp), %rdi
xorl %esi, %esi
leaq 0x24b1f(%rip), %rcx     # 0x38c01
callq 0x5690
movl $0x1, 0xe0(%rsp)
jmp 0x14132
movq 0xc8(%rsp), %rdx
movl $0x7, %r8d
leaq 0xc0(%rsp), %rdi
xorl %esi, %esi
movq %rbx, %rcx
callq 0x5690
movl $0x0, 0xe0(%rsp)
jmp 0x14132
leaq 0x168(%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 0x13e3a
jmp 0x14267
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 0x14132
movq 0xc8(%rsp), %rdx
movl $0x9, %r8d
leaq 0xc0(%rsp), %rdi
xorl %esi, %esi
movq %rbx, %rcx
callq 0x5690
movl $0x2, 0xe0(%rsp)
jmp 0x14132
movq 0xc8(%rsp), %rdx
movl $0x6, %r8d
leaq 0xc0(%rsp), %rdi
xorl %esi, %esi
movq %rbx, %rcx
callq 0x5690
movl $0x3, 0xe0(%rsp)
jmp 0x14132
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 0x14132
leaq 0x1c8(%rsp), %rdi
leaq 0x24a04(%rip), %rsi     # 0x38c25
movq 0x38(%rsp), %rdx
callq 0xb777
leaq 0x35276(%rip), %rdi     # 0x494a8
leaq 0x1c8(%rsp), %rsi
movl $0x1, %edx
callq 0x36ec8
movq 0x1c8(%rsp), %rdi
leaq 0x1d8(%rsp), %rax
cmpq %rax, %rdi
je 0x14132
callq 0x5410
jmp 0x14132
leaq 0x78(%rsp), %rdi
leaq 0x25c64(%rip), %rsi     # 0x39ed7
callq 0x50e0
testl %eax, %eax
movq 0x38(%rsp), %rbx
jne 0x142c7
leaq 0x24a06(%rip), %rsi     # 0x38c8e
leaq 0x268(%rsp), %rdi
movq %rbx, %rdx
callq 0xb777
leaq 0x35209(%rip), %rdi     # 0x494a8
leaq 0x268(%rsp), %rsi
movl $0x1, %edx
callq 0x36ec8
leaq 0x278(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x142c7
callq 0x5410
leaq 0xa0(%rsp), %rdi
leaq 0x25c01(%rip), %rsi     # 0x39ed7
callq 0x50e0
testl %eax, %eax
jne 0x14325
leaq 0x249d0(%rip), %rsi     # 0x38cb6
leaq 0x248(%rsp), %rdi
movq %rbx, %rdx
callq 0xb777
leaq 0x351ab(%rip), %rdi     # 0x494a8
leaq 0x248(%rsp), %rsi
movl $0x1, %edx
callq 0x36ec8
leaq 0x258(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14325
callq 0x5410
leaq 0xc0(%rsp), %r13
leaq 0x25ba3(%rip), %rsi     # 0x39ed7
movq %r13, %rdi
callq 0x50e0
testl %eax, %eax
jne 0x14386
leaq 0x2499b(%rip), %rsi     # 0x38ce2
leaq 0x228(%rsp), %rdi
movq %rbx, %rdx
callq 0xb777
leaq 0x3514a(%rip), %rdi     # 0x494a8
leaq 0x228(%rsp), %rsi
movl $0x1, %edx
callq 0x36ec8
leaq 0x238(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14386
callq 0x5410
leaq 0xe8(%rsp), %rbp
leaq 0x25b42(%rip), %rsi     # 0x39ed7
movq %rbp, %rdi
callq 0x50e0
testl %eax, %eax
jne 0x143e7
leaq 0x24964(%rip), %rsi     # 0x38d0c
leaq 0x208(%rsp), %rdi
movq %rbx, %rdx
callq 0xb777
leaq 0x350e9(%rip), %rdi     # 0x494a8
leaq 0x208(%rsp), %rsi
movl $0x1, %edx
callq 0x36ec8
leaq 0x218(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x143e7
callq 0x5410
cmpl $-0x1, 0x98(%rsp)
jne 0x14442
movq 0x8(%rsp), %rax
cmpb $0x1, 0x8(%rax)
jne 0x14442
leaq 0x2493a(%rip), %rsi     # 0x38d3d
leaq 0x1e8(%rsp), %rdi
movq %rbx, %rdx
callq 0xb777
leaq 0x3508e(%rip), %rdi     # 0x494a8
leaq 0x1e8(%rsp), %rsi
movl $0x1, %edx
callq 0x36ec8
leaq 0x1f8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x14442
callq 0x5410
movq 0x8(%rsp), %rax
leaq 0x40(%rax), %rdi
leaq 0x58(%rsp), %rsi
callq 0x17752
cmpl $-0x1, 0x98(%rsp)
je 0x1455c
leaq 0x98(%rsp), %rsi
movq 0x8(%rsp), %rax
leaq 0x60(%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 $0x180, %rdi            # imm = 0x180
leaq 0x78(%rsp), %rsi
callq 0x177e8
jmp 0x147b6
movq 0x8(%rsp), %rbx
leaq 0x1b0(%rbx), %r15
movq %r15, %rdi
leaq 0x78(%rsp), %rsi
callq 0x18140
leaq 0x1b8(%rbx), %rcx
cmpq %rcx, %rax
je 0x1468e
movq %r15, %rdi
leaq 0x78(%rsp), %rsi
callq 0x177e8
movq 0x8(%rsp), %rcx
leaq 0x60(%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 $0x180, %rdi            # imm = 0x180
leaq 0x78(%rsp), %rsi
callq 0x177e8
jmp 0x147b6
leaq 0x150(%rbx), %r15
movq %r15, %rdi
leaq 0x78(%rsp), %rsi
callq 0x18140
leaq 0x158(%rbx), %rcx
cmpq %rcx, %rax
je 0x14804
movq %r15, %rdi
leaq 0x78(%rsp), %rsi
callq 0x177e8
movq 0x8(%rsp), %rcx
leaq 0x60(%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 $0x180, %rdi            # imm = 0x180
leaq 0x78(%rsp), %rsi
callq 0x177e8
movl %ebx, (%rax)
xorl %r14d, %r14d
leaq 0x10(%rsp), %rdi
callq 0xc4da
leaq 0x40(%rsp), %rdi
callq 0xc4da
leaq 0x58(%rsp), %rdi
callq 0xfb7c
leaq 0x2b8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x147ef
callq 0x5410
movl %r14d, %eax
addq $0x2c8, %rsp            # imm = 0x2C8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x180(%rbx), %r15
movq %r15, %rdi
leaq 0x78(%rsp), %rsi
callq 0x18140
leaq 0x188(%rbx), %rcx
xorl %r14d, %r14d
cmpq %rcx, %rax
jne 0x147bb
addq $0x60, %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 0x147bb
jmp 0x149c7
movq %rax, %rbx
movq 0x1c8(%rsp), %rdi
leaq 0x1d8(%rsp), %rax
jmp 0x1498f
jmp 0x149c7
movq %rax, %rbx
movq 0x1a8(%rsp), %rdi
leaq 0x1b8(%rsp), %rax
jmp 0x1498f
movq %rax, %rbx
leaq 0x1f8(%rsp), %rax
jmp 0x1498b
jmp 0x149c7
movq %rax, %rbx
leaq 0x218(%rsp), %rax
jmp 0x1498b
movq %rax, %rbx
leaq 0x238(%rsp), %rax
jmp 0x1498b
movq %rax, %rbx
leaq 0x258(%rsp), %rax
jmp 0x1498b
movq %rax, %rbx
leaq 0x278(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x149ca
callq 0x5410
jmp 0x149ca
movq %rax, %rbx
leaq 0x298(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x149d4
callq 0x5410
jmp 0x149d4
movq %rax, %rbx
jmp 0x149de
movq %rax, %rbx
jmp 0x149e8
movq %rax, %rbx
jmp 0x149d4
jmp 0x149c7
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0xc4da
leaq 0x40(%rsp), %rdi
callq 0xc4da
leaq 0x58(%rsp), %rdi
callq 0xfb7c
leaq 0x2b8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x149fe
callq 0x5410
movq %rbx, %rdi
callq 0x57d0