	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_dhcpack                        ## -- Begin function dhcpack
	.p2align	4, 0x90
_dhcpack:                               ## @dhcpack
	.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
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	8(%rdi), %rax
	movq	16(%rdi), %r14
	movq	(%r14), %rcx
	movq	(%rcx), %rcx
	cmpq	(%rax), %rcx
	jne	LBB0_32
## %bb.1:
	movq	8(%r14), %rdx
	cmpq	8(%rax), %rdx
	jne	LBB0_32
## %bb.2:
	movq	%rdi, %rbx
	movl	16(%r14), %edi
	movl	16(%rax), %esi
	callq	_memcmp
	testq	%rax, %rax
	jne	LBB0_32
## %bb.3:
	movq	(%r14), %rax
	movq	8(%rax), %rax
	movq	_S_REBOOTING@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_7
## %bb.4:
	movq	_S_REQUESTING@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_7
## %bb.5:
	movq	_S_RENEWING@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_7
## %bb.6:
	movq	_S_REBINDING@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_7
LBB0_32:
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_7:
	movl	(%rbx), %edi
	callq	_piaddr
	leaq	L_.str(%rip), %rdi
	movl	%eax, %esi
	xorl	%eax, %eax
	callq	_note
	movq	%rbx, %rdi
	callq	_packet_to_lease
	testq	%rax, %rax
	je	LBB0_33
## %bb.8:
	movq	(%r14), %rcx
	movq	%rax, 16(%rcx)
	movq	_send_request@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	%r14, %rsi
	callq	_cancel_timeout
	movq	(%r14), %r8
	movq	24(%r8), %rcx
	movq	(%rcx), %rsi
	movq	_DHO_DHCP_LEASE_TIME@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	(%rsi,%rax,8), %rsi
	movq	_ACTION_SUPERSEDE@GOTPCREL(%rip), %r12
	cmpq	(%r12), %rsi
	jne	LBB0_10
## %bb.9:
	movq	8(%rcx), %rcx
	movq	(%rcx,%rax,8), %rdi
	jmp	LBB0_11
LBB0_33:
	leaq	L_.str.1(%rip), %rdi
	xorl	%eax, %eax
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_note                           ## TAILCALL
LBB0_10:
	movq	16(%r8), %rcx
	movq	16(%rcx), %rsi
	shlq	$4, %rax
	movq	(%rsi,%rax), %rdi
	testq	%rdi, %rdi
	je	LBB0_12
LBB0_11:
	callq	_getULong
	movq	(%r14), %r8
	movq	16(%r8), %rcx
	jmp	LBB0_13
LBB0_12:
	movq	_default_lease_time@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
LBB0_13:
	movl	%eax, (%rcx)
	testl	%eax, %eax
	sets	%bl
	movq	_TIME_MAX@GOTPCREL(%rip), %rsi
	movl	(%rsi), %esi
	movq	_cur_time@GOTPCREL(%rip), %r15
	subl	(%r15), %esi
	cmpl	%esi, %eax
	setg	%dl
	orb	%bl, %dl
	cmovel	%eax, %esi
	cmpl	$61, %esi
	movl	$60, %eax
	cmovgel	%esi, %eax
	testb	%dl, %dl
	jne	LBB0_15
## %bb.14:
	cmpl	$59, %esi
	jg	LBB0_16
LBB0_15:
	movl	%eax, (%rcx)
LBB0_16:
	movq	24(%r8), %rdi
	movq	(%rdi), %rdx
	movq	_DHO_DHCP_RENEWAL_TIME@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	movq	(%rdx,%rsi,8), %rdx
	cmpq	(%r12), %rdx
	jne	LBB0_18
## %bb.17:
	shlq	$3, %rsi
	addq	8(%rdi), %rsi
	jmp	LBB0_20
LBB0_18:
	movq	16(%rcx), %rdi
	shlq	$4, %rsi
	cmpq	$0, 8(%rdi,%rsi)
	je	LBB0_22
## %bb.19:
	addq	%rdi, %rsi
LBB0_20:
	movq	(%rsi), %rdi
	callq	_getULong
	movq	(%r14), %r8
	movq	16(%r8), %rcx
	leaq	4(%rcx), %rsi
	movl	%eax, 4(%rcx)
	testl	%eax, %eax
	jns	LBB0_23
## %bb.21:
	movl	(%rcx), %eax
	movl	%eax, %edi
	shrl	$31, %edi
	addl	%eax, %edi
	sarl	%edi
	jmp	LBB0_24
LBB0_22:
	shrl	%eax
	leaq	4(%rcx), %rsi
	movl	%eax, 4(%rcx)
LBB0_23:
	movl	(%rcx), %edx
	movl	%edx, %edi
	shrl	$31, %edi
	addl	%edx, %edi
	sarl	%edi
	cmpl	%edi, %eax
	jle	LBB0_25
LBB0_24:
	movl	%edi, (%rsi)
	movl	%edi, %eax
LBB0_25:
	movq	24(%r8), %rsi
	movq	(%rsi), %rdi
	movq	_DHO_DHCP_REBINDING_TIME@GOTPCREL(%rip), %rdx
	movq	(%rdx), %rdx
	movq	(%rdi,%rdx,8), %rdi
	cmpq	(%r12), %rdi
	jne	LBB0_27
## %bb.26:
	movq	8(%rsi), %rax
	movq	(%rax,%rdx,8), %rdi
	jmp	LBB0_29
LBB0_27:
	movq	16(%rcx), %rsi
	shlq	$4, %rdx
	cmpq	$0, 8(%rsi,%rdx)
	je	LBB0_30
## %bb.28:
	movq	(%rsi,%rdx), %rdi
LBB0_29:
	callq	_getULong
	movq	(%r14), %rcx
	movq	16(%rcx), %rcx
	jmp	LBB0_31
LBB0_30:
	leal	3(%rax), %edx
	testl	%eax, %eax
	cmovnsl	%eax, %edx
	sarl	$2, %edx
	leal	(,%rdx,8), %eax
	subl	%edx, %eax
LBB0_31:
	movl	4(%rcx), %edx
	leal	3(%rdx), %esi
	testl	%edx, %edx
	cmovnsl	%edx, %esi
	sarl	$2, %esi
	leal	(,%rsi,8), %edi
	subl	%esi, %edi
	cmpl	%edi, %eax
	movl	%eax, %esi
	cmovgl	%edi, %esi
	testl	%eax, %eax
	cmovsl	%edi, %esi
	movl	%esi, 8(%rcx)
	movl	(%r15), %eax
	addl	%eax, (%rcx)
	movl	(%r15), %eax
	addl	%eax, %edx
	movl	%edx, 4(%rcx)
	addl	%eax, %esi
	movl	%esi, 8(%rcx)
	movq	%r14, %rdi
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_bind_lease                     ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_S_REBOOTING,8,3                ## @S_REBOOTING
	.comm	_S_REQUESTING,8,3               ## @S_REQUESTING
	.comm	_S_RENEWING,8,3                 ## @S_RENEWING
	.comm	_S_REBINDING,8,3                ## @S_REBINDING
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"DHCPACK from %s"

L_.str.1:                               ## @.str.1
	.asciz	"packet_to_lease failed."

	.comm	_send_request,4,2               ## @send_request
	.comm	_DHO_DHCP_LEASE_TIME,8,3        ## @DHO_DHCP_LEASE_TIME
	.comm	_ACTION_SUPERSEDE,8,3           ## @ACTION_SUPERSEDE
	.comm	_default_lease_time,4,2         ## @default_lease_time
	.comm	_TIME_MAX,4,2                   ## @TIME_MAX
	.comm	_cur_time,4,2                   ## @cur_time
	.comm	_DHO_DHCP_RENEWAL_TIME,8,3      ## @DHO_DHCP_RENEWAL_TIME
	.comm	_DHO_DHCP_REBINDING_TIME,8,3    ## @DHO_DHCP_REBINDING_TIME
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_dhcpack                        ; -- Begin function dhcpack
	.p2align	2
_dhcpack:                               ; @dhcpack
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #64
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.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
	ldp	x8, x19, [x0, #8]
	ldr	x9, [x19]
	ldr	x9, [x9]
	ldr	x10, [x8]
	cmp	x9, x10
	b.ne	LBB0_7
; %bb.1:
	ldr	x2, [x19, #8]
	ldr	x9, [x8, #8]
	cmp	x2, x9
	b.ne	LBB0_7
; %bb.2:
	mov	x20, x0
	ldr	w0, [x19, #16]
	ldr	w1, [x8, #16]
	bl	_memcmp
	cbnz	x0, LBB0_7
; %bb.3:
	ldr	x8, [x19]
	ldr	x8, [x8, #8]
Lloh0:
	adrp	x9, _S_REBOOTING@GOTPAGE
Lloh1:
	ldr	x9, [x9, _S_REBOOTING@GOTPAGEOFF]
Lloh2:
	adrp	x10, _S_REQUESTING@GOTPAGE
Lloh3:
	ldr	x10, [x10, _S_REQUESTING@GOTPAGEOFF]
Lloh4:
	ldr	x9, [x9]
Lloh5:
	ldr	x10, [x10]
Lloh6:
	adrp	x11, _S_RENEWING@GOTPAGE
Lloh7:
	ldr	x11, [x11, _S_RENEWING@GOTPAGEOFF]
Lloh8:
	adrp	x12, _S_REBINDING@GOTPAGE
Lloh9:
	ldr	x12, [x12, _S_REBINDING@GOTPAGEOFF]
Lloh10:
	ldr	x11, [x11]
Lloh11:
	ldr	x12, [x12]
	cmp	x8, x9
	ccmp	x8, x10, #4, ne
	ccmp	x8, x11, #4, ne
	ccmp	x8, x12, #4, ne
	b.ne	LBB0_7
; %bb.4:
	ldr	w0, [x20]
	bl	_piaddr
                                        ; kill: def $w0 killed $w0 def $x0
	str	x0, [sp]
Lloh12:
	adrp	x0, l_.str@PAGE
Lloh13:
	add	x0, x0, l_.str@PAGEOFF
	bl	_note
	mov	x0, x20
	bl	_packet_to_lease
	cbz	x0, LBB0_8
; %bb.5:
	ldr	x8, [x19]
	str	x0, [x8, #16]
Lloh14:
	adrp	x8, _send_request@GOTPAGE
Lloh15:
	ldr	x8, [x8, _send_request@GOTPAGEOFF]
Lloh16:
	ldr	w0, [x8]
	mov	x1, x19
	bl	_cancel_timeout
	ldr	x9, [x19]
	ldr	x8, [x9, #24]
	ldr	x11, [x8]
Lloh17:
	adrp	x10, _DHO_DHCP_LEASE_TIME@GOTPAGE
Lloh18:
	ldr	x10, [x10, _DHO_DHCP_LEASE_TIME@GOTPAGEOFF]
Lloh19:
	ldr	x10, [x10]
	ldr	x11, [x11, x10, lsl #3]
Lloh20:
	adrp	x21, _ACTION_SUPERSEDE@GOTPAGE
Lloh21:
	ldr	x21, [x21, _ACTION_SUPERSEDE@GOTPAGEOFF]
	ldr	x12, [x21]
	cmp	x11, x12
	b.ne	LBB0_9
; %bb.6:
	ldr	x8, [x8, #8]
	ldr	x0, [x8, x10, lsl #3]
	bl	_getULong
	ldr	x9, [x19]
	ldr	x8, [x9, #16]
	b	LBB0_12
LBB0_7:
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #64
	ret
LBB0_8:
Lloh22:
	adrp	x0, l_.str.1@PAGE
Lloh23:
	add	x0, x0, l_.str.1@PAGEOFF
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #64
	b	_note
LBB0_9:
	ldr	x8, [x9, #16]
	ldr	x11, [x8, #16]
	lsl	x10, x10, #4
	ldr	x0, [x11, x10]
	cbz	x0, LBB0_11
; %bb.10:
	bl	_getULong
	ldr	x9, [x19]
	ldr	x8, [x9, #16]
                                        ; kill: def $w0 killed $w0 killed $x0 def $x0
	b	LBB0_12
LBB0_11:
Lloh24:
	adrp	x10, _default_lease_time@GOTPAGE
Lloh25:
	ldr	x10, [x10, _default_lease_time@GOTPAGEOFF]
Lloh26:
	ldr	w0, [x10]
LBB0_12:
	str	w0, [x8]
Lloh27:
	adrp	x10, _TIME_MAX@GOTPAGE
Lloh28:
	ldr	x10, [x10, _TIME_MAX@GOTPAGEOFF]
Lloh29:
	ldr	w10, [x10]
Lloh30:
	adrp	x20, _cur_time@GOTPAGE
Lloh31:
	ldr	x20, [x20, _cur_time@GOTPAGEOFF]
	ldr	w11, [x20]
	sub	w10, w10, w11
	cmp	w0, #0
	ccmp	w0, w10, #0, ge
	cset	w12, gt
	cmp	w12, #0
	csel	w11, w10, w0, ne
	mov	w10, #60
	cmp	w11, #60
	csel	w10, w11, w10, gt
	tbnz	w12, #0, LBB0_14
; %bb.13:
	cmp	w11, #59
	b.gt	LBB0_15
LBB0_14:
	str	w10, [x8]
LBB0_15:
	ldr	x12, [x9, #24]
Lloh32:
	adrp	x11, _DHO_DHCP_RENEWAL_TIME@GOTPAGE
Lloh33:
	ldr	x11, [x11, _DHO_DHCP_RENEWAL_TIME@GOTPAGEOFF]
	ldr	x13, [x12]
Lloh34:
	ldr	x11, [x11]
	ldr	x13, [x13, x11, lsl #3]
	ldr	x14, [x21]
	cmp	x13, x14
	b.ne	LBB0_17
; %bb.16:
	ldr	x8, [x12, #8]
	add	x11, x8, x11, lsl #3
	b	LBB0_18
LBB0_17:
	ldr	x12, [x8, #16]
	add	x11, x12, x11, lsl #4
	ldr	x12, [x11, #8]
	cbz	x12, LBB0_20
LBB0_18:
	ldr	x0, [x11]
	bl	_getULong
	ldr	x9, [x19]
	ldr	x8, [x9, #16]
	mov	x10, x8
	str	w0, [x10, #4]!
	tbz	w0, #31, LBB0_21
; %bb.19:
	ldr	w11, [x8]
	cmp	w11, #0
	cinc	w11, w11, lt
	asr	w11, w11, #1
	b	LBB0_22
LBB0_20:
	lsr	w0, w10, #1
	mov	x10, x8
	str	w0, [x10, #4]!
LBB0_21:
	ldr	w11, [x8]
	cmp	w11, #0
	cinc	w11, w11, lt
	asr	w11, w11, #1
	cmp	w0, w11
	b.le	LBB0_23
LBB0_22:
	str	w11, [x10]
	mov	x0, x11
LBB0_23:
	ldr	x10, [x9, #24]
Lloh35:
	adrp	x9, _DHO_DHCP_REBINDING_TIME@GOTPAGE
Lloh36:
	ldr	x9, [x9, _DHO_DHCP_REBINDING_TIME@GOTPAGEOFF]
	ldr	x11, [x10]
Lloh37:
	ldr	x9, [x9]
	ldr	x11, [x11, x9, lsl #3]
	ldr	x12, [x21]
	cmp	x11, x12
	b.ne	LBB0_25
; %bb.24:
	ldr	x8, [x10, #8]
	ldr	x0, [x8, x9, lsl #3]
	bl	_getULong
	ldr	x8, [x19]
	ldr	x8, [x8, #16]
	b	LBB0_28
LBB0_25:
	ldr	x10, [x8, #16]
	add	x11, x10, x9, lsl #4
	ldr	x11, [x11, #8]
	cbz	x11, LBB0_27
; %bb.26:
	lsl	x8, x9, #4
	ldr	x0, [x10, x8]
	bl	_getULong
	ldr	x8, [x19]
	ldr	x8, [x8, #16]
                                        ; kill: def $w0 killed $w0 killed $x0 def $x0
	b	LBB0_28
LBB0_27:
	add	w9, w0, #3
	cmp	w0, #0
	csel	w9, w9, w0, lt
	asr	w9, w9, #2
	lsl	w10, w9, #3
	sub	w0, w10, w9
LBB0_28:
	ldp	w10, w9, [x8]
	add	w11, w9, #3
	cmp	w9, #0
	csel	w11, w11, w9, lt
	asr	w11, w11, #2
	lsl	w12, w11, #3
	sub	w11, w12, w11
	cmp	w0, w11
	ccmp	w0, #0, #8, le
	csel	w11, w11, w0, lt
	ldr	w12, [x20]
	add	w10, w10, w12
	str	w10, [x8]
	ldr	w10, [x20]
	add	w9, w9, w10
	add	w10, w11, w10
	stp	w9, w10, [x8, #4]
	mov	x0, x19
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #64
	b	_bind_lease
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh10
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh4
	.loh AdrpAdd	Lloh12, Lloh13
	.loh AdrpLdrGot	Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGot	Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.cfi_endproc
                                        ; -- End function
	.comm	_S_REBOOTING,8,3                ; @S_REBOOTING
	.comm	_S_REQUESTING,8,3               ; @S_REQUESTING
	.comm	_S_RENEWING,8,3                 ; @S_RENEWING
	.comm	_S_REBINDING,8,3                ; @S_REBINDING
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"DHCPACK from %s"

l_.str.1:                               ; @.str.1
	.asciz	"packet_to_lease failed."

	.comm	_send_request,4,2               ; @send_request
	.comm	_DHO_DHCP_LEASE_TIME,8,3        ; @DHO_DHCP_LEASE_TIME
	.comm	_ACTION_SUPERSEDE,8,3           ; @ACTION_SUPERSEDE
	.comm	_default_lease_time,4,2         ; @default_lease_time
	.comm	_TIME_MAX,4,2                   ; @TIME_MAX
	.comm	_cur_time,4,2                   ; @cur_time
	.comm	_DHO_DHCP_RENEWAL_TIME,8,3      ; @DHO_DHCP_RENEWAL_TIME
	.comm	_DHO_DHCP_REBINDING_TIME,8,3    ; @DHO_DHCP_REBINDING_TIME
.subsections_via_symbols
