	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function proto
LCPI0_0:
	.space	16
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_proto:                                 ## @proto
	.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	$264, %rsp                      ## imm = 0x108
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	movq	_GSS_C_NO_CONTEXT@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -128(%rbp)
	movl	$8, -100(%rbp)
	leaq	-176(%rbp), %rsi
	leaq	-100(%rbp), %rdx
	movl	%edi, -96(%rbp)                 ## 4-byte Spill
	callq	_getsockname
	testq	%rax, %rax
	js	LBB0_2
## %bb.1:
	cmpl	$8, -100(%rbp)
	je	LBB0_3
LBB0_2:
	leaq	L_.str(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_3:
	movl	$8, -100(%rbp)
	leaq	-184(%rbp), %rsi
	leaq	-100(%rbp), %rdx
	movl	-96(%rbp), %edi                 ## 4-byte Reload
	callq	_getpeername
	testq	%rax, %rax
	js	LBB0_5
## %bb.4:
	cmpl	$8, -100(%rbp)
	je	LBB0_6
LBB0_5:
	leaq	L_.str.1(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_6:
	movl	-180(%rbp), %eax
	movl	%eax, %ecx
	movzbl	%ah, %edx
	movzbl	%al, %esi
	shrl	$24, %eax
	movl	%eax, -64(%rbp)
	movq	_GSS_C_AF_INET@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -192(%rbp)
	movl	$4, -208(%rbp)
	shrl	$16, %ecx
	movzbl	%cl, %ecx
	movl	%ecx, -60(%rbp)
	movl	%edx, -56(%rbp)
	movl	%esi, -52(%rbp)
	leaq	-64(%rbp), %rcx
	movq	%rcx, -200(%rbp)
	movq	%rax, -216(%rbp)
	movl	-172(%rbp), %eax
	movl	%eax, %ecx
	movzbl	%ah, %edx
	movzbl	%al, %esi
	shrl	$24, %eax
	movl	%eax, -80(%rbp)
	movl	$4, -232(%rbp)
	shrl	$16, %ecx
	movzbl	%cl, %eax
	movl	%eax, -76(%rbp)
	movl	%edx, -72(%rbp)
	movl	%esi, -68(%rbp)
	leaq	-80(%rbp), %rax
	movq	%rax, -224(%rbp)
	movl	$4, %edi
	callq	_emalloc
	movl	$0, -248(%rbp)
	movq	$0, -240(%rbp)
	movq	_GSS_C_NO_CREDENTIAL@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -152(%rbp)
	leaq	-256(%rbp), %rbx
	leaq	-168(%rbp), %r15
	leaq	-248(%rbp), %r14
	leaq	-132(%rbp), %r12
	.p2align	4, 0x90
LBB0_7:                                 ## =>This Inner Loop Header: Depth=1
	movl	-96(%rbp), %edi                 ## 4-byte Reload
	movq	%rbx, %rsi
	callq	_read_token
	movq	_GSS_C_NO_CREDENTIAL@GOTPCREL(%rip), %rax
	movq	(%rax), %rdx
	leaq	-152(%rbp), %rax
	movq	%rax, 32(%rsp)
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movq	%r15, 8(%rsp)
	leaq	-160(%rbp), %rax
	movq	%rax, (%rsp)
	leaq	-92(%rbp), %rdi
	leaq	-128(%rbp), %rsi
	movq	%rbx, %rcx
	movq	%r14, %r8
	movq	%r12, %r9
	callq	_gss_accept_sec_context
	movl	%eax, %r13d
	movl	%eax, %edi
	callq	_GSS_ERROR
	testq	%rax, %rax
	je	LBB0_9
## %bb.8:                               ##   in Loop: Header=BB0_7 Depth=1
	movl	-92(%rbp), %esi
	movl	$1, %edi
	leaq	L_.str.2(%rip), %rdx
	callq	_gss_err
LBB0_9:                                 ##   in Loop: Header=BB0_7 Depth=1
	cmpq	$0, -168(%rbp)
	je	LBB0_11
## %bb.10:                              ##   in Loop: Header=BB0_7 Depth=1
	movl	-96(%rbp), %edi                 ## 4-byte Reload
	movq	%r15, %rsi
	callq	_write_token
LBB0_11:                                ##   in Loop: Header=BB0_7 Depth=1
	movl	%r13d, %edi
	callq	_GSS_ERROR
	testq	%rax, %rax
	jne	LBB0_12
## %bb.14:                              ##   in Loop: Header=BB0_7 Depth=1
	movq	_GSS_S_CONTINUE_NEEDED@GOTPCREL(%rip), %rax
	testl	%r13d, (%rax)
	jne	LBB0_7
	jmp	LBB0_15
LBB0_12:
	movq	-128(%rbp), %rax
	movq	_GSS_C_NO_CONTEXT@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_15
## %bb.13:
	movq	_GSS_C_NO_BUFFER@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	-92(%rbp), %rdi
	leaq	-128(%rbp), %rsi
	callq	_gss_delete_sec_context
LBB0_15:
	movq	-160(%rbp), %rax
	movq	(%rax), %rdx
	movq	8(%rax), %rbx
	movq	_GSS_KRB5_MECHANISM@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	(%rax), %rdx
	jne	LBB0_19
## %bb.16:
	movl	8(%rax), %esi
	movq	%rbx, %rdi
	callq	_memcmp
	testq	%rax, %rax
	je	LBB0_17
## %bb.18:
	movq	-160(%rbp), %rax
	movq	(%rax), %rdx
LBB0_19:
	movq	_GSS_SPNEGO_MECHANISM@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	(%rax), %rdx
	jne	LBB0_22
## %bb.20:
	movl	8(%rax), %esi
	movq	%rbx, %rdi
	callq	_memcmp
	testq	%rax, %rax
	je	LBB0_21
LBB0_22:
	leaq	L_.str.5(%rip), %rsi
	jmp	LBB0_23
LBB0_17:
	leaq	L_.str.3(%rip), %rsi
	jmp	LBB0_23
LBB0_21:
	leaq	L_.str.4(%rip), %rsi
LBB0_23:
	leaq	L_.str.6(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	-152(%rbp), %rax
	movq	_GSS_C_NO_CREDENTIAL@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_30
## %bb.24:
	leaq	L_str(%rip), %rdi
	callq	_puts
	leaq	-112(%rbp), %rdi
	callq	_krb5_init_context
	movl	-112(%rbp), %edi
	leaq	L_.str.8(%rip), %rsi
	leaq	-116(%rbp), %rdx
	callq	_krb5_cc_resolve
	movq	-152(%rbp), %rsi
	movl	-116(%rbp), %edx
	leaq	-92(%rbp), %rdi
	callq	_gss_krb5_copy_ccache
	testl	%eax, %eax
	jne	LBB0_29
## %bb.25:
	movl	-112(%rbp), %edi
	movl	-116(%rbp), %esi
	leaq	-144(%rbp), %rdx
	callq	_krb5_cc_get_principal
	testl	%eax, %eax
	jne	LBB0_29
## %bb.26:
	movl	-112(%rbp), %edi
	movl	-144(%rbp), %esi
	leaq	-88(%rbp), %rdx
	callq	_krb5_unparse_name
	testl	%eax, %eax
	jne	LBB0_28
## %bb.27:
	movq	-88(%rbp), %rsi
	leaq	L_.str.9(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	-88(%rbp), %rdi
	callq	_free
LBB0_28:
	movl	-112(%rbp), %edi
	movl	-144(%rbp), %esi
	callq	_krb5_free_principal
LBB0_29:
	movl	-112(%rbp), %edi
	movl	-116(%rbp), %esi
	callq	_krb5_cc_close
	leaq	-92(%rbp), %rdi
	leaq	-152(%rbp), %rsi
	callq	_gss_release_cred
LBB0_30:
	movq	_fork_flag@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	je	LBB0_42
## %bb.31:
	leaq	-88(%rbp), %rdi
	callq	_pipe
	testq	%rax, %rax
	jns	LBB0_33
## %bb.32:
	leaq	L_.str.10(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_33:
	xorl	%eax, %eax
	callq	_fork
	testq	%rax, %rax
	js	LBB0_34
## %bb.35:
	jne	LBB0_36
## %bb.39:
	movl	-84(%rbp), %edi
	callq	_close
	movl	-88(%rbp), %edi
	leaq	-144(%rbp), %rbx
	movq	%rbx, %rsi
	callq	_read_token
	movl	-88(%rbp), %edi
	callq	_close
	leaq	-92(%rbp), %rdi
	leaq	-112(%rbp), %rdx
	movq	%rbx, %rsi
	callq	_gss_import_sec_context
	movl	%eax, %edi
	callq	_GSS_ERROR
	testq	%rax, %rax
	je	LBB0_41
## %bb.40:
	movl	-92(%rbp), %esi
	leaq	L_.str.13(%rip), %rdx
	movl	$1, %edi
	callq	_gss_err
LBB0_41:
	leaq	-92(%rbp), %rdi
	leaq	-144(%rbp), %rsi
	callq	_gss_release_buffer
	movq	-112(%rbp), %rsi
	jmp	LBB0_43
LBB0_42:
	movq	-128(%rbp), %rsi
LBB0_43:
	movl	-132(%rbp), %edx
	movl	-96(%rbp), %edi                 ## 4-byte Reload
	callq	_process_it
	movq	___stack_chk_guard@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	-48(%rbp), %rcx
	jne	LBB0_45
## %bb.44:
	addq	$264, %rsp                      ## imm = 0x108
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_45:
	callq	___stack_chk_fail
LBB0_34:
	leaq	L_.str.11(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_36:
	leaq	-92(%rbp), %rdi
	leaq	-128(%rbp), %rsi
	leaq	-112(%rbp), %rdx
	callq	_gss_export_sec_context
	movl	%eax, %edi
	callq	_GSS_ERROR
	testq	%rax, %rax
	je	LBB0_38
## %bb.37:
	movl	-92(%rbp), %esi
	leaq	L_.str.12(%rip), %rdx
	movl	$1, %edi
	callq	_gss_err
LBB0_38:
	movl	-84(%rbp), %edi
	leaq	-112(%rbp), %rsi
	callq	_write_token
	xorl	%edi, %edi
	callq	_exit
	.cfi_endproc
                                        ## -- End function
	.comm	_GSS_C_NO_CONTEXT,8,3           ## @GSS_C_NO_CONTEXT
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"getsockname)"

L_.str.1:                               ## @.str.1
	.asciz	"getpeername"

	.comm	_GSS_C_AF_INET,8,3              ## @GSS_C_AF_INET
	.comm	_GSS_C_NO_CREDENTIAL,8,3        ## @GSS_C_NO_CREDENTIAL
L_.str.2:                               ## @.str.2
	.asciz	"gss_accept_sec_context"

	.comm	_GSS_C_NO_BUFFER,4,2            ## @GSS_C_NO_BUFFER
	.comm	_GSS_S_CONTINUE_NEEDED,4,2      ## @GSS_S_CONTINUE_NEEDED
	.comm	_GSS_KRB5_MECHANISM,8,3         ## @GSS_KRB5_MECHANISM
L_.str.3:                               ## @.str.3
	.asciz	"Kerberos 5"

	.comm	_GSS_SPNEGO_MECHANISM,8,3       ## @GSS_SPNEGO_MECHANISM
L_.str.4:                               ## @.str.4
	.asciz	"SPNEGO"

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

L_.str.6:                               ## @.str.6
	.asciz	"Using mech: %s\n"

L_.str.8:                               ## @.str.8
	.asciz	"FILE:/tmp/krb5cc_test"

L_.str.9:                               ## @.str.9
	.asciz	"Delegated user is: `%s'\n"

	.comm	_fork_flag,8,3                  ## @fork_flag
L_.str.10:                              ## @.str.10
	.asciz	"pipe"

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

L_.str.12:                              ## @.str.12
	.asciz	"gss_export_sec_context"

L_.str.13:                              ## @.str.13
	.asciz	"gss_import_sec_context"

L_str:                                  ## @str
	.asciz	"Delegated cred found"

	.no_dead_strip	_proto
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ; -- Begin function proto
lCPI0_0:
	.long	4294967280                      ; 0xfffffff0
	.long	4294967288                      ; 0xfffffff8
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_proto:                                 ; @proto
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #320
	.cfi_def_cfa_offset 320
	stp	x26, x25, [sp, #240]            ; 16-byte Folded Spill
	stp	x24, x23, [sp, #256]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #272]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #288]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #304]            ; 16-byte Folded Spill
	add	x29, sp, #304
	.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
	mov	x19, x0
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	stur	x8, [x29, #-72]
Lloh3:
	adrp	x22, _GSS_C_NO_CONTEXT@GOTPAGE
Lloh4:
	ldr	x22, [x22, _GSS_C_NO_CONTEXT@GOTPAGEOFF]
	ldr	x8, [x22]
	stur	x8, [x29, #-144]
	mov	w8, #8
	stur	w8, [x29, #-132]
	sub	x1, x29, #128
	sub	x2, x29, #132
	bl	_getsockname
	tbnz	x0, #63, LBB0_2
; %bb.1:
	ldur	w8, [x29, #-132]
	cmp	w8, #8
	b.eq	LBB0_3
LBB0_2:
Lloh5:
	adrp	x1, l_.str@PAGE
Lloh6:
	add	x1, x1, l_.str@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_3:
	sub	x20, x29, #104
	mov	w8, #8
	stur	w8, [x29, #-132]
	sub	x1, x29, #120
	sub	x2, x29, #132
	mov	x0, x19
	bl	_getpeername
	tbnz	x0, #63, LBB0_5
; %bb.4:
	ldur	w8, [x29, #-132]
	cmp	w8, #8
	b.eq	LBB0_6
LBB0_5:
Lloh7:
	adrp	x1, l_.str.1@PAGE
Lloh8:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_6:
Lloh9:
	adrp	x8, _GSS_C_AF_INET@GOTPAGE
Lloh10:
	ldr	x8, [x8, _GSS_C_AF_INET@GOTPAGEOFF]
Lloh11:
	ldr	x8, [x8]
	mov	w9, #4
	str	w9, [sp, #112]
	ldur	w10, [x29, #-116]
Lloh12:
	adrp	x11, lCPI0_0@PAGE
Lloh13:
	ldr	d0, [x11, lCPI0_0@PAGEOFF]
	lsr	w11, w10, #24
	dup.2s	v1, w10
	ushl.2s	v1, v1, v0
	movi	d2, #0x0000ff000000ff
	and.8b	v1, v1, v2
	stur	d1, [x20, #20]
	and	w10, w10, #0xff
	stur	w10, [x29, #-76]
	sub	x10, x29, #88
	stp	x10, x8, [sp, #120]
	str	w9, [sp, #88]
	ldur	w9, [x29, #-124]
	lsr	w10, w9, #24
	dup.2s	v1, w9
	ushl.2s	v0, v1, v0
	and.8b	v0, v0, v2
	stur	d0, [x20, #4]
	and	w9, w9, #0xff
	stur	w10, [x29, #-104]
	stp	w9, w11, [x29, #-92]
	sub	x9, x29, #104
	stp	x9, x8, [sp, #96]
	mov	w0, #4
	bl	_emalloc
	str	wzr, [sp, #72]
	str	xzr, [sp, #80]
Lloh14:
	adrp	x23, _GSS_C_NO_CREDENTIAL@GOTPAGE
Lloh15:
	ldr	x23, [x23, _GSS_C_NO_CREDENTIAL@GOTPAGEOFF]
	ldr	x8, [x23]
	str	x8, [sp, #64]
	add	x24, sp, #64
Lloh16:
	adrp	x25, _GSS_S_CONTINUE_NEEDED@GOTPAGE
Lloh17:
	ldr	x25, [x25, _GSS_S_CONTINUE_NEEDED@GOTPAGEOFF]
Lloh18:
	adrp	x20, l_.str.2@PAGE
Lloh19:
	add	x20, x20, l_.str.2@PAGEOFF
LBB0_7:                                 ; =>This Inner Loop Header: Depth=1
	add	x1, sp, #152
	mov	x0, x19
	bl	_read_token
	ldr	x2, [x23]
	stp	xzr, xzr, [sp]
	add	x0, sp, #140
	sub	x1, x29, #144
	add	x3, sp, #152
	add	x4, sp, #72
	add	x5, sp, #136
	str	x24, [sp, #16]
	add	x6, sp, #48
	add	x7, sp, #144
	bl	_gss_accept_sec_context
	mov	x21, x0
	bl	_GSS_ERROR
	cbz	x0, LBB0_9
; %bb.8:                                ;   in Loop: Header=BB0_7 Depth=1
	ldr	w1, [sp, #140]
	mov	w0, #1
	mov	x2, x20
	bl	_gss_err
LBB0_9:                                 ;   in Loop: Header=BB0_7 Depth=1
	ldr	x8, [sp, #144]
	cbz	x8, LBB0_11
; %bb.10:                               ;   in Loop: Header=BB0_7 Depth=1
	add	x1, sp, #144
	mov	x0, x19
	bl	_write_token
LBB0_11:                                ;   in Loop: Header=BB0_7 Depth=1
	mov	x0, x21
	bl	_GSS_ERROR
	cbnz	x0, LBB0_13
; %bb.12:                               ;   in Loop: Header=BB0_7 Depth=1
	ldr	w8, [x25]
	tst	w8, w21
	b.ne	LBB0_7
	b	LBB0_15
LBB0_13:
	ldur	x8, [x29, #-144]
	ldr	x9, [x22]
	cmp	x8, x9
	b.eq	LBB0_15
; %bb.14:
Lloh20:
	adrp	x8, _GSS_C_NO_BUFFER@GOTPAGE
Lloh21:
	ldr	x8, [x8, _GSS_C_NO_BUFFER@GOTPAGEOFF]
Lloh22:
	ldr	w2, [x8]
	add	x0, sp, #140
	sub	x1, x29, #144
	bl	_gss_delete_sec_context
LBB0_15:
	ldr	x8, [sp, #48]
	ldp	x2, x20, [x8]
Lloh23:
	adrp	x8, _GSS_KRB5_MECHANISM@GOTPAGE
Lloh24:
	ldr	x8, [x8, _GSS_KRB5_MECHANISM@GOTPAGEOFF]
Lloh25:
	ldr	x8, [x8]
	ldr	x9, [x8]
	cmp	x2, x9
	b.ne	LBB0_18
; %bb.16:
	ldr	w1, [x8, #8]
	mov	x0, x20
	bl	_memcmp
	cbz	x0, LBB0_21
; %bb.17:
	ldr	x8, [sp, #48]
	ldr	x2, [x8]
LBB0_18:
Lloh26:
	adrp	x8, _GSS_SPNEGO_MECHANISM@GOTPAGE
Lloh27:
	ldr	x8, [x8, _GSS_SPNEGO_MECHANISM@GOTPAGEOFF]
Lloh28:
	ldr	x8, [x8]
	ldr	x9, [x8]
	cmp	x2, x9
	b.ne	LBB0_20
; %bb.19:
	ldr	w1, [x8, #8]
	mov	x0, x20
	bl	_memcmp
	cbz	x0, LBB0_22
LBB0_20:
Lloh29:
	adrp	x8, l_.str.5@PAGE
Lloh30:
	add	x8, x8, l_.str.5@PAGEOFF
	b	LBB0_23
LBB0_21:
Lloh31:
	adrp	x8, l_.str.3@PAGE
Lloh32:
	add	x8, x8, l_.str.3@PAGEOFF
	b	LBB0_23
LBB0_22:
Lloh33:
	adrp	x8, l_.str.4@PAGE
Lloh34:
	add	x8, x8, l_.str.4@PAGEOFF
LBB0_23:
	str	x8, [sp]
Lloh35:
	adrp	x0, l_.str.6@PAGE
Lloh36:
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_printf
	ldr	x8, [sp, #64]
	ldr	x9, [x23]
	cmp	x8, x9
	b.eq	LBB0_30
; %bb.24:
Lloh37:
	adrp	x0, l_str@PAGE
Lloh38:
	add	x0, x0, l_str@PAGEOFF
	bl	_puts
	add	x0, sp, #40
	bl	_krb5_init_context
	ldr	w0, [sp, #40]
Lloh39:
	adrp	x1, l_.str.8@PAGE
Lloh40:
	add	x1, x1, l_.str.8@PAGEOFF
	add	x2, sp, #60
	bl	_krb5_cc_resolve
	ldr	x1, [sp, #64]
	ldr	w2, [sp, #60]
	add	x0, sp, #140
	bl	_gss_krb5_copy_ccache
	cbnz	w0, LBB0_29
; %bb.25:
	ldr	w0, [sp, #40]
	ldr	w1, [sp, #60]
	add	x2, sp, #32
	bl	_krb5_cc_get_principal
	cbnz	w0, LBB0_29
; %bb.26:
	ldr	w0, [sp, #40]
	ldr	w1, [sp, #32]
	sub	x2, x29, #112
	bl	_krb5_unparse_name
	cbnz	w0, LBB0_28
; %bb.27:
	ldur	x8, [x29, #-112]
	str	x8, [sp]
Lloh41:
	adrp	x0, l_.str.9@PAGE
Lloh42:
	add	x0, x0, l_.str.9@PAGEOFF
	bl	_printf
	ldur	x0, [x29, #-112]
	bl	_free
LBB0_28:
	ldr	w0, [sp, #40]
	ldr	w1, [sp, #32]
	bl	_krb5_free_principal
LBB0_29:
	ldr	w0, [sp, #40]
	ldr	w1, [sp, #60]
	bl	_krb5_cc_close
	add	x0, sp, #140
	add	x1, sp, #64
	bl	_gss_release_cred
LBB0_30:
Lloh43:
	adrp	x8, _fork_flag@GOTPAGE
Lloh44:
	ldr	x8, [x8, _fork_flag@GOTPAGEOFF]
Lloh45:
	ldr	x8, [x8]
	cbz	x8, LBB0_38
; %bb.31:
	sub	x0, x29, #112
	bl	_pipe
	tbz	x0, #63, LBB0_33
; %bb.32:
Lloh46:
	adrp	x1, l_.str.10@PAGE
Lloh47:
	add	x1, x1, l_.str.10@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_33:
	bl	_fork
	tbnz	x0, #63, LBB0_42
; %bb.34:
	cbnz	x0, LBB0_43
; %bb.35:
	ldur	w0, [x29, #-108]
	bl	_close
	ldur	w0, [x29, #-112]
	add	x1, sp, #32
	bl	_read_token
	ldur	w0, [x29, #-112]
	bl	_close
	add	x0, sp, #140
	add	x1, sp, #32
	add	x2, sp, #40
	bl	_gss_import_sec_context
	bl	_GSS_ERROR
	cbz	x0, LBB0_37
; %bb.36:
	ldr	w1, [sp, #140]
Lloh48:
	adrp	x2, l_.str.13@PAGE
Lloh49:
	add	x2, x2, l_.str.13@PAGEOFF
	mov	w0, #1
	bl	_gss_err
LBB0_37:
	add	x0, sp, #140
	add	x1, sp, #32
	bl	_gss_release_buffer
	ldr	x1, [sp, #40]
	b	LBB0_39
LBB0_38:
	ldur	x1, [x29, #-144]
LBB0_39:
	ldr	w2, [sp, #136]
	mov	x0, x19
	bl	_process_it
	ldur	x8, [x29, #-72]
Lloh50:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh51:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh52:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_41
; %bb.40:
	ldp	x29, x30, [sp, #304]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #288]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #272]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #256]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #240]            ; 16-byte Folded Reload
	add	sp, sp, #320
	ret
LBB0_41:
	bl	___stack_chk_fail
LBB0_42:
Lloh53:
	adrp	x1, l_.str.11@PAGE
Lloh54:
	add	x1, x1, l_.str.11@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_43:
	add	x0, sp, #140
	sub	x1, x29, #144
	add	x2, sp, #40
	bl	_gss_export_sec_context
	bl	_GSS_ERROR
	cbz	x0, LBB0_45
; %bb.44:
	ldr	w1, [sp, #140]
Lloh55:
	adrp	x2, l_.str.12@PAGE
Lloh56:
	add	x2, x2, l_.str.12@PAGEOFF
	mov	w0, #1
	bl	_gss_err
LBB0_45:
	ldur	w0, [x29, #-108]
	add	x1, sp, #40
	bl	_write_token
	mov	w0, #0
	bl	_exit
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh5, Lloh6
	.loh AdrpAdd	Lloh7, Lloh8
	.loh AdrpAdd	Lloh18, Lloh19
	.loh AdrpLdrGot	Lloh16, Lloh17
	.loh AdrpLdrGot	Lloh14, Lloh15
	.loh AdrpLdr	Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpAdd	Lloh29, Lloh30
	.loh AdrpAdd	Lloh31, Lloh32
	.loh AdrpAdd	Lloh33, Lloh34
	.loh AdrpAdd	Lloh35, Lloh36
	.loh AdrpAdd	Lloh39, Lloh40
	.loh AdrpAdd	Lloh37, Lloh38
	.loh AdrpAdd	Lloh41, Lloh42
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpAdd	Lloh46, Lloh47
	.loh AdrpAdd	Lloh48, Lloh49
	.loh AdrpLdrGotLdr	Lloh50, Lloh51, Lloh52
	.loh AdrpAdd	Lloh53, Lloh54
	.loh AdrpAdd	Lloh55, Lloh56
	.cfi_endproc
                                        ; -- End function
	.comm	_GSS_C_NO_CONTEXT,8,3           ; @GSS_C_NO_CONTEXT
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"getsockname)"

l_.str.1:                               ; @.str.1
	.asciz	"getpeername"

	.comm	_GSS_C_AF_INET,8,3              ; @GSS_C_AF_INET
	.comm	_GSS_C_NO_CREDENTIAL,8,3        ; @GSS_C_NO_CREDENTIAL
l_.str.2:                               ; @.str.2
	.asciz	"gss_accept_sec_context"

	.comm	_GSS_C_NO_BUFFER,4,2            ; @GSS_C_NO_BUFFER
	.comm	_GSS_S_CONTINUE_NEEDED,4,2      ; @GSS_S_CONTINUE_NEEDED
	.comm	_GSS_KRB5_MECHANISM,8,3         ; @GSS_KRB5_MECHANISM
l_.str.3:                               ; @.str.3
	.asciz	"Kerberos 5"

	.comm	_GSS_SPNEGO_MECHANISM,8,3       ; @GSS_SPNEGO_MECHANISM
l_.str.4:                               ; @.str.4
	.asciz	"SPNEGO"

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

l_.str.6:                               ; @.str.6
	.asciz	"Using mech: %s\n"

l_.str.8:                               ; @.str.8
	.asciz	"FILE:/tmp/krb5cc_test"

l_.str.9:                               ; @.str.9
	.asciz	"Delegated user is: `%s'\n"

	.comm	_fork_flag,8,3                  ; @fork_flag
l_.str.10:                              ; @.str.10
	.asciz	"pipe"

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

l_.str.12:                              ; @.str.12
	.asciz	"gss_export_sec_context"

l_.str.13:                              ; @.str.13
	.asciz	"gss_import_sec_context"

l_str:                                  ; @str
	.asciz	"Delegated cred found"

	.no_dead_strip	_proto
.subsections_via_symbols
