	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_ipfw_sets_handler              ## -- Begin function ipfw_sets_handler
	.p2align	4, 0x90
_ipfw_sets_handler:                     ## @ipfw_sets_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	$88, %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	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	leaq	-120(%rbp), %rdi
	xorl	%esi, %esi
	movl	$32, %edx
	callq	_memset
	movq	8(%rbx), %rdi
	testq	%rdi, %rdi
	jne	LBB0_2
## %bb.1:
	movq	_EX_USAGE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str(%rip), %rsi
	xorl	%eax, %eax
	callq	_errx
	movq	8(%rbx), %rdi
LBB0_2:
	leaq	L_.str.1(%rip), %rsi
	callq	__substrcmp
	testq	%rax, %rax
	je	LBB0_3
## %bb.17:
	movq	8(%rbx), %rdi
	leaq	L_.str.9(%rip), %rsi
	callq	__substrcmp
	testq	%rax, %rax
	je	LBB0_18
## %bb.28:
	movq	8(%rbx), %rdi
	leaq	L_.str.12(%rip), %rsi
	callq	__substrcmp
	testq	%rax, %rax
	je	LBB0_29
## %bb.54:
	movq	8(%rbx), %rdi
	leaq	L_.str.3(%rip), %rsi
	callq	__substrcmp
	testq	%rax, %rax
	je	LBB0_56
## %bb.55:
	movq	8(%rbx), %rdi
	leaq	L_.str.7(%rip), %rsi
	callq	__substrcmp
	testq	%rax, %rax
	je	LBB0_56
## %bb.75:
	movq	_EX_USAGE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	8(%rbx), %rdx
	leaq	L_.str.21(%rip), %rsi
	xorl	%eax, %eax
	callq	_errx
	jmp	LBB0_76
LBB0_3:
	leaq	-80(%rbp), %rbx
	movq	%rbx, %rdi
	xorl	%esi, %esi
	movl	$32, %edx
	callq	_memset
	movq	_co@GOTPCREL(%rip), %rdi
	leaq	-88(%rbp), %rdx
	leaq	-128(%rbp), %rcx
	movq	%rbx, %rsi
	callq	_ipfw_get_config
	testq	%rax, %rax
	je	LBB0_5
## %bb.4:
	movq	_EX_OSERR@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.2(%rip), %rsi
	xorl	%eax, %eax
	callq	_err
LBB0_5:
	movq	_RESVD_SET@GOTPCREL(%rip), %r15
	movl	(%r15), %eax
	testl	%eax, %eax
	jle	LBB0_16
## %bb.6:
	leaq	L_.str.3(%rip), %rsi
	leaq	L_.str.4(%rip), %r14
	leaq	L_.str.5(%rip), %r12
	xorl	%ebx, %ebx
	jmp	LBB0_7
	.p2align	4, 0x90
LBB0_9:                                 ##   in Loop: Header=BB0_7 Depth=1
	incl	%ebx
	cmpl	%eax, %ebx
	jge	LBB0_10
LBB0_7:                                 ## =>This Inner Loop Header: Depth=1
	movq	-88(%rbp), %rcx
	movl	(%rcx), %ecx
	btl	%ebx, %ecx
	jb	LBB0_9
## %bb.8:                               ##   in Loop: Header=BB0_7 Depth=1
	movq	%r14, %rdi
	movl	%ebx, %edx
	xorl	%eax, %eax
	callq	_printf
	movl	(%r15), %eax
	movq	%r12, %rsi
	jmp	LBB0_9
LBB0_18:
	movq	16(%rbx), %r14
	testq	%r14, %r14
	je	LBB0_20
## %bb.19:
	movq	24(%rbx), %r15
	testq	%r15, %r15
	jne	LBB0_21
LBB0_20:
	movq	_EX_USAGE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.10(%rip), %rsi
	xorl	%eax, %eax
	callq	_errx
	movq	16(%rbx), %r14
	movq	24(%rbx), %r15
LBB0_21:
	movq	%r14, %rdi
	callq	_atoi
	movl	%eax, -120(%rbp)
	movq	%r15, %rdi
	callq	_atoi
	movl	%eax, -116(%rbp)
	movsbl	(%r14), %edi
	callq	_isdigit
	testq	%rax, %rax
	je	LBB0_23
## %bb.22:
	movl	-120(%rbp), %eax
	movq	_RESVD_SET@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jle	LBB0_24
LBB0_23:
	movq	_EX_DATAERR@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	16(%rbx), %rdx
	leaq	L_.str.11(%rip), %rsi
	xorl	%eax, %eax
	callq	_errx
LBB0_24:
	movq	24(%rbx), %rax
	movsbl	(%rax), %edi
	callq	_isdigit
	testq	%rax, %rax
	je	LBB0_26
## %bb.25:
	movl	-116(%rbp), %eax
	movq	_RESVD_SET@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jle	LBB0_27
LBB0_26:
	movq	_EX_DATAERR@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	24(%rbx), %rdx
	leaq	L_.str.11(%rip), %rsi
	xorl	%eax, %eax
	callq	_errx
LBB0_27:
	movq	_IP_FW_SET_SWAP@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-120(%rbp), %rsi
	callq	_do_range_cmd
	jmp	LBB0_76
LBB0_10:
	testl	%eax, %eax
	jle	LBB0_16
## %bb.11:
	movq	-88(%rbp), %rcx
	movl	(%rcx), %ecx
	cmpl	$-1, %ecx
	leaq	L_.str.7(%rip), %rdx
	leaq	L_.str.6(%rip), %rsi
	cmoveq	%rdx, %rsi
	movl	$1, %ebx
	leaq	L_.str.4(%rip), %r14
	leaq	L_.str.5(%rip), %r12
	.p2align	4, 0x90
LBB0_12:                                ## =>This Inner Loop Header: Depth=1
	leal	-1(%rbx), %edx
	btl	%edx, %ecx
	jae	LBB0_14
## %bb.13:                              ##   in Loop: Header=BB0_12 Depth=1
	movq	%r14, %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	(%r15), %eax
	movq	%r12, %rsi
LBB0_14:                                ##   in Loop: Header=BB0_12 Depth=1
	cmpl	%eax, %ebx
	jge	LBB0_16
## %bb.15:                              ##   in Loop: Header=BB0_12 Depth=1
	movq	-88(%rbp), %rcx
	movl	(%rcx), %ecx
	incl	%ebx
	jmp	LBB0_12
LBB0_16:
	movl	$10, %edi
	callq	_putchar
	movq	-88(%rbp), %rdi
	callq	_free
LBB0_76:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_78
## %bb.77:
	addq	$88, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_56:
	movq	8(%rbx), %rdi
	leaq	L_.str.7(%rip), %rsi
	callq	__substrcmp
	movq	$0, -80(%rbp)
	movq	16(%rbx), %rcx
	testq	%rcx, %rcx
	je	LBB0_57
## %bb.58:
	addq	$16, %rbx
	xorl	%r15d, %r15d
	testq	%rax, %rax
	sete	%r15b
	movq	_EX_DATAERR@GOTPCREL(%rip), %r13
	movq	_RESVD_SET@GOTPCREL(%rip), %r14
	jmp	LBB0_59
	.p2align	4, 0x90
LBB0_62:                                ##   in Loop: Header=BB0_59 Depth=1
	movl	(%r13), %edi
	leaq	L_.str.20(%rip), %rsi
	movl	%r12d, %edx
	xorl	%eax, %eax
	callq	_errx
LBB0_63:                                ##   in Loop: Header=BB0_59 Depth=1
	movl	$1, %eax
	movl	%r12d, %ecx
	shll	%cl, %eax
	movl	%r15d, %ecx
	orl	%eax, -80(%rbp,%rcx,4)
LBB0_69:                                ##   in Loop: Header=BB0_59 Depth=1
	movq	8(%rbx), %rcx
	addq	$8, %rbx
	testq	%rcx, %rcx
	je	LBB0_70
LBB0_59:                                ## =>This Inner Loop Header: Depth=1
	movsbl	(%rcx), %edi
	callq	_isdigit
	movq	(%rbx), %rdi
	testq	%rax, %rax
	je	LBB0_64
## %bb.60:                              ##   in Loop: Header=BB0_59 Depth=1
	callq	_atoi
	movq	%rax, %r12
	testl	%r12d, %r12d
	js	LBB0_62
## %bb.61:                              ##   in Loop: Header=BB0_59 Depth=1
	cmpl	%r12d, (%r14)
	jge	LBB0_63
	jmp	LBB0_62
	.p2align	4, 0x90
LBB0_64:                                ##   in Loop: Header=BB0_59 Depth=1
	leaq	L_.str.3(%rip), %rsi
	callq	__substrcmp
	testq	%rax, %rax
	je	LBB0_65
## %bb.66:                              ##   in Loop: Header=BB0_59 Depth=1
	movq	(%rbx), %rdi
	leaq	L_.str.7(%rip), %rsi
	callq	__substrcmp
	testq	%rax, %rax
	je	LBB0_67
## %bb.68:                              ##   in Loop: Header=BB0_59 Depth=1
	movl	(%r13), %edi
	movq	(%rbx), %rdx
	leaq	L_.str.21(%rip), %rsi
	xorl	%eax, %eax
	callq	_errx
	jmp	LBB0_69
LBB0_65:                                ##   in Loop: Header=BB0_59 Depth=1
	xorl	%r15d, %r15d
	jmp	LBB0_69
LBB0_67:                                ##   in Loop: Header=BB0_59 Depth=1
	movl	$1, %r15d
	jmp	LBB0_69
LBB0_29:
	leaq	16(%rbx), %r13
	movq	16(%rbx), %rdi
	testq	%rdi, %rdi
	je	LBB0_30
## %bb.31:
	leaq	L_.str.13(%rip), %rsi
	callq	__substrcmp
	testq	%rax, %rax
	je	LBB0_33
## %bb.32:
	movq	_IP_FW_SET_MOVE@GOTPCREL(%rip), %rax
	jmp	LBB0_34
LBB0_70:
	movl	-80(%rbp), %ebx
	movl	-76(%rbp), %r14d
	testl	%ebx, %r14d
	je	LBB0_73
LBB0_72:
	movq	_EX_DATAERR@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.22(%rip), %rsi
	xorl	%eax, %eax
	callq	_errx
LBB0_73:
	movl	%ebx, -120(%rbp)
	movl	%r14d, -116(%rbp)
	movq	_IP_FW_SET_ENABLE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-120(%rbp), %rsi
	callq	_do_range_cmd
	testl	%eax, %eax
	je	LBB0_76
## %bb.74:
	leaq	L_.str.23(%rip), %rdi
	callq	_warn
	jmp	LBB0_76
LBB0_57:
	xorl	%r14d, %r14d
	xorl	%ebx, %ebx
	testl	%ebx, %r14d
	jne	LBB0_72
	jmp	LBB0_73
LBB0_30:
	movq	_IP_FW_SET_MOVE@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	jmp	LBB0_39
LBB0_33:
	movq	_IPFW_RCFLAG_RANGE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -96(%rbp)
	addq	$24, %rbx
	movq	_IP_FW_XMOVE@GOTPCREL(%rip), %rax
	movq	%rbx, %r13
LBB0_34:
	movl	(%rax), %r14d
	cmpq	$0, (%r13)
	je	LBB0_39
## %bb.35:
	movq	8(%r13), %rdi
	testq	%rdi, %rdi
	je	LBB0_39
## %bb.36:
	cmpq	$0, 16(%r13)
	je	LBB0_39
## %bb.37:
	cmpq	$0, 24(%r13)
	jne	LBB0_39
## %bb.38:
	leaq	L_.str.14(%rip), %rsi
	callq	__substrcmp
	testq	%rax, %rax
	je	LBB0_40
LBB0_39:
	movq	_EX_USAGE@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.15(%rip), %rsi
	xorl	%eax, %eax
	callq	_errx
LBB0_40:
	movq	(%r13), %r15
	movq	%r15, %rdi
	callq	_atoi
	movq	%rax, %r12
	movq	16(%r13), %rbx
	movq	%rbx, %rdi
	callq	_atoi
	movl	%eax, -116(%rbp)
	movq	_IP_FW_XMOVE@GOTPCREL(%rip), %rax
	cmpl	(%rax), %r14d
	jne	LBB0_42
## %bb.41:
	movq	%r12, -112(%rbp)
	movq	%r12, -104(%rbp)
	jmp	LBB0_43
LBB0_42:
	movl	%r12d, -120(%rbp)
LBB0_43:
	movq	%rbx, %rdi
	callq	_atoi
	movl	%eax, -116(%rbp)
	movsbl	(%r15), %edi
	callq	_isdigit
	testq	%rax, %rax
	je	LBB0_48
## %bb.44:
	cmpl	$2, %r14d
	je	LBB0_47
## %bb.45:
	cmpl	$3, %r14d
	jne	LBB0_49
## %bb.46:
	movl	-120(%rbp), %eax
	movq	_RESVD_SET@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jg	LBB0_48
	jmp	LBB0_49
LBB0_47:
	movq	-112(%rbp), %rax
	movq	_IPFW_DEFAULT_RULE@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_49
LBB0_48:
	movq	_EX_DATAERR@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	(%r13), %rdx
	leaq	L_.str.16(%rip), %rsi
	xorl	%eax, %eax
	callq	_errx
LBB0_49:
	movq	16(%r13), %rax
	movsbl	(%rax), %edi
	callq	_isdigit
	testq	%rax, %rax
	je	LBB0_51
## %bb.50:
	movl	-116(%rbp), %eax
	movq	_RESVD_SET@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jle	LBB0_52
LBB0_51:
	movq	_EX_DATAERR@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	8(%r13), %rdx
	leaq	L_.str.17(%rip), %rsi
	xorl	%eax, %eax
	callq	_errx
LBB0_52:
	leaq	-120(%rbp), %rsi
	movl	%r14d, %edi
	callq	_do_range_cmd
	testl	%eax, %eax
	jns	LBB0_76
## %bb.53:
	movq	_EX_OSERR@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_IP_FW_SET_MOVE@GOTPCREL(%rip), %rax
	cmpl	(%rax), %r14d
	leaq	L_.str.19(%rip), %rax
	leaq	L_.str.13(%rip), %rdx
	cmoveq	%rax, %rdx
	leaq	L_.str.18(%rip), %rsi
	xorl	%eax, %eax
	callq	_err
	jmp	LBB0_76
LBB0_78:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.comm	_EX_USAGE,4,2                   ## @EX_USAGE
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"set needs command"

L_.str.1:                               ## @.str.1
	.asciz	"show"

	.comm	_co,4,2                         ## @co
	.comm	_EX_OSERR,4,2                   ## @EX_OSERR
L_.str.2:                               ## @.str.2
	.asciz	"requesting config failed"

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

	.comm	_RESVD_SET,4,2                  ## @RESVD_SET
L_.str.4:                               ## @.str.4
	.asciz	"%s %d"

L_.str.5:                               ## @.str.5
	.space	1

L_.str.6:                               ## @.str.6
	.asciz	" enable"

L_.str.7:                               ## @.str.7
	.asciz	"enable"

L_.str.9:                               ## @.str.9
	.asciz	"swap"

L_.str.10:                              ## @.str.10
	.asciz	"set swap needs 2 set numbers\n"

	.comm	_EX_DATAERR,4,2                 ## @EX_DATAERR
L_.str.11:                              ## @.str.11
	.asciz	"invalid set number %s\n"

	.comm	_IP_FW_SET_SWAP,4,2             ## @IP_FW_SET_SWAP
L_.str.12:                              ## @.str.12
	.asciz	"move"

L_.str.13:                              ## @.str.13
	.asciz	"rule"

	.comm	_IPFW_RCFLAG_RANGE,4,2          ## @IPFW_RCFLAG_RANGE
	.comm	_IP_FW_XMOVE,4,2                ## @IP_FW_XMOVE
	.comm	_IP_FW_SET_MOVE,4,2             ## @IP_FW_SET_MOVE
L_.str.14:                              ## @.str.14
	.asciz	"to"

L_.str.15:                              ## @.str.15
	.asciz	"syntax: set move [rule] X to Y\n"

	.comm	_IPFW_DEFAULT_RULE,8,3          ## @IPFW_DEFAULT_RULE
L_.str.16:                              ## @.str.16
	.asciz	"invalid source number %s\n"

L_.str.17:                              ## @.str.17
	.asciz	"invalid dest. set %s\n"

L_.str.18:                              ## @.str.18
	.asciz	"failed to move %s"

L_.str.19:                              ## @.str.19
	.asciz	"set"

L_.str.20:                              ## @.str.20
	.asciz	"invalid set number %d\n"

L_.str.21:                              ## @.str.21
	.asciz	"invalid set command %s\n"

L_.str.22:                              ## @.str.22
	.asciz	"cannot enable and disable the same set\n"

	.comm	_IP_FW_SET_ENABLE,4,2           ## @IP_FW_SET_ENABLE
L_.str.23:                              ## @.str.23
	.asciz	"set enable/disable: setsockopt(IP_FW_SET_ENABLE)"

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_ipfw_sets_handler              ; -- Begin function ipfw_sets_handler
	.p2align	2
_ipfw_sets_handler:                     ; @ipfw_sets_handler
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #192
	.cfi_def_cfa_offset 192
	stp	x28, x27, [sp, #96]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #112]            ; 16-byte Folded Spill
	stp	x24, x23, [sp, #128]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #144]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #160]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #176]            ; 16-byte Folded Spill
	add	x29, sp, #176
	.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, x0
	add	x0, sp, #64
	mov	w1, #0
	mov	w2, #32
	bl	_memset
	ldr	x0, [x19, #8]
	cbnz	x0, LBB0_2
; %bb.1:
Lloh0:
	adrp	x8, _EX_USAGE@GOTPAGE
Lloh1:
	ldr	x8, [x8, _EX_USAGE@GOTPAGEOFF]
Lloh2:
	ldr	w0, [x8]
Lloh3:
	adrp	x1, l_.str@PAGE
Lloh4:
	add	x1, x1, l_.str@PAGEOFF
	bl	_errx
	ldr	x0, [x19, #8]
LBB0_2:
Lloh5:
	adrp	x1, l_.str.1@PAGE
Lloh6:
	add	x1, x1, l_.str.1@PAGEOFF
	bl	__substrcmp
	cbz	x0, LBB0_8
; %bb.3:
	ldr	x0, [x19, #8]
Lloh7:
	adrp	x1, l_.str.9@PAGE
Lloh8:
	add	x1, x1, l_.str.9@PAGEOFF
	bl	__substrcmp
	cbz	x0, LBB0_15
; %bb.4:
	ldr	x0, [x19, #8]
Lloh9:
	adrp	x1, l_.str.12@PAGE
Lloh10:
	add	x1, x1, l_.str.12@PAGEOFF
	bl	__substrcmp
	cbz	x0, LBB0_46
; %bb.5:
	ldr	x0, [x19, #8]
Lloh11:
	adrp	x1, l_.str.3@PAGE
Lloh12:
	add	x1, x1, l_.str.3@PAGEOFF
	bl	__substrcmp
	cbz	x0, LBB0_33
; %bb.6:
	ldr	x0, [x19, #8]
Lloh13:
	adrp	x1, l_.str.7@PAGE
Lloh14:
	add	x1, x1, l_.str.7@PAGEOFF
	bl	__substrcmp
	cbz	x0, LBB0_33
; %bb.7:
Lloh15:
	adrp	x8, _EX_USAGE@GOTPAGE
Lloh16:
	ldr	x8, [x8, _EX_USAGE@GOTPAGEOFF]
Lloh17:
	ldr	w0, [x8]
	ldr	x8, [x19, #8]
	str	x8, [sp]
Lloh18:
	adrp	x1, l_.str.21@PAGE
Lloh19:
	add	x1, x1, l_.str.21@PAGEOFF
	bl	_errx
	b	LBB0_32
LBB0_8:
	add	x0, sp, #24
	mov	w1, #0
	mov	w2, #32
	bl	_memset
Lloh20:
	adrp	x0, _co@GOTPAGE
Lloh21:
	ldr	x0, [x0, _co@GOTPAGEOFF]
	add	x1, sp, #24
	add	x2, sp, #16
	add	x3, sp, #56
	bl	_ipfw_get_config
	cbz	x0, LBB0_10
; %bb.9:
Lloh22:
	adrp	x8, _EX_OSERR@GOTPAGE
Lloh23:
	ldr	x8, [x8, _EX_OSERR@GOTPAGEOFF]
Lloh24:
	ldr	w0, [x8]
Lloh25:
	adrp	x1, l_.str.2@PAGE
Lloh26:
	add	x1, x1, l_.str.2@PAGEOFF
	bl	_err
LBB0_10:
Lloh27:
	adrp	x20, _RESVD_SET@GOTPAGE
Lloh28:
	ldr	x20, [x20, _RESVD_SET@GOTPAGEOFF]
	ldr	w8, [x20]
	cmp	w8, #1
	b.lt	LBB0_31
; %bb.11:
	mov	w21, #0
Lloh29:
	adrp	x9, l_.str.3@PAGE
Lloh30:
	add	x9, x9, l_.str.3@PAGEOFF
Lloh31:
	adrp	x19, l_.str.4@PAGE
Lloh32:
	add	x19, x19, l_.str.4@PAGEOFF
Lloh33:
	adrp	x22, l_.str.5@PAGE
Lloh34:
	add	x22, x22, l_.str.5@PAGEOFF
	b	LBB0_13
LBB0_12:                                ;   in Loop: Header=BB0_13 Depth=1
	add	w21, w21, #1
	cmp	w21, w8
	b.ge	LBB0_25
LBB0_13:                                ; =>This Inner Loop Header: Depth=1
	ldr	x10, [sp, #16]
	ldr	w10, [x10]
	lsr	w10, w10, w21
	tbnz	w10, #0, LBB0_12
; %bb.14:                               ;   in Loop: Header=BB0_13 Depth=1
	stp	x9, x21, [sp]
	mov	x0, x19
	bl	_printf
	ldr	w8, [x20]
	mov	x9, x22
	b	LBB0_12
LBB0_15:
	ldr	x20, [x19, #16]
	cbz	x20, LBB0_17
; %bb.16:
	ldr	x21, [x19, #24]
	cbnz	x21, LBB0_18
LBB0_17:
Lloh35:
	adrp	x8, _EX_USAGE@GOTPAGE
Lloh36:
	ldr	x8, [x8, _EX_USAGE@GOTPAGEOFF]
Lloh37:
	ldr	w0, [x8]
Lloh38:
	adrp	x1, l_.str.10@PAGE
Lloh39:
	add	x1, x1, l_.str.10@PAGEOFF
	bl	_errx
	ldp	x20, x21, [x19, #16]
LBB0_18:
	mov	x0, x20
	bl	_atoi
	str	w0, [sp, #64]
	mov	x0, x21
	bl	_atoi
	str	w0, [sp, #68]
	ldrsb	w0, [x20]
	bl	_isdigit
	cbz	x0, LBB0_20
; %bb.19:
	ldr	w8, [sp, #64]
Lloh40:
	adrp	x9, _RESVD_SET@GOTPAGE
Lloh41:
	ldr	x9, [x9, _RESVD_SET@GOTPAGEOFF]
Lloh42:
	ldr	w9, [x9]
	cmp	w8, w9
	b.le	LBB0_21
LBB0_20:
Lloh43:
	adrp	x8, _EX_DATAERR@GOTPAGE
Lloh44:
	ldr	x8, [x8, _EX_DATAERR@GOTPAGEOFF]
Lloh45:
	ldr	w0, [x8]
	ldr	x8, [x19, #16]
	str	x8, [sp]
Lloh46:
	adrp	x1, l_.str.11@PAGE
Lloh47:
	add	x1, x1, l_.str.11@PAGEOFF
	bl	_errx
LBB0_21:
	ldr	x8, [x19, #24]
	ldrsb	w0, [x8]
	bl	_isdigit
	cbz	x0, LBB0_23
; %bb.22:
	ldr	w8, [sp, #68]
Lloh48:
	adrp	x9, _RESVD_SET@GOTPAGE
Lloh49:
	ldr	x9, [x9, _RESVD_SET@GOTPAGEOFF]
Lloh50:
	ldr	w9, [x9]
	cmp	w8, w9
	b.le	LBB0_24
LBB0_23:
Lloh51:
	adrp	x8, _EX_DATAERR@GOTPAGE
Lloh52:
	ldr	x8, [x8, _EX_DATAERR@GOTPAGEOFF]
Lloh53:
	ldr	w0, [x8]
	ldr	x8, [x19, #24]
	str	x8, [sp]
Lloh54:
	adrp	x1, l_.str.11@PAGE
Lloh55:
	add	x1, x1, l_.str.11@PAGEOFF
	bl	_errx
LBB0_24:
Lloh56:
	adrp	x8, _IP_FW_SET_SWAP@GOTPAGE
Lloh57:
	ldr	x8, [x8, _IP_FW_SET_SWAP@GOTPAGEOFF]
Lloh58:
	ldr	w0, [x8]
	add	x1, sp, #64
	bl	_do_range_cmd
	b	LBB0_32
LBB0_25:
	cmp	w8, #1
	b.lt	LBB0_31
; %bb.26:
	ldr	x9, [sp, #16]
	ldr	w10, [x9]
Lloh59:
	adrp	x9, l_.str.6@PAGE
Lloh60:
	add	x9, x9, l_.str.6@PAGEOFF
Lloh61:
	adrp	x11, l_.str.7@PAGE
Lloh62:
	add	x11, x11, l_.str.7@PAGEOFF
	cmn	w10, #1
	csel	x9, x11, x9, eq
	mov	w21, #1
Lloh63:
	adrp	x19, l_.str.4@PAGE
Lloh64:
	add	x19, x19, l_.str.4@PAGEOFF
Lloh65:
	adrp	x22, l_.str.5@PAGE
Lloh66:
	add	x22, x22, l_.str.5@PAGEOFF
LBB0_27:                                ; =>This Inner Loop Header: Depth=1
	sub	w11, w21, #1
	lsr	w10, w10, w11
	tbz	w10, #0, LBB0_29
; %bb.28:                               ;   in Loop: Header=BB0_27 Depth=1
	stp	x9, x11, [sp]
	mov	x0, x19
	bl	_printf
	ldr	w8, [x20]
	mov	x9, x22
LBB0_29:                                ;   in Loop: Header=BB0_27 Depth=1
	cmp	w21, w8
	b.ge	LBB0_31
; %bb.30:                               ;   in Loop: Header=BB0_27 Depth=1
	ldr	x10, [sp, #16]
	ldr	w10, [x10]
	add	w21, w21, #1
	b	LBB0_27
LBB0_31:
	mov	w0, #10
	bl	_putchar
	ldr	x0, [sp, #16]
	bl	_free
LBB0_32:
	ldp	x29, x30, [sp, #176]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #160]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #144]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #128]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #112]            ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #96]             ; 16-byte Folded Reload
	add	sp, sp, #192
	ret
LBB0_33:
	ldr	x0, [x19, #8]
Lloh67:
	adrp	x1, l_.str.7@PAGE
Lloh68:
	add	x1, x1, l_.str.7@PAGEOFF
	bl	__substrcmp
	ldr	x8, [x19, #16]!
	str	xzr, [sp, #24]
Lloh69:
	adrp	x25, _EX_DATAERR@GOTPAGE
Lloh70:
	ldr	x25, [x25, _EX_DATAERR@GOTPAGEOFF]
	cbz	x8, LBB0_53
; %bb.34:
	cmp	x0, #0
	cset	w26, eq
Lloh71:
	adrp	x20, l_.str.3@PAGE
Lloh72:
	add	x20, x20, l_.str.3@PAGEOFF
Lloh73:
	adrp	x21, l_.str.7@PAGE
Lloh74:
	add	x21, x21, l_.str.7@PAGEOFF
Lloh75:
	adrp	x27, _RESVD_SET@GOTPAGE
Lloh76:
	ldr	x27, [x27, _RESVD_SET@GOTPAGEOFF]
	mov	w28, #1
	add	x22, sp, #24
Lloh77:
	adrp	x23, l_.str.20@PAGE
Lloh78:
	add	x23, x23, l_.str.20@PAGEOFF
	b	LBB0_38
LBB0_35:                                ;   in Loop: Header=BB0_38 Depth=1
	ldr	w0, [x25]
	mov	x8, x24
	str	x8, [sp]
	mov	x1, x23
	bl	_errx
LBB0_36:                                ;   in Loop: Header=BB0_38 Depth=1
	lsl	w8, w28, w24
	mov	w9, w26
	lsl	x9, x9, #2
	ldr	w10, [x22, x9]
	orr	w8, w10, w8
	str	w8, [x22, x9]
LBB0_37:                                ;   in Loop: Header=BB0_38 Depth=1
	ldr	x8, [x19, #8]!
	cbz	x8, LBB0_49
LBB0_38:                                ; =>This Inner Loop Header: Depth=1
	ldrsb	w0, [x8]
	bl	_isdigit
	mov	x8, x0
	ldr	x0, [x19]
	cbz	x8, LBB0_41
; %bb.39:                               ;   in Loop: Header=BB0_38 Depth=1
	bl	_atoi
	mov	x24, x0
	tbnz	w24, #31, LBB0_35
; %bb.40:                               ;   in Loop: Header=BB0_38 Depth=1
	ldr	w8, [x27]
	cmp	w8, w24
	b.ge	LBB0_36
	b	LBB0_35
LBB0_41:                                ;   in Loop: Header=BB0_38 Depth=1
	mov	x1, x20
	bl	__substrcmp
	cbz	x0, LBB0_44
; %bb.42:                               ;   in Loop: Header=BB0_38 Depth=1
	ldr	x0, [x19]
	mov	x1, x21
	bl	__substrcmp
	cbz	x0, LBB0_45
; %bb.43:                               ;   in Loop: Header=BB0_38 Depth=1
	ldr	w0, [x25]
	ldr	x8, [x19]
	str	x8, [sp]
Lloh79:
	adrp	x1, l_.str.21@PAGE
Lloh80:
	add	x1, x1, l_.str.21@PAGEOFF
	bl	_errx
	b	LBB0_37
LBB0_44:                                ;   in Loop: Header=BB0_38 Depth=1
	mov	w26, #0
	b	LBB0_37
LBB0_45:                                ;   in Loop: Header=BB0_38 Depth=1
	mov	w26, #1
	b	LBB0_37
LBB0_46:
	mov	x24, x19
	ldr	x0, [x24, #16]!
Lloh81:
	adrp	x25, _IP_FW_XMOVE@GOTPAGE
Lloh82:
	ldr	x25, [x25, _IP_FW_XMOVE@GOTPAGEOFF]
Lloh83:
	adrp	x23, _IP_FW_SET_MOVE@GOTPAGE
Lloh84:
	ldr	x23, [x23, _IP_FW_SET_MOVE@GOTPAGEOFF]
	cbz	x0, LBB0_54
; %bb.47:
Lloh85:
	adrp	x1, l_.str.13@PAGE
Lloh86:
	add	x1, x1, l_.str.13@PAGEOFF
	bl	__substrcmp
	cbz	x0, LBB0_55
; %bb.48:
Lloh87:
	adrp	x8, _IP_FW_SET_MOVE@GOTPAGE
Lloh88:
	ldr	x8, [x8, _IP_FW_SET_MOVE@GOTPAGEOFF]
	b	LBB0_56
LBB0_49:
	ldp	w20, w19, [sp, #24]
	tst	w19, w20
	b.eq	LBB0_51
LBB0_50:
	ldr	w0, [x25]
Lloh89:
	adrp	x1, l_.str.22@PAGE
Lloh90:
	add	x1, x1, l_.str.22@PAGEOFF
	bl	_errx
LBB0_51:
	stp	w20, w19, [sp, #64]
Lloh91:
	adrp	x8, _IP_FW_SET_ENABLE@GOTPAGE
Lloh92:
	ldr	x8, [x8, _IP_FW_SET_ENABLE@GOTPAGEOFF]
Lloh93:
	ldr	w0, [x8]
	add	x1, sp, #64
	bl	_do_range_cmd
	cbz	w0, LBB0_32
; %bb.52:
Lloh94:
	adrp	x0, l_.str.23@PAGE
Lloh95:
	add	x0, x0, l_.str.23@PAGEOFF
	bl	_warn
	b	LBB0_32
LBB0_53:
	mov	w19, #0
	mov	w20, #0
	tst	w19, w20
	b.ne	LBB0_50
	b	LBB0_51
LBB0_54:
	ldr	w19, [x23]
	b	LBB0_61
LBB0_55:
Lloh96:
	adrp	x8, _IPFW_RCFLAG_RANGE@GOTPAGE
Lloh97:
	ldr	x8, [x8, _IPFW_RCFLAG_RANGE@GOTPAGEOFF]
Lloh98:
	ldr	w8, [x8]
	str	w8, [sp, #88]
	add	x24, x19, #24
Lloh99:
	adrp	x8, _IP_FW_XMOVE@GOTPAGE
Lloh100:
	ldr	x8, [x8, _IP_FW_XMOVE@GOTPAGEOFF]
LBB0_56:
	ldr	x9, [x24]
	ldr	w19, [x8]
	cbz	x9, LBB0_61
; %bb.57:
	ldr	x0, [x24, #8]
	cbz	x0, LBB0_61
; %bb.58:
	ldr	x8, [x24, #16]
	cbz	x8, LBB0_61
; %bb.59:
	ldr	x8, [x24, #24]
	cbnz	x8, LBB0_61
; %bb.60:
Lloh101:
	adrp	x1, l_.str.14@PAGE
Lloh102:
	add	x1, x1, l_.str.14@PAGEOFF
	bl	__substrcmp
	cbz	x0, LBB0_62
LBB0_61:
Lloh103:
	adrp	x8, _EX_USAGE@GOTPAGE
Lloh104:
	ldr	x8, [x8, _EX_USAGE@GOTPAGEOFF]
Lloh105:
	ldr	w0, [x8]
Lloh106:
	adrp	x1, l_.str.15@PAGE
Lloh107:
	add	x1, x1, l_.str.15@PAGEOFF
	bl	_errx
LBB0_62:
	ldr	x20, [x24]
	mov	x0, x20
	bl	_atoi
	mov	x22, x0
	ldr	x21, [x24, #16]
	mov	x0, x21
	bl	_atoi
	str	w0, [sp, #68]
	ldr	w8, [x25]
	cmp	w19, w8
	b.ne	LBB0_64
; %bb.63:
	stp	x22, x22, [sp, #72]
	b	LBB0_65
LBB0_64:
	str	w22, [sp, #64]
LBB0_65:
	mov	x0, x21
	bl	_atoi
	str	w0, [sp, #68]
	ldrsb	w0, [x20]
	bl	_isdigit
	cbz	x0, LBB0_70
; %bb.66:
	cmp	w19, #2
	b.eq	LBB0_69
; %bb.67:
	cmp	w19, #3
	b.ne	LBB0_71
; %bb.68:
	ldr	w8, [sp, #64]
Lloh108:
	adrp	x9, _RESVD_SET@GOTPAGE
Lloh109:
	ldr	x9, [x9, _RESVD_SET@GOTPAGEOFF]
Lloh110:
	ldr	w9, [x9]
	cmp	w8, w9
	b.gt	LBB0_70
	b	LBB0_71
LBB0_69:
	ldr	x8, [sp, #72]
Lloh111:
	adrp	x9, _IPFW_DEFAULT_RULE@GOTPAGE
Lloh112:
	ldr	x9, [x9, _IPFW_DEFAULT_RULE@GOTPAGEOFF]
Lloh113:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_71
LBB0_70:
Lloh114:
	adrp	x8, _EX_DATAERR@GOTPAGE
Lloh115:
	ldr	x8, [x8, _EX_DATAERR@GOTPAGEOFF]
Lloh116:
	ldr	w0, [x8]
	ldr	x8, [x24]
	str	x8, [sp]
Lloh117:
	adrp	x1, l_.str.16@PAGE
Lloh118:
	add	x1, x1, l_.str.16@PAGEOFF
	bl	_errx
LBB0_71:
	ldr	x8, [x24, #16]
	ldrsb	w0, [x8]
	bl	_isdigit
	cbz	x0, LBB0_73
; %bb.72:
	ldr	w8, [sp, #68]
Lloh119:
	adrp	x9, _RESVD_SET@GOTPAGE
Lloh120:
	ldr	x9, [x9, _RESVD_SET@GOTPAGEOFF]
Lloh121:
	ldr	w9, [x9]
	cmp	w8, w9
	b.le	LBB0_74
LBB0_73:
Lloh122:
	adrp	x8, _EX_DATAERR@GOTPAGE
Lloh123:
	ldr	x8, [x8, _EX_DATAERR@GOTPAGEOFF]
Lloh124:
	ldr	w0, [x8]
	ldr	x8, [x24, #8]
	str	x8, [sp]
Lloh125:
	adrp	x1, l_.str.17@PAGE
Lloh126:
	add	x1, x1, l_.str.17@PAGEOFF
	bl	_errx
LBB0_74:
	add	x1, sp, #64
	mov	x0, x19
	bl	_do_range_cmd
	tbz	w0, #31, LBB0_32
; %bb.75:
Lloh127:
	adrp	x8, l_.str.13@PAGE
Lloh128:
	add	x8, x8, l_.str.13@PAGEOFF
Lloh129:
	adrp	x9, _EX_OSERR@GOTPAGE
Lloh130:
	ldr	x9, [x9, _EX_OSERR@GOTPAGEOFF]
Lloh131:
	ldr	w0, [x9]
	ldr	w9, [x23]
Lloh132:
	adrp	x10, l_.str.19@PAGE
Lloh133:
	add	x10, x10, l_.str.19@PAGEOFF
	cmp	w19, w9
	csel	x8, x10, x8, eq
	str	x8, [sp]
Lloh134:
	adrp	x1, l_.str.18@PAGE
Lloh135:
	add	x1, x1, l_.str.18@PAGEOFF
	bl	_err
	b	LBB0_32
	.loh AdrpAdd	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh5, Lloh6
	.loh AdrpAdd	Lloh7, Lloh8
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpAdd	Lloh11, Lloh12
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpAdd	Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGot	Lloh20, Lloh21
	.loh AdrpAdd	Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpLdrGot	Lloh27, Lloh28
	.loh AdrpAdd	Lloh33, Lloh34
	.loh AdrpAdd	Lloh31, Lloh32
	.loh AdrpAdd	Lloh29, Lloh30
	.loh AdrpAdd	Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpAdd	Lloh46, Lloh47
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.loh AdrpAdd	Lloh54, Lloh55
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpLdrGotLdr	Lloh56, Lloh57, Lloh58
	.loh AdrpAdd	Lloh65, Lloh66
	.loh AdrpAdd	Lloh63, Lloh64
	.loh AdrpAdd	Lloh61, Lloh62
	.loh AdrpAdd	Lloh59, Lloh60
	.loh AdrpLdrGot	Lloh69, Lloh70
	.loh AdrpAdd	Lloh67, Lloh68
	.loh AdrpAdd	Lloh77, Lloh78
	.loh AdrpLdrGot	Lloh75, Lloh76
	.loh AdrpAdd	Lloh73, Lloh74
	.loh AdrpAdd	Lloh71, Lloh72
	.loh AdrpAdd	Lloh79, Lloh80
	.loh AdrpLdrGot	Lloh83, Lloh84
	.loh AdrpLdrGot	Lloh81, Lloh82
	.loh AdrpAdd	Lloh85, Lloh86
	.loh AdrpLdrGot	Lloh87, Lloh88
	.loh AdrpAdd	Lloh89, Lloh90
	.loh AdrpLdrGotLdr	Lloh91, Lloh92, Lloh93
	.loh AdrpAdd	Lloh94, Lloh95
	.loh AdrpLdrGot	Lloh99, Lloh100
	.loh AdrpLdrGotLdr	Lloh96, Lloh97, Lloh98
	.loh AdrpAdd	Lloh101, Lloh102
	.loh AdrpAdd	Lloh106, Lloh107
	.loh AdrpLdrGotLdr	Lloh103, Lloh104, Lloh105
	.loh AdrpLdrGotLdr	Lloh108, Lloh109, Lloh110
	.loh AdrpLdrGotLdr	Lloh111, Lloh112, Lloh113
	.loh AdrpAdd	Lloh117, Lloh118
	.loh AdrpLdrGotLdr	Lloh114, Lloh115, Lloh116
	.loh AdrpLdrGotLdr	Lloh119, Lloh120, Lloh121
	.loh AdrpAdd	Lloh125, Lloh126
	.loh AdrpLdrGotLdr	Lloh122, Lloh123, Lloh124
	.loh AdrpAdd	Lloh134, Lloh135
	.loh AdrpAdd	Lloh132, Lloh133
	.loh AdrpLdrGotLdr	Lloh129, Lloh130, Lloh131
	.loh AdrpAdd	Lloh127, Lloh128
	.cfi_endproc
                                        ; -- End function
	.comm	_EX_USAGE,4,2                   ; @EX_USAGE
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"set needs command"

l_.str.1:                               ; @.str.1
	.asciz	"show"

	.comm	_co,4,2                         ; @co
	.comm	_EX_OSERR,4,2                   ; @EX_OSERR
l_.str.2:                               ; @.str.2
	.asciz	"requesting config failed"

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

	.comm	_RESVD_SET,4,2                  ; @RESVD_SET
l_.str.4:                               ; @.str.4
	.asciz	"%s %d"

l_.str.5:                               ; @.str.5
	.space	1

l_.str.6:                               ; @.str.6
	.asciz	" enable"

l_.str.7:                               ; @.str.7
	.asciz	"enable"

l_.str.9:                               ; @.str.9
	.asciz	"swap"

l_.str.10:                              ; @.str.10
	.asciz	"set swap needs 2 set numbers\n"

	.comm	_EX_DATAERR,4,2                 ; @EX_DATAERR
l_.str.11:                              ; @.str.11
	.asciz	"invalid set number %s\n"

	.comm	_IP_FW_SET_SWAP,4,2             ; @IP_FW_SET_SWAP
l_.str.12:                              ; @.str.12
	.asciz	"move"

l_.str.13:                              ; @.str.13
	.asciz	"rule"

	.comm	_IPFW_RCFLAG_RANGE,4,2          ; @IPFW_RCFLAG_RANGE
	.comm	_IP_FW_XMOVE,4,2                ; @IP_FW_XMOVE
	.comm	_IP_FW_SET_MOVE,4,2             ; @IP_FW_SET_MOVE
l_.str.14:                              ; @.str.14
	.asciz	"to"

l_.str.15:                              ; @.str.15
	.asciz	"syntax: set move [rule] X to Y\n"

	.comm	_IPFW_DEFAULT_RULE,8,3          ; @IPFW_DEFAULT_RULE
l_.str.16:                              ; @.str.16
	.asciz	"invalid source number %s\n"

l_.str.17:                              ; @.str.17
	.asciz	"invalid dest. set %s\n"

l_.str.18:                              ; @.str.18
	.asciz	"failed to move %s"

l_.str.19:                              ; @.str.19
	.asciz	"set"

l_.str.20:                              ; @.str.20
	.asciz	"invalid set number %d\n"

l_.str.21:                              ; @.str.21
	.asciz	"invalid set command %s\n"

l_.str.22:                              ; @.str.22
	.asciz	"cannot enable and disable the same set\n"

	.comm	_IP_FW_SET_ENABLE,4,2           ; @IP_FW_SET_ENABLE
l_.str.23:                              ; @.str.23
	.asciz	"set enable/disable: setsockopt(IP_FW_SET_ENABLE)"

.subsections_via_symbols
