	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_main                           ## -- Begin function main
	.p2align	4, 0x90
_main:                                  ## @main
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$232, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %r12
	movl	%edi, %ebx
	movq	%rsp, -192(%rbp)                ## 8-byte Spill
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	movq	_openpam_ttyconv@GOTPCREL(%rip), %rax
	movslq	(%rax), %rax
	movq	%rax, -240(%rbp)
	movl	$0, -232(%rbp)
	movq	_MAXPATHLEN@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	%rax, -120(%rbp)                ## 8-byte Spill
	callq	____chkstk_darwin
	addq	$15, %rax
	andq	$-16, %rax
	subq	%rax, %rsp
	movq	%rsp, -80(%rbp)                 ## 8-byte Spill
	movq	$0, _main.cleanenv(%rip)
	movl	$0, -68(%rbp)
	movq	_UNSET@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -60(%rbp)                 ## 4-byte Spill
	leaq	L_.str.1(%rip), %rdx
	movq	%rbx, %r14
	movl	%ebx, %edi
	movq	%r12, %rsi
	callq	_getopt
	cmpl	$-1, %eax
	je	LBB0_13
## %bb.1:
	leaq	LJTI0_0(%rip), %r15
	xorl	%ecx, %ecx
	movq	%rcx, -104(%rbp)                ## 8-byte Spill
	movl	$0, -108(%rbp)                  ## 4-byte Folded Spill
	xorl	%r13d, %r13d
	movl	$0, -64(%rbp)                   ## 4-byte Folded Spill
	xorl	%ecx, %ecx
	movq	%rcx, -88(%rbp)                 ## 8-byte Spill
	jmp	LBB0_6
LBB0_10:                                ##   in Loop: Header=BB0_6 Depth=1
	xorl	%eax, %eax
	callq	_usage
	.p2align	4, 0x90
LBB0_4:                                 ##   in Loop: Header=BB0_6 Depth=1
	movl	%r13d, %ecx
LBB0_5:                                 ##   in Loop: Header=BB0_6 Depth=1
	movl	%r14d, %edi
	movq	%r12, %rsi
	leaq	L_.str.1(%rip), %rdx
	movl	%ecx, %ebx
	callq	_getopt
	movl	%ebx, %ecx
	movl	%ebx, %r13d
	cmpl	$-1, %eax
	je	LBB0_14
LBB0_6:                                 ## =>This Inner Loop Header: Depth=1
	movsbl	%al, %ecx
	leal	-99(%rcx), %eax
	cmpl	$16, %eax
	ja	LBB0_9
## %bb.7:                               ##   in Loop: Header=BB0_6 Depth=1
	movl	$1, %ecx
	movslq	(%r15,%rax,4), %rax
	addq	%r15, %rax
	jmpq	*%rax
LBB0_8:                                 ##   in Loop: Header=BB0_6 Depth=1
	movq	_optarg@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -104(%rbp)                ## 8-byte Spill
	jmp	LBB0_4
	.p2align	4, 0x90
LBB0_9:                                 ##   in Loop: Header=BB0_6 Depth=1
	cmpl	$45, %ecx
	jne	LBB0_10
LBB0_2:                                 ##   in Loop: Header=BB0_6 Depth=1
	movl	$1, -64(%rbp)                   ## 4-byte Folded Spill
	xorl	%eax, %eax
	jmp	LBB0_3
LBB0_11:                                ##   in Loop: Header=BB0_6 Depth=1
	movl	$0, -64(%rbp)                   ## 4-byte Folded Spill
	movl	$1, %eax
LBB0_3:                                 ##   in Loop: Header=BB0_6 Depth=1
	movq	%rax, -88(%rbp)                 ## 8-byte Spill
	jmp	LBB0_4
LBB0_12:                                ##   in Loop: Header=BB0_6 Depth=1
	movl	$1, -108(%rbp)                  ## 4-byte Folded Spill
	jmp	LBB0_4
LBB0_13:
	xorl	%eax, %eax
	movq	%rax, -88(%rbp)                 ## 8-byte Spill
	movl	$0, -64(%rbp)                   ## 4-byte Folded Spill
	xorl	%ecx, %ecx
	movl	$0, -108(%rbp)                  ## 4-byte Folded Spill
	xorl	%eax, %eax
	movq	%rax, -104(%rbp)                ## 8-byte Spill
LBB0_14:
	movq	_optind@GOTPCREL(%rip), %r15
	movslq	(%r15), %rax
	cmpl	%r14d, %eax
	movl	%ecx, -156(%rbp)                ## 4-byte Spill
	jge	LBB0_17
## %bb.15:
	leal	1(%rax), %ecx
	movl	%ecx, (%r15)
	movq	(%r12,%rax,8), %r13
	testq	%r13, %r13
	jne	LBB0_18
## %bb.16:
	xorl	%r13d, %r13d
	xorl	%eax, %eax
	callq	_usage
	jmp	LBB0_18
LBB0_17:
	leaq	L_.str(%rip), %r13
LBB0_18:
	xorl	%eax, %eax
	callq	_geteuid
	testq	%rax, %rax
	je	LBB0_20
## %bb.19:
	leaq	L_.str.2(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_errx
LBB0_20:
	movq	%r13, %rdi
	callq	_strlen
	movq	_MAXLOGNAME@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jl	LBB0_22
## %bb.21:
	leaq	L_.str.3(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_errx
LBB0_22:
	leal	32(,%r14,8), %edi
	callq	_malloc
	movq	%rax, %rbx
	testq	%rax, %rax
	jne	LBB0_24
## %bb.23:
	leaq	L_.str.4(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_errx
LBB0_24:
	movq	%r14, %rcx
	movslq	%ecx, %r14
	movq	$0, 24(%rbx,%r14,8)
	movslq	(%r15), %rax
	cmpl	%ecx, %eax
	movq	%r13, -96(%rbp)                 ## 8-byte Spill
	movq	%rbx, -152(%rbp)                ## 8-byte Spill
	jle	LBB0_26
## %bb.25:
	addq	$3, %r14
	jmp	LBB0_38
LBB0_26:
	movq	%rax, %rcx
	negq	%rcx
	leaq	(%r14,%rcx), %r10
	incq	%r10
	cmpq	$4, %r10
	jb	LBB0_35
## %bb.27:
	leaq	(%r12,%r14,8), %rcx
	leaq	(%rbx,%r14,8), %rdi
	subq	%rdi, %rcx
	addq	$-24, %rcx
	cmpq	$32, %rcx
	jb	LBB0_35
## %bb.28:
	movq	%r10, %r8
	andq	$-4, %r8
	leaq	-4(%r8), %rcx
	movq	%rcx, %r9
	shrq	$2, %r9
	incq	%r9
	testq	%rcx, %rcx
	je	LBB0_142
## %bb.29:
	movq	%r9, %rsi
	andq	$-2, %rsi
	leaq	(%r12,%r14,8), %rcx
	addq	$-8, %rcx
	xorl	%edx, %edx
	.p2align	4, 0x90
LBB0_30:                                ## =>This Inner Loop Header: Depth=1
	movups	-16(%rcx,%rdx,8), %xmm0
	movups	(%rcx,%rdx,8), %xmm1
	movups	%xmm1, 16(%rdi,%rdx,8)
	movups	%xmm0, (%rdi,%rdx,8)
	movups	-48(%rcx,%rdx,8), %xmm0
	movups	-32(%rcx,%rdx,8), %xmm1
	movups	%xmm1, -16(%rdi,%rdx,8)
	movups	%xmm0, -32(%rdi,%rdx,8)
	addq	$-8, %rdx
	addq	$-2, %rsi
	jne	LBB0_30
## %bb.31:
	negq	%rdx
	testb	$1, %r9b
	je	LBB0_33
LBB0_32:
	movq	%r14, %rcx
	subq	%rdx, %rcx
	movups	-24(%r12,%rcx,8), %xmm0
	movups	-8(%r12,%rcx,8), %xmm1
	movups	%xmm1, 16(%rbx,%rcx,8)
	movups	%xmm0, (%rbx,%rcx,8)
LBB0_33:
	subq	%r8, %r14
	cmpq	%r8, %r10
	jne	LBB0_35
## %bb.34:
	incq	%r14
	jmp	LBB0_37
LBB0_35:
	incq	%r14
	.p2align	4, 0x90
LBB0_36:                                ## =>This Inner Loop Header: Depth=1
	movq	-8(%r12,%r14,8), %rcx
	movq	%rcx, 16(%rbx,%r14,8)
	decq	%r14
	cmpq	%rax, %r14
	jg	LBB0_36
LBB0_37:
	addl	$2, %r14d
	movslq	%r14d, %r14
LBB0_38:
	movq	_errno@GOTPCREL(%rip), %rbx
	movq	$0, (%rbx)
	movq	_PRIO_PROCESS@GOTPCREL(%rip), %r12
	movl	(%r12), %edi
	xorl	%r15d, %r15d
	xorl	%esi, %esi
	callq	_getpriority
	cmpq	$0, (%rbx)
	cmovnel	%r15d, %eax
	movl	%eax, -128(%rbp)                ## 4-byte Spill
	movl	(%r12), %edi
	xorl	%esi, %esi
	movl	$-2, %edx
	callq	_setpriority
	movq	_LOG_CONS@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_LOG_AUTH@GOTPCREL(%rip), %r13
	movl	(%r13), %edx
	leaq	L_.str.5(%rip), %rdi
	callq	_openlog
	xorl	%eax, %eax
	callq	_getuid
	movq	%rax, -136(%rbp)                ## 8-byte Spill
	xorl	%eax, %eax
	callq	_getlogin
	testq	%rax, %rax
	je	LBB0_41
## %bb.39:
	movq	%rax, %rdi
	callq	_getpwnam
	testq	%rax, %rax
	je	LBB0_41
## %bb.40:
	movq	%rax, %rbx
	movq	-136(%rbp), %rax                ## 8-byte Reload
	cmpq	%rax, (%rbx)
	je	LBB0_43
LBB0_41:
	movq	-136(%rbp), %rdi                ## 8-byte Reload
	callq	_getpwuid
	movq	%rax, %rbx
	testq	%rax, %rax
	jne	LBB0_43
## %bb.42:
	leaq	L_.str.6(%rip), %rsi
	xorl	%ebx, %ebx
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_errx
LBB0_43:
	movq	8(%rbx), %rdi
	callq	_strdup
	movq	%rax, %r15
	testq	%rax, %rax
	je	LBB0_49
## %bb.44:
	cmpl	$0, -88(%rbp)                   ## 4-byte Folded Reload
	je	LBB0_50
LBB0_45:
	movq	16(%rbx), %rsi
	testq	%rsi, %rsi
	je	LBB0_48
## %bb.46:
	cmpb	$0, (%rsi)
	je	LBB0_48
## %bb.47:
	movq	-80(%rbp), %rdi                 ## 8-byte Reload
	movq	-120(%rbp), %rdx                ## 8-byte Reload
                                        ## kill: def $edx killed $edx killed $rdx
	callq	_strlcpy
	jmp	LBB0_51
LBB0_48:
	movq	__PATH_BSHELL@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	movq	_NO@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -60(%rbp)                 ## 4-byte Spill
	jmp	LBB0_51
LBB0_49:
	leaq	L_.str.7(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
	cmpl	$0, -88(%rbp)                   ## 4-byte Folded Reload
	jne	LBB0_45
LBB0_50:
	xorl	%eax, %eax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
LBB0_51:
	movq	-96(%rbp), %rsi                 ## 8-byte Reload
	leaq	L_.str.5(%rip), %rdi
	movq	_pamh@GOTPCREL(%rip), %r12
	leaq	-240(%rbp), %rdx
	movq	%r12, %rcx
	callq	_pam_start
	movl	%eax, %ebx
	movq	_PAM_SUCCESS@GOTPCREL(%rip), %rax
	cmpl	(%rax), %ebx
	movq	%r15, -120(%rbp)                ## 8-byte Spill
	je	LBB0_53
## %bb.52:
	movq	_LOG_ERR@GOTPCREL(%rip), %rax
	movl	(%rax), %r15d
	movl	(%r12), %edi
	movl	%ebx, %esi
	callq	_pam_strerror
	leaq	L_.str.8(%rip), %r12
	movl	%r15d, %edi
	movq	-120(%rbp), %r15                ## 8-byte Reload
	movq	%r12, %rsi
	movq	%rax, %rdx
	xorl	%eax, %eax
	callq	_syslog
	movq	_pamh@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movl	%ebx, %esi
	callq	_pam_strerror
	movl	$1, %edi
	movq	%r12, %rsi
	movq	_pamh@GOTPCREL(%rip), %r12
	movq	%rax, %rdx
	xorl	%eax, %eax
	callq	_errx
LBB0_53:
	movq	_PAM_RUSER@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r15, %rsi
	callq	_PAM_SET_ITEM
	movq	_STDERR_FILENO@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_ttyname
	testq	%rax, %rax
	leaq	L_.str.9(%rip), %rbx
	cmovneq	%rax, %rbx
	movq	_PAM_TTY@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%rbx, %rsi
	callq	_PAM_SET_ITEM
	movl	(%r12), %edi
	xorl	%esi, %esi
	callq	_pam_authenticate
	movq	_PAM_SUCCESS@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	je	LBB0_55
## %bb.54:
	movq	_LOG_WARNING@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	orl	(%r13), %edi
	leaq	L_.str.10(%rip), %rsi
	movq	%r15, %rdx
	movq	-96(%rbp), %rcx                 ## 8-byte Reload
	movq	%rbx, %r8
	xorl	%eax, %eax
	callq	_syslog
	leaq	L_.str.11(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_errx
LBB0_55:
	movl	(%r12), %edi
	movq	_PAM_USER@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	leaq	-200(%rbp), %rdx
	callq	_pam_get_item
	movq	_PAM_SUCCESS@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jne	LBB0_57
## %bb.56:
	movq	-200(%rbp), %r13
	jmp	LBB0_58
LBB0_57:
	movq	_LOG_ERR@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ebx
	movl	(%r12), %edi
	movl	%eax, %esi
	callq	_pam_strerror
	leaq	L_.str.12(%rip), %rsi
	movl	%ebx, %edi
	movq	%rax, %rdx
	xorl	%eax, %eax
	callq	_syslog
	movq	-96(%rbp), %r13                 ## 8-byte Reload
LBB0_58:
	movq	%r13, %rdi
	callq	_getpwnam
	movq	%rax, %r15
	testq	%rax, %rax
	jne	LBB0_60
## %bb.59:
	leaq	L_.str.13(%rip), %rsi
	movl	$1, %edi
	movq	%r13, %rdx
	xorl	%eax, %eax
	callq	_errx
LBB0_60:
	movq	%r13, -96(%rbp)                 ## 8-byte Spill
	movl	(%r12), %edi
	xorl	%esi, %esi
	callq	_pam_acct_mgmt
	movl	%eax, %ebx
	movq	_PAM_NEW_AUTHTOK_REQD@GOTPCREL(%rip), %rax
	cmpl	(%rax), %ebx
	movq	-80(%rbp), %r13                 ## 8-byte Reload
	jne	LBB0_63
## %bb.61:
	movl	(%r12), %edi
	movq	_PAM_CHANGE_EXPIRED_AUTHTOK@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_pam_chauthtok
	movl	%eax, %ebx
	movq	_PAM_SUCCESS@GOTPCREL(%rip), %rax
	cmpl	(%rax), %ebx
	je	LBB0_63
## %bb.62:
	movq	_LOG_ERR@GOTPCREL(%rip), %rax
	movl	(%rax), %r12d
	movq	_pamh@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movl	%ebx, %esi
	callq	_pam_strerror
	leaq	L_.str.14(%rip), %rsi
	movl	%r12d, %edi
	movq	_pamh@GOTPCREL(%rip), %r12
	movq	%rax, %rdx
	xorl	%eax, %eax
	callq	_syslog
	leaq	L_.str.11(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_errx
LBB0_63:
	movq	_PAM_SUCCESS@GOTPCREL(%rip), %rax
	cmpl	(%rax), %ebx
	je	LBB0_65
## %bb.64:
	movq	_LOG_ERR@GOTPCREL(%rip), %rax
	movl	(%rax), %r12d
	movq	_pamh@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movl	%ebx, %esi
	callq	_pam_strerror
	leaq	L_.str.15(%rip), %rsi
	movl	%r12d, %edi
	movq	_pamh@GOTPCREL(%rip), %r12
	movq	%rax, %rdx
	xorl	%eax, %eax
	callq	_syslog
	leaq	L_.str.11(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_errx
LBB0_65:
	cmpq	$0, -104(%rbp)                  ## 8-byte Folded Reload
	je	LBB0_73
## %bb.66:
	cmpq	$0, -136(%rbp)                  ## 8-byte Folded Reload
	je	LBB0_68
## %bb.67:
	leaq	L_.str.16(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_errx
LBB0_68:
	movq	-104(%rbp), %rdi                ## 8-byte Reload
	callq	_login_getclass
	movq	%rax, %rbx
	testq	%rax, %rax
	jne	LBB0_70
## %bb.69:
	leaq	L_.str.17(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_70:
	movq	(%rbx), %rsi
	testq	%rsi, %rsi
	je	LBB0_72
## %bb.71:
	movq	-104(%rbp), %rdi                ## 8-byte Reload
	callq	_strcmp
	testq	%rax, %rax
	je	LBB0_74
LBB0_72:
	leaq	L_.str.18(%rip), %rsi
	movl	$1, %edi
	movq	-104(%rbp), %rdx                ## 8-byte Reload
	xorl	%eax, %eax
	callq	_errx
	jmp	LBB0_74
LBB0_73:
	movq	%r15, %rdi
	callq	_login_getpwclass
	movq	%rax, %rbx
LBB0_74:
	cmpl	$0, -88(%rbp)                   ## 4-byte Folded Reload
	movl	-60(%rbp), %eax                 ## 4-byte Reload
	je	LBB0_78
## %bb.75:
	cmpq	$0, -136(%rbp)                  ## 8-byte Folded Reload
	je	LBB0_85
## %bb.76:
	movq	16(%r15), %rdi
	callq	_chshell
	testl	%eax, %eax
	jne	LBB0_84
## %bb.83:
	leaq	L_.str.19(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_errx
LBB0_84:
	movl	-60(%rbp), %eax                 ## 4-byte Reload
	jmp	LBB0_85
LBB0_78:
	movq	16(%r15), %r13
	testq	%r13, %r13
	je	LBB0_81
## %bb.79:
	cmpb	$0, (%r13)
	je	LBB0_81
## %bb.80:
	movq	_UNSET@GOTPCREL(%rip), %rax
	jmp	LBB0_82
LBB0_81:
	movq	__PATH_BSHELL@GOTPCREL(%rip), %rax
	movq	(%rax), %r13
	movq	_NO@GOTPCREL(%rip), %rax
LBB0_82:
	movl	(%rax), %eax
LBB0_85:
	movq	_UNSET@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jne	LBB0_89
## %bb.86:
	movq	%r15, -184(%rbp)                ## 8-byte Spill
	movq	%r13, %rdi
	movl	$47, %esi
	callq	_strrchr
	movq	%r13, %rcx
	leaq	1(%rax), %r13
	testq	%rax, %rax
	movq	%rcx, %r15
	cmoveq	%rcx, %r13
	leaq	L_.str.20(%rip), %rsi
	movq	%r13, %rdi
	callq	_strcmp
	testq	%rax, %rax
	movq	%r13, -144(%rbp)                ## 8-byte Spill
	je	LBB0_90
## %bb.87:
	leaq	L_.str.21(%rip), %rsi
	movq	%r13, %rdi
	callq	_strcmp
	testq	%rax, %rax
	jne	LBB0_91
## %bb.88:
	movq	_YES@GOTPCREL(%rip), %rax
	jmp	LBB0_92
LBB0_89:
	movl	%eax, -60(%rbp)                 ## 4-byte Spill
	xorl	%eax, %eax
	movq	%rax, -144(%rbp)                ## 8-byte Spill
	jmp	LBB0_94
LBB0_90:
	movq	_YES@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -60(%rbp)                 ## 4-byte Spill
	movq	%r15, %r13
	jmp	LBB0_93
LBB0_91:
	movq	_NO@GOTPCREL(%rip), %rax
LBB0_92:
	movq	%r15, %r13
	movl	(%rax), %eax
	movl	%eax, -60(%rbp)                 ## 4-byte Spill
LBB0_93:
	movq	-184(%rbp), %r15                ## 8-byte Reload
LBB0_94:
	movq	_PRIO_PROCESS@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	xorl	%esi, %esi
	movl	-128(%rbp), %edx                ## 4-byte Reload
	callq	_setpriority
	movq	(%r15), %rdx
	movq	_LOGIN_SETGROUP@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	%rbx, -128(%rbp)                ## 8-byte Spill
	movq	%rbx, %rdi
	movq	%r15, %rsi
	callq	_setusercontext
	testq	%rax, %rax
	jns	LBB0_96
## %bb.95:
	leaq	L_.str.22(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_96:
	movl	(%r12), %edi
	movq	_PAM_ESTABLISH_CRED@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_pam_setcred
	movq	_PAM_SUCCESS@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	je	LBB0_98
## %bb.97:
	movq	_LOG_ERR@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ebx
	movl	(%r12), %edi
	movl	%eax, %esi
	callq	_pam_strerror
	leaq	L_.str.23(%rip), %rsi
	movl	%ebx, %edi
	movq	%rax, %rdx
	xorl	%eax, %eax
	callq	_syslog
	leaq	L_.str.24(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_errx
LBB0_98:
	cmpl	$0, -64(%rbp)                   ## 4-byte Folded Reload
	je	LBB0_101
## %bb.99:
	movl	(%r12), %edi
	xorl	%esi, %esi
	callq	_pam_open_session
	movq	_PAM_SUCCESS@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	je	LBB0_101
## %bb.100:
	movq	_LOG_ERR@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ebx
	movl	(%r12), %edi
	movl	%eax, %esi
	callq	_pam_strerror
	leaq	L_.str.25(%rip), %rsi
	movl	%ebx, %edi
	movq	%rax, %rdx
	xorl	%eax, %eax
	callq	_syslog
	leaq	L_.str.26(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_errx
LBB0_101:
	movq	_SA_RESTART@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -164(%rbp)
	movq	_SIG_IGN@GOTPCREL(%rip), %r12
	movq	(%r12), %rax
	movq	%rax, -176(%rbp)
	leaq	-168(%rbp), %rdi
	callq	_sigemptyset
	movq	_SIGINT@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-176(%rbp), %rbx
	leaq	-272(%rbp), %rdx
	movq	%rbx, %rsi
	callq	_sigaction
	movq	_SIGQUIT@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-256(%rbp), %rdx
	movq	%rbx, %rsi
	callq	_sigaction
	movq	_SIGPIPE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-224(%rbp), %rdx
	movq	%rbx, %rsi
	callq	_sigaction
	movq	_SIG_DFL@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -176(%rbp)
	movq	_SIGTSTP@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%rbx, %rsi
	xorl	%edx, %edx
	callq	_sigaction
	movl	$1, -68(%rbp)
	leaq	-56(%rbp), %rdi
	callq	_pipe
	cmpl	$-1, %eax
	jne	LBB0_103
## %bb.102:
	xorl	%eax, %eax
	callq	_PAM_END
	leaq	L_.str.27(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_103:
	xorl	%eax, %eax
	callq	_fork
	cmpl	$-1, %eax
	movq	%r13, -80(%rbp)                 ## 8-byte Spill
	je	LBB0_109
## %bb.104:
	movl	%eax, %ebx
	testl	%eax, %eax
	je	LBB0_110
## %bb.105:
	movq	(%r12), %rax
	movq	%rax, -176(%rbp)
	movq	_SIGTTOU@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-176(%rbp), %rsi
	xorl	%edx, %edx
	callq	_sigaction
	movl	-56(%rbp), %edi
	callq	_close
	movl	%ebx, %edi
	movl	%ebx, %esi
	callq	_setpgid
	movq	_STDERR_FILENO@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_tcgetpgrp
	movl	%eax, %r14d
	xorl	%eax, %eax
	callq	_getpgrp
	cmpl	%eax, %r14d
	jne	LBB0_107
## %bb.106:
	movq	_STDERR_FILENO@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movl	%ebx, %esi
	callq	_tcsetpgrp
LBB0_107:
	movl	-52(%rbp), %edi
	callq	_close
	movq	_SIGPIPE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-224(%rbp), %rsi
	xorl	%edx, %edx
	callq	_sigaction
	movq	_WUNTRACED@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	-68(%rbp), %rsi
	movl	%ebx, %edi
	callq	_waitpid
	cmpl	$-1, %eax
	jne	LBB0_144
LBB0_108:
	movq	_STDERR_FILENO@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	xorl	%eax, %eax
	callq	_getpgrp
	movl	%ebx, %edi
	movl	%eax, %esi
	callq	_tcsetpgrp
	leaq	L_.str.28(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
	jmp	LBB0_152
LBB0_109:
	xorl	%eax, %eax
	callq	_PAM_END
	leaq	L_.str.29(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_110:
	cmpl	$0, -64(%rbp)                   ## 4-byte Folded Reload
	sete	%bl
	cmpq	$0, -104(%rbp)                  ## 8-byte Folded Reload
	sete	%r12b
	movl	-52(%rbp), %edi
	callq	_close
	movl	-56(%rbp), %edi
	leaq	-204(%rbp), %rsi
	movl	$1, %edx
	callq	_read
	movl	-56(%rbp), %edi
	callq	_close
	movq	_SIGPIPE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-224(%rbp), %rsi
	xorl	%edx, %edx
	callq	_sigaction
	movq	_SIGINT@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-272(%rbp), %rsi
	xorl	%edx, %edx
	callq	_sigaction
	movq	_SIGQUIT@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-256(%rbp), %rsi
	xorl	%edx, %edx
	callq	_sigaction
	movq	_LOGIN_SETENV@GOTPCREL(%rip), %rcx
	movq	_LOGIN_SETUMASK@GOTPCREL(%rip), %r13
	movl	(%r13), %eax
	orl	(%rcx), %eax
	movq	_LOGIN_SETLOGIN@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_LOGIN_SETALL@GOTPCREL(%rip), %rdx
	movq	_LOGIN_SETPATH@GOTPCREL(%rip), %rsi
	orl	(%rsi), %eax
	movq	_LOGIN_SETGROUP@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	movq	_LOGIN_SETMAC@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	orl	%ecx, %eax
	notl	%eax
	andl	(%rdx), %eax
	movl	-108(%rbp), %edx                ## 4-byte Reload
	testl	%edx, %edx
	cmovel	%edx, %ecx
	orl	%eax, %ecx
	movq	(%r15), %rdx
	cmpl	$0, -88(%rbp)                   ## 4-byte Folded Reload
	jne	LBB0_113
## %bb.111:
	andb	%r12b, %bl
	jne	LBB0_113
## %bb.112:
	movq	%rsi, %r12
	jmp	LBB0_116
LBB0_113:
	movq	%rsi, %r12
	testq	%rdx, %rdx
	je	LBB0_115
## %bb.114:
	movq	_LOGIN_SETPRIORITY@GOTPCREL(%rip), %rax
	movq	_LOGIN_SETRESOURCES@GOTPCREL(%rip), %rsi
	movl	(%rsi), %esi
	orl	(%rax), %esi
	notl	%esi
	andl	%esi, %ecx
	jmp	LBB0_116
LBB0_115:
	xorl	%edx, %edx
LBB0_116:
	movq	-152(%rbp), %rbx                ## 8-byte Reload
	movq	-128(%rbp), %rdi                ## 8-byte Reload
	movq	%r15, %rsi
	callq	_setusercontext
	testq	%rax, %rax
	js	LBB0_118
## %bb.117:
	cmpl	$0, -88(%rbp)                   ## 4-byte Folded Reload
	jne	LBB0_132
	jmp	LBB0_119
LBB0_118:
	leaq	L_.str.22(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
	cmpl	$0, -88(%rbp)                   ## 4-byte Folded Reload
	jne	LBB0_132
LBB0_119:
	cmpl	$0, -64(%rbp)                   ## 4-byte Folded Reload
	je	LBB0_121
## %bb.120:
	leaq	L_.str.30(%rip), %rdi
	callq	_getenv
	movq	%rax, -144(%rbp)                ## 8-byte Spill
	leaq	_main.cleanenv(%rip), %rax
	movq	_environ@GOTPCREL(%rip), %rcx
	movq	%rax, (%rcx)
	jmp	LBB0_122
LBB0_121:
	cmpq	$0, (%r15)
	je	LBB0_123
LBB0_122:
	movq	8(%r15), %rsi
	leaq	L_.str.31(%rip), %rdi
	movl	$1, %edx
	callq	_setenv
LBB0_123:
	movq	24(%r15), %rsi
	leaq	L_.str.32(%rip), %rdi
	movl	$1, %edx
	callq	_setenv
	leaq	L_.str.33(%rip), %rdi
	movq	-80(%rbp), %rsi                 ## 8-byte Reload
	movl	$1, %edx
	callq	_setenv
	cmpl	$0, -64(%rbp)                   ## 4-byte Folded Reload
	je	LBB0_132
## %bb.124:
	movq	_pamh@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_pam_getenvlist
	movq	_environ_pam@GOTPCREL(%rip), %rcx
	movl	%eax, (%rcx)
	testl	%eax, %eax
	je	LBB0_126
## %bb.125:
	xorl	%eax, %eax
	callq	_export_pam_environment
LBB0_126:
	movq	(%r15), %rdx
	movl	(%r13), %ecx
	orl	(%r12), %ecx
	movq	_LOGIN_SETENV@GOTPCREL(%rip), %rax
	orl	(%rax), %ecx
	movq	-128(%rbp), %rdi                ## 8-byte Reload
	movq	%r15, %rsi
	callq	_setusercontext
	movq	-144(%rbp), %rsi                ## 8-byte Reload
	testq	%rsi, %rsi
	je	LBB0_128
## %bb.127:
	leaq	L_.str.30(%rip), %rdi
	movl	$1, %edx
	callq	_setenv
LBB0_128:
	movq	_pamh@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.32(%rip), %rsi
	callq	_pam_getenv
	testq	%rax, %rax
	jne	LBB0_130
## %bb.129:
	movq	24(%r15), %rax
LBB0_130:
	movq	%rax, %rdi
	callq	_chdir
	testl	%eax, %eax
	jns	LBB0_132
## %bb.131:
	leaq	L_.str.34(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_errx
LBB0_132:
	leaq	(%rbx,%r14,8), %rbx
	movq	-128(%rbp), %rdi                ## 8-byte Reload
	callq	_login_close
	movq	_YES@GOTPCREL(%rip), %rax
	movl	-60(%rbp), %edx                 ## 4-byte Reload
	cmpl	(%rax), %edx
	jne	LBB0_137
## %bb.133:
	cmpl	$0, -156(%rbp)                  ## 4-byte Folded Reload
	movq	-120(%rbp), %r15                ## 8-byte Reload
	movq	-80(%rbp), %r12                 ## 8-byte Reload
	je	LBB0_135
## %bb.134:
	leaq	L_.str.35(%rip), %rcx
	movq	%rcx, (%rbx)
	addq	$-8, %rbx
LBB0_135:
	cmpl	$0, -88(%rbp)                   ## 4-byte Folded Reload
	je	LBB0_138
## %bb.136:
	leaq	L_.str.36(%rip), %rcx
	movq	%rcx, (%rbx)
	addq	$-8, %rbx
	jmp	LBB0_138
LBB0_137:
	movq	-120(%rbp), %r15                ## 8-byte Reload
	movq	-80(%rbp), %r12                 ## 8-byte Reload
LBB0_138:
	cmpl	(%rax), %edx
	leaq	L_.str.38(%rip), %rax
	leaq	L_.str.5(%rip), %rcx
	cmoveq	%rax, %rcx
	cmpl	$0, -64(%rbp)                   ## 4-byte Folded Reload
	leaq	L_.str.37(%rip), %rax
	cmoveq	%rcx, %rax
	movq	%rax, (%rbx)
	cmpq	$0, -136(%rbp)                  ## 8-byte Folded Reload
	je	LBB0_140
## %bb.139:
	movq	_LOG_NOTICE@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	xorl	%eax, %eax
	callq	_ontty
	leaq	L_.str.39(%rip), %rsi
	movl	%r14d, %edi
	movq	%r15, %rdx
	movq	-96(%rbp), %rcx                 ## 8-byte Reload
	movq	%rax, %r8
	xorl	%eax, %eax
	callq	_syslog
LBB0_140:
	movq	%r12, %rdi
	movq	%rbx, %rsi
	callq	_execv
	leaq	L_.str.40(%rip), %rsi
	movl	$1, %edi
	movq	%r12, %rdx
	xorl	%eax, %eax
	callq	_err
	movq	-192(%rbp), %rsp                ## 8-byte Reload
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_143
## %bb.141:
	xorl	%eax, %eax
	leaq	-40(%rbp), %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_142:
	xorl	%edx, %edx
	testb	$1, %r9b
	jne	LBB0_32
	jmp	LBB0_33
LBB0_143:
	callq	___stack_chk_fail
LBB0_144:
	movq	_SIGCONT@GOTPCREL(%rip), %r12
	leaq	-68(%rbp), %r14
	jmp	LBB0_146
LBB0_145:                               ##   in Loop: Header=BB0_146 Depth=1
	movl	(%r12), %esi
	movl	%ebx, %edi
	callq	_kill
	movl	$1, -68(%rbp)
	movq	_WUNTRACED@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	%ebx, %edi
	movq	%r14, %rsi
	callq	_waitpid
	cmpl	$-1, %eax
	je	LBB0_108
LBB0_146:                               ## =>This Inner Loop Header: Depth=1
	movl	-68(%rbp), %edi
	callq	_WIFSTOPPED
	testl	%eax, %eax
	je	LBB0_151
## %bb.147:                             ##   in Loop: Header=BB0_146 Depth=1
	movl	%ebx, %edi
	callq	_getpgid
	movl	%eax, %r15d
	movq	_STDERR_FILENO@GOTPCREL(%rip), %r13
	movl	(%r13), %edi
	callq	_tcgetpgrp
	cmpl	%r15d, %eax
	jne	LBB0_149
## %bb.148:                             ##   in Loop: Header=BB0_146 Depth=1
	movl	(%r13), %r15d
	xorl	%eax, %eax
	callq	_getpgrp
	movl	%r15d, %edi
	movl	%eax, %esi
	callq	_tcsetpgrp
LBB0_149:                               ##   in Loop: Header=BB0_146 Depth=1
	xorl	%eax, %eax
	callq	_getpid
	movq	_SIGSTOP@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	movl	%eax, %edi
	callq	_kill
	movl	(%r13), %edi
	callq	_tcgetpgrp
	movl	%eax, %r15d
	xorl	%eax, %eax
	callq	_getpgrp
	cmpl	%eax, %r15d
	jne	LBB0_145
## %bb.150:                             ##   in Loop: Header=BB0_146 Depth=1
	movl	%ebx, %edi
	callq	_getpgid
	movq	_STDERR_FILENO@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edi
	movl	%eax, %esi
	callq	_tcsetpgrp
	jmp	LBB0_145
LBB0_151:
	movq	_STDERR_FILENO@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	xorl	%eax, %eax
	callq	_getpgrp
	movl	%ebx, %edi
	movl	%eax, %esi
	callq	_tcsetpgrp
LBB0_152:
	xorl	%eax, %eax
	callq	_PAM_END
	movl	-68(%rbp), %edi
	callq	_WEXITSTATUS
	movl	%eax, %edi
	callq	_exit
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_8, LBB0_8-LJTI0_0
.set L0_0_set_10, LBB0_10-LJTI0_0
.set L0_0_set_5, LBB0_5-LJTI0_0
.set L0_0_set_2, LBB0_2-LJTI0_0
.set L0_0_set_11, LBB0_11-LJTI0_0
.set L0_0_set_12, LBB0_12-LJTI0_0
LJTI0_0:
	.long	L0_0_set_8
	.long	L0_0_set_10
	.long	L0_0_set_10
	.long	L0_0_set_5
	.long	L0_0_set_10
	.long	L0_0_set_10
	.long	L0_0_set_10
	.long	L0_0_set_10
	.long	L0_0_set_10
	.long	L0_0_set_2
	.long	L0_0_set_11
	.long	L0_0_set_10
	.long	L0_0_set_10
	.long	L0_0_set_10
	.long	L0_0_set_10
	.long	L0_0_set_10
	.long	L0_0_set_12
	.end_data_region
                                        ## -- End function
.zerofill __DATA,__bss,_main.cleanenv,8,3 ## @main.cleanenv
	.comm	_openpam_ttyconv,4,2            ## @openpam_ttyconv
	.comm	_MAXPATHLEN,4,2                 ## @MAXPATHLEN
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"root"

	.comm	_UNSET,4,2                      ## @UNSET
L_.str.1:                               ## @.str.1
	.asciz	"-flmsc:"

	.comm	_optarg,8,3                     ## @optarg
	.comm	_optind,4,2                     ## @optind
L_.str.2:                               ## @.str.2
	.asciz	"not running setuid"

	.comm	_MAXLOGNAME,4,2                 ## @MAXLOGNAME
L_.str.3:                               ## @.str.3
	.asciz	"username too long"

L_.str.4:                               ## @.str.4
	.asciz	"malloc failure"

	.comm	_errno,8,3                      ## @errno
	.comm	_PRIO_PROCESS,4,2               ## @PRIO_PROCESS
L_.str.5:                               ## @.str.5
	.asciz	"su"

	.comm	_LOG_CONS,4,2                   ## @LOG_CONS
	.comm	_LOG_AUTH,4,2                   ## @LOG_AUTH
L_.str.6:                               ## @.str.6
	.asciz	"who are you?"

L_.str.7:                               ## @.str.7
	.asciz	"strdup failure"

	.comm	__PATH_BSHELL,8,3               ## @_PATH_BSHELL
	.comm	_NO,4,2                         ## @NO
	.comm	_pamh,4,2                       ## @pamh
	.comm	_PAM_SUCCESS,4,2                ## @PAM_SUCCESS
	.comm	_LOG_ERR,4,2                    ## @LOG_ERR
L_.str.8:                               ## @.str.8
	.asciz	"pam_start: %s"

	.comm	_PAM_RUSER,4,2                  ## @PAM_RUSER
	.comm	_STDERR_FILENO,4,2              ## @STDERR_FILENO
L_.str.9:                               ## @.str.9
	.asciz	"tty"

	.comm	_PAM_TTY,4,2                    ## @PAM_TTY
	.comm	_LOG_WARNING,4,2                ## @LOG_WARNING
L_.str.10:                              ## @.str.10
	.asciz	"BAD SU %s to %s on %s"

L_.str.11:                              ## @.str.11
	.asciz	"Sorry"

	.comm	_PAM_USER,4,2                   ## @PAM_USER
L_.str.12:                              ## @.str.12
	.asciz	"pam_get_item(PAM_USER): %s"

L_.str.13:                              ## @.str.13
	.asciz	"unknown login: %s"

	.comm	_PAM_NEW_AUTHTOK_REQD,4,2       ## @PAM_NEW_AUTHTOK_REQD
	.comm	_PAM_CHANGE_EXPIRED_AUTHTOK,4,2 ## @PAM_CHANGE_EXPIRED_AUTHTOK
L_.str.14:                              ## @.str.14
	.asciz	"pam_chauthtok: %s"

L_.str.15:                              ## @.str.15
	.asciz	"pam_acct_mgmt: %s"

L_.str.16:                              ## @.str.16
	.asciz	"only root may use -c"

L_.str.17:                              ## @.str.17
	.asciz	"login_getclass"

L_.str.18:                              ## @.str.18
	.asciz	"unknown class: %s"

L_.str.19:                              ## @.str.19
	.asciz	"permission denied (shell)"

L_.str.20:                              ## @.str.20
	.asciz	"csh"

L_.str.21:                              ## @.str.21
	.asciz	"tcsh"

	.comm	_YES,4,2                        ## @YES
	.comm	_LOGIN_SETGROUP,4,2             ## @LOGIN_SETGROUP
L_.str.22:                              ## @.str.22
	.asciz	"setusercontext"

	.comm	_PAM_ESTABLISH_CRED,4,2         ## @PAM_ESTABLISH_CRED
L_.str.23:                              ## @.str.23
	.asciz	"pam_setcred: %s"

L_.str.24:                              ## @.str.24
	.asciz	"failed to establish credentials."

L_.str.25:                              ## @.str.25
	.asciz	"pam_open_session: %s"

L_.str.26:                              ## @.str.26
	.asciz	"failed to open session."

	.comm	_SA_RESTART,4,2                 ## @SA_RESTART
	.comm	_SIG_IGN,8,3                    ## @SIG_IGN
	.comm	_SIGINT,4,2                     ## @SIGINT
	.comm	_SIGQUIT,4,2                    ## @SIGQUIT
	.comm	_SIGPIPE,4,2                    ## @SIGPIPE
	.comm	_SIG_DFL,8,3                    ## @SIG_DFL
	.comm	_SIGTSTP,4,2                    ## @SIGTSTP
L_.str.27:                              ## @.str.27
	.asciz	"pipe"

	.comm	_SIGTTOU,4,2                    ## @SIGTTOU
	.comm	_WUNTRACED,4,2                  ## @WUNTRACED
	.comm	_SIGSTOP,4,2                    ## @SIGSTOP
	.comm	_SIGCONT,4,2                    ## @SIGCONT
L_.str.28:                              ## @.str.28
	.asciz	"waitpid"

L_.str.29:                              ## @.str.29
	.asciz	"fork"

	.comm	_LOGIN_SETALL,4,2               ## @LOGIN_SETALL
	.comm	_LOGIN_SETENV,4,2               ## @LOGIN_SETENV
	.comm	_LOGIN_SETUMASK,4,2             ## @LOGIN_SETUMASK
	.comm	_LOGIN_SETLOGIN,4,2             ## @LOGIN_SETLOGIN
	.comm	_LOGIN_SETPATH,4,2              ## @LOGIN_SETPATH
	.comm	_LOGIN_SETMAC,4,2               ## @LOGIN_SETMAC
	.comm	_LOGIN_SETPRIORITY,4,2          ## @LOGIN_SETPRIORITY
	.comm	_LOGIN_SETRESOURCES,4,2         ## @LOGIN_SETRESOURCES
L_.str.30:                              ## @.str.30
	.asciz	"TERM"

	.comm	_environ,8,3                    ## @environ
L_.str.31:                              ## @.str.31
	.asciz	"USER"

L_.str.32:                              ## @.str.32
	.asciz	"HOME"

L_.str.33:                              ## @.str.33
	.asciz	"SHELL"

	.comm	_environ_pam,4,2                ## @environ_pam
L_.str.34:                              ## @.str.34
	.asciz	"no directory"

L_.str.35:                              ## @.str.35
	.asciz	"-f"

L_.str.36:                              ## @.str.36
	.asciz	"-m"

L_.str.37:                              ## @.str.37
	.asciz	"-su"

L_.str.38:                              ## @.str.38
	.asciz	"_su"

	.comm	_LOG_NOTICE,4,2                 ## @LOG_NOTICE
L_.str.39:                              ## @.str.39
	.asciz	"%s to %s%s"

L_.str.40:                              ## @.str.40
	.asciz	"%s"

	.comm	_AUE_su,4,2                     ## @AUE_su
	.comm	_ENOSYS,8,3                     ## @ENOSYS
	.comm	_EPERM,4,2                      ## @EPERM
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_main                           ; -- Begin function main
	.p2align	2
_main:                                  ; @main
	.cfi_startproc
; %bb.0:
	stp	x28, x27, [sp, #-96]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 96
	stp	x26, x25, [sp, #16]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #32]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #48]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #64]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	sub	sp, sp, #224
	mov	x22, x1
	mov	x24, x0
	mov	x8, sp
	sub	x9, x29, #16
	stur	x8, [x9, #-256]                 ; 8-byte Folded Spill
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	stur	x8, [x29, #-96]
Lloh3:
	adrp	x8, _openpam_ttyconv@GOTPAGE
Lloh4:
	ldr	x8, [x8, _openpam_ttyconv@GOTPAGEOFF]
Lloh5:
	ldrsw	x8, [x8]
	stur	x8, [x29, #-120]
	stur	wzr, [x29, #-112]
Lloh6:
	adrp	x8, _MAXPATHLEN@GOTPAGE
Lloh7:
	ldr	x8, [x8, _MAXPATHLEN@GOTPAGEOFF]
Lloh8:
	ldr	w12, [x8]
	mov	x9, x12
Lloh9:
	adrp	x16, ___chkstk_darwin@GOTPAGE
Lloh10:
	ldr	x16, [x16, ___chkstk_darwin@GOTPAGEOFF]
	blr	x16
	mov	x8, sp
	stur	x12, [x29, #-248]               ; 8-byte Folded Spill
	add	x9, x12, #15
	and	x9, x9, #0x1fffffff0
	sub	x8, x8, x9
	mov	x25, x8
	mov	sp, x8
Lloh11:
	adrp	x8, _main.cleanenv@PAGE
	str	xzr, [x8, _main.cleanenv@PAGEOFF]
	stur	wzr, [x29, #-124]
Lloh12:
	adrp	x8, _UNSET@GOTPAGE
Lloh13:
	ldr	x8, [x8, _UNSET@GOTPAGEOFF]
Lloh14:
	ldr	w8, [x8]
	stur	w8, [x29, #-232]                ; 4-byte Folded Spill
Lloh15:
	adrp	x2, l_.str.1@PAGE
Lloh16:
	add	x2, x2, l_.str.1@PAGEOFF
	bl	_getopt
	cmn	w0, #1
	b.eq	LBB0_12
; %bb.1:
	stur	xzr, [x29, #-216]               ; 8-byte Folded Spill
	stur	wzr, [x29, #-228]               ; 4-byte Folded Spill
	mov	w21, #0
	mov	w23, #0
	mov	w19, #0
Lloh17:
	adrp	x20, l_.str.1@PAGE
Lloh18:
	add	x20, x20, l_.str.1@PAGEOFF
Lloh19:
	adrp	x27, _optarg@GOTPAGE
Lloh20:
	ldr	x27, [x27, _optarg@GOTPAGEOFF]
Lloh21:
	adrp	x28, lJTI0_0@PAGE
Lloh22:
	add	x28, x28, lJTI0_0@PAGEOFF
	b	LBB0_5
LBB0_2:                                 ;   in Loop: Header=BB0_5 Depth=1
	mov	w19, #0
	mov	w23, #1
LBB0_3:                                 ;   in Loop: Header=BB0_5 Depth=1
	mov	x26, x21
LBB0_4:                                 ;   in Loop: Header=BB0_5 Depth=1
	mov	x0, x24
	mov	x1, x22
	mov	x2, x20
	bl	_getopt
	mov	x21, x26
	cmn	w0, #1
	b.eq	LBB0_13
LBB0_5:                                 ; =>This Inner Loop Header: Depth=1
	sxtb	w9, w0
	sub	w8, w9, #99
	cmp	w8, #16
	b.hi	LBB0_8
; %bb.6:                                ;   in Loop: Header=BB0_5 Depth=1
	mov	w26, #1
	adr	x9, LBB0_2
	ldrb	w10, [x28, x8]
	add	x9, x9, x10, lsl #2
	br	x9
LBB0_7:                                 ;   in Loop: Header=BB0_5 Depth=1
	ldr	x8, [x27]
	stur	x8, [x29, #-216]                ; 8-byte Folded Spill
	b	LBB0_3
LBB0_8:                                 ;   in Loop: Header=BB0_5 Depth=1
	cmp	w9, #45
	b.eq	LBB0_2
LBB0_9:                                 ;   in Loop: Header=BB0_5 Depth=1
	bl	_usage
	b	LBB0_3
LBB0_10:                                ;   in Loop: Header=BB0_5 Depth=1
	mov	w23, #0
	mov	w19, #1
	b	LBB0_3
LBB0_11:                                ;   in Loop: Header=BB0_5 Depth=1
	mov	w8, #1
	stur	w8, [x29, #-228]                ; 4-byte Folded Spill
	b	LBB0_3
LBB0_12:
	mov	w19, #0
	mov	w23, #0
	mov	w26, #0
	stur	wzr, [x29, #-228]               ; 4-byte Folded Spill
	stur	xzr, [x29, #-216]               ; 8-byte Folded Spill
LBB0_13:
Lloh23:
	adrp	x20, _optind@GOTPAGE
Lloh24:
	ldr	x20, [x20, _optind@GOTPAGEOFF]
	ldrsw	x8, [x20]
	cmp	w8, w24
	b.ge	LBB0_16
; %bb.14:
	add	w9, w8, #1
	str	w9, [x20]
	ldr	x27, [x22, x8, lsl #3]
	cbnz	x27, LBB0_17
; %bb.15:
	bl	_usage
	b	LBB0_17
LBB0_16:
Lloh25:
	adrp	x27, l_.str@PAGE
Lloh26:
	add	x27, x27, l_.str@PAGEOFF
LBB0_17:
	bl	_geteuid
	cbz	x0, LBB0_19
; %bb.18:
Lloh27:
	adrp	x1, l_.str.2@PAGE
Lloh28:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	w0, #1
	bl	_errx
LBB0_19:
	stur	x25, [x29, #-224]               ; 8-byte Folded Spill
	mov	x0, x27
	bl	_strlen
Lloh29:
	adrp	x8, _MAXLOGNAME@GOTPAGE
Lloh30:
	ldr	x8, [x8, _MAXLOGNAME@GOTPAGEOFF]
Lloh31:
	ldr	w8, [x8]
	cmp	w0, w8
	b.lt	LBB0_21
; %bb.20:
Lloh32:
	adrp	x1, l_.str.3@PAGE
Lloh33:
	add	x1, x1, l_.str.3@PAGEOFF
	mov	w0, #1
	bl	_errx
LBB0_21:
	lsl	w8, w24, #3
	add	w0, w8, #32
	bl	_malloc
	mov	x21, x0
	cbnz	x0, LBB0_23
; %bb.22:
Lloh34:
	adrp	x1, l_.str.4@PAGE
Lloh35:
	add	x1, x1, l_.str.4@PAGEOFF
	mov	w0, #1
	bl	_errx
LBB0_23:
	sxtw	x8, w24
	add	x10, x8, #3
	str	xzr, [x21, x10, lsl #3]
	ldrsw	x9, [x20]
	cmp	w9, w24
	b.gt	LBB0_34
; %bb.24:
	sub	x10, x8, x9
	add	x10, x10, #1
	cmp	x10, #8
	b.lo	LBB0_30
; %bb.25:
	lsl	x12, x8, #3
	add	x13, x12, x22
	add	x11, x12, x21
	sub	x11, x13, x11
	sub	x11, x11, #24
	cmp	x11, #64
	b.lo	LBB0_30
; %bb.26:
	and	x11, x10, #0xfffffffffffffff8
	sub	x8, x8, x11
	add	x12, x21, x12
	sub	x13, x13, #24
	mov	x14, x11
LBB0_27:                                ; =>This Inner Loop Header: Depth=1
	ldp	q1, q0, [x13]
	ldp	q3, q2, [x13, #-32]
	stp	q1, q0, [x12]
	stp	q3, q2, [x12, #-32]
	sub	x12, x12, #64
	sub	x13, x13, #64
	sub	x14, x14, #8
	cbnz	x14, LBB0_27
; %bb.28:
	cmp	x10, x11
	b.ne	LBB0_30
; %bb.29:
	add	x8, x8, #1
	b	LBB0_33
LBB0_30:
	add	x10, x21, #24
LBB0_31:                                ; =>This Inner Loop Header: Depth=1
	lsl	x11, x8, #3
	ldr	x12, [x22, x11]
	str	x12, [x10, x11]
	sub	x11, x8, #1
	cmp	x8, x9
	mov	x8, x11
	b.gt	LBB0_31
; %bb.32:
	add	x8, x11, #1
LBB0_33:
	add	w8, w8, #2
	sxtw	x10, w8
LBB0_34:
	sub	x8, x29, #8
	stur	w23, [x8, #-256]                ; 4-byte Folded Spill
	sub	x8, x29, #32
	stur	x10, [x8, #-256]                ; 8-byte Folded Spill
	sub	x8, x29, #24
	stur	x21, [x8, #-256]                ; 8-byte Folded Spill
Lloh36:
	adrp	x20, _errno@GOTPAGE
Lloh37:
	ldr	x20, [x20, _errno@GOTPAGEOFF]
	str	xzr, [x20]
Lloh38:
	adrp	x21, _PRIO_PROCESS@GOTPAGE
Lloh39:
	ldr	x21, [x21, _PRIO_PROCESS@GOTPAGEOFF]
	ldr	w0, [x21]
	mov	w1, #0
	bl	_getpriority
	ldr	x8, [x20]
	cmp	x8, #0
	csel	w20, w0, wzr, eq
	ldr	w0, [x21]
	mov	w1, #0
	mov	w2, #-2
	bl	_setpriority
Lloh40:
	adrp	x8, _LOG_CONS@GOTPAGE
Lloh41:
	ldr	x8, [x8, _LOG_CONS@GOTPAGEOFF]
Lloh42:
	ldr	w1, [x8]
Lloh43:
	adrp	x22, _LOG_AUTH@GOTPAGE
Lloh44:
	ldr	x22, [x22, _LOG_AUTH@GOTPAGEOFF]
	ldr	w2, [x22]
Lloh45:
	adrp	x0, l_.str.5@PAGE
Lloh46:
	add	x0, x0, l_.str.5@PAGEOFF
	bl	_openlog
	bl	_getuid
	mov	x28, x0
	bl	_getlogin
	cbz	x0, LBB0_37
; %bb.35:
	bl	_getpwnam
	cbz	x0, LBB0_37
; %bb.36:
	mov	x24, x0
	ldr	x8, [x0]
	cmp	x8, x28
	b.eq	LBB0_39
LBB0_37:
	mov	x0, x28
	bl	_getpwuid
	mov	x24, x0
	cbnz	x0, LBB0_39
; %bb.38:
Lloh47:
	adrp	x1, l_.str.6@PAGE
Lloh48:
	add	x1, x1, l_.str.6@PAGEOFF
	mov	w0, #1
	bl	_errx
LBB0_39:
	ldr	x0, [x24, #8]
	bl	_strdup
	mov	x21, x0
	ldur	w23, [x29, #-232]               ; 4-byte Folded Reload
	cbnz	x0, LBB0_41
; %bb.40:
Lloh49:
	adrp	x1, l_.str.7@PAGE
Lloh50:
	add	x1, x1, l_.str.7@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_41:
	sub	x8, x29, #4
	stur	w20, [x8, #-256]                ; 4-byte Folded Spill
	cbz	w19, LBB0_46
; %bb.42:
	ldr	x1, [x24, #16]
	cbz	x1, LBB0_45
; %bb.43:
	ldrb	w8, [x1]
	cbz	w8, LBB0_45
; %bb.44:
	ldur	x0, [x29, #-224]                ; 8-byte Folded Reload
	ldur	x2, [x29, #-248]                ; 8-byte Folded Reload
                                        ; kill: def $w2 killed $w2 killed $x2
	bl	_strlcpy
	b	LBB0_47
LBB0_45:
Lloh51:
	adrp	x8, __PATH_BSHELL@GOTPAGE
Lloh52:
	ldr	x8, [x8, __PATH_BSHELL@GOTPAGEOFF]
Lloh53:
	ldr	x8, [x8]
	stur	x8, [x29, #-224]                ; 8-byte Folded Spill
Lloh54:
	adrp	x8, _NO@GOTPAGE
Lloh55:
	ldr	x8, [x8, _NO@GOTPAGEOFF]
Lloh56:
	ldr	w23, [x8]
	b	LBB0_47
LBB0_46:
	stur	xzr, [x29, #-224]               ; 8-byte Folded Spill
LBB0_47:
Lloh57:
	adrp	x0, l_.str.5@PAGE
Lloh58:
	add	x0, x0, l_.str.5@PAGEOFF
Lloh59:
	adrp	x25, _pamh@GOTPAGE
Lloh60:
	ldr	x25, [x25, _pamh@GOTPAGEOFF]
	sub	x2, x29, #120
	mov	x1, x27
	mov	x3, x25
	bl	_pam_start
Lloh61:
	adrp	x20, _PAM_SUCCESS@GOTPAGE
Lloh62:
	ldr	x20, [x20, _PAM_SUCCESS@GOTPAGEOFF]
	ldr	w8, [x20]
	cmp	w0, w8
	stur	x21, [x29, #-256]               ; 8-byte Folded Spill
	b.eq	LBB0_49
; %bb.48:
	mov	x24, x0
Lloh63:
	adrp	x8, _LOG_ERR@GOTPAGE
Lloh64:
	ldr	x8, [x8, _LOG_ERR@GOTPAGEOFF]
Lloh65:
	ldr	w25, [x8]
Lloh66:
	adrp	x8, _pamh@GOTPAGE
Lloh67:
	ldr	x8, [x8, _pamh@GOTPAGEOFF]
Lloh68:
	ldr	w0, [x8]
	mov	x1, x24
	bl	_pam_strerror
	mov	x2, x0
Lloh69:
	adrp	x21, l_.str.8@PAGE
Lloh70:
	add	x21, x21, l_.str.8@PAGEOFF
	mov	x0, x25
Lloh71:
	adrp	x25, _pamh@GOTPAGE
Lloh72:
	ldr	x25, [x25, _pamh@GOTPAGEOFF]
	mov	x1, x21
	bl	_syslog
	ldr	w0, [x25]
	mov	x1, x24
	bl	_pam_strerror
	str	x0, [sp, #-16]!
	mov	w0, #1
	mov	x1, x21
	ldur	x21, [x29, #-256]               ; 8-byte Folded Reload
	bl	_errx
	add	sp, sp, #16
LBB0_49:
Lloh73:
	adrp	x8, _PAM_RUSER@GOTPAGE
Lloh74:
	ldr	x8, [x8, _PAM_RUSER@GOTPAGEOFF]
Lloh75:
	ldr	w0, [x8]
	mov	x1, x21
	bl	_PAM_SET_ITEM
Lloh76:
	adrp	x8, _STDERR_FILENO@GOTPAGE
Lloh77:
	ldr	x8, [x8, _STDERR_FILENO@GOTPAGEOFF]
Lloh78:
	ldr	w0, [x8]
	bl	_ttyname
Lloh79:
	adrp	x8, l_.str.9@PAGE
Lloh80:
	add	x8, x8, l_.str.9@PAGEOFF
	cmp	x0, #0
	csel	x24, x8, x0, eq
Lloh81:
	adrp	x8, _PAM_TTY@GOTPAGE
Lloh82:
	ldr	x8, [x8, _PAM_TTY@GOTPAGEOFF]
Lloh83:
	ldr	w0, [x8]
	mov	x1, x24
	bl	_PAM_SET_ITEM
	ldr	w0, [x25]
	mov	w1, #0
	bl	_pam_authenticate
	ldr	w8, [x20]
	cmp	w0, w8
	b.eq	LBB0_51
; %bb.50:
	ldr	w8, [x22]
Lloh84:
	adrp	x9, _LOG_WARNING@GOTPAGE
Lloh85:
	ldr	x9, [x9, _LOG_WARNING@GOTPAGEOFF]
Lloh86:
	ldr	w9, [x9]
	orr	w0, w9, w8
	stp	x27, x24, [sp, #-16]!
Lloh87:
	adrp	x1, l_.str.10@PAGE
Lloh88:
	add	x1, x1, l_.str.10@PAGEOFF
	mov	x2, x21
	bl	_syslog
	add	sp, sp, #16
Lloh89:
	adrp	x1, l_.str.11@PAGE
Lloh90:
	add	x1, x1, l_.str.11@PAGEOFF
	mov	w0, #1
	bl	_errx
LBB0_51:
	ldr	w0, [x25]
Lloh91:
	adrp	x8, _PAM_USER@GOTPAGE
Lloh92:
	ldr	x8, [x8, _PAM_USER@GOTPAGEOFF]
Lloh93:
	ldr	w1, [x8]
	sub	x2, x29, #136
	bl	_pam_get_item
	ldr	w8, [x20]
	cmp	w0, w8
	b.ne	LBB0_53
; %bb.52:
	ldur	x27, [x29, #-136]
	b	LBB0_54
LBB0_53:
	mov	x1, x0
Lloh94:
	adrp	x8, _LOG_ERR@GOTPAGE
Lloh95:
	ldr	x8, [x8, _LOG_ERR@GOTPAGEOFF]
Lloh96:
	ldr	w24, [x8]
	ldr	w0, [x25]
	bl	_pam_strerror
	mov	x2, x0
Lloh97:
	adrp	x1, l_.str.12@PAGE
Lloh98:
	add	x1, x1, l_.str.12@PAGEOFF
	mov	x0, x24
	bl	_syslog
LBB0_54:
	ldur	x21, [x29, #-224]               ; 8-byte Folded Reload
	mov	x22, x23
	stur	x27, [x29, #-248]               ; 8-byte Folded Spill
	mov	x0, x27
	bl	_getpwnam
	mov	x27, x0
	sub	x8, x29, #8
	ldur	w23, [x8, #-256]                ; 4-byte Folded Reload
	cbnz	x0, LBB0_56
; %bb.55:
	ldur	x8, [x29, #-248]                ; 8-byte Folded Reload
	str	x8, [sp, #-16]!
Lloh99:
	adrp	x1, l_.str.13@PAGE
Lloh100:
	add	x1, x1, l_.str.13@PAGEOFF
	mov	w0, #1
	bl	_errx
	add	sp, sp, #16
LBB0_56:
	ldr	w0, [x25]
	mov	w1, #0
	bl	_pam_acct_mgmt
	mov	x24, x0
Lloh101:
	adrp	x8, _PAM_NEW_AUTHTOK_REQD@GOTPAGE
Lloh102:
	ldr	x8, [x8, _PAM_NEW_AUTHTOK_REQD@GOTPAGEOFF]
Lloh103:
	ldr	w8, [x8]
	cmp	w0, w8
	b.ne	LBB0_59
; %bb.57:
	ldr	w0, [x25]
Lloh104:
	adrp	x8, _PAM_CHANGE_EXPIRED_AUTHTOK@GOTPAGE
Lloh105:
	ldr	x8, [x8, _PAM_CHANGE_EXPIRED_AUTHTOK@GOTPAGEOFF]
Lloh106:
	ldr	w1, [x8]
	bl	_pam_chauthtok
	mov	x24, x0
	ldr	w8, [x20]
	cmp	w0, w8
	b.eq	LBB0_59
; %bb.58:
Lloh107:
	adrp	x8, _LOG_ERR@GOTPAGE
Lloh108:
	ldr	x8, [x8, _LOG_ERR@GOTPAGEOFF]
Lloh109:
	ldr	w25, [x8]
Lloh110:
	adrp	x8, _pamh@GOTPAGE
Lloh111:
	ldr	x8, [x8, _pamh@GOTPAGEOFF]
Lloh112:
	ldr	w0, [x8]
	mov	x1, x24
	bl	_pam_strerror
	mov	x2, x0
Lloh113:
	adrp	x1, l_.str.14@PAGE
Lloh114:
	add	x1, x1, l_.str.14@PAGEOFF
	mov	x0, x25
Lloh115:
	adrp	x25, _pamh@GOTPAGE
Lloh116:
	ldr	x25, [x25, _pamh@GOTPAGEOFF]
	bl	_syslog
Lloh117:
	adrp	x1, l_.str.11@PAGE
Lloh118:
	add	x1, x1, l_.str.11@PAGEOFF
	mov	w0, #1
	bl	_errx
LBB0_59:
	ldr	w8, [x20]
	cmp	w24, w8
	b.eq	LBB0_61
; %bb.60:
Lloh119:
	adrp	x8, _LOG_ERR@GOTPAGE
Lloh120:
	ldr	x8, [x8, _LOG_ERR@GOTPAGEOFF]
Lloh121:
	ldr	w25, [x8]
Lloh122:
	adrp	x8, _pamh@GOTPAGE
Lloh123:
	ldr	x8, [x8, _pamh@GOTPAGEOFF]
Lloh124:
	ldr	w0, [x8]
	mov	x1, x24
	bl	_pam_strerror
	mov	x2, x0
Lloh125:
	adrp	x1, l_.str.15@PAGE
Lloh126:
	add	x1, x1, l_.str.15@PAGEOFF
	mov	x0, x25
Lloh127:
	adrp	x25, _pamh@GOTPAGE
Lloh128:
	ldr	x25, [x25, _pamh@GOTPAGEOFF]
	bl	_syslog
Lloh129:
	adrp	x1, l_.str.11@PAGE
Lloh130:
	add	x1, x1, l_.str.11@PAGEOFF
	mov	w0, #1
	bl	_errx
LBB0_61:
	ldur	x8, [x29, #-216]                ; 8-byte Folded Reload
	stur	x28, [x29, #-240]               ; 8-byte Folded Spill
	cbz	x8, LBB0_66
; %bb.62:
	cbz	x28, LBB0_64
; %bb.63:
Lloh131:
	adrp	x1, l_.str.16@PAGE
Lloh132:
	add	x1, x1, l_.str.16@PAGEOFF
	mov	w0, #1
	bl	_errx
LBB0_64:
	ldur	x0, [x29, #-216]                ; 8-byte Folded Reload
	bl	_login_getclass
	mov	x28, x0
	cbz	x0, LBB0_67
; %bb.65:
	ldr	x1, [x28]
	cbnz	x1, LBB0_68
	b	LBB0_69
LBB0_66:
	mov	x0, x27
	bl	_login_getpwclass
	mov	x28, x0
	b	LBB0_70
LBB0_67:
Lloh133:
	adrp	x1, l_.str.17@PAGE
Lloh134:
	add	x1, x1, l_.str.17@PAGEOFF
	mov	w0, #1
	bl	_err
	ldr	x1, [x28]
	cbz	x1, LBB0_69
LBB0_68:
	ldur	x0, [x29, #-216]                ; 8-byte Folded Reload
	bl	_strcmp
	cbz	x0, LBB0_70
LBB0_69:
	ldur	x8, [x29, #-216]                ; 8-byte Folded Reload
	str	x8, [sp, #-16]!
Lloh135:
	adrp	x1, l_.str.18@PAGE
Lloh136:
	add	x1, x1, l_.str.18@PAGEOFF
	mov	w0, #1
	bl	_errx
	add	sp, sp, #16
LBB0_70:
	cbz	w19, LBB0_74
; %bb.71:
	ldur	x8, [x29, #-240]                ; 8-byte Folded Reload
	cbz	x8, LBB0_78
; %bb.72:
	ldr	x0, [x27, #16]
	bl	_chshell
	cbnz	w0, LBB0_78
; %bb.73:
Lloh137:
	adrp	x1, l_.str.19@PAGE
Lloh138:
	add	x1, x1, l_.str.19@PAGEOFF
	mov	w0, #1
	bl	_errx
	b	LBB0_78
LBB0_74:
	ldr	x21, [x27, #16]
	cbz	x21, LBB0_77
; %bb.75:
	ldrb	w8, [x21]
	cbz	w8, LBB0_77
; %bb.76:
Lloh139:
	adrp	x8, _UNSET@GOTPAGE
Lloh140:
	ldr	x8, [x8, _UNSET@GOTPAGEOFF]
	ldr	w22, [x8]
	b	LBB0_79
LBB0_77:
Lloh141:
	adrp	x8, __PATH_BSHELL@GOTPAGE
Lloh142:
	ldr	x8, [x8, __PATH_BSHELL@GOTPAGEOFF]
Lloh143:
	ldr	x21, [x8]
Lloh144:
	adrp	x8, _NO@GOTPAGE
Lloh145:
	ldr	x8, [x8, _NO@GOTPAGEOFF]
Lloh146:
	ldr	w22, [x8]
LBB0_78:
Lloh147:
	adrp	x8, _UNSET@GOTPAGE
Lloh148:
	ldr	x8, [x8, _UNSET@GOTPAGEOFF]
LBB0_79:
	ldr	w8, [x8]
	cmp	w22, w8
	b.ne	LBB0_82
; %bb.80:
	mov	x0, x21
	mov	w1, #47
	bl	_strrchr
	cmp	x0, #0
	csinc	x22, x21, x0, eq
Lloh149:
	adrp	x1, l_.str.20@PAGE
Lloh150:
	add	x1, x1, l_.str.20@PAGEOFF
	mov	x0, x22
	bl	_strcmp
	sub	x8, x29, #40
	stur	x22, [x8, #-256]                ; 8-byte Folded Spill
	cbz	x0, LBB0_83
; %bb.81:
Lloh151:
	adrp	x1, l_.str.21@PAGE
Lloh152:
	add	x1, x1, l_.str.21@PAGEOFF
	mov	x0, x22
	bl	_strcmp
Lloh153:
	adrp	x8, _NO@GOTPAGE
Lloh154:
	ldr	x8, [x8, _NO@GOTPAGEOFF]
	cmp	x0, #0
Lloh155:
	adrp	x9, _YES@GOTPAGE
Lloh156:
	ldr	x9, [x9, _YES@GOTPAGEOFF]
	csel	x8, x9, x8, eq
	b	LBB0_84
LBB0_82:
	sub	x8, x29, #40
	stur	xzr, [x8, #-256]                ; 8-byte Folded Spill
	b	LBB0_85
LBB0_83:
Lloh157:
	adrp	x8, _YES@GOTPAGE
Lloh158:
	ldr	x8, [x8, _YES@GOTPAGEOFF]
LBB0_84:
	ldr	w22, [x8]
LBB0_85:
Lloh159:
	adrp	x8, _PRIO_PROCESS@GOTPAGE
Lloh160:
	ldr	x8, [x8, _PRIO_PROCESS@GOTPAGEOFF]
Lloh161:
	ldr	w0, [x8]
	mov	w1, #0
	sub	x8, x29, #4
	ldur	w2, [x8, #-256]                 ; 4-byte Folded Reload
	bl	_setpriority
	ldr	x2, [x27]
Lloh162:
	adrp	x8, _LOGIN_SETGROUP@GOTPAGE
Lloh163:
	ldr	x8, [x8, _LOGIN_SETGROUP@GOTPAGEOFF]
Lloh164:
	ldr	w3, [x8]
	mov	x0, x28
	mov	x1, x27
	bl	_setusercontext
	tbz	x0, #63, LBB0_87
; %bb.86:
Lloh165:
	adrp	x1, l_.str.22@PAGE
Lloh166:
	add	x1, x1, l_.str.22@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_87:
	ldr	w0, [x25]
Lloh167:
	adrp	x8, _PAM_ESTABLISH_CRED@GOTPAGE
Lloh168:
	ldr	x8, [x8, _PAM_ESTABLISH_CRED@GOTPAGEOFF]
Lloh169:
	ldr	w1, [x8]
	bl	_pam_setcred
	ldr	w8, [x20]
	cmp	w0, w8
	b.eq	LBB0_89
; %bb.88:
	mov	x1, x0
Lloh170:
	adrp	x8, _LOG_ERR@GOTPAGE
Lloh171:
	ldr	x8, [x8, _LOG_ERR@GOTPAGEOFF]
Lloh172:
	ldr	w24, [x8]
	ldr	w0, [x25]
	bl	_pam_strerror
	mov	x2, x0
Lloh173:
	adrp	x1, l_.str.23@PAGE
Lloh174:
	add	x1, x1, l_.str.23@PAGEOFF
	mov	x0, x24
	bl	_syslog
Lloh175:
	adrp	x1, l_.str.24@PAGE
Lloh176:
	add	x1, x1, l_.str.24@PAGEOFF
	mov	w0, #1
	bl	_errx
LBB0_89:
	stur	w22, [x29, #-232]               ; 4-byte Folded Spill
	stur	x21, [x29, #-224]               ; 8-byte Folded Spill
	cbz	w23, LBB0_92
; %bb.90:
	ldr	w0, [x25]
	mov	w1, #0
	bl	_pam_open_session
	ldr	w8, [x20]
	cmp	w0, w8
	b.eq	LBB0_92
; %bb.91:
	mov	x1, x0
Lloh177:
	adrp	x8, _LOG_ERR@GOTPAGE
Lloh178:
	ldr	x8, [x8, _LOG_ERR@GOTPAGEOFF]
Lloh179:
	ldr	w24, [x8]
	ldr	w0, [x25]
	bl	_pam_strerror
	mov	x2, x0
Lloh180:
	adrp	x1, l_.str.25@PAGE
Lloh181:
	add	x1, x1, l_.str.25@PAGEOFF
	mov	x0, x24
	bl	_syslog
Lloh182:
	adrp	x1, l_.str.26@PAGE
Lloh183:
	add	x1, x1, l_.str.26@PAGEOFF
	mov	w0, #1
	bl	_errx
LBB0_92:
Lloh184:
	adrp	x8, _SA_RESTART@GOTPAGE
Lloh185:
	ldr	x8, [x8, _SA_RESTART@GOTPAGEOFF]
Lloh186:
	ldr	w8, [x8]
	stur	w8, [x29, #-140]
Lloh187:
	adrp	x21, _SIG_IGN@GOTPAGE
Lloh188:
	ldr	x21, [x21, _SIG_IGN@GOTPAGEOFF]
	ldr	x8, [x21]
	stur	x8, [x29, #-152]
	sub	x8, x29, #152
	add	x0, x8, #8
	bl	_sigemptyset
Lloh189:
	adrp	x25, _SIGINT@GOTPAGE
Lloh190:
	ldr	x25, [x25, _SIGINT@GOTPAGEOFF]
	ldr	w0, [x25]
	sub	x1, x29, #152
	sub	x2, x29, #168
	bl	_sigaction
Lloh191:
	adrp	x22, _SIGQUIT@GOTPAGE
Lloh192:
	ldr	x22, [x22, _SIGQUIT@GOTPAGEOFF]
	ldr	w0, [x22]
	sub	x1, x29, #152
	sub	x2, x29, #184
	bl	_sigaction
Lloh193:
	adrp	x20, _SIGPIPE@GOTPAGE
Lloh194:
	ldr	x20, [x20, _SIGPIPE@GOTPAGEOFF]
	ldr	w0, [x20]
	sub	x1, x29, #152
	sub	x2, x29, #200
	bl	_sigaction
Lloh195:
	adrp	x8, _SIG_DFL@GOTPAGE
Lloh196:
	ldr	x8, [x8, _SIG_DFL@GOTPAGEOFF]
Lloh197:
	ldr	x8, [x8]
	stur	x8, [x29, #-152]
Lloh198:
	adrp	x8, _SIGTSTP@GOTPAGE
Lloh199:
	ldr	x8, [x8, _SIGTSTP@GOTPAGEOFF]
Lloh200:
	ldr	w0, [x8]
	sub	x1, x29, #152
	mov	x2, #0
	bl	_sigaction
	mov	w8, #1
	stur	w8, [x29, #-124]
	sub	x0, x29, #104
	bl	_pipe
	cmn	w0, #1
	b.ne	LBB0_94
; %bb.93:
	bl	_PAM_END
Lloh201:
	adrp	x1, l_.str.27@PAGE
Lloh202:
	add	x1, x1, l_.str.27@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_94:
	bl	_fork
	cmn	w0, #1
	b.eq	LBB0_100
; %bb.95:
	mov	x24, x0
	cbz	w0, LBB0_101
; %bb.96:
	ldr	x8, [x21]
	stur	x8, [x29, #-152]
Lloh203:
	adrp	x8, _SIGTTOU@GOTPAGE
Lloh204:
	ldr	x8, [x8, _SIGTTOU@GOTPAGEOFF]
Lloh205:
	ldr	w0, [x8]
	sub	x1, x29, #152
	mov	x2, #0
	bl	_sigaction
	ldur	w0, [x29, #-104]
	bl	_close
	mov	x0, x24
	mov	x1, x24
	bl	_setpgid
Lloh206:
	adrp	x8, _STDERR_FILENO@GOTPAGE
Lloh207:
	ldr	x8, [x8, _STDERR_FILENO@GOTPAGEOFF]
Lloh208:
	ldr	w0, [x8]
	bl	_tcgetpgrp
	mov	x19, x0
	bl	_getpgrp
	cmp	w19, w0
	b.ne	LBB0_98
; %bb.97:
Lloh209:
	adrp	x8, _STDERR_FILENO@GOTPAGE
Lloh210:
	ldr	x8, [x8, _STDERR_FILENO@GOTPAGEOFF]
Lloh211:
	ldr	w0, [x8]
	mov	x1, x24
	bl	_tcsetpgrp
LBB0_98:
	ldur	w0, [x29, #-100]
	bl	_close
	ldr	w0, [x20]
	sub	x1, x29, #200
	mov	x2, #0
	bl	_sigaction
Lloh212:
	adrp	x20, _WUNTRACED@GOTPAGE
Lloh213:
	ldr	x20, [x20, _WUNTRACED@GOTPAGEOFF]
	ldr	w2, [x20]
	sub	x1, x29, #124
	mov	x0, x24
	bl	_waitpid
	cmn	w0, #1
Lloh214:
	adrp	x25, _STDERR_FILENO@GOTPAGE
Lloh215:
	ldr	x25, [x25, _STDERR_FILENO@GOTPAGEOFF]
	b.ne	LBB0_133
LBB0_99:
	ldr	w19, [x25]
	bl	_getpgrp
	mov	x1, x0
	mov	x0, x19
	bl	_tcsetpgrp
Lloh216:
	adrp	x1, l_.str.28@PAGE
Lloh217:
	add	x1, x1, l_.str.28@PAGEOFF
	mov	w0, #1
	bl	_err
	b	LBB0_141
LBB0_100:
	bl	_PAM_END
Lloh218:
	adrp	x1, l_.str.29@PAGE
Lloh219:
	add	x1, x1, l_.str.29@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_101:
	ldur	w0, [x29, #-100]
	bl	_close
	ldur	w0, [x29, #-104]
	sub	x1, x29, #204
	mov	w2, #1
	bl	_read
	ldur	w0, [x29, #-104]
	bl	_close
	ldr	w0, [x20]
	sub	x1, x29, #200
	mov	x2, #0
	bl	_sigaction
	ldr	w0, [x25]
	sub	x1, x29, #168
	mov	x2, #0
	bl	_sigaction
	ldr	w0, [x22]
	sub	x1, x29, #184
	mov	x2, #0
	bl	_sigaction
Lloh220:
	adrp	x8, _LOGIN_SETMAC@GOTPAGE
Lloh221:
	ldr	x8, [x8, _LOGIN_SETMAC@GOTPAGEOFF]
Lloh222:
	ldr	w8, [x8]
	ldur	w9, [x29, #-228]                ; 4-byte Folded Reload
	cmp	w9, #0
	csel	w9, wzr, w8, eq
	cmp	w23, #0
Lloh223:
	adrp	x10, _LOGIN_SETALL@GOTPAGE
Lloh224:
	ldr	x10, [x10, _LOGIN_SETALL@GOTPAGEOFF]
Lloh225:
	ldr	w10, [x10]
Lloh226:
	adrp	x20, _LOGIN_SETENV@GOTPAGE
Lloh227:
	ldr	x20, [x20, _LOGIN_SETENV@GOTPAGEOFF]
	ldr	w11, [x20]
Lloh228:
	adrp	x24, _LOGIN_SETUMASK@GOTPAGE
Lloh229:
	ldr	x24, [x24, _LOGIN_SETUMASK@GOTPAGEOFF]
	ldr	w12, [x24]
	orr	w11, w12, w11
Lloh230:
	adrp	x12, _LOGIN_SETLOGIN@GOTPAGE
Lloh231:
	ldr	x12, [x12, _LOGIN_SETLOGIN@GOTPAGEOFF]
Lloh232:
	ldr	w12, [x12]
	orr	w11, w11, w12
Lloh233:
	adrp	x25, _LOGIN_SETPATH@GOTPAGE
Lloh234:
	ldr	x25, [x25, _LOGIN_SETPATH@GOTPAGEOFF]
	ldr	w12, [x25]
	orr	w11, w11, w12
Lloh235:
	adrp	x12, _LOGIN_SETGROUP@GOTPAGE
Lloh236:
	ldr	x12, [x12, _LOGIN_SETGROUP@GOTPAGEOFF]
Lloh237:
	ldr	w12, [x12]
	orr	w11, w11, w12
	orr	w8, w11, w8
	bic	w8, w10, w8
	orr	w3, w8, w9
	ldur	x8, [x29, #-216]                ; 8-byte Folded Reload
	ccmp	x8, #0, #0, eq
	cset	w8, eq
	ldr	x2, [x27]
	cbnz	w19, LBB0_104
; %bb.102:
	cbnz	w8, LBB0_104
; %bb.103:
	ldur	w22, [x29, #-232]               ; 4-byte Folded Reload
	b	LBB0_106
LBB0_104:
	ldur	w22, [x29, #-232]               ; 4-byte Folded Reload
	cbz	x2, LBB0_106
; %bb.105:
Lloh238:
	adrp	x8, _LOGIN_SETPRIORITY@GOTPAGE
Lloh239:
	ldr	x8, [x8, _LOGIN_SETPRIORITY@GOTPAGEOFF]
Lloh240:
	ldr	w8, [x8]
Lloh241:
	adrp	x9, _LOGIN_SETRESOURCES@GOTPAGE
Lloh242:
	ldr	x9, [x9, _LOGIN_SETRESOURCES@GOTPAGEOFF]
Lloh243:
	ldr	w9, [x9]
	orr	w8, w9, w8
	bic	w3, w3, w8
LBB0_106:
	mov	x0, x28
	mov	x1, x27
	bl	_setusercontext
	tbz	x0, #63, LBB0_108
; %bb.107:
Lloh244:
	adrp	x1, l_.str.22@PAGE
Lloh245:
	add	x1, x1, l_.str.22@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_108:
	sub	x8, x29, #24
	ldur	x8, [x8, #-256]                 ; 8-byte Folded Reload
	sub	x9, x29, #32
	ldur	x9, [x9, #-256]                 ; 8-byte Folded Reload
	add	x21, x8, x9, lsl #3
	cbz	w19, LBB0_119
LBB0_109:
	mov	x0, x28
	bl	_login_close
Lloh246:
	adrp	x9, _YES@GOTPAGE
Lloh247:
	ldr	x9, [x9, _YES@GOTPAGEOFF]
	ldr	w8, [x9]
	cmp	w22, w8
	b.ne	LBB0_114
; %bb.110:
	ldp	x20, x10, [x29, #-248]          ; 16-byte Folded Reload
	cbz	w26, LBB0_112
; %bb.111:
Lloh248:
	adrp	x8, l_.str.35@PAGE
Lloh249:
	add	x8, x8, l_.str.35@PAGEOFF
	str	x8, [x21], #-8
LBB0_112:
	cbz	w19, LBB0_115
; %bb.113:
Lloh250:
	adrp	x8, l_.str.36@PAGE
Lloh251:
	add	x8, x8, l_.str.36@PAGEOFF
	str	x8, [x21], #-8
	b	LBB0_115
LBB0_114:
	ldp	x20, x10, [x29, #-248]          ; 16-byte Folded Reload
LBB0_115:
	ldr	w8, [x9]
Lloh252:
	adrp	x9, l_.str.38@PAGE
Lloh253:
	add	x9, x9, l_.str.38@PAGEOFF
	cmp	w22, w8
Lloh254:
	adrp	x8, l_.str.5@PAGE
Lloh255:
	add	x8, x8, l_.str.5@PAGEOFF
	csel	x8, x9, x8, eq
Lloh256:
	adrp	x9, l_.str.37@PAGE
Lloh257:
	add	x9, x9, l_.str.37@PAGEOFF
	cmp	w23, #0
	csel	x8, x8, x9, eq
	str	x8, [x21]
	cbz	x10, LBB0_117
; %bb.116:
Lloh258:
	adrp	x8, _LOG_NOTICE@GOTPAGE
Lloh259:
	ldr	x8, [x8, _LOG_NOTICE@GOTPAGEOFF]
Lloh260:
	ldr	w22, [x8]
	bl	_ontty
	stp	x20, x0, [sp, #-16]!
Lloh261:
	adrp	x1, l_.str.39@PAGE
Lloh262:
	add	x1, x1, l_.str.39@PAGEOFF
	mov	x0, x22
	ldur	x2, [x29, #-256]                ; 8-byte Folded Reload
	bl	_syslog
	add	sp, sp, #16
LBB0_117:
	ldur	x19, [x29, #-224]               ; 8-byte Folded Reload
	mov	x0, x19
	mov	x1, x21
	bl	_execv
	str	x19, [sp, #-16]!
Lloh263:
	adrp	x1, l_.str.40@PAGE
Lloh264:
	add	x1, x1, l_.str.40@PAGEOFF
	mov	w0, #1
	bl	_err
	add	sp, sp, #16
	sub	x8, x29, #16
	ldur	x8, [x8, #-256]                 ; 8-byte Folded Reload
	mov	sp, x8
	ldur	x8, [x29, #-96]
Lloh265:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh266:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh267:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_132
; %bb.118:
	mov	w0, #0
	sub	sp, x29, #80
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp], #96             ; 16-byte Folded Reload
	ret
LBB0_119:
	cbz	w23, LBB0_121
; %bb.120:
Lloh268:
	adrp	x0, l_.str.30@PAGE
Lloh269:
	add	x0, x0, l_.str.30@PAGEOFF
	bl	_getenv
	sub	x8, x29, #40
	stur	x0, [x8, #-256]                 ; 8-byte Folded Spill
Lloh270:
	adrp	x8, _environ@GOTPAGE
Lloh271:
	ldr	x8, [x8, _environ@GOTPAGEOFF]
Lloh272:
	adrp	x9, _main.cleanenv@PAGE
Lloh273:
	add	x9, x9, _main.cleanenv@PAGEOFF
Lloh274:
	str	x9, [x8]
	b	LBB0_122
LBB0_121:
	ldr	x8, [x27]
	cbz	x8, LBB0_123
LBB0_122:
	ldr	x1, [x27, #8]
Lloh275:
	adrp	x0, l_.str.31@PAGE
Lloh276:
	add	x0, x0, l_.str.31@PAGEOFF
	mov	w2, #1
	bl	_setenv
LBB0_123:
	ldr	x1, [x27, #24]
Lloh277:
	adrp	x0, l_.str.32@PAGE
Lloh278:
	add	x0, x0, l_.str.32@PAGEOFF
	mov	w2, #1
	bl	_setenv
Lloh279:
	adrp	x0, l_.str.33@PAGE
Lloh280:
	add	x0, x0, l_.str.33@PAGEOFF
	ldur	x1, [x29, #-224]                ; 8-byte Folded Reload
	mov	w2, #1
	bl	_setenv
	cbz	w23, LBB0_109
; %bb.124:
Lloh281:
	adrp	x8, _pamh@GOTPAGE
Lloh282:
	ldr	x8, [x8, _pamh@GOTPAGEOFF]
Lloh283:
	ldr	w0, [x8]
	bl	_pam_getenvlist
Lloh284:
	adrp	x8, _environ_pam@GOTPAGE
Lloh285:
	ldr	x8, [x8, _environ_pam@GOTPAGEOFF]
Lloh286:
	str	w0, [x8]
	cbz	w0, LBB0_126
; %bb.125:
	bl	_export_pam_environment
LBB0_126:
	ldr	x2, [x27]
	ldr	w8, [x25]
	ldr	w9, [x24]
	orr	w8, w9, w8
	ldr	w9, [x20]
	orr	w3, w8, w9
	mov	x0, x28
	mov	x1, x27
	bl	_setusercontext
	sub	x8, x29, #40
	ldur	x1, [x8, #-256]                 ; 8-byte Folded Reload
	cbz	x1, LBB0_128
; %bb.127:
Lloh287:
	adrp	x0, l_.str.30@PAGE
Lloh288:
	add	x0, x0, l_.str.30@PAGEOFF
	mov	w2, #1
	bl	_setenv
LBB0_128:
Lloh289:
	adrp	x8, _pamh@GOTPAGE
Lloh290:
	ldr	x8, [x8, _pamh@GOTPAGEOFF]
Lloh291:
	ldr	w0, [x8]
Lloh292:
	adrp	x1, l_.str.32@PAGE
Lloh293:
	add	x1, x1, l_.str.32@PAGEOFF
	bl	_pam_getenv
	cbz	x0, LBB0_130
; %bb.129:
	bl	_chdir
	tbz	w0, #31, LBB0_109
	b	LBB0_131
LBB0_130:
	ldr	x0, [x27, #24]
	bl	_chdir
	tbz	w0, #31, LBB0_109
LBB0_131:
Lloh294:
	adrp	x1, l_.str.34@PAGE
Lloh295:
	add	x1, x1, l_.str.34@PAGEOFF
	mov	w0, #1
	bl	_errx
	b	LBB0_109
LBB0_132:
	bl	___stack_chk_fail
LBB0_133:
Lloh296:
	adrp	x21, _SIGSTOP@GOTPAGE
Lloh297:
	ldr	x21, [x21, _SIGSTOP@GOTPAGEOFF]
Lloh298:
	adrp	x22, _SIGCONT@GOTPAGE
Lloh299:
	ldr	x22, [x22, _SIGCONT@GOTPAGEOFF]
	mov	w23, #1
	b	LBB0_135
LBB0_134:                               ;   in Loop: Header=BB0_135 Depth=1
	ldr	w1, [x22]
	mov	x0, x24
	bl	_kill
	stur	w23, [x29, #-124]
	ldr	w2, [x20]
	sub	x1, x29, #124
	mov	x0, x24
	bl	_waitpid
	cmn	w0, #1
	b.eq	LBB0_99
LBB0_135:                               ; =>This Inner Loop Header: Depth=1
	ldur	w0, [x29, #-124]
	bl	_WIFSTOPPED
	cbz	w0, LBB0_140
; %bb.136:                              ;   in Loop: Header=BB0_135 Depth=1
	mov	x0, x24
	bl	_getpgid
	mov	x19, x0
	ldr	w0, [x25]
	bl	_tcgetpgrp
	cmp	w0, w19
	b.ne	LBB0_138
; %bb.137:                              ;   in Loop: Header=BB0_135 Depth=1
	ldr	w19, [x25]
	bl	_getpgrp
	mov	x1, x0
	mov	x0, x19
	bl	_tcsetpgrp
LBB0_138:                               ;   in Loop: Header=BB0_135 Depth=1
	bl	_getpid
	ldr	w1, [x21]
	bl	_kill
	ldr	w0, [x25]
	bl	_tcgetpgrp
	mov	x19, x0
	bl	_getpgrp
	cmp	w19, w0
	b.ne	LBB0_134
; %bb.139:                              ;   in Loop: Header=BB0_135 Depth=1
	mov	x0, x24
	bl	_getpgid
	mov	x1, x0
	ldr	w0, [x25]
	bl	_tcsetpgrp
	b	LBB0_134
LBB0_140:
	ldr	w19, [x25]
	bl	_getpgrp
	mov	x1, x0
	mov	x0, x19
	bl	_tcsetpgrp
LBB0_141:
	bl	_PAM_END
	ldur	w0, [x29, #-124]
	bl	_WEXITSTATUS
	bl	_exit
	.loh AdrpAdd	Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpAdrp	Lloh11, Lloh12
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh21, Lloh22
	.loh AdrpLdrGot	Lloh19, Lloh20
	.loh AdrpAdd	Lloh17, Lloh18
	.loh AdrpLdrGot	Lloh23, Lloh24
	.loh AdrpAdd	Lloh25, Lloh26
	.loh AdrpAdd	Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpAdd	Lloh32, Lloh33
	.loh AdrpAdd	Lloh34, Lloh35
	.loh AdrpAdd	Lloh45, Lloh46
	.loh AdrpLdrGot	Lloh43, Lloh44
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpLdrGot	Lloh38, Lloh39
	.loh AdrpLdrGot	Lloh36, Lloh37
	.loh AdrpAdd	Lloh47, Lloh48
	.loh AdrpAdd	Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh54, Lloh55, Lloh56
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpLdrGot	Lloh61, Lloh62
	.loh AdrpLdrGot	Lloh59, Lloh60
	.loh AdrpAdd	Lloh57, Lloh58
	.loh AdrpLdrGot	Lloh71, Lloh72
	.loh AdrpAdd	Lloh69, Lloh70
	.loh AdrpLdrGotLdr	Lloh66, Lloh67, Lloh68
	.loh AdrpLdrGotLdr	Lloh63, Lloh64, Lloh65
	.loh AdrpLdrGotLdr	Lloh81, Lloh82, Lloh83
	.loh AdrpAdd	Lloh79, Lloh80
	.loh AdrpLdrGotLdr	Lloh76, Lloh77, Lloh78
	.loh AdrpLdrGotLdr	Lloh73, Lloh74, Lloh75
	.loh AdrpAdd	Lloh89, Lloh90
	.loh AdrpAdd	Lloh87, Lloh88
	.loh AdrpLdrGotLdr	Lloh84, Lloh85, Lloh86
	.loh AdrpLdrGotLdr	Lloh91, Lloh92, Lloh93
	.loh AdrpAdd	Lloh97, Lloh98
	.loh AdrpLdrGotLdr	Lloh94, Lloh95, Lloh96
	.loh AdrpAdd	Lloh99, Lloh100
	.loh AdrpLdrGotLdr	Lloh101, Lloh102, Lloh103
	.loh AdrpLdrGotLdr	Lloh104, Lloh105, Lloh106
	.loh AdrpAdd	Lloh117, Lloh118
	.loh AdrpLdrGot	Lloh115, Lloh116
	.loh AdrpAdd	Lloh113, Lloh114
	.loh AdrpLdrGotLdr	Lloh110, Lloh111, Lloh112
	.loh AdrpLdrGotLdr	Lloh107, Lloh108, Lloh109
	.loh AdrpAdd	Lloh129, Lloh130
	.loh AdrpLdrGot	Lloh127, Lloh128
	.loh AdrpAdd	Lloh125, Lloh126
	.loh AdrpLdrGotLdr	Lloh122, Lloh123, Lloh124
	.loh AdrpLdrGotLdr	Lloh119, Lloh120, Lloh121
	.loh AdrpAdd	Lloh131, Lloh132
	.loh AdrpAdd	Lloh133, Lloh134
	.loh AdrpAdd	Lloh135, Lloh136
	.loh AdrpAdd	Lloh137, Lloh138
	.loh AdrpLdrGot	Lloh139, Lloh140
	.loh AdrpLdrGotLdr	Lloh144, Lloh145, Lloh146
	.loh AdrpLdrGotLdr	Lloh141, Lloh142, Lloh143
	.loh AdrpLdrGot	Lloh147, Lloh148
	.loh AdrpAdd	Lloh149, Lloh150
	.loh AdrpLdrGot	Lloh155, Lloh156
	.loh AdrpLdrGot	Lloh153, Lloh154
	.loh AdrpAdd	Lloh151, Lloh152
	.loh AdrpLdrGot	Lloh157, Lloh158
	.loh AdrpLdrGotLdr	Lloh162, Lloh163, Lloh164
	.loh AdrpLdrGotLdr	Lloh159, Lloh160, Lloh161
	.loh AdrpAdd	Lloh165, Lloh166
	.loh AdrpLdrGotLdr	Lloh167, Lloh168, Lloh169
	.loh AdrpAdd	Lloh175, Lloh176
	.loh AdrpAdd	Lloh173, Lloh174
	.loh AdrpLdrGotLdr	Lloh170, Lloh171, Lloh172
	.loh AdrpAdd	Lloh182, Lloh183
	.loh AdrpAdd	Lloh180, Lloh181
	.loh AdrpLdrGotLdr	Lloh177, Lloh178, Lloh179
	.loh AdrpLdrGotLdr	Lloh198, Lloh199, Lloh200
	.loh AdrpLdrGotLdr	Lloh195, Lloh196, Lloh197
	.loh AdrpLdrGot	Lloh193, Lloh194
	.loh AdrpLdrGot	Lloh191, Lloh192
	.loh AdrpLdrGot	Lloh189, Lloh190
	.loh AdrpLdrGot	Lloh187, Lloh188
	.loh AdrpLdrGotLdr	Lloh184, Lloh185, Lloh186
	.loh AdrpAdd	Lloh201, Lloh202
	.loh AdrpLdrGotLdr	Lloh206, Lloh207, Lloh208
	.loh AdrpLdrGotLdr	Lloh203, Lloh204, Lloh205
	.loh AdrpLdrGotLdr	Lloh209, Lloh210, Lloh211
	.loh AdrpLdrGot	Lloh214, Lloh215
	.loh AdrpLdrGot	Lloh212, Lloh213
	.loh AdrpAdd	Lloh216, Lloh217
	.loh AdrpAdd	Lloh218, Lloh219
	.loh AdrpLdrGotLdr	Lloh235, Lloh236, Lloh237
	.loh AdrpLdrGot	Lloh233, Lloh234
	.loh AdrpLdrGotLdr	Lloh230, Lloh231, Lloh232
	.loh AdrpLdrGot	Lloh228, Lloh229
	.loh AdrpLdrGot	Lloh226, Lloh227
	.loh AdrpLdrGotLdr	Lloh223, Lloh224, Lloh225
	.loh AdrpLdrGotLdr	Lloh220, Lloh221, Lloh222
	.loh AdrpLdrGotLdr	Lloh241, Lloh242, Lloh243
	.loh AdrpLdrGotLdr	Lloh238, Lloh239, Lloh240
	.loh AdrpAdd	Lloh244, Lloh245
	.loh AdrpLdrGot	Lloh246, Lloh247
	.loh AdrpAdd	Lloh248, Lloh249
	.loh AdrpAdd	Lloh250, Lloh251
	.loh AdrpAdd	Lloh256, Lloh257
	.loh AdrpAdd	Lloh254, Lloh255
	.loh AdrpAdd	Lloh252, Lloh253
	.loh AdrpAdd	Lloh261, Lloh262
	.loh AdrpLdrGotLdr	Lloh258, Lloh259, Lloh260
	.loh AdrpLdrGotLdr	Lloh265, Lloh266, Lloh267
	.loh AdrpAdd	Lloh263, Lloh264
	.loh AdrpAdd	Lloh272, Lloh273
	.loh AdrpLdrGotStr	Lloh270, Lloh271, Lloh274
	.loh AdrpAdd	Lloh268, Lloh269
	.loh AdrpAdd	Lloh275, Lloh276
	.loh AdrpAdd	Lloh279, Lloh280
	.loh AdrpAdd	Lloh277, Lloh278
	.loh AdrpLdrGotStr	Lloh284, Lloh285, Lloh286
	.loh AdrpLdrGotLdr	Lloh281, Lloh282, Lloh283
	.loh AdrpAdd	Lloh287, Lloh288
	.loh AdrpAdd	Lloh292, Lloh293
	.loh AdrpLdrGotLdr	Lloh289, Lloh290, Lloh291
	.loh AdrpAdd	Lloh294, Lloh295
	.loh AdrpLdrGot	Lloh298, Lloh299
	.loh AdrpLdrGot	Lloh296, Lloh297
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_7-LBB0_2)>>2
	.byte	(LBB0_9-LBB0_2)>>2
	.byte	(LBB0_9-LBB0_2)>>2
	.byte	(LBB0_4-LBB0_2)>>2
	.byte	(LBB0_9-LBB0_2)>>2
	.byte	(LBB0_9-LBB0_2)>>2
	.byte	(LBB0_9-LBB0_2)>>2
	.byte	(LBB0_9-LBB0_2)>>2
	.byte	(LBB0_9-LBB0_2)>>2
	.byte	(LBB0_2-LBB0_2)>>2
	.byte	(LBB0_10-LBB0_2)>>2
	.byte	(LBB0_9-LBB0_2)>>2
	.byte	(LBB0_9-LBB0_2)>>2
	.byte	(LBB0_9-LBB0_2)>>2
	.byte	(LBB0_9-LBB0_2)>>2
	.byte	(LBB0_9-LBB0_2)>>2
	.byte	(LBB0_11-LBB0_2)>>2
                                        ; -- End function
.zerofill __DATA,__bss,_main.cleanenv,8,3 ; @main.cleanenv
	.comm	_openpam_ttyconv,4,2            ; @openpam_ttyconv
	.comm	_MAXPATHLEN,4,2                 ; @MAXPATHLEN
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"root"

	.comm	_UNSET,4,2                      ; @UNSET
l_.str.1:                               ; @.str.1
	.asciz	"-flmsc:"

	.comm	_optarg,8,3                     ; @optarg
	.comm	_optind,4,2                     ; @optind
l_.str.2:                               ; @.str.2
	.asciz	"not running setuid"

	.comm	_MAXLOGNAME,4,2                 ; @MAXLOGNAME
l_.str.3:                               ; @.str.3
	.asciz	"username too long"

l_.str.4:                               ; @.str.4
	.asciz	"malloc failure"

	.comm	_errno,8,3                      ; @errno
	.comm	_PRIO_PROCESS,4,2               ; @PRIO_PROCESS
l_.str.5:                               ; @.str.5
	.asciz	"su"

	.comm	_LOG_CONS,4,2                   ; @LOG_CONS
	.comm	_LOG_AUTH,4,2                   ; @LOG_AUTH
l_.str.6:                               ; @.str.6
	.asciz	"who are you?"

l_.str.7:                               ; @.str.7
	.asciz	"strdup failure"

	.comm	__PATH_BSHELL,8,3               ; @_PATH_BSHELL
	.comm	_NO,4,2                         ; @NO
	.comm	_pamh,4,2                       ; @pamh
	.comm	_PAM_SUCCESS,4,2                ; @PAM_SUCCESS
	.comm	_LOG_ERR,4,2                    ; @LOG_ERR
l_.str.8:                               ; @.str.8
	.asciz	"pam_start: %s"

	.comm	_PAM_RUSER,4,2                  ; @PAM_RUSER
	.comm	_STDERR_FILENO,4,2              ; @STDERR_FILENO
l_.str.9:                               ; @.str.9
	.asciz	"tty"

	.comm	_PAM_TTY,4,2                    ; @PAM_TTY
	.comm	_LOG_WARNING,4,2                ; @LOG_WARNING
l_.str.10:                              ; @.str.10
	.asciz	"BAD SU %s to %s on %s"

l_.str.11:                              ; @.str.11
	.asciz	"Sorry"

	.comm	_PAM_USER,4,2                   ; @PAM_USER
l_.str.12:                              ; @.str.12
	.asciz	"pam_get_item(PAM_USER): %s"

l_.str.13:                              ; @.str.13
	.asciz	"unknown login: %s"

	.comm	_PAM_NEW_AUTHTOK_REQD,4,2       ; @PAM_NEW_AUTHTOK_REQD
	.comm	_PAM_CHANGE_EXPIRED_AUTHTOK,4,2 ; @PAM_CHANGE_EXPIRED_AUTHTOK
l_.str.14:                              ; @.str.14
	.asciz	"pam_chauthtok: %s"

l_.str.15:                              ; @.str.15
	.asciz	"pam_acct_mgmt: %s"

l_.str.16:                              ; @.str.16
	.asciz	"only root may use -c"

l_.str.17:                              ; @.str.17
	.asciz	"login_getclass"

l_.str.18:                              ; @.str.18
	.asciz	"unknown class: %s"

l_.str.19:                              ; @.str.19
	.asciz	"permission denied (shell)"

l_.str.20:                              ; @.str.20
	.asciz	"csh"

l_.str.21:                              ; @.str.21
	.asciz	"tcsh"

	.comm	_YES,4,2                        ; @YES
	.comm	_LOGIN_SETGROUP,4,2             ; @LOGIN_SETGROUP
l_.str.22:                              ; @.str.22
	.asciz	"setusercontext"

	.comm	_PAM_ESTABLISH_CRED,4,2         ; @PAM_ESTABLISH_CRED
l_.str.23:                              ; @.str.23
	.asciz	"pam_setcred: %s"

l_.str.24:                              ; @.str.24
	.asciz	"failed to establish credentials."

l_.str.25:                              ; @.str.25
	.asciz	"pam_open_session: %s"

l_.str.26:                              ; @.str.26
	.asciz	"failed to open session."

	.comm	_SA_RESTART,4,2                 ; @SA_RESTART
	.comm	_SIG_IGN,8,3                    ; @SIG_IGN
	.comm	_SIGINT,4,2                     ; @SIGINT
	.comm	_SIGQUIT,4,2                    ; @SIGQUIT
	.comm	_SIGPIPE,4,2                    ; @SIGPIPE
	.comm	_SIG_DFL,8,3                    ; @SIG_DFL
	.comm	_SIGTSTP,4,2                    ; @SIGTSTP
l_.str.27:                              ; @.str.27
	.asciz	"pipe"

	.comm	_SIGTTOU,4,2                    ; @SIGTTOU
	.comm	_WUNTRACED,4,2                  ; @WUNTRACED
	.comm	_SIGSTOP,4,2                    ; @SIGSTOP
	.comm	_SIGCONT,4,2                    ; @SIGCONT
l_.str.28:                              ; @.str.28
	.asciz	"waitpid"

l_.str.29:                              ; @.str.29
	.asciz	"fork"

	.comm	_LOGIN_SETALL,4,2               ; @LOGIN_SETALL
	.comm	_LOGIN_SETENV,4,2               ; @LOGIN_SETENV
	.comm	_LOGIN_SETUMASK,4,2             ; @LOGIN_SETUMASK
	.comm	_LOGIN_SETLOGIN,4,2             ; @LOGIN_SETLOGIN
	.comm	_LOGIN_SETPATH,4,2              ; @LOGIN_SETPATH
	.comm	_LOGIN_SETMAC,4,2               ; @LOGIN_SETMAC
	.comm	_LOGIN_SETPRIORITY,4,2          ; @LOGIN_SETPRIORITY
	.comm	_LOGIN_SETRESOURCES,4,2         ; @LOGIN_SETRESOURCES
l_.str.30:                              ; @.str.30
	.asciz	"TERM"

	.comm	_environ,8,3                    ; @environ
l_.str.31:                              ; @.str.31
	.asciz	"USER"

l_.str.32:                              ; @.str.32
	.asciz	"HOME"

l_.str.33:                              ; @.str.33
	.asciz	"SHELL"

	.comm	_environ_pam,4,2                ; @environ_pam
l_.str.34:                              ; @.str.34
	.asciz	"no directory"

l_.str.35:                              ; @.str.35
	.asciz	"-f"

l_.str.36:                              ; @.str.36
	.asciz	"-m"

l_.str.37:                              ; @.str.37
	.asciz	"-su"

l_.str.38:                              ; @.str.38
	.asciz	"_su"

	.comm	_LOG_NOTICE,4,2                 ; @LOG_NOTICE
l_.str.39:                              ; @.str.39
	.asciz	"%s to %s%s"

l_.str.40:                              ; @.str.40
	.asciz	"%s"

	.comm	_AUE_su,4,2                     ; @AUE_su
	.comm	_ENOSYS,8,3                     ; @ENOSYS
	.comm	_EPERM,4,2                      ; @EPERM
.subsections_via_symbols
