	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_link_socket_close              ## -- Begin function link_socket_close
	.p2align	4, 0x90
_link_socket_close:                     ## @link_socket_close
	.cfi_startproc
## %bb.0:
	testq	%rdi, %rdi
	je	LBB0_10
## %bb.1:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%rbx
	pushq	%rax
	.cfi_offset %rbx, -24
	movq	%rdi, %rbx
	movq	24(%rdi), %rdi
	callq	_socket_defined
	testq	%rax, %rax
	je	LBB0_5
## %bb.2:
	movq	_D_LOW@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str(%rip), %rsi
	callq	_msg
	movq	24(%rbx), %rdi
	callq	_openvpn_close_socket
	testq	%rax, %rax
	je	LBB0_4
## %bb.3:
	movq	_M_WARN@GOTPCREL(%rip), %rax
	movq	_M_ERRNO@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edi
	orl	(%rax), %edi
	leaq	L_.str.1(%rip), %rsi
	callq	_msg
LBB0_4:
	movq	_SOCKET_UNDEFINED@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 24(%rbx)
LBB0_5:
	movq	8(%rbx), %rdi
	callq	_socket_defined
	testq	%rax, %rax
	je	LBB0_9
## %bb.6:
	movq	8(%rbx), %rdi
	callq	_openvpn_close_socket
	testq	%rax, %rax
	je	LBB0_8
## %bb.7:
	movq	_M_WARN@GOTPCREL(%rip), %rax
	movq	_M_ERRNO@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edi
	orl	(%rax), %edi
	leaq	L_.str.2(%rip), %rsi
	callq	_msg
LBB0_8:
	movq	_SOCKET_UNDEFINED@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 8(%rbx)
LBB0_9:
	leaq	4(%rbx), %rdi
	callq	_stream_buf_close
	movq	%rbx, %rdi
	callq	_free_buf
	movq	%rbx, %rdi
	addq	$8, %rsp
	popq	%rbx
	popq	%rbp
	jmp	_free                           ## TAILCALL
LBB0_10:
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_D_LOW,4,2                      ## @D_LOW
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"TCP/UDP: Closing socket"

	.comm	_M_WARN,4,2                     ## @M_WARN
	.comm	_M_ERRNO,4,2                    ## @M_ERRNO
L_.str.1:                               ## @.str.1
	.asciz	"TCP/UDP: Close Socket failed"

	.comm	_SOCKET_UNDEFINED,8,3           ## @SOCKET_UNDEFINED
L_.str.2:                               ## @.str.2
	.asciz	"TCP/UDP: Close Socket (ctrl_sd) failed"

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_link_socket_close              ; -- Begin function link_socket_close
	.p2align	2
_link_socket_close:                     ; @link_socket_close
	.cfi_startproc
; %bb.0:
	cbz	x0, LBB0_10
; %bb.1:
	stp	x20, x19, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	mov	x19, x0
	ldr	x0, [x0, #24]
	bl	_socket_defined
Lloh0:
	adrp	x20, _SOCKET_UNDEFINED@GOTPAGE
Lloh1:
	ldr	x20, [x20, _SOCKET_UNDEFINED@GOTPAGEOFF]
	cbz	x0, LBB0_5
; %bb.2:
Lloh2:
	adrp	x8, _D_LOW@GOTPAGE
Lloh3:
	ldr	x8, [x8, _D_LOW@GOTPAGEOFF]
Lloh4:
	ldr	w0, [x8]
Lloh5:
	adrp	x1, l_.str@PAGE
Lloh6:
	add	x1, x1, l_.str@PAGEOFF
	bl	_msg
	ldr	x0, [x19, #24]
	bl	_openvpn_close_socket
	cbz	x0, LBB0_4
; %bb.3:
Lloh7:
	adrp	x8, _M_WARN@GOTPAGE
Lloh8:
	ldr	x8, [x8, _M_WARN@GOTPAGEOFF]
Lloh9:
	ldr	w8, [x8]
Lloh10:
	adrp	x9, _M_ERRNO@GOTPAGE
Lloh11:
	ldr	x9, [x9, _M_ERRNO@GOTPAGEOFF]
Lloh12:
	ldr	w9, [x9]
	orr	w0, w9, w8
Lloh13:
	adrp	x1, l_.str.1@PAGE
Lloh14:
	add	x1, x1, l_.str.1@PAGEOFF
	bl	_msg
LBB0_4:
	ldr	x8, [x20]
	str	x8, [x19, #24]
LBB0_5:
	ldr	x0, [x19, #8]
	bl	_socket_defined
	cbz	x0, LBB0_9
; %bb.6:
	ldr	x0, [x19, #8]
	bl	_openvpn_close_socket
	cbz	x0, LBB0_8
; %bb.7:
Lloh15:
	adrp	x8, _M_WARN@GOTPAGE
Lloh16:
	ldr	x8, [x8, _M_WARN@GOTPAGEOFF]
Lloh17:
	ldr	w8, [x8]
Lloh18:
	adrp	x9, _M_ERRNO@GOTPAGE
Lloh19:
	ldr	x9, [x9, _M_ERRNO@GOTPAGEOFF]
Lloh20:
	ldr	w9, [x9]
	orr	w0, w9, w8
Lloh21:
	adrp	x1, l_.str.2@PAGE
Lloh22:
	add	x1, x1, l_.str.2@PAGEOFF
	bl	_msg
LBB0_8:
	ldr	x8, [x20]
	str	x8, [x19, #8]
LBB0_9:
	add	x0, x19, #4
	bl	_stream_buf_close
	mov	x0, x19
	bl	_free_buf
	mov	x0, x19
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	b	_free
LBB0_10:
	.cfi_def_cfa wsp, 0
	.cfi_same_value w30
	.cfi_same_value w29
	.cfi_same_value w19
	.cfi_same_value w20
	ret
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpAdd	Lloh5, Lloh6
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh4
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh7, Lloh8, Lloh9
	.loh AdrpAdd	Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.cfi_endproc
                                        ; -- End function
	.comm	_D_LOW,4,2                      ; @D_LOW
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"TCP/UDP: Closing socket"

	.comm	_M_WARN,4,2                     ; @M_WARN
	.comm	_M_ERRNO,4,2                    ; @M_ERRNO
l_.str.1:                               ; @.str.1
	.asciz	"TCP/UDP: Close Socket failed"

	.comm	_SOCKET_UNDEFINED,8,3           ; @SOCKET_UNDEFINED
l_.str.2:                               ; @.str.2
	.asciz	"TCP/UDP: Close Socket (ctrl_sd) failed"

.subsections_via_symbols
