// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x5665
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
cmpq $0x0, (%rax)
jne 0x568c
callq 0x8df0
movq %rax, %rdx
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
leaq 0x6128(%rip), %rsi      # 0xb7a1
leaq 0x61bd(%rip), %rcx      # 0xb83d
movb $0x0, %al
callq 0x8af0
jmp 0x604b
movq -0x8(%rbp), %rax
movl 0x30(%rax), %eax
movq %rax, -0x38(%rbp)
subq $0x13, %rax
ja 0x6016
movq -0x38(%rbp), %rax
leaq 0x5f30(%rip), %rcx      # 0xb5dc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x0, 0x8ba9(%rip)      # 0xe268
jmp 0x604b
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x589a
movb $0x1, -0x29(%rbp)
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x5726
movq -0x28(%rbp), %rax
movsbl (%rax), %edi
leaq 0x5fd1(%rip), %rsi      # 0xb6d6
callq 0x4460
testb $0x1, %al
jne 0x5710
jmp 0x5716
movb $0x0, -0x29(%rbp)
jmp 0x5726
jmp 0x5718
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x56eb
testb $0x1, -0x29(%rbp)
je 0x57b2
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x57b2
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
movsbl 0x5f41(%rip), %ecx      # 0xb69b
cmpl %ecx, %eax
jne 0x577b
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rdi
leaq 0x5f2a(%rip), %rsi      # 0xb69b
callq 0x2230
cmpl $0x0, %eax
je 0x57b2
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
movsbl 0x5f08(%rip), %ecx      # 0xb699
cmpl %ecx, %eax
jne 0x57f0
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rdi
leaq 0x5ef1(%rip), %rsi      # 0xb699
callq 0x2230
cmpl $0x0, %eax
jne 0x57f0
callq 0x8df0
movq %rax, %rdx
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq (%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %r8
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
leaq 0x5fbc(%rip), %rsi      # 0xb799
leaq 0x6073(%rip), %r9       # 0xb857
movb $0x0, %al
callq 0x8af0
jmp 0x604b
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
cmpq $0x0, 0x10(%rax)
je 0x5864
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
cmpq $0x0, 0x18(%rax)
je 0x581e
leaq 0x5f7a(%rip), %rax      # 0xb78f
movq %rax, -0x20(%rbp)
jmp 0x6021
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x10(%rax), %rdi
callq 0x5180
cmpq $0x0, %rax
jne 0x5845
movq 0xb26c(%rip), %rax      # 0x10aa8
movq %rax, -0x20(%rbp)
jmp 0x6021
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x7910
jmp 0x5898
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x5100
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
je 0x5896
movq -0x28(%rbp), %rdx
movl $0x1, %edi
leaq 0x5fd4(%rip), %rsi      # 0xb863
movb $0x0, %al
callq 0x8d40
jmp 0x5898
jmp 0x58de
movq 0xb267(%rip), %rax      # 0x10b08
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x58dc
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rcx
movl $0x1, %edi
leaq 0x5f98(%rip), %rsi      # 0xb860
movb $0x0, %al
callq 0x8d40
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x58a5
jmp 0x58de
movl $0x0, 0x8980(%rip)      # 0xe268
jmp 0x604b
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x7aa0
jmp 0x604b
movl 0x8937(%rip), %eax      # 0xe23c
andl $0x1f, %eax
cmpl $0x4, %eax
je 0x59a5
movl 0x8925(%rip), %eax      # 0xe23c
andl $0x9, %eax
cmpl $0x0, %eax
je 0x5959
movl 0x8917(%rip), %eax      # 0xe23c
andl $0x10, %eax
cmpl $0x0, %eax
jne 0x5959
callq 0x2100
movl %eax, -0x3c(%rbp)
callq 0x8e20
movl %eax, %ecx
movl -0x3c(%rbp), %eax
cmpl %ecx, %eax
jne 0x594e
movl 0x891f(%rip), %edi      # 0xe268
callq 0x2370
movl 0x8914(%rip), %edi      # 0xe268
callq 0x2080
xorl %edi, %edi
xorl %eax, %eax
movl %eax, %esi
movl $0x2, %edx
callq 0x21a0
movl 0x88cd(%rip), %eax      # 0xe23c
andl $0x10, %eax
cmpl $0x0, %eax
jne 0x59a3
callq 0x2100
movl %eax, -0x40(%rbp)
callq 0x8e20
movl %eax, %ecx
movl -0x40(%rbp), %eax
cmpl %ecx, %eax
jne 0x5998
movl 0x88d5(%rip), %edi      # 0xe268
callq 0x2370
movl 0x88ca(%rip), %edi      # 0xe268
callq 0x2080
jmp 0x59a5
jmp 0x604b
movl 0x888c(%rip), %eax      # 0xe23c
andl $0x1f, %eax
cmpl $0x4, %eax
jne 0x5a23
movq -0x8(%rbp), %rax
movl 0x30(%rax), %edx
leaq 0x5eb2(%rip), %rax      # 0xb878
leaq 0x5e9c(%rip), %rcx      # 0xb869
cmpl $0xa, %edx
cmoveq %rcx, %rax
movq %rax, -0x28(%rbp)
movl $0x2, %edi
xorl %eax, %eax
movl %eax, %esi
callq 0xac70
movl $0x3, %edi
xorl %eax, %eax
movl %eax, %esi
callq 0xac70
movq -0x28(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rsi
callq 0xa600
movl $0x2, %edi
movl $0x1, %esi
callq 0xac70
movl $0x3, %edi
movl $0x1, %esi
callq 0xac70
leaq 0x5d7f(%rip), %rax      # 0xb7a9
movq %rax, -0x20(%rbp)
jmp 0x6021
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x5bb8
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
cmpq $0x0, 0x10(%rax)
je 0x5a68
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
cmpq $0x0, 0x18(%rax)
jne 0x5bb8
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x3d, %ecx
movb %al, -0x41(%rbp)
je 0x5a99
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
setne %al
movb %al, -0x41(%rbp)
movb -0x41(%rbp), %al
testb $0x1, %al
jne 0x5aa2
jmp 0x5ab2
jmp 0x5aa4
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x5a78
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x5ad2
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3d, %eax
jne 0x5b10
callq 0x8df0
movq %rax, %rdx
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq (%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %r8
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
leaq 0x5c9c(%rip), %rsi      # 0xb799
leaq 0x5d53(%rip), %r9       # 0xb857
movb $0x0, %al
callq 0x8af0
jmp 0x604b
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
cmpq $0x0, 0x10(%rax)
je 0x5b31
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x50(%rbp)
jmp 0x5b3e
leaq 0x5bff(%rip), %rax      # 0xb737
movq %rax, -0x50(%rbp)
jmp 0x5b3e
movq -0x50(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rdi
movq -0x28(%rbp), %rsi
movl $0x1, %edx
callq 0x20e0
cmpl $-0x1, %eax
jne 0x5ba9
callq 0x2100
movl %eax, -0x58(%rbp)
callq 0x8e20
movl -0x58(%rbp), %edx
movl %eax, %esi
movl $0x7c, %eax
movl $0x2, %ecx
cmpl %esi, %edx
cmovel %ecx, %eax
movl %eax, -0x54(%rbp)
callq 0x8df0
movl -0x54(%rbp), %edi
movq %rax, %rdx
leaq 0x5c06(%rip), %rsi      # 0xb7a1
leaq 0x5b96(%rip), %rcx      # 0xb738
movb $0x0, %al
callq 0x8af0
movl $0x0, 0x86b5(%rip)      # 0xe268
jmp 0x604b
leaq 0x5bd0(%rip), %rax      # 0xb78f
movq %rax, -0x20(%rbp)
jmp 0x6021
cmpl $0x1, 0x8669(%rip)      # 0xe238
jle 0x5c01
movq 0x8658(%rip), %rax      # 0xe230
addq $0x8, %rax
movq %rax, 0x864d(%rip)      # 0xe230
movl 0x864f(%rip), %eax      # 0xe238
addl $-0x1, %eax
movl %eax, 0x8646(%rip)      # 0xe238
movl $0x0, 0x866c(%rip)      # 0xe268
jmp 0x604b
leaq 0x5c80(%rip), %rax      # 0xb888
movq %rax, -0x20(%rbp)
jmp 0x6021
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
movq -0x8(%rbp), %rax
movl 0x34(%rax), %esi
callq 0x7c80
jmp 0x604b
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x5c4b
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x81d0
jmp 0x604b
leaq 0x5b3d(%rip), %rax      # 0xb78f
movq %rax, -0x20(%rbp)
jmp 0x6021
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x5c89
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
cmpq $0x0, 0x10(%rax)
je 0x5c89
leaq 0x5b0f(%rip), %rax      # 0xb78f
movq %rax, -0x20(%rbp)
jmp 0x6021
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
cmpq $0x0, 0x8(%rax)
jne 0x5cc4
xorl %edi, %edi
callq 0x2260
movl %eax, %edi
movl %edi, -0x14(%rbp)
callq 0x2260
movl -0x14(%rbp), %edx
movl $0x1, %edi
leaq 0x5bd8(%rip), %rsi      # 0xb890
movb $0x0, %al
callq 0x8d40
jmp 0x5d97
movl $0x0, -0x14(%rbp)
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x30, %ecx
movb %al, -0x59(%rbp)
jl 0x5cfc
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x37, %eax
setle %al
movb %al, -0x59(%rbp)
movb -0x59(%rbp), %al
testb $0x1, %al
jne 0x5d05
jmp 0x5d28
movl -0x14(%rbp), %eax
shll $0x3, %eax
movq -0x28(%rbp), %rcx
movsbl (%rcx), %ecx
subl $0x30, %ecx
addl %ecx, %eax
movl %eax, -0x14(%rbp)
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x5cdb
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x5d51
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x5d51
cmpl $0x1ff, -0x14(%rbp)     # imm = 0x1FF
jbe 0x5d8f
callq 0x8df0
movq %rax, %rdx
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq (%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %r8
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
leaq 0x5a1d(%rip), %rsi      # 0xb799
leaq 0x5b13(%rip), %r9       # 0xb896
movb $0x0, %al
callq 0x8af0
jmp 0x604b
movl -0x14(%rbp), %edi
callq 0x2260
movl $0x0, 0x84c7(%rip)      # 0xe268
jmp 0x604b
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x5f05
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
cmpq $0x0, 0x10(%rax)
jne 0x5f05
movb $0x1, -0x29(%rbp)
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x5e1b
movq -0x28(%rbp), %rax
movsbl (%rax), %edi
leaq 0x58dc(%rip), %rsi      # 0xb6d6
callq 0x4460
testb $0x1, %al
jne 0x5e05
jmp 0x5e0b
movb $0x0, -0x29(%rbp)
jmp 0x5e1b
jmp 0x5e0d
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x5de0
testb $0x1, -0x29(%rbp)
je 0x5ea7
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x5ea7
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
movsbl 0x584c(%rip), %ecx      # 0xb69b
cmpl %ecx, %eax
jne 0x5e70
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rdi
leaq 0x5835(%rip), %rsi      # 0xb69b
callq 0x2230
cmpl $0x0, %eax
je 0x5ea7
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
movsbl 0x5813(%rip), %ecx      # 0xb699
cmpl %ecx, %eax
jne 0x5ee5
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rdi
leaq 0x57fc(%rip), %rsi      # 0xb699
callq 0x2230
cmpl $0x0, %eax
jne 0x5ee5
callq 0x8df0
movq %rax, %rdx
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq (%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %r8
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
leaq 0x58c7(%rip), %rsi      # 0xb799
leaq 0x597e(%rip), %r9       # 0xb857
movb $0x0, %al
callq 0x8af0
jmp 0x604b
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x3420
movl $0x0, 0x8368(%rip)      # 0xe268
jmp 0x604b
leaq 0x5883(%rip), %rax      # 0xb78f
movq %rax, -0x20(%rbp)
jmp 0x6021
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x5ffd
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
cmpq $0x0, 0x10(%rax)
jne 0x5ffd
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x3d, %ecx
movb %al, -0x5a(%rbp)
je 0x5f6c
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
setne %al
movb %al, -0x5a(%rbp)
movb -0x5a(%rbp), %al
testb $0x1, %al
jne 0x5f75
jmp 0x5f85
jmp 0x5f77
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x5f4b
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x5fa5
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3d, %eax
jne 0x5fe0
callq 0x8df0
movq %rax, %rdx
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq (%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %r8
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
leaq 0x57c9(%rip), %rsi      # 0xb799
leaq 0x5880(%rip), %r9       # 0xb857
movb $0x0, %al
callq 0x8af0
jmp 0x604b
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x2360
movl $0x0, 0x826d(%rip)      # 0xe268
jmp 0x604b
leaq 0x578b(%rip), %rax      # 0xb78f
movq %rax, -0x20(%rbp)
jmp 0x6021
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x6060
jmp 0x604b
leaq 0x578c(%rip), %rax      # 0xb7a9
movq %rax, -0x20(%rbp)
callq 0x8df0
movq %rax, %rdx
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq (%rax), %rcx
movq -0x20(%rbp), %r8
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
leaq 0x5759(%rip), %rsi      # 0xb79d
movb $0x0, %al
callq 0x8af0
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)