// File: /workspace/github_c_makefile_star2_O0/seanpringle[P]xoat/./config.c
// Function: configure
void
configure()
{
	unsigned int i;
	FILE *file = NULL;
	char tmp[1024];
	const char *home = getenv("HOME");

	regex_cache_init();

	settings.border         = BORDER;
	settings.border_blur    = strdup(BORDER_BLUR);
	settings.border_focus   = strdup(BORDER_FOCUS);
	settings.border_urgent  = strdup(BORDER_URGENT);
	settings.gap            = GAP;
	settings.title          = TITLE ? strdup(TITLE): NULL;
	settings.title_blur     = strdup(TITLE_BLUR);
	settings.title_focus    = strdup(TITLE_FOCUS);
	settings.title_ellipsis = TITLE_ELLIPSIS;
	settings.menu           = strdup(MENU);

	settings.layout_count = sizeof(layouts) / sizeof(Layout);
	settings.layouts = calloc(settings.layout_count, sizeof(Layout));

	for (i = 0; i < settings.layout_count; i++)
		memmove(&settings.layouts[i], &layouts[i], sizeof(Layout));

	settings.binding_count = sizeof(keys) / sizeof(Binding);
	settings.bindings = calloc(settings.binding_count, sizeof(Binding));

	settings.launchcmd_count = 0;
	settings.launchcmds = calloc(1, sizeof(char*));

	for (i = 0; i < settings.binding_count; i++)
		memmove(&settings.bindings[i], &keys[i], sizeof(Binding));

	snprintf(tmp, sizeof(tmp), "%s/.xoatrc", home);

	if (home && (file = fopen(tmp, "r")) && file)
	{
		while (fgets(tmp, sizeof(tmp), file))
		{
			if (regex_match("^[[:space:]]*(" CONFIG_UINT_NAMES ")[[:space:]]+([0-9]+)", tmp))
			{
				unsigned n = strtoul(regex_matches[2], NULL, 10);

				char *names[] = {
					CONFIG_BORDER,
					CONFIG_GAP,
					CONFIG_TITLE_ELLIPSIS,
				};
				unsigned int *values[] = {
					&settings.border,
					&settings.gap,
					&settings.title_ellipsis,
				};
				for (i = 0; i < sizeof(names) / sizeof(char*); i++)
				{
					if (strcmp(regex_matches[1], names[i]) == 0)
					{
						fprintf(stderr, "set [%s] to [%u]\n", names[i], n);
						*(values[i]) = n;
						break;
					}
				}
			}
			else
			if (regex_match("^[[:space:]]*(" CONFIG_STR_NAMES ")[[:space:]]+(.+)", tmp))
			{
				rtrim(regex_matches[2]);

				char *names[] = {
					CONFIG_BORDER_BLUR,
					CONFIG_BORDER_FOCUS,
					CONFIG_BORDER_URGENT,
					CONFIG_TITLE,
					CONFIG_TITLE_BLUR,
					CONFIG_TITLE_FOCUS,
					CONFIG_MENU,
				};
				char **values[] = {
					&settings.border_blur,
					&settings.border_focus,
					&settings.border_urgent,
					&settings.title,
					&settings.title_blur,
					&settings.title_focus,
					&settings.menu,
				};
				for (i = 0; i < sizeof(names) / sizeof(char*); i++)
				{
					if (strcmp(regex_matches[1], names[i]) == 0)
					{
						fprintf(stderr, "set [%s] to [%s]\n", names[i], regex_matches[2]);
						free(*(values[i]));
						*(values[i]) = strdup(regex_matches[2]);
						break;
					}
				}
			}
			else
			if (regex_match("^[[:space:]]*(layouts)[[:space:]]+([1-9])", tmp))
			{
				unsigned int n = strtoul(regex_matches[2], NULL, 10);
				fprintf(stderr, "using [%u] monitor layout%s\n", n, n > 1 ? "s":"");

				free(settings.layouts);
				settings.layout_count = n;
				settings.layouts = calloc(settings.layout_count, sizeof(Layout));

				for (i = 0; i < settings.layout_count && i < sizeof(layouts) / sizeof(Layout); i++)
					memmove(&settings.layouts[i], &layouts[i], sizeof(Layout));
			}
			else
			if (regex_match("^[[:space:]]*layout[[:space:]]([0-9])(.+)", tmp))
			{
				unsigned int n = strtoul(regex_matches[1], NULL, 10);
				if (!have_layout(n))
				{
					for (i = settings.layout_count; i < n+1; i++)
					{
						settings.layout_count++;
						settings.layouts = realloc(settings.layouts, sizeof(Layout) * settings.layout_count);
						memmove(&settings.layouts[i], &settings.layouts[0], sizeof(Layout));
						fprintf(stderr, "creating layout [%u]\n", i);
					}
				}

				snprintf(tmp, sizeof(tmp), "%s", regex_matches[2]);

				if (regex_match("^[[:space:]]spot_start[[:space:]]+(smart|current|spot1|spot2|spot3)", tmp))
				{
					char *names[] = {
						"smart",
						"current",
						"spot1",
						"spot2",
						"spot3",
					};
					short values[] = {
						SMART,
						CURRENT,
						SPOT1,
						SPOT2,
						SPOT3,
					};
					for (i = 0; i < sizeof(names) / sizeof(char*); i++)
					{
						if (strcmp(regex_matches[1], names[i]) == 0)
						{
							fprintf(stderr, "layout [%u] spot_start [%s]\n", n, regex_matches[1]);
							settings.layouts[n].spot_start = values[i];
							break;
						}
					}
				}
				else
				if (regex_match("^[[:space:]]spot1_align[[:space:]]+(left|right)", tmp))
				{
					char *names[] = {
						"left",
						"right",
					};
					short values[] = {
						LEFT,
						RIGHT,
					};
					for (i = 0; i < sizeof(names) / sizeof(char*); i++)
					{
						if (strcmp(regex_matches[1], names[i]) == 0)
						{
							fprintf(stderr, "layout [%u] spot1_align [%s]\n", n, regex_matches[1]);
							settings.layouts[n].spot1_align = values[i];
							break;
						}
					}
				}
				else
				if (regex_match("^[[:space:]]spot1_width_pct[[:space:]]+([0-9]+)", tmp))
				{
					unsigned int w = strtoul(regex_matches[1], NULL, 10);
					if (w < 50 || w > 90)
					{
						fprintf(stderr, "layout [%u] spot1_width_pct out of bounds [%u]!\n", n, w);
						continue;
					}
					fprintf(stderr, "layout [%u] spot1_width_pct [%u%%]\n", n, w);
					settings.layouts[n].spot1_width_pct = w;
				}
				else
				if (regex_match("^[[:space:]]spot2_height_pct[[:space:]]+([0-9]+)", tmp))
				{
					unsigned int h = strtoul(regex_matches[1], NULL, 10);
					if (h < 50 || h > 90)
					{
						fprintf(stderr, "layout [%u] spot2_height_pct out of bounds [%u]!\n", n, h);
						continue;
					}
					fprintf(stderr, "layout [%u] spot2_height_pct [%u%%]\n", n, h);
					settings.layouts[n].spot2_height_pct = h;
				}
			}
			else
			if (regex_match("^[[:space:]]*bind[[:space:]]+([^[:space:]]+)[[:space:]]+(" CONFIG_ACTIONS ")(.*)", tmp))
			{
				unsigned int modifier = 0;
				char *str = regex_matches[1];
				fprintf(stderr, "binding");

				while (*str)
				{
					if ((strncmp(str, "Mod1" , 4)) == 0)
					{
						modifier |= Mod1Mask;
						fprintf(stderr, " [Mod1]");
						str += 4;
					}
					else
					if ((strncmp(str, "Mod2" , 4)) == 0)
					{
						modifier |= Mod2Mask;
						fprintf(stderr, " [Mod2]");
						str += 4;
					}
					else
					if ((strncmp(str, "Mod3" , 4)) == 0)
					{
						modifier |= Mod3Mask;
						fprintf(stderr, " [Mod3]");
						str += 4;
					}
					else
					if ((strncmp(str, "Mod4" , 4)) == 0)
					{
						modifier |= Mod4Mask;
						fprintf(stderr, " [Mod4]");
						str += 4;
					}
					else
					if ((strncmp(str, "Mod5" , 4)) == 0)
					{
						modifier |= Mod5Mask;
						fprintf(stderr, " [Mod5]");
						str += 4;
					}
					else
					if ((strncmp(str, "Shift", 5)) == 0)
					{
						modifier |= ShiftMask;
						fprintf(stderr, " [Shift]");
						str += 5;
					}
					else
					if ((strncmp(str, "Control", 7)) == 0)
					{
						modifier |= ControlMask;
						fprintf(stderr, " [Control]");
						str += 7;
					}
					else
					{
						break;
					}
					while (*str == '+') str++;
				}

				if (modifier == 0)
				{
					fprintf(stderr, " AnyModifier");
					modifier = AnyModifier;
				}

				if (!*str)
				{
					fprintf(stderr, " malformed key binding [%s]\n", regex_matches[1]);
					continue;
				}

				KeySym keysym = strncmp("0x", str, 2) == 0 ? strtoul(str, NULL, 16): XStringToKeysym(str);

				if (keysym == NoSymbol)
				{
					fprintf(stderr, " unknown key symbol [%s]\n", str);
					continue;
				}

				fprintf(stderr, " [%s]", str);

				int num = 0;
				char *data = NULL;
				void *action = NULL;
				trim(regex_matches[3]);

				char *names[] = {
					"action_move",
					"action_focus",
					"action_move_direction",
					"action_focus_direction",
					"action_close",
					"action_cycle",
					"action_raise_nth",
					"action_command",
					"action_find_or_start",
					"action_move_monitor",
					"action_focus_monitor",
					"action_fullscreen",
					"action_maximize_vert",
					"action_maximize_horz",
					"action_maximize",
					"action_above",
					"action_menu",
				};
				void *actions[] = {
					action_move,
					action_focus,
					action_move_direction,
					action_focus_direction,
					action_close,
					action_cycle,
					action_raise_nth,
					action_command,
					action_find_or_start,
					action_move_monitor,
					action_focus_monitor,
					action_fullscreen,
					action_maximize_vert,
					action_maximize_horz,
					action_maximize,
					action_above,
					action_menu,
				};
				for (i = 0; i < sizeof(names) / sizeof(char*); i++)
				{
					if (strcmp(names[i], regex_matches[2]) == 0)
					{
						action = actions[i];
						fprintf(stderr, " to [%s %s]\n", regex_matches[2], regex_matches[3]);
						break;
					}
				}
				if ((0 == strcmp(regex_matches[2], "action_move")) || 0 == strcmp(regex_matches[2], "action_focus"))
				{
					if (strcmp(regex_matches[3], "spot1") == 0) num = SPOT1;
					if (strcmp(regex_matches[3], "spot2") == 0) num = SPOT2;
					if (strcmp(regex_matches[3], "spot3") == 0) num = SPOT3;
				}
				else
				if (0 == strcmp(regex_matches[2], "action_move_direction") || 0 == strcmp(regex_matches[2], "action_focus_direction") || 0 == strcmp(regex_matches[2], "action_move_monitor") || 0 == strcmp(regex_matches[2], "action_focus_monitor"))
				{
					if (strcmp(regex_matches[3], "left" ) == 0) num = LEFT;
					if (strcmp(regex_matches[3], "right") == 0) num = RIGHT;
					if (strcmp(regex_matches[3], "up"   ) == 0) num = UP;
					if (strcmp(regex_matches[3], "down" ) == 0) num = DOWN;
				}
				else
				if (0 == strcmp(regex_matches[2], "action_command") || 0 == strcmp(regex_matches[2], "action_find_or_start"))
				{
					data = regex_matches[3];
				}
				else
				if (0 == strcmp(regex_matches[2], "action_raise_nth"))
				{
					num = strtol(regex_matches[3], NULL, 10);
				}
				for (i = 0; i < settings.binding_count; i++)
				{
					if (settings.bindings[i].mod == modifier && settings.bindings[i].key == keysym)
					{
						settings.bindings[i].act  = action;
						settings.bindings[i].data = data ? strdup(data): NULL;
						settings.bindings[i].num  = num;
						break;
					}
				}
				if (i == settings.binding_count)
				{
					settings.binding_count++;
					settings.bindings = realloc(settings.bindings, sizeof(Binding) * settings.binding_count);
					settings.bindings[i].mod  = modifier;
					settings.bindings[i].key  = keysym;
					settings.bindings[i].act  = action;
					settings.bindings[i].data = data ? strdup(data): NULL;
					settings.bindings[i].num  = num;
				}
			}
			else
			if (regex_match("^launch[[:space:]]+(.+)$", tmp))
			{
				rtrim(regex_matches[1]);

				settings.launchcmd_count++;
				settings.launchcmds = realloc(settings.launchcmds, sizeof(char*) * settings.launchcmd_count);
				settings.launchcmds[settings.launchcmd_count-1] = strdup(regex_matches[1]);
				fprintf(stderr, "launching [%s]\n", regex_matches[1]);
			}
		}
		fclose(file);

		regex_cache_empty();

		if (settings.title && strcmp(settings.title, "null") == 0)
		{
			free(settings.title);
			settings.title = NULL;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x6b0, %rsp            # imm = 0x6B0
movq $0x0, -0x10(%rbp)
leaq 0x3573(%rip), %rdi      # 0xf2dd
callq 0x33d0
movq %rax, -0x418(%rbp)
callq 0x3a30
movl $0x1, 0x842b(%rip)      # 0x141b0
leaq 0x3556(%rip), %rdi      # 0xf2e2
callq 0x3430
movq %rax, 0x8420(%rip)      # 0x141b8
leaq 0x354d(%rip), %rdi      # 0xf2ec
callq 0x3430
movq %rax, 0x8415(%rip)      # 0x141c0
leaq 0x3545(%rip), %rdi      # 0xf2f7
callq 0x3430
movq %rax, 0x840a(%rip)      # 0x141c8
movl $0x1, 0x8408(%rip)      # 0x141d0
movb $0x1, %al
testb $0x1, %al
jne 0xbdd0
jmp 0xbde5
leaq 0x3524(%rip), %rdi      # 0xf2fb
callq 0x3430
movq %rax, -0x688(%rbp)
jmp 0xbdf0
xorl %eax, %eax
movq %rax, -0x688(%rbp)
jmp 0xbdf0
movq -0x688(%rbp), %rax
movq %rax, 0x83da(%rip)      # 0x141d8
leaq 0x3502(%rip), %rdi      # 0xf307
callq 0x3430
movq %rax, 0x83cf(%rip)      # 0x141e0
leaq 0x34f5(%rip), %rdi      # 0xf30d
callq 0x3430
movq %rax, 0x83c4(%rip)      # 0x141e8
movl $0x20, 0x83c2(%rip)     # 0x141f0
leaq 0x34c6(%rip), %rdi      # 0xf2fb
callq 0x3430
movq %rax, 0x83b7(%rip)      # 0x141f8
movl $0x3, 0x83b5(%rip)      # 0x14200
movl 0x83af(%rip), %eax      # 0x14200
movl %eax, %edi
movl $0x8, %esi
callq 0x3500
movq %rax, 0x83a4(%rip)      # 0x14208
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
cmpl 0x838c(%rip), %eax      # 0x14200
jae 0xbeab
movq 0x838b(%rip), %rax      # 0x14208
movl -0x4(%rbp), %ecx
shlq $0x3, %rcx
addq %rcx, %rax
movl -0x4(%rbp), %ecx
movl %ecx, %edx
leaq 0x75dd(%rip), %rcx      # 0x13470
shlq $0x3, %rdx
addq %rdx, %rcx
movq (%rcx), %rcx
movq %rcx, (%rax)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0xbe6b
movl $0x12, 0x835b(%rip)     # 0x14210
movl 0x8355(%rip), %eax      # 0x14210
movl %eax, %edi
movl $0x28, %esi
callq 0x3500
movq %rax, 0x834a(%rip)      # 0x14218
movl $0x0, 0x8348(%rip)      # 0x14220
movl $0x1, %edi
movl $0x8, %esi
callq 0x3500
movq %rax, 0x833a(%rip)      # 0x14228
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
cmpl 0x8312(%rip), %eax      # 0x14210
jae 0xbf45
movq 0x8311(%rip), %rax      # 0x14218
movl -0x4(%rbp), %ecx
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl -0x4(%rbp), %ecx
movl %ecx, %edx
leaq 0x7573(%rip), %rcx      # 0x13490
imulq $0x28, %rdx, %rdx
addq %rdx, %rcx
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movq 0x20(%rcx), %rcx
movq %rcx, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0xbef5
leaq -0x410(%rbp), %rdi
movq -0x418(%rbp), %rcx
movl $0x400, %esi            # imm = 0x400
leaq 0x33b4(%rip), %rdx      # 0xf313
movb $0x0, %al
callq 0x3080
cmpq $0x0, -0x418(%rbp)
je 0xd095
leaq -0x410(%rbp), %rdi
leaq 0x33de(%rip), %rsi      # 0xf360
callq 0x3160
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0xd095
cmpq $0x0, -0x10(%rbp)
je 0xd095
jmp 0xbfa2
leaq -0x410(%rbp), %rdi
movq -0x10(%rbp), %rdx
movl $0x400, %esi            # imm = 0x400
callq 0x3200
cmpq $0x0, %rax
je 0xd04c
leaq -0x410(%rbp), %rsi
leaq 0x334f(%rip), %rdi      # 0xf31e
callq 0x3ae0
cmpl $0x0, %eax
je 0xc0c8
movq 0x7b8c(%rip), %rdi      # 0x13b70
xorl %eax, %eax
movl %eax, %esi
movl $0xa, %edx
callq 0x3680
movl %eax, -0x41c(%rbp)
movq 0x6ba1(%rip), %rax      # 0x12ba0
movq %rax, -0x440(%rbp)
movq 0x6b9b(%rip), %rax      # 0x12ba8
movq %rax, -0x438(%rbp)
movq 0x6b95(%rip), %rax      # 0x12bb0
movq %rax, -0x430(%rbp)
movq 0x6b97(%rip), %rax      # 0x12bc0
movq %rax, -0x460(%rbp)
movq 0x6b91(%rip), %rax      # 0x12bc8
movq %rax, -0x458(%rbp)
movq 0x6b8b(%rip), %rax      # 0x12bd0
movq %rax, -0x450(%rbp)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
cmpq $0x3, %rax
jae 0xc0c3
movq 0x7b05(%rip), %rdi      # 0x13b68
movl -0x4(%rbp), %eax
movq -0x440(%rbp,%rax,8), %rsi
callq 0x3470
cmpl $0x0, %eax
jne 0xc0b6
movq 0x6f69(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
movl -0x4(%rbp), %eax
movq -0x440(%rbp,%rax,8), %rdx
movl -0x41c(%rbp), %ecx
leaq 0x32db(%rip), %rsi      # 0xf375
movb $0x0, %al
callq 0x3650
movl -0x41c(%rbp), %ecx
movl -0x4(%rbp), %eax
movq -0x460(%rbp,%rax,8), %rax
movl %ecx, (%rax)
jmp 0xc0c3
jmp 0xc0b8
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0xc053
jmp 0xd047
leaq -0x410(%rbp), %rsi
leaq 0x32b1(%rip), %rdi      # 0xf387
callq 0x3ae0
cmpl $0x0, %eax
je 0xc1c1
movq 0x7a85(%rip), %rdi      # 0x13b70
callq 0xbc20
leaq -0x4a0(%rbp), %rdi
leaq 0x6ae2(%rip), %rsi      # 0x12be0
movl $0x38, %edx
callq 0x36a0
leaq -0x4e0(%rbp), %rdi
leaq 0x6b0a(%rip), %rsi      # 0x12c20
movl $0x38, %edx
callq 0x36a0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
cmpq $0x7, %rax
jae 0xc1bc
movq 0x7a2d(%rip), %rdi      # 0x13b68
movl -0x4(%rbp), %eax
movq -0x4a0(%rbp,%rax,8), %rsi
callq 0x3470
cmpl $0x0, %eax
jne 0xc1ac
movq 0x6e91(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
movl -0x4(%rbp), %eax
movq -0x4a0(%rbp,%rax,8), %rdx
movq 0x7a04(%rip), %rcx      # 0x13b70
leaq 0x32c0(%rip), %rsi      # 0xf433
movb $0x0, %al
callq 0x3650
movl -0x4(%rbp), %eax
movq -0x4e0(%rbp,%rax,8), %rax
movq (%rax), %rdi
callq 0x3220
movq 0x79dc(%rip), %rdi      # 0x13b70
callq 0x3430
movq %rax, %rcx
movl -0x4(%rbp), %eax
movq -0x4e0(%rbp,%rax,8), %rax
movq %rcx, (%rax)
jmp 0xc1bc
jmp 0xc1ae
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0xc127
jmp 0xd045
leaq -0x410(%rbp), %rsi
leaq 0x3276(%rip), %rdi      # 0xf445
callq 0x3ae0
cmpl $0x0, %eax
je 0xc2d2
movq 0x798c(%rip), %rdi      # 0x13b70
xorl %eax, %eax
movl %eax, %esi
movl $0xa, %edx
callq 0x3680
movl %eax, -0x4e4(%rbp)
movq 0x6de9(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
movl -0x4e4(%rbp), %edx
movl -0x4e4(%rbp), %esi
leaq 0x33f1(%rip), %rcx      # 0xf606
leaq 0x2e0c(%rip), %rax      # 0xf028
cmpl $0x1, %esi
cmovaq %rax, %rcx
leaq 0x3245(%rip), %rsi      # 0xf46f
movb $0x0, %al
callq 0x3650
movq 0x7fd0(%rip), %rdi      # 0x14208
callq 0x3220
movl -0x4e4(%rbp), %eax
movl %eax, 0x7fb7(%rip)      # 0x14200
movl 0x7fb1(%rip), %eax      # 0x14200
movl %eax, %edi
movl $0x8, %esi
callq 0x3500
movq %rax, 0x7fa6(%rip)      # 0x14208
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %ecx
xorl %eax, %eax
cmpl 0x7f8c(%rip), %ecx      # 0x14200
movb %al, -0x689(%rbp)
jae 0xc28c
movl -0x4(%rbp), %eax
cmpq $0x3, %rax
setb %al
movb %al, -0x689(%rbp)
movb -0x689(%rbp), %al
testb $0x1, %al
jne 0xc298
jmp 0xc2cd
movq 0x7f69(%rip), %rax      # 0x14208
movl -0x4(%rbp), %ecx
shlq $0x3, %rcx
addq %rcx, %rax
movl -0x4(%rbp), %ecx
movl %ecx, %edx
leaq 0x71bb(%rip), %rcx      # 0x13470
shlq $0x3, %rdx
addq %rdx, %rcx
movq (%rcx), %rcx
movq %rcx, (%rax)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0xc269
jmp 0xd043
leaq -0x410(%rbp), %rsi
leaq 0x31ac(%rip), %rdi      # 0xf48c
callq 0x3ae0
cmpl $0x0, %eax
je 0xc6d5
movq 0x7873(%rip), %rdi      # 0x13b68
xorl %eax, %eax
movl %eax, %esi
movl $0xa, %edx
callq 0x3680
movl %eax, -0x4e8(%rbp)
movl 0x7ef1(%rip), %eax      # 0x14200
cmpl -0x4e8(%rbp), %eax
ja 0xc3ab
movl 0x7edf(%rip), %eax      # 0x14200
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
movl -0x4e8(%rbp), %ecx
addl $0x1, %ecx
cmpl %ecx, %eax
jae 0xc3a9
movl 0x7ec6(%rip), %eax      # 0x14200
addl $0x1, %eax
movl %eax, 0x7ebd(%rip)      # 0x14200
movq 0x7ebe(%rip), %rdi      # 0x14208
movl 0x7eb0(%rip), %eax      # 0x14200
movl %eax, %esi
shlq $0x3, %rsi
callq 0x3630
movq %rax, 0x7ea6(%rip)      # 0x14208
movq 0x7e9f(%rip), %rax      # 0x14208
movl -0x4(%rbp), %ecx
shlq $0x3, %rcx
addq %rcx, %rax
movq 0x7e8e(%rip), %rcx      # 0x14208
movq (%rcx), %rcx
movq %rcx, (%rax)
movq 0x6c61(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
movl -0x4(%rbp), %edx
leaq 0x3122(%rip), %rsi      # 0xf4b6
movb $0x0, %al
callq 0x3650
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0xc324
jmp 0xc3ab
leaq -0x410(%rbp), %rdi
movq 0x77b7(%rip), %rcx      # 0x13b70
movl $0x400, %esi            # imm = 0x400
leaq 0x2c62(%rip), %rdx      # 0xf027
movb $0x0, %al
callq 0x3080
leaq -0x410(%rbp), %rsi
leaq 0x30f2(%rip), %rdi      # 0xf4cc
callq 0x3ae0
cmpl $0x0, %eax
je 0xc49d
leaq -0x510(%rbp), %rdi
leaq 0x686a(%rip), %rsi      # 0x12c60
movl $0x28, %edx
callq 0x36a0
movq 0x366d(%rip), %rax      # 0xfa74
movq %rax, -0x51a(%rbp)
movw 0x3667(%rip), %ax       # 0xfa7c
movw %ax, -0x512(%rbp)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
cmpq $0x5, %rax
jae 0xc498
movq 0x7735(%rip), %rdi      # 0x13b68
movl -0x4(%rbp), %eax
movq -0x510(%rbp,%rax,8), %rsi
callq 0x3470
cmpl $0x0, %eax
jne 0xc48b
movq 0x6b99(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
movl -0x4e8(%rbp), %edx
movq 0x7709(%rip), %rcx      # 0x13b68
leaq 0x30ca(%rip), %rsi      # 0xf530
movb $0x0, %al
callq 0x3650
movl -0x4(%rbp), %eax
movw -0x51a(%rbp,%rax,2), %dx
movq 0x7d89(%rip), %rax      # 0x14208
movl -0x4e8(%rbp), %ecx
movw %dx, (%rax,%rcx,8)
jmp 0xc498
jmp 0xc48d
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0xc423
jmp 0xc6d0
leaq -0x410(%rbp), %rsi
leaq 0x30a2(%rip), %rdi      # 0xf54d
callq 0x3ae0
cmpl $0x0, %eax
je 0xc563
movq 0x67d0(%rip), %rax      # 0x12c90
movq %rax, -0x530(%rbp)
movq 0x67ca(%rip), %rax      # 0x12c98
movq %rax, -0x528(%rbp)
movl 0x35a3(%rip), %eax      # 0xfa7e
movl %eax, -0x534(%rbp)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
cmpq $0x2, %rax
jae 0xc55e
movq 0x7670(%rip), %rdi      # 0x13b68
movl -0x4(%rbp), %eax
movq -0x530(%rbp,%rax,8), %rsi
callq 0x3470
cmpl $0x0, %eax
jne 0xc551
movq 0x6ad4(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
movl -0x4e8(%rbp), %edx
movq 0x7644(%rip), %rcx      # 0x13b68
leaq 0x305d(%rip), %rsi      # 0xf588
movb $0x0, %al
callq 0x3650
movl -0x4(%rbp), %eax
movw -0x534(%rbp,%rax,2), %dx
movq 0x7cc4(%rip), %rax      # 0x14208
movl -0x4e8(%rbp), %ecx
movw %dx, 0x2(%rax,%rcx,8)
jmp 0xc55e
jmp 0xc553
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0xc4e8
jmp 0xc6ce
leaq -0x410(%rbp), %rsi
leaq 0x3035(%rip), %rdi      # 0xf5a6
callq 0x3ae0
cmpl $0x0, %eax
je 0xc619
movq 0x75e2(%rip), %rdi      # 0x13b68
xorl %eax, %eax
movl %eax, %esi
movl $0xa, %edx
callq 0x3680
movl %eax, -0x538(%rbp)
cmpl $0x32, -0x538(%rbp)
jb 0xc5ac
cmpl $0x5a, -0x538(%rbp)
jbe 0xc5d5
movq 0x6a35(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
movl -0x4e8(%rbp), %edx
movl -0x538(%rbp), %ecx
leaq 0x300d(%rip), %rsi      # 0xf5d6
movb $0x0, %al
callq 0x3650
jmp 0xbfa2
movq 0x6a0c(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
movl -0x4e8(%rbp), %edx
movl -0x538(%rbp), %ecx
leaq 0x3015(%rip), %rsi      # 0xf607
movb $0x0, %al
callq 0x3650
movl -0x538(%rbp), %eax
movw %ax, %dx
movq 0x7bff(%rip), %rax      # 0x14208
movl -0x4e8(%rbp), %ecx
movw %dx, 0x4(%rax,%rcx,8)
jmp 0xc6cc
leaq -0x410(%rbp), %rsi
leaq 0x3004(%rip), %rdi      # 0xf62b
callq 0x3ae0
cmpl $0x0, %eax
je 0xc6ca
movq 0x752c(%rip), %rdi      # 0x13b68
xorl %eax, %eax
movl %eax, %esi
movl $0xa, %edx
callq 0x3680
movl %eax, -0x53c(%rbp)
cmpl $0x32, -0x53c(%rbp)
jb 0xc662
cmpl $0x5a, -0x53c(%rbp)
jbe 0xc68b
movq 0x697f(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
movl -0x4e8(%rbp), %edx
movl -0x53c(%rbp), %ecx
leaq 0x2fdd(%rip), %rsi      # 0xf65c
movb $0x0, %al
callq 0x3650
jmp 0xbfa2
movq 0x6956(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
movl -0x4e8(%rbp), %edx
movl -0x53c(%rbp), %ecx
leaq 0x2fe6(%rip), %rsi      # 0xf68e
movb $0x0, %al
callq 0x3650
movl -0x53c(%rbp), %eax
movw %ax, %dx
movq 0x7b49(%rip), %rax      # 0x14208
movl -0x4e8(%rbp), %ecx
movw %dx, 0x6(%rax,%rcx,8)
jmp 0xc6cc
jmp 0xc6ce
jmp 0xc6d0
jmp 0xd041
leaq -0x410(%rbp), %rsi
leaq 0x2fd0(%rip), %rdi      # 0xf6b3
callq 0x3ae0
cmpl $0x0, %eax
je 0xcfa7
movl $0x0, -0x540(%rbp)
movq 0x7466(%rip), %rax      # 0x13b68
movq %rax, -0x548(%rbp)
movq 0x68d8(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
leaq 0x30fa(%rip), %rsi      # 0xf814
movb $0x0, %al
callq 0x3650
movq -0x548(%rbp), %rax
cmpb $0x0, (%rax)
je 0xc9e2
movq -0x548(%rbp), %rdi
leaq 0x30dd(%rip), %rsi      # 0xf81c
movl $0x4, %edx
callq 0x3140
cmpl $0x0, %eax
jne 0xc78c
movl -0x540(%rbp), %eax
orl $0x8, %eax
movl %eax, -0x540(%rbp)
movq 0x6884(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
leaq 0x30b3(%rip), %rsi      # 0xf821
movb $0x0, %al
callq 0x3650
movq -0x548(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x548(%rbp)
jmp 0xc9b8
movq -0x548(%rbp), %rdi
leaq 0x308f(%rip), %rsi      # 0xf829
movl $0x4, %edx
callq 0x3140
cmpl $0x0, %eax
jne 0xc7e7
movl -0x540(%rbp), %eax
orl $0x10, %eax
movl %eax, -0x540(%rbp)
movq 0x6829(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
leaq 0x3065(%rip), %rsi      # 0xf82e
movb $0x0, %al
callq 0x3650
movq -0x548(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x548(%rbp)
jmp 0xc9b6
movq -0x548(%rbp), %rdi
leaq 0x3041(%rip), %rsi      # 0xf836
movl $0x4, %edx
callq 0x3140
cmpl $0x0, %eax
jne 0xc842
movl -0x540(%rbp), %eax
orl $0x20, %eax
movl %eax, -0x540(%rbp)
movq 0x67ce(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
leaq 0x3017(%rip), %rsi      # 0xf83b
movb $0x0, %al
callq 0x3650
movq -0x548(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x548(%rbp)
jmp 0xc9b4
movq -0x548(%rbp), %rdi
leaq 0x2ff3(%rip), %rsi      # 0xf843
movl $0x4, %edx
callq 0x3140
cmpl $0x0, %eax
jne 0xc89d
movl -0x540(%rbp), %eax
orl $0x40, %eax
movl %eax, -0x540(%rbp)
movq 0x6773(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
leaq 0x2fc9(%rip), %rsi      # 0xf848
movb $0x0, %al
callq 0x3650
movq -0x548(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x548(%rbp)
jmp 0xc9b2
movq -0x548(%rbp), %rdi
leaq 0x2fa5(%rip), %rsi      # 0xf850
movl $0x4, %edx
callq 0x3140
cmpl $0x0, %eax
jne 0xc8fa
movl -0x540(%rbp), %eax
orl $0x80, %eax
movl %eax, -0x540(%rbp)
movq 0x6716(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
leaq 0x2f79(%rip), %rsi      # 0xf855
movb $0x0, %al
callq 0x3650
movq -0x548(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x548(%rbp)
jmp 0xc9b0
movq -0x548(%rbp), %rdi
leaq 0x2f55(%rip), %rsi      # 0xf85d
movl $0x5, %edx
callq 0x3140
cmpl $0x0, %eax
jne 0xc952
movl -0x540(%rbp), %eax
orl $0x1, %eax
movl %eax, -0x540(%rbp)
movq 0x66bb(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
leaq 0x2f2c(%rip), %rsi      # 0xf863
movb $0x0, %al
callq 0x3650
movq -0x548(%rbp), %rax
addq $0x5, %rax
movq %rax, -0x548(%rbp)
jmp 0xc9ae
movq -0x548(%rbp), %rdi
leaq 0x2f0c(%rip), %rsi      # 0xf86c
movl $0x7, %edx
callq 0x3140
cmpl $0x0, %eax
jne 0xc9aa
movl -0x540(%rbp), %eax
orl $0x4, %eax
movl %eax, -0x540(%rbp)
movq 0x6663(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
leaq 0x2ee5(%rip), %rsi      # 0xf874
movb $0x0, %al
callq 0x3650
movq -0x548(%rbp), %rax
addq $0x7, %rax
movq %rax, -0x548(%rbp)
jmp 0xc9ac
jmp 0xc9e2
jmp 0xc9ae
jmp 0xc9b0
jmp 0xc9b2
jmp 0xc9b4
jmp 0xc9b6
jmp 0xc9b8
jmp 0xc9ba
movq -0x548(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2b, %eax
jne 0xc9dd
movq -0x548(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x548(%rbp)
jmp 0xc9ba
jmp 0xc721
cmpl $0x0, -0x540(%rbp)
jne 0xca0d
movq 0x65f6(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
leaq 0x2e83(%rip), %rsi      # 0xf87f
movb $0x0, %al
callq 0x3650
movl $0x8000, -0x540(%rbp)   # imm = 0x8000
movq -0x548(%rbp), %rax
cmpb $0x0, (%rax)
jne 0xca3d
movq 0x65c8(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
movq 0x713e(%rip), %rdx      # 0x13b68
leaq 0x2e5b(%rip), %rsi      # 0xf88c
movb $0x0, %al
callq 0x3650
jmp 0xbfa2
movq -0x548(%rbp), %rsi
leaq 0x2e5e(%rip), %rdi      # 0xf8a9
movl $0x2, %edx
callq 0x3140
cmpl $0x0, %eax
jne 0xca78
movq -0x548(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x10, %edx
callq 0x3680
movq %rax, -0x698(%rbp)
jmp 0xca8b
movq -0x548(%rbp), %rdi
callq 0x30b0
movq %rax, -0x698(%rbp)
movq -0x698(%rbp), %rax
movq %rax, -0x550(%rbp)
cmpq $0x0, -0x550(%rbp)
jne 0xcac7
movq 0x653e(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
movq -0x548(%rbp), %rdx
leaq 0x2df1(%rip), %rsi      # 0xf8ac
movb $0x0, %al
callq 0x3650
jmp 0xbfa2
movq 0x651a(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
movq -0x548(%rbp), %rdx
leaq 0x2de7(%rip), %rsi      # 0xf8c6
movb $0x0, %al
callq 0x3650
movl $0x0, -0x554(%rbp)
movq $0x0, -0x560(%rbp)
movq $0x0, -0x568(%rbp)
movq 0x706b(%rip), %rdi      # 0x13b78
callq 0xbd20
leaq -0x5f0(%rbp), %rdi
leaq 0x6180(%rip), %rsi      # 0x12ca0
movl $0x88, %edx
callq 0x36a0
leaq -0x680(%rbp), %rdi
leaq 0x61f8(%rip), %rsi      # 0x12d30
movl $0x88, %edx
callq 0x36a0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
cmpq $0x11, %rax
jae 0xcbb5
movl -0x4(%rbp), %eax
movq -0x5f0(%rbp,%rax,8), %rdi
movq 0x700c(%rip), %rsi      # 0x13b70
callq 0x3470
cmpl $0x0, %eax
jne 0xcba8
movl -0x4(%rbp), %eax
movq -0x680(%rbp,%rax,8), %rax
movq %rax, -0x568(%rbp)
movq 0x6461(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
movq 0x6fdf(%rip), %rdx      # 0x13b70
movq 0x6fe0(%rip), %rcx      # 0x13b78
leaq 0x2e50(%rip), %rsi      # 0xf9ef
movb $0x0, %al
callq 0x3650
jmp 0xcbb5
jmp 0xcbaa
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0xcb49
movq 0x6fb4(%rip), %rdi      # 0x13b70
leaq 0x2d09(%rip), %rsi      # 0xf8cc
callq 0x3470
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xcbeb
movq 0x6f99(%rip), %rdi      # 0x13b70
leaq 0x2cfa(%rip), %rsi      # 0xf8d8
callq 0x3470
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xcc56
movq 0x6f86(%rip), %rdi      # 0x13b78
leaq 0x2925(%rip), %rsi      # 0xf51e
callq 0x3470
cmpl $0x0, %eax
jne 0xcc0d
movl $0x1, -0x554(%rbp)
movq 0x6f64(%rip), %rdi      # 0x13b78
leaq 0x2909(%rip), %rsi      # 0xf524
callq 0x3470
cmpl $0x0, %eax
jne 0xcc2f
movl $0x2, -0x554(%rbp)
movq 0x6f42(%rip), %rdi      # 0x13b78
leaq 0x28ed(%rip), %rsi      # 0xf52a
callq 0x3470
cmpl $0x0, %eax
jne 0xcc51
movl $0x3, -0x554(%rbp)
jmp 0xcdd5
movq 0x6f13(%rip), %rdi      # 0x13b70
leaq 0x2c81(%rip), %rsi      # 0xf8e5
callq 0x3470
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xccc6
movq 0x6ef8(%rip), %rdi      # 0x13b70
leaq 0x2c7c(%rip), %rsi      # 0xf8fb
callq 0x3470
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xccc6
movq 0x6edd(%rip), %rdi      # 0x13b70
leaq 0x2cc7(%rip), %rsi      # 0xf961
callq 0x3470
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xccc6
movq 0x6ec2(%rip), %rdi      # 0x13b70
leaq 0x2cc0(%rip), %rsi      # 0xf975
callq 0x3470
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xcd53
movq 0x6eab(%rip), %rdi      # 0x13b78
leaq 0x28a9(%rip), %rsi      # 0xf57d
callq 0x3470
cmpl $0x0, %eax
jne 0xcce8
movl $0x1, -0x554(%rbp)
movq 0x6e89(%rip), %rdi      # 0x13b78
leaq 0x288c(%rip), %rsi      # 0xf582
callq 0x3470
cmpl $0x0, %eax
jne 0xcd0a
movl $0x2, -0x554(%rbp)
movq 0x6e67(%rip), %rdi      # 0x13b78
leaq 0x2ce4(%rip), %rsi      # 0xf9fc
callq 0x3470
cmpl $0x0, %eax
jne 0xcd2c
movl $0x3, -0x554(%rbp)
movq 0x6e45(%rip), %rdi      # 0x13b78
leaq 0x2cc5(%rip), %rsi      # 0xf9ff
callq 0x3470
cmpl $0x0, %eax
jne 0xcd4e
movl $0x4, -0x554(%rbp)
jmp 0xcdd3
movq 0x6e16(%rip), %rdi      # 0x13b70
leaq 0x2bdc(%rip), %rsi      # 0xf93d
callq 0x3470
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xcd89
movq 0x6dfb(%rip), %rdi      # 0x13b70
leaq 0x2bd0(%rip), %rsi      # 0xf94c
callq 0x3470
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xcd99
movq 0x6de8(%rip), %rax      # 0x13b78
movq %rax, -0x560(%rbp)
jmp 0xcdd1
movq 0x6dd0(%rip), %rdi      # 0x13b70
leaq 0x2b85(%rip), %rsi      # 0xf92c
callq 0x3470
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
jne 0xcdcf
movq 0x6dbd(%rip), %rdi      # 0x13b78
xorl %eax, %eax
movl %eax, %esi
movl $0xa, %edx
callq 0x3330
movl %eax, -0x554(%rbp)
jmp 0xcdd1
jmp 0xcdd3
jmp 0xcdd5
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
cmpl 0x742b(%rip), %eax      # 0x14210
jae 0xceb6
movq 0x7426(%rip), %rax      # 0x14218
movl -0x4(%rbp), %ecx
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %eax
cmpl -0x540(%rbp), %eax
jne 0xcea6
movq 0x7407(%rip), %rax      # 0x14218
movl -0x4(%rbp), %ecx
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
cmpq -0x550(%rbp), %rax
jne 0xcea6
movq -0x568(%rbp), %rcx
movq 0x73e2(%rip), %rax      # 0x14218
movl -0x4(%rbp), %edx
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x10(%rax)
cmpq $0x0, -0x560(%rbp)
je 0xce63
movq -0x560(%rbp), %rdi
callq 0x3430
movq %rax, -0x6a0(%rbp)
jmp 0xce6e
xorl %eax, %eax
movq %rax, -0x6a0(%rbp)
jmp 0xce6e
movq -0x6a0(%rbp), %rcx
movq 0x739c(%rip), %rax      # 0x14218
movl -0x4(%rbp), %edx
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x18(%rax)
movl -0x554(%rbp), %ecx
movq 0x7381(%rip), %rax      # 0x14218
movl -0x4(%rbp), %edx
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x20(%rax)
jmp 0xceb6
jmp 0xcea8
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0xcddc
movl -0x4(%rbp), %eax
cmpl 0x7351(%rip), %eax      # 0x14210
jne 0xcfa2
movl 0x7345(%rip), %eax      # 0x14210
addl $0x1, %eax
movl %eax, 0x733c(%rip)      # 0x14210
movq 0x733d(%rip), %rdi      # 0x14218
movl 0x732f(%rip), %eax      # 0x14210
imulq $0x28, %rax, %rsi
callq 0x3630
movq %rax, 0x7327(%rip)      # 0x14218
movl -0x540(%rbp), %ecx
movq 0x731a(%rip), %rax      # 0x14218
movl -0x4(%rbp), %edx
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movl %ecx, (%rax)
movq -0x550(%rbp), %rcx
movq 0x7300(%rip), %rax      # 0x14218
movl -0x4(%rbp), %edx
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x8(%rax)
movq -0x568(%rbp), %rcx
movq 0x72e4(%rip), %rax      # 0x14218
movl -0x4(%rbp), %edx
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x10(%rax)
cmpq $0x0, -0x560(%rbp)
je 0xcf61
movq -0x560(%rbp), %rdi
callq 0x3430
movq %rax, -0x6a8(%rbp)
jmp 0xcf6c
xorl %eax, %eax
movq %rax, -0x6a8(%rbp)
jmp 0xcf6c
movq -0x6a8(%rbp), %rcx
movq 0x729e(%rip), %rax      # 0x14218
movl -0x4(%rbp), %edx
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x18(%rax)
movl -0x554(%rbp), %ecx
movq 0x7283(%rip), %rax      # 0x14218
movl -0x4(%rbp), %edx
imulq $0x28, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x20(%rax)
jmp 0xd03f
leaq -0x410(%rbp), %rsi
leaq 0x2a4f(%rip), %rdi      # 0xfa04
callq 0x3ae0
cmpl $0x0, %eax
je 0xd03d
movq 0x6ba2(%rip), %rdi      # 0x13b68
callq 0xbc20
movl 0x724f(%rip), %eax      # 0x14220
addl $0x1, %eax
movl %eax, 0x7246(%rip)      # 0x14220
movq 0x7247(%rip), %rdi      # 0x14228
movl 0x7239(%rip), %eax      # 0x14220
movl %eax, %esi
shlq $0x3, %rsi
callq 0x3630
movq %rax, 0x722f(%rip)      # 0x14228
movq 0x6b68(%rip), %rdi      # 0x13b68
callq 0x3430
movq %rax, %rdx
movq 0x7219(%rip), %rax      # 0x14228
movl 0x720b(%rip), %ecx      # 0x14220
subl $0x1, %ecx
movl %ecx, %ecx
movq %rdx, (%rax,%rcx,8)
movq 0x5fc3(%rip), %rax      # 0x12fe8
movq (%rax), %rdi
movq 0x6b39(%rip), %rdx      # 0x13b68
leaq 0x29e7(%rip), %rsi      # 0xfa1d
movb $0x0, %al
callq 0x3650
jmp 0xd03f
jmp 0xd041
jmp 0xd043
jmp 0xd045
jmp 0xd047
jmp 0xbfa2
movq -0x10(%rbp), %rdi
callq 0x3560
callq 0x3a50
cmpq $0x0, 0x7176(%rip)      # 0x141d8
je 0xd093
movq 0x716d(%rip), %rdi      # 0x141d8
leaq 0x29bb(%rip), %rsi      # 0xfa2d
callq 0x3470
cmpl $0x0, %eax
jne 0xd093
movq 0x7155(%rip), %rdi      # 0x141d8
callq 0x3220
movq $0x0, 0x7145(%rip) # 0x141d8
jmp 0xd095
addq $0x6b0, %rsp            # imm = 0x6B0
popq %rbp
retq
nop