// File: /workspace/github_c_makefile_star2_O0/gplessis[P]dotdeb-redis/deps/jemalloc/src/jemalloc.c
// Function: malloc_conf_init
static void
malloc_conf_init(void)
{
	unsigned i;
	char buf[PATH_MAX + 1];
	const char *opts, *k, *v;
	size_t klen, vlen;

	/*
	 * Automatically configure valgrind before processing options.  The
	 * valgrind option remains in jemalloc 3.x for compatibility reasons.
	 */
	if (config_valgrind) {
		in_valgrind = (RUNNING_ON_VALGRIND != 0) ? true : false;
		if (config_fill && unlikely(in_valgrind)) {
			opt_junk = "false";
			opt_junk_alloc = false;
			opt_junk_free = false;
			assert(!opt_zero);
			opt_quarantine = JEMALLOC_VALGRIND_QUARANTINE_DEFAULT;
			opt_redzone = true;
		}
		if (config_tcache && unlikely(in_valgrind))
			opt_tcache = false;
	}

	for (i = 0; i < 3; i++) {
		/* Get runtime configuration. */
		switch (i) {
		case 0:
			if (je_malloc_conf != NULL) {
				/*
				 * Use options that were compiled into the
				 * program.
				 */
				opts = je_malloc_conf;
			} else {
				/* No configuration specified. */
				buf[0] = '\0';
				opts = buf;
			}
			break;
		case 1: {
			int linklen = 0;
#ifndef _WIN32
			int saved_errno = errno;
			const char *linkname =
#  ifdef JEMALLOC_PREFIX
			    "/etc/"JEMALLOC_PREFIX"malloc.conf"
#  else
			    "/etc/malloc.conf"
#  endif
			    ;

			/*
			 * Try to use the contents of the "/etc/malloc.conf"
			 * symbolic link's name.
			 */
			linklen = readlink(linkname, buf, sizeof(buf) - 1);
			if (linklen == -1) {
				/* No configuration specified. */
				linklen = 0;
				/* Restore errno. */
				set_errno(saved_errno);
			}
#endif
			buf[linklen] = '\0';
			opts = buf;
			break;
		} case 2: {
			const char *envname =
#ifdef JEMALLOC_PREFIX
			    JEMALLOC_CPREFIX"MALLOC_CONF"
#else
			    "MALLOC_CONF"
#endif
			    ;

			if ((opts = secure_getenv(envname)) != NULL) {
				/*
				 * Do nothing; opts is already initialized to
				 * the value of the MALLOC_CONF environment
				 * variable.
				 */
			} else {
				/* No configuration specified. */
				buf[0] = '\0';
				opts = buf;
			}
			break;
		} default:
			not_reached();
			buf[0] = '\0';
			opts = buf;
		}

		while (*opts != '\0' && !malloc_conf_next(&opts, &k, &klen, &v,
		    &vlen)) {
#define	CONF_MATCH(n)							\
	(sizeof(n)-1 == klen && strncmp(n, k, klen) == 0)
#define	CONF_MATCH_VALUE(n)						\
	(sizeof(n)-1 == vlen && strncmp(n, v, vlen) == 0)
#define	CONF_HANDLE_BOOL(o, n, cont)					\
			if (CONF_MATCH(n)) {				\
				if (CONF_MATCH_VALUE("true"))		\
					o = true;			\
				else if (CONF_MATCH_VALUE("false"))	\
					o = false;			\
				else {					\
					malloc_conf_error(		\
					    "Invalid conf value",	\
					    k, klen, v, vlen);		\
				}					\
				if (cont)				\
					continue;			\
			}
#define	CONF_HANDLE_SIZE_T(o, n, min, max, clip)			\
			if (CONF_MATCH(n)) {				\
				uintmax_t um;				\
				char *end;				\
									\
				set_errno(0);				\
				um = malloc_strtoumax(v, &end, 0);	\
				if (get_errno() != 0 || (uintptr_t)end -\
				    (uintptr_t)v != vlen) {		\
					malloc_conf_error(		\
					    "Invalid conf value",	\
					    k, klen, v, vlen);		\
				} else if (clip) {			\
					if ((min) != 0 && um < (min))	\
						o = (min);		\
					else if (um > (max))		\
						o = (max);		\
					else				\
						o = um;			\
				} else {				\
					if (((min) != 0 && um < (min))	\
					    || um > (max)) {		\
						malloc_conf_error(	\
						    "Out-of-range "	\
						    "conf value",	\
						    k, klen, v, vlen);	\
					} else				\
						o = um;			\
				}					\
				continue;				\
			}
#define	CONF_HANDLE_SSIZE_T(o, n, min, max)				\
			if (CONF_MATCH(n)) {				\
				long l;					\
				char *end;				\
									\
				set_errno(0);				\
				l = strtol(v, &end, 0);			\
				if (get_errno() != 0 || (uintptr_t)end -\
				    (uintptr_t)v != vlen) {		\
					malloc_conf_error(		\
					    "Invalid conf value",	\
					    k, klen, v, vlen);		\
				} else if (l < (ssize_t)(min) || l >	\
				    (ssize_t)(max)) {			\
					malloc_conf_error(		\
					    "Out-of-range conf value",	\
					    k, klen, v, vlen);		\
				} else					\
					o = l;				\
				continue;				\
			}
#define	CONF_HANDLE_CHAR_P(o, n, d)					\
			if (CONF_MATCH(n)) {				\
				size_t cpylen = (vlen <=		\
				    sizeof(o)-1) ? vlen :		\
				    sizeof(o)-1;			\
				strncpy(o, v, cpylen);			\
				o[cpylen] = '\0';			\
				continue;				\
			}

			CONF_HANDLE_BOOL(opt_abort, "abort", true)
			/*
			 * Chunks always require at least one header page,
			 * as many as 2^(LG_SIZE_CLASS_GROUP+1) data pages, and
			 * possibly an additional page in the presence of
			 * redzones.  In order to simplify options processing,
			 * use a conservative bound that accommodates all these
			 * constraints.
			 */
			CONF_HANDLE_SIZE_T(opt_lg_chunk, "lg_chunk", LG_PAGE +
			    LG_SIZE_CLASS_GROUP + (config_fill ? 2 : 1),
			    (sizeof(size_t) << 3) - 1, true)
			if (strncmp("dss", k, klen) == 0) {
				int i;
				bool match = false;
				for (i = 0; i < dss_prec_limit; i++) {
					if (strncmp(dss_prec_names[i], v, vlen)
					    == 0) {
						if (chunk_dss_prec_set(i)) {
							malloc_conf_error(
							    "Error setting dss",
							    k, klen, v, vlen);
						} else {
							opt_dss =
							    dss_prec_names[i];
							match = true;
							break;
						}
					}
				}
				if (!match) {
					malloc_conf_error("Invalid conf value",
					    k, klen, v, vlen);
				}
				continue;
			}
			CONF_HANDLE_SIZE_T(opt_narenas, "narenas", 1,
			    SIZE_T_MAX, false)
			CONF_HANDLE_SSIZE_T(opt_lg_dirty_mult, "lg_dirty_mult",
			    -1, (sizeof(size_t) << 3) - 1)
			CONF_HANDLE_BOOL(opt_stats_print, "stats_print", true)
			if (config_fill) {
				if (CONF_MATCH("junk")) {
					if (CONF_MATCH_VALUE("true")) {
						opt_junk = "true";
						opt_junk_alloc = opt_junk_free =
						    true;
					} else if (CONF_MATCH_VALUE("false")) {
						opt_junk = "false";
						opt_junk_alloc = opt_junk_free =
						    false;
					} else if (CONF_MATCH_VALUE("alloc")) {
						opt_junk = "alloc";
						opt_junk_alloc = true;
						opt_junk_free = false;
					} else if (CONF_MATCH_VALUE("free")) {
						opt_junk = "free";
						opt_junk_alloc = false;
						opt_junk_free = true;
					} else {
						malloc_conf_error(
						    "Invalid conf value", k,
						    klen, v, vlen);
					}
					continue;
				}
				CONF_HANDLE_SIZE_T(opt_quarantine, "quarantine",
				    0, SIZE_T_MAX, false)
				CONF_HANDLE_BOOL(opt_redzone, "redzone", true)
				CONF_HANDLE_BOOL(opt_zero, "zero", true)
			}
			if (config_utrace) {
				CONF_HANDLE_BOOL(opt_utrace, "utrace", true)
			}
			if (config_xmalloc) {
				CONF_HANDLE_BOOL(opt_xmalloc, "xmalloc", true)
			}
			if (config_tcache) {
				CONF_HANDLE_BOOL(opt_tcache, "tcache",
				    !config_valgrind || !in_valgrind)
				if (CONF_MATCH("tcache")) {
					assert(config_valgrind && in_valgrind);
					if (opt_tcache) {
						opt_tcache = false;
						malloc_conf_error(
						"tcache cannot be enabled "
						"while running inside Valgrind",
						k, klen, v, vlen);
					}
					continue;
				}
				CONF_HANDLE_SSIZE_T(opt_lg_tcache_max,
				    "lg_tcache_max", -1,
				    (sizeof(size_t) << 3) - 1)
			}
			if (config_prof) {
				CONF_HANDLE_BOOL(opt_prof, "prof", true)
				CONF_HANDLE_CHAR_P(opt_prof_prefix,
				    "prof_prefix", "jeprof")
				CONF_HANDLE_BOOL(opt_prof_active, "prof_active",
				    true)
				CONF_HANDLE_BOOL(opt_prof_thread_active_init,
				    "prof_thread_active_init", true)
				CONF_HANDLE_SIZE_T(opt_lg_prof_sample,
				    "lg_prof_sample", 0,
				    (sizeof(uint64_t) << 3) - 1, true)
				CONF_HANDLE_BOOL(opt_prof_accum, "prof_accum",
				    true)
				CONF_HANDLE_SSIZE_T(opt_lg_prof_interval,
				    "lg_prof_interval", -1,
				    (sizeof(uint64_t) << 3) - 1)
				CONF_HANDLE_BOOL(opt_prof_gdump, "prof_gdump",
				    true)
				CONF_HANDLE_BOOL(opt_prof_final, "prof_final",
				    true)
				CONF_HANDLE_BOOL(opt_prof_leak, "prof_leak",
				    true)
			}
			malloc_conf_error("Invalid conf pair", k, klen, v,
			    vlen);
#undef CONF_MATCH
#undef CONF_HANDLE_BOOL
#undef CONF_HANDLE_SIZE_T
#undef CONF_HANDLE_SSIZE_T
#undef CONF_HANDLE_CHAR_P
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1100, %rsp           # imm = 0x1100
movq $0x1001, -0x1070(%rbp) # imm = 0x1001
movq $0x0, -0x1068(%rbp)
movq $0x0, -0x1060(%rbp)
movq $0x0, -0x1058(%rbp)
movq $0x0, -0x1050(%rbp)
movq $0x0, -0x1048(%rbp)
leaq -0x1070(%rbp), %rax
xorl %ecx, %ecx
movl %ecx, %edx
rolq $0x3, %rdi
rolq $0xd, %rdi
rolq $0x3d, %rdi
rolq $0x33, %rdi
xchgq %rbx, %rbx
movq %rdx, -0x1078(%rbp)
movq -0x1078(%rbp), %rax
movq %rax, -0x1080(%rbp)
movq -0x1080(%rbp), %rax
movl %eax, %edx
xorl %eax, %eax
movl $0x1, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
cmpl $0x0, %eax
setne %al
andb $0x1, %al
movb %al, 0x66ea0(%rip)      # 0xa1704
movb 0x66e9a(%rip), %al      # 0xa1704
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x3a8ab
leaq 0x545fe(%rip), %rax     # 0x8ee80
movq %rax, 0x66b47(%rip)     # 0xa13d0
movb $0x0, 0x66e11(%rip)     # 0xa16a1
movb $0x0, 0x66e0b(%rip)     # 0xa16a2
jmp 0x3a899
movq $0x1000000, 0x66e04(%rip) # imm = 0x1000000
movb $0x1, 0x66e05(%rip)     # 0xa16b0
movb 0x66e53(%rip), %al      # 0xa1704
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x3a8cc
leaq 0x66b97(%rip), %rax     # 0xa1460
movb $0x0, (%rax)
movl $0x0, -0x4(%rbp)
cmpl $0x3, -0x4(%rbp)
jae 0x3b6ba
movl -0x4(%rbp), %eax
movl %eax, -0x10f4(%rbp)
testl %eax, %eax
je 0x3a90d
jmp 0x3a8ec
movl -0x10f4(%rbp), %eax
subl $0x1, %eax
je 0x3a941
jmp 0x3a8f9
movl -0x10f4(%rbp), %eax
subl $0x2, %eax
je 0x3a9c1
jmp 0x3aa01
cmpq $0x0, 0x66df3(%rip)     # 0xa1708
je 0x3a927
movq 0x66dea(%rip), %rax     # 0xa1708
movq %rax, -0x1018(%rbp)
jmp 0x3a93c
movb $0x0, -0x1010(%rbp)
leaq -0x1010(%rbp), %rax
movq %rax, -0x1018(%rbp)
jmp 0x3aa03
movl $0x0, -0x1084(%rbp)
callq 0x10080
movl (%rax), %eax
movl %eax, -0x1088(%rbp)
leaq 0x54546(%rip), %rax     # 0x8eea5
movq %rax, -0x1090(%rbp)
movq -0x1090(%rbp), %rdi
leaq -0x1010(%rbp), %rsi
movl $0x1000, %edx           # imm = 0x1000
callq 0x10130
movl %eax, -0x1084(%rbp)
cmpl $-0x1, -0x1084(%rbp)
jne 0x3a9a2
movl $0x0, -0x1084(%rbp)
movl -0x1088(%rbp), %edi
callq 0x27a30
movslq -0x1084(%rbp), %rax
movb $0x0, -0x1010(%rbp,%rax)
leaq -0x1010(%rbp), %rax
movq %rax, -0x1018(%rbp)
jmp 0x3aa03
leaq 0x544f1(%rip), %rax     # 0x8eeb9
movq %rax, -0x1098(%rbp)
movq -0x1098(%rbp), %rdi
callq 0x100b0
movq %rax, -0x1018(%rbp)
cmpq $0x0, %rax
je 0x3a9ea
jmp 0x3a9ff
movb $0x0, -0x1010(%rbp)
leaq -0x1010(%rbp), %rax
movq %rax, -0x1018(%rbp)
jmp 0x3aa03
jmp 0x3aa03
jmp 0x3aa05
movq -0x1018(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x10f5(%rbp)
je 0x3aa4c
leaq -0x1018(%rbp), %rdi
leaq -0x1020(%rbp), %rsi
leaq -0x1030(%rbp), %rdx
leaq -0x1028(%rbp), %rcx
leaq -0x1038(%rbp), %r8
callq 0x3b7b0
xorb $-0x1, %al
movb %al, -0x10f5(%rbp)
movb -0x10f5(%rbp), %al
testb $0x1, %al
jne 0x3aa5b
jmp 0x3b6aa
movl $0x5, %eax
cmpq -0x1030(%rbp), %rax
jne 0x3ab2b
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
leaq 0x54b67(%rip), %rdi     # 0x8f5e9
callq 0x100a0
cmpl $0x0, %eax
jne 0x3ab2b
movl $0x4, %eax
cmpq -0x1038(%rbp), %rax
jne 0x3aac6
movq -0x1028(%rbp), %rsi
movq -0x1038(%rbp), %rdx
leaq 0x54415(%rip), %rdi     # 0x8eec8
callq 0x100a0
cmpl $0x0, %eax
jne 0x3aac6
movb $0x1, 0x66bdc(%rip)     # 0xa16a0
jmp 0x3ab26
movl $0x5, %eax
cmpq -0x1038(%rbp), %rax
jne 0x3aafc
movq -0x1028(%rbp), %rsi
movq -0x1038(%rbp), %rdx
leaq 0x54397(%rip), %rdi     # 0x8ee80
callq 0x100a0
cmpl $0x0, %eax
jne 0x3aafc
movb $0x0, 0x66ba6(%rip)     # 0xa16a0
jmp 0x3ab24
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x543ae(%rip), %rdi     # 0x8eecd
callq 0x3b950
jmp 0x3ab26
jmp 0x3aa05
movl $0x8, %eax
cmpq -0x1030(%rbp), %rax
jne 0x3ac1f
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
leaq 0x54ab2(%rip), %rdi     # 0x8f604
callq 0x100a0
cmpl $0x0, %eax
jne 0x3ac1f
xorl %edi, %edi
callq 0x27a30
movq -0x1028(%rbp), %rdi
leaq -0x10a8(%rbp), %rsi
xorl %edx, %edx
callq 0x7c1d0
movq %rax, -0x10a0(%rbp)
callq 0x3b9a0
cmpl $0x0, %eax
jne 0x3aba7
movq -0x10a8(%rbp), %rax
movq -0x1028(%rbp), %rcx
subq %rcx, %rax
cmpq -0x1038(%rbp), %rax
je 0x3abd1
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x54303(%rip), %rdi     # 0x8eecd
callq 0x3b950
jmp 0x3ac1a
cmpq $0x10, -0x10a0(%rbp)
jae 0x3abeb
leaq 0x67ad6(%rip), %rax     # 0xa26b8
movq $0x10, (%rax)
jmp 0x3ac18
cmpq $0x3f, -0x10a0(%rbp)
jbe 0x3ac05
leaq 0x67abc(%rip), %rax     # 0xa26b8
movq $0x3f, (%rax)
jmp 0x3ac16
movq -0x10a0(%rbp), %rcx
leaq 0x67aa5(%rip), %rax     # 0xa26b8
movq %rcx, (%rax)
jmp 0x3ac18
jmp 0x3ac1a
jmp 0x3aa05
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
leaq 0x542ba(%rip), %rdi     # 0x8eeee
callq 0x100a0
cmpl $0x0, %eax
jne 0x3ad38
movb $0x0, -0x10ad(%rbp)
movl $0x0, -0x10ac(%rbp)
cmpl $0x3, -0x10ac(%rbp)
jge 0x3ad02
movslq -0x10ac(%rbp), %rcx
leaq 0x667b2(%rip), %rax     # 0xa1420
movq (%rax,%rcx,8), %rdi
movq -0x1028(%rbp), %rsi
movq -0x1038(%rbp), %rdx
callq 0x100a0
cmpl $0x0, %eax
jne 0x3acec
movl -0x10ac(%rbp), %edi
callq 0x52320
testb $0x1, %al
jne 0x3ac9b
jmp 0x3acc5
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x54222(%rip), %rdi     # 0x8eee0
callq 0x3b950
jmp 0x3acea
movslq -0x10ac(%rbp), %rcx
leaq 0x6674d(%rip), %rax     # 0xa1420
movq (%rax,%rcx,8), %rcx
leaq 0x66732(%rip), %rax     # 0xa1410
movq %rcx, (%rax)
movb $0x1, -0x10ad(%rbp)
jmp 0x3ad02
jmp 0x3acec
jmp 0x3acee
movl -0x10ac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10ac(%rbp)
jmp 0x3ac53
testb $0x1, -0x10ad(%rbp)
jne 0x3ad33
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x5419f(%rip), %rdi     # 0x8eecd
callq 0x3b950
jmp 0x3aa05
movl $0x7, %eax
cmpq -0x1030(%rbp), %rax
jne 0x3ae31
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
leaq 0x54c9e(%rip), %rdi     # 0x8f9fd
callq 0x100a0
cmpl $0x0, %eax
jne 0x3ae31
xorl %edi, %edi
callq 0x27a30
movq -0x1028(%rbp), %rdi
leaq -0x10c0(%rbp), %rsi
xorl %edx, %edx
callq 0x7c1d0
movq %rax, -0x10b8(%rbp)
callq 0x3b9a0
cmpl $0x0, %eax
jne 0x3adb4
movq -0x10c0(%rbp), %rax
movq -0x1028(%rbp), %rcx
subq %rcx, %rax
cmpq -0x1038(%rbp), %rax
je 0x3adde
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x540f6(%rip), %rdi     # 0x8eecd
callq 0x3b950
jmp 0x3ae2c
cmpq $0x1, -0x10b8(%rbp)
jb 0x3adf2
cmpq $-0x1, -0x10b8(%rbp)
jbe 0x3ae1c
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x540dd(%rip), %rdi     # 0x8eef2
callq 0x3b950
jmp 0x3ae2a
movq -0x10b8(%rbp), %rax
movq %rax, 0x6688e(%rip)     # 0xa16b8
jmp 0x3ae2c
jmp 0x3aa05
movl $0xd, %eax
cmpq -0x1030(%rbp), %rax
jne 0x3af2d
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
leaq 0x54f22(%rip), %rdi     # 0x8fd7a
callq 0x100a0
cmpl $0x0, %eax
jne 0x3af2d
xorl %edi, %edi
callq 0x27a30
movq -0x1028(%rbp), %rdi
leaq -0x10d0(%rbp), %rsi
xorl %edx, %edx
callq 0x103a0
movq %rax, -0x10c8(%rbp)
callq 0x3b9a0
cmpl $0x0, %eax
jne 0x3aead
movq -0x10d0(%rbp), %rax
movq -0x1028(%rbp), %rcx
subq %rcx, %rax
cmpq -0x1038(%rbp), %rax
je 0x3aed7
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x53ffd(%rip), %rdi     # 0x8eecd
callq 0x3b950
jmp 0x3af28
cmpq $-0x1, -0x10c8(%rbp)
jl 0x3aeeb
cmpq $0x3f, -0x10c8(%rbp)
jle 0x3af15
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x53fe4(%rip), %rdi     # 0x8eef2
callq 0x3b950
jmp 0x3af26
movq -0x10c8(%rbp), %rcx
leaq 0x664e5(%rip), %rax     # 0xa1408
movq %rcx, (%rax)
jmp 0x3af28
jmp 0x3aa05
movl $0xb, %eax
cmpq -0x1030(%rbp), %rax
jne 0x3b003
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
leaq 0x54768(%rip), %rdi     # 0x8f6bc
callq 0x100a0
cmpl $0x0, %eax
jne 0x3b003
movl $0x4, %eax
cmpq -0x1038(%rbp), %rax
jne 0x3af9b
movq -0x1028(%rbp), %rsi
movq -0x1038(%rbp), %rdx
leaq 0x53f43(%rip), %rdi     # 0x8eec8
callq 0x100a0
cmpl $0x0, %eax
jne 0x3af9b
leaq 0x67f02(%rip), %rax     # 0xa2e98
movb $0x1, (%rax)
jmp 0x3affe
movl $0x5, %eax
cmpq -0x1038(%rbp), %rax
jne 0x3afd4
movq -0x1028(%rbp), %rsi
movq -0x1038(%rbp), %rdx
leaq 0x53ec2(%rip), %rdi     # 0x8ee80
callq 0x100a0
cmpl $0x0, %eax
jne 0x3afd4
leaq 0x67ec9(%rip), %rax     # 0xa2e98
movb $0x0, (%rax)
jmp 0x3affc
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x53ed6(%rip), %rdi     # 0x8eecd
callq 0x3b950
jmp 0x3affe
jmp 0x3aa05
movl $0x4, %eax
cmpq -0x1030(%rbp), %rax
jne 0x3b19d
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
leaq 0x546b9(%rip), %rdi     # 0x8f6e3
callq 0x100a0
cmpl $0x0, %eax
jne 0x3b19d
movl $0x4, %eax
cmpq -0x1038(%rbp), %rax
jne 0x3b086
movq -0x1028(%rbp), %rsi
movq -0x1038(%rbp), %rdx
leaq 0x53e6d(%rip), %rdi     # 0x8eec8
callq 0x100a0
cmpl $0x0, %eax
jne 0x3b086
leaq 0x53e5c(%rip), %rax     # 0x8eec8
movq %rax, 0x6635d(%rip)     # 0xa13d0
movb $0x1, 0x66628(%rip)     # 0xa16a2
movb $0x1, 0x66620(%rip)     # 0xa16a1
jmp 0x3b198
movl $0x5, %eax
cmpq -0x1038(%rbp), %rax
jne 0x3b0d4
movq -0x1028(%rbp), %rsi
movq -0x1038(%rbp), %rdx
leaq 0x53dd7(%rip), %rdi     # 0x8ee80
callq 0x100a0
cmpl $0x0, %eax
jne 0x3b0d4
leaq 0x53dc6(%rip), %rax     # 0x8ee80
movq %rax, 0x6630f(%rip)     # 0xa13d0
movb $0x0, 0x665da(%rip)     # 0xa16a2
movb $0x0, 0x665d2(%rip)     # 0xa16a1
jmp 0x3b196
movl $0x5, %eax
cmpq -0x1038(%rbp), %rax
jne 0x3b11f
movq -0x1028(%rbp), %rsi
movq -0x1038(%rbp), %rdx
leaq 0x55601(%rip), %rdi     # 0x906f8
callq 0x100a0
cmpl $0x0, %eax
jne 0x3b11f
leaq 0x555f0(%rip), %rax     # 0x906f8
movq %rax, 0x662c1(%rip)     # 0xa13d0
movb $0x1, 0x6658b(%rip)     # 0xa16a1
movb $0x0, 0x66585(%rip)     # 0xa16a2
jmp 0x3b194
movl $0x4, %eax
cmpq -0x1038(%rbp), %rax
jne 0x3b16a
movq -0x1028(%rbp), %rsi
movq -0x1038(%rbp), %rdx
leaq 0x53dc8(%rip), %rdi     # 0x8ef0a
callq 0x100a0
cmpl $0x0, %eax
jne 0x3b16a
leaq 0x53db7(%rip), %rax     # 0x8ef0a
movq %rax, 0x66276(%rip)     # 0xa13d0
movb $0x0, 0x66540(%rip)     # 0xa16a1
movb $0x1, 0x6653a(%rip)     # 0xa16a2
jmp 0x3b192
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x53d40(%rip), %rdi     # 0x8eecd
callq 0x3b950
jmp 0x3b194
jmp 0x3b196
jmp 0x3b198
jmp 0x3aa05
movl $0xa, %eax
cmpq -0x1030(%rbp), %rax
jne 0x3b28c
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
leaq 0x5453a(%rip), %rdi     # 0x8f6fe
callq 0x100a0
cmpl $0x0, %eax
jne 0x3b28c
xorl %edi, %edi
callq 0x27a30
movq -0x1028(%rbp), %rdi
leaq -0x10e0(%rbp), %rsi
xorl %edx, %edx
callq 0x7c1d0
movq %rax, -0x10d8(%rbp)
callq 0x3b9a0
cmpl $0x0, %eax
jne 0x3b219
movq -0x10e0(%rbp), %rax
movq -0x1028(%rbp), %rcx
subq %rcx, %rax
cmpq -0x1038(%rbp), %rax
je 0x3b243
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x53c91(%rip), %rdi     # 0x8eecd
callq 0x3b950
jmp 0x3b287
cmpq $-0x1, -0x10d8(%rbp)
jbe 0x3b277
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x53c82(%rip), %rdi     # 0x8eef2
callq 0x3b950
jmp 0x3b285
movq -0x10d8(%rbp), %rax
movq %rax, 0x66423(%rip)     # 0xa16a8
jmp 0x3b287
jmp 0x3aa05
movl $0x7, %eax
cmpq -0x1030(%rbp), %rax
jne 0x3b35c
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
leaq 0x54471(%rip), %rdi     # 0x8f724
callq 0x100a0
cmpl $0x0, %eax
jne 0x3b35c
movl $0x4, %eax
cmpq -0x1038(%rbp), %rax
jne 0x3b2f7
movq -0x1028(%rbp), %rsi
movq -0x1038(%rbp), %rdx
leaq 0x53be4(%rip), %rdi     # 0x8eec8
callq 0x100a0
cmpl $0x0, %eax
jne 0x3b2f7
movb $0x1, 0x663bb(%rip)     # 0xa16b0
jmp 0x3b357
movl $0x5, %eax
cmpq -0x1038(%rbp), %rax
jne 0x3b32d
movq -0x1028(%rbp), %rsi
movq -0x1038(%rbp), %rdx
leaq 0x53b66(%rip), %rdi     # 0x8ee80
callq 0x100a0
cmpl $0x0, %eax
jne 0x3b32d
movb $0x0, 0x66385(%rip)     # 0xa16b0
jmp 0x3b355
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x53b7d(%rip), %rdi     # 0x8eecd
callq 0x3b950
jmp 0x3b357
jmp 0x3aa05
movl $0x4, %eax
cmpq -0x1030(%rbp), %rax
jne 0x3b42c
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
leaq 0x543c0(%rip), %rdi     # 0x8f743
callq 0x100a0
cmpl $0x0, %eax
jne 0x3b42c
movl $0x4, %eax
cmpq -0x1038(%rbp), %rax
jne 0x3b3c7
movq -0x1028(%rbp), %rsi
movq -0x1038(%rbp), %rdx
leaq 0x53b14(%rip), %rdi     # 0x8eec8
callq 0x100a0
cmpl $0x0, %eax
jne 0x3b3c7
movb $0x1, 0x662ee(%rip)     # 0xa16b3
jmp 0x3b427
movl $0x5, %eax
cmpq -0x1038(%rbp), %rax
jne 0x3b3fd
movq -0x1028(%rbp), %rsi
movq -0x1038(%rbp), %rdx
leaq 0x53a96(%rip), %rdi     # 0x8ee80
callq 0x100a0
cmpl $0x0, %eax
jne 0x3b3fd
movb $0x0, 0x662b8(%rip)     # 0xa16b3
jmp 0x3b425
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x53aad(%rip), %rdi     # 0x8eecd
callq 0x3b950
jmp 0x3b427
jmp 0x3aa05
movl $0x6, %eax
cmpq -0x1030(%rbp), %rax
jne 0x3b50d
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
leaq 0x54d75(%rip), %rdi     # 0x901c8
callq 0x100a0
cmpl $0x0, %eax
jne 0x3b50d
movl $0x4, %eax
cmpq -0x1038(%rbp), %rax
jne 0x3b49a
movq -0x1028(%rbp), %rsi
movq -0x1038(%rbp), %rdx
leaq 0x53a44(%rip), %rdi     # 0x8eec8
callq 0x100a0
cmpl $0x0, %eax
jne 0x3b49a
leaq 0x65fcb(%rip), %rax     # 0xa1460
movb $0x1, (%rax)
jmp 0x3b4fd
movl $0x5, %eax
cmpq -0x1038(%rbp), %rax
jne 0x3b4d3
movq -0x1028(%rbp), %rsi
movq -0x1038(%rbp), %rdx
leaq 0x539c3(%rip), %rdi     # 0x8ee80
callq 0x100a0
cmpl $0x0, %eax
jne 0x3b4d3
leaq 0x65f92(%rip), %rax     # 0xa1460
movb $0x0, (%rax)
jmp 0x3b4fb
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x539d7(%rip), %rdi     # 0x8eecd
callq 0x3b950
jmp 0x3b4fd
testb $0x1, 0x66200(%rip)     # 0xa1704
jne 0x3b50b
jmp 0x3aa05
jmp 0x3b50d
movl $0x6, %eax
cmpq -0x1030(%rbp), %rax
jne 0x3b581
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
leaq 0x54c98(%rip), %rdi     # 0x901c8
callq 0x100a0
cmpl $0x0, %eax
jne 0x3b581
jmp 0x3b53c
jmp 0x3b53e
leaq 0x65f1b(%rip), %rax     # 0xa1460
testb $0x1, (%rax)
je 0x3b57c
leaq 0x65f0f(%rip), %rax     # 0xa1460
movb $0x0, (%rax)
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x53998(%rip), %rdi     # 0x8ef0f
callq 0x3b950
jmp 0x3aa05
movl $0xd, %eax
cmpq -0x1030(%rbp), %rax
jne 0x3b67d
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
leaq 0x5422e(%rip), %rdi     # 0x8f7d6
callq 0x100a0
cmpl $0x0, %eax
jne 0x3b67d
xorl %edi, %edi
callq 0x27a30
movq -0x1028(%rbp), %rdi
leaq -0x10f0(%rbp), %rsi
xorl %edx, %edx
callq 0x103a0
movq %rax, -0x10e8(%rbp)
callq 0x3b9a0
cmpl $0x0, %eax
jne 0x3b5fd
movq -0x10f0(%rbp), %rax
movq -0x1028(%rbp), %rcx
subq %rcx, %rax
cmpq -0x1038(%rbp), %rax
je 0x3b627
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x538ad(%rip), %rdi     # 0x8eecd
callq 0x3b950
jmp 0x3b678
cmpq $-0x1, -0x10e8(%rbp)
jl 0x3b63b
cmpq $0x3f, -0x10e8(%rbp)
jle 0x3b665
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x53894(%rip), %rdi     # 0x8eef2
callq 0x3b950
jmp 0x3b676
movq -0x10e8(%rbp), %rcx
leaq 0x65df5(%rip), %rax     # 0xa1468
movq %rcx, (%rax)
jmp 0x3b678
jmp 0x3aa05
movq -0x1020(%rbp), %rsi
movq -0x1030(%rbp), %rdx
movq -0x1028(%rbp), %rcx
movq -0x1038(%rbp), %r8
leaq 0x538a6(%rip), %rdi     # 0x8ef46
callq 0x3b950
jmp 0x3aa05
jmp 0x3b6ac
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x3a8d3
addq $0x1100, %rsp           # imm = 0x1100
popq %rbp
retq
nopw %cs:(%rax,%rax)