// File: /workspace/github_cpp_makefile_star2_O3/lotuskip[P]yuxtapa/server/settings.cpp
// Function: Config::parse_config(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool)
bool Config::parse_config(const string &s, const bool from_conf)
{
	string keyw, olds;
	vector<char> old_chv;
	vector<string> old_sv;
	int oldi, i;
	stringstream ss(s, ios_base::in);

	ss >> keyw;
	// first check if it is a keyword:
	for(i = 0; i < MAX_INT_SETTING; ++i)
	{
		if(keyw == keywords[i])
		{
			oldi = int_settings[i];
			// teambalance separately:
			if(i == IS_TEAMBALANCE)
			{
				ss >> keyw;
				if(keyw == "active")
					int_settings[i] = TB_ACTIVE;
				else if(keyw == "passive")
					int_settings[i] = TB_PASSIVE;
				else if(keyw == "off")
					int_settings[i] = TB_OFF;
				else if(from_conf)
					to_log("Warning: unknown team balance setting \'"
						+ keyw + "\' in config.");
				else return true;
			}
			else
				ss >> int_settings[i];
			break;
		}
	}
	if(i < MAX_INT_SETTING) // found
	{
		if(!from_conf) // validate now
		{
			if(validate_int_set(i))
			{
				int_settings[i] = oldi;
				return true;
			}
			validate_classlim();
			validate_minp();
		}
		return false;
	}
	// check non-numeric settings:
	if(keyw == "greeting")
	{
		greeting = ss.str();
		greeting.erase(0, greeting.find(' '));
		if(!greeting.empty())
		{
			greeting.erase(0, 1);
			if(greeting.size() >= MAXIMUM_STR_LEN)
			{
				if(from_conf)
					to_log("The greeting string in the config is too long!");
				while(greeting.size() >= MAXIMUM_STR_LEN)
					del(greeting, 0);
				return false;
			}
			// If the greeting contains words longer than MSG_WIN_X,
			// they must be splitted:
			size_t ind, jnd = 0;
			while((ind = greeting.find(' ', jnd)) != string::npos)
			{
				if(ind - jnd > MSG_WIN_X)
				{
					greeting.insert(jnd + MSG_WIN_X, 1, ' ');
					++ind;
				}
				if(ind == greeting.size()-1)
					break;
				jnd = ind+1;
			}
		}
		return false;
	}
	if(keyw == "bots")
	{
		olds = botexe;
		ss >> botexe;
		if(check_path_setting(keyw, botexe, true) && !from_conf)
		{
			botexe = olds;
			return true;
		}
		return false;
	}
	if(keyw == "botnames")
	{
		size_t ind;
		old_sv = botnames;
		botnames.clear();
		while(ss >> keyw)
		{
			if(num_syms(keyw) > MAX_NICK_LEN)
			{
				if(from_conf)
					to_log("Warning: bot name '" + keyw + "' is too long.");
				del_syms(keyw, MAX_NICK_LEN);
			}
			ind = 0;
			while((ind = keyw.find('_', ind)) != string::npos)
				keyw.replace(ind, 1, 1, ' ');
			botnames.push_back(keyw);
		}
		if(!from_conf && botnames.empty())
			botnames = old_sv;
		return false;
	}
	if(keyw == "mapdir")
	{
		olds = mapdir;
		ss >> mapdir;
		if(check_path_setting(keyw, mapdir, false) && !from_conf)
		{
			mapdir = olds;
			return true;
		}
		// Make sure nonempty value ends in '/':
		if(!mapdir.empty() && mapdir[mapdir.size()-1] != '/')
			mapdir += '/';
		return false;
	}
	if(keyw == "mode")
	{
		old_chv = poss_modes;
		poss_modes.clear();
		while(ss >> keyw)
		{
			if(keyw == "dominion")
				poss_modes.push_back(GM_DOM);
			else if(keyw == "conquest")
				poss_modes.push_back(GM_CONQ);
			else if(keyw == "steal")
				poss_modes.push_back(GM_STEAL);
			else if(keyw == "destroy")
				poss_modes.push_back(GM_DESTR);
			else if(keyw == "team-dm")
				poss_modes.push_back(GM_TDM);
			else if(from_conf)
				to_log("Unrecognised game mode string \'" + keyw + "\'!");
		}
		if(!from_conf && poss_modes.empty())
		{
			poss_modes = old_chv;
			return true;
		}
		return false;
	}
	if(keyw == "maptype")
	{
		old_chv = poss_mtypes;
		poss_mtypes.clear();
		while(ss >> keyw)
		{
			if(keyw == "dungeon")
				poss_mtypes.push_back(MT_DUNGEON);
			else if(keyw == "outdoor")
				poss_mtypes.push_back(MT_OUTDOOR);
			else if(keyw == "complex")
				poss_mtypes.push_back(MT_COMPLEX);
			else if(from_conf)
				to_log("Unrecognised map type string \'" + keyw + "\'!");
		}
		if(!from_conf && poss_mtypes.empty())
		{
			poss_mtypes = old_chv;
			return true;
		}
		return false;
	}
	if(keyw == "ban_command")
	{
		while(ss >> keyw)
		{
			for(i = 0; i < MAX_SERVER_CMD; ++i)
			{
				if(keyw == server_cmd[i] && banned_cmds.find(char(i)) == string::npos)
				{
					banned_cmds += char(i);
					break;
				}
			}
			if(i == MAX_SERVER_CMD && from_conf)
				to_log("Unrecognised banned command \'" + keyw + "\' in config!");
		}
		return false;
	}
	return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x258, %rsp            # imm = 0x258
movl %esi, -0x2c(%rbp)
movq %rdi, %rsi
leaq -0x80(%rbp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0xc0(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
movq %rax, -0xa0(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0xb0(%rbp)
movq %rax, -0xe0(%rbp)
movaps %xmm0, -0xf0(%rbp)
leaq -0x278(%rbp), %rdi
movl $0x8, %edx
callq 0x4660
leaq -0x278(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x4520
movq -0x90(%rbp), %r14
movq -0x88(%rbp), %r15
xorl %r12d, %r12d
leaq 0x32586(%rip), %r13     # 0x42630
xorl %ebx, %ebx
cmpq 0x8(%r13,%r12,8), %r15
jne 0x100db
testq %r15, %r15
je 0x102ec
leaq (,%r12,8), %rax
movq (%rax,%r13), %rsi
movq %r14, %rdi
movq %r15, %rdx
callq 0x4400
testl %eax, %eax
je 0x102ec
incq %rbx
addq $0x4, %r12
cmpq $0x30, %r12
jne 0x100ac
leaq 0x1c325(%rip), %rsi     # 0x2c414
leaq -0x90(%rbp), %rdi
callq 0x4120
testl %eax, %eax
je 0x103dc
leaq 0x1bf8f(%rip), %rsi     # 0x2c099
leaq -0x90(%rbp), %rdi
callq 0x4120
testl %eax, %eax
je 0x104cb
leaq 0x1c327(%rip), %rsi     # 0x2c44c
leaq -0x90(%rbp), %rdi
callq 0x4120
testl %eax, %eax
je 0x10526
leaq 0x1c338(%rip), %rsi     # 0x2c478
leaq -0x90(%rbp), %rdi
callq 0x4120
testl %eax, %eax
je 0x10759
leaq 0x1c324(%rip), %rsi     # 0x2c47f
leaq -0x90(%rbp), %rdi
callq 0x4120
testl %eax, %eax
je 0x10926
leaq 0x1c356(%rip), %rsi     # 0x2c4cc
leaq -0x90(%rbp), %rdi
callq 0x4120
testl %eax, %eax
je 0x10b38
leaq 0x1c37a(%rip), %rsi     # 0x2c50b
leaq -0x90(%rbp), %rdi
callq 0x4120
movb $0x1, %r15b
testl %eax, %eax
jne 0x1088d
leaq -0x40(%rbp), %rbx
leaq 0x3265d(%rip), %r12     # 0x42810
leaq -0x70(%rbp), %r15
leaq -0x278(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x4520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x1088a
movq %rbx, %r14
leaq 0x320f2(%rip), %r13     # 0x422d8
xorl %ebx, %ebx
movq -0x88(%rbp), %rdx
cmpq (%r13), %rdx
jne 0x10221
testq %rdx, %rdx
je 0x1020e
movq -0x8(%r13), %rsi
movq -0x90(%rbp), %rdi
callq 0x4400
testl %eax, %eax
jne 0x10221
movsbl %bl, %esi
movq %r12, %rdi
xorl %edx, %edx
callq 0x4550
cmpq $-0x1, %rax
je 0x1027c
incq %rbx
addq $0x20, %r13
cmpq $0x16, %rbx
jne 0x101e8
cmpb $0x0, -0x2c(%rbp)
movq %r14, %rbx
je 0x101b7
movq %r15, %rdi
leaq 0x1c2d6(%rip), %rsi     # 0x2c517
leaq -0x90(%rbp), %rdx
callq 0x11c74
movq %r15, %rdi
leaq 0x1c2de(%rip), %rsi     # 0x2c535
callq 0x47b0
movq %rbx, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1028f
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x10295
movsbl %bl, %esi
movq %r12, %rdi
callq 0x4340
movq %r14, %rbx
jmp 0x101b7
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x50(%rbp), %rdi
callq 0x14f24
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x102ca
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x43f0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x101b7
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x43f0
jmp 0x101b7
leaq 0x325ad(%rip), %r15     # 0x428a0
leaq (%r15,%r12), %r14
movl (%r12,%r15), %r13d
cmpq $0x4, %r12
jne 0x103c8
leaq -0x278(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x4520
leaq 0x1c0ad(%rip), %rsi     # 0x2c3cc
leaq -0x90(%rbp), %rdi
callq 0x4120
testl %eax, %eax
je 0x1051c
leaq 0x1c099(%rip), %rsi     # 0x2c3d3
leaq -0x90(%rbp), %rdi
callq 0x4120
testl %eax, %eax
je 0x106c0
leaq 0x1c086(%rip), %rsi     # 0x2c3db
leaq -0x90(%rbp), %rdi
callq 0x4120
testl %eax, %eax
je 0x107ed
movb $0x1, %r15b
cmpb $0x0, -0x2c(%rbp)
je 0x1088d
leaq 0x1c062(%rip), %rsi     # 0x2c3df
leaq -0x70(%rbp), %rdi
leaq -0x90(%rbp), %rdx
callq 0x11c74
leaq 0x1c073(%rip), %rsi     # 0x2c407
leaq -0x70(%rbp), %rdi
callq 0x47b0
leaq -0x40(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x10cf4
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x10cfa
leaq -0x278(%rbp), %rdi
movq %r14, %rsi
callq 0x4730
jmp 0x107f2
leaq -0x260(%rbp), %rsi
leaq -0x50(%rbp), %rdi
callq 0x4650
leaq 0x323dd(%rip), %rdi     # 0x427d0
leaq -0x50(%rbp), %rbx
movq %rbx, %rsi
callq 0x44c0
movq (%rbx), %rdi
leaq -0x40(%rbp), %r15
cmpq %r15, %rdi
je 0x10417
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x43f0
leaq 0x323b2(%rip), %rbx     # 0x427d0
movq %rbx, %rdi
movl $0x20, %esi
xorl %edx, %edx
callq 0x4550
movq %rbx, %rdi
xorl %esi, %esi
movq %rax, %rdx
callq 0x40c0
cmpq $0x0, 0x32396(%rip)     # 0x427d8
je 0x1088a
leaq 0x32381(%rip), %rdi     # 0x427d0
movl $0x1, %edx
xorl %esi, %esi
callq 0x40c0
cmpq $0x15d, 0x32372(%rip) # imm = 0x15D
jbe 0x106ca
cmpb $0x0, -0x2c(%rbp)
je 0x104aa
leaq -0x50(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x1bf9d(%rip), %rsi     # 0x2c41d
leaq 0x1bfc4(%rip), %rdx     # 0x2c44b
callq 0xe01c
leaq -0x50(%rbp), %rdi
callq 0x14f24
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x104aa
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x43f0
cmpq $0x15e, 0x32323(%rip) # imm = 0x15E
jb 0x1088a
leaq 0x3230e(%rip), %rdi     # 0x427d0
xorl %esi, %esi
callq 0x2b144
jmp 0x104aa
leaq 0x3231e(%rip), %rsi     # 0x427f0
leaq -0xd0(%rbp), %rdi
callq 0x41f0
leaq 0x3230b(%rip), %rsi     # 0x427f0
leaq -0x278(%rbp), %rdi
callq 0x4520
leaq 0x322f8(%rip), %r14     # 0x427f0
leaq -0x90(%rbp), %rdi
movq %r14, %rsi
movl $0x1, %edx
callq 0x10ebf
xorb $0x1, %al
orb -0x2c(%rbp), %al
jne 0x1088a
jmp 0x107d6
movl $0x2, %eax
jmp 0x107ef
leaq 0x32353(%rip), %rsi     # 0x42880
leaq -0xf0(%rbp), %rdi
callq 0x11d06
movq 0x32340(%rip), %rsi     # 0x42880
leaq 0x32339(%rip), %r14     # 0x42880
movq %r14, %rdi
callq 0x1214c
leaq -0x40(%rbp), %r13
leaq -0x278(%rbp), %r15
leaq -0x90(%rbp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x4520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x1068a
movq %r12, %rdi
callq 0x2b440
cmpw $0xb, %ax
jl 0x10642
cmpb $0x0, -0x2c(%rbp)
je 0x10635
leaq -0x70(%rbp), %rbx
movq %rbx, %rdi
leaq 0x1bead(%rip), %rsi     # 0x2c455
movq %r12, %rdx
callq 0x11c74
movq %rbx, %rdi
leaq 0x1beaf(%rip), %rsi     # 0x2c469
callq 0x47b0
movq %r13, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x105df
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x105e7
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x50(%rbp), %rdi
callq 0x14f24
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x1061c
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x43f0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x10635
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x43f0
movq %r12, %rdi
movl $0xa, %esi
callq 0x2b526
xorl %ebx, %ebx
movq %r12, %rdi
movl $0x5f, %esi
movq %rbx, %rdx
callq 0x4550
cmpq $-0x1, %rax
je 0x1067a
movq %rax, %rbx
movl $0x1, %edx
movl $0x1, %ecx
movq %r12, %rdi
movq %rax, %rsi
movl $0x20, %r8d
callq 0x46d0
jmp 0x10644
movq %r14, %rdi
movq %r12, %rsi
callq 0xf8c0
jmp 0x10561
cmpb $0x0, -0x2c(%rbp)
jne 0x1088a
movq 0x321e5(%rip), %rax     # 0x42880
cmpq 0x321e6(%rip), %rax     # 0x42888
jne 0x1088a
leaq 0x321d1(%rip), %rdi     # 0x42880
leaq -0xf0(%rbp), %rsi
callq 0x11d06
jmp 0x1088a
movl $0x1, %eax
jmp 0x107ef
leaq 0x320ff(%rip), %rdi     # 0x427d0
xorl %r15d, %r15d
movl $0x20, %esi
xorl %edx, %edx
callq 0x4550
cmpq $-0x1, %rax
je 0x1088d
movq %rax, %r14
xorl %r12d, %r12d
leaq 0x320d9(%rip), %rbx     # 0x427d0
movq %r14, %rax
subq %r12, %rax
cmpq $0x3a, %rax
jb 0x1071f
addq $0x39, %r12
movl $0x1, %edx
movq %rbx, %rdi
movq %r12, %rsi
movl $0x20, %ecx
callq 0x47e0
incq %r14
movq 0x320b2(%rip), %rax     # 0x427d8
decq %rax
cmpq %rax, %r14
je 0x1088a
movq %r14, %r12
incq %r12
movq %rbx, %rdi
movl $0x20, %esi
movq %r12, %rdx
callq 0x4550
movq %rax, %r14
xorl %r15d, %r15d
cmpq $-0x1, %rax
jne 0x106f7
jmp 0x1088d
leaq 0x320d0(%rip), %rsi     # 0x42830
leaq -0xd0(%rbp), %rdi
callq 0x41f0
leaq 0x320bd(%rip), %rsi     # 0x42830
leaq -0x278(%rbp), %rdi
callq 0x4520
leaq 0x320aa(%rip), %r14     # 0x42830
leaq -0x90(%rbp), %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x10ebf
xorb $0x1, %al
orb -0x2c(%rbp), %al
je 0x107d6
movq 0x32093(%rip), %rax     # 0x42838
testq %rax, %rax
je 0x1088a
movq 0x3207b(%rip), %rcx     # 0x42830
cmpb $0x2f, -0x1(%rcx,%rax)
je 0x1088a
leaq 0x32069(%rip), %rdi     # 0x42830
movl $0x2f, %esi
callq 0x4340
jmp 0x1088a
movb $0x1, %r15b
leaq -0xd0(%rbp), %rsi
movq %r14, %rdi
callq 0x41f0
jmp 0x1088d
xorl %eax, %eax
movl %eax, (%r14)
cmpb $0x0, -0x2c(%rbp)
jne 0x1088a
cmpq $0x20, %r12
jne 0x1081e
movl $0x8, %ebx
movl 0x320b3(%rip), %eax     # 0x428c0
cmpl $0x6, %eax
ja 0x10836
movl $0x51, %ecx
btl %eax, %ecx
jb 0x1083f
jmp 0x10836
movl (%r12,%r15), %eax
leaq 0x1bf47(%rip), %rcx     # 0x2c770
cmpl (%rcx,%r12,2), %eax
jb 0x10836
cmpl 0x4(%rcx,%r12,2), %eax
jbe 0x1083f
movl %r13d, (%r15,%rbx,4)
movb $0x1, %r15b
jmp 0x1088d
movl 0x3206b(%rip), %ecx     # 0x428b0
movl 0x32055(%rip), %eax     # 0x428a0
testl %ecx, %ecx
je 0x10865
leal (%rcx,%rcx,4), %edx
leal (%rcx,%rdx,4), %edx
addl %ecx, %edx
cmpl %eax, %edx
jae 0x10865
movl $0x0, 0x3204b(%rip)     # 0x428b0
movl 0x32061(%rip), %ecx     # 0x428cc
cmpl %eax, %ecx
ja 0x10880
xorl %r15d, %r15d
testl %ecx, %ecx
je 0x1088d
cmpq $0x0, 0x31f7a(%rip)     # 0x427f8
jne 0x1088d
movl $0x0, 0x32042(%rip)     # 0x428cc
xorl %r15d, %r15d
movq 0x2f6ec(%rip), %rsi     # 0x3ff80
leaq -0x278(%rbp), %rdi
callq 0x4290
leaq -0x1f8(%rbp), %rdi
callq 0x4140
leaq -0xf0(%rbp), %rdi
callq 0xf90c
movq -0xb0(%rbp), %rdi
testq %rdi, %rdi
je 0x108d3
movq -0xa0(%rbp), %rsi
subq %rdi, %rsi
callq 0x43f0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x108f5
movq -0xc0(%rbp), %rsi
incq %rsi
callq 0x43f0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x10911
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x43f0
movl %r15d, %eax
addq $0x258, %rsp            # imm = 0x258
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x31f23(%rip), %rsi     # 0x42850
leaq -0xb0(%rbp), %rdi
callq 0x11eb4
movq 0x31f10(%rip), %rax     # 0x42850
cmpq %rax, 0x31f11(%rip)     # 0x42858
je 0x10950
movq %rax, 0x31f08(%rip)     # 0x42858
leaq -0x278(%rbp), %r15
leaq -0x90(%rbp), %r12
leaq 0x1bb1f(%rip), %r13     # 0x2c484
leaq 0x31ee4(%rip), %r14     # 0x42850
movq %r15, %rdi
movq %r12, %rsi
callq 0x4520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x10b15
movq %r12, %rdi
movq %r13, %rsi
callq 0x4120
testl %eax, %eax
je 0x10a4b
movq %r12, %rdi
leaq 0x1bae7(%rip), %rsi     # 0x2c48d
callq 0x4120
testl %eax, %eax
je 0x10a60
movq %r12, %rdi
leaq 0x1bad9(%rip), %rsi     # 0x2c496
callq 0x4120
testl %eax, %eax
je 0x10a75
movq %r12, %rdi
leaq 0x1bac8(%rip), %rsi     # 0x2c49c
callq 0x4120
testl %eax, %eax
je 0x10a8a
movq %r12, %rdi
leaq 0x1bab9(%rip), %rsi     # 0x2c4a4
callq 0x4120
testl %eax, %eax
je 0x10a9f
cmpb $0x0, -0x2c(%rbp)
je 0x1096c
leaq -0x70(%rbp), %rbx
movq %rbx, %rdi
leaq 0x1ba9c(%rip), %rsi     # 0x2c4ac
movq %r12, %rdx
callq 0x11c74
movq %rbx, %rdi
leaq 0x24dbb(%rip), %rsi     # 0x357dd
callq 0x47b0
leaq -0x40(%rbp), %rsi
movq %rsi, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x10ab4
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x10aba
movb $0x0, -0x50(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %rsi
callq 0x121ec
jmp 0x1096c
movb $0x1, -0x50(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %rsi
callq 0x121ec
jmp 0x1096c
movb $0x2, -0x50(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %rsi
callq 0x121ec
jmp 0x1096c
movb $0x3, -0x50(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %rsi
callq 0x121ec
jmp 0x1096c
movb $0x4, -0x50(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %rsi
callq 0x121ec
jmp 0x1096c
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x50(%rbp), %rdi
callq 0x14f24
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x10af3
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x43f0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x1096c
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x43f0
jmp 0x1096c
cmpb $0x0, -0x2c(%rbp)
jne 0x1088a
movq 0x31d2a(%rip), %rax     # 0x42850
cmpq 0x31d2b(%rip), %rax     # 0x42858
jne 0x1088a
jmp 0x10cdd
leaq 0x31d29(%rip), %rsi     # 0x42868
leaq -0xb0(%rbp), %rdi
callq 0x11eb4
movq 0x31d16(%rip), %rax     # 0x42868
cmpq %rax, 0x31d17(%rip)     # 0x42870
je 0x10b62
movq %rax, 0x31d0e(%rip)     # 0x42870
leaq -0x278(%rbp), %r15
leaq -0x90(%rbp), %r12
leaq 0x1b95d(%rip), %r13     # 0x2c4d4
leaq 0x31cea(%rip), %r14     # 0x42868
movq %r15, %rdi
movq %r12, %rsi
callq 0x4520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x10cbf
movq %r12, %rdi
movq %r13, %rsi
callq 0x4120
testl %eax, %eax
je 0x10c1f
movq %r12, %rdi
leaq 0x1b928(%rip), %rsi     # 0x2c4dc
callq 0x4120
testl %eax, %eax
je 0x10c34
movq %r12, %rdi
leaq 0x1b91d(%rip), %rsi     # 0x2c4e4
callq 0x4120
testl %eax, %eax
je 0x10c49
cmpb $0x0, -0x2c(%rbp)
je 0x10b7e
leaq -0x70(%rbp), %rbx
movq %rbx, %rdi
leaq 0x1b908(%rip), %rsi     # 0x2c4ec
movq %r12, %rdx
callq 0x11c74
movq %rbx, %rdi
leaq 0x24be7(%rip), %rsi     # 0x357dd
callq 0x47b0
leaq -0x40(%rbp), %rsi
movq %rsi, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x10c5e
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x10c64
movb $0x0, -0x50(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %rsi
callq 0x121ec
jmp 0x10b7e
movb $0x1, -0x50(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %rsi
callq 0x121ec
jmp 0x10b7e
movb $0x2, -0x50(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %rsi
callq 0x121ec
jmp 0x10b7e
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x50(%rbp), %rdi
callq 0x14f24
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x10c9d
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x43f0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x10b7e
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x43f0
jmp 0x10b7e
cmpb $0x0, -0x2c(%rbp)
jne 0x1088a
movq 0x31b98(%rip), %rax     # 0x42868
cmpq 0x31b99(%rip), %rax     # 0x42870
jne 0x1088a
movb $0x1, %r15b
leaq -0xb0(%rbp), %rsi
movq %r14, %rdi
callq 0x11eb4
jmp 0x1088d
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
leaq -0x50(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x14f24
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x10d2f
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x43f0
leaq -0x60(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1088a
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x43f0
jmp 0x1088a
movq %rax, %r14
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x10e33
movq -0x40(%rbp), %rsi
jmp 0x10e17
jmp 0x10e30
movq %rax, %r14
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x10d8c
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x43f0
jmp 0x10d8c
movq %rax, %r14
leaq -0x60(%rbp), %rax
movq -0x10(%rax), %rdi
jmp 0x10e0e
jmp 0x10e30
jmp 0x10da9
jmp 0x10de9
jmp 0x10e30
jmp 0x10e30
movq %rax, %r14
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
jne 0x10dfa
jmp 0x10e06
jmp 0x10de9
jmp 0x10e30
jmp 0x10e30
jmp 0x10e30
jmp 0x10e30
jmp 0x10e30
jmp 0x10e30
jmp 0x10e30
movq %rax, %r14
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
jne 0x10dfa
jmp 0x10e06
jmp 0x10de9
jmp 0x10e30
jmp 0x10e30
jmp 0x10e30
jmp 0x10e30
jmp 0x10e30
jmp 0x10e30
jmp 0x10e30
movq %rax, %r14
jmp 0x10e06
movq %rax, %r14
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x10e06
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x43f0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x10e33
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x43f0
jmp 0x10e33
jmp 0x10e30
jmp 0x10e30
movq %rax, %r14
jmp 0x10e52
jmp 0x10e30
jmp 0x10e30
jmp 0x10e30
movq %rax, %r14
movq 0x2f146(%rip), %rsi     # 0x3ff80
leaq -0x278(%rbp), %rdi
callq 0x4290
leaq -0x1f8(%rbp), %rdi
callq 0x4140
leaq -0xf0(%rbp), %rdi
callq 0xf90c
movq -0xb0(%rbp), %rdi
testq %rdi, %rdi
je 0x10e79
movq -0xa0(%rbp), %rsi
subq %rdi, %rsi
callq 0x43f0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x10e9b
movq -0xc0(%rbp), %rsi
incq %rsi
callq 0x43f0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x10eb7
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x43f0
movq %r14, %rdi
callq 0x4740