	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_testAPI                        ## -- Begin function testAPI
	.p2align	4, 0x90
_testAPI:                               ## @testAPI
	.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	%r12
	pushq	%rbx
	subq	$336, %rsp                      ## imm = 0x150
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -40(%rbp)
	leaq	L_str(%rip), %rdi
	callq	_puts
	xorl	%eax, %eax
	callq	_getuid
	movl	%eax, %edi
	callq	_getpwuid
	movq	(%rax), %rsi
	leaq	-352(%rbp), %r14
	movq	%r14, %rdi
	movl	$32, %edx
	callq	_strlcpy
	leaq	L_str.20(%rip), %rdi
	callq	_puts
	xorl	%eax, %eax
	callq	_getpid
	movq	%rax, %rbx
	xorl	%edi, %edi
	callq	_ttyname
	movl	%ebx, %edi
	movq	%r14, %rsi
	xorl	%edx, %edx
	movl	%eax, %ecx
	callq	_login_alloc_entry
	movq	%rax, %r12
	movq	(%rax), %rdi
	leaq	L_.str.2(%rip), %rsi
	movl	$8, %edx
	callq	_strlcpy
	movq	_be_verbose@GOTPCREL(%rip), %r14
	cmpq	$0, (%r14)
	je	LBB0_2
## %bb.1:
	leaq	L_.str.3(%rip), %rsi
	movq	%r12, %rdi
	callq	_dump_logininfo
LBB0_2:
	leaq	L_str.21(%rip), %rdi
	callq	_puts
	leaq	L_.str.5(%rip), %rdi
	callq	_gethostbyname
	testq	%rax, %rax
	je	LBB0_3
## %bb.4:
	movq	(%rax), %rax
	movq	(%rax), %rsi
	leaq	-360(%rbp), %rbx
	movq	%rbx, %rdi
	movl	$4, %edx
	callq	_memcpy
	movq	%r12, %rdi
	movq	%rbx, %rsi
	movl	$4, %edx
	callq	_login_set_addr
	movq	8(%r12), %rdi
	leaq	L_.str.5(%rip), %rsi
	movl	$8, %edx
	callq	_strlcpy
	cmpq	$0, (%r14)
	je	LBB0_7
LBB0_6:
	leaq	L_.str.3(%rip), %rsi
	movq	%r12, %rdi
	callq	_dump_logininfo
LBB0_7:
	xorl	%eax, %eax
	callq	_geteuid
	testl	%eax, %eax
	je	LBB0_9
## %bb.8:
	leaq	L_str.29(%rip), %rdi
	callq	_puts
	jmp	LBB0_11
LBB0_3:
	leaq	L_str.22(%rip), %rdi
	callq	_puts
	cmpq	$0, (%r14)
	jne	LBB0_6
	jmp	LBB0_7
LBB0_9:
	movq	_nologtest@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	jne	LBB0_11
## %bb.10:
	movl	16(%r12), %esi
	leaq	-312(%rbp), %r14
	movq	%r14, %rdi
	movl	$8, %edx
	callq	_line_stripname
	leaq	L_str.23(%rip), %rdi
	callq	_puts
	movq	%r12, %rdi
	callq	_login_write
	leaq	L_str.24(%rip), %rdi
	callq	_puts
	leaq	L_.str.10(%rip), %rdi
	movq	%r14, %rsi
	xorl	%eax, %eax
	callq	_printf
	leaq	L_str.25(%rip), %rdi
	callq	_puts
	movq	%r12, %rdi
	callq	_login_login
	leaq	L_.str.12(%rip), %rdx
	leaq	-304(%rbp), %r15
	movq	%r15, %rdi
	movl	$256, %esi                      ## imm = 0x100
	movq	%r14, %rcx
	callq	_snprintf
	movq	%r15, %rdi
	callq	_system
	movq	_PAUSE_BEFORE_LOGOUT@GOTPCREL(%rip), %rbx
	movl	(%rbx), %esi
	leaq	L_.str.13(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	(%rbx), %edi
	callq	_sleep
	leaq	L_.str.14(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	leaq	L_str.26(%rip), %rdi
	callq	_puts
	movq	%r12, %rdi
	callq	_login_logout
	movq	%r15, %rdi
	callq	_system
	leaq	L_str.27(%rip), %rdi
	callq	_puts
	leaq	L_.str.17(%rip), %rdi
	movq	%r14, %rsi
	xorl	%eax, %eax
	callq	_printf
	leaq	L_.str.18(%rip), %rdx
	movq	%r15, %rdi
	movl	$256, %esi                      ## imm = 0x100
	movq	%r14, %rcx
	callq	_snprintf
	movq	%r15, %rdi
	callq	_system
	leaq	L_str.28(%rip), %rdi
	callq	_puts
	movq	%r12, %rdi
	callq	_login_free_entry
LBB0_11:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-40(%rbp), %rax
	jne	LBB0_13
## %bb.12:
	movl	$1, %eax
	addq	$336, %rsp                      ## imm = 0x150
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_13:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
L_.str.2:                               ## @.str.2
	.asciz	"OpenSSH-logintest"

	.comm	_be_verbose,8,3                 ## @be_verbose
L_.str.3:                               ## @.str.3
	.asciz	"li1"

L_.str.5:                               ## @.str.5
	.asciz	"localhost"

	.comm	_nologtest,8,3                  ## @nologtest
L_.str.10:                              ## @.str.10
	.asciz	"Performing a login on line %s "

L_.str.12:                              ## @.str.12
	.asciz	"who | grep '%s '"

L_.str.13:                              ## @.str.13
	.asciz	"--\nPausing for %d second(s)...\n"

	.comm	_PAUSE_BEFORE_LOGOUT,4,2        ## @PAUSE_BEFORE_LOGOUT
L_.str.14:                              ## @.str.14
	.asciz	"Performing a logout "

L_.str.17:                              ## @.str.17
	.asciz	"--\nThe output of 'last' shown next should have an entry for root \n  on %s for the time shown above:\n--\n"

L_.str.18:                              ## @.str.18
	.asciz	"last | grep '%s ' | head -3"

L_str:                                  ## @str
	.asciz	"**\n** Testing the API...\n**"

L_str.20:                               ## @str.20
	.asciz	"login_alloc_entry test (no host info):"

L_str.21:                               ## @str.21
	.asciz	"Setting host address info for 'localhost' (may call out):"

L_str.22:                               ## @str.22
	.asciz	"Couldn't set hostname(lookup failed)"

L_str.23:                               ## @str.23
	.asciz	"Performing an invalid login attempt (no type field)\n--"

L_str.24:                               ## @str.24
	.asciz	"--\n(Should have written errors to stderr)"

L_str.25:                               ## @str.25
	.asciz	"--"

L_str.26:                               ## @str.26
	.asciz	"\nThe root login shown above should be gone.\nIf the root login hasn't gone, but another user on the same\npty has, this is OK - we're hacking it here, and there\nshouldn't be two users on one pty in reality...\n-- ('who' output follows)"

L_str.27:                               ## @str.27
	.asciz	"-- ('who' output ends)"

L_str.28:                               ## @str.28
	.asciz	"--\nEnd of login test."

L_str.29:                               ## @str.29
	.asciz	"NOT RUNNING LOGIN TESTS - you are not root!"

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_testAPI                        ; -- Begin function testAPI
	.p2align	2
_testAPI:                               ; @testAPI
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #368
	.cfi_def_cfa_offset 368
	stp	x22, x21, [sp, #320]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #336]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #352]            ; 16-byte Folded Spill
	add	x29, sp, #352
	.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
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	stur	x8, [x29, #-40]
Lloh3:
	adrp	x0, l_str@PAGE
Lloh4:
	add	x0, x0, l_str@PAGEOFF
	bl	_puts
	bl	_getuid
	bl	_getpwuid
	ldr	x1, [x0]
	add	x0, sp, #16
	mov	w2, #32
	bl	_strlcpy
Lloh5:
	adrp	x0, l_str.20@PAGE
Lloh6:
	add	x0, x0, l_str.20@PAGEOFF
	bl	_puts
	bl	_getpid
	mov	x19, x0
	mov	w0, #0
	bl	_ttyname
	mov	x3, x0
	add	x1, sp, #16
	mov	x0, x19
	mov	x2, #0
	bl	_login_alloc_entry
	mov	x19, x0
	ldr	x0, [x0]
Lloh7:
	adrp	x1, l_.str.2@PAGE
Lloh8:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	w2, #8
	bl	_strlcpy
Lloh9:
	adrp	x20, _be_verbose@GOTPAGE
Lloh10:
	ldr	x20, [x20, _be_verbose@GOTPAGEOFF]
	ldr	x8, [x20]
	cbz	x8, LBB0_2
; %bb.1:
Lloh11:
	adrp	x1, l_.str.3@PAGE
Lloh12:
	add	x1, x1, l_.str.3@PAGEOFF
	mov	x0, x19
	bl	_dump_logininfo
LBB0_2:
Lloh13:
	adrp	x0, l_str.21@PAGE
Lloh14:
	add	x0, x0, l_str.21@PAGEOFF
	bl	_puts
Lloh15:
	adrp	x0, l_.str.5@PAGE
Lloh16:
	add	x0, x0, l_.str.5@PAGEOFF
	bl	_gethostbyname
	cbz	x0, LBB0_7
; %bb.3:
	ldr	x8, [x0]
	ldr	x1, [x8]
	add	x0, sp, #8
	mov	w2, #4
	bl	_memcpy
	add	x1, sp, #8
	mov	x0, x19
	mov	w2, #4
	bl	_login_set_addr
	ldr	x0, [x19, #8]
Lloh17:
	adrp	x1, l_.str.5@PAGE
Lloh18:
	add	x1, x1, l_.str.5@PAGEOFF
	mov	w2, #8
	bl	_strlcpy
	ldr	x8, [x20]
	cbz	x8, LBB0_5
LBB0_4:
Lloh19:
	adrp	x1, l_.str.3@PAGE
Lloh20:
	add	x1, x1, l_.str.3@PAGEOFF
	mov	x0, x19
	bl	_dump_logininfo
LBB0_5:
	bl	_geteuid
	cbz	w0, LBB0_8
; %bb.6:
Lloh21:
	adrp	x0, l_str.29@PAGE
Lloh22:
	add	x0, x0, l_str.29@PAGEOFF
	bl	_puts
	b	LBB0_10
LBB0_7:
Lloh23:
	adrp	x0, l_str.22@PAGE
Lloh24:
	add	x0, x0, l_str.22@PAGEOFF
	bl	_puts
	ldr	x8, [x20]
	cbnz	x8, LBB0_4
	b	LBB0_5
LBB0_8:
Lloh25:
	adrp	x8, _nologtest@GOTPAGE
Lloh26:
	ldr	x8, [x8, _nologtest@GOTPAGEOFF]
Lloh27:
	ldr	x8, [x8]
	cbnz	x8, LBB0_10
; %bb.9:
	ldr	w1, [x19, #16]
	add	x20, sp, #48
	add	x0, sp, #48
	mov	w2, #8
	bl	_line_stripname
Lloh28:
	adrp	x0, l_str.23@PAGE
Lloh29:
	add	x0, x0, l_str.23@PAGEOFF
	bl	_puts
	mov	x0, x19
	bl	_login_write
Lloh30:
	adrp	x0, l_str.24@PAGE
Lloh31:
	add	x0, x0, l_str.24@PAGEOFF
	bl	_puts
	str	x20, [sp]
Lloh32:
	adrp	x0, l_.str.10@PAGE
Lloh33:
	add	x0, x0, l_.str.10@PAGEOFF
	bl	_printf
Lloh34:
	adrp	x0, l_str.25@PAGE
Lloh35:
	add	x0, x0, l_str.25@PAGEOFF
	bl	_puts
	mov	x0, x19
	bl	_login_login
Lloh36:
	adrp	x2, l_.str.12@PAGE
Lloh37:
	add	x2, x2, l_.str.12@PAGEOFF
	add	x0, sp, #56
	add	x3, sp, #48
	mov	w1, #256
	bl	_snprintf
	add	x0, sp, #56
	bl	_system
Lloh38:
	adrp	x21, _PAUSE_BEFORE_LOGOUT@GOTPAGE
Lloh39:
	ldr	x21, [x21, _PAUSE_BEFORE_LOGOUT@GOTPAGEOFF]
	ldr	w8, [x21]
	str	x8, [sp]
Lloh40:
	adrp	x0, l_.str.13@PAGE
Lloh41:
	add	x0, x0, l_.str.13@PAGEOFF
	bl	_printf
	ldr	w0, [x21]
	bl	_sleep
Lloh42:
	adrp	x0, l_.str.14@PAGE
Lloh43:
	add	x0, x0, l_.str.14@PAGEOFF
	bl	_printf
Lloh44:
	adrp	x0, l_str.26@PAGE
Lloh45:
	add	x0, x0, l_str.26@PAGEOFF
	bl	_puts
	mov	x0, x19
	bl	_login_logout
	add	x0, sp, #56
	bl	_system
Lloh46:
	adrp	x0, l_str.27@PAGE
Lloh47:
	add	x0, x0, l_str.27@PAGEOFF
	bl	_puts
	str	x20, [sp]
Lloh48:
	adrp	x0, l_.str.17@PAGE
Lloh49:
	add	x0, x0, l_.str.17@PAGEOFF
	bl	_printf
Lloh50:
	adrp	x2, l_.str.18@PAGE
Lloh51:
	add	x2, x2, l_.str.18@PAGEOFF
	add	x0, sp, #56
	add	x3, sp, #48
	mov	w1, #256
	bl	_snprintf
	add	x0, sp, #56
	bl	_system
Lloh52:
	adrp	x0, l_str.28@PAGE
Lloh53:
	add	x0, x0, l_str.28@PAGEOFF
	bl	_puts
	mov	x0, x19
	bl	_login_free_entry
LBB0_10:
	ldur	x8, [x29, #-40]
Lloh54:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh55:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh56:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_12
; %bb.11:
	mov	w0, #1
	ldp	x29, x30, [sp, #352]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #336]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #320]            ; 16-byte Folded Reload
	add	sp, sp, #368
	ret
LBB0_12:
	bl	___stack_chk_fail
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpAdd	Lloh7, Lloh8
	.loh AdrpAdd	Lloh5, Lloh6
	.loh AdrpAdd	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh11, Lloh12
	.loh AdrpAdd	Lloh15, Lloh16
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpAdd	Lloh17, Lloh18
	.loh AdrpAdd	Lloh19, Lloh20
	.loh AdrpAdd	Lloh21, Lloh22
	.loh AdrpAdd	Lloh23, Lloh24
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpAdd	Lloh52, Lloh53
	.loh AdrpAdd	Lloh50, Lloh51
	.loh AdrpAdd	Lloh48, Lloh49
	.loh AdrpAdd	Lloh46, Lloh47
	.loh AdrpAdd	Lloh44, Lloh45
	.loh AdrpAdd	Lloh42, Lloh43
	.loh AdrpAdd	Lloh40, Lloh41
	.loh AdrpLdrGot	Lloh38, Lloh39
	.loh AdrpAdd	Lloh36, Lloh37
	.loh AdrpAdd	Lloh34, Lloh35
	.loh AdrpAdd	Lloh32, Lloh33
	.loh AdrpAdd	Lloh30, Lloh31
	.loh AdrpAdd	Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh54, Lloh55, Lloh56
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l_.str.2:                               ; @.str.2
	.asciz	"OpenSSH-logintest"

	.comm	_be_verbose,8,3                 ; @be_verbose
l_.str.3:                               ; @.str.3
	.asciz	"li1"

l_.str.5:                               ; @.str.5
	.asciz	"localhost"

	.comm	_nologtest,8,3                  ; @nologtest
l_.str.10:                              ; @.str.10
	.asciz	"Performing a login on line %s "

l_.str.12:                              ; @.str.12
	.asciz	"who | grep '%s '"

l_.str.13:                              ; @.str.13
	.asciz	"--\nPausing for %d second(s)...\n"

	.comm	_PAUSE_BEFORE_LOGOUT,4,2        ; @PAUSE_BEFORE_LOGOUT
l_.str.14:                              ; @.str.14
	.asciz	"Performing a logout "

l_.str.17:                              ; @.str.17
	.asciz	"--\nThe output of 'last' shown next should have an entry for root \n  on %s for the time shown above:\n--\n"

l_.str.18:                              ; @.str.18
	.asciz	"last | grep '%s ' | head -3"

l_str:                                  ; @str
	.asciz	"**\n** Testing the API...\n**"

l_str.20:                               ; @str.20
	.asciz	"login_alloc_entry test (no host info):"

l_str.21:                               ; @str.21
	.asciz	"Setting host address info for 'localhost' (may call out):"

l_str.22:                               ; @str.22
	.asciz	"Couldn't set hostname(lookup failed)"

l_str.23:                               ; @str.23
	.asciz	"Performing an invalid login attempt (no type field)\n--"

l_str.24:                               ; @str.24
	.asciz	"--\n(Should have written errors to stderr)"

l_str.25:                               ; @str.25
	.asciz	"--"

l_str.26:                               ; @str.26
	.asciz	"\nThe root login shown above should be gone.\nIf the root login hasn't gone, but another user on the same\npty has, this is OK - we're hacking it here, and there\nshouldn't be two users on one pty in reality...\n-- ('who' output follows)"

l_str.27:                               ; @str.27
	.asciz	"-- ('who' output ends)"

l_str.28:                               ; @str.28
	.asciz	"--\nEnd of login test."

l_str.29:                               ; @str.29
	.asciz	"NOT RUNNING LOGIN TESTS - you are not root!"

.subsections_via_symbols
