	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function ip_frag_queue
_ip_frag_queue:                         ## @ip_frag_queue
	.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	$56, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %r13
	movq	_INET_FRAG_COMPLETE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%rdi)
	je	LBB0_5
## %bb.1:
	movq	_ENOENT@GOTPCREL(%rip), %rax
	xorl	%r12d, %r12d
LBB0_2:
	subl	(%rax), %r12d
LBB0_3:
	movq	%r13, %rdi
	callq	_kfree_skb
LBB0_4:
	movl	%r12d, %eax
	addq	$56, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_5:
	movq	%rdi, %r14
	movq	%r13, %rdi
	callq	_IPCB
	movq	_IPSKB_FRAG_COMPLETE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	testl	%ecx, (%rax)
	je	LBB0_12
LBB0_6:
	movq	%r13, %rdi
	callq	_ip_hdr
	movl	(%rax), %edi
	callq	_ntohs
	movq	_IP_OFFSET@GOTPCREL(%rip), %rcx
	movl	(%rcx), %r15d
	movl	%r15d, %ebx
	notl	%ebx
	andl	%eax, %ebx
	andl	%eax, %r15d
	movq	%r13, %rdi
	callq	_ip_hdrlen
	movl	(%r13), %ecx
	subl	%eax, %ecx
	movq	_EINVAL@GOTPCREL(%rip), %rdx
	xorl	%r12d, %r12d
	subl	(%rdx), %r12d
	movq	%r15, %rdi
	leal	(%rcx,%r15,8), %r15d
	movq	_IP_MF@GOTPCREL(%rip), %rcx
	testl	%ebx, (%rcx)
	je	LBB0_15
## %bb.7:
	testb	$7, %r15b
	je	LBB0_10
## %bb.8:
	andl	$-8, %r15d
	movq	8(%r13), %rdx
	movq	_CHECKSUM_UNNECESSARY@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rdx
	je	LBB0_10
## %bb.9:
	movq	_CHECKSUM_NONE@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movq	%rcx, 8(%r13)
LBB0_10:
	cmpl	4(%r14), %r15d
	jle	LBB0_20
## %bb.11:
	movq	_INET_FRAG_LAST_IN@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	testl	%ecx, (%r14)
	jne	LBB0_3
	jmp	LBB0_19
LBB0_12:
	movq	%r14, %rdi
	callq	_ip_frag_too_far
	movl	%eax, %edi
	callq	_unlikely
	testq	%rax, %rax
	je	LBB0_6
## %bb.13:
	movq	%r14, %rdi
	callq	_ip_frag_reinit
	movl	%eax, %r12d
	movl	%eax, %edi
	callq	_unlikely
	testq	%rax, %rax
	je	LBB0_6
## %bb.14:
	movq	%r14, %rdi
	callq	_ipq_kill
	jmp	LBB0_3
LBB0_15:
	movl	4(%r14), %esi
	cmpl	%esi, %r15d
	jl	LBB0_3
## %bb.16:
	movl	(%r14), %ecx
	movq	_INET_FRAG_LAST_IN@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	testl	%ecx, %edx
	je	LBB0_18
## %bb.17:
	cmpl	%esi, %r15d
	jne	LBB0_3
LBB0_18:
	orl	%ecx, %edx
	movl	%edx, (%r14)
LBB0_19:
	movl	%r15d, 4(%r14)
LBB0_20:
	shll	$3, %edi
	movl	%r15d, %ebx
	movq	%rdi, -48(%rbp)                 ## 8-byte Spill
	subl	%edi, %ebx
	je	LBB0_3
## %bb.21:
	movq	_ENOMEM@GOTPCREL(%rip), %rcx
	xorl	%r12d, %r12d
	subl	(%rcx), %r12d
	movq	%r13, %rdi
	movl	%eax, -68(%rbp)                 ## 4-byte Spill
	movl	-68(%rbp), %esi                 ## 4-byte Reload
	callq	_pskb_pull
	testq	%rax, %rax
	je	LBB0_3
## %bb.22:
	movq	%r13, %rdi
	movl	%ebx, %esi
	callq	_pskb_trim_rcsum
	movl	%eax, %r12d
	testl	%eax, %eax
	jne	LBB0_3
## %bb.23:
	leaq	32(%r14), %rbx
	movq	32(%r14), %rdi
	testq	%rdi, %rdi
	je	LBB0_27
## %bb.24:
	movq	%rbx, -96(%rbp)                 ## 8-byte Spill
	movl	%r15d, -52(%rbp)                ## 4-byte Spill
	movq	%rdi, %rbx
	callq	_FRAG_CB
	movq	-48(%rbp), %r12                 ## 8-byte Reload
	cmpl	%r12d, (%rax)
	jge	LBB0_28
LBB0_25:                                ## =>This Inner Loop Header: Depth=1
	movq	%rbx, %r15
	movq	32(%rbx), %rdi
	testq	%rdi, %rdi
	je	LBB0_31
## %bb.26:                              ##   in Loop: Header=BB0_25 Depth=1
	movq	%rdi, %rbx
	callq	_FRAG_CB
	cmpl	%r12d, (%rax)
	jl	LBB0_25
	jmp	LBB0_29
LBB0_27:
	movq	%r13, %rdi
	callq	_FRAG_CB
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movl	%ecx, (%rax)
	movq	$0, 32(%r13)
	xorl	%r15d, %r15d
	jmp	LBB0_54
LBB0_28:
	xorl	%r15d, %r15d
LBB0_29:
	movq	%rbx, -64(%rbp)                 ## 8-byte Spill
	testq	%r15, %r15
	jne	LBB0_32
## %bb.30:
	movb	$1, %cl
	xorl	%r15d, %r15d
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	jmp	LBB0_40
LBB0_31:
	xorl	%eax, %eax
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
LBB0_32:
	movq	%r15, %rdi
	callq	_FRAG_CB
	movl	(%r15), %ecx
	addl	(%rax), %ecx
	movl	%ecx, %esi
	subl	%r12d, %esi
	jle	LBB0_38
## %bb.33:
	cmpl	%ecx, -52(%rbp)                 ## 4-byte Folded Reload
	jle	LBB0_46
## %bb.34:
	movl	%ecx, -48(%rbp)                 ## 4-byte Spill
	xorl	%r12d, %r12d
	movq	_ENOMEM@GOTPCREL(%rip), %rax
	subl	(%rax), %r12d
	movq	%r13, %rdi
	callq	_pskb_pull
	testq	%rax, %rax
	je	LBB0_3
## %bb.35:
	movq	8(%r13), %rax
	movq	_CHECKSUM_UNNECESSARY@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_37
## %bb.36:
	movq	_CHECKSUM_NONE@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 8(%r13)
LBB0_37:
	movl	-48(%rbp), %eax                 ## 4-byte Reload
	movl	%eax, %r12d
LBB0_38:
	xorl	%ecx, %ecx
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	testq	%rdi, %rdi
	je	LBB0_50
## %bb.39:
	movq	%r12, -48(%rbp)                 ## 8-byte Spill
LBB0_40:
	xorl	%r12d, %r12d
	movq	_ENOMEM@GOTPCREL(%rip), %rax
	subl	(%rax), %r12d
	movq	%r15, -80(%rbp)                 ## 8-byte Spill
	leaq	32(%r15), %rax
	movq	%rcx, -88(%rbp)                 ## 8-byte Spill
	testb	%cl, %cl
	cmovneq	-96(%rbp), %rax                 ## 8-byte Folded Reload
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	movl	-52(%rbp), %r15d                ## 4-byte Reload
LBB0_41:                                ## =>This Inner Loop Header: Depth=1
	movq	%rdi, %rbx
	callq	_FRAG_CB
	cmpl	%r15d, (%rax)
	jge	LBB0_45
## %bb.42:                              ##   in Loop: Header=BB0_41 Depth=1
	movq	%rbx, %rdi
	callq	_FRAG_CB
	subl	(%rax), %r15d
	movl	(%rbx), %eax
	cmpl	%eax, %r15d
	movq	%rbx, %rsi
	jl	LBB0_47
## %bb.43:                              ##   in Loop: Header=BB0_41 Depth=1
	movq	32(%rsi), %rbx
	movq	-64(%rbp), %rcx                 ## 8-byte Reload
	movq	%rbx, (%rcx)
	subl	%eax, 8(%r14)
	movq	16(%r14), %rdi
	xorl	%edx, %edx
	callq	_frag_kfree_skb
	movq	%rbx, %rdi
	testq	%rbx, %rbx
	movl	-52(%rbp), %r15d                ## 4-byte Reload
	jne	LBB0_41
## %bb.44:
	xorl	%ebx, %ebx
LBB0_45:
	movq	-48(%rbp), %r12                 ## 8-byte Reload
	movq	-80(%rbp), %r15                 ## 8-byte Reload
	jmp	LBB0_51
LBB0_46:
	xorl	%r12d, %r12d
	movq	_EINVAL@GOTPCREL(%rip), %rax
	jmp	LBB0_2
LBB0_47:
	movq	%rsi, %rbx
	movq	%rsi, %rdi
	movl	%r15d, %esi
	callq	_pskb_pull
	testq	%rax, %rax
	je	LBB0_3
## %bb.48:
	movq	%rbx, %rdi
	callq	_FRAG_CB
	addl	%r15d, (%rax)
	subl	%r15d, 8(%r14)
	movq	8(%rbx), %rax
	movq	_CHECKSUM_UNNECESSARY@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	movq	-80(%rbp), %r15                 ## 8-byte Reload
	jne	LBB0_65
## %bb.49:
	movq	-48(%rbp), %r12                 ## 8-byte Reload
	jmp	LBB0_51
LBB0_50:
	xorl	%eax, %eax
	movq	%rax, -88(%rbp)                 ## 8-byte Spill
	xorl	%ebx, %ebx
LBB0_51:
	movq	%r13, %rdi
	callq	_FRAG_CB
	movq	%r12, -48(%rbp)                 ## 8-byte Spill
	movl	%r12d, (%rax)
LBB0_52:
	movq	%rbx, 32(%r13)
	cmpb	$0, -88(%rbp)                   ## 1-byte Folded Reload
	movq	-96(%rbp), %rbx                 ## 8-byte Reload
	jne	LBB0_54
## %bb.53:
	leaq	32(%r15), %rbx
LBB0_54:
	movq	%r13, (%rbx)
	movq	24(%r13), %r12
	testq	%r12, %r12
	je	LBB0_56
## %bb.55:
	movl	(%r12), %eax
	movl	%eax, 40(%r14)
	movq	$0, 24(%r13)
LBB0_56:
	movl	20(%r13), %eax
	movl	%eax, 28(%r14)
	movl	(%r13), %eax
	addl	%eax, 8(%r14)
	movl	16(%r13), %edi
	movq	16(%r14), %rsi
	addq	$4, %rsi
	callq	_atomic_add
	cmpl	$0, -48(%rbp)                   ## 4-byte Folded Reload
	jne	LBB0_58
## %bb.57:
	movq	_INET_FRAG_FIRST_IN@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	orl	%eax, (%r14)
LBB0_58:
	movq	%r13, %rdi
	callq	_ip_hdr
	movl	(%rax), %ebx
	movq	_IP_DF@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_htons
	testl	%ebx, %eax
	movl	-68(%rbp), %eax                 ## 4-byte Reload
	je	LBB0_61
## %bb.59:
	addl	(%r13), %eax
	cmpl	12(%r14), %eax
	jle	LBB0_61
## %bb.60:
	movl	%eax, 12(%r14)
LBB0_61:
	movq	_INET_FRAG_FIRST_IN@GOTPCREL(%rip), %rax
	movq	_INET_FRAG_LAST_IN@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	orl	(%rax), %ecx
	cmpl	%ecx, (%r14)
	jne	LBB0_64
## %bb.62:
	movl	8(%r14), %eax
	cmpl	4(%r14), %eax
	jne	LBB0_64
## %bb.63:
	movq	%r14, %rdi
	movq	%r15, %rsi
	movq	%r12, %rdx
	addq	$56, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_ip_frag_reasm                  ## TAILCALL
LBB0_64:
	movq	_ip4_frags@GOTPCREL(%rip), %rbx
	movq	%rbx, %rdi
	callq	_write_lock
	movq	16(%r14), %rsi
	addq	$24, %r14
	movq	%r14, %rdi
	callq	_list_move_tail
	movq	%rbx, %rdi
	callq	_write_unlock
	movq	_EINPROGRESS@GOTPCREL(%rip), %rax
	xorl	%r12d, %r12d
	subl	(%rax), %r12d
	jmp	LBB0_4
LBB0_65:
	movq	_CHECKSUM_NONE@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 8(%rbx)
	movq	%r13, %rdi
	callq	_FRAG_CB
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movl	%ecx, (%rax)
	jmp	LBB0_52
	.cfi_endproc
                                        ## -- End function
	.comm	_ENOENT,4,2                     ## @ENOENT
	.comm	_INET_FRAG_COMPLETE,4,2         ## @INET_FRAG_COMPLETE
	.comm	_IPSKB_FRAG_COMPLETE,4,2        ## @IPSKB_FRAG_COMPLETE
	.comm	_IP_OFFSET,4,2                  ## @IP_OFFSET
	.comm	_EINVAL,4,2                     ## @EINVAL
	.comm	_IP_MF,4,2                      ## @IP_MF
	.comm	_INET_FRAG_LAST_IN,4,2          ## @INET_FRAG_LAST_IN
	.comm	_CHECKSUM_UNNECESSARY,8,3       ## @CHECKSUM_UNNECESSARY
	.comm	_CHECKSUM_NONE,8,3              ## @CHECKSUM_NONE
	.comm	_ENOMEM,4,2                     ## @ENOMEM
	.comm	_INET_FRAG_FIRST_IN,4,2         ## @INET_FRAG_FIRST_IN
	.comm	_IP_DF,4,2                      ## @IP_DF
	.comm	_ip4_frags,4,2                  ## @ip4_frags
	.comm	_EINPROGRESS,4,2                ## @EINPROGRESS
	.no_dead_strip	_ip_frag_queue
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function ip_frag_queue
_ip_frag_queue:                         ; @ip_frag_queue
	.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
	mov	x19, x1
	ldr	w8, [x0]
Lloh0:
	adrp	x9, _INET_FRAG_COMPLETE@GOTPAGE
Lloh1:
	ldr	x9, [x9, _INET_FRAG_COMPLETE@GOTPAGEOFF]
Lloh2:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_5
; %bb.1:
Lloh3:
	adrp	x8, _ENOENT@GOTPAGE
Lloh4:
	ldr	x8, [x8, _ENOENT@GOTPAGEOFF]
Lloh5:
	ldr	w8, [x8]
LBB0_2:
	neg	w24, w8
LBB0_3:
	mov	x0, x19
	bl	_kfree_skb
LBB0_4:
	mov	x0, x24
	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
LBB0_5:
	mov	x20, x0
	mov	x0, x19
	bl	_IPCB
	ldr	w8, [x0]
Lloh6:
	adrp	x9, _IPSKB_FRAG_COMPLETE@GOTPAGE
Lloh7:
	ldr	x9, [x9, _IPSKB_FRAG_COMPLETE@GOTPAGEOFF]
Lloh8:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_12
LBB0_6:
	mov	x0, x19
	bl	_ip_hdr
	ldr	w0, [x0]
	bl	_ntohs
Lloh9:
	adrp	x8, _IP_OFFSET@GOTPAGE
Lloh10:
	ldr	x8, [x8, _IP_OFFSET@GOTPAGEOFF]
Lloh11:
	ldr	w8, [x8]
	bic	w22, w0, w8
	and	w8, w8, w0
	lsl	w26, w8, #3
	mov	x0, x19
	bl	_ip_hdrlen
	mov	x21, x0
	ldr	w8, [x19]
	sub	w8, w8, w0
	add	w28, w8, w26
Lloh12:
	adrp	x25, _EINVAL@GOTPAGE
Lloh13:
	ldr	x25, [x25, _EINVAL@GOTPAGEOFF]
	ldr	w8, [x25]
	neg	w24, w8
Lloh14:
	adrp	x8, _IP_MF@GOTPAGE
Lloh15:
	ldr	x8, [x8, _IP_MF@GOTPAGEOFF]
Lloh16:
	ldr	w8, [x8]
	tst	w22, w8
	b.eq	LBB0_15
; %bb.7:
	tst	w28, #0x7
	b.eq	LBB0_10
; %bb.8:
	and	w28, w28, #0xfffffff8
	ldr	x8, [x19, #8]
Lloh17:
	adrp	x9, _CHECKSUM_UNNECESSARY@GOTPAGE
Lloh18:
	ldr	x9, [x9, _CHECKSUM_UNNECESSARY@GOTPAGEOFF]
Lloh19:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_10
; %bb.9:
Lloh20:
	adrp	x8, _CHECKSUM_NONE@GOTPAGE
Lloh21:
	ldr	x8, [x8, _CHECKSUM_NONE@GOTPAGEOFF]
Lloh22:
	ldr	x8, [x8]
	str	x8, [x19, #8]
LBB0_10:
	ldr	w8, [x20, #4]
	cmp	w28, w8
	b.le	LBB0_19
; %bb.11:
	ldr	w8, [x20]
Lloh23:
	adrp	x9, _INET_FRAG_LAST_IN@GOTPAGE
Lloh24:
	ldr	x9, [x9, _INET_FRAG_LAST_IN@GOTPAGEOFF]
Lloh25:
	ldr	w9, [x9]
	tst	w9, w8
	b.ne	LBB0_3
	b	LBB0_18
LBB0_12:
	mov	x0, x20
	bl	_ip_frag_too_far
	bl	_unlikely
	cbz	x0, LBB0_6
; %bb.13:
	mov	x0, x20
	bl	_ip_frag_reinit
	mov	x24, x0
	bl	_unlikely
	cbz	x0, LBB0_6
; %bb.14:
	mov	x0, x20
	bl	_ipq_kill
	b	LBB0_3
LBB0_15:
	ldr	w8, [x20, #4]
	cmp	w28, w8
	b.lt	LBB0_3
; %bb.16:
	ldr	w9, [x20]
Lloh26:
	adrp	x10, _INET_FRAG_LAST_IN@GOTPAGE
Lloh27:
	ldr	x10, [x10, _INET_FRAG_LAST_IN@GOTPAGEOFF]
Lloh28:
	ldr	w10, [x10]
	and	w11, w10, w9
	cmp	w11, #0
	ccmp	w28, w8, #4, ne
	b.ne	LBB0_3
; %bb.17:
	orr	w8, w10, w9
	str	w8, [x20]
LBB0_18:
	str	w28, [x20, #4]
LBB0_19:
	subs	w22, w28, w26
	b.eq	LBB0_3
; %bb.20:
Lloh29:
	adrp	x27, _ENOMEM@GOTPAGE
Lloh30:
	ldr	x27, [x27, _ENOMEM@GOTPAGEOFF]
	ldr	w23, [x27]
	mov	x0, x19
	mov	x1, x21
	bl	_pskb_pull
	cbz	x0, LBB0_26
; %bb.21:
	mov	x0, x19
	mov	x1, x22
	bl	_pskb_trim_rcsum
	mov	x24, x0
	cbnz	w0, LBB0_3
; %bb.22:
	mov	x24, x20
	ldr	x23, [x24, #32]!
	cbz	x23, LBB0_27
; %bb.23:
	mov	x0, x23
	bl	_FRAG_CB
	ldr	w8, [x0]
	cmp	w8, w26
	str	x24, [sp, #8]                   ; 8-byte Folded Spill
	b.ge	LBB0_28
LBB0_24:                                ; =>This Inner Loop Header: Depth=1
	mov	x22, x23
	ldr	x23, [x23, #32]
	cbz	x23, LBB0_30
; %bb.25:                               ;   in Loop: Header=BB0_24 Depth=1
	mov	x0, x23
	bl	_FRAG_CB
	ldr	w8, [x0]
	cmp	w8, w26
	b.lt	LBB0_24
	b	LBB0_29
LBB0_26:
	neg	w24, w23
	b	LBB0_3
LBB0_27:
	mov	x0, x19
	bl	_FRAG_CB
	mov	x22, #0
	str	w26, [x0]
	str	xzr, [x19, #32]
	b	LBB0_46
LBB0_28:
	mov	x22, #0
LBB0_29:
	cbz	x22, LBB0_38
LBB0_30:
	mov	x0, x22
	bl	_FRAG_CB
	ldr	w8, [x0]
	ldr	w9, [x22]
	add	w24, w9, w8
	sub	w1, w24, w26
	cmp	w1, #1
	b.lt	LBB0_36
; %bb.31:
	cmp	w28, w24
	b.le	LBB0_57
; %bb.32:
	ldr	w25, [x27]
	mov	x0, x19
	bl	_pskb_pull
	cbz	x0, LBB0_61
; %bb.33:
	ldr	x8, [x19, #8]
Lloh31:
	adrp	x9, _CHECKSUM_UNNECESSARY@GOTPAGE
Lloh32:
	ldr	x9, [x9, _CHECKSUM_UNNECESSARY@GOTPAGEOFF]
Lloh33:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_35
; %bb.34:
Lloh34:
	adrp	x8, _CHECKSUM_NONE@GOTPAGE
Lloh35:
	ldr	x8, [x8, _CHECKSUM_NONE@GOTPAGEOFF]
Lloh36:
	ldr	x8, [x8]
	str	x8, [x19, #8]
LBB0_35:
	mov	x26, x24
LBB0_36:
	mov	w25, #0
	cbnz	x23, LBB0_39
; %bb.37:
	ldr	x24, [sp, #8]                   ; 8-byte Folded Reload
	b	LBB0_44
LBB0_38:
	mov	w25, #1
LBB0_39:
	ldr	w8, [x27]
	neg	w24, w8
	add	x8, x22, #32
	str	w25, [sp, #4]                   ; 4-byte Folded Spill
	cmp	w25, #0
	ldr	x9, [sp, #8]                    ; 8-byte Folded Reload
	csel	x27, x9, x8, ne
LBB0_40:                                ; =>This Inner Loop Header: Depth=1
	mov	x0, x23
	bl	_FRAG_CB
	ldr	w8, [x0]
	cmp	w8, w28
	b.ge	LBB0_43
; %bb.41:                               ;   in Loop: Header=BB0_40 Depth=1
	mov	x0, x23
	bl	_FRAG_CB
	ldr	w9, [x0]
	ldr	w8, [x23]
	sub	w25, w28, w9
	cmp	w25, w8
	b.lt	LBB0_58
; %bb.42:                               ;   in Loop: Header=BB0_40 Depth=1
	ldr	x25, [x23, #32]
	str	x25, [x27]
	ldr	w9, [x20, #8]
	sub	w8, w9, w8
	str	w8, [x20, #8]
	ldr	x0, [x20, #16]
	mov	x1, x23
	mov	x2, #0
	bl	_frag_kfree_skb
	mov	x23, x25
	cbnz	x25, LBB0_40
LBB0_43:
	ldr	x24, [sp, #8]                   ; 8-byte Folded Reload
	ldr	w25, [sp, #4]                   ; 4-byte Folded Reload
LBB0_44:
	mov	x0, x19
	bl	_FRAG_CB
	str	w26, [x0]
	str	x23, [x19, #32]
	tbnz	w25, #0, LBB0_46
; %bb.45:
	add	x24, x22, #32
LBB0_46:
	str	x19, [x24]
	ldr	x23, [x19, #24]
	cbz	x23, LBB0_48
; %bb.47:
	ldr	w8, [x23]
	str	w8, [x20, #40]
	str	xzr, [x19, #24]
LBB0_48:
	ldp	w0, w8, [x19, #16]
	str	w8, [x20, #28]
	ldr	w8, [x19]
	ldr	w9, [x20, #8]
	add	w8, w9, w8
	str	w8, [x20, #8]
	ldr	x8, [x20, #16]
	add	x1, x8, #4
	bl	_atomic_add
Lloh37:
	adrp	x24, _INET_FRAG_FIRST_IN@GOTPAGE
Lloh38:
	ldr	x24, [x24, _INET_FRAG_FIRST_IN@GOTPAGEOFF]
	cbnz	w26, LBB0_50
; %bb.49:
	ldr	w8, [x24]
	ldr	w9, [x20]
	orr	w8, w9, w8
	str	w8, [x20]
LBB0_50:
	mov	x0, x19
	bl	_ip_hdr
	ldr	w25, [x0]
Lloh39:
	adrp	x8, _IP_DF@GOTPAGE
Lloh40:
	ldr	x8, [x8, _IP_DF@GOTPAGEOFF]
Lloh41:
	ldr	w0, [x8]
	bl	_htons
	tst	w0, w25
	b.eq	LBB0_53
; %bb.51:
	ldr	w8, [x19]
	ldr	w9, [x20, #12]
	add	w8, w8, w21
	cmp	w8, w9
	b.le	LBB0_53
; %bb.52:
	str	w8, [x20, #12]
LBB0_53:
	ldr	w8, [x20]
	ldr	w9, [x24]
Lloh42:
	adrp	x10, _INET_FRAG_LAST_IN@GOTPAGE
Lloh43:
	ldr	x10, [x10, _INET_FRAG_LAST_IN@GOTPAGEOFF]
Lloh44:
	ldr	w10, [x10]
	orr	w9, w10, w9
	cmp	w8, w9
	b.ne	LBB0_56
; %bb.54:
	ldp	w9, w8, [x20, #4]
	cmp	w8, w9
	b.ne	LBB0_56
; %bb.55:
	mov	x0, x20
	mov	x1, x22
	mov	x2, x23
	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	_ip_frag_reasm
LBB0_56:
Lloh45:
	adrp	x19, _ip4_frags@GOTPAGE
Lloh46:
	ldr	x19, [x19, _ip4_frags@GOTPAGEOFF]
	mov	x0, x19
	bl	_write_lock
	add	x0, x20, #24
	ldr	x1, [x20, #16]
	bl	_list_move_tail
	mov	x0, x19
	bl	_write_unlock
Lloh47:
	adrp	x8, _EINPROGRESS@GOTPAGE
Lloh48:
	ldr	x8, [x8, _EINPROGRESS@GOTPAGEOFF]
Lloh49:
	ldr	w8, [x8]
	neg	w24, w8
	b	LBB0_4
LBB0_57:
	ldr	w8, [x25]
	b	LBB0_2
LBB0_58:
	mov	x0, x23
	mov	x1, x25
	bl	_pskb_pull
	cbz	x0, LBB0_3
; %bb.59:
	mov	x0, x23
	bl	_FRAG_CB
	ldr	w8, [x0]
	add	w8, w8, w25
	str	w8, [x0]
	ldr	w8, [x20, #8]
	sub	w8, w8, w25
	str	w8, [x20, #8]
	ldr	x8, [x23, #8]
Lloh50:
	adrp	x9, _CHECKSUM_UNNECESSARY@GOTPAGE
Lloh51:
	ldr	x9, [x9, _CHECKSUM_UNNECESSARY@GOTPAGEOFF]
Lloh52:
	ldr	x9, [x9]
	cmp	x8, x9
	ldr	x24, [sp, #8]                   ; 8-byte Folded Reload
	ldr	w25, [sp, #4]                   ; 4-byte Folded Reload
	b.eq	LBB0_44
; %bb.60:
Lloh53:
	adrp	x8, _CHECKSUM_NONE@GOTPAGE
Lloh54:
	ldr	x8, [x8, _CHECKSUM_NONE@GOTPAGEOFF]
Lloh55:
	ldr	x8, [x8]
	str	x8, [x23, #8]
	b	LBB0_44
LBB0_61:
	neg	w24, w25
	b	LBB0_3
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGot	Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGot	Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh34, Lloh35, Lloh36
	.loh AdrpLdrGot	Lloh37, Lloh38
	.loh AdrpLdrGotLdr	Lloh39, Lloh40, Lloh41
	.loh AdrpLdrGotLdr	Lloh42, Lloh43, Lloh44
	.loh AdrpLdrGotLdr	Lloh47, Lloh48, Lloh49
	.loh AdrpLdrGot	Lloh45, Lloh46
	.loh AdrpLdrGotLdr	Lloh50, Lloh51, Lloh52
	.loh AdrpLdrGotLdr	Lloh53, Lloh54, Lloh55
	.cfi_endproc
                                        ; -- End function
	.comm	_ENOENT,4,2                     ; @ENOENT
	.comm	_INET_FRAG_COMPLETE,4,2         ; @INET_FRAG_COMPLETE
	.comm	_IPSKB_FRAG_COMPLETE,4,2        ; @IPSKB_FRAG_COMPLETE
	.comm	_IP_OFFSET,4,2                  ; @IP_OFFSET
	.comm	_EINVAL,4,2                     ; @EINVAL
	.comm	_IP_MF,4,2                      ; @IP_MF
	.comm	_INET_FRAG_LAST_IN,4,2          ; @INET_FRAG_LAST_IN
	.comm	_CHECKSUM_UNNECESSARY,8,3       ; @CHECKSUM_UNNECESSARY
	.comm	_CHECKSUM_NONE,8,3              ; @CHECKSUM_NONE
	.comm	_ENOMEM,4,2                     ; @ENOMEM
	.comm	_INET_FRAG_FIRST_IN,4,2         ; @INET_FRAG_FIRST_IN
	.comm	_IP_DF,4,2                      ; @IP_DF
	.comm	_ip4_frags,4,2                  ; @ip4_frags
	.comm	_EINPROGRESS,4,2                ; @EINPROGRESS
	.no_dead_strip	_ip_frag_queue
.subsections_via_symbols
