	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_sctp_timeout_handler           ## -- Begin function sctp_timeout_handler
	.p2align	4, 0x90
_sctp_timeout_handler:                  ## @sctp_timeout_handler
	.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	$24, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %rbx
	movq	48(%rdi), %r14
	movq	40(%rdi), %r12
	movq	24(%rdi), %rdi
	movq	32(%rbx), %r13
	callq	_CURVNET_SET
	cmpq	%rbx, 8(%rbx)
	je	LBB0_1
LBB0_9:
	xorl	%eax, %eax
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_CURVNET_RESTORE                ## TAILCALL
LBB0_1:
	movl	$40961, 16(%rbx)                ## imm = 0xA001
	movl	(%rbx), %edi
	callq	_SCTP_IS_TIMER_TYPE_VALID
	testl	%eax, %eax
	je	LBB0_9
## %bb.2:
	movl	$40962, 16(%rbx)                ## imm = 0xA002
	cmpl	$144, (%rbx)
	je	LBB0_4
## %bb.3:
	testq	%r14, %r14
	je	LBB0_9
LBB0_4:
	movl	$40963, 16(%rbx)                ## imm = 0xA003
	testq	%r14, %r14
	je	LBB0_10
## %bb.5:
	movq	%r14, %rdi
	callq	_SCTP_INP_INCR_REF
	cmpq	$0, 32(%r14)
	jne	LBB0_10
## %bb.6:
	movl	$-129, %eax
	addl	(%rbx), %eax
	cmpl	$13, %eax
	ja	LBB0_8
## %bb.7:
	movl	$10015, %ecx                    ## imm = 0x271F
	btl	%eax, %ecx
	jae	LBB0_8
LBB0_10:
	movl	$40964, 16(%rbx)                ## imm = 0xA004
	testq	%r12, %r12
	je	LBB0_13
## %bb.11:
	leaq	8(%r12), %r15
	movq	%r15, %rdi
	movl	$1, %esi
	callq	_atomic_add_int
	cmpq	$0, (%r12)
	je	LBB0_12
LBB0_13:
	movl	(%rbx), %edx
	movl	$40965, 16(%rbx)                ## imm = 0xA005
	movq	_SCTP_DEBUG_TIMER1@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str(%rip), %rsi
	movq	%rdx, -48(%rbp)                 ## 8-byte Spill
                                        ## kill: def $edx killed $edx killed $rdx
	callq	_SCTPDBG
	leaq	20(%rbx), %r15
	movq	%r15, %rdi
	callq	_SCTP_OS_TIMER_ACTIVE
	testl	%eax, %eax
	je	LBB0_14
## %bb.18:
	movl	$40966, 16(%rbx)                ## imm = 0xA006
	testq	%r12, %r12
	je	LBB0_24
## %bb.19:
	movq	%r12, %rdi
	callq	_SCTP_TCB_LOCK
	leaq	8(%r12), %rdi
	movl	$-1, %esi
	callq	_atomic_add_int
	cmpl	$142, -48(%rbp)                 ## 4-byte Folded Reload
	je	LBB0_28
## %bb.20:
	movq	(%r12), %rax
	testq	%rax, %rax
	je	LBB0_22
## %bb.21:
	movq	_SCTP_STATE_ABOUT_TO_BE_FREED@GOTPCREL(%rip), %rcx
	movslq	(%rcx), %rcx
	testq	%rcx, %rax
	je	LBB0_28
LBB0_22:
	movq	%r12, %rdi
	callq	_SCTP_TCB_UNLOCK
	jmp	LBB0_23
LBB0_14:
	testq	%r14, %r14
	je	LBB0_16
## %bb.15:
	movq	%r14, %rdi
	callq	_SCTP_INP_DECR_REF
LBB0_16:
	testq	%r12, %r12
	je	LBB0_9
## %bb.17:
	addq	$8, %r12
	movq	%r12, %rdi
	movl	$-1, %esi
	callq	_atomic_add_int
	jmp	LBB0_9
LBB0_12:
	movq	%r15, %rdi
	movl	$-1, %esi
	callq	_atomic_add_int
LBB0_23:
	testq	%r14, %r14
	je	LBB0_9
LBB0_8:
	movq	%r14, %rdi
	callq	_SCTP_INP_DECR_REF
	jmp	LBB0_9
LBB0_24:
	testq	%r14, %r14
	je	LBB0_27
## %bb.25:
	cmpl	$137, -48(%rbp)                 ## 4-byte Folded Reload
	je	LBB0_28
## %bb.26:
	movq	%r14, %rdi
	callq	_SCTP_INP_WLOCK
	jmp	LBB0_28
LBB0_27:
	xorl	%eax, %eax
	callq	_SCTP_WQ_ADDR_LOCK
LBB0_28:
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movl	%eax, 16(%rbx)
	movq	%rax, %rbx
	movq	%r15, %rdi
	callq	_SCTP_OS_TIMER_PENDING
	testq	%rax, %rax
	je	LBB0_29
LBB0_100:
	testq	%r12, %r12
	je	LBB0_102
## %bb.101:
	movq	%r12, %rdi
	callq	_SCTP_TCB_UNLOCK
LBB0_76:
	testq	%r14, %r14
	jne	LBB0_77
	jmp	LBB0_106
LBB0_29:
	movq	%r15, %rdi
	callq	_SCTP_OS_TIMER_ACTIVE
	testl	%eax, %eax
	je	LBB0_100
## %bb.30:
	movq	%r15, %rdi
	callq	_SCTP_OS_TIMER_DEACTIVATE
	leal	-128(%rbx), %eax
	cmpl	$16, %eax
	ja	LBB0_97
## %bb.31:
	leaq	LJTI0_0(%rip), %rcx
	movslq	(%rcx,%rax,4), %rax
	addq	%rcx, %rax
	jmpq	*%rax
LBB0_78:
	testq	%r12, %r12
	je	LBB0_98
## %bb.79:
	testq	%r14, %r14
	je	LBB0_98
## %bb.80:
	movq	%r14, %rdi
	movq	%r12, %rsi
	movq	%r13, %rdx
	callq	_sctp_strreset_timer
	testl	%eax, %eax
	jne	LBB0_76
## %bb.81:
	movq	_sctps_timostrmrst@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_SCTP_STAT_INCR
	movq	_SCTP_OUTPUT_FROM_STRRST_TMR@GOTPCREL(%rip), %rax
	jmp	LBB0_55
LBB0_97:
	movq	_SCTP_DEBUG_TIMER1@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.2(%rip), %rsi
	movl	%ebx, %edx
	callq	_SCTPDBG
	jmp	LBB0_98
LBB0_73:
	testq	%r12, %r12
	je	LBB0_98
## %bb.74:
	testq	%r14, %r14
	je	LBB0_98
## %bb.75:
	movq	_sctps_timoshutdownguard@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_SCTP_STAT_INCR
	movq	_sctp_diag_info_code@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_SCTP_BASE_SYSCTL
	leaq	L_.str.1(%rip), %rsi
	movl	%eax, %edi
	callq	_sctp_generate_cause
	movq	_SCTP_SO_NOT_LOCKED@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	movq	%r14, %rdi
	movq	%r12, %rsi
	movq	%rax, %rdx
	callq	_sctp_abort_an_association
	jmp	LBB0_76
LBB0_69:
	testq	%r12, %r12
	je	LBB0_98
## %bb.70:
	testq	%r14, %r14
	je	LBB0_98
## %bb.71:
	movq	%r14, %rdi
	movq	%r12, %rsi
	movq	%r13, %rdx
	callq	_sctp_shutdownack_timer
	testl	%eax, %eax
	jne	LBB0_76
## %bb.72:
	movq	_sctps_timoshutdownack@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_SCTP_STAT_INCR
	incl	12(%r12)
	movq	_SCTP_OUTPUT_FROM_SHUT_ACK_TMR@GOTPCREL(%rip), %rax
	jmp	LBB0_55
LBB0_45:
	testq	%r12, %r12
	je	LBB0_98
## %bb.46:
	testq	%r14, %r14
	je	LBB0_98
## %bb.47:
	movq	%r14, %rdi
	movq	%r12, %rsi
	movq	%r13, %rdx
	callq	_sctp_shutdown_timer
	testl	%eax, %eax
	jne	LBB0_76
## %bb.48:
	movq	_sctps_timoshutdown@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_SCTP_STAT_INCR
	incl	24(%r12)
	movq	_SCTP_OUTPUT_FROM_SHUT_TMR@GOTPCREL(%rip), %rax
	jmp	LBB0_55
LBB0_33:
	testq	%r12, %r12
	je	LBB0_98
## %bb.34:
	testq	%r14, %r14
	je	LBB0_98
## %bb.35:
	movq	_sctps_timodata@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_SCTP_STAT_INCR
	incl	48(%r12)
	movl	44(%r12), %eax
	leal	-1(%rax), %ecx
	xorl	%edx, %edx
	testl	%eax, %eax
	cmovgl	%ecx, %edx
	movl	%edx, 44(%r12)
	movq	%r12, %rdi
	callq	_SCTP_TCB_LOCK_ASSERT
	movq	%r14, %rdi
	movq	%r12, %rsi
	movq	%r13, %rdx
	callq	_sctp_t3rxt_timer
	testl	%eax, %eax
	jne	LBB0_76
## %bb.36:
	movq	%r12, %rdi
	callq	_SCTP_TCB_LOCK_ASSERT
	movq	_SCTP_OUTPUT_FROM_T3@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_SCTP_SO_NOT_LOCKED@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	%r14, %rdi
	movq	%r12, %rsi
	callq	_sctp_chunk_output
	cmpl	$0, 44(%r12)
	jne	LBB0_98
## %bb.37:
	cmpl	$0, 40(%r12)
	jle	LBB0_98
## %bb.38:
	leaq	36(%r12), %rdi
	callq	_TAILQ_FIRST
	movq	(%rax), %rcx
	movl	$132, %edi
	movq	%r14, %rsi
	movq	%r12, %rdx
	callq	_sctp_timer_start
	jmp	LBB0_99
LBB0_42:
	testq	%r12, %r12
	je	LBB0_98
## %bb.43:
	testq	%r14, %r14
	je	LBB0_98
## %bb.44:
	movq	_sctps_timosack@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_SCTP_STAT_INCR
	incl	28(%r12)
	movq	_SCTP_SO_NOT_LOCKED@GOTPCREL(%rip), %rbx
	movl	(%rbx), %esi
	movq	%r12, %rdi
	callq	_sctp_send_sack
	movq	_SCTP_OUTPUT_FROM_SACK_TMR@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	(%rbx), %ecx
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	jmp	LBB0_56
LBB0_86:
	testq	%r12, %r12
	je	LBB0_98
## %bb.87:
	testq	%r14, %r14
	je	LBB0_98
## %bb.88:
	movq	%r14, %rdi
	movq	%r12, %rsi
	movq	%r13, %rdx
	callq	_sctp_delete_prim_timer
	movq	_sctps_timodelprim@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_SCTP_STAT_INCR
	jmp	LBB0_99
LBB0_66:
	testq	%r12, %r12
	je	LBB0_98
## %bb.67:
	testq	%r14, %r14
	je	LBB0_98
## %bb.68:
	movq	_sctps_timopathmtu@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_SCTP_STAT_INCR
	movq	%r14, %rdi
	movq	%r12, %rsi
	movq	%r13, %rdx
	callq	_sctp_pathmtu_timer
	jmp	LBB0_100
LBB0_61:
	testq	%r14, %r14
	je	LBB0_104
## %bb.62:
	movq	_sctps_timosecret@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_SCTP_STAT_INCR
	leaq	-56(%rbp), %rdi
	callq	_SCTP_GETTIME_TIMEVAL
	movl	-56(%rbp), %eax
	movl	%eax, 24(%r14)
	movq	8(%r14), %rcx
	movq	%rcx, 16(%r14)
	incq	%rcx
	movq	_SCTP_HOW_MANY_SECRETS@GOTPCREL(%rip), %rdx
	xorl	%eax, %eax
	cmpq	(%rdx), %rcx
	cmovlq	%rcx, %rax
	movq	%rax, 8(%r14)
	movq	_SCTP_NUMBER_OF_SECRETS@GOTPCREL(%rip), %rbx
	cmpl	$0, (%rbx)
	jle	LBB0_65
## %bb.63:
	cltq
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	xorl	%r15d, %r15d
LBB0_64:                                ## =>This Inner Loop Header: Depth=1
	movq	%r14, %rdi
	callq	_sctp_select_initial_TSN
	movq	(%r14), %rcx
	movq	-64(%rbp), %rdx                 ## 8-byte Reload
	movq	(%rcx,%rdx,8), %rcx
	movl	%eax, (%rcx,%r15,4)
	incq	%r15
	movslq	(%rbx), %rax
	cmpq	%rax, %r15
	jl	LBB0_64
LBB0_65:
	movl	$136, %edi
	movq	%r14, %rsi
	movq	%r12, %rdx
	movq	%r13, %rcx
	callq	_sctp_timer_start
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	jmp	LBB0_100
LBB0_95:
	movq	_sctps_timoinpkill@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_SCTP_STAT_INCR
	testq	%r14, %r14
	je	LBB0_98
## %bb.96:
	movq	%r14, %rdi
	callq	_SCTP_INP_DECR_REF
	movq	_SCTP_FROM_SCTPUTIL@GOTPCREL(%rip), %rax
	movq	_SCTP_LOC_3@GOTPCREL(%rip), %rcx
	movq	(%rcx), %r8
	addq	(%rax), %r8
	movl	$137, %edi
	movq	%r14, %rsi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	callq	_sctp_timer_stop
	movq	_SCTP_FREE_SHOULD_USE_ABORT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_SCTP_CALLED_FROM_INPKILL_TIMER@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r14, %rdi
	callq	_sctp_inpcb_free
	jmp	LBB0_106
LBB0_39:
	testq	%r12, %r12
	je	LBB0_98
## %bb.40:
	testq	%r14, %r14
	je	LBB0_98
## %bb.41:
	movq	_sctps_timoinit@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_SCTP_STAT_INCR
	incl	32(%r12)
	movq	%r14, %rdi
	movq	%r12, %rsi
	movq	%r13, %rdx
	callq	_sctp_t1init_timer
	testl	%eax, %eax
	jne	LBB0_76
	jmp	LBB0_100
LBB0_49:
	testq	%r12, %r12
	je	LBB0_98
## %bb.50:
	testq	%r14, %r14
	je	LBB0_98
## %bb.51:
	testq	%r13, %r13
	je	LBB0_98
## %bb.52:
	movq	_sctps_timoheartbeat@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_SCTP_STAT_INCR
	incl	20(%r12)
	movq	%r14, %rdi
	movq	%r12, %rsi
	movq	%r13, %rdx
	callq	_sctp_heartbeat_timer
	testl	%eax, %eax
	jne	LBB0_76
## %bb.53:
	movq	_SCTP_ADDR_NOHB@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%r13)
	jne	LBB0_98
## %bb.54:
	movl	$139, %edi
	movq	%r14, %rsi
	movq	%r12, %rdx
	movq	%r13, %rcx
	callq	_sctp_timer_start
	movq	_SCTP_OUTPUT_FROM_HB_TMR@GOTPCREL(%rip), %rax
	jmp	LBB0_55
LBB0_57:
	testq	%r12, %r12
	je	LBB0_98
## %bb.58:
	testq	%r14, %r14
	je	LBB0_98
## %bb.59:
	movq	%r14, %rdi
	movq	%r12, %rsi
	movq	%r13, %rdx
	callq	_sctp_cookie_timer
	testl	%eax, %eax
	jne	LBB0_76
## %bb.60:
	movq	_sctps_timocookie@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_SCTP_STAT_INCR
	incl	16(%r12)
	movq	_SCTP_OUTPUT_FROM_T3@GOTPCREL(%rip), %rax
	jmp	LBB0_55
LBB0_89:
	testq	%r12, %r12
	je	LBB0_98
## %bb.90:
	testq	%r14, %r14
	je	LBB0_98
## %bb.91:
	movq	_sctps_timoautoclose@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_SCTP_STAT_INCR
	movq	%r14, %rdi
	movq	%r12, %rsi
	movq	%r13, %rdx
	callq	_sctp_autoclose_timer
	movq	_SCTP_OUTPUT_FROM_AUTOCLOSE_TMR@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_SCTP_SO_NOT_LOCKED@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	%r14, %rdi
	movq	%r12, %rsi
	callq	_sctp_chunk_output
	jmp	LBB0_100
LBB0_92:
	testq	%r12, %r12
	je	LBB0_98
## %bb.93:
	testq	%r14, %r14
	je	LBB0_98
## %bb.94:
	movq	_sctps_timoassockill@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_SCTP_STAT_INCR
	movq	%r14, %rdi
	callq	_SCTP_INP_DECR_REF
	movq	_SCTP_FROM_SCTPUTIL@GOTPCREL(%rip), %r13
	movq	_SCTP_LOC_1@GOTPCREL(%rip), %rax
	movq	(%rax), %r8
	addq	(%r13), %r8
	movl	$142, %edi
	movq	%r14, %rsi
	movq	%r12, %rdx
	xorl	%ecx, %ecx
	callq	_sctp_timer_stop
	movq	%r14, %rdi
	callq	_SCTP_INP_SO
	movq	%rax, %r15
	leaq	8(%r12), %rbx
	movq	%rbx, %rdi
	movl	$1, %esi
	callq	_atomic_add_int
	movq	%r12, %rdi
	callq	_SCTP_TCB_UNLOCK
	movq	%r15, %rdi
	movl	$1, %esi
	callq	_SCTP_SOCKET_LOCK
	movq	%r12, %rdi
	callq	_SCTP_TCB_LOCK
	movq	%rbx, %rdi
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	movl	$1, %esi
	callq	_atomic_subtract_int
	movq	_SCTP_NORMAL_PROC@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_SCTP_LOC_2@GOTPCREL(%rip), %rax
	movq	(%rax), %rcx
	addq	(%r13), %rcx
	movq	%r14, %rdi
	movq	%r12, %rsi
	callq	_sctp_free_assoc
	movq	%r15, %rdi
	movl	$1, %esi
	callq	_SCTP_SOCKET_UNLOCK
	jmp	LBB0_106
LBB0_82:
	testq	%r12, %r12
	je	LBB0_98
## %bb.83:
	testq	%r14, %r14
	je	LBB0_98
## %bb.84:
	movq	%r14, %rdi
	movq	%r12, %rsi
	movq	%r13, %rdx
	callq	_sctp_asconf_timer
	testl	%eax, %eax
	jne	LBB0_76
## %bb.85:
	movq	_sctps_timoasconf@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_SCTP_STAT_INCR
	movq	_SCTP_OUTPUT_FROM_ASCONF_TMR@GOTPCREL(%rip), %rax
LBB0_55:
	movl	(%rax), %edx
	movq	_SCTP_SO_NOT_LOCKED@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
LBB0_56:
	movq	%r14, %rdi
	movq	%r12, %rsi
	callq	_sctp_chunk_output
	jmp	LBB0_99
LBB0_32:
	xorl	%eax, %eax
	callq	_sctp_handle_addr_wq
LBB0_98:
	testq	%r12, %r12
	je	LBB0_102
LBB0_99:
	movq	%r12, %rdi
	callq	_sctp_fix_ecn_echo
	jmp	LBB0_100
LBB0_102:
	testq	%r14, %r14
	je	LBB0_105
## %bb.103:
	movq	%r14, %rdi
	callq	_SCTP_INP_WUNLOCK
LBB0_77:
	movq	%r14, %rdi
	callq	_SCTP_INP_DECR_REF
LBB0_106:
	movq	_SCTP_DEBUG_TIMER1@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.3(%rip), %rsi
	movl	%ebx, %edx
	callq	_SCTPDBG
	xorl	%eax, %eax
	callq	_CURVNET_RESTORE
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_104:
	testq	%r12, %r12
	jne	LBB0_99
LBB0_105:
	xorl	%eax, %eax
	callq	_SCTP_WQ_ADDR_UNLOCK
	jmp	LBB0_106
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_78, LBB0_78-LJTI0_0
.set L0_0_set_73, LBB0_73-LJTI0_0
.set L0_0_set_69, LBB0_69-LJTI0_0
.set L0_0_set_45, LBB0_45-LJTI0_0
.set L0_0_set_33, LBB0_33-LJTI0_0
.set L0_0_set_42, LBB0_42-LJTI0_0
.set L0_0_set_86, LBB0_86-LJTI0_0
.set L0_0_set_66, LBB0_66-LJTI0_0
.set L0_0_set_61, LBB0_61-LJTI0_0
.set L0_0_set_95, LBB0_95-LJTI0_0
.set L0_0_set_39, LBB0_39-LJTI0_0
.set L0_0_set_49, LBB0_49-LJTI0_0
.set L0_0_set_57, LBB0_57-LJTI0_0
.set L0_0_set_89, LBB0_89-LJTI0_0
.set L0_0_set_92, LBB0_92-LJTI0_0
.set L0_0_set_82, LBB0_82-LJTI0_0
.set L0_0_set_32, LBB0_32-LJTI0_0
LJTI0_0:
	.long	L0_0_set_78
	.long	L0_0_set_73
	.long	L0_0_set_69
	.long	L0_0_set_45
	.long	L0_0_set_33
	.long	L0_0_set_42
	.long	L0_0_set_86
	.long	L0_0_set_66
	.long	L0_0_set_61
	.long	L0_0_set_95
	.long	L0_0_set_39
	.long	L0_0_set_49
	.long	L0_0_set_57
	.long	L0_0_set_89
	.long	L0_0_set_92
	.long	L0_0_set_82
	.long	L0_0_set_32
	.end_data_region
                                        ## -- End function
	.comm	_SCTP_DEBUG_TIMER1,4,2          ## @SCTP_DEBUG_TIMER1
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Timer type %d goes off\n"

	.comm	_SCTP_STATE_ABOUT_TO_BE_FREED,4,2 ## @SCTP_STATE_ABOUT_TO_BE_FREED
	.comm	_sctps_timodata,4,2             ## @sctps_timodata
	.comm	_SCTP_OUTPUT_FROM_T3,4,2        ## @SCTP_OUTPUT_FROM_T3
	.comm	_SCTP_SO_NOT_LOCKED,4,2         ## @SCTP_SO_NOT_LOCKED
	.comm	_sctps_timoinit,4,2             ## @sctps_timoinit
	.comm	_sctps_timosack,4,2             ## @sctps_timosack
	.comm	_SCTP_OUTPUT_FROM_SACK_TMR,4,2  ## @SCTP_OUTPUT_FROM_SACK_TMR
	.comm	_sctps_timoshutdown,4,2         ## @sctps_timoshutdown
	.comm	_SCTP_OUTPUT_FROM_SHUT_TMR,4,2  ## @SCTP_OUTPUT_FROM_SHUT_TMR
	.comm	_sctps_timoheartbeat,4,2        ## @sctps_timoheartbeat
	.comm	_SCTP_ADDR_NOHB,4,2             ## @SCTP_ADDR_NOHB
	.comm	_SCTP_OUTPUT_FROM_HB_TMR,4,2    ## @SCTP_OUTPUT_FROM_HB_TMR
	.comm	_sctps_timocookie,4,2           ## @sctps_timocookie
	.comm	_sctps_timosecret,4,2           ## @sctps_timosecret
	.comm	_SCTP_HOW_MANY_SECRETS,8,3      ## @SCTP_HOW_MANY_SECRETS
	.comm	_SCTP_NUMBER_OF_SECRETS,4,2     ## @SCTP_NUMBER_OF_SECRETS
	.comm	_sctps_timopathmtu,4,2          ## @sctps_timopathmtu
	.comm	_sctps_timoshutdownack,4,2      ## @sctps_timoshutdownack
	.comm	_SCTP_OUTPUT_FROM_SHUT_ACK_TMR,4,2 ## @SCTP_OUTPUT_FROM_SHUT_ACK_TMR
	.comm	_sctps_timoshutdownguard,4,2    ## @sctps_timoshutdownguard
	.comm	_sctp_diag_info_code,4,2        ## @sctp_diag_info_code
L_.str.1:                               ## @.str.1
	.asciz	"Shutdown guard timer expired"

	.comm	_sctps_timostrmrst,4,2          ## @sctps_timostrmrst
	.comm	_SCTP_OUTPUT_FROM_STRRST_TMR,4,2 ## @SCTP_OUTPUT_FROM_STRRST_TMR
	.comm	_sctps_timoasconf,4,2           ## @sctps_timoasconf
	.comm	_SCTP_OUTPUT_FROM_ASCONF_TMR,4,2 ## @SCTP_OUTPUT_FROM_ASCONF_TMR
	.comm	_sctps_timodelprim,4,2          ## @sctps_timodelprim
	.comm	_sctps_timoautoclose,4,2        ## @sctps_timoautoclose
	.comm	_SCTP_OUTPUT_FROM_AUTOCLOSE_TMR,4,2 ## @SCTP_OUTPUT_FROM_AUTOCLOSE_TMR
	.comm	_sctps_timoassockill,4,2        ## @sctps_timoassockill
	.comm	_SCTP_FROM_SCTPUTIL,8,3         ## @SCTP_FROM_SCTPUTIL
	.comm	_SCTP_LOC_1,8,3                 ## @SCTP_LOC_1
	.comm	_SCTP_NORMAL_PROC,4,2           ## @SCTP_NORMAL_PROC
	.comm	_SCTP_LOC_2,8,3                 ## @SCTP_LOC_2
	.comm	_sctps_timoinpkill,4,2          ## @sctps_timoinpkill
	.comm	_SCTP_LOC_3,8,3                 ## @SCTP_LOC_3
	.comm	_SCTP_FREE_SHOULD_USE_ABORT,4,2 ## @SCTP_FREE_SHOULD_USE_ABORT
	.comm	_SCTP_CALLED_FROM_INPKILL_TIMER,4,2 ## @SCTP_CALLED_FROM_INPKILL_TIMER
L_.str.2:                               ## @.str.2
	.asciz	"sctp_timeout_handler:unknown timer %d\n"

L_.str.3:                               ## @.str.3
	.asciz	"Timer now complete (type = %d)\n"

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_sctp_timeout_handler           ; -- Begin function sctp_timeout_handler
	.p2align	2
_sctp_timeout_handler:                  ; @sctp_timeout_handler
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #96
	.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
	mov	x23, x0
	ldp	x20, x19, [x0, #40]
	ldp	x0, x22, [x0, #24]
	bl	_CURVNET_SET
	ldr	x8, [x23, #8]
	cmp	x8, x23
	b.eq	LBB0_2
LBB0_1:
	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
	add	sp, sp, #96
	b	_CURVNET_RESTORE
LBB0_2:
	mov	w8, #40961
	str	w8, [x23, #16]
	ldr	w0, [x23]
	bl	_SCTP_IS_TIMER_TYPE_VALID
	cbz	w0, LBB0_1
; %bb.3:
	mov	w8, #40962
	str	w8, [x23, #16]
	ldr	w8, [x23]
	cmp	w8, #144
	ccmp	x19, #0, #0, ne
	b.eq	LBB0_1
; %bb.4:
	mov	w8, #40963
	str	w8, [x23, #16]
	cbz	x19, LBB0_8
; %bb.5:
	mov	x0, x19
	bl	_SCTP_INP_INCR_REF
	ldr	x8, [x19, #32]
	cbnz	x8, LBB0_8
; %bb.6:
	ldr	w8, [x23]
	sub	w8, w8, #129
	cmp	w8, #13
	b.hi	LBB0_21
; %bb.7:
	mov	w9, #1
	lsl	w8, w9, w8
	mov	w9, #10015
	tst	w8, w9
	b.eq	LBB0_21
LBB0_8:
	mov	w8, #40964
	str	w8, [x23, #16]
	cbz	x20, LBB0_10
; %bb.9:
	add	x21, x20, #8
	mov	x0, x21
	mov	w1, #1
	bl	_atomic_add_int
	ldr	x8, [x20]
	cbz	x8, LBB0_20
LBB0_10:
	ldr	w21, [x23]
	mov	w8, #40965
	str	w8, [x23, #16]
Lloh0:
	adrp	x25, _SCTP_DEBUG_TIMER1@GOTPAGE
Lloh1:
	ldr	x25, [x25, _SCTP_DEBUG_TIMER1@GOTPAGEOFF]
	ldr	w0, [x25]
Lloh2:
	adrp	x1, l_.str@PAGE
Lloh3:
	add	x1, x1, l_.str@PAGEOFF
	mov	x2, x21
	bl	_SCTPDBG
	add	x24, x23, #20
	mov	x0, x24
	bl	_SCTP_OS_TIMER_ACTIVE
	cbz	w0, LBB0_16
; %bb.11:
	mov	w8, #40966
	str	w8, [x23, #16]
	cbz	x20, LBB0_22
; %bb.12:
	mov	x0, x20
	bl	_SCTP_TCB_LOCK
	add	x0, x20, #8
	mov	w1, #-1
	bl	_atomic_add_int
	cmp	w21, #142
	b.eq	LBB0_26
; %bb.13:
	ldr	x8, [x20]
	cbz	x8, LBB0_15
; %bb.14:
Lloh4:
	adrp	x9, _SCTP_STATE_ABOUT_TO_BE_FREED@GOTPAGE
Lloh5:
	ldr	x9, [x9, _SCTP_STATE_ABOUT_TO_BE_FREED@GOTPAGEOFF]
Lloh6:
	ldrsw	x9, [x9]
	tst	x8, x9
	b.eq	LBB0_26
LBB0_15:
	mov	x0, x20
	bl	_SCTP_TCB_UNLOCK
	cbnz	x19, LBB0_21
	b	LBB0_1
LBB0_16:
	cbz	x19, LBB0_18
; %bb.17:
	mov	x0, x19
	bl	_SCTP_INP_DECR_REF
LBB0_18:
	cbz	x20, LBB0_1
; %bb.19:
	add	x0, x20, #8
	mov	w1, #-1
	bl	_atomic_add_int
	b	LBB0_1
LBB0_20:
	mov	x0, x21
	mov	w1, #-1
	bl	_atomic_add_int
	cbz	x19, LBB0_1
LBB0_21:
	mov	x0, x19
	bl	_SCTP_INP_DECR_REF
	b	LBB0_1
LBB0_22:
	cbz	x19, LBB0_25
; %bb.23:
	cmp	w21, #137
	b.eq	LBB0_26
; %bb.24:
	mov	x0, x19
	bl	_SCTP_INP_WLOCK
	b	LBB0_26
LBB0_25:
	bl	_SCTP_WQ_ADDR_LOCK
LBB0_26:
	str	w21, [x23, #16]
	mov	x0, x24
	bl	_SCTP_OS_TIMER_PENDING
	cbz	x0, LBB0_30
LBB0_27:
	cbz	x20, LBB0_99
; %bb.28:
	mov	x0, x20
	bl	_SCTP_TCB_UNLOCK
LBB0_29:
	cbnz	x19, LBB0_101
	b	LBB0_102
LBB0_30:
	mov	x0, x24
	bl	_SCTP_OS_TIMER_ACTIVE
	cbz	w0, LBB0_27
; %bb.31:
	mov	x0, x24
	bl	_SCTP_OS_TIMER_DEACTIVATE
	sub	w8, w21, #128
	cmp	w8, #16
	b.hi	LBB0_37
; %bb.32:
Lloh7:
	adrp	x9, lJTI0_0@PAGE
Lloh8:
	add	x9, x9, lJTI0_0@PAGEOFF
	adr	x10, LBB0_33
	ldrh	w11, [x9, x8, lsl #1]
	add	x10, x10, x11, lsl #2
	br	x10
LBB0_33:
	cbz	x20, LBB0_96
; %bb.34:
	cbz	x19, LBB0_96
; %bb.35:
	mov	x0, x19
	mov	x1, x20
	mov	x2, x22
	bl	_sctp_strreset_timer
	cbnz	w0, LBB0_29
; %bb.36:
Lloh9:
	adrp	x8, _sctps_timostrmrst@GOTPAGE
Lloh10:
	ldr	x8, [x8, _sctps_timostrmrst@GOTPAGEOFF]
Lloh11:
	ldr	w0, [x8]
	bl	_SCTP_STAT_INCR
Lloh12:
	adrp	x8, _SCTP_OUTPUT_FROM_STRRST_TMR@GOTPAGE
Lloh13:
	ldr	x8, [x8, _SCTP_OUTPUT_FROM_STRRST_TMR@GOTPAGEOFF]
	b	LBB0_94
LBB0_37:
	ldr	w0, [x25]
Lloh14:
	adrp	x1, l_.str.2@PAGE
Lloh15:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x2, x21
	bl	_SCTPDBG
	b	LBB0_96
LBB0_38:
	cbz	x20, LBB0_96
; %bb.39:
	cbz	x19, LBB0_96
; %bb.40:
Lloh16:
	adrp	x8, _sctps_timoshutdownguard@GOTPAGE
Lloh17:
	ldr	x8, [x8, _sctps_timoshutdownguard@GOTPAGEOFF]
Lloh18:
	ldr	w0, [x8]
	bl	_SCTP_STAT_INCR
Lloh19:
	adrp	x8, _sctp_diag_info_code@GOTPAGE
Lloh20:
	ldr	x8, [x8, _sctp_diag_info_code@GOTPAGEOFF]
Lloh21:
	ldr	w0, [x8]
	bl	_SCTP_BASE_SYSCTL
Lloh22:
	adrp	x1, l_.str.1@PAGE
Lloh23:
	add	x1, x1, l_.str.1@PAGEOFF
	bl	_sctp_generate_cause
	mov	x2, x0
Lloh24:
	adrp	x8, _SCTP_SO_NOT_LOCKED@GOTPAGE
Lloh25:
	ldr	x8, [x8, _SCTP_SO_NOT_LOCKED@GOTPAGEOFF]
Lloh26:
	ldr	w3, [x8]
	mov	x0, x19
	mov	x1, x20
	bl	_sctp_abort_an_association
	b	LBB0_29
LBB0_41:
	cbz	x20, LBB0_96
; %bb.42:
	cbz	x19, LBB0_96
; %bb.43:
	mov	x0, x19
	mov	x1, x20
	mov	x2, x22
	bl	_sctp_shutdownack_timer
	cbnz	w0, LBB0_29
; %bb.44:
Lloh27:
	adrp	x8, _sctps_timoshutdownack@GOTPAGE
Lloh28:
	ldr	x8, [x8, _sctps_timoshutdownack@GOTPAGEOFF]
Lloh29:
	ldr	w0, [x8]
	bl	_SCTP_STAT_INCR
	ldr	w8, [x20, #12]
	add	w8, w8, #1
	str	w8, [x20, #12]
Lloh30:
	adrp	x8, _SCTP_OUTPUT_FROM_SHUT_ACK_TMR@GOTPAGE
Lloh31:
	ldr	x8, [x8, _SCTP_OUTPUT_FROM_SHUT_ACK_TMR@GOTPAGEOFF]
	b	LBB0_94
LBB0_45:
	cbz	x20, LBB0_96
; %bb.46:
	cbz	x19, LBB0_96
; %bb.47:
	mov	x0, x19
	mov	x1, x20
	mov	x2, x22
	bl	_sctp_shutdown_timer
	cbnz	w0, LBB0_29
; %bb.48:
Lloh32:
	adrp	x8, _sctps_timoshutdown@GOTPAGE
Lloh33:
	ldr	x8, [x8, _sctps_timoshutdown@GOTPAGEOFF]
Lloh34:
	ldr	w0, [x8]
	bl	_SCTP_STAT_INCR
	ldr	w8, [x20, #24]
	add	w8, w8, #1
	str	w8, [x20, #24]
Lloh35:
	adrp	x8, _SCTP_OUTPUT_FROM_SHUT_TMR@GOTPAGE
Lloh36:
	ldr	x8, [x8, _SCTP_OUTPUT_FROM_SHUT_TMR@GOTPAGEOFF]
	b	LBB0_94
LBB0_49:
	cbz	x20, LBB0_96
; %bb.50:
	cbz	x19, LBB0_96
; %bb.51:
Lloh37:
	adrp	x8, _sctps_timodata@GOTPAGE
Lloh38:
	ldr	x8, [x8, _sctps_timodata@GOTPAGEOFF]
Lloh39:
	ldr	w0, [x8]
	bl	_SCTP_STAT_INCR
	ldp	w9, w8, [x20, #44]
	add	w8, w8, #1
	sub	w10, w9, #1
	cmp	w9, #0
	csel	w9, w10, wzr, gt
	stp	w9, w8, [x20, #44]
	mov	x0, x20
	bl	_SCTP_TCB_LOCK_ASSERT
	mov	x0, x19
	mov	x1, x20
	mov	x2, x22
	bl	_sctp_t3rxt_timer
	cbnz	w0, LBB0_29
; %bb.52:
	mov	x0, x20
	bl	_SCTP_TCB_LOCK_ASSERT
Lloh40:
	adrp	x8, _SCTP_OUTPUT_FROM_T3@GOTPAGE
Lloh41:
	ldr	x8, [x8, _SCTP_OUTPUT_FROM_T3@GOTPAGEOFF]
Lloh42:
	ldr	w2, [x8]
Lloh43:
	adrp	x8, _SCTP_SO_NOT_LOCKED@GOTPAGE
Lloh44:
	ldr	x8, [x8, _SCTP_SO_NOT_LOCKED@GOTPAGEOFF]
Lloh45:
	ldr	w3, [x8]
	mov	x0, x19
	mov	x1, x20
	bl	_sctp_chunk_output
	ldr	w8, [x20, #44]
	cbnz	w8, LBB0_96
; %bb.53:
	ldr	w8, [x20, #40]
	cmp	w8, #1
	b.lt	LBB0_96
; %bb.54:
	add	x0, x20, #36
	bl	_TAILQ_FIRST
	ldr	x3, [x0]
	mov	w0, #132
	mov	x1, x19
	mov	x2, x20
	bl	_sctp_timer_start
	b	LBB0_97
LBB0_55:
	cbz	x20, LBB0_96
; %bb.56:
	cbz	x19, LBB0_96
; %bb.57:
Lloh46:
	adrp	x8, _sctps_timosack@GOTPAGE
Lloh47:
	ldr	x8, [x8, _sctps_timosack@GOTPAGEOFF]
Lloh48:
	ldr	w0, [x8]
	bl	_SCTP_STAT_INCR
	ldr	w8, [x20, #28]
	add	w8, w8, #1
	str	w8, [x20, #28]
Lloh49:
	adrp	x22, _SCTP_SO_NOT_LOCKED@GOTPAGE
Lloh50:
	ldr	x22, [x22, _SCTP_SO_NOT_LOCKED@GOTPAGEOFF]
	ldr	w1, [x22]
	mov	x0, x20
	bl	_sctp_send_sack
Lloh51:
	adrp	x8, _SCTP_OUTPUT_FROM_SACK_TMR@GOTPAGE
Lloh52:
	ldr	x8, [x8, _SCTP_OUTPUT_FROM_SACK_TMR@GOTPAGEOFF]
Lloh53:
	ldr	w2, [x8]
	ldr	w3, [x22]
	b	LBB0_95
LBB0_58:
	cbz	x20, LBB0_96
; %bb.59:
	cbz	x19, LBB0_96
; %bb.60:
	mov	x0, x19
	mov	x1, x20
	mov	x2, x22
	bl	_sctp_delete_prim_timer
Lloh54:
	adrp	x8, _sctps_timodelprim@GOTPAGE
Lloh55:
	ldr	x8, [x8, _sctps_timodelprim@GOTPAGEOFF]
Lloh56:
	ldr	w0, [x8]
	bl	_SCTP_STAT_INCR
	b	LBB0_97
LBB0_61:
	cbz	x20, LBB0_96
; %bb.62:
	cbz	x19, LBB0_96
; %bb.63:
Lloh57:
	adrp	x8, _sctps_timopathmtu@GOTPAGE
Lloh58:
	ldr	x8, [x8, _sctps_timopathmtu@GOTPAGEOFF]
Lloh59:
	ldr	w0, [x8]
	bl	_SCTP_STAT_INCR
	mov	x0, x19
	mov	x1, x20
	mov	x2, x22
	bl	_sctp_pathmtu_timer
	b	LBB0_27
LBB0_64:
	cbz	x19, LBB0_103
; %bb.65:
Lloh60:
	adrp	x8, _sctps_timosecret@GOTPAGE
Lloh61:
	ldr	x8, [x8, _sctps_timosecret@GOTPAGEOFF]
Lloh62:
	ldr	w0, [x8]
	bl	_SCTP_STAT_INCR
	add	x0, sp, #8
	bl	_SCTP_GETTIME_TIMEVAL
	ldr	w8, [sp, #8]
	str	w8, [x19, #24]
	ldr	x9, [x19, #8]
	add	x8, x9, #1
Lloh63:
	adrp	x10, _SCTP_HOW_MANY_SECRETS@GOTPAGE
Lloh64:
	ldr	x10, [x10, _SCTP_HOW_MANY_SECRETS@GOTPAGEOFF]
Lloh65:
	ldr	x10, [x10]
	cmp	x8, x10
	csinc	x8, xzr, x9, ge
	stp	x8, x9, [x19, #8]
Lloh66:
	adrp	x23, _SCTP_NUMBER_OF_SECRETS@GOTPAGE
Lloh67:
	ldr	x23, [x23, _SCTP_NUMBER_OF_SECRETS@GOTPAGEOFF]
	ldr	w9, [x23]
	cmp	w9, #1
	b.lt	LBB0_68
; %bb.66:
	mov	x24, #0
	sxtw	x26, w8
LBB0_67:                                ; =>This Inner Loop Header: Depth=1
	mov	x0, x19
	bl	_sctp_select_initial_TSN
	ldr	x8, [x19]
	ldr	x8, [x8, x26, lsl #3]
	str	w0, [x8, x24, lsl #2]
	add	x24, x24, #1
	ldrsw	x8, [x23]
	cmp	x24, x8
	b.lt	LBB0_67
LBB0_68:
	mov	w0, #136
	mov	x1, x19
	mov	x2, x20
	mov	x3, x22
	bl	_sctp_timer_start
	b	LBB0_27
LBB0_69:
Lloh68:
	adrp	x8, _sctps_timoinpkill@GOTPAGE
Lloh69:
	ldr	x8, [x8, _sctps_timoinpkill@GOTPAGEOFF]
Lloh70:
	ldr	w0, [x8]
	bl	_SCTP_STAT_INCR
	cbz	x19, LBB0_96
; %bb.70:
	mov	x0, x19
	bl	_SCTP_INP_DECR_REF
Lloh71:
	adrp	x8, _SCTP_FROM_SCTPUTIL@GOTPAGE
Lloh72:
	ldr	x8, [x8, _SCTP_FROM_SCTPUTIL@GOTPAGEOFF]
Lloh73:
	ldr	x8, [x8]
Lloh74:
	adrp	x9, _SCTP_LOC_3@GOTPAGE
Lloh75:
	ldr	x9, [x9, _SCTP_LOC_3@GOTPAGEOFF]
Lloh76:
	ldr	x9, [x9]
	add	x4, x9, x8
	mov	w0, #137
	mov	x1, x19
	mov	x2, #0
	mov	x3, #0
	bl	_sctp_timer_stop
Lloh77:
	adrp	x8, _SCTP_FREE_SHOULD_USE_ABORT@GOTPAGE
Lloh78:
	ldr	x8, [x8, _SCTP_FREE_SHOULD_USE_ABORT@GOTPAGEOFF]
Lloh79:
	ldr	w1, [x8]
Lloh80:
	adrp	x8, _SCTP_CALLED_FROM_INPKILL_TIMER@GOTPAGE
Lloh81:
	ldr	x8, [x8, _SCTP_CALLED_FROM_INPKILL_TIMER@GOTPAGEOFF]
Lloh82:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_sctp_inpcb_free
	b	LBB0_102
LBB0_71:
	cbz	x20, LBB0_96
; %bb.72:
	cbz	x19, LBB0_96
; %bb.73:
Lloh83:
	adrp	x8, _sctps_timoinit@GOTPAGE
Lloh84:
	ldr	x8, [x8, _sctps_timoinit@GOTPAGEOFF]
Lloh85:
	ldr	w0, [x8]
	bl	_SCTP_STAT_INCR
	ldr	w8, [x20, #32]
	add	w8, w8, #1
	str	w8, [x20, #32]
	mov	x0, x19
	mov	x1, x20
	mov	x2, x22
	bl	_sctp_t1init_timer
	cbnz	w0, LBB0_29
	b	LBB0_27
LBB0_74:
	cbz	x20, LBB0_96
; %bb.75:
	cbz	x19, LBB0_96
; %bb.76:
	cbz	x22, LBB0_96
; %bb.77:
Lloh86:
	adrp	x8, _sctps_timoheartbeat@GOTPAGE
Lloh87:
	ldr	x8, [x8, _sctps_timoheartbeat@GOTPAGEOFF]
Lloh88:
	ldr	w0, [x8]
	bl	_SCTP_STAT_INCR
	ldr	w8, [x20, #20]
	add	w8, w8, #1
	str	w8, [x20, #20]
	mov	x0, x19
	mov	x1, x20
	mov	x2, x22
	bl	_sctp_heartbeat_timer
	cbnz	w0, LBB0_29
; %bb.78:
	ldr	w8, [x22]
Lloh89:
	adrp	x9, _SCTP_ADDR_NOHB@GOTPAGE
Lloh90:
	ldr	x9, [x9, _SCTP_ADDR_NOHB@GOTPAGEOFF]
Lloh91:
	ldr	w9, [x9]
	tst	w9, w8
	b.ne	LBB0_96
; %bb.79:
	mov	w0, #139
	mov	x1, x19
	mov	x2, x20
	mov	x3, x22
	bl	_sctp_timer_start
Lloh92:
	adrp	x8, _SCTP_OUTPUT_FROM_HB_TMR@GOTPAGE
Lloh93:
	ldr	x8, [x8, _SCTP_OUTPUT_FROM_HB_TMR@GOTPAGEOFF]
	b	LBB0_94
LBB0_80:
	cbz	x20, LBB0_96
; %bb.81:
	cbz	x19, LBB0_96
; %bb.82:
	mov	x0, x19
	mov	x1, x20
	mov	x2, x22
	bl	_sctp_cookie_timer
	cbnz	w0, LBB0_29
; %bb.83:
Lloh94:
	adrp	x8, _sctps_timocookie@GOTPAGE
Lloh95:
	ldr	x8, [x8, _sctps_timocookie@GOTPAGEOFF]
Lloh96:
	ldr	w0, [x8]
	bl	_SCTP_STAT_INCR
	ldr	w8, [x20, #16]
	add	w8, w8, #1
	str	w8, [x20, #16]
Lloh97:
	adrp	x8, _SCTP_OUTPUT_FROM_T3@GOTPAGE
Lloh98:
	ldr	x8, [x8, _SCTP_OUTPUT_FROM_T3@GOTPAGEOFF]
	b	LBB0_94
LBB0_84:
	cbz	x20, LBB0_96
; %bb.85:
	cbz	x19, LBB0_96
; %bb.86:
Lloh99:
	adrp	x8, _sctps_timoautoclose@GOTPAGE
Lloh100:
	ldr	x8, [x8, _sctps_timoautoclose@GOTPAGEOFF]
Lloh101:
	ldr	w0, [x8]
	bl	_SCTP_STAT_INCR
	mov	x0, x19
	mov	x1, x20
	mov	x2, x22
	bl	_sctp_autoclose_timer
Lloh102:
	adrp	x8, _SCTP_OUTPUT_FROM_AUTOCLOSE_TMR@GOTPAGE
Lloh103:
	ldr	x8, [x8, _SCTP_OUTPUT_FROM_AUTOCLOSE_TMR@GOTPAGEOFF]
Lloh104:
	ldr	w2, [x8]
Lloh105:
	adrp	x8, _SCTP_SO_NOT_LOCKED@GOTPAGE
Lloh106:
	ldr	x8, [x8, _SCTP_SO_NOT_LOCKED@GOTPAGEOFF]
Lloh107:
	ldr	w3, [x8]
	mov	x0, x19
	mov	x1, x20
	bl	_sctp_chunk_output
	b	LBB0_27
LBB0_87:
	cbz	x20, LBB0_96
; %bb.88:
	cbz	x19, LBB0_96
; %bb.89:
Lloh108:
	adrp	x8, _sctps_timoassockill@GOTPAGE
Lloh109:
	ldr	x8, [x8, _sctps_timoassockill@GOTPAGEOFF]
Lloh110:
	ldr	w0, [x8]
	bl	_SCTP_STAT_INCR
	mov	x0, x19
	bl	_SCTP_INP_DECR_REF
Lloh111:
	adrp	x24, _SCTP_FROM_SCTPUTIL@GOTPAGE
Lloh112:
	ldr	x24, [x24, _SCTP_FROM_SCTPUTIL@GOTPAGEOFF]
	ldr	x8, [x24]
Lloh113:
	adrp	x9, _SCTP_LOC_1@GOTPAGE
Lloh114:
	ldr	x9, [x9, _SCTP_LOC_1@GOTPAGEOFF]
Lloh115:
	ldr	x9, [x9]
	add	x4, x9, x8
	mov	w0, #142
	mov	x1, x19
	mov	x2, x20
	mov	x3, #0
	bl	_sctp_timer_stop
	mov	x0, x19
	bl	_SCTP_INP_SO
	mov	x22, x0
	add	x23, x20, #8
	mov	x0, x23
	mov	w1, #1
	bl	_atomic_add_int
	mov	x0, x20
	bl	_SCTP_TCB_UNLOCK
	mov	x0, x22
	mov	w1, #1
	bl	_SCTP_SOCKET_LOCK
	mov	x0, x20
	bl	_SCTP_TCB_LOCK
	mov	x0, x23
	mov	w1, #1
	bl	_atomic_subtract_int
Lloh116:
	adrp	x8, _SCTP_NORMAL_PROC@GOTPAGE
Lloh117:
	ldr	x8, [x8, _SCTP_NORMAL_PROC@GOTPAGEOFF]
Lloh118:
	ldr	w2, [x8]
	ldr	x8, [x24]
Lloh119:
	adrp	x9, _SCTP_LOC_2@GOTPAGE
Lloh120:
	ldr	x9, [x9, _SCTP_LOC_2@GOTPAGEOFF]
Lloh121:
	ldr	x9, [x9]
	add	x3, x9, x8
	mov	x0, x19
	mov	x1, x20
	bl	_sctp_free_assoc
	mov	x0, x22
	mov	w1, #1
	bl	_SCTP_SOCKET_UNLOCK
	b	LBB0_102
LBB0_90:
	cbz	x20, LBB0_96
; %bb.91:
	cbz	x19, LBB0_96
; %bb.92:
	mov	x0, x19
	mov	x1, x20
	mov	x2, x22
	bl	_sctp_asconf_timer
	cbnz	w0, LBB0_29
; %bb.93:
Lloh122:
	adrp	x8, _sctps_timoasconf@GOTPAGE
Lloh123:
	ldr	x8, [x8, _sctps_timoasconf@GOTPAGEOFF]
Lloh124:
	ldr	w0, [x8]
	bl	_SCTP_STAT_INCR
Lloh125:
	adrp	x8, _SCTP_OUTPUT_FROM_ASCONF_TMR@GOTPAGE
Lloh126:
	ldr	x8, [x8, _SCTP_OUTPUT_FROM_ASCONF_TMR@GOTPAGEOFF]
LBB0_94:
	ldr	w2, [x8]
Lloh127:
	adrp	x8, _SCTP_SO_NOT_LOCKED@GOTPAGE
Lloh128:
	ldr	x8, [x8, _SCTP_SO_NOT_LOCKED@GOTPAGEOFF]
Lloh129:
	ldr	w3, [x8]
LBB0_95:
	mov	x0, x19
	mov	x1, x20
	bl	_sctp_chunk_output
	b	LBB0_97
LBB0_96:
	cbz	x20, LBB0_99
LBB0_97:
	mov	x0, x20
	bl	_sctp_fix_ecn_echo
	b	LBB0_27
LBB0_98:
	bl	_sctp_handle_addr_wq
	cbnz	x20, LBB0_97
LBB0_99:
	cbz	x19, LBB0_104
; %bb.100:
	mov	x0, x19
	bl	_SCTP_INP_WUNLOCK
LBB0_101:
	mov	x0, x19
	bl	_SCTP_INP_DECR_REF
LBB0_102:
	ldr	w0, [x25]
Lloh130:
	adrp	x1, l_.str.3@PAGE
Lloh131:
	add	x1, x1, l_.str.3@PAGEOFF
	mov	x2, x21
	bl	_SCTPDBG
	bl	_CURVNET_RESTORE
	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
	add	sp, sp, #96
	ret
LBB0_103:
	cbnz	x20, LBB0_97
LBB0_104:
	bl	_SCTP_WQ_ADDR_UNLOCK
	b	LBB0_102
	.loh AdrpAdd	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpAdd	Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpAdd	Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpLdrGot	Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGot	Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh37, Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpLdrGot	Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.loh AdrpLdrGotLdr	Lloh54, Lloh55, Lloh56
	.loh AdrpLdrGotLdr	Lloh57, Lloh58, Lloh59
	.loh AdrpLdrGot	Lloh66, Lloh67
	.loh AdrpLdrGotLdr	Lloh63, Lloh64, Lloh65
	.loh AdrpLdrGotLdr	Lloh60, Lloh61, Lloh62
	.loh AdrpLdrGotLdr	Lloh68, Lloh69, Lloh70
	.loh AdrpLdrGotLdr	Lloh80, Lloh81, Lloh82
	.loh AdrpLdrGotLdr	Lloh77, Lloh78, Lloh79
	.loh AdrpLdrGotLdr	Lloh74, Lloh75, Lloh76
	.loh AdrpLdrGotLdr	Lloh71, Lloh72, Lloh73
	.loh AdrpLdrGotLdr	Lloh83, Lloh84, Lloh85
	.loh AdrpLdrGotLdr	Lloh86, Lloh87, Lloh88
	.loh AdrpLdrGotLdr	Lloh89, Lloh90, Lloh91
	.loh AdrpLdrGot	Lloh92, Lloh93
	.loh AdrpLdrGot	Lloh97, Lloh98
	.loh AdrpLdrGotLdr	Lloh94, Lloh95, Lloh96
	.loh AdrpLdrGotLdr	Lloh105, Lloh106, Lloh107
	.loh AdrpLdrGotLdr	Lloh102, Lloh103, Lloh104
	.loh AdrpLdrGotLdr	Lloh99, Lloh100, Lloh101
	.loh AdrpLdrGotLdr	Lloh119, Lloh120, Lloh121
	.loh AdrpLdrGotLdr	Lloh116, Lloh117, Lloh118
	.loh AdrpLdrGotLdr	Lloh113, Lloh114, Lloh115
	.loh AdrpLdrGot	Lloh111, Lloh112
	.loh AdrpLdrGotLdr	Lloh108, Lloh109, Lloh110
	.loh AdrpLdrGot	Lloh125, Lloh126
	.loh AdrpLdrGotLdr	Lloh122, Lloh123, Lloh124
	.loh AdrpLdrGotLdr	Lloh127, Lloh128, Lloh129
	.loh AdrpAdd	Lloh130, Lloh131
	.cfi_endproc
	.section	__TEXT,__const
	.p2align	1
lJTI0_0:
	.short	(LBB0_33-LBB0_33)>>2
	.short	(LBB0_38-LBB0_33)>>2
	.short	(LBB0_41-LBB0_33)>>2
	.short	(LBB0_45-LBB0_33)>>2
	.short	(LBB0_49-LBB0_33)>>2
	.short	(LBB0_55-LBB0_33)>>2
	.short	(LBB0_58-LBB0_33)>>2
	.short	(LBB0_61-LBB0_33)>>2
	.short	(LBB0_64-LBB0_33)>>2
	.short	(LBB0_69-LBB0_33)>>2
	.short	(LBB0_71-LBB0_33)>>2
	.short	(LBB0_74-LBB0_33)>>2
	.short	(LBB0_80-LBB0_33)>>2
	.short	(LBB0_84-LBB0_33)>>2
	.short	(LBB0_87-LBB0_33)>>2
	.short	(LBB0_90-LBB0_33)>>2
	.short	(LBB0_98-LBB0_33)>>2
                                        ; -- End function
	.comm	_SCTP_DEBUG_TIMER1,4,2          ; @SCTP_DEBUG_TIMER1
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Timer type %d goes off\n"

	.comm	_SCTP_STATE_ABOUT_TO_BE_FREED,4,2 ; @SCTP_STATE_ABOUT_TO_BE_FREED
	.comm	_sctps_timodata,4,2             ; @sctps_timodata
	.comm	_SCTP_OUTPUT_FROM_T3,4,2        ; @SCTP_OUTPUT_FROM_T3
	.comm	_SCTP_SO_NOT_LOCKED,4,2         ; @SCTP_SO_NOT_LOCKED
	.comm	_sctps_timoinit,4,2             ; @sctps_timoinit
	.comm	_sctps_timosack,4,2             ; @sctps_timosack
	.comm	_SCTP_OUTPUT_FROM_SACK_TMR,4,2  ; @SCTP_OUTPUT_FROM_SACK_TMR
	.comm	_sctps_timoshutdown,4,2         ; @sctps_timoshutdown
	.comm	_SCTP_OUTPUT_FROM_SHUT_TMR,4,2  ; @SCTP_OUTPUT_FROM_SHUT_TMR
	.comm	_sctps_timoheartbeat,4,2        ; @sctps_timoheartbeat
	.comm	_SCTP_ADDR_NOHB,4,2             ; @SCTP_ADDR_NOHB
	.comm	_SCTP_OUTPUT_FROM_HB_TMR,4,2    ; @SCTP_OUTPUT_FROM_HB_TMR
	.comm	_sctps_timocookie,4,2           ; @sctps_timocookie
	.comm	_sctps_timosecret,4,2           ; @sctps_timosecret
	.comm	_SCTP_HOW_MANY_SECRETS,8,3      ; @SCTP_HOW_MANY_SECRETS
	.comm	_SCTP_NUMBER_OF_SECRETS,4,2     ; @SCTP_NUMBER_OF_SECRETS
	.comm	_sctps_timopathmtu,4,2          ; @sctps_timopathmtu
	.comm	_sctps_timoshutdownack,4,2      ; @sctps_timoshutdownack
	.comm	_SCTP_OUTPUT_FROM_SHUT_ACK_TMR,4,2 ; @SCTP_OUTPUT_FROM_SHUT_ACK_TMR
	.comm	_sctps_timoshutdownguard,4,2    ; @sctps_timoshutdownguard
	.comm	_sctp_diag_info_code,4,2        ; @sctp_diag_info_code
l_.str.1:                               ; @.str.1
	.asciz	"Shutdown guard timer expired"

	.comm	_sctps_timostrmrst,4,2          ; @sctps_timostrmrst
	.comm	_SCTP_OUTPUT_FROM_STRRST_TMR,4,2 ; @SCTP_OUTPUT_FROM_STRRST_TMR
	.comm	_sctps_timoasconf,4,2           ; @sctps_timoasconf
	.comm	_SCTP_OUTPUT_FROM_ASCONF_TMR,4,2 ; @SCTP_OUTPUT_FROM_ASCONF_TMR
	.comm	_sctps_timodelprim,4,2          ; @sctps_timodelprim
	.comm	_sctps_timoautoclose,4,2        ; @sctps_timoautoclose
	.comm	_SCTP_OUTPUT_FROM_AUTOCLOSE_TMR,4,2 ; @SCTP_OUTPUT_FROM_AUTOCLOSE_TMR
	.comm	_sctps_timoassockill,4,2        ; @sctps_timoassockill
	.comm	_SCTP_FROM_SCTPUTIL,8,3         ; @SCTP_FROM_SCTPUTIL
	.comm	_SCTP_LOC_1,8,3                 ; @SCTP_LOC_1
	.comm	_SCTP_NORMAL_PROC,4,2           ; @SCTP_NORMAL_PROC
	.comm	_SCTP_LOC_2,8,3                 ; @SCTP_LOC_2
	.comm	_sctps_timoinpkill,4,2          ; @sctps_timoinpkill
	.comm	_SCTP_LOC_3,8,3                 ; @SCTP_LOC_3
	.comm	_SCTP_FREE_SHOULD_USE_ABORT,4,2 ; @SCTP_FREE_SHOULD_USE_ABORT
	.comm	_SCTP_CALLED_FROM_INPKILL_TIMER,4,2 ; @SCTP_CALLED_FROM_INPKILL_TIMER
l_.str.2:                               ; @.str.2
	.asciz	"sctp_timeout_handler:unknown timer %d\n"

l_.str.3:                               ; @.str.3
	.asciz	"Timer now complete (type = %d)\n"

.subsections_via_symbols
