// File: 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
subq $0x470, %rsp            # imm = 0x470
movb %sil, %al
movq %rdi, -0x10(%rbp)
andb $0x1, %al
movb %al, -0x11(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x5770
leaq -0x58(%rbp), %rdi
callq 0x5770
leaq -0x70(%rbp), %rdi
callq 0x1f310
leaq -0x88(%rbp), %rdi
callq 0x1b3e0
movq -0x10(%rbp), %rsi
leaq -0x218(%rbp), %rdi
movl $0x8, %edx
callq 0x5830
jmp 0x1d225
leaq -0x218(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x56d0
jmp 0x1d237
movl $0x0, -0x90(%rbp)
cmpl $0xc, -0x90(%rbp)
jge 0x1d492
movslq -0x90(%rbp), %rax
leaq 0x72544(%rip), %rsi     # 0x8f7a0
shlq $0x5, %rax
addq %rax, %rsi
leaq -0x38(%rbp), %rdi
callq 0x18960
testb $0x1, %al
jne 0x1d275
jmp 0x1d47c
movslq -0x90(%rbp), %rcx
leaq 0x7278d(%rip), %rax     # 0x8fa10
movl (%rax,%rcx,4), %eax
movl %eax, -0x8c(%rbp)
cmpl $0x1, -0x90(%rbp)
jne 0x1d458
leaq -0x218(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x56d0
jmp 0x1d2ab
leaq 0x44154(%rip), %rsi     # 0x61406
leaq -0x38(%rbp), %rdi
callq 0x18930
movb %al, -0x3e1(%rbp)
jmp 0x1d2c3
movb -0x3e1(%rbp), %al
testb $0x1, %al
jne 0x1d2cf
jmp 0x1d317
movslq -0x90(%rbp), %rcx
leaq 0x72733(%rip), %rax     # 0x8fa10
movl $0x2, (%rax,%rcx,4)
jmp 0x1d456
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
jmp 0x1e2e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
jmp 0x1e2d5
leaq 0x440ef(%rip), %rsi     # 0x6140d
leaq -0x38(%rbp), %rdi
callq 0x18930
movb %al, -0x3e2(%rbp)
jmp 0x1d32f
movb -0x3e2(%rbp), %al
testb $0x1, %al
jne 0x1d33b
jmp 0x1d355
movslq -0x90(%rbp), %rcx
leaq 0x726c7(%rip), %rax     # 0x8fa10
movl $0x1, (%rax,%rcx,4)
jmp 0x1d454
leaq 0x440b9(%rip), %rsi     # 0x61415
leaq -0x38(%rbp), %rdi
callq 0x18930
movb %al, -0x3e3(%rbp)
jmp 0x1d36d
movb -0x3e3(%rbp), %al
testb $0x1, %al
jne 0x1d379
jmp 0x1d393
movslq -0x90(%rbp), %rcx
leaq 0x72689(%rip), %rax     # 0x8fa10
movl $0x0, (%rax,%rcx,4)
jmp 0x1d452
testb $0x1, -0x11(%rbp)
je 0x1d43d
leaq 0x44075(%rip), %rsi     # 0x61419
leaq -0x268(%rbp), %rdi
leaq -0x38(%rbp), %rdx
callq 0x1f390
jmp 0x1d3b6
leaq 0x44084(%rip), %rdx     # 0x61441
leaq -0x248(%rbp), %rdi
leaq -0x268(%rbp), %rsi
callq 0x18a40
jmp 0x1d3d2
leaq -0x248(%rbp), %rdi
callq 0x28d70
jmp 0x1d3e0
leaq -0x248(%rbp), %rdi
callq 0x5a48
leaq -0x268(%rbp), %rdi
callq 0x5a48
jmp 0x1d450
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
jmp 0x1d42c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x5a48
leaq -0x268(%rbp), %rdi
callq 0x5a48
jmp 0x1e2d5
movb $0x1, -0x1(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x1e294
jmp 0x1d452
jmp 0x1d454
jmp 0x1d456
jmp 0x1d47a
movslq -0x90(%rbp), %rcx
leaq 0x725aa(%rip), %rax     # 0x8fa10
leaq (%rax,%rcx,4), %rsi
leaq -0x218(%rbp), %rdi
callq 0x5090
jmp 0x1d478
jmp 0x1d47a
jmp 0x1d492
jmp 0x1d47e
movl -0x90(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x90(%rbp)
jmp 0x1d241
cmpl $0xc, -0x90(%rbp)
jge 0x1d50d
testb $0x1, -0x11(%rbp)
jne 0x1d4fa
movl -0x90(%rbp), %edi
callq 0x1e320
movb %al, -0x3e4(%rbp)
jmp 0x1d4b4
movb -0x3e4(%rbp), %al
testb $0x1, %al
jne 0x1d4c0
jmp 0x1d4ea
movl -0x8c(%rbp), %edx
movslq -0x90(%rbp), %rcx
leaq 0x7253c(%rip), %rax     # 0x8fa10
movl %edx, (%rax,%rcx,4)
movb $0x1, -0x1(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x1e294
callq 0x1e3c0
jmp 0x1d4f1
callq 0x1e400
jmp 0x1d4f8
jmp 0x1d4fa
movb $0x0, -0x1(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x1e294
leaq 0x43f3a(%rip), %rsi     # 0x6144e
leaq -0x38(%rbp), %rdi
callq 0x18930
movb %al, -0x3e5(%rbp)
jmp 0x1d525
movb -0x3e5(%rbp), %al
testb $0x1, %al
jne 0x1d534
jmp 0x1d7a4
leaq -0x290(%rbp), %rdi
leaq -0x218(%rbp), %rsi
callq 0x5500
jmp 0x1d549
leaq 0x723f0(%rip), %rdi     # 0x8f940
movq %rdi, -0x3f8(%rbp)
leaq -0x290(%rbp), %rsi
movq %rsi, -0x400(%rbp)
callq 0x5640
movq -0x400(%rbp), %rdi
callq 0x5a48
movq -0x3f8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0x3f0(%rbp)
movl $0x20, %esi
callq 0x5720
movq -0x3f8(%rbp), %rdi
movq -0x3f0(%rbp), %rsi
movq %rax, %rdx
callq 0x5120
jmp 0x1d5aa
leaq 0x7238f(%rip), %rdi     # 0x8f940
callq 0x58d0
testb $0x1, %al
jne 0x1d791
leaq 0x7237b(%rip), %rdi     # 0x8f940
xorl %eax, %eax
movl %eax, %esi
movl $0x1, %edx
callq 0x5120
jmp 0x1d5d5
leaq 0x72364(%rip), %rdi     # 0x8f940
callq 0x5340
cmpq $0x15e, %rax            # imm = 0x15E
jb 0x1d6cc
testb $0x1, -0x11(%rbp)
je 0x1d691
leaq -0x2b1(%rbp), %rdi
movq %rdi, -0x408(%rbp)
callq 0x5930
movq -0x408(%rbp), %rdx
leaq 0x43e3f(%rip), %rsi     # 0x61457
leaq -0x2b0(%rbp), %rdi
callq 0x18880
jmp 0x1d626
leaq -0x2b0(%rbp), %rdi
callq 0x28d70
jmp 0x1d634
leaq -0x2b0(%rbp), %rdi
callq 0x5a48
leaq -0x2b1(%rbp), %rdi
callq 0x5590
jmp 0x1d691
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
jmp 0x1d680
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
leaq -0x2b0(%rbp), %rdi
callq 0x5a48
leaq -0x2b1(%rbp), %rdi
callq 0x5590
jmp 0x1e2d5
jmp 0x1d693
leaq 0x722a6(%rip), %rdi     # 0x8f940
callq 0x5340
cmpq $0x15e, %rax            # imm = 0x15E
jb 0x1d6b9
leaq 0x72292(%rip), %rdi     # 0x8f940
xorl %esi, %esi
callq 0x5f890
jmp 0x1d6b7
jmp 0x1d693
movb $0x0, -0x1(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x1e294
movq $0x0, -0x2c8(%rbp)
movq -0x2c8(%rbp), %rdx
leaq 0x7225b(%rip), %rdi     # 0x8f940
movl $0x20, %esi
callq 0x5720
movq %rax, -0x2c0(%rbp)
cmpq $-0x1, %rax
je 0x1d78f
movq -0x2c0(%rbp), %rax
subq -0x2c8(%rbp), %rax
cmpq $0x39, %rax
jbe 0x1d749
movq -0x2c8(%rbp), %rsi
addq $0x39, %rsi
leaq 0x7221a(%rip), %rdi     # 0x8f940
movl $0x1, %edx
movl $0x20, %ecx
callq 0x5a20
jmp 0x1d737
movq -0x2c0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x2c0(%rbp)
movq -0x2c0(%rbp), %rax
movq %rax, -0x410(%rbp)
leaq 0x721e2(%rip), %rdi     # 0x8f940
callq 0x5340
movq %rax, %rcx
movq -0x410(%rbp), %rax
subq $0x1, %rcx
cmpq %rcx, %rax
jne 0x1d778
jmp 0x1d78f
movq -0x2c0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x2c8(%rbp)
jmp 0x1d6d7
jmp 0x1d791
movb $0x0, -0x1(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x1e294
leaq 0x4392f(%rip), %rsi     # 0x610da
leaq -0x38(%rbp), %rdi
callq 0x18930
movb %al, -0x411(%rbp)
jmp 0x1d7bc
movb -0x411(%rbp), %al
testb $0x1, %al
jne 0x1d7cb
jmp 0x1d859
leaq 0x7218e(%rip), %rsi     # 0x8f960
leaq -0x58(%rbp), %rdi
callq 0x5050
jmp 0x1d7dd
leaq 0x7217c(%rip), %rsi     # 0x8f960
leaq -0x218(%rbp), %rdi
callq 0x56d0
jmp 0x1d7f2
leaq 0x72167(%rip), %rsi     # 0x8f960
leaq -0x38(%rbp), %rdi
movl $0x1, %edx
callq 0x1e450
movb %al, -0x412(%rbp)
jmp 0x1d80f
movb -0x412(%rbp), %al
testb $0x1, %al
jne 0x1d81b
jmp 0x1d846
testb $0x1, -0x11(%rbp)
jne 0x1d846
leaq 0x72138(%rip), %rdi     # 0x8f960
leaq -0x58(%rbp), %rsi
callq 0x5050
jmp 0x1d833
movb $0x1, -0x1(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x1e294
movb $0x0, -0x1(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x1e294
leaq 0x43c26(%rip), %rsi     # 0x61486
leaq -0x38(%rbp), %rdi
callq 0x18930
movb %al, -0x413(%rbp)
jmp 0x1d871
movb -0x413(%rbp), %al
testb $0x1, %al
jne 0x1d880
jmp 0x1da6e
leaq 0x72169(%rip), %rsi     # 0x8f9f0
leaq -0x88(%rbp), %rdi
callq 0x1f4a0
jmp 0x1d895
leaq 0x72154(%rip), %rdi     # 0x8f9f0
callq 0x1f6f0
leaq -0x218(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x56d0
movq %rax, -0x420(%rbp)
jmp 0x1d8ba
movq -0x420(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x56b0
movb %al, -0x421(%rbp)
jmp 0x1d8d8
movb -0x421(%rbp), %al
testb $0x1, %al
jne 0x1d8e7
jmp 0x1da2c
leaq -0x38(%rbp), %rdi
callq 0x5fe20
movw %ax, -0x424(%rbp)
jmp 0x1d8f9
movw -0x424(%rbp), %ax
cwtl
cmpl $0xa, %eax
jle 0x1d9c6
testb $0x1, -0x11(%rbp)
je 0x1d9b4
leaq 0x43b74(%rip), %rsi     # 0x6148f
leaq -0x310(%rbp), %rdi
leaq -0x38(%rbp), %rdx
callq 0x1f390
jmp 0x1d92d
leaq 0x43b6f(%rip), %rdx     # 0x614a3
leaq -0x2f0(%rbp), %rdi
leaq -0x310(%rbp), %rsi
callq 0x18a40
jmp 0x1d949
leaq -0x2f0(%rbp), %rdi
callq 0x28d70
jmp 0x1d957
leaq -0x2f0(%rbp), %rdi
callq 0x5a48
leaq -0x310(%rbp), %rdi
callq 0x5a48
jmp 0x1d9b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
jmp 0x1d9a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
leaq -0x2f0(%rbp), %rdi
callq 0x5a48
leaq -0x310(%rbp), %rdi
callq 0x5a48
jmp 0x1e2d5
leaq -0x38(%rbp), %rdi
movl $0xa, %esi
callq 0x5ff90
jmp 0x1d9c4
jmp 0x1d9c6
movq $0x0, -0x2d0(%rbp)
movq -0x2d0(%rbp), %rdx
leaq -0x38(%rbp), %rdi
movl $0x5f, %esi
callq 0x5720
movq %rax, -0x2d0(%rbp)
cmpq $-0x1, %rax
je 0x1da15
movq -0x2d0(%rbp), %rsi
leaq -0x38(%rbp), %rdi
movl $0x1, %ecx
movl $0x20, %r8d
movq %rcx, %rdx
callq 0x58a0
jmp 0x1da13
jmp 0x1d9d1
leaq 0x71fd4(%rip), %rdi     # 0x8f9f0
leaq -0x38(%rbp), %rsi
callq 0x1b430
jmp 0x1da27
jmp 0x1d8a1
testb $0x1, -0x11(%rbp)
jne 0x1da5b
leaq 0x71fb7(%rip), %rdi     # 0x8f9f0
callq 0x1f710
testb $0x1, %al
jne 0x1da44
jmp 0x1da5b
leaq 0x71fa5(%rip), %rdi     # 0x8f9f0
leaq -0x88(%rbp), %rsi
callq 0x1f4a0
jmp 0x1da59
jmp 0x1da5b
movb $0x0, -0x1(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x1e294
leaq 0x43a3d(%rip), %rsi     # 0x614b2
leaq -0x38(%rbp), %rdi
callq 0x18930
movb %al, -0x425(%rbp)
jmp 0x1da86
movb -0x425(%rbp), %al
testb $0x1, %al
jne 0x1da95
jmp 0x1db82
leaq 0x71f04(%rip), %rsi     # 0x8f9a0
leaq -0x58(%rbp), %rdi
callq 0x5050
jmp 0x1daa7
leaq 0x71ef2(%rip), %rsi     # 0x8f9a0
leaq -0x218(%rbp), %rdi
callq 0x56d0
jmp 0x1dabc
leaq 0x71edd(%rip), %rsi     # 0x8f9a0
leaq -0x38(%rbp), %rdi
xorl %edx, %edx
callq 0x1e450
movb %al, -0x426(%rbp)
jmp 0x1dad6
movb -0x426(%rbp), %al
testb $0x1, %al
jne 0x1dae2
jmp 0x1db0d
testb $0x1, -0x11(%rbp)
jne 0x1db0d
leaq 0x71eb1(%rip), %rdi     # 0x8f9a0
leaq -0x58(%rbp), %rsi
callq 0x5050
jmp 0x1dafa
movb $0x1, -0x1(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x1e294
leaq 0x71e8c(%rip), %rdi     # 0x8f9a0
callq 0x58d0
testb $0x1, %al
jne 0x1db6f
leaq 0x71e7c(%rip), %rdi     # 0x8f9a0
movq %rdi, -0x438(%rbp)
callq 0x5340
movq -0x438(%rbp), %rdi
movq %rax, %rsi
decq %rsi
callq 0x5a10
movq %rax, -0x430(%rbp)
jmp 0x1db4b
movq -0x430(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2f, %eax
je 0x1db6f
leaq 0x71e3f(%rip), %rdi     # 0x8f9a0
movl $0x2f, %esi
callq 0x5310
jmp 0x1db6d
jmp 0x1db6f
movb $0x0, -0x1(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x1e294
leaq 0x43930(%rip), %rsi     # 0x614b9
leaq -0x38(%rbp), %rdi
callq 0x18930
movb %al, -0x439(%rbp)
jmp 0x1db9a
movb -0x439(%rbp), %al
testb $0x1, %al
jne 0x1dba9
jmp 0x1de6f
leaq 0x71e10(%rip), %rsi     # 0x8f9c0
leaq -0x70(%rbp), %rdi
callq 0x1f750
jmp 0x1dbbb
leaq 0x71dfe(%rip), %rdi     # 0x8f9c0
callq 0x1f980
leaq -0x218(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x56d0
movq %rax, -0x448(%rbp)
jmp 0x1dbe0
movq -0x448(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x56b0
movb %al, -0x449(%rbp)
jmp 0x1dbfe
movb -0x449(%rbp), %al
testb $0x1, %al
jne 0x1dc0d
jmp 0x1de1f
leaq 0x438aa(%rip), %rsi     # 0x614be
leaq -0x38(%rbp), %rdi
callq 0x18930
movb %al, -0x44a(%rbp)
jmp 0x1dc25
movb -0x44a(%rbp), %al
testb $0x1, %al
jne 0x1dc31
jmp 0x1dc52
movb $0x0, -0x311(%rbp)
leaq 0x71d81(%rip), %rdi     # 0x8f9c0
leaq -0x311(%rbp), %rsi
callq 0x1f9a0
jmp 0x1dc4d
jmp 0x1de1a
leaq 0x4386e(%rip), %rsi     # 0x614c7
leaq -0x38(%rbp), %rdi
callq 0x18930
movb %al, -0x44b(%rbp)
jmp 0x1dc6a
movb -0x44b(%rbp), %al
testb $0x1, %al
jne 0x1dc76
jmp 0x1dc97
movb $0x1, -0x312(%rbp)
leaq 0x71d3c(%rip), %rdi     # 0x8f9c0
leaq -0x312(%rbp), %rsi
callq 0x1f9a0
jmp 0x1dc92
jmp 0x1de18
leaq 0x43832(%rip), %rsi     # 0x614d0
leaq -0x38(%rbp), %rdi
callq 0x18930
movb %al, -0x44c(%rbp)
jmp 0x1dcaf
movb -0x44c(%rbp), %al
testb $0x1, %al
jne 0x1dcbb
jmp 0x1dcdc
movb $0x2, -0x313(%rbp)
leaq 0x71cf7(%rip), %rdi     # 0x8f9c0
leaq -0x313(%rbp), %rsi
callq 0x1f9a0
jmp 0x1dcd7
jmp 0x1de16
leaq 0x437f3(%rip), %rsi     # 0x614d6
leaq -0x38(%rbp), %rdi
callq 0x18930
movb %al, -0x44d(%rbp)
jmp 0x1dcf4
movb -0x44d(%rbp), %al
testb $0x1, %al
jne 0x1dd00
jmp 0x1dd21
movb $0x3, -0x314(%rbp)
leaq 0x71cb2(%rip), %rdi     # 0x8f9c0
leaq -0x314(%rbp), %rsi
callq 0x1f9a0
jmp 0x1dd1c
jmp 0x1de14
leaq 0x437b6(%rip), %rsi     # 0x614de
leaq -0x38(%rbp), %rdi
callq 0x18930
movb %al, -0x44e(%rbp)
jmp 0x1dd39
movb -0x44e(%rbp), %al
testb $0x1, %al
jne 0x1dd45
jmp 0x1dd66
movb $0x4, -0x315(%rbp)
leaq 0x71c6d(%rip), %rdi     # 0x8f9c0
leaq -0x315(%rbp), %rsi
callq 0x1f9a0
jmp 0x1dd61
jmp 0x1de12
testb $0x1, -0x11(%rbp)
je 0x1de10
leaq 0x4376f(%rip), %rsi     # 0x614e6
leaq -0x358(%rbp), %rdi
leaq -0x38(%rbp), %rdx
callq 0x1f390
jmp 0x1dd89
leaq 0x4e9c0(%rip), %rdx     # 0x6c750
leaq -0x338(%rbp), %rdi
leaq -0x358(%rbp), %rsi
callq 0x18a40
jmp 0x1dda5
leaq -0x338(%rbp), %rdi
callq 0x28d70
jmp 0x1ddb3
leaq -0x338(%rbp), %rdi
callq 0x5a48
leaq -0x358(%rbp), %rdi
callq 0x5a48
jmp 0x1de10
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
jmp 0x1ddff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
leaq -0x338(%rbp), %rdi
callq 0x5a48
leaq -0x358(%rbp), %rdi
callq 0x5a48
jmp 0x1e2d5
jmp 0x1de12
jmp 0x1de14
jmp 0x1de16
jmp 0x1de18
jmp 0x1de1a
jmp 0x1dbc7
testb $0x1, -0x11(%rbp)
jne 0x1de5c
leaq 0x71b94(%rip), %rdi     # 0x8f9c0
callq 0x1f9d0
testb $0x1, %al
jne 0x1de37
jmp 0x1de5c
leaq 0x71b82(%rip), %rdi     # 0x8f9c0
leaq -0x70(%rbp), %rsi
callq 0x1f750
jmp 0x1de49
movb $0x1, -0x1(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x1e294
movb $0x0, -0x1(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x1e294
leaq 0x43690(%rip), %rsi     # 0x61506
leaq -0x38(%rbp), %rdi
callq 0x18930
movb %al, -0x44f(%rbp)
jmp 0x1de87
movb -0x44f(%rbp), %al
testb $0x1, %al
jne 0x1de96
jmp 0x1e0ce
leaq 0x71b3b(%rip), %rsi     # 0x8f9d8
leaq -0x70(%rbp), %rdi
callq 0x1f750
jmp 0x1dea8
leaq 0x71b29(%rip), %rdi     # 0x8f9d8
callq 0x1f980
leaq -0x218(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x56d0
movq %rax, -0x458(%rbp)
jmp 0x1decd
movq -0x458(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x56b0
movb %al, -0x459(%rbp)
jmp 0x1deeb
movb -0x459(%rbp), %al
testb $0x1, %al
jne 0x1defa
jmp 0x1e07e
leaq 0x4360d(%rip), %rsi     # 0x6150e
leaq -0x38(%rbp), %rdi
callq 0x18930
movb %al, -0x45a(%rbp)
jmp 0x1df12
movb -0x45a(%rbp), %al
testb $0x1, %al
jne 0x1df1e
jmp 0x1df3f
movb $0x0, -0x359(%rbp)
leaq 0x71aac(%rip), %rdi     # 0x8f9d8
leaq -0x359(%rbp), %rsi
callq 0x1f9a0
jmp 0x1df3a
jmp 0x1e079
leaq 0x435d0(%rip), %rsi     # 0x61516
leaq -0x38(%rbp), %rdi
callq 0x18930
movb %al, -0x45b(%rbp)
jmp 0x1df57
movb -0x45b(%rbp), %al
testb $0x1, %al
jne 0x1df63
jmp 0x1df84
movb $0x1, -0x35a(%rbp)
leaq 0x71a67(%rip), %rdi     # 0x8f9d8
leaq -0x35a(%rbp), %rsi
callq 0x1f9a0
jmp 0x1df7f
jmp 0x1e077
leaq 0x43593(%rip), %rsi     # 0x6151e
leaq -0x38(%rbp), %rdi
callq 0x18930
movb %al, -0x45c(%rbp)
jmp 0x1df9c
movb -0x45c(%rbp), %al
testb $0x1, %al
jne 0x1dfa8
jmp 0x1dfc9
movb $0x2, -0x35b(%rbp)
leaq 0x71a22(%rip), %rdi     # 0x8f9d8
leaq -0x35b(%rbp), %rsi
callq 0x1f9a0
jmp 0x1dfc4
jmp 0x1e075
testb $0x1, -0x11(%rbp)
je 0x1e073
leaq 0x4354c(%rip), %rsi     # 0x61526
leaq -0x3a0(%rbp), %rdi
leaq -0x38(%rbp), %rdx
callq 0x1f390
jmp 0x1dfec
leaq 0x4e75d(%rip), %rdx     # 0x6c750
leaq -0x380(%rbp), %rdi
leaq -0x3a0(%rbp), %rsi
callq 0x18a40
jmp 0x1e008
leaq -0x380(%rbp), %rdi
callq 0x28d70
jmp 0x1e016
leaq -0x380(%rbp), %rdi
callq 0x5a48
leaq -0x3a0(%rbp), %rdi
callq 0x5a48
jmp 0x1e073
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
jmp 0x1e062
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
leaq -0x380(%rbp), %rdi
callq 0x5a48
leaq -0x3a0(%rbp), %rdi
callq 0x5a48
jmp 0x1e2d5
jmp 0x1e075
jmp 0x1e077
jmp 0x1e079
jmp 0x1deb4
testb $0x1, -0x11(%rbp)
jne 0x1e0bb
leaq 0x7194d(%rip), %rdi     # 0x8f9d8
callq 0x1f9d0
testb $0x1, %al
jne 0x1e096
jmp 0x1e0bb
leaq 0x7193b(%rip), %rdi     # 0x8f9d8
leaq -0x70(%rbp), %rsi
callq 0x1f750
jmp 0x1e0a8
movb $0x1, -0x1(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x1e294
movb $0x0, -0x1(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x1e294
leaq 0x43470(%rip), %rsi     # 0x61545
leaq -0x38(%rbp), %rdi
callq 0x18930
movb %al, -0x45d(%rbp)
jmp 0x1e0e6
movb -0x45d(%rbp), %al
testb $0x1, %al
jne 0x1e0f5
jmp 0x1e286
jmp 0x1e0f7
leaq -0x218(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x56d0
movq %rax, -0x468(%rbp)
jmp 0x1e110
movq -0x468(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x56b0
movb %al, -0x469(%rbp)
jmp 0x1e12e
movb -0x469(%rbp), %al
testb $0x1, %al
jne 0x1e13d
jmp 0x1e276
movl $0x0, -0x90(%rbp)
cmpl $0x16, -0x90(%rbp)
jge 0x1e1bd
movslq -0x90(%rbp), %rax
leaq 0x712e2(%rip), %rsi     # 0x8f440
shlq $0x5, %rax
addq %rax, %rsi
leaq -0x38(%rbp), %rdi
callq 0x18960
testb $0x1, %al
jne 0x1e174
jmp 0x1e1aa
movl -0x90(%rbp), %eax
leaq 0x717ff(%rip), %rdi     # 0x8f980
xorl %ecx, %ecx
movl %ecx, %edx
movsbl %al, %esi
callq 0x5720
cmpq $-0x1, %rax
jne 0x1e1aa
movsbl -0x90(%rbp), %esi
leaq 0x717df(%rip), %rdi     # 0x8f980
callq 0x5310
jmp 0x1e1a8
jmp 0x1e1bd
jmp 0x1e1ac
movl -0x90(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x90(%rbp)
jmp 0x1e147
cmpl $0x16, -0x90(%rbp)
jne 0x1e271
testb $0x1, -0x11(%rbp)
je 0x1e271
leaq 0x43376(%rip), %rsi     # 0x61551
leaq -0x3e0(%rbp), %rdi
leaq -0x38(%rbp), %rdx
callq 0x1f390
jmp 0x1e1ed
leaq 0x4337b(%rip), %rdx     # 0x6156f
leaq -0x3c0(%rbp), %rdi
leaq -0x3e0(%rbp), %rsi
callq 0x18a40
jmp 0x1e209
leaq -0x3c0(%rbp), %rdi
callq 0x28d70
jmp 0x1e217
leaq -0x3c0(%rbp), %rdi
callq 0x5a48
leaq -0x3e0(%rbp), %rdi
callq 0x5a48
jmp 0x1e271
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
jmp 0x1e263
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
leaq -0x3c0(%rbp), %rdi
callq 0x5a48
leaq -0x3e0(%rbp), %rdi
callq 0x5a48
jmp 0x1e2d5
jmp 0x1e0f7
movb $0x0, -0x1(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x1e294
movb $0x1, -0x1(%rbp)
movl $0x1, -0x26c(%rbp)
leaq -0x218(%rbp), %rdi
callq 0x53a0
leaq -0x88(%rbp), %rdi
callq 0x1b4e0
leaq -0x70(%rbp), %rdi
callq 0x1f330
leaq -0x58(%rbp), %rdi
callq 0x5a48
leaq -0x38(%rbp), %rdi
callq 0x5a48
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x470, %rsp            # imm = 0x470
popq %rbp
retq
leaq -0x218(%rbp), %rdi
callq 0x53a0
leaq -0x88(%rbp), %rdi
callq 0x1b4e0
leaq -0x70(%rbp), %rdi
callq 0x1f330
leaq -0x58(%rbp), %rdi
callq 0x5a48
leaq -0x38(%rbp), %rdi
callq 0x5a48
movq -0x220(%rbp), %rdi
callq 0x5920
nopw %cs:(%rax,%rax)