	.file	"481313.c"
	.intel_syntax noprefix
	.text
	.globl	sock
	.bss
	.align 4
	.type	sock, @object
	.size	sock, 4
sock:
	.zero	4
	.globl	message
	.align 8
	.type	message, @object
	.size	message, 8
message:
	.zero	8
	.globl	time_string
	.align 8
	.type	time_string, @object
	.size	time_string, 8
time_string:
	.zero	8
	.section	.rodata
.LC0:
	.string	"239.255.255.250"
.LC1:
	.string	"-i"
.LC2:
	.string	"mcast_interface=%s\n"
.LC3:
	.string	"findInterface"
	.align 8
.LC4:
	.string	"mcast_interface=INADDR_ANY (default)"
.LC5:
	.string	"socket"
.LC6:
	.string	"1.0"
	.align 8
.LC7:
	.string	"\ndummy_device.c - ABUSED UPnP Dummy device version %s\nCopyright(C) 2014 by Andreas Bank, <andreas.mikael.bank@gmail.com>\n\n"
.LC8:
	.string	"Usage:\n\t%s [-i]\n\n"
.LC9:
	.string	"\t-i: interface to use"
	.align 8
.LC10:
	.string	"Starting a UPnP dummy device...\n"
.LC11:
	.string	"setcoskopt() TTL:"
.LC12:
	.string	"setcoskopt() IF:"
	.align 8
.LC13:
	.string	"String that will be spammed with:\n\n%s\n"
.LC14:
	.string	"%Y-%m-%d %H:%M:%S"
	.align 8
.LC15:
	.string	"\rsending(\033[31;1m%d\033[m) \033[1;37;40m[%s]\033[m     "
.LC16:
	.string	"sendto"
	.text
	.globl	main
	.type	main, @function
main:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	DWORD PTR -84[rbp], edi
	mov	QWORD PTR -96[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -64[rbp], 0
	mov	edi, 1900
	call	htons@PLT
	mov	WORD PTR -74[rbp], ax
	mov	BYTE PTR -75[rbp], 1
	lea	rax, -72[rbp]
	mov	rdx, rax
	lea	rsi, .LC0[rip]
	mov	edi, 2
	call	inet_pton@PLT
	mov	edi, 0
	call	htonl@PLT
	mov	DWORD PTR -68[rbp], eax
	mov	edi, 1024
	call	malloc@PLT
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, 1024
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movabs	rsi, 3035524307260559182
	movabs	rdi, 3328493621662205984
	mov	QWORD PTR [rax], rsi
	mov	QWORD PTR 8[rax], rdi
	mov	DWORD PTR 16[rax], 658737
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movabs	rsi, 4121693310617349960
	movabs	rdi, 3834025831818408494
	mov	QWORD PTR [rax], rsi
	mov	QWORD PTR 8[rax], rdi
	movabs	rcx, 3474862713479705134
	mov	QWORD PTR 16[rax], rcx
	mov	DWORD PTR 24[rax], 658736
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movabs	rsi, 7870724736655447118
	movabs	rdi, 8387513897605817193
	mov	QWORD PTR [rax], rsi
	mov	QWORD PTR 8[rax], rdi
	movabs	rsi, 8243121387752874798
	movabs	rdi, 5575271871540324726
	mov	QWORD PTR 16[rax], rsi
	mov	QWORD PTR 24[rax], rdi
	movabs	rsi, 5936141663768239955
	movabs	rdi, 5940922417703904101
	mov	QWORD PTR 32[rax], rsi
	mov	QWORD PTR 40[rax], rdi
	movabs	rcx, 8241994637542778725
	mov	QWORD PTR 48[rax], rcx
	mov	DWORD PTR 56[rax], 168636730
	mov	BYTE PTR 60[rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movabs	rsi, 8098724968655967310
	movabs	rdi, 724346674325774650
	mov	QWORD PTR [rax], rsi
	mov	QWORD PTR 8[rax], rdi
	mov	BYTE PTR 16[rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movabs	rsi, 7957695015157985100
	movabs	rdi, 3400000498352547898
	mov	QWORD PTR [rax], rsi
	mov	QWORD PTR 8[rax], rdi
	movabs	rsi, 3615880525760049201
	movabs	rdi, 8101536428291274810
	mov	QWORD PTR 16[rax], rsi
	mov	QWORD PTR 24[rax], rdi
	movabs	rsi, 7522266124293205864
	movabs	rdi, 7810418684159161193
	mov	QWORD PTR 32[rax], rsi
	mov	QWORD PTR 40[rax], rdi
	movabs	rsi, 7954892334483849068
	movabs	rdi, 7222195356546973044
	mov	QWORD PTR 48[rax], rsi
	mov	QWORD PTR 56[rax], rdi
	movabs	rsi, 3257571720356180281
	movabs	rdi, 3761407483360459057
	mov	QWORD PTR 64[rax], rsi
	mov	QWORD PTR 72[rax], rdi
	movabs	rdx, 3903837343385267508
	movabs	rcx, 3761407508375154737
	mov	QWORD PTR 80[rax], rdx
	mov	QWORD PTR 88[rax], rcx
	mov	DWORD PTR 96[rax], 221720880
	mov	WORD PTR 100[rax], 10
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movabs	rsi, 7235443422697247573
	movabs	rdi, 4051100221990069306
	mov	QWORD PTR [rax], rsi
	mov	QWORD PTR 8[rax], rdi
	movabs	rdx, 3759772530306526517
	movabs	rcx, 3990577819120055347
	mov	QWORD PTR 16[rax], rdx
	mov	QWORD PTR 24[rax], rcx
	movabs	rsi, 3761411893402613293
	movabs	rdi, 8447128059809641523
	mov	QWORD PTR 32[rax], rsi
	mov	QWORD PTR 40[rax], rdi
	movabs	rdx, 8030590390010277490
	movabs	rcx, 7885630523721543539
	mov	QWORD PTR 48[rax], rdx
	mov	QWORD PTR 56[rax], rcx
	movabs	rsi, 7305798977971385146
	movabs	rdi, 7299595382422460474
	mov	QWORD PTR 64[rax], rsi
	mov	QWORD PTR 72[rax], rdi
	movabs	rdx, 7594585633455171940
	movabs	rcx, 8316291871788918134
	mov	QWORD PTR 80[rax], rdx
	mov	QWORD PTR 88[rax], rcx
	movabs	rcx, 724289242173370996
	mov	QWORD PTR 96[rax], rcx
	mov	BYTE PTR 104[rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movabs	rsi, 8017301675215905091
	movabs	rdi, 7020331631541122158
	mov	QWORD PTR [rax], rsi
	mov	QWORD PTR 8[rax], rdi
	movabs	rcx, 3474876093228461432
	mov	QWORD PTR 16[rax], rcx
	mov	DWORD PTR 24[rax], 658736
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movabs	rdx, 5564886069674141011
	movabs	rcx, 8387513897605817193
	mov	QWORD PTR [rax], rdx
	mov	QWORD PTR 8[rax], rcx
	movabs	rsi, 8320241313730090797
	movabs	rdi, 2319686089034714669
	mov	QWORD PTR 16[rax], rsi
	mov	QWORD PTR 24[rax], rdi
	movabs	rdx, 3471766442031861845
	movabs	rcx, 7297007119718438176
	mov	QWORD PTR 32[rax], rdx
	mov	QWORD PTR 40[rax], rcx
	movabs	rsi, 8317946396588337526
	movabs	rdi, 2829250351673204
	mov	QWORD PTR 48[rax], rsi
	mov	QWORD PTR 56[rax], rdi
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movabs	rdx, 8391446501914857551
	movabs	rcx, 7307199741772642928
	mov	QWORD PTR [rax], rdx
	mov	QWORD PTR 8[rax], rcx
	movabs	rsi, 8101536428278899053
	movabs	rdi, 7957989388023131950
	mov	QWORD PTR 16[rax], rsi
	mov	QWORD PTR 24[rax], rdi
	movabs	rdx, 4261020081442598768
	movabs	rcx, 724289198335684128
	mov	QWORD PTR 32[rax], rdx
	mov	QWORD PTR 40[rax], rcx
	mov	BYTE PTR 48[rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movabs	rsi, 7150118945598288176
	movabs	rdi, 3834927457089381430
	mov	QWORD PTR [rax], rsi
	mov	QWORD PTR 8[rax], rdi
	movabs	rdx, 7306027384093881140
	movabs	rcx, 3918476241261901106
	mov	QWORD PTR 16[rax], rdx
	mov	QWORD PTR 24[rax], rcx
	movabs	rcx, 952340035265771874
	mov	QWORD PTR 32[rax], rcx
	mov	DWORD PTR 40[rax], 658698
	mov	rdx, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR -84[rbp]
	mov	esi, eax
	lea	rdi, .LC1[rip]
	call	findArgumentValue
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L2
	mov	rcx, QWORD PTR -40[rbp]
	lea	rax, -68[rbp]
	mov	edx, 2
	mov	rsi, rcx
	mov	rdi, rax
	call	findInterface
	test	eax, eax
	je	.L3
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L4
.L3:
	call	__errno_location@PLT
	mov	DWORD PTR [rax], 22
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	cleanup
	jmp	.L4
.L2:
	lea	rdi, .LC4[rip]
	call	puts@PLT
.L4:
	mov	BYTE PTR -75[rbp], 1
	mov	edx, 0
	mov	esi, 2
	mov	edi, 2
	call	socket@PLT
	mov	DWORD PTR sock[rip], eax
	mov	eax, DWORD PTR sock[rip]
	test	eax, eax
	jns	.L5
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	cleanup
.L5:
	lea	rax, -32[rbp]
	mov	edx, 16
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	WORD PTR -32[rbp], 2
	mov	eax, DWORD PTR -72[rbp]
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -74[rbp]
	mov	WORD PTR -30[rbp], ax
	lea	rsi, exitSig[rip]
	mov	edi, 15
	call	signal@PLT
	lea	rsi, exitSig[rip]
	mov	edi, 6
	call	signal@PLT
	lea	rsi, exitSig[rip]
	mov	edi, 2
	call	signal@PLT
	lea	rsi, .LC6[rip]
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC9[rip]
	call	puts@PLT
	lea	rdi, .LC10[rip]
	call	puts@PLT
	mov	eax, DWORD PTR sock[rip]
	lea	rdx, -75[rbp]
	mov	r8d, 1
	mov	rcx, rdx
	mov	edx, 33
	mov	esi, 0
	mov	edi, eax
	call	setsockopt@PLT
	test	eax, eax
	je	.L6
	lea	rdi, .LC11[rip]
	call	perror@PLT
.L6:
	mov	eax, DWORD PTR sock[rip]
	lea	rdx, -68[rbp]
	mov	r8d, 4
	mov	rcx, rdx
	mov	edx, 32
	mov	esi, 0
	mov	edi, eax
	call	setsockopt@PLT
	test	eax, eax
	je	.L7
	lea	rdi, .LC12[rip]
	call	perror@PLT
.L7:
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 20
	call	malloc@PLT
	mov	QWORD PTR time_string[rip], rax
.L9:
	mov	edi, 0
	call	time@PLT
	mov	QWORD PTR -56[rbp], rax
	lea	rax, -56[rbp]
	mov	rdi, rax
	call	localtime@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR time_string[rip]
	mov	rcx, rdx
	lea	rdx, .LC14[rip]
	mov	esi, 20
	mov	rdi, rax
	call	strftime@PLT
	mov	rdx, QWORD PTR time_string[rip]
	add	DWORD PTR -64[rbp], 1
	mov	eax, DWORD PTR -64[rbp]
	mov	esi, eax
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	eax, DWORD PTR sock[rip]
	lea	rcx, -32[rbp]
	mov	rsi, QWORD PTR -48[rbp]
	mov	r9d, 16
	mov	r8, rcx
	mov	ecx, 0
	mov	edi, eax
	call	sendto@PLT
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 0
	jns	.L8
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	cleanup
.L8:
	mov	edi, 1
	call	sleep@PLT
	jmp	.L9
	.cfi_endproc
.LFE6:
	.size	main, .-main
	.globl	cleanup
	.type	cleanup, @function
cleanup:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, DWORD PTR sock[rip]
	test	eax, eax
	je	.L12
	mov	eax, DWORD PTR sock[rip]
	mov	edi, eax
	call	close@PLT
	mov	DWORD PTR sock[rip], 0
.L12:
	mov	rax, QWORD PTR message[rip]
	test	rax, rax
	je	.L13
	mov	rax, QWORD PTR message[rip]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR message[rip], 0
.L13:
	mov	rax, QWORD PTR time_string[rip]
	test	rax, rax
	je	.L14
	mov	rax, QWORD PTR time_string[rip]
	mov	rdi, rax
	call	free@PLT
	mov	QWORD PTR time_string[rip], 0
.L14:
	cmp	QWORD PTR -8[rbp], 0
	je	.L16
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	perror@PLT
	mov	edi, 1
	call	exit@PLT
.L16:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	cleanup, .-cleanup
	.section	.rodata
	.align 8
.LC17:
	.string	"\nCaught exit signal, exitting the dummy device...\n"
	.text
	.globl	exitSig
	.type	exitSig, @function
exitSig:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	edi, 0
	call	cleanup
	lea	rdi, .LC17[rip]
	call	puts@PLT
	mov	edi, 0
	call	exit@PLT
	.cfi_endproc
.LFE8:
	.size	exitSig, .-exitSig
	.section	.rodata
.LC18:
	.string	"No interface given after '-i'"
	.text
	.globl	findArgumentValue
	.type	findArgumentValue, @function
findArgumentValue:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	edi, 50
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 1
	jmp	.L19
.L24:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L20
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 105
	jne	.L20
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, 1
	cmp	DWORD PTR -12[rbp], eax
	je	.L21
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, 1
	cmp	DWORD PTR -12[rbp], eax
	jge	.L22
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L22
.L21:
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC18[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	call	__errno_location@PLT
	mov	DWORD PTR [rax], 22
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	cleanup
.L22:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	jmp	.L23
.L20:
	add	DWORD PTR -12[rbp], 1
.L19:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L24
	mov	eax, 0
.L23:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	findArgumentValue, .-findArgumentValue
	.section	.rodata
.LC19:
	.string	"getifaddr"
	.align 8
.LC20:
	.string	"Matched ifa_name: %s (paddr: %s)\n"
	.align 8
.LC21:
	.string	"Matched paddr: %s (ifa_name: %s)\n"
	.text
	.globl	findInterface
	.type	findInterface, @function
findInterface:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	DWORD PTR -68[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -36[rbp], 0
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	getifaddrs@PLT
	test	eax, eax
	jns	.L26
	lea	rdi, .LC19[rip]
	call	cleanup
.L26:
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L27
.L33:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	eax, DWORD PTR 4[rax]
	mov	edi, eax
	call	inet_ntoa@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L28
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L29
.L28:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	movzx	eax, WORD PTR [rax]
	cmp	ax, 2
	jne	.L29
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L30
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC20[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L31
.L30:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L31
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	printf@PLT
.L31:
	mov	DWORD PTR -36[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L32
.L29:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
.L27:
	cmp	QWORD PTR -24[rbp], 0
	je	.L32
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L33
.L32:
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	je	.L34
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	freeifaddrs@PLT
.L34:
	mov	eax, DWORD PTR -36[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L36
	call	__stack_chk_fail@PLT
.L36:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	findInterface, .-findInterface
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.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, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"481313.c"
	.text
	.comm	sock,4,4
	.comm	message,4,4
	.comm	time_string,4,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"239.255.255.250\000"
	.align	2
.LC1:
	.ascii	"NOTIFY * HTTP/1.1\015\012\000"
	.align	2
.LC2:
	.ascii	"Host:239.255.255.250:1900\015\012\000"
	.align	2
.LC3:
	.ascii	"NT:urn:microsoft.com:service:X_MS_MediaReceiverRegi"
	.ascii	"strar:1\015\012\000"
	.align	2
.LC4:
	.ascii	"NTS:ssdp:alive\015\012\000"
	.align	2
.LC5:
	.ascii	"Location:http://10.0.0.2:80/upnphost/udhisapi.dll?c"
	.ascii	"ontent=uuid:d910f885-192e-4344-baa7-610083434017\015"
	.ascii	"\012\000"
	.align	2
.LC6:
	.ascii	"USN:uuid:d910f885-192e-4344-baa7-610083434017::urn:"
	.ascii	"microsoft.com:service:X_MS_MediaReceiverRegistrar:1"
	.ascii	"\015\012\000"
	.align	2
.LC7:
	.ascii	"Cache-Control:max-age=900\015\012\000"
	.align	2
.LC8:
	.ascii	"Server:Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Devic"
	.ascii	"e-Host/1.0\015\012\000"
	.align	2
.LC9:
	.ascii	"OPT:\"http://schemas.upnp.org/upnp/1/0/\"; ns=01\015"
	.ascii	"\012\000"
	.align	2
.LC10:
	.ascii	"01-NLS:c6d434f85431d29de259ea9a6b9fc7d7\015\012\015"
	.ascii	"\012\000"
	.align	2
.LC11:
	.ascii	"-i\000"
	.align	2
.LC12:
	.ascii	"mcast_interface=%s\012\000"
	.align	2
.LC13:
	.ascii	"findInterface\000"
	.align	2
.LC14:
	.ascii	"mcast_interface=INADDR_ANY (default)\000"
	.align	2
.LC15:
	.ascii	"socket\000"
	.align	2
.LC16:
	.ascii	"1.0\000"
	.align	2
.LC17:
	.ascii	"\012dummy_device.c - ABUSED UPnP Dummy device versi"
	.ascii	"on %s\012Copyright(C) 2014 by Andreas Bank, <andrea"
	.ascii	"s.mikael.bank@gmail.com>\012\012\000"
	.align	2
.LC18:
	.ascii	"Usage:\012\011%s [-i]\012\012\000"
	.align	2
.LC19:
	.ascii	"\011-i: interface to use\000"
	.align	2
.LC20:
	.ascii	"Starting a UPnP dummy device...\012\000"
	.align	2
.LC21:
	.ascii	"setcoskopt() TTL:\000"
	.align	2
.LC22:
	.ascii	"setcoskopt() IF:\000"
	.align	2
.LC23:
	.ascii	"String that will be spammed with:\012\012%s\012\000"
	.align	2
.LC24:
	.ascii	"%Y-%m-%d %H:%M:%S\000"
	.align	2
.LC25:
	.ascii	"\015sending(\033[31;1m%d\033[m) \033[1;37;40m[%s]\033"
	.ascii	"[m     \000"
	.align	2
.LC26:
	.ascii	"sendto\000"
	.align	2
.LC27:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #76
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	ldr	r3, .L11
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r0, .L11+4
	bl	htons
	mov	r3, r0
	strh	r3, [fp, #-62]	@ movhi
	mov	r3, #1
	strb	r3, [fp, #-63]
	sub	r3, fp, #60
	mov	r2, r3
	ldr	r1, .L11+8
	mov	r0, #2
	bl	inet_pton
	mov	r0, #0
	bl	htonl
	mov	r3, r0
	str	r3, [fp, #-56]
	mov	r0, #1024
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-44]
	mov	r2, #1024
	mov	r1, #0
	ldr	r0, [fp, #-44]
	bl	memset
	ldr	r0, [fp, #-44]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, r2
	ldr	r2, .L11+12
	mov	r0, r3
	mov	r1, r2
	mov	r3, #20
	mov	r2, r3
	bl	memcpy
	ldr	r0, [fp, #-44]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, r2
	ldr	r2, .L11+16
	mov	r0, r3
	mov	r1, r2
	mov	r3, #28
	mov	r2, r3
	bl	memcpy
	ldr	r0, [fp, #-44]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, r2
	ldr	r2, .L11+20
	mov	r0, r3
	mov	r1, r2
	mov	r3, #61
	mov	r2, r3
	bl	memcpy
	ldr	r0, [fp, #-44]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, r2
	ldr	r2, .L11+24
	mov	r0, r3
	mov	r1, r2
	mov	r3, #17
	mov	r2, r3
	bl	memcpy
	ldr	r0, [fp, #-44]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, r2
	ldr	r2, .L11+28
	mov	r0, r3
	mov	r1, r2
	mov	r3, #102
	mov	r2, r3
	bl	memcpy
	ldr	r0, [fp, #-44]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, r2
	ldr	r2, .L11+32
	mov	r0, r3
	mov	r1, r2
	mov	r3, #105
	mov	r2, r3
	bl	memcpy
	ldr	r0, [fp, #-44]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, r2
	ldr	r2, .L11+36
	mov	r0, r3
	mov	r1, r2
	mov	r3, #28
	mov	r2, r3
	bl	memcpy
	ldr	r0, [fp, #-44]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, r2
	ldr	r2, .L11+40
	mov	r0, r3
	mov	r1, r2
	mov	r3, #64
	mov	r2, r3
	bl	memcpy
	ldr	r0, [fp, #-44]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, r2
	ldr	r2, .L11+44
	mov	r0, r3
	mov	r1, r2
	mov	r3, #49
	mov	r2, r3
	bl	memcpy
	ldr	r0, [fp, #-44]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, r2
	ldr	r2, .L11+48
	mov	r0, r3
	mov	r1, r2
	mov	r3, #44
	mov	r2, r3
	bl	memcpy
	ldr	r2, [fp, #-76]
	ldr	r1, [fp, #-72]
	ldr	r0, .L11+52
	bl	findArgumentValue
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L2
	sub	r3, fp, #56
	mov	r2, #2
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	findInterface
	mov	r3, r0
	cmp	r3, #0
	beq	.L3
	ldr	r1, [fp, #-40]
	ldr	r0, .L11+56
	bl	printf
	b	.L4
.L3:
	bl	__errno_location
	mov	r3, r0
	mov	r2, #22
	str	r2, [r3]
	ldr	r0, .L11+60
	bl	cleanup
	b	.L4
.L2:
	ldr	r0, .L11+64
	bl	puts
.L4:
	mov	r3, #1
	strb	r3, [fp, #-63]
	mov	r2, #0
	mov	r1, #2
	mov	r0, #2
	bl	socket
	mov	r3, r0
	ldr	r2, .L11+68
	str	r3, [r2]
	ldr	r3, .L11+68
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L5
	ldr	r0, .L11+72
	bl	cleanup
.L5:
	sub	r3, fp, #32
	mov	r2, #16
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #2
	strh	r3, [fp, #-32]	@ movhi
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-28]
	ldrh	r3, [fp, #-62]	@ movhi
	strh	r3, [fp, #-30]	@ movhi
	ldr	r1, .L11+76
	mov	r0, #15
	bl	signal
	ldr	r1, .L11+76
	mov	r0, #6
	bl	signal
	ldr	r1, .L11+76
	mov	r0, #2
	bl	signal
	ldr	r1, .L11+80
	ldr	r0, .L11+84
	bl	printf
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L11+88
	bl	printf
	ldr	r0, .L11+92
	bl	puts
	ldr	r0, .L11+96
	bl	puts
	ldr	r3, .L11+68
	ldr	r0, [r3]
	sub	r3, fp, #63
	mov	r2, #1
	str	r2, [sp]
	mov	r2, #33
	mov	r1, #0
	bl	setsockopt
	mov	r3, r0
	cmp	r3, #0
	beq	.L6
	ldr	r0, .L11+100
	bl	perror
.L6:
	ldr	r3, .L11+68
	ldr	r0, [r3]
	sub	r3, fp, #56
	mov	r2, #4
	str	r2, [sp]
	mov	r2, #32
	mov	r1, #0
	bl	setsockopt
	mov	r3, r0
	cmp	r3, #0
	beq	.L7
	ldr	r0, .L11+104
	bl	perror
.L7:
	ldr	r1, [fp, #-44]
	ldr	r0, .L11+108
	bl	printf
	mov	r0, #20
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L11+112
	str	r2, [r3]
.L9:
	mov	r0, #0
	bl	time
	mov	r3, r0
	str	r3, [fp, #-52]
	ldr	r3, .L11+112
	ldr	r4, [r3]
	sub	r3, fp, #52
	mov	r0, r3
	bl	localtime
	mov	r3, r0
	ldr	r2, .L11+116
	mov	r1, #20
	mov	r0, r4
	bl	strftime
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, .L11+112
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-48]
	ldr	r0, .L11+120
	bl	printf
	ldr	r3, .L11+124
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	ldr	r3, .L11+68
	ldr	r4, [r3]
	ldr	r0, [fp, #-44]
	bl	strlen
	mov	r2, r0
	mov	r3, #16
	str	r3, [sp, #4]
	sub	r3, fp, #32
	str	r3, [sp]
	mov	r3, #0
	ldr	r1, [fp, #-44]
	mov	r0, r4
	bl	sendto
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bge	.L8
	ldr	r0, .L11+128
	bl	cleanup
.L8:
	mov	r0, #1
	bl	sleep
	b	.L9
.L12:
	.align	2
.L11:
	.word	.LC27
	.word	1900
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	sock
	.word	.LC15
	.word	exitSig
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	time_string
	.word	.LC24
	.word	.LC25
	.word	stdout
	.word	.LC26
	.size	main, .-main
	.align	2
	.global	cleanup
	.syntax unified
	.arm
	.fpu softvfp
	.type	cleanup, %function
cleanup:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L19
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L14
	ldr	r3, .L19
	ldr	r3, [r3]
	mov	r0, r3
	bl	close
	ldr	r3, .L19
	mov	r2, #0
	str	r2, [r3]
.L14:
	ldr	r3, .L19+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L15
	ldr	r3, .L19+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, .L19+4
	mov	r2, #0
	str	r2, [r3]
.L15:
	ldr	r3, .L19+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L16
	ldr	r3, .L19+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, .L19+8
	mov	r2, #0
	str	r2, [r3]
.L16:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L18
	ldr	r0, [fp, #-8]
	bl	perror
	mov	r0, #1
	bl	exit
.L18:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L20:
	.align	2
.L19:
	.word	sock
	.word	message
	.word	time_string
	.size	cleanup, .-cleanup
	.section	.rodata
	.align	2
.LC28:
	.ascii	"\012Caught exit signal, exitting the dummy device.."
	.ascii	".\012\000"
	.text
	.align	2
	.global	exitSig
	.syntax unified
	.arm
	.fpu softvfp
	.type	exitSig, %function
exitSig:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	mov	r0, #0
	bl	cleanup
	ldr	r0, .L22
	bl	puts
	mov	r0, #0
	bl	exit
.L23:
	.align	2
.L22:
	.word	.LC28
	.size	exitSig, .-exitSig
	.section	.rodata
	.align	2
.LC29:
	.ascii	"No interface given after '-i'\000"
	.text
	.align	2
	.global	findArgumentValue
	.syntax unified
	.arm
	.fpu softvfp
	.type	findArgumentValue, %function
findArgumentValue:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r0, #50
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L25
.L30:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L26
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #105
	bne	.L26
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	beq	.L27
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bge	.L28
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L28
.L27:
	ldr	r1, .L31
	ldr	r0, [fp, #-8]
	bl	sprintf
	bl	__errno_location
	mov	r3, r0
	mov	r2, #22
	str	r2, [r3]
	ldr	r0, [fp, #-8]
	bl	cleanup
.L28:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	b	.L29
.L26:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L25:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L30
	mov	r3, #0
.L29:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L32:
	.align	2
.L31:
	.word	.LC29
	.size	findArgumentValue, .-findArgumentValue
	.section	.rodata
	.align	2
.LC30:
	.ascii	"getifaddr\000"
	.align	2
.LC31:
	.ascii	"Matched ifa_name: %s (paddr: %s)\012\000"
	.align	2
.LC32:
	.ascii	"Matched paddr: %s (ifa_name: %s)\012\000"
	.align	2
.LC33:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	findInterface
	.syntax unified
	.arm
	.fpu softvfp
	.type	findInterface, %function
findInterface:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L45
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-16]
	sub	r3, fp, #24
	mov	r0, r3
	bl	getifaddrs
	mov	r3, r0
	cmp	r3, #0
	bge	.L34
	ldr	r0, .L45+4
	bl	cleanup
.L34:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	b	.L35
.L41:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	ldr	r0, [r3, #4]
	bl	inet_ntoa
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L36
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L37
.L36:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	ldrh	r3, [r3]
	cmp	r3, #2
	bne	.L37
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L38
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, .L45+8
	bl	printf
	b	.L39
.L38:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-36]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L39
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, [fp, #-12]
	ldr	r0, .L45+12
	bl	printf
.L39:
	mov	r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	str	r2, [r3]
	b	.L40
.L37:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
.L35:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L40
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L41
.L40:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L42
	ldr	r3, [fp, #-24]
	mov	r0, r3
	bl	freeifaddrs
.L42:
	ldr	r3, [fp, #-16]
	ldr	r2, .L45
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L44
	bl	__stack_chk_fail
.L44:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L46:
	.align	2
.L45:
	.word	.LC33
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.size	findInterface, .-findInterface
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
