	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_ListenerTCPMainLoop            ## -- Begin function ListenerTCPMainLoop
	.p2align	4, 0x90
_ListenerTCPMainLoop:                   ## @ListenerTCPMainLoop
	.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
	pushq	%rax
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	testq	%rdi, %rdi
	je	LBB0_44
## %bb.1:
	movq	%rdi, %r15
	leaq	L_.str(%rip), %rdi
	callq	_Debug
	movq	_LISTENER_STATUS_TRYING@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 40(%r15)
	movq	_LISTEN_RETRY_TIME@GOTPCREL(%rip), %r13
LBB0_2:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_3 Depth 2
                                        ##     Child Loop BB0_29 Depth 2
	leaq	L_.str.1(%rip), %rdi
	callq	_Debug
	movq	_LISTENER_STATUS_TRYING@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 40(%r15)
	movq	16(%r15), %rax
	xorl	%r12d, %r12d
	jmp	LBB0_3
	.p2align	4, 0x90
LBB0_40:                                ##   in Loop: Header=BB0_3 Depth=2
	movl	48(%r15), %edi
	movl	%ebx, %esi
	callq	_Wait
	movb	$1, %r12b
	cmpq	$0, 16(%r15)
	movl	$0, %eax
	jne	LBB0_43
LBB0_3:                                 ##   Parent Loop BB0_2 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	testq	%rax, %rax
	jne	LBB0_44
## %bb.4:                               ##   in Loop: Header=BB0_3 Depth=2
	movq	(%r15), %rax
	movq	_LISTENER_TCP@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_10
## %bb.5:                               ##   in Loop: Header=BB0_3 Depth=2
	cmpl	$0, 8(%r15)
	je	LBB0_6
## %bb.9:                               ##   in Loop: Header=BB0_3 Depth=2
	movl	52(%r15), %edi
	movl	80(%r15), %esi
	callq	_ListenEx6
	jmp	LBB0_22
	.p2align	4, 0x90
LBB0_10:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	_LISTENER_INPROC@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_12
## %bb.11:                              ##   in Loop: Header=BB0_3 Depth=2
	xorl	%eax, %eax
	callq	_ListenInProc
	jmp	LBB0_22
	.p2align	4, 0x90
LBB0_12:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	_LISTENER_RUDP@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_16
## %bb.13:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	_VPN_RUDP_SVC_NAME@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_ListenerRUDPRpcRecvProc@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	64(%r15), %eax
	movq	56(%r15), %rbx
	xorl	%esi, %esi
	xorl	%ecx, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	pushq	(%rbx)
	pushq	%rax
	pushq	72(%r15)
	jmp	LBB0_14
LBB0_6:                                 ##   in Loop: Header=BB0_3 Depth=2
	movq	56(%r15), %rax
	movq	(%rax), %rcx
	movl	52(%r15), %edi
	movl	80(%r15), %esi
	movl	84(%r15), %edx
	testq	%rcx, %rcx
	jne	LBB0_8
## %bb.7:                               ##   in Loop: Header=BB0_3 Depth=2
	xorl	%ecx, %ecx
LBB0_8:                                 ##   in Loop: Header=BB0_3 Depth=2
	callq	_ListenEx2
	jmp	LBB0_22
LBB0_16:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	_LISTENER_ICMP@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_18
## %bb.17:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	_VPN_RUDP_SVC_NAME@GOTPCREL(%rip), %rax
	movl	(%rax), %r13d
	movq	_ListenerRUDPRpcRecvProc@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	movq	_IP_PROTO_ICMPV4@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_MAKE_SPECIAL_PORT
	movq	56(%r15), %rbx
	movl	%r13d, %edi
	movq	_LISTEN_RETRY_TIME@GOTPCREL(%rip), %r13
	xorl	%esi, %esi
	movl	%r14d, %edx
	xorl	%ecx, %ecx
	movl	%eax, %r8d
	movl	$1, %r9d
	pushq	(%rbx)
	pushq	$0
	pushq	$0
LBB0_14:                                ##   in Loop: Header=BB0_3 Depth=2
	pushq	$0
LBB0_15:                                ##   in Loop: Header=BB0_3 Depth=2
	callq	_ListenRUDPEx
	addq	$32, %rsp
LBB0_22:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	%rax, %r14
	testq	%rax, %rax
	jne	LBB0_23
LBB0_32:                                ##   in Loop: Header=BB0_3 Depth=2
	testb	$1, %r12b
	je	LBB0_33
LBB0_37:                                ##   in Loop: Header=BB0_3 Depth=2
	movl	(%r13), %ebx
	cmpl	$0, 8(%r15)
	jne	LBB0_38
	jmp	LBB0_40
	.p2align	4, 0x90
LBB0_33:                                ##   in Loop: Header=BB0_3 Depth=2
	cmpl	$0, 8(%r15)
	je	LBB0_35
## %bb.34:                              ##   in Loop: Header=BB0_3 Depth=2
	movl	(%r13), %ebx
LBB0_38:                                ##   in Loop: Header=BB0_3 Depth=2
	xorl	%eax, %eax
	callq	_IsIPv6Supported
	testl	%eax, %eax
	jne	LBB0_40
## %bb.39:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	_LISTEN_RETRY_TIME_NOIPV6@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	leaq	L_.str.4(%rip), %rdi
	callq	_Debug
	jmp	LBB0_40
LBB0_35:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	(%r15), %rax
	movq	_LISTENER_TCP@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_37
## %bb.36:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	56(%r15), %rdi
	movl	52(%r15), %edx
	movslq	(%r13), %rax
	imulq	$274877907, %rax, %rcx          ## imm = 0x10624DD3
	movq	%rcx, %rax
	shrq	$63, %rax
	sarq	$38, %rcx
	addl	%eax, %ecx
	leaq	L_.str.3(%rip), %rsi
                                        ## kill: def $ecx killed $ecx killed $rcx
	xorl	%eax, %eax
	callq	_SLog
	jmp	LBB0_37
LBB0_18:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	_LISTENER_DNS@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_20
## %bb.19:                              ##   in Loop: Header=BB0_3 Depth=2
	movq	_VPN_RUDP_SVC_NAME@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_ListenerRUDPRpcRecvProc@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	56(%r15), %rax
	xorl	%esi, %esi
	xorl	%ecx, %ecx
	movl	$53, %r8d
	movl	$1, %r9d
	pushq	(%rax)
	pushq	$0
	pushq	$0
	pushq	$1
	jmp	LBB0_15
LBB0_20:                                ##   in Loop: Header=BB0_3 Depth=2
	movq	_LISTENER_REVERSE@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_32
## %bb.21:                              ##   in Loop: Header=BB0_3 Depth=2
	xorl	%eax, %eax
	callq	_ListenReverse
	jmp	LBB0_22
	.p2align	4, 0x90
LBB0_23:                                ##   in Loop: Header=BB0_2 Depth=1
	movl	(%r14), %edi
	callq	_AddRef
	movl	24(%r15), %edi
	callq	_Lock
	movq	%r14, 32(%r15)
	movl	24(%r15), %edi
	callq	_Unlock
	cmpl	$0, 8(%r15)
	jne	LBB0_26
## %bb.24:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	(%r15), %rax
	movq	_LISTENER_TCP@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_26
## %bb.25:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	56(%r15), %rdi
	movl	52(%r15), %edx
	leaq	L_.str.2(%rip), %rsi
	xorl	%eax, %eax
	callq	_SLog
	.p2align	4, 0x90
LBB0_26:                                ##   in Loop: Header=BB0_2 Depth=1
	movq	_LISTENER_STATUS_LISTENING@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 40(%r15)
	leaq	L_.str.6(%rip), %rdi
	callq	_Debug
	cmpq	$0, 16(%r15)
	leaq	L_.str.7(%rip), %r12
	leaq	L_.str.8(%rip), %r13
	jne	LBB0_30
## %bb.27:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	%r12, %rdi
	callq	_Debug
	movq	%r14, %rdi
	callq	_Accept
	testq	%rax, %rax
	je	LBB0_30
## %bb.28:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	%rax, %rbx
	.p2align	4, 0x90
LBB0_29:                                ##   Parent Loop BB0_2 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	%r13, %rdi
	callq	_Debug
	movq	%r15, %rdi
	movq	%rbx, %rsi
	callq	_TCPAccepted
	movq	%rbx, %rdi
	callq	_ReleaseSock
	movq	%r12, %rdi
	callq	_Debug
	movq	%r14, %rdi
	callq	_Accept
	movq	%rax, %rbx
	testq	%rax, %rax
	jne	LBB0_29
LBB0_30:                                ##   in Loop: Header=BB0_2 Depth=1
	leaq	L_.str.9(%rip), %rdi
	callq	_Debug
	movq	%r14, %rdi
	callq	_Disconnect
	movq	%r14, %rdi
	callq	_ReleaseSock
	movl	24(%r15), %edi
	callq	_Lock
	movq	32(%r15), %rbx
	testq	%rbx, %rbx
	movq	_LISTEN_RETRY_TIME@GOTPCREL(%rip), %r13
	je	LBB0_31
## %bb.41:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	$0, 32(%r15)
	movl	24(%r15), %edi
	callq	_Unlock
	movq	%rbx, %rdi
	callq	_ReleaseSock
	cmpq	$0, 16(%r15)
	je	LBB0_2
	jmp	LBB0_43
LBB0_31:                                ##   in Loop: Header=BB0_2 Depth=1
	movl	24(%r15), %edi
	callq	_Unlock
	cmpq	$0, 16(%r15)
	je	LBB0_2
LBB0_43:
	leaq	L_.str.5(%rip), %rdi
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_Debug                          ## TAILCALL
LBB0_44:
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"ListenerTCPMainLoop Starts.\n"

	.comm	_LISTENER_STATUS_TRYING,8,3     ## @LISTENER_STATUS_TRYING
L_.str.1:                               ## @.str.1
	.asciz	"Status = LISTENER_STATUS_TRYING\n"

	.comm	_LISTENER_TCP,8,3               ## @LISTENER_TCP
	.comm	_LISTENER_INPROC,8,3            ## @LISTENER_INPROC
	.comm	_LISTENER_RUDP,8,3              ## @LISTENER_RUDP
	.comm	_VPN_RUDP_SVC_NAME,4,2          ## @VPN_RUDP_SVC_NAME
	.comm	_ListenerRUDPRpcRecvProc,4,2    ## @ListenerRUDPRpcRecvProc
	.comm	_LISTENER_ICMP,8,3              ## @LISTENER_ICMP
	.comm	_IP_PROTO_ICMPV4,4,2            ## @IP_PROTO_ICMPV4
	.comm	_LISTENER_DNS,8,3               ## @LISTENER_DNS
	.comm	_LISTENER_REVERSE,8,3           ## @LISTENER_REVERSE
L_.str.2:                               ## @.str.2
	.asciz	"LS_LISTENER_START_2"

L_.str.3:                               ## @.str.3
	.asciz	"LS_LISTENER_START_3"

	.comm	_LISTEN_RETRY_TIME,4,2          ## @LISTEN_RETRY_TIME
	.comm	_LISTEN_RETRY_TIME_NOIPV6,4,2   ## @LISTEN_RETRY_TIME_NOIPV6
L_.str.4:                               ## @.str.4
	.asciz	"IPv6 is not supported.\n"

L_.str.5:                               ## @.str.5
	.asciz	"Listener Halt.\n"

	.comm	_LISTENER_STATUS_LISTENING,8,3  ## @LISTENER_STATUS_LISTENING
L_.str.6:                               ## @.str.6
	.asciz	"Status = LISTENER_STATUS_LISTENING\n"

L_.str.7:                               ## @.str.7
	.asciz	"Accept()\n"

L_.str.8:                               ## @.str.8
	.asciz	"Accepted.\n"

L_.str.9:                               ## @.str.9
	.asciz	"Accept Canceled.\n"

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_ListenerTCPMainLoop            ; -- Begin function ListenerTCPMainLoop
	.p2align	2
_ListenerTCPMainLoop:                   ; @ListenerTCPMainLoop
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #112
	.cfi_def_cfa_offset 112
	stp	x28, x27, [sp, #16]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #32]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #48]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #64]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #80]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #96]             ; 16-byte Folded Spill
	add	x29, sp, #96
	.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
	cbz	x0, LBB0_41
; %bb.1:
	mov	x19, x0
Lloh0:
	adrp	x0, l_.str@PAGE
Lloh1:
	add	x0, x0, l_.str@PAGEOFF
	bl	_Debug
Lloh2:
	adrp	x8, _LISTENER_STATUS_TRYING@GOTPAGE
Lloh3:
	ldr	x8, [x8, _LISTENER_STATUS_TRYING@GOTPAGEOFF]
Lloh4:
	ldr	x8, [x8]
Lloh5:
	adrp	x25, _LISTENER_TCP@GOTPAGE
Lloh6:
	ldr	x25, [x25, _LISTENER_TCP@GOTPAGEOFF]
Lloh7:
	adrp	x20, _LISTEN_RETRY_TIME@GOTPAGE
Lloh8:
	ldr	x20, [x20, _LISTEN_RETRY_TIME@GOTPAGEOFF]
	str	x8, [x19, #40]
Lloh9:
	adrp	x27, _LISTEN_RETRY_TIME_NOIPV6@GOTPAGE
Lloh10:
	ldr	x27, [x27, _LISTEN_RETRY_TIME_NOIPV6@GOTPAGEOFF]
Lloh11:
	adrp	x26, l_.str.4@PAGE
Lloh12:
	add	x26, x26, l_.str.4@PAGEOFF
Lloh13:
	adrp	x22, _LISTENER_INPROC@GOTPAGE
Lloh14:
	ldr	x22, [x22, _LISTENER_INPROC@GOTPAGEOFF]
Lloh15:
	adrp	x21, _LISTENER_RUDP@GOTPAGE
Lloh16:
	ldr	x21, [x21, _LISTENER_RUDP@GOTPAGEOFF]
Lloh17:
	adrp	x24, _LISTENER_ICMP@GOTPAGE
Lloh18:
	ldr	x24, [x24, _LISTENER_ICMP@GOTPAGEOFF]
LBB0_2:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_5 Depth 2
                                        ;     Child Loop BB0_35 Depth 2
Lloh19:
	adrp	x0, l_.str.1@PAGE
Lloh20:
	add	x0, x0, l_.str.1@PAGEOFF
	bl	_Debug
	mov	w23, #0
Lloh21:
	adrp	x8, _LISTENER_STATUS_TRYING@GOTPAGE
Lloh22:
	ldr	x8, [x8, _LISTENER_STATUS_TRYING@GOTPAGEOFF]
Lloh23:
	ldr	x8, [x8]
	str	x8, [x19, #40]
	ldr	x8, [x19, #16]
	b	LBB0_5
LBB0_3:                                 ;   in Loop: Header=BB0_5 Depth=2
	ldr	w28, [x27]
	mov	x0, x26
	bl	_Debug
LBB0_4:                                 ;   in Loop: Header=BB0_5 Depth=2
	ldr	w0, [x19, #48]
	mov	x1, x28
	bl	_Wait
	mov	x8, #0
	ldr	x9, [x19, #16]
	mov	w23, #1
	cbnz	x9, LBB0_40
LBB0_5:                                 ;   Parent Loop BB0_2 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	cbnz	x8, LBB0_41
; %bb.6:                                ;   in Loop: Header=BB0_5 Depth=2
	ldr	x8, [x19]
	ldr	x9, [x25]
	cmp	x8, x9
	b.ne	LBB0_9
; %bb.7:                                ;   in Loop: Header=BB0_5 Depth=2
	ldr	w8, [x19, #8]
	cbz	w8, LBB0_13
; %bb.8:                                ;   in Loop: Header=BB0_5 Depth=2
	ldr	w0, [x19, #52]
	ldr	w1, [x19, #80]
	bl	_ListenEx6
	mov	x28, x0
	cbz	x0, LBB0_20
	b	LBB0_29
LBB0_9:                                 ;   in Loop: Header=BB0_5 Depth=2
	ldr	x9, [x22]
	cmp	x8, x9
	b.ne	LBB0_11
; %bb.10:                               ;   in Loop: Header=BB0_5 Depth=2
	bl	_ListenInProc
	mov	x28, x0
	cbz	x0, LBB0_20
	b	LBB0_29
LBB0_11:                                ;   in Loop: Header=BB0_5 Depth=2
	ldr	x9, [x21]
	cmp	x8, x9
	b.ne	LBB0_14
; %bb.12:                               ;   in Loop: Header=BB0_5 Depth=2
Lloh24:
	adrp	x8, _VPN_RUDP_SVC_NAME@GOTPAGE
Lloh25:
	ldr	x8, [x8, _VPN_RUDP_SVC_NAME@GOTPAGEOFF]
Lloh26:
	ldr	w0, [x8]
Lloh27:
	adrp	x8, _ListenerRUDPRpcRecvProc@GOTPAGE
Lloh28:
	ldr	x8, [x8, _ListenerRUDPRpcRecvProc@GOTPAGEOFF]
Lloh29:
	ldr	w2, [x8]
	ldr	x7, [x19, #72]
	ldr	w8, [x19, #64]
	ldr	x9, [x19, #56]
	ldr	x9, [x9]
	str	x9, [sp, #8]
	str	w8, [sp]
	mov	x1, #0
	mov	x3, #0
	mov	w4, #0
	mov	w5, #0
	mov	w6, #0
	b	LBB0_19
LBB0_13:                                ;   in Loop: Header=BB0_5 Depth=2
	ldr	x8, [x19, #56]
	ldr	x3, [x8]
	ldr	w0, [x19, #52]
	ldp	w1, w2, [x19, #80]
	bl	_ListenEx2
	mov	x28, x0
	cbz	x0, LBB0_20
	b	LBB0_29
LBB0_14:                                ;   in Loop: Header=BB0_5 Depth=2
	ldr	x9, [x24]
	cmp	x8, x9
	b.ne	LBB0_16
; %bb.15:                               ;   in Loop: Header=BB0_5 Depth=2
	mov	x26, x25
	mov	x25, x20
	mov	x20, x27
	mov	x27, x22
	mov	x22, x24
	mov	x24, x21
Lloh30:
	adrp	x8, _VPN_RUDP_SVC_NAME@GOTPAGE
Lloh31:
	ldr	x8, [x8, _VPN_RUDP_SVC_NAME@GOTPAGEOFF]
Lloh32:
	ldr	w21, [x8]
Lloh33:
	adrp	x8, _ListenerRUDPRpcRecvProc@GOTPAGE
Lloh34:
	ldr	x8, [x8, _ListenerRUDPRpcRecvProc@GOTPAGEOFF]
Lloh35:
	ldr	w28, [x8]
Lloh36:
	adrp	x8, _IP_PROTO_ICMPV4@GOTPAGE
Lloh37:
	ldr	x8, [x8, _IP_PROTO_ICMPV4@GOTPAGEOFF]
Lloh38:
	ldr	w0, [x8]
	bl	_MAKE_SPECIAL_PORT
	mov	x4, x0
	ldr	x8, [x19, #56]
	ldr	x8, [x8]
	str	x8, [sp, #8]
	str	wzr, [sp]
	mov	x0, x21
	mov	x21, x24
	mov	x24, x22
	mov	x22, x27
	mov	x27, x20
	mov	x20, x25
	mov	x25, x26
Lloh39:
	adrp	x26, l_.str.4@PAGE
Lloh40:
	add	x26, x26, l_.str.4@PAGEOFF
	mov	x1, #0
	mov	x2, x28
	mov	x3, #0
	mov	w5, #1
	mov	w6, #0
	b	LBB0_18
LBB0_16:                                ;   in Loop: Header=BB0_5 Depth=2
Lloh41:
	adrp	x9, _LISTENER_DNS@GOTPAGE
Lloh42:
	ldr	x9, [x9, _LISTENER_DNS@GOTPAGEOFF]
Lloh43:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_27
; %bb.17:                               ;   in Loop: Header=BB0_5 Depth=2
Lloh44:
	adrp	x8, _VPN_RUDP_SVC_NAME@GOTPAGE
Lloh45:
	ldr	x8, [x8, _VPN_RUDP_SVC_NAME@GOTPAGEOFF]
Lloh46:
	ldr	w0, [x8]
Lloh47:
	adrp	x8, _ListenerRUDPRpcRecvProc@GOTPAGE
Lloh48:
	ldr	x8, [x8, _ListenerRUDPRpcRecvProc@GOTPAGEOFF]
Lloh49:
	ldr	w2, [x8]
	ldr	x8, [x19, #56]
	ldr	x8, [x8]
	str	x8, [sp, #8]
	str	wzr, [sp]
	mov	x1, #0
	mov	x3, #0
	mov	w4, #53
	mov	w5, #1
	mov	w6, #1
LBB0_18:                                ;   in Loop: Header=BB0_5 Depth=2
	mov	x7, #0
LBB0_19:                                ;   in Loop: Header=BB0_5 Depth=2
	bl	_ListenRUDPEx
	mov	x28, x0
	cbnz	x0, LBB0_29
LBB0_20:                                ;   in Loop: Header=BB0_5 Depth=2
	tbz	w23, #0, LBB0_23
LBB0_21:                                ;   in Loop: Header=BB0_5 Depth=2
	ldr	w8, [x19, #8]
	ldr	w28, [x20]
	cbz	w8, LBB0_4
; %bb.22:                               ;   in Loop: Header=BB0_5 Depth=2
	bl	_IsIPv6Supported
	cbnz	w0, LBB0_4
	b	LBB0_3
LBB0_23:                                ;   in Loop: Header=BB0_5 Depth=2
	ldr	w8, [x19, #8]
	cbz	w8, LBB0_25
; %bb.24:                               ;   in Loop: Header=BB0_5 Depth=2
	ldr	w28, [x20]
	bl	_IsIPv6Supported
	cbnz	w0, LBB0_4
	b	LBB0_3
LBB0_25:                                ;   in Loop: Header=BB0_5 Depth=2
	ldr	x8, [x19]
	ldr	x9, [x25]
	cmp	x8, x9
	b.ne	LBB0_21
; %bb.26:                               ;   in Loop: Header=BB0_5 Depth=2
	ldr	x0, [x19, #56]
	ldr	w2, [x19, #52]
	ldrsw	x8, [x20]
	mov	w9, #19923
	movk	w9, #4194, lsl #16
	mul	x8, x8, x9
	lsr	x9, x8, #63
	asr	x8, x8, #38
	add	w8, w8, w9
	str	x8, [sp]
Lloh50:
	adrp	x1, l_.str.3@PAGE
Lloh51:
	add	x1, x1, l_.str.3@PAGEOFF
	bl	_SLog
	b	LBB0_21
LBB0_27:                                ;   in Loop: Header=BB0_5 Depth=2
Lloh52:
	adrp	x9, _LISTENER_REVERSE@GOTPAGE
Lloh53:
	ldr	x9, [x9, _LISTENER_REVERSE@GOTPAGEOFF]
Lloh54:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_20
; %bb.28:                               ;   in Loop: Header=BB0_5 Depth=2
	bl	_ListenReverse
	mov	x28, x0
	cbz	x0, LBB0_20
LBB0_29:                                ;   in Loop: Header=BB0_2 Depth=1
	mov	x26, x27
Lloh55:
	adrp	x27, l_.str.9@PAGE
Lloh56:
	add	x27, x27, l_.str.9@PAGEOFF
	ldr	w0, [x28]
	bl	_AddRef
	ldr	w0, [x19, #24]
	bl	_Lock
	str	x28, [x19, #32]
	ldr	w0, [x19, #24]
	bl	_Unlock
	ldr	w8, [x19, #8]
	cbnz	w8, LBB0_32
; %bb.30:                               ;   in Loop: Header=BB0_2 Depth=1
	ldr	x8, [x19]
	ldr	x9, [x25]
	cmp	x8, x9
	b.ne	LBB0_32
; %bb.31:                               ;   in Loop: Header=BB0_2 Depth=1
	ldr	x0, [x19, #56]
	ldr	w2, [x19, #52]
Lloh57:
	adrp	x1, l_.str.2@PAGE
Lloh58:
	add	x1, x1, l_.str.2@PAGEOFF
	bl	_SLog
LBB0_32:                                ;   in Loop: Header=BB0_2 Depth=1
Lloh59:
	adrp	x8, _LISTENER_STATUS_LISTENING@GOTPAGE
Lloh60:
	ldr	x8, [x8, _LISTENER_STATUS_LISTENING@GOTPAGEOFF]
Lloh61:
	ldr	x8, [x8]
	str	x8, [x19, #40]
Lloh62:
	adrp	x0, l_.str.6@PAGE
Lloh63:
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_Debug
	ldr	x8, [x19, #16]
Lloh64:
	adrp	x23, l_.str.7@PAGE
Lloh65:
	add	x23, x23, l_.str.7@PAGEOFF
Lloh66:
	adrp	x24, l_.str.8@PAGE
Lloh67:
	add	x24, x24, l_.str.8@PAGEOFF
	cbnz	x8, LBB0_36
; %bb.33:                               ;   in Loop: Header=BB0_2 Depth=1
	mov	x0, x23
	bl	_Debug
	mov	x0, x28
	bl	_Accept
	cbz	x0, LBB0_36
; %bb.34:                               ;   in Loop: Header=BB0_2 Depth=1
	mov	x21, x0
LBB0_35:                                ;   Parent Loop BB0_2 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	mov	x0, x24
	bl	_Debug
	mov	x0, x19
	mov	x1, x21
	bl	_TCPAccepted
	mov	x0, x21
	bl	_ReleaseSock
	mov	x0, x23
	bl	_Debug
	mov	x0, x28
	bl	_Accept
	mov	x21, x0
	cbnz	x0, LBB0_35
LBB0_36:                                ;   in Loop: Header=BB0_2 Depth=1
	mov	x0, x27
	bl	_Debug
	mov	x0, x28
	bl	_Disconnect
	mov	x0, x28
	bl	_ReleaseSock
	ldr	w0, [x19, #24]
	bl	_Lock
	ldr	x21, [x19, #32]
	cbz	x21, LBB0_38
; %bb.37:                               ;   in Loop: Header=BB0_2 Depth=1
	str	xzr, [x19, #32]
	ldr	w0, [x19, #24]
	bl	_Unlock
	mov	x0, x21
	bl	_ReleaseSock
	b	LBB0_39
LBB0_38:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	w0, [x19, #24]
	bl	_Unlock
LBB0_39:                                ;   in Loop: Header=BB0_2 Depth=1
	mov	x27, x26
Lloh68:
	adrp	x21, _LISTENER_RUDP@GOTPAGE
Lloh69:
	ldr	x21, [x21, _LISTENER_RUDP@GOTPAGEOFF]
Lloh70:
	adrp	x24, _LISTENER_ICMP@GOTPAGE
Lloh71:
	ldr	x24, [x24, _LISTENER_ICMP@GOTPAGEOFF]
	ldr	x8, [x19, #16]
Lloh72:
	adrp	x26, l_.str.4@PAGE
Lloh73:
	add	x26, x26, l_.str.4@PAGEOFF
	cbz	x8, LBB0_2
LBB0_40:
Lloh74:
	adrp	x0, l_.str.5@PAGE
Lloh75:
	add	x0, x0, l_.str.5@PAGEOFF
	ldp	x29, x30, [sp, #96]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #80]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #64]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #48]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #32]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #112
	b	_Debug
LBB0_41:
	ldp	x29, x30, [sp, #96]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #80]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #64]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #48]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #32]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #112
	ret
	.loh AdrpLdrGot	Lloh17, Lloh18
	.loh AdrpLdrGot	Lloh15, Lloh16
	.loh AdrpLdrGot	Lloh13, Lloh14
	.loh AdrpAdd	Lloh11, Lloh12
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGot	Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh5, Lloh6
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh4
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpAdd	Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpAdd	Lloh39, Lloh40
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh41, Lloh42, Lloh43
	.loh AdrpLdrGotLdr	Lloh47, Lloh48, Lloh49
	.loh AdrpLdrGotLdr	Lloh44, Lloh45, Lloh46
	.loh AdrpAdd	Lloh50, Lloh51
	.loh AdrpLdrGotLdr	Lloh52, Lloh53, Lloh54
	.loh AdrpAdd	Lloh55, Lloh56
	.loh AdrpAdd	Lloh57, Lloh58
	.loh AdrpAdd	Lloh66, Lloh67
	.loh AdrpAdd	Lloh64, Lloh65
	.loh AdrpAdd	Lloh62, Lloh63
	.loh AdrpLdrGotLdr	Lloh59, Lloh60, Lloh61
	.loh AdrpAdd	Lloh72, Lloh73
	.loh AdrpLdrGot	Lloh70, Lloh71
	.loh AdrpLdrGot	Lloh68, Lloh69
	.loh AdrpAdd	Lloh74, Lloh75
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"ListenerTCPMainLoop Starts.\n"

	.comm	_LISTENER_STATUS_TRYING,8,3     ; @LISTENER_STATUS_TRYING
l_.str.1:                               ; @.str.1
	.asciz	"Status = LISTENER_STATUS_TRYING\n"

	.comm	_LISTENER_TCP,8,3               ; @LISTENER_TCP
	.comm	_LISTENER_INPROC,8,3            ; @LISTENER_INPROC
	.comm	_LISTENER_RUDP,8,3              ; @LISTENER_RUDP
	.comm	_VPN_RUDP_SVC_NAME,4,2          ; @VPN_RUDP_SVC_NAME
	.comm	_ListenerRUDPRpcRecvProc,4,2    ; @ListenerRUDPRpcRecvProc
	.comm	_LISTENER_ICMP,8,3              ; @LISTENER_ICMP
	.comm	_IP_PROTO_ICMPV4,4,2            ; @IP_PROTO_ICMPV4
	.comm	_LISTENER_DNS,8,3               ; @LISTENER_DNS
	.comm	_LISTENER_REVERSE,8,3           ; @LISTENER_REVERSE
l_.str.2:                               ; @.str.2
	.asciz	"LS_LISTENER_START_2"

l_.str.3:                               ; @.str.3
	.asciz	"LS_LISTENER_START_3"

	.comm	_LISTEN_RETRY_TIME,4,2          ; @LISTEN_RETRY_TIME
	.comm	_LISTEN_RETRY_TIME_NOIPV6,4,2   ; @LISTEN_RETRY_TIME_NOIPV6
l_.str.4:                               ; @.str.4
	.asciz	"IPv6 is not supported.\n"

l_.str.5:                               ; @.str.5
	.asciz	"Listener Halt.\n"

	.comm	_LISTENER_STATUS_LISTENING,8,3  ; @LISTENER_STATUS_LISTENING
l_.str.6:                               ; @.str.6
	.asciz	"Status = LISTENER_STATUS_LISTENING\n"

l_.str.7:                               ; @.str.7
	.asciz	"Accept()\n"

l_.str.8:                               ; @.str.8
	.asciz	"Accepted.\n"

l_.str.9:                               ; @.str.9
	.asciz	"Accept Canceled.\n"

.subsections_via_symbols
