// File: /workspace/github_c_makefile_star2_O1/s3lase[P]v6shell/osh.c
// Function: execute1
static void
execute1(struct tnode *t)
{
	struct anode *a;
	mode_t m;
	const char *emsg, *p;
	bool aok;

	if (t->nav == NULL || t->nav[0] == NULL) {
		/* should never (but can) be true */
		err(-1, FMT2S, getmyname(), "execute1: Invalid command");
		return;
	}
	switch (t->nkey) {
	case SBI_NULL:
		/*
		 * Do nothing and set the exit status to zero.
		 */
		status = SH_TRUE;
		return;

	case SBI_ALIAS:
		/*
		 * If both name and string are specified, set alias name
		 * to alias string.  If no string is specified, print the
		 * current value of alias name's string.  If no arguments
		 * are specified, print the name and string of each alias.
		 *
		 * NOTE: Each alias string value is printed as (value)
		 *	 to indicate that the shell executes each alias
		 *	 in a subshell.
		 *
		 * usage: alias [name [string]]
		 */
		if (t->nav[1] != NULL) {
			aok = true;
			for (p = t->nav[1]; *p != EOS; p++)
				if (any(*p, WORDPACK)) {
					aok = false;
					break;
				}
			if (!aok || *t->nav[1] == EOS ||
			    EQUAL(t->nav[1], "alias") ||
			    EQUAL(t->nav[1], "unalias")) {
				err(-1, FMT4S, getmyname(),
				    t->nav[0], t->nav[1], ERR_BADNAME);
				return;
			}
			if (t->nav[2] != NULL) {
				if (t->nav[3] != NULL) {
					emsg = ERR_ARGCOUNT;
					break;
				}
				if (rp_alias(t->nav[2]) == NULL) {
					emsg = error_message;
					break;
				}
				aalloc(t->nav[1], t->nav[2]);
			} else
				if ((p = asget(t->nav[1])) != NULL)
					fd_print(FD1, "(%s)\n", p);
		} else {
			a = anp;
			while (a != NULL) {
				fd_print(FD1, "%s\t(%s)\n", a->name, a->string);
				a = a->next;
			}
		}
		status = SH_TRUE;
		return;

	case SBI_CD:
	case SBI_CHDIR:
		/*
		 * Change the shell's current working directory.
		 */
		do_chdir(t->nav);
		return;

	case SBI_EXIT:
		/*
		 * If the shell is invoked w/ the `-c' or `-t' option, or is
		 * executing an rc file, exit the shell outright if it is not
		 * sourcing another file in the current context.  Otherwise,
		 * cause the shell to cease execution of a file of commands
		 * by seeking to the end of the file (and explicitly exiting
		 * the shell only if the file is not being sourced).
		 */
		if (!PROMPT) {
			if (SHTYPE(ST_ONELINE|ST_RCFILE) && !SHTYPE(ST_SOURCE))
				EXIT(status);
			(void)lseek(FD0, (off_t)0, SEEK_END);
			if (!SHTYPE(ST_SOURCE))
				EXIT(status);
		}
		return;

	case SBI_LOGIN:
	case SBI_NEWGRP:
		/*
		 * Replace the current interactive shell w/ an
		 * instance of login(1) or newgrp(1).
		 */
		if (PROMPT) {
			p = (t->nkey == SBI_LOGIN) ? PATH_LOGIN : PATH_NEWGRP;
			(void)sasignal(SIGINT, SIG_DFL);
			(void)sasignal(SIGQUIT, SIG_DFL);
			(void)pexec(p, (char *const *)t->nav);
			(void)sasignal(SIGINT, SIG_IGN);
			(void)sasignal(SIGQUIT, SIG_IGN);
		}
		emsg = ERR_EXEC;
		break;

	case SBI_SETENV:
		/*
		 * Set the specified environment variable.
		 *
		 * usage: setenv name [value]
		 */
		if (t->nav[1] != NULL &&
		    (t->nav[2] == NULL || t->nav[3] == NULL)) {

			for (p = t->nav[1]; *p != '=' && *p != EOS; p++)
				;	/* nothing */
			if (*t->nav[1] == EOS || *p == '=') {
				err(-1, FMT4S, getmyname(),
				    t->nav[0], t->nav[1], ERR_BADNAME);
				return;
			}
			p = (t->nav[2] != NULL) ? t->nav[2] : "";
			if (setenv(t->nav[1], p, 1) == -1)
				err(ESTATUS, FMT2S, getmyname(), ERR_NOMEM);

			status = SH_TRUE;
			return;

		}
		emsg = ERR_ARGCOUNT;
		break;

	case SBI_SHIFT:
		/*
		 * Shift all positional-parameter values to the left by 1.
		 * The value of $0 does not shift.
		 */
		if (dolc > 1) {
			dolv = &dolv[1];
			dolc--;
			status = SH_TRUE;
			return;
		}
		emsg = ERR_NOARGS;
		break;

	case SBI_SIGIGN:
		/*
		 * Ignore (or unignore) the specified signals, or
		 * print a list of those signals which are ignored
		 * because of a previous invocation of `sigign' in
		 * the current shell.
		 *
		 * usage: sigign [+ | - signal_number ...]
		 */
		do_sigign(t->nav, t->nflags);
		return;

	case SBI_SOURCE:
		/*
		 * Read and execute commands from file and return.
		 *
		 * usage: source file [arg1 ...]
		 */
		if (t->nav[1] != NULL) {
			do_source(t->nav);
			return;
		}
		emsg = ERR_ARGCOUNT;
		break;

	case SBI_UMASK:
		/*
		 * Set the file creation mask to the specified
		 * octal value, or print its current value.
		 *
		 * usage: umask [mask]
		 */
		if (t->nav[1] != NULL && t->nav[2] != NULL) {
			emsg = ERR_ARGCOUNT;
			break;
		}
		if (t->nav[1] == NULL) {
			(void)umask(m = umask(0));
			fd_print(FD1, "%04o\n", (unsigned)m);
		} else {
			m = 0;
			for (p = t->nav[1]; *p >= '0' && *p <= '7'; p++)
				m = m * 8 + (*p - '0');
			if (*t->nav[1] == EOS || *p != EOS || m > 0777) {
				err(-1, FMT4S, getmyname(),
				    t->nav[0], t->nav[1], ERR_BADMASK);
				return;
			}
			(void)umask(m);
		}
		status = SH_TRUE;
		return;

	case SBI_UNALIAS:
		/*
		 * Unset the specified alias name and its string.
		 *
		 * usage: unalias name
		 */
		if (t->nav[1] != NULL && t->nav[2] == NULL) {
			aok = true;
			for (p = t->nav[1]; *p != EOS; p++)
				if (any(*p, WORDPACK)) {
					aok = false;
					break;
				}
			if (!aok || *t->nav[1] == EOS ||
			    EQUAL(t->nav[1], "alias") ||
			    EQUAL(t->nav[1], "unalias")) {
				err(-1, FMT4S, getmyname(),
				    t->nav[0], t->nav[1], ERR_BADNAME);
				return;
			}
			afree(t->nav[1]);
			status = SH_TRUE;
			return;
		}
		emsg = ERR_ARGCOUNT;
		break;

	case SBI_UNSETENV:
		/*
		 * Unset the specified environment variable.
		 *
		 * usage: unsetenv name
		 */
		if (t->nav[1] != NULL && t->nav[2] == NULL) {

			for (p = t->nav[1]; *p != '=' && *p != EOS; p++)
				;	/* nothing */
			if (*t->nav[1] == EOS || *p == '=') {
				err(-1, FMT4S, getmyname(),
				    t->nav[0], t->nav[1], ERR_BADNAME);
				return;
			}
			unsetenv(t->nav[1]);

			status = SH_TRUE;
			return;

		}
		emsg = ERR_ARGCOUNT;
		break;

	case SBI_WAIT:
		/*
		 * Wait for all asynchronous processes to terminate,
		 * reporting on abnormal terminations.
		 */
		pwait(-1);
		return;

	default:
		emsg = ERR_EXEC;
	}
	err(-1, FMT3S, getmyname(), t->nav[0], emsg);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x238, %rsp            # imm = 0x238
movq 0x28(%rdi), %rbx
testq %rbx, %rbx
je 0x505d
cmpq $0x0, (%rbx)
je 0x505d
movq %rdi, %r14
movl 0x30(%rdi), %eax
leaq 0x434e(%rip), %r15      # 0x9345
cmpq $0x13, %rax
ja 0x5564
leaq 0x4170(%rip), %rcx      # 0x9178
movslq (%rcx,%rax,4), %rdx
addq %rcx, %rdx
jmpq *%rdx
leaq 0x47e9(%rip), %rdi      # 0x9801
movl $0x800, %esi            # imm = 0x800
xorl %eax, %eax
callq 0x2320
movl %eax, %ebp
movq 0x8(%rbx), %r14
testq %r14, %r14
je 0x54e0
cmpb $0x2d, (%r14)
jne 0x5050
leaq 0x441b(%rip), %rsi      # 0x945b
movq %r14, %rdi
callq 0x2230
testl %eax, %eax
je 0x58ca
movq %r14, %rdi
callq 0x5d89
jmp 0x5505
callq 0x6b0f
leaq 0x42d4(%rip), %rsi      # 0x933d
leaq 0x4369(%rip), %rcx      # 0x93d9
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rdx
xorl %eax, %eax
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x68c8
movl 0x71a6(%rip), %ecx      # 0xc23c
andl $0x1f, %ecx
cmpl $0x4, %ecx
jne 0x5564
cmpl $0xa, %eax
leaq 0x4359(%rip), %rax      # 0x9405
leaq 0x4361(%rip), %rbx      # 0x9414
cmoveq %rax, %rbx
movl $0x2, %edi
xorl %esi, %esi
callq 0x81f0
movl $0x3, %edi
xorl %esi, %esi
callq 0x81f0
movq 0x28(%r14), %rsi
movq %rbx, %rdi
callq 0x7d24
movl $0x1, %esi
movl $0x2, %edi
callq 0x81f0
movl $0x1, %esi
movl $0x3, %edi
callq 0x81f0
jmp 0x5564
movq 0x8(%rbx), %rdi
leaq 0x4222(%rip), %r15      # 0x932b
testq %rdi, %rdi
je 0x5564
cmpq $0x0, 0x10(%rbx)
jne 0x5564
movq %rdi, %rax
movzbl (%rax), %ecx
testl %ecx, %ecx
je 0x57e0
cmpl $0x3d, %ecx
je 0x57e0
incq %rax
jmp 0x5120
cmpq $0x0, 0x8(%rbx)
je 0x5223
movq %rbx, %rdi
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x6271
movq 0x8(%rbx), %r12
leaq 0x41c3(%rip), %r15      # 0x932b
testq %r12, %r12
je 0x5564
cmpq $0x0, 0x10(%rbx)
jne 0x5564
movb (%r12), %cl
testb %cl, %cl
je 0x51b4
leaq 0x40e7(%rip), %rax      # 0x9272
movq %r12, %rdx
movq %rax, %rsi
movb (%rsi), %dil
testb %dil, %dil
je 0x51a1
incq %rsi
cmpb %cl, %dil
jne 0x5191
testb %dil, %dil
jne 0x57f4
movb 0x1(%rdx), %cl
incq %rdx
testb %cl, %cl
jne 0x518e
movzbl (%r12), %ebx
testl %ebx, %ebx
je 0x57f4
cmpl $0x75, %ebx
je 0x51e7
cmpl $0x61, %ebx
jne 0x51fe
leaq 0x4065(%rip), %rsi      # 0x9237
movq %r12, %rdi
callq 0x2230
testl %eax, %eax
je 0x57f4
cmpb $0x75, %bl
jne 0x51fe
leaq 0x4047(%rip), %rsi      # 0x9235
movq %r12, %rdi
callq 0x2230
testl %eax, %eax
je 0x57f4
movq %r12, %rdi
callq 0x315e
jmp 0x58ae
movq 0x8(%rbx), %rax
testq %rax, %rax
je 0x5889
cmpq $0x0, 0x10(%rbx)
je 0x5832
leaq 0x4101(%rip), %r15      # 0x932b
jmp 0x5564
movq 0x8(%rbx), %r15
testq %r15, %r15
je 0x563b
movb (%r15), %cl
testb %cl, %cl
je 0x5273
leaq 0x4028(%rip), %rax      # 0x9272
movq %r15, %rdx
movq %rax, %rsi
movb (%rsi), %dil
testb %dil, %dil
je 0x5260
incq %rsi
cmpb %cl, %dil
jne 0x5250
testb %dil, %dil
jne 0x57f4
movb 0x1(%rdx), %cl
incq %rdx
testb %cl, %cl
jne 0x524d
movzbl (%r15), %ebp
testl %ebp, %ebp
je 0x57f4
cmpl $0x75, %ebp
je 0x52a6
cmpl $0x61, %ebp
jne 0x52bd
leaq 0x3fa7(%rip), %rsi      # 0x9237
movq %r15, %rdi
callq 0x2230
testl %eax, %eax
je 0x57f4
cmpb $0x75, %bpl
jne 0x52bd
leaq 0x3f88(%rip), %rsi      # 0x9235
movq %r15, %rdi
callq 0x2230
testl %eax, %eax
je 0x57f4
movq 0x10(%rbx), %rdi
testq %rdi, %rdi
je 0x596c
cmpq $0x0, 0x18(%rbx)
jne 0x5223
callq 0x4948
testq %rax, %rax
je 0x5b09
movq 0x28(%r14), %rax
movq 0x8(%rax), %rdi
movq 0x10(%rax), %rsi
callq 0x615b
jmp 0x58ae
movq 0x8(%rbx), %rdi
leaq 0x4027(%rip), %r15      # 0x932b
testq %rdi, %rdi
je 0x5564
movq 0x10(%rbx), %rax
testq %rax, %rax
je 0x5321
cmpq $0x0, 0x18(%rbx)
jne 0x5564
movq %rdi, %rcx
movzbl (%rcx), %edx
testl %edx, %edx
je 0x55c9
cmpl $0x3d, %edx
je 0x55c9
incq %rcx
jmp 0x5324
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x5b1a
movl 0x6ede(%rip), %eax      # 0xc23c
movl %eax, %ecx
andl $0x1f, %ecx
cmpl $0x4, %ecx
je 0x58b8
testb $0x9, %al
sete %cl
andl $0x10, %eax
shrl $0x4, %eax
orb %cl, %al
je 0x5396
xorl %edi, %edi
xorl %esi, %esi
movl $0x2, %edx
callq 0x21a0
testb $0x10, 0x6eac(%rip)     # 0xc23c
jne 0x58b8
callq 0x2100
movl %eax, %ebx
callq 0x6b25
movl 0x6ec0(%rip), %edi      # 0xc268
cmpl %eax, %ebx
jne 0x5b15
callq 0x2370
movl 0x34(%r14), %ebp
leaq 0x1b8(%rsp), %r14
movq %r14, %rdi
callq 0x2290
leaq 0x138(%rsp), %rdx
movl $0x2, %edi
movq %r14, %rsi
callq 0x2040
cmpb $0x0, 0xbf8c(%rip)      # 0x11371
jne 0x5430
xorl %r15d, %r15d
leaq 0xbf3f(%rip), %r12      # 0x11330
leaq 0xa0(%rsp), %r14
movb $0x0, (%r15,%r12)
leal 0x1(%r15), %edi
xorl %esi, %esi
movq %r14, %rdx
callq 0x20b0
testl %eax, %eax
js 0x5420
cmpq $0x1, 0xa0(%rsp)
jne 0x5420
movb $0x1, (%r15,%r12)
incq %r15
cmpq $0x40, %r15
jne 0x53f9
movb $0x1, 0xbf41(%rip)      # 0x11371
cmpq $0x0, 0x8(%rbx)
je 0x5676
movl $0x1, %r12d
cmpq $0x0, 0x10(%rbx)
je 0x573f
leaq 0x8(%rsp), %rdi
movl $0x98, %edx
xorl %esi, %esi
callq 0x21b0
leaq 0x10(%rsp), %rdi
callq 0x2250
movq 0x8(%rbx), %r14
movzbl (%r14), %ebp
cmpl $0x2d, %ebp
je 0x549e
cmpl $0x2b, %ebp
jne 0x573f
leaq 0x3fef(%rip), %rsi      # 0x9473
movq %r14, %rdi
callq 0x2230
testl %eax, %eax
je 0x5998
cmpb $0x2d, %bpl
jne 0x573f
leaq 0x3fb6(%rip), %rsi      # 0x945b
movq %r14, %rdi
callq 0x2230
testl %eax, %eax
jne 0x573f
xorl %eax, %eax
jmp 0x599d
movl 0x6d76(%rip), %eax      # 0xc238
cmpl $0x2, %eax
jl 0x555d
addq $0x8, 0x6d5d(%rip)      # 0xc230
decl %eax
movl %eax, 0x6d5d(%rip)      # 0xc238
jmp 0x58ae
leaq 0x3dcb(%rip), %rdi      # 0x92b2
callq 0x2030
leaq 0x3f56(%rip), %r14      # 0x9449
testq %rax, %rax
je 0x55a1
cmpb $0x0, (%rax)
je 0x55a1
movq %rax, %rdi
callq 0x2140
cmpl $-0x1, %eax
je 0x559a
cmpl $-0x1, %ebp
je 0x57bd
cmpl $0xc, %ebp
je 0x5551
movl %ebp, %edi
movl $0xc, %esi
callq 0x2160
movl %eax, 0x6cca(%rip)      # 0xc200
cmpl $0xc, %eax
jne 0x5551
movl $0xc, %edi
movl $0x2, %esi
movl $0x1, %edx
xorl %eax, %eax
callq 0x20d0
movl %ebp, %edi
callq 0x21d0
jmp 0x58ae
leaq 0x3ec0(%rip), %r15      # 0x9424
callq 0x6b0f
movq 0x28(%r14), %rcx
movq (%rcx), %rcx
leaq 0x3dc2(%rip), %rsi      # 0x9339
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rdx
movq %r15, %r8
xorl %eax, %eax
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x68c8
leaq 0x3e9a(%rip), %r14      # 0x943b
cmpl $-0x1, %ebp
je 0x55ad
movl %ebp, %edi
callq 0x21d0
callq 0x6b0f
movq (%rbx), %rcx
leaq 0x3d7d(%rip), %rsi      # 0x9339
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rdx
movq %r14, %r8
jmp 0x5582
cmpb $0x3d, %dl
je 0x57f4
cmpb $0x0, (%rdi)
je 0x57f4
testq %rax, %rax
leaq 0x3cee(%rip), %rsi      # 0x92d3
cmovneq %rax, %rsi
movl $0x1, %edx
callq 0x20e0
cmpl $-0x1, %eax
jne 0x58ae
callq 0x2100
movl %eax, %ebx
callq 0x6b25
cmpl %eax, %ebx
movl $0x2, %eax
movl $0x7c, %ebx
cmovel %eax, %ebx
callq 0x6b0f
leaq 0x3d1a(%rip), %rsi      # 0x933d
leaq 0x3caa(%rip), %rcx      # 0x92d4
movl %ebx, %edi
movq %rax, %rdx
xorl %eax, %eax
callq 0x68c8
jmp 0x58ae
movq 0x94c6(%rip), %r14      # 0xeb08
testq %r14, %r14
je 0x58ae
leaq 0x3daa(%rip), %rbx      # 0x93fc
movq 0x8(%r14), %rdx
movq 0x10(%r14), %rcx
movl $0x1, %edi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x6a82
movq (%r14), %r14
testq %r14, %r14
jne 0x5652
jmp 0x58ae
leaq 0xa0(%rsp), %r14
leaq 0xbcab(%rip), %r13      # 0x11330
xorl %r12d, %r12d
movq %r12, %r15
incq %r12
movl %r12d, %edi
xorl %esi, %esi
movq %r14, %rdx
callq 0x20b0
testl %eax, %eax
js 0x5732
cmpq $0x1, 0xa0(%rsp)
jne 0x5732
cmpb $0x1, (%r15,%r13)
jne 0x5719
testb $0x40, %bpl
jne 0x5701
cmpl $0xf, %r12d
je 0x5707
cmpl $0x3, %r12d
je 0x56ef
cmpl $0x2, %r12d
jne 0x5732
testb $0x1, 0xbc9c(%rip)      # 0x11374
je 0x56e3
testb $0x1, 0x6b6b(%rip)      # 0xc24c
jne 0x5719
cmpl $0xf, %r12d
je 0x5707
cmpl $0x3, %r12d
jne 0x5732
testb $0x2, 0xbc7e(%rip)      # 0x11374
je 0x5701
testb $0x2, 0x6b4d(%rip)      # 0xc24c
jne 0x5719
cmpq $0xe, %r15
jne 0x5732
testb $0x4, 0xbc66(%rip)      # 0x11374
je 0x5732
testb $0x4, 0x6b35(%rip)      # 0xc24c
je 0x5732
movq (%rbx), %rdx
movl $0x1, %edi
leaq 0x3d4d(%rip), %rsi      # 0x9475
movl %r12d, %ecx
xorl %eax, %eax
callq 0x6a82
cmpq $0x40, %r12
jne 0x5688
xorl %r12d, %r12d
leaq 0x138(%rsp), %rsi
movl $0x2, %edi
xorl %edx, %edx
callq 0x2040
cmpl $0x1, %r12d
je 0x5793
testl %r12d, %r12d
je 0x58ae
callq 0x6b0f
movq (%rbx), %rcx
movl %r12d, %edx
movq (%rbx,%rdx,8), %r8
leaq 0x3bbd(%rip), %rsi      # 0x9335
leaq 0x3d00(%rip), %r9       # 0x947f
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rdx
xorl %eax, %eax
callq 0x68c8
jmp 0x58b8
callq 0x6b0f
movq (%rbx), %rcx
leaq 0x3b97(%rip), %rsi      # 0x9339
leaq 0x3d02(%rip), %r8       # 0x94ab
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rdx
xorl %eax, %eax
callq 0x68c8
jmp 0x58b8
movl 0x6a3d(%rip), %edi      # 0xc200
callq 0x21d0
cmpl $-0x1, %eax
je 0x58ae
movl $0xffffffff, 0x6a25(%rip) # imm = 0xFFFFFFFF
jmp 0x58ae
cmpb $0x3d, %cl
je 0x57f4
cmpb $0x0, (%rdi)
je 0x57f4
callq 0x2360
jmp 0x58ae
callq 0x6b0f
movq 0x28(%r14), %rdx
movq (%rdx), %rcx
movq 0x8(%rdx), %r8
leaq 0x3b2a(%rip), %rsi      # 0x9335
leaq 0x3be1(%rip), %r9       # 0x93f3
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rax, %rdx
xorl %eax, %eax
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x68c8
testq %rax, %rax
je 0x5889
movb (%rax), %cl
movl %ecx, %edx
andb $-0x8, %dl
xorl %edi, %edi
cmpb $0x30, %dl
jne 0x5865
leaq 0x1(%rax), %rdx
xorl %edi, %edi
addb $-0x30, %cl
movzbl %cl, %ecx
leal (%rcx,%rdi,8), %edi
movb (%rdx), %cl
movl %ecx, %esi
andb $-0x8, %sil
incq %rdx
cmpb $0x30, %sil
je 0x584b
cmpb $0x0, (%rax)
je 0x593d
testb %cl, %cl
jne 0x593d
cmpl $0x200, %edi            # imm = 0x200
jae 0x593d
callq 0x2260
jmp 0x58ae
xorl %edi, %edi
callq 0x2260
movl %eax, %ebx
movl %eax, %edi
callq 0x2260
leaq 0x3b8c(%rip), %rsi      # 0x942c
movl $0x1, %edi
movl %ebx, %edx
xorl %eax, %eax
callq 0x6a82
movl $0x0, 0x69b0(%rip)      # 0xc268
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl 0x6930(%rip), %edi      # 0xc200
cmpl $-0x1, %edi
je 0x5960
leaq 0x8(%rsp), %rsi
callq 0x2390
testl %eax, %eax
js 0x5913
movl $0xf000, %eax           # imm = 0xF000
andl 0x20(%rsp), %eax
cmpl $0x4000, %eax           # imm = 0x4000
jne 0x5913
cmpq $0x0, 0x18(%rsp)
je 0x5913
movl 0x68fb(%rip), %edi      # 0xc200
callq 0x22f0
cmpl $-0x1, %eax
jne 0x5516
movl 0x68e7(%rip), %edi      # 0xc200
callq 0x21d0
leaq 0x3b16(%rip), %r14      # 0x943b
cmpl $-0x1, %eax
je 0x55a1
movl $0xffffffff, 0x68c8(%rip) # imm = 0xFFFFFFFF
jmp 0x55a1
callq 0x6b0f
movq 0x28(%r14), %rdx
movq (%rdx), %rcx
movq 0x8(%rdx), %r8
leaq 0x39e1(%rip), %rsi      # 0x9335
leaq 0x3ad7(%rip), %r9       # 0x9432
jmp 0x5812
leaq 0x3af6(%rip), %r14      # 0x945d
jmp 0x55a1
movq %r15, %rdi
callq 0x48f8
testq %rax, %rax
je 0x58ae
leaq 0x3a7b(%rip), %rsi      # 0x93ff
movl $0x1, %edi
movq %rax, %rdx
xorl %eax, %eax
callq 0x6a82
jmp 0x58ae
movl $0x1, %eax
movq %rax, 0x8(%rsp)
movl $0x10000000, 0x90(%rsp) # imm = 0x10000000
movq 0x10(%rbx), %rbp
testq %rbp, %rbp
je 0x573c
movl $0x2, %r13d
callq 0x2070
movq %rax, %r14
movq %rsp, %r15
movl $0x0, (%r14)
movq %rbp, %rdi
movq %r15, %rsi
movl $0xa, %edx
callq 0x2280
cmpl $0x0, (%r14)
jne 0x5b01
movq %rax, %rbp
movq (%rbx,%r13,8), %rax
cmpb $0x0, (%rax)
je 0x5b01
movq (%rsp), %rax
cmpb $0x0, (%rax)
jne 0x5b01
leaq -0x41(%rbp), %rax
cmpq $-0x40, %rax
jb 0x5b01
movl %ebp, %edi
xorl %esi, %esi
leaq 0xa0(%rsp), %rdx
callq 0x20b0
testl %eax, %eax
js 0x5a3e
movq 0x8(%rsp), %rsi
movq 0xa0(%rsp), %rax
orq %rsi, %rax
jne 0x5a57
movq 0x8(%rbx,%r13,8), %rbp
incq %r13
xorl %r12d, %r12d
testq %rbp, %rbp
jne 0x59cb
jmp 0x573f
leal -0x1(%rbp), %eax
leaq 0xb8cf(%rip), %rcx      # 0x11330
cmpb $0x1, (%rax,%rcx)
jne 0x5a76
movl %ebp, %edi
callq 0x6615
cmpq $0x0, 0x8(%rsp)
je 0x5a3e
cmpb $0x1, 0x67cb(%rip)      # 0xc248
jne 0x5ac0
cmpq $0x1, %rbp
jne 0x5ac0
cmpq $0x0, 0x8(%rsp)
jne 0x5ac0
leaq -0x2efb(%rip), %rax     # 0x2b99
cmpq %rax, 0xa0(%rsp)
je 0x5a3e
movl $0x1, %r12d
movl $0x1, %edi
leaq -0x2f17(%rip), %rsi     # 0x2b99
callq 0x81f0
cmpq $-0x1, %rax
jne 0x5a3e
jmp 0x573f
cmpq $0x9, %rbp
sete %al
movl %ebp, %ecx
andl $0x7d, %ecx
cmpl $0x11, %ecx
sete %cl
orb %al, %cl
jne 0x5a3e
movl %ebp, %edi
leaq 0x8(%rsp), %rsi
xorl %edx, %edx
callq 0x20b0
testl %eax, %eax
js 0x5a3e
movq 0x8(%rsp), %rsi
movl %ebp, %edi
callq 0x6615
jmp 0x5a3e
movl %r13d, %r12d
jmp 0x573f
movq 0x8f98(%rip), %r15      # 0xeaa8
jmp 0x5564
callq 0x2080