// File: /workspace/github_cpp_makefile_star2_O1/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 0x4670
leaq -0x278(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x4520
movq -0x90(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x88(%rbp), %r15
movb $0x1, %r12b
xorl %r13d, %r13d
leaq 0x32458(%rip), %r14     # 0x42630
xorl %ebx, %ebx
cmpq 0x8(%r14,%r13,8), %r15
jne 0x10205
testq %r15, %r15
je 0x10225
leaq (,%r13,8), %rax
movq (%rax,%r14), %rsi
movq -0x98(%rbp), %rdi
movq %r15, %rdx
callq 0x4400
testl %eax, %eax
je 0x10225
cmpq $0xb, %rbx
leaq 0x1(%rbx), %rbx
setb %r12b
addq $0x4, %r13
cmpq $0x30, %r13
jne 0x101da
movl $0xc, %ebx
jmp 0x1037d
leaq 0x32674(%rip), %r14     # 0x428a0
movl (%r13,%r14), %eax
movl %eax, -0x98(%rbp)
addq %r13, %r14
cmpq $0x4, %r13
jne 0x102fc
leaq -0x278(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x4520
leaq 0x1c16e(%rip), %rsi     # 0x2c3cc
leaq -0x90(%rbp), %rdi
callq 0x4120
testl %eax, %eax
je 0x1030d
leaq 0x1c15a(%rip), %rsi     # 0x2c3d3
leaq -0x90(%rbp), %rdi
callq 0x4120
testl %eax, %eax
je 0x10316
leaq 0x1c147(%rip), %rsi     # 0x2c3db
leaq -0x90(%rbp), %rdi
callq 0x4120
testl %eax, %eax
je 0x1031f
movb $0x1, %r15b
cmpb $0x0, -0x2c(%rbp)
je 0x10e10
leaq 0x1c127(%rip), %rsi     # 0x2c3df
leaq -0x70(%rbp), %rdi
leaq -0x90(%rbp), %rdx
callq 0x11dd6
leaq 0x1c138(%rip), %rsi     # 0x2c407
leaq -0x70(%rbp), %rdi
callq 0x47c0
leaq -0x40(%rbp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x10328
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x1032f
leaq -0x278(%rbp), %rdi
movq %r14, %rsi
callq 0x4740
jmp 0x1037d
movl $0x2, (%r14)
jmp 0x1037d
movl $0x1, (%r14)
jmp 0x1037d
movl $0x0, (%r14)
jmp 0x1037d
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq -0x50(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
callq 0x15050
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x10364
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x43f0
leaq -0x60(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1037d
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x43f0
testb $0x1, %r12b
je 0x103ba
cmpb $0x0, -0x2c(%rbp)
movl -0x98(%rbp), %esi
jne 0x10e0d
movl %ebx, %eax
cmpl $0x8, %ebx
jne 0x106bf
movl 0x3251c(%rip), %ecx     # 0x428c0
testl $0xfffffffb, %ecx       # imm = 0xFFFFFFFB
setne %dl
cmpl $0x6, %ecx
setne %cl
andb %dl, %cl
jmp 0x106dc
leaq 0x1c053(%rip), %rsi     # 0x2c414
leaq -0x90(%rbp), %rdi
callq 0x4120
testl %eax, %eax
je 0x105d0
leaq 0x1bcbd(%rip), %rsi     # 0x2c099
leaq -0x90(%rbp), %rdi
callq 0x4120
testl %eax, %eax
je 0x106f2
leaq 0x1c055(%rip), %rsi     # 0x2c44c
leaq -0x90(%rbp), %rdi
callq 0x4120
testl %eax, %eax
je 0x1079d
leaq 0x1c066(%rip), %rsi     # 0x2c478
leaq -0x90(%rbp), %rdi
callq 0x4120
testl %eax, %eax
je 0x109c6
leaq 0x1c052(%rip), %rsi     # 0x2c47f
leaq -0x90(%rbp), %rdi
callq 0x4120
testl %eax, %eax
je 0x10a5a
leaq 0x1c084(%rip), %rsi     # 0x2c4cc
leaq -0x90(%rbp), %rdi
callq 0x4120
testl %eax, %eax
je 0x10c6c
leaq 0x1c0a8(%rip), %rsi     # 0x2c50b
leaq -0x90(%rbp), %rdi
callq 0x4120
movb $0x1, %r15b
testl %eax, %eax
jne 0x10e10
leaq -0x90(%rbp), %r15
leaq 0x32388(%rip), %r12     # 0x42810
movl -0x2c(%rbp), %eax
xorb $0x1, %al
movl %eax, -0x2c(%rbp)
leaq -0x70(%rbp), %rbx
leaq -0x278(%rbp), %rdi
movq %r15, %rsi
callq 0x4520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x10e0d
leaq 0x31e1c(%rip), %r13     # 0x422d8
xorl %r14d, %r14d
movq -0x88(%rbp), %rdx
cmpq (%r13), %rdx
jne 0x104f9
testq %rdx, %rdx
je 0x104e5
movq -0x8(%r13), %rsi
movq -0x90(%rbp), %rdi
callq 0x4400
testl %eax, %eax
jne 0x104f9
movsbl %r14b, %esi
movq %r12, %rdi
xorl %edx, %edx
callq 0x4550
cmpq $-0x1, %rax
je 0x1050e
incq %r14
addq $0x20, %r13
cmpq $0x16, %r14
jne 0x104bf
movl $0x16, %r14d
jmp 0x1051a
movsbl %r14b, %esi
movq %r12, %rdi
callq 0x4340
cmpl $0x16, %r14d
setne %al
orb -0x2c(%rbp), %al
jne 0x10494
movq %rbx, %rdi
leaq 0x1bfe3(%rip), %rsi     # 0x2c517
movq %r15, %rdx
callq 0x11dd6
movq %rbx, %rdi
leaq 0x1bfef(%rip), %rsi     # 0x2c535
callq 0x47c0
leaq -0x40(%rbp), %rsi
movq %rsi, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1056f
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x10575
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 0x15050
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x105ae
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x43f0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x10494
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x43f0
jmp 0x10494
leaq -0x260(%rbp), %rsi
leaq -0x50(%rbp), %rdi
callq 0x4660
leaq 0x321e9(%rip), %rdi     # 0x427d0
leaq -0x50(%rbp), %rbx
movq %rbx, %rsi
callq 0x44c0
movq (%rbx), %rdi
leaq -0x40(%rbp), %r15
cmpq %r15, %rdi
je 0x1060b
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x43f0
leaq 0x321be(%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, 0x321a2(%rip)     # 0x427d8
je 0x10e0d
leaq 0x3218d(%rip), %rdi     # 0x427d0
movl $0x1, %edx
xorl %esi, %esi
callq 0x40c0
cmpq $0x15d, 0x3217e(%rip) # imm = 0x15D
jbe 0x10937
cmpb $0x0, -0x2c(%rbp)
je 0x1069e
leaq -0x50(%rbp), %rdi
movq %r15, (%rdi)
leaq 0x1bda9(%rip), %rsi     # 0x2c41d
leaq 0x1bdd0(%rip), %rdx     # 0x2c44b
callq 0xdfec
leaq -0x50(%rbp), %rdi
callq 0x15050
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x1069e
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x43f0
cmpq $0x15e, 0x3212f(%rip) # imm = 0x15E
jb 0x10e0d
leaq 0x3211a(%rip), %rdi     # 0x427d0
xorl %esi, %esi
callq 0x2b564
jmp 0x1069e
leaq 0x321da(%rip), %rcx     # 0x428a0
movl (%rcx,%rax,4), %ecx
leaq 0x1c0a0(%rip), %rdx     # 0x2c770
cmpl (%rdx,%rax,8), %ecx
jb 0x106e0
cmpl 0x4(%rdx,%rax,8), %ecx
seta %cl
testb %cl, %cl
je 0x10743
leaq 0x321b9(%rip), %rcx     # 0x428a0
movl %esi, (%rcx,%rax,4)
movb $0x1, %r15b
jmp 0x10e10
leaq 0x320f7(%rip), %rsi     # 0x427f0
leaq -0xd0(%rbp), %rdi
callq 0x41f0
leaq 0x320e4(%rip), %rsi     # 0x427f0
leaq -0x278(%rbp), %rdi
callq 0x4520
leaq 0x320d1(%rip), %r14     # 0x427f0
leaq -0x90(%rbp), %rdi
movq %r14, %rsi
movl $0x1, %edx
callq 0x1101c
xorb $0x1, %al
orb -0x2c(%rbp), %al
jne 0x10e0d
jmp 0x10a43
movl 0x32167(%rip), %eax     # 0x428b0
testl %eax, %eax
je 0x10767
leal (%rax,%rax,4), %ecx
leal (%rax,%rcx,4), %ecx
addl %eax, %ecx
cmpl 0x32145(%rip), %ecx     # 0x428a0
jae 0x10767
movl $0x0, 0x32149(%rip)     # 0x428b0
movl 0x3215f(%rip), %eax     # 0x428cc
cmpl 0x3212d(%rip), %eax     # 0x428a0
ja 0x1078e
xorl %r15d, %r15d
testl %eax, %eax
je 0x10e10
cmpq $0x0, 0x32070(%rip)     # 0x427f8
jne 0x10e10
movl $0x0, 0x32134(%rip)     # 0x428cc
jmp 0x10e0d
leaq 0x320dc(%rip), %rsi     # 0x42880
leaq -0xf0(%rbp), %rdi
callq 0x11e68
movq 0x320c9(%rip), %rsi     # 0x42880
leaq 0x320c2(%rip), %r14     # 0x42880
movq %r14, %rdi
callq 0x1227e
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 0x10901
movq %r12, %rdi
callq 0x2b890
cmpw $0xb, %ax
jl 0x108b9
cmpb $0x0, -0x2c(%rbp)
je 0x108ac
leaq -0x70(%rbp), %rbx
movq %rbx, %rdi
leaq 0x1bc36(%rip), %rsi     # 0x2c455
movq %r12, %rdx
callq 0x11dd6
movq %rbx, %rdi
leaq 0x1bc38(%rip), %rsi     # 0x2c469
callq 0x47c0
movq %r13, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x10856
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x1085e
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 0x15050
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x10893
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x43f0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x108ac
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x43f0
movq %r12, %rdi
movl $0xa, %esi
callq 0x2b973
xorl %ebx, %ebx
movq %r12, %rdi
movl $0x5f, %esi
movq %rbx, %rdx
callq 0x4550
cmpq $-0x1, %rax
je 0x108f1
movq %rax, %rbx
movl $0x1, %edx
movl $0x1, %ecx
movq %r12, %rdi
movq %rax, %rsi
movl $0x20, %r8d
callq 0x46e0
jmp 0x108bb
movq %r14, %rdi
movq %r12, %rsi
callq 0xf9be
jmp 0x107d8
cmpb $0x0, -0x2c(%rbp)
jne 0x10e0d
movq 0x31f6e(%rip), %rax     # 0x42880
cmpq 0x31f6f(%rip), %rax     # 0x42888
jne 0x10e0d
leaq 0x31f5a(%rip), %rdi     # 0x42880
leaq -0xf0(%rbp), %rsi
callq 0x11e68
jmp 0x10e0d
leaq 0x31e92(%rip), %rdi     # 0x427d0
xorl %r15d, %r15d
movl $0x20, %esi
xorl %edx, %edx
callq 0x4550
cmpq $-0x1, %rax
je 0x10e10
movq %rax, %r14
xorl %r12d, %r12d
leaq 0x31e6c(%rip), %rbx     # 0x427d0
movq %r14, %rax
subq %r12, %rax
cmpq $0x3a, %rax
jb 0x1098c
addq $0x39, %r12
movl $0x1, %edx
movq %rbx, %rdi
movq %r12, %rsi
movl $0x20, %ecx
callq 0x47f0
incq %r14
movq 0x31e45(%rip), %rax     # 0x427d8
decq %rax
cmpq %rax, %r14
je 0x10e0d
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 0x10964
jmp 0x10e10
leaq 0x31e63(%rip), %rsi     # 0x42830
leaq -0xd0(%rbp), %rdi
callq 0x41f0
leaq 0x31e50(%rip), %rsi     # 0x42830
leaq -0x278(%rbp), %rdi
callq 0x4520
leaq 0x31e3d(%rip), %r14     # 0x42830
leaq -0x90(%rbp), %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x1101c
xorb $0x1, %al
orb -0x2c(%rbp), %al
je 0x10a43
movq 0x31e26(%rip), %rax     # 0x42838
testq %rax, %rax
je 0x10e0d
movq 0x31e0e(%rip), %rcx     # 0x42830
cmpb $0x2f, -0x1(%rcx,%rax)
je 0x10e0d
leaq 0x31dfc(%rip), %rdi     # 0x42830
movl $0x2f, %esi
callq 0x4340
jmp 0x10e0d
movb $0x1, %r15b
leaq -0xd0(%rbp), %rsi
movq %r14, %rdi
callq 0x41f0
jmp 0x10e10
leaq 0x31def(%rip), %rsi     # 0x42850
leaq -0xb0(%rbp), %rdi
callq 0x11ff6
movq 0x31ddc(%rip), %rax     # 0x42850
cmpq %rax, 0x31ddd(%rip)     # 0x42858
je 0x10a84
movq %rax, 0x31dd4(%rip)     # 0x42858
leaq -0x278(%rbp), %r15
leaq -0x90(%rbp), %r12
leaq 0x1b9eb(%rip), %r13     # 0x2c484
leaq 0x31db0(%rip), %r14     # 0x42850
movq %r15, %rdi
movq %r12, %rsi
callq 0x4520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x10c49
movq %r12, %rdi
movq %r13, %rsi
callq 0x4120
testl %eax, %eax
je 0x10b7f
movq %r12, %rdi
leaq 0x1b9b3(%rip), %rsi     # 0x2c48d
callq 0x4120
testl %eax, %eax
je 0x10b94
movq %r12, %rdi
leaq 0x1b9a5(%rip), %rsi     # 0x2c496
callq 0x4120
testl %eax, %eax
je 0x10ba9
movq %r12, %rdi
leaq 0x1b994(%rip), %rsi     # 0x2c49c
callq 0x4120
testl %eax, %eax
je 0x10bbe
movq %r12, %rdi
leaq 0x1b985(%rip), %rsi     # 0x2c4a4
callq 0x4120
testl %eax, %eax
je 0x10bd3
cmpb $0x0, -0x2c(%rbp)
je 0x10aa0
leaq -0x70(%rbp), %rbx
movq %rbx, %rdi
leaq 0x1b968(%rip), %rsi     # 0x2c4ac
movq %r12, %rdx
callq 0x11dd6
movq %rbx, %rdi
leaq 0x24c97(%rip), %rsi     # 0x357ed
callq 0x47c0
leaq -0x40(%rbp), %rsi
movq %rsi, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x10be8
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x10bee
movb $0x0, -0x50(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %rsi
callq 0x1231e
jmp 0x10aa0
movb $0x1, -0x50(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %rsi
callq 0x1231e
jmp 0x10aa0
movb $0x2, -0x50(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %rsi
callq 0x1231e
jmp 0x10aa0
movb $0x3, -0x50(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %rsi
callq 0x1231e
jmp 0x10aa0
movb $0x4, -0x50(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %rsi
callq 0x1231e
jmp 0x10aa0
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 0x15050
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x10c27
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x43f0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x10aa0
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x43f0
jmp 0x10aa0
cmpb $0x0, -0x2c(%rbp)
jne 0x10e0d
movq 0x31bf6(%rip), %rax     # 0x42850
cmpq 0x31bf7(%rip), %rax     # 0x42858
jne 0x10e0d
jmp 0x10ea9
leaq 0x31bf5(%rip), %rsi     # 0x42868
leaq -0xb0(%rbp), %rdi
callq 0x11ff6
movq 0x31be2(%rip), %rax     # 0x42868
cmpq %rax, 0x31be3(%rip)     # 0x42870
je 0x10c96
movq %rax, 0x31bda(%rip)     # 0x42870
leaq -0x278(%rbp), %r15
leaq -0x90(%rbp), %r12
leaq 0x1b829(%rip), %r13     # 0x2c4d4
leaq 0x31bb6(%rip), %r14     # 0x42868
movq %r15, %rdi
movq %r12, %rsi
callq 0x4520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x10df3
movq %r12, %rdi
movq %r13, %rsi
callq 0x4120
testl %eax, %eax
je 0x10d53
movq %r12, %rdi
leaq 0x1b7f4(%rip), %rsi     # 0x2c4dc
callq 0x4120
testl %eax, %eax
je 0x10d68
movq %r12, %rdi
leaq 0x1b7e9(%rip), %rsi     # 0x2c4e4
callq 0x4120
testl %eax, %eax
je 0x10d7d
cmpb $0x0, -0x2c(%rbp)
je 0x10cb2
leaq -0x70(%rbp), %rbx
movq %rbx, %rdi
leaq 0x1b7d4(%rip), %rsi     # 0x2c4ec
movq %r12, %rdx
callq 0x11dd6
movq %rbx, %rdi
leaq 0x24ac3(%rip), %rsi     # 0x357ed
callq 0x47c0
leaq -0x40(%rbp), %rsi
movq %rsi, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x10d92
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x10d98
movb $0x0, -0x50(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %rsi
callq 0x1231e
jmp 0x10cb2
movb $0x1, -0x50(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %rsi
callq 0x1231e
jmp 0x10cb2
movb $0x2, -0x50(%rbp)
movq %r14, %rdi
leaq -0x50(%rbp), %rsi
callq 0x1231e
jmp 0x10cb2
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 0x15050
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x10dd1
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x43f0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x10cb2
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x43f0
jmp 0x10cb2
cmpb $0x0, -0x2c(%rbp)
jne 0x10e0d
movq 0x31a68(%rip), %rax     # 0x42868
cmpq 0x31a69(%rip), %rax     # 0x42870
je 0x10ea9
xorl %r15d, %r15d
movq 0x2f171(%rip), %rsi     # 0x3ff88
leaq -0x278(%rbp), %rdi
callq 0x4290
leaq -0x1f8(%rbp), %rdi
callq 0x4140
leaq -0xf0(%rbp), %rdi
callq 0xfa0a
movq -0xb0(%rbp), %rdi
testq %rdi, %rdi
je 0x10e56
movq -0xa0(%rbp), %rsi
subq %rdi, %rsi
callq 0x43f0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x10e78
movq -0xc0(%rbp), %rsi
incq %rsi
callq 0x43f0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x10e94
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
movb $0x1, %r15b
leaq -0xb0(%rbp), %rsi
movq %r14, %rdi
callq 0x11ff6
jmp 0x10e10
movq %rax, %r14
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x10f90
movq -0x40(%rbp), %rsi
jmp 0x10f74
jmp 0x10f8d
movq %rax, %r14
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x10efb
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x43f0
jmp 0x10efb
movq %rax, %r14
leaq -0x60(%rbp), %rax
movq -0x10(%rax), %rdi
jmp 0x10f6b
jmp 0x10f8d
jmp 0x10f26
jmp 0x10f46
jmp 0x10f8d
jmp 0x10f8d
jmp 0x10f26
jmp 0x10f46
jmp 0x10f8d
jmp 0x10f8d
jmp 0x10f8d
jmp 0x10f8d
jmp 0x10f8d
jmp 0x10f8d
jmp 0x10f46
jmp 0x10f8d
movq %rax, %r14
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
jne 0x10f57
jmp 0x10f63
jmp 0x10f8d
jmp 0x10f8d
jmp 0x10f8d
jmp 0x10f8d
jmp 0x10f8d
jmp 0x10f8d
jmp 0x10f8d
movq %rax, %r14
jmp 0x10f63
movq %rax, %r14
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x10f63
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x43f0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x10f90
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x43f0
jmp 0x10f90
jmp 0x10f8d
jmp 0x10f8d
movq %rax, %r14
jmp 0x10faf
jmp 0x10f8d
jmp 0x10f8d
jmp 0x10f8d
movq %rax, %r14
movq 0x2eff1(%rip), %rsi     # 0x3ff88
leaq -0x278(%rbp), %rdi
callq 0x4290
leaq -0x1f8(%rbp), %rdi
callq 0x4140
leaq -0xf0(%rbp), %rdi
callq 0xfa0a
movq -0xb0(%rbp), %rdi
testq %rdi, %rdi
je 0x10fd6
movq -0xa0(%rbp), %rsi
subq %rdi, %rsi
callq 0x43f0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x10ff8
movq -0xc0(%rbp), %rsi
incq %rsi
callq 0x43f0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x11014
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x43f0
movq %r14, %rdi
callq 0x4750