	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function main
LCPI0_0:
	.long	1127219200                      ## 0x43300000
	.long	1160773632                      ## 0x45300000
	.long	0                               ## 0x0
	.long	0                               ## 0x0
LCPI0_1:
	.quad	0x4330000000000000              ## double 4503599627370496
	.quad	0x4530000000000000              ## double 1.9342813113834067E+25
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3
LCPI0_2:
	.quad	0x3f50000000000000              ## double 9.765625E-4
LCPI0_3:
	.quad	0x408f400000000000              ## double 1000
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_main
	.p2align	4, 0x90
_main:                                  ## @main
	.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	$248, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %rbx
	movl	%edi, %r15d
	movq	%rsp, -200(%rbp)                ## 8-byte Spill
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	movq	_NI_MAXHOST@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	%rax, -168(%rbp)                ## 8-byte Spill
	callq	____chkstk_darwin
	addq	$15, %rax
	andq	$-16, %rax
	subq	%rax, %rsp
	movq	%rsp, -176(%rbp)                ## 8-byte Spill
	movl	$1, -156(%rbp)
	movq	_KTTCP_PORT@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -184(%rbp)                ## 8-byte Spill
	movq	_KTTCP_SOCKBUF_DEFAULT@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	%rax, -136(%rbp)                ## 8-byte Spill
	movq	_KTTCP_XMITSIZE@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -104(%rbp)                ## 8-byte Spill
	movq	_PF_UNSPEC@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -128(%rbp)                ## 4-byte Spill
	movl	$1, %eax
	leaq	L_.str(%rip), %r13
	leaq	LJTI0_0(%rip), %r14
	movl	$0, -52(%rbp)                   ## 4-byte Folded Spill
	xorl	%ecx, %ecx
	movq	%rcx, -64(%rbp)                 ## 8-byte Spill
	jmp	LBB0_1
LBB0_24:                                ##   in Loop: Header=BB0_1 Depth=1
	movl	$2, %eax
	.p2align	4, 0x90
LBB0_1:                                 ## =>This Inner Loop Header: Depth=1
	movl	%eax, %r12d
	movl	%r15d, %edi
	movq	%rbx, %rsi
	movq	%r13, %rdx
	callq	_getopt
                                        ## kill: def $eax killed $eax def $rax
	leal	-52(%rax), %ecx
	cmpl	$66, %ecx
	ja	LBB0_2
## %bb.4:                               ##   in Loop: Header=BB0_1 Depth=1
	movslq	(%r14,%rcx,4), %rcx
	addq	%r14, %rcx
	xorl	%eax, %eax
	jmpq	*%rcx
LBB0_5:                                 ##   in Loop: Header=BB0_1 Depth=1
	movl	-128(%rbp), %eax                ## 4-byte Reload
	movq	_PF_UNSPEC@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	je	LBB0_7
## %bb.6:                               ##   in Loop: Header=BB0_1 Depth=1
	xorl	%eax, %eax
	callq	_usage
LBB0_7:                                 ##   in Loop: Header=BB0_1 Depth=1
	movq	_PF_INET@GOTPCREL(%rip), %rax
	jmp	LBB0_8
LBB0_21:                                ##   in Loop: Header=BB0_1 Depth=1
	cmpq	$0, -64(%rbp)                   ## 8-byte Folded Reload
	je	LBB0_23
## %bb.22:                              ##   in Loop: Header=BB0_1 Depth=1
	xorl	%eax, %eax
	callq	_usage
LBB0_23:                                ##   in Loop: Header=BB0_1 Depth=1
	movq	_KTTCP_IO_SEND@GOTPCREL(%rip), %rax
	jmp	LBB0_20
LBB0_9:                                 ##   in Loop: Header=BB0_1 Depth=1
	movl	-128(%rbp), %eax                ## 4-byte Reload
	movq	_PF_UNSPEC@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	je	LBB0_11
## %bb.10:                              ##   in Loop: Header=BB0_1 Depth=1
	xorl	%eax, %eax
	callq	_usage
LBB0_11:                                ##   in Loop: Header=BB0_1 Depth=1
	movq	_PF_INET6@GOTPCREL(%rip), %rax
LBB0_8:                                 ##   in Loop: Header=BB0_1 Depth=1
	movl	(%rax), %eax
	movl	%eax, -128(%rbp)                ## 4-byte Spill
	movl	%r12d, %eax
	jmp	LBB0_1
LBB0_12:                                ##   in Loop: Header=BB0_1 Depth=1
	movq	_optarg@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	callq	_get_bytes
	movq	%rax, %rcx
	movq	%rax, -136(%rbp)                ## 8-byte Spill
	movq	_INT_MAX@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jbe	LBB0_14
## %bb.13:                              ##   in Loop: Header=BB0_1 Depth=1
	movq	_optarg@GOTPCREL(%rip), %rax
	movq	(%rax), %rdx
	movl	$1, %edi
	leaq	L_.str.1(%rip), %rsi
	callq	_errx
LBB0_14:                                ##   in Loop: Header=BB0_1 Depth=1
	movl	%r12d, %eax
	jmp	LBB0_1
LBB0_15:                                ##   in Loop: Header=BB0_1 Depth=1
	movq	_optarg@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	callq	_get_bytes
	movq	%rax, -104(%rbp)                ## 8-byte Spill
	movl	$1, -52(%rbp)                   ## 4-byte Folded Spill
	movl	%r12d, %eax
	jmp	LBB0_1
LBB0_16:                                ##   in Loop: Header=BB0_1 Depth=1
	movq	_optarg@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -184(%rbp)                ## 8-byte Spill
	movl	%r12d, %eax
	jmp	LBB0_1
LBB0_17:                                ##   in Loop: Header=BB0_1 Depth=1
	cmpq	$0, -64(%rbp)                   ## 8-byte Folded Reload
	je	LBB0_19
## %bb.18:                              ##   in Loop: Header=BB0_1 Depth=1
	xorl	%eax, %eax
	callq	_usage
LBB0_19:                                ##   in Loop: Header=BB0_1 Depth=1
	movq	_KTTCP_IO_RECV@GOTPCREL(%rip), %rax
LBB0_20:                                ##   in Loop: Header=BB0_1 Depth=1
	movq	(%rax), %rax
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	movl	%r12d, %eax
	jmp	LBB0_1
LBB0_2:                                 ##   in Loop: Header=BB0_1 Depth=1
	cmpl	$-1, %eax
	je	LBB0_25
LBB0_3:                                 ##   in Loop: Header=BB0_1 Depth=1
	xorl	%eax, %eax
	callq	_usage
	movl	%r12d, %eax
	jmp	LBB0_1
LBB0_25:
	movq	-136(%rbp), %rax                ## 8-byte Reload
	movl	%eax, -76(%rbp)
	movq	-64(%rbp), %r13                 ## 8-byte Reload
	testq	%r13, %r13
	jne	LBB0_27
## %bb.26:
	xorl	%eax, %eax
	callq	_usage
LBB0_27:
	movq	_KTTCP_IO_SEND@GOTPCREL(%rip), %rax
	cmpq	(%rax), %r13
	jne	LBB0_32
## %bb.28:
	movq	_optind@GOTPCREL(%rip), %rax
	movq	(%rax), %r14
	cmpq	$0, -104(%rbp)                  ## 8-byte Folded Reload
	je	LBB0_30
## %bb.29:
	subl	%r14d, %r15d
	testl	%r15d, %r15d
	jg	LBB0_31
LBB0_30:
	xorl	%eax, %eax
	callq	_usage
LBB0_31:
	movq	(%rbx,%r14,8), %r15
	xorl	%r14d, %r14d
	jmp	LBB0_35
LBB0_32:
	cmpl	$0, -52(%rbp)                   ## 4-byte Folded Reload
	jne	LBB0_34
## %bb.33:
	movq	_KTTCP_MAX_XMIT@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -104(%rbp)                ## 8-byte Spill
LBB0_34:
	movq	_AI_PASSIVE@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	xorl	%r15d, %r15d
LBB0_35:
	movq	_KTTCP_DEVICE@GOTPCREL(%rip), %rbx
	movl	(%rbx), %edi
	movq	_O_RDWR@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	$666, %edx                      ## imm = 0x29A
	callq	_open
	movl	%eax, -52(%rbp)                 ## 4-byte Spill
	cmpl	$-1, %eax
	jne	LBB0_37
## %bb.36:
	movl	(%rbx), %edx
	leaq	L_.str.2(%rip), %rsi
	movl	$2, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_37:
	leaq	-280(%rbp), %rbx
	movq	%rbx, %rdi
	xorl	%esi, %esi
	movl	$40, %edx
	callq	_memset
	movl	%r14d, -280(%rbp)
	movq	_SOCK_STREAM@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -252(%rbp)
	movl	-128(%rbp), %eax                ## 4-byte Reload
	movl	%eax, -276(%rbp)
	leaq	-192(%rbp), %rcx
	movq	%r15, %rdi
	movq	-184(%rbp), %r14                ## 8-byte Reload
	movq	%r14, %rsi
	movq	%rbx, %rdx
	callq	_getaddrinfo
	testl	%eax, %eax
	je	LBB0_39
## %bb.38:
	movl	%eax, %edi
	callq	_gai_strerror
	leaq	L_.str.3(%rip), %rsi
	movl	$2, %edi
	movq	%rax, %rdx
	callq	_errx
LBB0_39:
	movq	-192(%rbp), %rbx
	testq	%rbx, %rbx
	je	LBB0_40
	.p2align	4, 0x90
LBB0_41:                                ## =>This Inner Loop Header: Depth=1
	movl	28(%rbx), %esi
	movl	4(%rbx), %edi
	movl	24(%rbx), %edx
	callq	_socket
	movl	%eax, %r15d
	testl	%eax, %eax
	jns	LBB0_44
## %bb.42:                              ##   in Loop: Header=BB0_41 Depth=1
	movq	32(%rbx), %rbx
	testq	%rbx, %rbx
	jne	LBB0_41
	jmp	LBB0_43
LBB0_40:
	movl	$-1, %r15d
LBB0_43:
	leaq	L_.str.4(%rip), %rsi
	xorl	%ebx, %ebx
	movl	$2, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_44:
	leaq	L_.str.5(%rip), %rdi
	movq	-136(%rbp), %rsi                ## 8-byte Reload
                                        ## kill: def $esi killed $esi killed $rsi
	xorl	%eax, %eax
	callq	_printf
	movq	_KTTCP_IO_SEND@GOTPCREL(%rip), %rax
	cmpq	(%rax), %r13
	jne	LBB0_52
## %bb.45:
	movq	16(%rbx), %rsi
	movl	8(%rbx), %edx
	movl	%r15d, %edi
	callq	_connect
	testq	%rax, %rax
	jns	LBB0_47
## %bb.46:
	leaq	L_.str.6(%rip), %rsi
	movl	$2, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_47:
	testl	%r12d, %r12d
	je	LBB0_49
## %bb.48:
	movq	16(%rbx), %rdi
	movl	8(%rbx), %esi
	movq	_NI_NUMERICHOST@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	subq	$8, %rsp
	movq	-176(%rbp), %rbx                ## 8-byte Reload
	movq	%rbx, %rdx
	movq	-168(%rbp), %rcx                ## 8-byte Reload
                                        ## kill: def $ecx killed $ecx killed $rcx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	pushq	%rax
	callq	_getnameinfo
	addq	$16, %rsp
	leaq	L_.str.7(%rip), %rdi
	movq	%rbx, %rsi
	xorl	%eax, %eax
	callq	_printf
LBB0_49:
	movq	_SOL_SOCKET@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_SO_SNDBUF@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	-76(%rbp), %rcx
	movl	%r15d, %edi
	movl	$4, %r8d
	callq	_setsockopt
	testq	%rax, %rax
	jns	LBB0_51
## %bb.50:
	leaq	L_.str.8(%rip), %rsi
	movl	$2, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_51:
	movl	%r15d, -240(%rbp)
	jmp	LBB0_67
LBB0_52:
	movq	_SOL_SOCKET@GOTPCREL(%rip), %r13
	movl	(%r13), %esi
	movq	_SO_REUSEADDR@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	-156(%rbp), %rcx
	movl	%r15d, %edi
	movl	$4, %r8d
	callq	_setsockopt
	testq	%rax, %rax
	jns	LBB0_54
## %bb.53:
	leaq	L_.str.9(%rip), %rsi
	movl	$2, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_54:
	movq	16(%rbx), %rsi
	movl	8(%rbx), %edx
	movl	%r15d, %edi
	callq	_bind
	testq	%rax, %rax
	jns	LBB0_56
## %bb.55:
	leaq	L_.str.10(%rip), %rsi
	movl	$2, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_56:
	movl	%r15d, %edi
	movl	$1, %esi
	callq	_listen
	testq	%rax, %rax
	jns	LBB0_58
## %bb.57:
	leaq	L_.str.11(%rip), %rsi
	movl	$2, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_58:
	testl	%r12d, %r12d
	je	LBB0_60
## %bb.59:
	leaq	L_.str.12(%rip), %rdi
	movq	%r14, %rsi
	xorl	%eax, %eax
	callq	_printf
LBB0_60:
	movl	$4, -160(%rbp)
	leaq	-72(%rbp), %rsi
	leaq	-160(%rbp), %rdx
	movl	%r15d, %edi
	callq	_accept
	movl	%eax, %r14d
	testl	%eax, %eax
	jns	LBB0_62
## %bb.61:
	leaq	L_.str.13(%rip), %rsi
	movl	$2, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_62:
	testl	%r12d, %r12d
	je	LBB0_64
## %bb.63:
	movl	-72(%rbp), %esi
	movq	_NI_NUMERICHOST@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	subq	$8, %rsp
	leaq	-72(%rbp), %rdi
	movq	-176(%rbp), %rbx                ## 8-byte Reload
	movq	%rbx, %rdx
	movq	-168(%rbp), %rcx                ## 8-byte Reload
                                        ## kill: def $ecx killed $ecx killed $rcx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	pushq	%rax
	callq	_getnameinfo
	addq	$16, %rsp
	leaq	L_.str.14(%rip), %rdi
	movq	%rbx, %rsi
	xorl	%eax, %eax
	callq	_printf
LBB0_64:
	movl	(%r13), %esi
	movq	_SO_RCVBUF@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	-76(%rbp), %rcx
	movl	%r14d, %edi
	movl	$4, %r8d
	callq	_setsockopt
	testq	%rax, %rax
	jns	LBB0_66
## %bb.65:
	leaq	L_.str.15(%rip), %rsi
	movl	$2, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_66:
	movl	%r14d, -240(%rbp)
	movq	-64(%rbp), %r13                 ## 8-byte Reload
LBB0_67:
	movq	-104(%rbp), %rax                ## 8-byte Reload
	movq	%rax, -232(%rbp)
	movq	_RUSAGE_SELF@GOTPCREL(%rip), %rbx
	movl	(%rbx), %edi
	leaq	-152(%rbp), %rsi
	callq	_getrusage
	leaq	-240(%rbp), %rdx
	movl	-52(%rbp), %edi                 ## 4-byte Reload
	movq	%r13, %rsi
	callq	_ioctl
	cmpl	$-1, %eax
	jne	LBB0_69
## %bb.68:
	leaq	L_.str.16(%rip), %rsi
	movl	$2, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_69:
	movl	(%rbx), %edi
	leaq	-144(%rbp), %rsi
	callq	_getrusage
	movq	-208(%rbp), %r9
	imulq	$1000000, %r9, %r14             ## imm = 0xF4240
	movq	-224(%rbp), %rsi
	movq	-216(%rbp), %rdi
	addq	%rdi, %r14
	imulq	$1000000, %rsi, %rax            ## imm = 0xF4240
	movq	%rax, %rcx
	orq	%r14, %rcx
	shrq	$32, %rcx
	je	LBB0_70
## %bb.71:
	xorl	%edx, %edx
	divq	%r14
	movq	%rax, %r8
	jmp	LBB0_72
LBB0_70:
                                        ## kill: def $eax killed $eax killed $rax
	xorl	%edx, %edx
	divl	%r14d
	movl	%eax, %r8d
LBB0_72:
	movq	_NBBY@GOTPCREL(%rip), %rax
	movq	(%rax), %rbx
	imulq	%r8, %rbx
	shrq	$3, %rdi
	movabsq	$2361183241434822607, %r13      ## imm = 0x20C49BA5E353F7CF
	movq	%rdi, %rax
	mulq	%r13
	movq	%rdx, %rcx
	shrq	$4, %rcx
	leaq	L_.str.17(%rip), %rdi
	movq	%r9, %rdx
	xorl	%eax, %eax
	callq	_printf
	cmpl	$2, %r12d
	jb	LBB0_77
## %bb.73:
	leaq	-144(%rbp), %rdi
	leaq	-152(%rbp), %rsi
	leaq	-96(%rbp), %rdx
	callq	_timersub
	movq	-224(%rbp), %rsi
	imulq	$1000000, %rsi, %rax            ## imm = 0xF4240
	movq	-96(%rbp), %r9
	movq	-88(%rbp), %rdi
	imulq	$1000000, %r9, %rcx             ## imm = 0xF4240
	addq	%rdi, %rcx
	movq	%rax, %rdx
	orq	%rcx, %rdx
	shrq	$32, %rdx
	je	LBB0_74
## %bb.75:
	xorl	%edx, %edx
	divq	%rcx
	movq	%rax, %r8
	jmp	LBB0_76
LBB0_74:
                                        ## kill: def $eax killed $eax killed $rax
	xorl	%edx, %edx
	divl	%ecx
	movl	%eax, %r8d
LBB0_76:
	shrq	$3, %rdi
	movq	%rdi, %rax
	mulq	%r13
	movq	%rdx, %rcx
	shrq	$4, %rcx
	leaq	L_.str.18(%rip), %rdi
	movq	%r9, %rdx
	xorl	%eax, %eax
	callq	_printf
LBB0_77:
	movq	%rbx, %xmm0
	punpckldq	LCPI0_0(%rip), %xmm0    ## xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
	subpd	LCPI0_1(%rip), %xmm0
	movapd	%xmm0, %xmm1
	unpckhpd	%xmm0, %xmm1                    ## xmm1 = xmm1[1],xmm0[1]
	addsd	%xmm0, %xmm1
	movsd	LCPI0_2(%rip), %xmm2            ## xmm2 = mem[0],zero
	movapd	%xmm1, %xmm0
	mulsd	%xmm2, %xmm0
	mulsd	%xmm2, %xmm0
	movsd	LCPI0_3(%rip), %xmm2            ## xmm2 = mem[0],zero
	divsd	%xmm2, %xmm1
	divsd	%xmm2, %xmm1
	leaq	L_.str.19(%rip), %rdi
	movb	$2, %al
	callq	_printf
	leaq	-140(%rbp), %rdi
	leaq	-148(%rbp), %rsi
	leaq	-96(%rbp), %rbx
	movq	%rbx, %rdx
	callq	_timersub
	movq	-96(%rbp), %rsi
	movabsq	$3777893186295716171, %r13      ## imm = 0x346DC5D63886594B
	movq	%r13, %rax
	mulq	-88(%rbp)
	shrq	$11, %rdx
	leaq	L_.str.20(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movaps	-96(%rbp), %xmm0
	movaps	%xmm0, -128(%rbp)               ## 16-byte Spill
	leaq	-144(%rbp), %rdi
	leaq	-152(%rbp), %rsi
	movq	%rbx, %rdx
	callq	_timersub
	movq	-96(%rbp), %rsi
	movq	%r13, %rax
	mulq	-88(%rbp)
	shrq	$11, %rdx
	leaq	L_.str.21(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movdqa	-128(%rbp), %xmm0               ## 16-byte Reload
	paddq	-96(%rbp), %xmm0
	movq	%xmm0, %rax
	imulq	$1000000, %rax, %rax            ## imm = 0xF4240
	pextrq	$1, %xmm0, %rbx
	addq	%rax, %rbx
	movabsq	$4835703278458516699, %rcx      ## imm = 0x431BDE82D7B634DB
	movq	%r14, %rax
	mulq	%rcx
	shrq	$18, %rdx
	imulq	$1000000, %rdx, %rax            ## imm = 0xF4240
	movq	%r14, %rcx
	subq	%rax, %rcx
	movl	$3518437209, %eax               ## imm = 0xD1B71759
	imulq	%rcx, %rax
	shrq	$45, %rax
	leaq	L_.str.22(%rip), %rdi
	movq	%rdx, %rsi
	movq	%rax, %rdx
	xorl	%eax, %eax
	callq	_printf
	imulq	$100, %rbx, %rax
	movq	%rax, %rcx
	orq	%r14, %rcx
	shrq	$32, %rcx
	je	LBB0_78
## %bb.79:
	xorl	%edx, %edx
	divq	%r14
	jmp	LBB0_80
LBB0_78:
                                        ## kill: def $eax killed $eax killed $rax
	xorl	%edx, %edx
	divl	%r14d
                                        ## kill: def $eax killed $eax def $rax
LBB0_80:
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
	leaq	L_.str.23(%rip), %rdi
	movq	%rax, %rsi
	xorl	%eax, %eax
	callq	_printf
	movl	$10, %edi
	callq	_putchar
	movl	-240(%rbp), %edi
	callq	_close
	movq	_KTTCP_IO_RECV@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rbx
	jne	LBB0_82
## %bb.81:
	movl	%r15d, %edi
	callq	_close
LBB0_82:
	movl	-52(%rbp), %edi                 ## 4-byte Reload
	callq	_close
	movq	-192(%rbp), %rdi
	callq	_freeaddrinfo
	movq	-200(%rbp), %rsp                ## 8-byte Reload
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_84
## %bb.83:
	xorl	%eax, %eax
	leaq	-40(%rbp), %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_84:
	callq	___stack_chk_fail
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_5, LBB0_5-LJTI0_0
.set L0_0_set_3, LBB0_3-LJTI0_0
.set L0_0_set_9, LBB0_9-LJTI0_0
.set L0_0_set_12, LBB0_12-LJTI0_0
.set L0_0_set_15, LBB0_15-LJTI0_0
.set L0_0_set_16, LBB0_16-LJTI0_0
.set L0_0_set_1, LBB0_1-LJTI0_0
.set L0_0_set_17, LBB0_17-LJTI0_0
.set L0_0_set_21, LBB0_21-LJTI0_0
.set L0_0_set_24, LBB0_24-LJTI0_0
LJTI0_0:
	.long	L0_0_set_5
	.long	L0_0_set_3
	.long	L0_0_set_9
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_12
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_3
	.long	L0_0_set_15
	.long	L0_0_set_3
	.long	L0_0_set_16
	.long	L0_0_set_1
	.long	L0_0_set_17
	.long	L0_0_set_3
	.long	L0_0_set_21
	.long	L0_0_set_3
	.long	L0_0_set_24
	.end_data_region
                                        ## -- End function
	.comm	_NI_MAXHOST,4,2                 ## @NI_MAXHOST
	.comm	_KTTCP_PORT,8,3                 ## @KTTCP_PORT
	.comm	_KTTCP_SOCKBUF_DEFAULT,4,2      ## @KTTCP_SOCKBUF_DEFAULT
	.comm	_KTTCP_XMITSIZE,8,3             ## @KTTCP_XMITSIZE
	.comm	_PF_UNSPEC,4,2                  ## @PF_UNSPEC
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"46b:n:p:qrtvw:"

	.comm	_PF_INET,4,2                    ## @PF_INET
	.comm	_PF_INET6,4,2                   ## @PF_INET6
	.comm	_optarg,8,3                     ## @optarg
	.comm	_INT_MAX,8,3                    ## @INT_MAX
L_.str.1:                               ## @.str.1
	.asciz	"invalid socket buffer size: %s\n"

	.comm	_KTTCP_IO_RECV,8,3              ## @KTTCP_IO_RECV
	.comm	_KTTCP_IO_SEND,8,3              ## @KTTCP_IO_SEND
	.comm	_optind,8,3                     ## @optind
	.comm	_KTTCP_MAX_XMIT,8,3             ## @KTTCP_MAX_XMIT
	.comm	_AI_PASSIVE,4,2                 ## @AI_PASSIVE
	.comm	_KTTCP_DEVICE,4,2               ## @KTTCP_DEVICE
	.comm	_O_RDWR,4,2                     ## @O_RDWR
L_.str.2:                               ## @.str.2
	.asciz	"open %s"

	.comm	_SOCK_STREAM,4,2                ## @SOCK_STREAM
L_.str.3:                               ## @.str.3
	.asciz	"%s"

L_.str.4:                               ## @.str.4
	.asciz	"can't create socket"

L_.str.5:                               ## @.str.5
	.asciz	"kttcp: socket buffer size: %d\n"

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

	.comm	_NI_NUMERICHOST,4,2             ## @NI_NUMERICHOST
L_.str.7:                               ## @.str.7
	.asciz	"kttcp: connected to %s\n"

	.comm	_SOL_SOCKET,4,2                 ## @SOL_SOCKET
	.comm	_SO_SNDBUF,4,2                  ## @SO_SNDBUF
L_.str.8:                               ## @.str.8
	.asciz	"setsockopt sndbuf"

	.comm	_SO_REUSEADDR,4,2               ## @SO_REUSEADDR
L_.str.9:                               ## @.str.9
	.asciz	"setsockopt reuseaddr"

L_.str.10:                              ## @.str.10
	.asciz	"bind"

L_.str.11:                              ## @.str.11
	.asciz	"listen"

L_.str.12:                              ## @.str.12
	.asciz	"kttcp: listening on port %s\n"

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

L_.str.14:                              ## @.str.14
	.asciz	"kttcp: connect from %s\n"

	.comm	_SO_RCVBUF,4,2                  ## @SO_RCVBUF
L_.str.15:                              ## @.str.15
	.asciz	"setsockopt rcvbuf"

	.comm	_RUSAGE_SELF,4,2                ## @RUSAGE_SELF
L_.str.16:                              ## @.str.16
	.asciz	"kttcp i/o command"

	.comm	_NBBY,8,3                       ## @NBBY
L_.str.17:                              ## @.str.17
	.asciz	"kttcp: %llu bytes in %ld.%03ld real seconds ==> %llu bytes/sec\n"

L_.str.18:                              ## @.str.18
	.asciz	"kttcp: %llu bytes in %ld.%03ld CPU seconds ==> %llu bytes/CPU sec\n"

L_.str.19:                              ## @.str.19
	.asciz	"       %g (%g) Megabits/sec\n"

L_.str.20:                              ## @.str.20
	.asciz	"  %ld.%02lduser"

L_.str.21:                              ## @.str.21
	.asciz	" %ld.%02ldsys"

L_.str.22:                              ## @.str.22
	.asciz	" %lld.%lldreal"

L_.str.23:                              ## @.str.23
	.asciz	" %lld%%"

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_main                           ; -- Begin function main
	.p2align	2
_main:                                  ; @main
	.cfi_startproc
; %bb.0:
	stp	x28, x27, [sp, #-96]!           ; 16-byte Folded Spill
	.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
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	sub	sp, sp, #208
	mov	x23, x1
	mov	x25, x0
	mov	x8, sp
	sub	x9, x29, #16
	stur	x8, [x9, #-256]                 ; 8-byte Folded Spill
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	stur	x8, [x29, #-96]
Lloh3:
	adrp	x8, _NI_MAXHOST@GOTPAGE
Lloh4:
	ldr	x8, [x8, _NI_MAXHOST@GOTPAGEOFF]
Lloh5:
	ldr	w12, [x8]
	mov	x9, x12
Lloh6:
	adrp	x16, ___chkstk_darwin@GOTPAGE
Lloh7:
	ldr	x16, [x16, ___chkstk_darwin@GOTPAGEOFF]
	blr	x16
	mov	x8, sp
	sub	x9, x29, #32
	stur	x12, [x9, #-256]                ; 8-byte Folded Spill
	add	x9, x12, #15
	and	x9, x9, #0x1fffffff0
	sub	x8, x8, x9
	sub	x9, x29, #24
	stur	x8, [x9, #-256]                 ; 8-byte Folded Spill
	mov	sp, x8
	sub	x8, x29, #4
	stur	wzr, [x8, #-256]                ; 4-byte Folded Spill
	mov	x19, #0
	mov	w8, #1
	stur	w8, [x29, #-240]
Lloh8:
	adrp	x9, _KTTCP_PORT@GOTPAGE
Lloh9:
	ldr	x9, [x9, _KTTCP_PORT@GOTPAGEOFF]
Lloh10:
	ldr	x9, [x9]
	stur	x9, [x29, #-256]                ; 8-byte Folded Spill
Lloh11:
	adrp	x9, _KTTCP_SOCKBUF_DEFAULT@GOTPAGE
Lloh12:
	ldr	x9, [x9, _KTTCP_SOCKBUF_DEFAULT@GOTPAGEOFF]
Lloh13:
	ldr	w26, [x9]
Lloh14:
	adrp	x9, _KTTCP_XMITSIZE@GOTPAGE
Lloh15:
	ldr	x9, [x9, _KTTCP_XMITSIZE@GOTPAGEOFF]
Lloh16:
	ldr	x9, [x9]
	stur	x9, [x29, #-248]                ; 8-byte Folded Spill
Lloh17:
	adrp	x20, _PF_UNSPEC@GOTPAGE
Lloh18:
	ldr	x20, [x20, _PF_UNSPEC@GOTPAGEOFF]
	ldr	w28, [x20]
Lloh19:
	adrp	x27, l_.str@PAGE
Lloh20:
	add	x27, x27, l_.str@PAGEOFF
Lloh21:
	adrp	x24, lJTI0_0@PAGE
Lloh22:
	add	x24, x24, lJTI0_0@PAGEOFF
Lloh23:
	adrp	x21, _optarg@GOTPAGE
Lloh24:
	ldr	x21, [x21, _optarg@GOTPAGEOFF]
	b	LBB0_2
LBB0_1:                                 ;   in Loop: Header=BB0_2 Depth=1
	mov	w8, #2
LBB0_2:                                 ; =>This Inner Loop Header: Depth=1
	mov	x22, x8
	mov	x0, x25
	mov	x1, x23
	mov	x2, x27
	bl	_getopt
	sub	w9, w0, #52
	cmp	w9, #66
	b.hi	LBB0_23
; %bb.3:                                ;   in Loop: Header=BB0_2 Depth=1
	mov	w8, #0
	adr	x10, LBB0_1
	ldrb	w11, [x24, x9]
	add	x10, x10, x11, lsl #2
	br	x10
LBB0_4:                                 ;   in Loop: Header=BB0_2 Depth=1
	ldr	w8, [x20]
	cmp	w28, w8
	b.eq	LBB0_6
; %bb.5:                                ;   in Loop: Header=BB0_2 Depth=1
	bl	_usage
LBB0_6:                                 ;   in Loop: Header=BB0_2 Depth=1
Lloh25:
	adrp	x8, _PF_INET@GOTPAGE
Lloh26:
	ldr	x8, [x8, _PF_INET@GOTPAGEOFF]
	b	LBB0_13
LBB0_7:                                 ;   in Loop: Header=BB0_2 Depth=1
	cbz	x19, LBB0_9
; %bb.8:                                ;   in Loop: Header=BB0_2 Depth=1
	bl	_usage
LBB0_9:                                 ;   in Loop: Header=BB0_2 Depth=1
Lloh27:
	adrp	x8, _KTTCP_IO_SEND@GOTPAGE
Lloh28:
	ldr	x8, [x8, _KTTCP_IO_SEND@GOTPAGEOFF]
	b	LBB0_22
LBB0_10:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	w8, [x20]
	cmp	w28, w8
	b.eq	LBB0_12
; %bb.11:                               ;   in Loop: Header=BB0_2 Depth=1
	bl	_usage
LBB0_12:                                ;   in Loop: Header=BB0_2 Depth=1
Lloh29:
	adrp	x8, _PF_INET6@GOTPAGE
Lloh30:
	ldr	x8, [x8, _PF_INET6@GOTPAGEOFF]
LBB0_13:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	w28, [x8]
	mov	x8, x22
	b	LBB0_2
LBB0_14:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	x0, [x21]
	bl	_get_bytes
	mov	x26, x0
Lloh31:
	adrp	x8, _INT_MAX@GOTPAGE
Lloh32:
	ldr	x8, [x8, _INT_MAX@GOTPAGEOFF]
Lloh33:
	ldr	x8, [x8]
	cmp	x0, x8
	b.ls	LBB0_16
; %bb.15:                               ;   in Loop: Header=BB0_2 Depth=1
	ldr	x2, [x21]
	mov	w0, #1
Lloh34:
	adrp	x1, l_.str.1@PAGE
Lloh35:
	add	x1, x1, l_.str.1@PAGEOFF
	bl	_errx
LBB0_16:                                ;   in Loop: Header=BB0_2 Depth=1
	mov	x8, x22
	b	LBB0_2
LBB0_17:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	x0, [x21]
	bl	_get_bytes
	stur	x0, [x29, #-248]                ; 8-byte Folded Spill
	mov	w8, #1
	sub	x9, x29, #4
	stur	w8, [x9, #-256]                 ; 4-byte Folded Spill
	mov	x8, x22
	b	LBB0_2
LBB0_18:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	x8, [x21]
	stur	x8, [x29, #-256]                ; 8-byte Folded Spill
	mov	x8, x22
	b	LBB0_2
LBB0_19:                                ;   in Loop: Header=BB0_2 Depth=1
	cbz	x19, LBB0_21
; %bb.20:                               ;   in Loop: Header=BB0_2 Depth=1
	bl	_usage
LBB0_21:                                ;   in Loop: Header=BB0_2 Depth=1
Lloh36:
	adrp	x8, _KTTCP_IO_RECV@GOTPAGE
Lloh37:
	ldr	x8, [x8, _KTTCP_IO_RECV@GOTPAGEOFF]
LBB0_22:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	x19, [x8]
	mov	x8, x22
	b	LBB0_2
LBB0_23:                                ;   in Loop: Header=BB0_2 Depth=1
	cmn	w0, #1
	b.eq	LBB0_25
LBB0_24:                                ;   in Loop: Header=BB0_2 Depth=1
	bl	_usage
	mov	x8, x22
	b	LBB0_2
LBB0_25:
	stur	w26, [x29, #-100]
	cbnz	x19, LBB0_27
; %bb.26:
	bl	_usage
LBB0_27:
Lloh38:
	adrp	x8, _KTTCP_IO_SEND@GOTPAGE
Lloh39:
	ldr	x8, [x8, _KTTCP_IO_SEND@GOTPAGEOFF]
Lloh40:
	ldr	x8, [x8]
	cmp	x19, x8
	ldp	x24, x27, [x29, #-256]          ; 16-byte Folded Reload
	b.ne	LBB0_32
; %bb.28:
Lloh41:
	adrp	x8, _optind@GOTPAGE
Lloh42:
	ldr	x8, [x8, _optind@GOTPAGEOFF]
Lloh43:
	ldr	x21, [x8]
	cbz	x27, LBB0_30
; %bb.29:
	sub	w8, w25, w21
	cmp	w8, #0
	b.gt	LBB0_31
LBB0_30:
	bl	_usage
LBB0_31:
	mov	w20, #0
	ldr	x25, [x23, x21, lsl #3]
	b	LBB0_33
LBB0_32:
	mov	x25, #0
Lloh44:
	adrp	x8, _KTTCP_MAX_XMIT@GOTPAGE
Lloh45:
	ldr	x8, [x8, _KTTCP_MAX_XMIT@GOTPAGEOFF]
Lloh46:
	ldr	x8, [x8]
	sub	x9, x29, #4
	ldur	w9, [x9, #-256]                 ; 4-byte Folded Reload
	cmp	w9, #0
	csel	x27, x8, x27, eq
Lloh47:
	adrp	x8, _AI_PASSIVE@GOTPAGE
Lloh48:
	ldr	x8, [x8, _AI_PASSIVE@GOTPAGEOFF]
Lloh49:
	ldr	w20, [x8]
LBB0_33:
Lloh50:
	adrp	x21, _KTTCP_DEVICE@GOTPAGE
Lloh51:
	ldr	x21, [x21, _KTTCP_DEVICE@GOTPAGEOFF]
	ldr	w0, [x21]
Lloh52:
	adrp	x8, _O_RDWR@GOTPAGE
Lloh53:
	ldr	x8, [x8, _O_RDWR@GOTPAGEOFF]
Lloh54:
	ldr	w1, [x8]
	mov	w2, #666
	bl	_open
	mov	x23, x0
	cmn	w0, #1
	b.ne	LBB0_35
; %bb.34:
	ldr	w8, [x21]
	str	x8, [sp, #-16]!
Lloh55:
	adrp	x1, l_.str.2@PAGE
Lloh56:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	w0, #2
	bl	_err
	add	sp, sp, #16
LBB0_35:
	sub	x0, x29, #184
	mov	w1, #0
	mov	w2, #40
	bl	_memset
Lloh57:
	adrp	x8, _SOCK_STREAM@GOTPAGE
Lloh58:
	ldr	x8, [x8, _SOCK_STREAM@GOTPAGEOFF]
Lloh59:
	ldr	w8, [x8]
	stur	w8, [x29, #-156]
	stp	w20, w28, [x29, #-184]
	sub	x2, x29, #184
	sub	x3, x29, #192
	mov	x0, x25
	mov	x1, x24
	bl	_getaddrinfo
	cbz	w0, LBB0_37
; %bb.36:
	bl	_gai_strerror
	mov	x2, x0
Lloh60:
	adrp	x1, l_.str.3@PAGE
Lloh61:
	add	x1, x1, l_.str.3@PAGEOFF
	mov	w0, #2
	bl	_errx
LBB0_37:
	ldur	x21, [x29, #-192]
	cbz	x21, LBB0_40
LBB0_38:                                ; =>This Inner Loop Header: Depth=1
	ldr	w0, [x21, #4]
	ldp	w2, w1, [x21, #24]
	bl	_socket
	mov	x25, x0
	tbz	w0, #31, LBB0_42
; %bb.39:                               ;   in Loop: Header=BB0_38 Depth=1
	ldr	x21, [x21, #32]
	cbnz	x21, LBB0_38
	b	LBB0_41
LBB0_40:
	mov	w25, #-1
LBB0_41:
Lloh62:
	adrp	x1, l_.str.4@PAGE
Lloh63:
	add	x1, x1, l_.str.4@PAGEOFF
	mov	w0, #2
	bl	_err
	mov	x21, #0
LBB0_42:
                                        ; kill: def $w26 killed $w26 killed $x26 def $x26
	str	x26, [sp, #-16]!
Lloh64:
	adrp	x0, l_.str.5@PAGE
Lloh65:
	add	x0, x0, l_.str.5@PAGEOFF
	bl	_printf
	add	sp, sp, #16
Lloh66:
	adrp	x8, _KTTCP_IO_SEND@GOTPAGE
Lloh67:
	ldr	x8, [x8, _KTTCP_IO_SEND@GOTPAGEOFF]
Lloh68:
	ldr	x8, [x8]
	cmp	x19, x8
	b.ne	LBB0_50
; %bb.43:
	ldr	x1, [x21, #16]
	ldr	w2, [x21, #8]
	mov	x0, x25
	bl	_connect
	tbz	x0, #63, LBB0_45
; %bb.44:
Lloh69:
	adrp	x1, l_.str.6@PAGE
Lloh70:
	add	x1, x1, l_.str.6@PAGEOFF
	mov	w0, #2
	bl	_err
LBB0_45:
	cbz	w22, LBB0_47
; %bb.46:
	ldr	x0, [x21, #16]
	ldr	w1, [x21, #8]
Lloh71:
	adrp	x8, _NI_NUMERICHOST@GOTPAGE
Lloh72:
	ldr	x8, [x8, _NI_NUMERICHOST@GOTPAGEOFF]
Lloh73:
	ldr	w6, [x8]
	sub	x8, x29, #24
	ldur	x20, [x8, #-256]                ; 8-byte Folded Reload
	mov	x2, x20
	sub	x8, x29, #32
	ldur	x3, [x8, #-256]                 ; 8-byte Folded Reload
                                        ; kill: def $w3 killed $w3 killed $x3
	mov	x4, #0
	mov	w5, #0
	bl	_getnameinfo
	str	x20, [sp, #-16]!
Lloh74:
	adrp	x0, l_.str.7@PAGE
Lloh75:
	add	x0, x0, l_.str.7@PAGEOFF
	bl	_printf
	add	sp, sp, #16
LBB0_47:
Lloh76:
	adrp	x8, _SOL_SOCKET@GOTPAGE
Lloh77:
	ldr	x8, [x8, _SOL_SOCKET@GOTPAGEOFF]
Lloh78:
	ldr	w1, [x8]
Lloh79:
	adrp	x8, _SO_SNDBUF@GOTPAGE
Lloh80:
	ldr	x8, [x8, _SO_SNDBUF@GOTPAGEOFF]
Lloh81:
	ldr	w2, [x8]
	sub	x3, x29, #100
	mov	x0, x25
	mov	w4, #4
	bl	_setsockopt
	tbz	x0, #63, LBB0_49
; %bb.48:
Lloh82:
	adrp	x1, l_.str.8@PAGE
Lloh83:
	add	x1, x1, l_.str.8@PAGEOFF
	mov	w0, #2
	bl	_err
LBB0_49:
	stur	w25, [x29, #-144]
	b	LBB0_65
LBB0_50:
Lloh84:
	adrp	x20, _SOL_SOCKET@GOTPAGE
Lloh85:
	ldr	x20, [x20, _SOL_SOCKET@GOTPAGEOFF]
	ldr	w1, [x20]
Lloh86:
	adrp	x8, _SO_REUSEADDR@GOTPAGE
Lloh87:
	ldr	x8, [x8, _SO_REUSEADDR@GOTPAGEOFF]
Lloh88:
	ldr	w2, [x8]
	sub	x3, x29, #240
	mov	x0, x25
	mov	w4, #4
	bl	_setsockopt
	tbz	x0, #63, LBB0_52
; %bb.51:
Lloh89:
	adrp	x1, l_.str.9@PAGE
Lloh90:
	add	x1, x1, l_.str.9@PAGEOFF
	mov	w0, #2
	bl	_err
LBB0_52:
	ldr	x1, [x21, #16]
	ldr	w2, [x21, #8]
	mov	x0, x25
	bl	_bind
	tbz	x0, #63, LBB0_54
; %bb.53:
Lloh91:
	adrp	x1, l_.str.10@PAGE
Lloh92:
	add	x1, x1, l_.str.10@PAGEOFF
	mov	w0, #2
	bl	_err
LBB0_54:
	mov	x0, x25
	mov	w1, #1
	bl	_listen
	tbz	x0, #63, LBB0_56
; %bb.55:
Lloh93:
	adrp	x1, l_.str.11@PAGE
Lloh94:
	add	x1, x1, l_.str.11@PAGEOFF
	mov	w0, #2
	bl	_err
LBB0_56:
	cbz	w22, LBB0_58
; %bb.57:
	str	x24, [sp, #-16]!
Lloh95:
	adrp	x0, l_.str.12@PAGE
Lloh96:
	add	x0, x0, l_.str.12@PAGEOFF
	bl	_printf
	add	sp, sp, #16
LBB0_58:
	mov	w8, #4
	stur	w8, [x29, #-236]
	sub	x1, x29, #200
	sub	x2, x29, #236
	mov	x0, x25
	bl	_accept
	mov	x24, x0
	tbz	w0, #31, LBB0_60
; %bb.59:
Lloh97:
	adrp	x1, l_.str.13@PAGE
Lloh98:
	add	x1, x1, l_.str.13@PAGEOFF
	mov	w0, #2
	bl	_err
LBB0_60:
	cbz	w22, LBB0_62
; %bb.61:
	ldur	w1, [x29, #-200]
Lloh99:
	adrp	x8, _NI_NUMERICHOST@GOTPAGE
Lloh100:
	ldr	x8, [x8, _NI_NUMERICHOST@GOTPAGEOFF]
Lloh101:
	ldr	w6, [x8]
	sub	x0, x29, #200
	sub	x8, x29, #24
	ldur	x21, [x8, #-256]                ; 8-byte Folded Reload
	mov	x2, x21
	sub	x8, x29, #32
	ldur	x3, [x8, #-256]                 ; 8-byte Folded Reload
                                        ; kill: def $w3 killed $w3 killed $x3
	mov	x4, #0
	mov	w5, #0
	bl	_getnameinfo
	str	x21, [sp, #-16]!
Lloh102:
	adrp	x0, l_.str.14@PAGE
Lloh103:
	add	x0, x0, l_.str.14@PAGEOFF
	bl	_printf
	add	sp, sp, #16
LBB0_62:
	ldr	w1, [x20]
Lloh104:
	adrp	x8, _SO_RCVBUF@GOTPAGE
Lloh105:
	ldr	x8, [x8, _SO_RCVBUF@GOTPAGEOFF]
Lloh106:
	ldr	w2, [x8]
	sub	x3, x29, #100
	mov	x0, x24
	mov	w4, #4
	bl	_setsockopt
	tbz	x0, #63, LBB0_64
; %bb.63:
Lloh107:
	adrp	x1, l_.str.15@PAGE
Lloh108:
	add	x1, x1, l_.str.15@PAGEOFF
	mov	w0, #2
	bl	_err
LBB0_64:
	stur	w24, [x29, #-144]
LBB0_65:
	stur	x27, [x29, #-136]
Lloh109:
	adrp	x20, _RUSAGE_SELF@GOTPAGE
Lloh110:
	ldr	x20, [x20, _RUSAGE_SELF@GOTPAGEOFF]
	ldr	w0, [x20]
	sub	x1, x29, #208
	bl	_getrusage
	sub	x2, x29, #144
	mov	x0, x23
	mov	x1, x19
	bl	_ioctl
	cmn	w0, #1
	b.ne	LBB0_67
; %bb.66:
Lloh111:
	adrp	x1, l_.str.16@PAGE
Lloh112:
	add	x1, x1, l_.str.16@PAGEOFF
	mov	w0, #2
	bl	_err
LBB0_67:
	mov	w21, #16960
	movk	w21, #15, lsl #16
	ldr	w0, [x20]
	sub	x24, x29, #216
	sub	x1, x29, #216
	bl	_getrusage
	ldp	x9, x8, [x29, #-120]
	ldur	x10, [x29, #-128]
	madd	x20, x8, x21, x9
	mul	x11, x10, x21
	udiv	x11, x11, x20
Lloh113:
	adrp	x12, _NBBY@GOTPAGE
Lloh114:
	ldr	x12, [x12, _NBBY@GOTPAGEOFF]
Lloh115:
	ldr	x12, [x12]
	mul	x26, x12, x11
	lsr	x9, x9, #3
	mov	x27, #63439
	movk	x27, #58195, lsl #16
	movk	x27, #39845, lsl #32
	movk	x27, #8388, lsl #48
	umulh	x9, x9, x27
	lsr	x9, x9, #4
	stp	x10, x8, [sp, #-32]!
	stp	x9, x11, [sp, #16]
Lloh116:
	adrp	x0, l_.str.17@PAGE
Lloh117:
	add	x0, x0, l_.str.17@PAGEOFF
	bl	_printf
	add	sp, sp, #32
	cmp	w22, #2
	b.lo	LBB0_69
; %bb.68:
	sub	x0, x29, #216
	sub	x1, x29, #208
	sub	x2, x29, #232
	bl	_timersub
	ldur	x8, [x29, #-128]
	mul	x9, x8, x21
	ldp	x10, x11, [x29, #-232]
	madd	x12, x10, x21, x11
	lsr	x11, x11, #3
	umulh	x11, x11, x27
	lsr	x11, x11, #4
	udiv	x9, x9, x12
	stp	x8, x10, [sp, #-32]!
	stp	x11, x9, [sp, #16]
Lloh118:
	adrp	x0, l_.str.18@PAGE
Lloh119:
	add	x0, x0, l_.str.18@PAGEOFF
	bl	_printf
	add	sp, sp, #32
LBB0_69:
	ucvtf	d0, x26
	mov	x8, #4562146422526312448
	fmov	d1, x8
	fmul	d2, d0, d1
	fmul	d1, d2, d1
	mov	x8, #70368744177664
	movk	x8, #16527, lsl #48
	fmov	d2, x8
	fdiv	d0, d0, d2
	fdiv	d0, d0, d2
	stp	d1, d0, [sp, #-16]!
Lloh120:
	adrp	x0, l_.str.19@PAGE
Lloh121:
	add	x0, x0, l_.str.19@PAGEOFF
	bl	_printf
	add	sp, sp, #16
	orr	x0, x24, #0x4
	sub	x8, x29, #208
	orr	x1, x8, #0x4
	sub	x2, x29, #232
	bl	_timersub
	ldp	x8, x9, [x29, #-232]
	mov	x22, #22859
	movk	x22, #14470, lsl #16
	movk	x22, #50646, lsl #32
	movk	x22, #13421, lsl #48
	umulh	x9, x9, x22
	lsr	x9, x9, #11
	stp	x8, x9, [sp, #-16]!
Lloh122:
	adrp	x0, l_.str.20@PAGE
Lloh123:
	add	x0, x0, l_.str.20@PAGEOFF
	bl	_printf
	add	sp, sp, #16
	ldp	x24, x26, [x29, #-232]
	sub	x0, x29, #216
	sub	x1, x29, #208
	sub	x2, x29, #232
	bl	_timersub
	ldp	x8, x9, [x29, #-232]
	umulh	x9, x9, x22
	lsr	x9, x9, #11
	stp	x8, x9, [sp, #-16]!
Lloh124:
	adrp	x0, l_.str.21@PAGE
Lloh125:
	add	x0, x0, l_.str.21@PAGEOFF
	bl	_printf
	add	sp, sp, #16
	ldp	x8, x9, [x29, #-232]
	add	x8, x8, x24
	add	x9, x9, x26
	madd	x22, x8, x21, x9
	udiv	x8, x20, x21
	msub	w9, w8, w21, w20
	mov	w10, #5977
	movk	w10, #53687, lsl #16
	umull	x9, w9, w10
	lsr	x9, x9, #45
	stp	x8, x9, [sp, #-16]!
Lloh126:
	adrp	x0, l_.str.22@PAGE
Lloh127:
	add	x0, x0, l_.str.22@PAGEOFF
	bl	_printf
	add	sp, sp, #16
	mov	w8, #100
	mul	x8, x22, x8
	udiv	x8, x8, x20
	str	x8, [sp, #-16]!
Lloh128:
	adrp	x0, l_.str.23@PAGE
Lloh129:
	add	x0, x0, l_.str.23@PAGEOFF
	bl	_printf
	add	sp, sp, #16
	mov	w0, #10
	bl	_putchar
	ldur	w0, [x29, #-144]
	bl	_close
Lloh130:
	adrp	x8, _KTTCP_IO_RECV@GOTPAGE
Lloh131:
	ldr	x8, [x8, _KTTCP_IO_RECV@GOTPAGEOFF]
Lloh132:
	ldr	x8, [x8]
	cmp	x19, x8
	b.ne	LBB0_71
; %bb.70:
	mov	x0, x25
	bl	_close
LBB0_71:
	mov	x0, x23
	bl	_close
	ldur	x0, [x29, #-192]
	bl	_freeaddrinfo
	sub	x8, x29, #16
	ldur	x8, [x8, #-256]                 ; 8-byte Folded Reload
	mov	sp, x8
	ldur	x8, [x29, #-96]
Lloh133:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh134:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh135:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_73
; %bb.72:
	mov	w0, #0
	sub	sp, x29, #80
	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
	ldp	x28, x27, [sp], #96             ; 16-byte Folded Reload
	ret
LBB0_73:
	bl	___stack_chk_fail
	.loh AdrpLdrGot	Lloh23, Lloh24
	.loh AdrpAdd	Lloh21, Lloh22
	.loh AdrpAdd	Lloh19, Lloh20
	.loh AdrpLdrGot	Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh25, Lloh26
	.loh AdrpLdrGot	Lloh27, Lloh28
	.loh AdrpLdrGot	Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpAdd	Lloh34, Lloh35
	.loh AdrpLdrGot	Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh38, Lloh39, Lloh40
	.loh AdrpLdrGotLdr	Lloh41, Lloh42, Lloh43
	.loh AdrpLdrGotLdr	Lloh47, Lloh48, Lloh49
	.loh AdrpLdrGotLdr	Lloh44, Lloh45, Lloh46
	.loh AdrpLdrGotLdr	Lloh52, Lloh53, Lloh54
	.loh AdrpLdrGot	Lloh50, Lloh51
	.loh AdrpAdd	Lloh55, Lloh56
	.loh AdrpLdrGotLdr	Lloh57, Lloh58, Lloh59
	.loh AdrpAdd	Lloh60, Lloh61
	.loh AdrpAdd	Lloh62, Lloh63
	.loh AdrpLdrGotLdr	Lloh66, Lloh67, Lloh68
	.loh AdrpAdd	Lloh64, Lloh65
	.loh AdrpAdd	Lloh69, Lloh70
	.loh AdrpAdd	Lloh74, Lloh75
	.loh AdrpLdrGotLdr	Lloh71, Lloh72, Lloh73
	.loh AdrpLdrGotLdr	Lloh79, Lloh80, Lloh81
	.loh AdrpLdrGotLdr	Lloh76, Lloh77, Lloh78
	.loh AdrpAdd	Lloh82, Lloh83
	.loh AdrpLdrGotLdr	Lloh86, Lloh87, Lloh88
	.loh AdrpLdrGot	Lloh84, Lloh85
	.loh AdrpAdd	Lloh89, Lloh90
	.loh AdrpAdd	Lloh91, Lloh92
	.loh AdrpAdd	Lloh93, Lloh94
	.loh AdrpAdd	Lloh95, Lloh96
	.loh AdrpAdd	Lloh97, Lloh98
	.loh AdrpAdd	Lloh102, Lloh103
	.loh AdrpLdrGotLdr	Lloh99, Lloh100, Lloh101
	.loh AdrpLdrGotLdr	Lloh104, Lloh105, Lloh106
	.loh AdrpAdd	Lloh107, Lloh108
	.loh AdrpLdrGot	Lloh109, Lloh110
	.loh AdrpAdd	Lloh111, Lloh112
	.loh AdrpAdd	Lloh116, Lloh117
	.loh AdrpLdrGotLdr	Lloh113, Lloh114, Lloh115
	.loh AdrpAdd	Lloh118, Lloh119
	.loh AdrpLdrGotLdr	Lloh130, Lloh131, Lloh132
	.loh AdrpAdd	Lloh128, Lloh129
	.loh AdrpAdd	Lloh126, Lloh127
	.loh AdrpAdd	Lloh124, Lloh125
	.loh AdrpAdd	Lloh122, Lloh123
	.loh AdrpAdd	Lloh120, Lloh121
	.loh AdrpLdrGotLdr	Lloh133, Lloh134, Lloh135
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_4-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_10-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_14-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_17-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_18-LBB0_1)>>2
	.byte	(LBB0_2-LBB0_1)>>2
	.byte	(LBB0_19-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_7-LBB0_1)>>2
	.byte	(LBB0_24-LBB0_1)>>2
	.byte	(LBB0_1-LBB0_1)>>2
                                        ; -- End function
	.comm	_NI_MAXHOST,4,2                 ; @NI_MAXHOST
	.comm	_KTTCP_PORT,8,3                 ; @KTTCP_PORT
	.comm	_KTTCP_SOCKBUF_DEFAULT,4,2      ; @KTTCP_SOCKBUF_DEFAULT
	.comm	_KTTCP_XMITSIZE,8,3             ; @KTTCP_XMITSIZE
	.comm	_PF_UNSPEC,4,2                  ; @PF_UNSPEC
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"46b:n:p:qrtvw:"

	.comm	_PF_INET,4,2                    ; @PF_INET
	.comm	_PF_INET6,4,2                   ; @PF_INET6
	.comm	_optarg,8,3                     ; @optarg
	.comm	_INT_MAX,8,3                    ; @INT_MAX
l_.str.1:                               ; @.str.1
	.asciz	"invalid socket buffer size: %s\n"

	.comm	_KTTCP_IO_RECV,8,3              ; @KTTCP_IO_RECV
	.comm	_KTTCP_IO_SEND,8,3              ; @KTTCP_IO_SEND
	.comm	_optind,8,3                     ; @optind
	.comm	_KTTCP_MAX_XMIT,8,3             ; @KTTCP_MAX_XMIT
	.comm	_AI_PASSIVE,4,2                 ; @AI_PASSIVE
	.comm	_KTTCP_DEVICE,4,2               ; @KTTCP_DEVICE
	.comm	_O_RDWR,4,2                     ; @O_RDWR
l_.str.2:                               ; @.str.2
	.asciz	"open %s"

	.comm	_SOCK_STREAM,4,2                ; @SOCK_STREAM
l_.str.3:                               ; @.str.3
	.asciz	"%s"

l_.str.4:                               ; @.str.4
	.asciz	"can't create socket"

l_.str.5:                               ; @.str.5
	.asciz	"kttcp: socket buffer size: %d\n"

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

	.comm	_NI_NUMERICHOST,4,2             ; @NI_NUMERICHOST
l_.str.7:                               ; @.str.7
	.asciz	"kttcp: connected to %s\n"

	.comm	_SOL_SOCKET,4,2                 ; @SOL_SOCKET
	.comm	_SO_SNDBUF,4,2                  ; @SO_SNDBUF
l_.str.8:                               ; @.str.8
	.asciz	"setsockopt sndbuf"

	.comm	_SO_REUSEADDR,4,2               ; @SO_REUSEADDR
l_.str.9:                               ; @.str.9
	.asciz	"setsockopt reuseaddr"

l_.str.10:                              ; @.str.10
	.asciz	"bind"

l_.str.11:                              ; @.str.11
	.asciz	"listen"

l_.str.12:                              ; @.str.12
	.asciz	"kttcp: listening on port %s\n"

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

l_.str.14:                              ; @.str.14
	.asciz	"kttcp: connect from %s\n"

	.comm	_SO_RCVBUF,4,2                  ; @SO_RCVBUF
l_.str.15:                              ; @.str.15
	.asciz	"setsockopt rcvbuf"

	.comm	_RUSAGE_SELF,4,2                ; @RUSAGE_SELF
l_.str.16:                              ; @.str.16
	.asciz	"kttcp i/o command"

	.comm	_NBBY,8,3                       ; @NBBY
l_.str.17:                              ; @.str.17
	.asciz	"kttcp: %llu bytes in %ld.%03ld real seconds ==> %llu bytes/sec\n"

l_.str.18:                              ; @.str.18
	.asciz	"kttcp: %llu bytes in %ld.%03ld CPU seconds ==> %llu bytes/CPU sec\n"

l_.str.19:                              ; @.str.19
	.asciz	"       %g (%g) Megabits/sec\n"

l_.str.20:                              ; @.str.20
	.asciz	"  %ld.%02lduser"

l_.str.21:                              ; @.str.21
	.asciz	" %ld.%02ldsys"

l_.str.22:                              ; @.str.22
	.asciz	" %lld.%lldreal"

l_.str.23:                              ; @.str.23
	.asciz	" %lld%%"

.subsections_via_symbols
