	.file	"extr_udpong.c_main.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC0:
	.string	"size must be at least %d bytes\n"
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC1:
	.string	"usage: %s\n"
.LC2:
	.string	"\t[-s server_address]"
.LC3:
	.string	"\t[-b bind_address]"
.LC4:
	.string	"\t[-B buffer_size]"
.LC5:
	.string	"\t[-C transfer_count]"
.LC6:
	.string	"\t[-S transfer_size]"
.LC7:
	.string	"\t[-p port_number]"
.LC8:
	.string	"\t[-T test_option]"
	.section	.rodata.str1.8
	.align 8
.LC9:
	.string	"\t    s|sockets - use standard tcp/ip sockets"
	.align 8
.LC10:
	.string	"\t    a|async - asynchronous operation (use poll)"
	.align 8
.LC11:
	.string	"\t    b|blocking - use blocking calls"
	.align 8
.LC12:
	.string	"\t    n|nonblocking - use nonblocking calls"
	.align 8
.LC13:
	.string	"\t    e|echo - server echoes all messages"
	.section	.rodata.str1.1
.LC14:
	.string	"s:b:B:C:S:p:T:"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.globl	main
	.type	main, @function
main:
.LFB0:
	.cfi_startproc
	endbr64
	push	r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	mov	r12d, edi
	push	rbp
	.cfi_def_cfa_offset 24
	.cfi_offset 6, -24
	mov	rbp, rsi
	push	rbx
	.cfi_def_cfa_offset 32
	.cfi_offset 3, -32
	lea	rbx, .L5[rip]
	.p2align 4,,10
	.p2align 3
.L2:
	lea	rdx, .LC14[rip]
	mov	rsi, rbp
	mov	edi, r12d
	call	getopt@PLT
	cmp	eax, -1
	je	.L23
	sub	eax, 66
	cmp	eax, 49
	ja	.L3
	movsx	rax, DWORD PTR [rbx+rax*4]
	add	rax, rbx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L5:
	.long	.L11-.L5
	.long	.L10-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L9-.L5
	.long	.L8-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L7-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L6-.L5
	.long	.L3-.L5
	.long	.L3-.L5
	.long	.L4-.L5
	.section	.text.startup
.L8:
	mov	rdi, QWORD PTR optarg[rip]
	call	set_test_opt@PLT
	test	eax, eax
	je	.L2
.L3:
	mov	rsi, QWORD PTR 0[rbp]
	lea	rdi, .LC1[rip]
	xor	eax, eax
	call	printf@PLT
	lea	rdi, .LC2[rip]
	call	puts@PLT
	lea	rdi, .LC3[rip]
	call	puts@PLT
	lea	rdi, .LC4[rip]
	call	puts@PLT
	lea	rdi, .LC5[rip]
	call	puts@PLT
	lea	rdi, .LC6[rip]
	call	puts@PLT
	lea	rdi, .LC7[rip]
	call	puts@PLT
	lea	rdi, .LC8[rip]
	call	puts@PLT
	lea	rdi, .LC9[rip]
	call	puts@PLT
	lea	rdi, .LC10[rip]
	call	puts@PLT
	lea	rdi, .LC11[rip]
	call	puts@PLT
	lea	rdi, .LC12[rip]
	call	puts@PLT
	lea	rdi, .LC13[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
	jmp	.L2
.L4:
	mov	rax, QWORD PTR optarg[rip]
	mov	QWORD PTR dst_addr[rip], rax
	jmp	.L2
.L6:
	mov	rax, QWORD PTR optarg[rip]
	mov	QWORD PTR port[rip], rax
	jmp	.L2
.L7:
	mov	rax, QWORD PTR optarg[rip]
	mov	QWORD PTR src_addr[rip], rax
	jmp	.L2
.L9:
	mov	rdi, QWORD PTR optarg[rip]
	mov	DWORD PTR custom[rip], 1
	call	atoi@PLT
	mov	esi, DWORD PTR CTRL_MSG_SIZE[rip]
	mov	DWORD PTR transfer_size[rip], eax
	cmp	eax, esi
	jge	.L2
	lea	rdi, .LC0[rip]
	xor	eax, eax
	call	printf@PLT
	mov	edi, 1
	call	exit@PLT
	jmp	.L2
.L10:
	mov	rdi, QWORD PTR optarg[rip]
	mov	DWORD PTR custom[rip], 1
	call	atoi@PLT
	mov	QWORD PTR transfer_count[rip], rax
	jmp	.L2
.L11:
	mov	rdi, QWORD PTR optarg[rip]
	call	atoi@PLT
	mov	QWORD PTR buffer_size[rip], rax
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L23:
	cmp	QWORD PTR flags[rip], 0
	je	.L16
	mov	DWORD PTR poll_timeout[rip], -1
.L16:
	xor	eax, eax
	cmp	QWORD PTR dst_addr[rip], 0
	je	.L17
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	pop	rbp
	.cfi_def_cfa_offset 16
	pop	r12
	.cfi_def_cfa_offset 8
	jmp	client_run@PLT
.L17:
	.cfi_restore_state
	pop	rbx
	.cfi_def_cfa_offset 24
	pop	rbp
	.cfi_def_cfa_offset 16
	pop	r12
	.cfi_def_cfa_offset 8
	jmp	svr_run@PLT
	.cfi_endproc
.LFE0:
	.size	main, .-main
	.comm	transfer_size,4,4
	.comm	transfer_count,8,8
	.comm	src_addr,8,8
	.comm	port,8,8
	.comm	poll_timeout,4,4
	.comm	optarg,8,8
	.comm	flags,8,8
	.comm	dst_addr,8,8
	.comm	custom,4,4
	.comm	buffer_size,8,8
	.comm	SWITCH_FALLTHROUGH,4,4
	.comm	CTRL_MSG_SIZE,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_udpong.c_main.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"size must be at least %d bytes\012\000"
	.align	2
.LC1:
	.ascii	"usage: %s\012\000"
	.align	2
.LC2:
	.ascii	"\011[-s server_address]\000"
	.align	2
.LC3:
	.ascii	"\011[-b bind_address]\000"
	.align	2
.LC4:
	.ascii	"\011[-B buffer_size]\000"
	.align	2
.LC5:
	.ascii	"\011[-C transfer_count]\000"
	.align	2
.LC6:
	.ascii	"\011[-S transfer_size]\000"
	.align	2
.LC7:
	.ascii	"\011[-p port_number]\000"
	.align	2
.LC8:
	.ascii	"\011[-T test_option]\000"
	.align	2
.LC9:
	.ascii	"\011    s|sockets - use standard tcp/ip sockets\000"
	.align	2
.LC10:
	.ascii	"\011    a|async - asynchronous operation (use poll)"
	.ascii	"\000"
	.align	2
.LC11:
	.ascii	"\011    b|blocking - use blocking calls\000"
	.align	2
.LC12:
	.ascii	"\011    n|nonblocking - use nonblocking calls\000"
	.align	2
.LC13:
	.ascii	"\011    e|echo - server echoes all messages\000"
	.align	2
.LC14:
	.ascii	"s:b:B:C:S:p:T:\000"
	.section	.text.startup,"ax",%progbits
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mov	r5, r0
	mov	r4, r1
	ldr	r6, .L27
	ldr	fp, .L27+4
	ldr	r10, .L27+8
	ldr	r9, .L27+12
	ldr	r8, .L27+16
	ldr	r7, .L27+20
.L2:
	mov	r2, r6
	mov	r1, r4
	mov	r0, r5
	bl	getopt
	cmn	r0, #1
	beq	.L26
	sub	r0, r0, #66
	cmp	r0, #49
	ldrls	pc, [pc, r0, asl #2]
	b	.L3
.L5:
	.word	.L11
	.word	.L10
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L9
	.word	.L8
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L7
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L3
	.word	.L6
	.word	.L3
	.word	.L3
	.word	.L4
.L8:
	ldr	r3, .L27+24
	ldr	r0, [r3]
	bl	set_test_opt
	cmp	r0, #0
	beq	.L2
.L3:
	ldr	r1, [r4]
	mov	r0, fp
	bl	printf
	mov	r0, r10
	bl	puts
	mov	r0, r9
	bl	puts
	mov	r0, r8
	bl	puts
	mov	r0, r7
	bl	puts
	ldr	r0, .L27+28
	bl	puts
	ldr	r0, .L27+32
	bl	puts
	ldr	r0, .L27+36
	bl	puts
	ldr	r0, .L27+40
	bl	puts
	ldr	r0, .L27+44
	bl	puts
	ldr	r0, .L27+48
	bl	puts
	ldr	r0, .L27+52
	bl	puts
	ldr	r0, .L27+56
	bl	puts
	mov	r0, #1
	bl	exit
	b	.L2
.L4:
	ldr	r3, .L27+24
	ldr	r2, .L27+60
	ldr	r3, [r3]
	str	r3, [r2]
	b	.L2
.L6:
	ldr	r2, .L27+24
	ldr	r3, .L27+64
	ldr	r2, [r2]
	str	r2, [r3]
	b	.L2
.L7:
	ldr	r2, .L27+24
	ldr	r3, .L27+68
	ldr	r2, [r2]
	str	r2, [r3]
	b	.L2
.L9:
	ldr	r2, .L27+24
	ldr	r3, .L27+72
	ldr	r0, [r2]
	mov	r2, #1
	str	r2, [r3]
	bl	atoi
	ldr	r2, .L27+76
	ldr	r3, .L27+80
	ldr	r1, [r2]
	str	r0, [r3]
	cmp	r0, r1
	bge	.L2
	ldr	r0, .L27+84
	bl	printf
	mov	r0, #1
	bl	exit
	b	.L2
.L10:
	mov	r2, #1
	ldr	r1, .L27+24
	ldr	r3, .L27+72
	ldr	r0, [r1]
	str	r2, [r3]
	bl	atoi
	ldr	r3, .L27+88
	str	r0, [r3]
	b	.L2
.L11:
	ldr	r3, .L27+24
	ldr	r0, [r3]
	bl	atoi
	ldr	r3, .L27+92
	str	r0, [r3]
	b	.L2
.L26:
	ldr	r3, .L27+96
	ldr	r3, [r3]
	cmp	r3, #0
	ldrne	r3, .L27+100
	strne	r0, [r3]
	ldr	r3, .L27+60
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L17
	pop	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
	b	client_run
.L17:
	pop	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
	b	svr_run
.L28:
	.align	2
.L27:
	.word	.LC14
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	optarg
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	dst_addr
	.word	port
	.word	src_addr
	.word	custom
	.word	CTRL_MSG_SIZE
	.word	transfer_size
	.word	.LC0
	.word	transfer_count
	.word	buffer_size
	.word	flags
	.word	poll_timeout
	.size	main, .-main
	.comm	transfer_size,4,4
	.comm	transfer_count,4,4
	.comm	src_addr,4,4
	.comm	port,4,4
	.comm	poll_timeout,4,4
	.comm	optarg,4,4
	.comm	flags,4,4
	.comm	dst_addr,4,4
	.comm	custom,4,4
	.comm	buffer_size,4,4
	.comm	SWITCH_FALLTHROUGH,4,4
	.comm	CTRL_MSG_SIZE,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
