// File: /workspace/github_c_makefile_star2_O0/lyda[P]tz/zic.c
// Function: writezone
static void
writezone(name, string)
const char * const	name;
const char * const	string;
{
	register FILE *			fp;
	register int			i, j;
	register int			leapcnt32, leapi32;
	register int			timecnt32, timei32;
	register int			pass;
	static char *			fullname;
	static const struct tzhead	tzh0;
	static struct tzhead		tzh;
	zic_t				ats[TZ_MAX_TIMES];
	unsigned char			types[TZ_MAX_TIMES];

	/*
	** Sort.
	*/
	if (timecnt > 1)
		(void) qsort((void *) attypes, (size_t) timecnt,
			(size_t) sizeof *attypes, atcomp);
	/*
	** Optimize.
	*/
	{
		int	fromi;
		int	toi;

		toi = 0;
		fromi = 0;
		while (fromi < timecnt && attypes[fromi].at < min_time)
			++fromi;
		if (isdsts[0] == 0)
			while (fromi < timecnt && attypes[fromi].type == 0)
				++fromi;	/* handled by default rule */
		for ( ; fromi < timecnt; ++fromi) {
			if (toi != 0 && ((attypes[fromi].at +
				gmtoffs[attypes[toi - 1].type]) <=
				(attypes[toi - 1].at + gmtoffs[toi == 1 ? 0
				: attypes[toi - 2].type]))) {
					attypes[toi - 1].type =
						attypes[fromi].type;
					continue;
			}
			if (toi == 0 ||
				attypes[toi - 1].type != attypes[fromi].type)
					attypes[toi++] = attypes[fromi];
		}
		timecnt = toi;
	}
	/*
	** Transfer.
	*/
	for (i = 0; i < timecnt; ++i) {
		ats[i] = attypes[i].at;
		types[i] = attypes[i].type;
	}
	/*
	** Correct for leap seconds.
	*/
	for (i = 0; i < timecnt; ++i) {
		j = leapcnt;
		while (--j >= 0)
			if (ats[i] > trans[j] - corr[j]) {
				ats[i] = tadd(ats[i], corr[j]);
				break;
			}
	}
	/*
	** Figure out 32-bit-limited starts and counts.
	*/
	timecnt32 = timecnt;
	timei32 = 0;
	leapcnt32 = leapcnt;
	leapi32 = 0;
	while (timecnt32 > 0 && !is32(ats[timecnt32 - 1]))
		--timecnt32;
	while (timecnt32 > 0 && !is32(ats[timei32])) {
		--timecnt32;
		++timei32;
	}
	while (leapcnt32 > 0 && !is32(trans[leapcnt32 - 1]))
		--leapcnt32;
	while (leapcnt32 > 0 && !is32(trans[leapi32])) {
		--leapcnt32;
		++leapi32;
	}
	fullname = erealloc(fullname,
		(int) (strlen(directory) + 1 + strlen(name) + 1));
	(void) sprintf(fullname, "%s/%s", directory, name);
	/*
	** Remove old file, if any, to snap links.
	*/
	if (!itsdir(fullname) && remove(fullname) != 0 && errno != ENOENT) {
		const char *e = strerror(errno);

		(void) fprintf(stderr, _("%s: Can't remove %s: %s\n"),
			progname, fullname, e);
		exit(EXIT_FAILURE);
	}
	if ((fp = fopen(fullname, "wb")) == NULL) {
		if (mkdirs(fullname) != 0)
			exit(EXIT_FAILURE);
		if ((fp = fopen(fullname, "wb")) == NULL) {
			const char *e = strerror(errno);

			(void) fprintf(stderr, _("%s: Can't create %s: %s\n"),
				progname, fullname, e);
			exit(EXIT_FAILURE);
		}
	}
	for (pass = 1; pass <= 2; ++pass) {
		register int	thistimei, thistimecnt;
		register int	thisleapi, thisleapcnt;
		register int	thistimelim, thisleaplim;
		int		writetype[TZ_MAX_TIMES];
		int		typemap[TZ_MAX_TYPES];
		register int	thistypecnt;
		char		thischars[TZ_MAX_CHARS];
		char		thischarcnt;
		int 		indmap[TZ_MAX_CHARS];

		if (pass == 1) {
			thistimei = timei32;
			thistimecnt = timecnt32;
			thisleapi = leapi32;
			thisleapcnt = leapcnt32;
		} else {
			thistimei = 0;
			thistimecnt = timecnt;
			thisleapi = 0;
			thisleapcnt = leapcnt;
		}
		thistimelim = thistimei + thistimecnt;
		thisleaplim = thisleapi + thisleapcnt;
		for (i = 0; i < typecnt; ++i)
			writetype[i] = thistimecnt == timecnt;
		if (thistimecnt == 0) {
			/*
			** No transition times fall in the current
			** (32- or 64-bit) window.
			*/
			if (typecnt != 0)
				writetype[typecnt - 1] = TRUE;
		} else {
			for (i = thistimei - 1; i < thistimelim; ++i)
				if (i >= 0)
					writetype[types[i]] = TRUE;
			/*
			** For America/Godthab and Antarctica/Palmer
			*/
			if (thistimei == 0)
				writetype[0] = TRUE;
		}
#ifndef LEAVE_SOME_PRE_2011_SYSTEMS_IN_THE_LURCH
		/*
		** For some pre-2011 systems: if the last-to-be-written
		** standard (or daylight) type has an offset different from the
		** most recently used offset,
		** append an (unused) copy of the most recently used type
		** (to help get global "altzone" and "timezone" variables
		** set correctly).
		*/
		{
			register int	mrudst, mrustd, hidst, histd, type;

			hidst = histd = mrudst = mrustd = -1;
			for (i = thistimei; i < thistimelim; ++i)
				if (isdsts[types[i]])
					mrudst = types[i];
				else	mrustd = types[i];
			for (i = 0; i < typecnt; ++i)
				if (writetype[i]) {
					if (isdsts[i])
						hidst = i;
					else	histd = i;
				}
			if (hidst >= 0 && mrudst >= 0 && hidst != mrudst &&
				gmtoffs[hidst] != gmtoffs[mrudst]) {
					isdsts[mrudst] = -1;
					type = addtype(gmtoffs[mrudst],
						&chars[abbrinds[mrudst]],
						TRUE,
						ttisstds[mrudst],
						ttisgmts[mrudst]);
					isdsts[mrudst] = TRUE;
					writetype[type] = TRUE;
			}
			if (histd >= 0 && mrustd >= 0 && histd != mrustd &&
				gmtoffs[histd] != gmtoffs[mrustd]) {
					isdsts[mrustd] = -1;
					type = addtype(gmtoffs[mrustd],
						&chars[abbrinds[mrustd]],
						FALSE,
						ttisstds[mrustd],
						ttisgmts[mrustd]);
					isdsts[mrustd] = FALSE;
					writetype[type] = TRUE;
			}
		}
#endif /* !defined LEAVE_SOME_PRE_2011_SYSTEMS_IN_THE_LURCH */
		thistypecnt = 0;
		for (i = 0; i < typecnt; ++i)
			typemap[i] = writetype[i] ?  thistypecnt++ : -1;
		for (i = 0; i < sizeof indmap / sizeof indmap[0]; ++i)
			indmap[i] = -1;
		thischarcnt = 0;
		for (i = 0; i < typecnt; ++i) {
			register char *	thisabbr;

			if (!writetype[i])
				continue;
			if (indmap[abbrinds[i]] >= 0)
				continue;
			thisabbr = &chars[abbrinds[i]];
			for (j = 0; j < thischarcnt; ++j)
				if (strcmp(&thischars[j], thisabbr) == 0)
					break;
			if (j == thischarcnt) {
				(void) strcpy(&thischars[(int) thischarcnt],
					thisabbr);
				thischarcnt += strlen(thisabbr) + 1;
			}
			indmap[abbrinds[i]] = j;
		}
#define DO(field)	(void) fwrite((void *) tzh.field, \
				(size_t) sizeof tzh.field, (size_t) 1, fp)
		tzh = tzh0;
		(void) strncpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic);
		tzh.tzh_version[0] = ZIC_VERSION;
		convert(eitol(thistypecnt), tzh.tzh_ttisgmtcnt);
		convert(eitol(thistypecnt), tzh.tzh_ttisstdcnt);
		convert(eitol(thisleapcnt), tzh.tzh_leapcnt);
		convert(eitol(thistimecnt), tzh.tzh_timecnt);
		convert(eitol(thistypecnt), tzh.tzh_typecnt);
		convert(eitol(thischarcnt), tzh.tzh_charcnt);
		DO(tzh_magic);
		DO(tzh_version);
		DO(tzh_reserved);
		DO(tzh_ttisgmtcnt);
		DO(tzh_ttisstdcnt);
		DO(tzh_leapcnt);
		DO(tzh_timecnt);
		DO(tzh_typecnt);
		DO(tzh_charcnt);
#undef DO
		for (i = thistimei; i < thistimelim; ++i)
			if (pass == 1)
				puttzcode((long) ats[i], fp);
			else	puttzcode64(ats[i], fp);
		for (i = thistimei; i < thistimelim; ++i) {
			unsigned char	uc;

			uc = typemap[types[i]];
			(void) fwrite((void *) &uc,
				(size_t) sizeof uc,
				(size_t) 1,
				fp);
		}
		for (i = 0; i < typecnt; ++i)
			if (writetype[i]) {
				puttzcode(gmtoffs[i], fp);
				(void) putc(isdsts[i], fp);
				(void) putc((unsigned char) indmap[abbrinds[i]], fp);
			}
		if (thischarcnt != 0)
			(void) fwrite((void *) thischars,
				(size_t) sizeof thischars[0],
				(size_t) thischarcnt, fp);
		for (i = thisleapi; i < thisleaplim; ++i) {
			register zic_t	todo;

			if (roll[i]) {
				if (timecnt == 0 || trans[i] < ats[0]) {
					j = 0;
					while (isdsts[j])
						if (++j >= typecnt) {
							j = 0;
							break;
						}
				} else {
					j = 1;
					while (j < timecnt &&
						trans[i] >= ats[j])
							++j;
					j = types[j - 1];
				}
				todo = tadd(trans[i], -gmtoffs[j]);
			} else	todo = trans[i];
			if (pass == 1)
				puttzcode((long) todo, fp);
			else	puttzcode64(todo, fp);
			puttzcode(corr[i], fp);
		}
		for (i = 0; i < typecnt; ++i)
			if (writetype[i])
				(void) putc(ttisstds[i], fp);
		for (i = 0; i < typecnt; ++i)
			if (writetype[i])
				(void) putc(ttisgmts[i], fp);
	}
	(void) fprintf(fp, "\n%s\n", string);
	if (ferror(fp) || fclose(fp)) {
		(void) fprintf(stderr, _("%s: Error writing %s\n"),
			progname, fullname);
		exit(EXIT_FAILURE);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x42e0, %rsp           # imm = 0x42E0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpl $0x1, 0xb4ca(%rip)      # 0x12704
jle 0x725b
movslq 0xb4c1(%rip), %rsi      # 0x12704
leaq 0xc116(%rip), %rdi      # 0x13360
movl $0x10, %edx
leaq 0x180a(%rip), %rcx      # 0x8a60
callq 0x20b0
movl $0x0, -0x2a78(%rbp)
movl $0x0, -0x2a74(%rbp)
movl -0x2a74(%rbp), %ecx
xorl %eax, %eax
cmpl 0xb487(%rip), %ecx      # 0x12704
movb %al, -0x42a1(%rbp)
jge 0x72ad
movslq -0x2a74(%rbp), %rcx
leaq 0xc0cd(%rip), %rax      # 0x13360
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
cmpq 0xaf84(%rip), %rax      # 0x12228
setl %al
movb %al, -0x42a1(%rbp)
movb -0x42a1(%rbp), %al
testb $0x1, %al
jne 0x72b9
jmp 0x72ca
movl -0x2a74(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2a74(%rbp)
jmp 0x726f
movsbl 0xbc4f(%rip), %eax      # 0x12f20
cmpl $0x0, %eax
jne 0x7332
jmp 0x72d8
movl -0x2a74(%rbp), %ecx
xorl %eax, %eax
cmpl 0xb41e(%rip), %ecx      # 0x12704
movb %al, -0x42a2(%rbp)
jge 0x7313
movslq -0x2a74(%rbp), %rcx
leaq 0xc064(%rip), %rax      # 0x13360
shlq $0x4, %rcx
addq %rcx, %rax
movzbl 0x8(%rax), %eax
cmpl $0x0, %eax
sete %al
movb %al, -0x42a2(%rbp)
movb -0x42a2(%rbp), %al
testb $0x1, %al
jne 0x731f
jmp 0x7330
movl -0x2a74(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2a74(%rbp)
jmp 0x72d8
jmp 0x7332
jmp 0x7334
movl -0x2a74(%rbp), %eax
cmpl 0xb3c4(%rip), %eax      # 0x12704
jge 0x74f8
cmpl $0x0, -0x2a78(%rbp)
je 0x7459
movslq -0x2a74(%rbp), %rcx
leaq 0xbfff(%rip), %rax      # 0x13360
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movl -0x2a78(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rdx
leaq 0xbfe2(%rip), %rcx      # 0x13360
shlq $0x4, %rdx
addq %rdx, %rcx
movzbl 0x8(%rcx), %ecx
movl %ecx, %edx
leaq 0xb38e(%rip), %rcx      # 0x12720
addq (%rcx,%rdx,8), %rax
movq %rax, -0x42b8(%rbp)
movl -0x2a78(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rcx
leaq 0xbfb0(%rip), %rax      # 0x13360
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq %rax, -0x42b0(%rbp)
cmpl $0x1, -0x2a78(%rbp)
jne 0x73d4
xorl %eax, %eax
movl %eax, -0x42bc(%rbp)
jmp 0x73f8
movl -0x2a78(%rbp), %eax
subl $0x2, %eax
movslq %eax, %rcx
leaq 0xbf79(%rip), %rax      # 0x13360
shlq $0x4, %rcx
addq %rcx, %rax
movzbl 0x8(%rax), %eax
movl %eax, -0x42bc(%rbp)
movq -0x42b8(%rbp), %rax
movq -0x42b0(%rbp), %rcx
movl -0x42bc(%rbp), %edx
movslq %edx, %rsi
leaq 0xb30a(%rip), %rdx      # 0x12720
addq (%rdx,%rsi,8), %rcx
cmpq %rcx, %rax
jg 0x7459
movslq -0x2a74(%rbp), %rcx
leaq 0xbf33(%rip), %rax      # 0x13360
shlq $0x4, %rcx
addq %rcx, %rax
movb 0x8(%rax), %cl
movl -0x2a78(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rdx
leaq 0xbf16(%rip), %rax      # 0x13360
shlq $0x4, %rdx
addq %rdx, %rax
movb %cl, 0x8(%rax)
jmp 0x74e4
cmpl $0x0, -0x2a78(%rbp)
je 0x749d
movl -0x2a78(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rcx
leaq 0xbeeb(%rip), %rax      # 0x13360
shlq $0x4, %rcx
addq %rcx, %rax
movzbl 0x8(%rax), %eax
movslq -0x2a74(%rbp), %rdx
leaq 0xbed2(%rip), %rcx      # 0x13360
shlq $0x4, %rdx
addq %rdx, %rcx
movzbl 0x8(%rcx), %ecx
cmpl %ecx, %eax
je 0x74e2
movl -0x2a78(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x2a78(%rbp)
movslq %eax, %rcx
leaq 0xbea8(%rip), %rax      # 0x13360
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x2a74(%rbp), %rdx
leaq 0xbe93(%rip), %rcx      # 0x13360
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
jmp 0x74e4
movl -0x2a74(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2a74(%rbp)
jmp 0x7334
movl -0x2a78(%rbp), %eax
movl %eax, 0xb200(%rip)      # 0x12704
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl 0xb1f0(%rip), %eax      # 0x12704
jge 0x7562
movslq -0x1c(%rbp), %rcx
leaq 0xbe3f(%rip), %rax      # 0x13360
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movslq -0x1c(%rbp), %rax
movq %rcx, -0x25c0(%rbp,%rax,8)
movslq -0x1c(%rbp), %rcx
leaq 0xbe1e(%rip), %rax      # 0x13360
shlq $0x4, %rcx
addq %rcx, %rax
movb 0x8(%rax), %cl
movslq -0x1c(%rbp), %rax
movb %cl, -0x2a70(%rbp,%rax)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x750b
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl 0xb192(%rip), %eax      # 0x12704
jge 0x7601
movl 0xae26(%rip), %eax      # 0x123a4
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x20(%rbp)
cmpl $0x0, %eax
jl 0x75f1
movslq -0x1c(%rbp), %rax
movq -0x25c0(%rbp,%rax,8), %rax
movslq -0x20(%rbp), %rdx
leaq 0xae0a(%rip), %rcx      # 0x123b0
movq (%rcx,%rdx,8), %rcx
movslq -0x20(%rbp), %rsi
leaq 0xaf8b(%rip), %rdx      # 0x12540
subq (%rdx,%rsi,8), %rcx
cmpq %rcx, %rax
jle 0x75ef
movslq -0x1c(%rbp), %rax
movq -0x25c0(%rbp,%rax,8), %rdi
movslq -0x20(%rbp), %rcx
leaq 0xaf6b(%rip), %rax      # 0x12540
movq (%rax,%rcx,8), %rsi
callq 0x6440
movq %rax, %rcx
movslq -0x1c(%rbp), %rax
movq %rcx, -0x25c0(%rbp,%rax,8)
jmp 0x75f1
jmp 0x7581
jmp 0x75f3
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x7569
movl 0xb0fd(%rip), %eax      # 0x12704
movl %eax, -0x2c(%rbp)
movl $0x0, -0x30(%rbp)
movl 0xad8d(%rip), %eax      # 0x123a4
movl %eax, -0x24(%rbp)
movl $0x0, -0x28(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x2c(%rbp)
movb %al, -0x42bd(%rbp)
jle 0x7652
movl -0x2c(%rbp), %eax
subl $0x1, %eax
cltq
movq -0x25c0(%rbp,%rax,8), %rdi
callq 0x8ab0
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
movb %al, -0x42bd(%rbp)
movb -0x42bd(%rbp), %al
testb $0x1, %al
jne 0x765e
jmp 0x7669
movl -0x2c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x7621
jmp 0x766b
xorl %eax, %eax
cmpl $0x0, -0x2c(%rbp)
movb %al, -0x42be(%rbp)
jle 0x7698
movslq -0x30(%rbp), %rax
movq -0x25c0(%rbp,%rax,8), %rdi
callq 0x8ab0
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
movb %al, -0x42be(%rbp)
movb -0x42be(%rbp), %al
testb $0x1, %al
jne 0x76a4
jmp 0x76b8
movl -0x2c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x2c(%rbp)
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x766b
jmp 0x76ba
xorl %eax, %eax
cmpl $0x0, -0x24(%rbp)
movb %al, -0x42bf(%rbp)
jle 0x76ef
movl -0x24(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rcx
leaq 0xacd8(%rip), %rax      # 0x123b0
movq (%rax,%rcx,8), %rdi
callq 0x8ab0
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
movb %al, -0x42bf(%rbp)
movb -0x42bf(%rbp), %al
testb $0x1, %al
jne 0x76fb
jmp 0x7706
movl -0x24(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x76ba
jmp 0x7708
xorl %eax, %eax
cmpl $0x0, -0x24(%rbp)
movb %al, -0x42c0(%rbp)
jle 0x7738
movslq -0x28(%rbp), %rcx
leaq 0xac8f(%rip), %rax      # 0x123b0
movq (%rax,%rcx,8), %rdi
callq 0x8ab0
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
movb %al, -0x42c0(%rbp)
movb -0x42c0(%rbp), %al
testb $0x1, %al
jne 0x7744
jmp 0x7758
movl -0x24(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x7708
movq 0x10709(%rip), %rax     # 0x17e68
movq %rax, -0x42d0(%rbp)
movq 0xaa4b(%rip), %rdi      # 0x121b8
callq 0x20d0
addq $0x1, %rax
movq %rax, -0x42c8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x20d0
movq -0x42d0(%rbp), %rdi
movq %rax, %rcx
movq -0x42c8(%rbp), %rax
addq %rcx, %rax
addq $0x1, %rax
movl %eax, %esi
callq 0xd030
movq %rax, %rdi
callq 0x40b0
movq %rax, 0x106b4(%rip)     # 0x17e68
movq 0x106ad(%rip), %rdi     # 0x17e68
movq 0xa9f6(%rip), %rdx      # 0x121b8
movq -0x8(%rbp), %rcx
leaq 0x76d9(%rip), %rsi      # 0xeea6
movb $0x0, %al
callq 0x2250
movq 0x1068d(%rip), %rdi     # 0x17e68
callq 0x41b0
cmpl $0x0, %eax
jne 0x784a
movq 0x1067c(%rip), %rdi     # 0x17e68
callq 0x2070
cmpl $0x0, %eax
je 0x784a
callq 0x2050
cmpl $0x2, (%rax)
je 0x784a
callq 0x2050
movl (%rax), %edi
callq 0x2290
movq %rax, -0x2a80(%rbp)
movq 0xa7de(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
movq 0xa98c(%rip), %rdx      # 0x121b0
movq 0x1063d(%rip), %rcx     # 0x17e68
movq -0x2a80(%rbp), %r8
leaq 0x7673(%rip), %rsi      # 0xeeac
movb $0x0, %al
callq 0x2180
movl $0x1, %edi
callq 0x2270
movq 0x10617(%rip), %rdi     # 0x17e68
leaq 0x766d(%rip), %rsi      # 0xeec5
callq 0x2220
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x78ef
movq 0x105f6(%rip), %rdi     # 0x17e68
callq 0x4220
cmpl $0x0, %eax
je 0x7886
movl $0x1, %edi
callq 0x2270
movq 0x105db(%rip), %rdi     # 0x17e68
leaq 0x7631(%rip), %rsi      # 0xeec5
callq 0x2220
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x78ed
callq 0x2050
movl (%rax), %edi
callq 0x2290
movq %rax, -0x2a88(%rbp)
movq 0xa73b(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
movq 0xa8e9(%rip), %rdx      # 0x121b0
movq 0x1059a(%rip), %rcx     # 0x17e68
movq -0x2a88(%rbp), %r8
leaq 0x75ec(%rip), %rsi      # 0xeec8
movb $0x0, %al
callq 0x2180
movl $0x1, %edi
callq 0x2270
jmp 0x78ef
movl $0x1, -0x34(%rbp)
cmpl $0x2, -0x34(%rbp)
jg 0x840c
cmpl $0x1, -0x34(%rbp)
jne 0x792c
movl -0x30(%rbp), %eax
movl %eax, -0x2a8c(%rbp)
movl -0x2c(%rbp), %eax
movl %eax, -0x2a90(%rbp)
movl -0x28(%rbp), %eax
movl %eax, -0x2a94(%rbp)
movl -0x24(%rbp), %eax
movl %eax, -0x2a98(%rbp)
jmp 0x7958
movl $0x0, -0x2a8c(%rbp)
movl 0xadc8(%rip), %eax      # 0x12704
movl %eax, -0x2a90(%rbp)
movl $0x0, -0x2a94(%rbp)
movl 0xaa52(%rip), %eax      # 0x123a4
movl %eax, -0x2a98(%rbp)
movl -0x2a8c(%rbp), %eax
addl -0x2a90(%rbp), %eax
movl %eax, -0x2a9c(%rbp)
movl -0x2a94(%rbp), %eax
addl -0x2a98(%rbp), %eax
movl %eax, -0x2aa0(%rbp)
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl 0xad7c(%rip), %eax      # 0x12708
jge 0x79b8
movl -0x2a90(%rbp), %eax
cmpl 0xad6a(%rip), %eax      # 0x12704
sete %al
andb $0x1, %al
movzbl %al, %ecx
movslq -0x1c(%rbp), %rax
movl %ecx, -0x3d60(%rbp,%rax,4)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x7983
cmpl $0x0, -0x2a90(%rbp)
jne 0x79e2
cmpl $0x0, 0xad40(%rip)      # 0x12708
je 0x79e0
movl 0xad38(%rip), %eax      # 0x12708
subl $0x1, %eax
cltq
movl $0x1, -0x3d60(%rbp,%rax,4)
jmp 0x7a38
movl -0x2a8c(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x2a9c(%rbp), %eax
jge 0x7a23
cmpl $0x0, -0x1c(%rbp)
jl 0x7a16
movslq -0x1c(%rbp), %rax
movzbl -0x2a70(%rbp,%rax), %eax
movl $0x1, -0x3d60(%rbp,%rax,4)
jmp 0x7a18
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x79ee
cmpl $0x0, -0x2a8c(%rbp)
jne 0x7a36
movl $0x1, -0x3d60(%rbp)
jmp 0x7a38
movl $0xffffffff, -0x4278(%rbp) # imm = 0xFFFFFFFF
movl $0xffffffff, -0x4274(%rbp) # imm = 0xFFFFFFFF
movl $0xffffffff, -0x4280(%rbp) # imm = 0xFFFFFFFF
movl $0xffffffff, -0x427c(%rbp) # imm = 0xFFFFFFFF
movl -0x2a8c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x2a9c(%rbp), %eax
jge 0x7ac2
movslq -0x1c(%rbp), %rax
movzbl -0x2a70(%rbp,%rax), %eax
movl %eax, %ecx
leaq 0xb497(%rip), %rax      # 0x12f20
cmpb $0x0, (%rax,%rcx)
je 0x7aa3
movslq -0x1c(%rbp), %rax
movzbl -0x2a70(%rbp,%rax), %eax
movl %eax, -0x4274(%rbp)
jmp 0x7ab5
movslq -0x1c(%rbp), %rax
movzbl -0x2a70(%rbp,%rax), %eax
movl %eax, -0x4278(%rbp)
jmp 0x7ab7
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x7a69
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl 0xac36(%rip), %eax      # 0x12708
jge 0x7b16
movslq -0x1c(%rbp), %rax
cmpl $0x0, -0x3d60(%rbp,%rax,4)
je 0x7b09
movslq -0x1c(%rbp), %rcx
leaq 0xb433(%rip), %rax      # 0x12f20
cmpb $0x0, (%rax,%rcx)
je 0x7afe
movl -0x1c(%rbp), %eax
movl %eax, -0x427c(%rbp)
jmp 0x7b07
movl -0x1c(%rbp), %eax
movl %eax, -0x4280(%rbp)
jmp 0x7b09
jmp 0x7b0b
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x7ac9
cmpl $0x0, -0x427c(%rbp)
jl 0x7c05
cmpl $0x0, -0x4274(%rbp)
jl 0x7c05
movl -0x427c(%rbp), %eax
cmpl -0x4274(%rbp), %eax
je 0x7c05
movslq -0x427c(%rbp), %rcx
leaq 0xabd0(%rip), %rax      # 0x12720
movq (%rax,%rcx,8), %rax
movslq -0x4274(%rbp), %rdx
leaq 0xabbe(%rip), %rcx      # 0x12720
cmpq (%rcx,%rdx,8), %rax
je 0x7c05
movslq -0x4274(%rbp), %rcx
leaq 0xb3a6(%rip), %rax      # 0x12f20
movb $-0x1, (%rax,%rcx)
movslq -0x4274(%rbp), %rcx
leaq 0xab94(%rip), %rax      # 0x12720
movq (%rax,%rcx,8), %rdi
movslq -0x4274(%rbp), %rcx
leaq 0xb4c2(%rip), %rax      # 0x13060
movzbl (%rax,%rcx), %eax
leaq 0xb477(%rip), %rsi      # 0x13020
addq %rax, %rsi
movslq -0x4274(%rbp), %rcx
leaq 0xb5a6(%rip), %rax      # 0x13160
movsbl (%rax,%rcx), %ecx
movslq -0x4274(%rbp), %rdx
leaq 0xb694(%rip), %rax      # 0x13260
movsbl (%rax,%rdx), %r8d
movl $0x1, %edx
callq 0x6d30
movl %eax, -0x4284(%rbp)
movslq -0x4274(%rbp), %rcx
leaq 0xb331(%rip), %rax      # 0x12f20
movb $0x1, (%rax,%rcx)
movslq -0x4284(%rbp), %rax
movl $0x1, -0x3d60(%rbp,%rax,4)
cmpl $0x0, -0x4280(%rbp)
jl 0x7cf1
cmpl $0x0, -0x4278(%rbp)
jl 0x7cf1
movl -0x4280(%rbp), %eax
cmpl -0x4278(%rbp), %eax
je 0x7cf1
movslq -0x4280(%rbp), %rcx
leaq 0xaae1(%rip), %rax      # 0x12720
movq (%rax,%rcx,8), %rax
movslq -0x4278(%rbp), %rdx
leaq 0xaacf(%rip), %rcx      # 0x12720
cmpq (%rcx,%rdx,8), %rax
je 0x7cf1
movslq -0x4278(%rbp), %rcx
leaq 0xb2b7(%rip), %rax      # 0x12f20
movb $-0x1, (%rax,%rcx)
movslq -0x4278(%rbp), %rcx
leaq 0xaaa5(%rip), %rax      # 0x12720
movq (%rax,%rcx,8), %rdi
movslq -0x4278(%rbp), %rcx
leaq 0xb3d3(%rip), %rax      # 0x13060
movzbl (%rax,%rcx), %eax
leaq 0xb388(%rip), %rsi      # 0x13020
addq %rax, %rsi
movslq -0x4278(%rbp), %rcx
leaq 0xb4b7(%rip), %rax      # 0x13160
movsbl (%rax,%rcx), %ecx
movslq -0x4278(%rbp), %rdx
leaq 0xb5a5(%rip), %rax      # 0x13260
movsbl (%rax,%rdx), %r8d
xorl %edx, %edx
callq 0x6d30
movl %eax, -0x4284(%rbp)
movslq -0x4278(%rbp), %rcx
leaq 0xb245(%rip), %rax      # 0x12f20
movb $0x0, (%rax,%rcx)
movslq -0x4284(%rbp), %rax
movl $0x1, -0x3d60(%rbp,%rax,4)
movl $0x0, -0x4164(%rbp)
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl 0xa9fd(%rip), %eax      # 0x12708
jge 0x7d5d
movslq -0x1c(%rbp), %rax
cmpl $0x0, -0x3d60(%rbp,%rax,4)
je 0x7d34
movl -0x4164(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x4164(%rbp)
movl %eax, -0x42d4(%rbp)
jmp 0x7d41
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, -0x42d4(%rbp)
jmp 0x7d41
movl -0x42d4(%rbp), %ecx
movslq -0x1c(%rbp), %rax
movl %ecx, -0x4160(%rbp,%rax,4)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x7d02
movl $0x0, -0x1c(%rbp)
movslq -0x1c(%rbp), %rax
cmpq $0x32, %rax
jae 0x7d88
movslq -0x1c(%rbp), %rax
movl $0xffffffff, -0x4270(%rbp,%rax,4) # imm = 0xFFFFFFFF
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x7d64
movb $0x0, -0x41a1(%rbp)
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl 0xa969(%rip), %eax      # 0x12708
jge 0x7eb3
movslq -0x1c(%rbp), %rax
cmpl $0x0, -0x3d60(%rbp,%rax,4)
jne 0x7db8
jmp 0x7ea5
movslq -0x1c(%rbp), %rcx
leaq 0xb29d(%rip), %rax      # 0x13060
movzbl (%rax,%rcx), %eax
cmpl $0x0, -0x4270(%rbp,%rax,4)
jl 0x7dd6
jmp 0x7ea5
movslq -0x1c(%rbp), %rcx
leaq 0xb27f(%rip), %rax      # 0x13060
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
leaq 0xb232(%rip), %rax      # 0x13020
addq %rcx, %rax
movq %rax, -0x4290(%rbp)
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
movsbl -0x41a1(%rbp), %ecx
cmpl %ecx, %eax
jge 0x7e3b
movslq -0x20(%rbp), %rax
leaq -0x41a0(%rbp), %rdi
addq %rax, %rdi
movq -0x4290(%rbp), %rsi
callq 0x2160
cmpl $0x0, %eax
jne 0x7e2e
jmp 0x7e3b
jmp 0x7e30
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x7dff
movl -0x20(%rbp), %eax
movsbl -0x41a1(%rbp), %ecx
cmpl %ecx, %eax
jne 0x7e8c
movsbl -0x41a1(%rbp), %eax
cltq
leaq -0x41a0(%rbp), %rdi
addq %rax, %rdi
movq -0x4290(%rbp), %rsi
callq 0x2080
movq -0x4290(%rbp), %rdi
callq 0x20d0
movq %rax, %rcx
addq $0x1, %rcx
movsbq -0x41a1(%rbp), %rax
addq %rcx, %rax
movb %al, -0x41a1(%rbp)
movl -0x20(%rbp), %ecx
movslq -0x1c(%rbp), %rdx
leaq 0xb1c6(%rip), %rax      # 0x13060
movzbl (%rax,%rdx), %eax
movl %ecx, -0x4270(%rbp,%rax,4)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x7d96
leaq 0xffb6(%rip), %rdi      # 0x17e70
leaq 0x62d7(%rip), %rsi      # 0xe198
movl $0x2c, %edx
callq 0x21a0
leaq 0xff9e(%rip), %rdi      # 0x17e70
leaq 0x7008(%rip), %rsi      # 0xeee1
movl $0x4, %edx
callq 0x2060
movb $0x32, 0xff8a(%rip)     # 0x17e74
movl -0x4164(%rbp), %edi
callq 0x4660
movq %rax, %rdi
leaq 0xff71(%rip), %rsi      # 0x17e70
addq $0x14, %rsi
callq 0x8af0
movl -0x4164(%rbp), %edi
callq 0x4660
movq %rax, %rdi
leaq 0xff53(%rip), %rsi      # 0x17e70
addq $0x18, %rsi
callq 0x8af0
movl -0x2a98(%rbp), %edi
callq 0x4660
movq %rax, %rdi
leaq 0xff35(%rip), %rsi      # 0x17e70
addq $0x1c, %rsi
callq 0x8af0
movl -0x2a90(%rbp), %edi
callq 0x4660
movq %rax, %rdi
leaq 0xff17(%rip), %rsi      # 0x17e70
addq $0x20, %rsi
callq 0x8af0
movl -0x4164(%rbp), %edi
callq 0x4660
movq %rax, %rdi
leaq 0xfef9(%rip), %rsi      # 0x17e70
addq $0x24, %rsi
callq 0x8af0
movsbl -0x41a1(%rbp), %edi
callq 0x4660
movq %rax, %rdi
leaq 0xfeda(%rip), %rsi      # 0x17e70
addq $0x28, %rsi
callq 0x8af0
movq -0x18(%rbp), %rcx
leaq 0xfec6(%rip), %rdi      # 0x17e70
movl $0x4, %esi
movl $0x1, %edx
callq 0x2280
movq -0x18(%rbp), %rcx
leaq 0xfeac(%rip), %rdi      # 0x17e70
addq $0x4, %rdi
movl $0x1, %edx
movq %rdx, %rsi
callq 0x2280
movq -0x18(%rbp), %rcx
leaq 0xfe90(%rip), %rdi      # 0x17e70
addq $0x5, %rdi
movl $0xf, %esi
movl $0x1, %edx
callq 0x2280
movq -0x18(%rbp), %rcx
leaq 0xfe72(%rip), %rdi      # 0x17e70
addq $0x14, %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2280
movq -0x18(%rbp), %rcx
leaq 0xfe54(%rip), %rdi      # 0x17e70
addq $0x18, %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2280
movq -0x18(%rbp), %rcx
leaq 0xfe36(%rip), %rdi      # 0x17e70
addq $0x1c, %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2280
movq -0x18(%rbp), %rcx
leaq 0xfe18(%rip), %rdi      # 0x17e70
addq $0x20, %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2280
movq -0x18(%rbp), %rcx
leaq 0xfdfa(%rip), %rdi      # 0x17e70
addq $0x24, %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2280
movq -0x18(%rbp), %rcx
leaq 0xfddc(%rip), %rdi      # 0x17e70
addq $0x28, %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x2280
movl -0x2a8c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x2a9c(%rbp), %eax
jge 0x80fa
cmpl $0x1, -0x34(%rbp)
jne 0x80d8
movslq -0x1c(%rbp), %rax
movq -0x25c0(%rbp,%rax,8), %rdi
movq -0x18(%rbp), %rsi
callq 0x8b40
jmp 0x80ed
movslq -0x1c(%rbp), %rax
movq -0x25c0(%rbp,%rax,8), %rdi
movq -0x18(%rbp), %rsi
callq 0x8b80
jmp 0x80ef
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x80b0
movl -0x2a8c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x2a9c(%rbp), %eax
jge 0x814a
movslq -0x1c(%rbp), %rax
movzbl -0x2a70(%rbp,%rax), %eax
movl -0x4160(%rbp,%rax,4), %eax
movb %al, -0x4291(%rbp)
movq -0x18(%rbp), %rcx
leaq -0x4291(%rbp), %rdi
movl $0x1, %edx
movq %rdx, %rsi
callq 0x2280
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x8103
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl 0xa5ae(%rip), %eax      # 0x12708
jge 0x81c9
movslq -0x1c(%rbp), %rax
cmpl $0x0, -0x3d60(%rbp,%rax,4)
je 0x81bc
movslq -0x1c(%rbp), %rcx
leaq 0xa5ab(%rip), %rax      # 0x12720
movq (%rax,%rcx,8), %rdi
movq -0x18(%rbp), %rsi
callq 0x8b40
movslq -0x1c(%rbp), %rcx
leaq 0xad93(%rip), %rax      # 0x12f20
movsbl (%rax,%rcx), %edi
movq -0x18(%rbp), %rsi
callq 0x2170
movslq -0x1c(%rbp), %rcx
leaq 0xaebb(%rip), %rax      # 0x13060
movzbl (%rax,%rcx), %eax
movl -0x4270(%rbp,%rax,4), %eax
movzbl %al, %edi
movq -0x18(%rbp), %rsi
callq 0x2170
jmp 0x81be
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x8151
movsbl -0x41a1(%rbp), %eax
cmpl $0x0, %eax
je 0x81f2
leaq -0x41a0(%rbp), %rdi
movsbq -0x41a1(%rbp), %rdx
movq -0x18(%rbp), %rcx
movl $0x1, %esi
callq 0x2280
movl -0x2a94(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x2aa0(%rbp), %eax
jge 0x8372
movslq -0x1c(%rbp), %rcx
leaq 0xa4bb(%rip), %rax      # 0x126d0
cmpb $0x0, (%rax,%rcx)
je 0x830e
cmpl $0x0, 0xa4de(%rip)      # 0x12704
je 0x8240
movslq -0x1c(%rbp), %rcx
leaq 0xa17d(%rip), %rax      # 0x123b0
movq (%rax,%rcx,8), %rax
cmpq -0x25c0(%rbp), %rax
jge 0x8276
movl $0x0, -0x20(%rbp)
movslq -0x20(%rbp), %rcx
leaq 0xacce(%rip), %rax      # 0x12f20
cmpb $0x0, (%rax,%rcx)
je 0x8274
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
cmpl 0xa4a1(%rip), %eax      # 0x12708
jl 0x8272
movl $0x0, -0x20(%rbp)
jmp 0x8274
jmp 0x8247
jmp 0x82de
movl $0x1, -0x20(%rbp)
movl -0x20(%rbp), %ecx
xorl %eax, %eax
cmpl 0xa47c(%rip), %ecx      # 0x12704
movb %al, -0x42d5(%rbp)
jge 0x82b4
movslq -0x1c(%rbp), %rcx
leaq 0xa115(%rip), %rax      # 0x123b0
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
cmpq -0x25c0(%rbp,%rcx,8), %rax
setge %al
movb %al, -0x42d5(%rbp)
movb -0x42d5(%rbp), %al
testb $0x1, %al
jne 0x82c0
jmp 0x82cb
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x827d
movl -0x20(%rbp), %eax
subl $0x1, %eax
cltq
movzbl -0x2a70(%rbp,%rax), %eax
movl %eax, -0x20(%rbp)
movslq -0x1c(%rbp), %rcx
leaq 0xa0c7(%rip), %rax      # 0x123b0
movq (%rax,%rcx,8), %rdi
movslq -0x20(%rbp), %rcx
xorl %eax, %eax
movl %eax, %esi
leaq 0xa424(%rip), %rax      # 0x12720
subq (%rax,%rcx,8), %rsi
callq 0x6440
movq %rax, -0x42a0(%rbp)
jmp 0x8324
movslq -0x1c(%rbp), %rcx
leaq 0xa097(%rip), %rax      # 0x123b0
movq (%rax,%rcx,8), %rax
movq %rax, -0x42a0(%rbp)
cmpl $0x1, -0x34(%rbp)
jne 0x833c
movq -0x42a0(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x8b40
jmp 0x834c
movq -0x42a0(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x8b80
movslq -0x1c(%rbp), %rcx
leaq 0xa1e9(%rip), %rax      # 0x12540
movq (%rax,%rcx,8), %rdi
movq -0x18(%rbp), %rsi
callq 0x8b40
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x81fb
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl 0xa386(%rip), %eax      # 0x12708
jge 0x83b7
movslq -0x1c(%rbp), %rax
cmpl $0x0, -0x3d60(%rbp,%rax,4)
je 0x83aa
movslq -0x1c(%rbp), %rcx
leaq 0xadc3(%rip), %rax      # 0x13160
movsbl (%rax,%rcx), %edi
movq -0x18(%rbp), %rsi
callq 0x2170
jmp 0x83ac
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x8379
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl 0xa341(%rip), %eax      # 0x12708
jge 0x83fc
movslq -0x1c(%rbp), %rax
cmpl $0x0, -0x3d60(%rbp,%rax,4)
je 0x83ef
movslq -0x1c(%rbp), %rcx
leaq 0xae7e(%rip), %rax      # 0x13260
movsbl (%rax,%rcx), %edi
movq -0x18(%rbp), %rsi
callq 0x2170
jmp 0x83f1
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x83be
jmp 0x83fe
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x78f6
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rdx
leaq 0x6acb(%rip), %rsi      # 0xeee6
movb $0x0, %al
callq 0x2180
movq -0x18(%rbp), %rdi
callq 0x20a0
cmpl $0x0, %eax
jne 0x843e
movq -0x18(%rbp), %rdi
callq 0x20c0
cmpl $0x0, %eax
je 0x846e
movq 0x9bb3(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
movq 0x9d61(%rip), %rdx      # 0x121b0
movq 0xfa12(%rip), %rcx      # 0x17e68
leaq 0x6a8e(%rip), %rsi      # 0xeeeb
movb $0x0, %al
callq 0x2180
movl $0x1, %edi
callq 0x2270
addq $0x42e0, %rsp           # imm = 0x42E0
popq %rbp
retq
nopw (%rax,%rax)