summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>2015-12-02 19:44:10 +0100
committerHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>2015-12-02 19:45:49 +0100
commitbba1502411079c5d14cbdf7daaf8b49902b54ddf (patch)
tree42d7051aef82ec7590a485b88371709ed225db32 /test
parent389563376084c4a8d906d4c29ecab6246ebfb8d5 (diff)
Testsuite: fakens: check for sys/socket.h
FreeBSD seems to need it for AF_INET
Diffstat (limited to 'test')
-rw-r--r--test/configure.ac1
-rw-r--r--test/fakens.s2422
-rw-r--r--test/src/fakens.c3
3 files changed, 2426 insertions, 0 deletions
diff --git a/test/configure.ac b/test/configure.ac
index 31a809971..017d22d38 100644
--- a/test/configure.ac
+++ b/test/configure.ac
@@ -15,6 +15,7 @@ AC_PROG_CC
dnl Checks for header files.
+AC_CHECK_HEADERS(sys/socket.h)
AC_CHECK_HEADERS(openssl/crypto.h,[CLIENT_SSL=bin/client-ssl])
AC_CHECK_HEADERS(gnutls/gnutls.h,[CLIENT_GNUTLS=bin/client-gnutls])
diff --git a/test/fakens.s b/test/fakens.s
new file mode 100644
index 000000000..b125bedf1
--- /dev/null
+++ b/test/fakens.s
@@ -0,0 +1,2422 @@
+ .file "fakens.c"
+ .section .rodata
+.LC0:
+ .string "A"
+.LC1:
+ .string "NS"
+.LC2:
+ .string "CNAME"
+.LC3:
+ .string "SOA"
+.LC4:
+ .string "PTR"
+.LC5:
+ .string "MX"
+.LC6:
+ .string "TXT"
+.LC7:
+ .string "AAAA"
+.LC8:
+ .string "SRV"
+.LC9:
+ .string "TLSA"
+ .data
+ .align 64
+ .type type_list, @object
+ .size type_list, 176
+type_list:
+ .quad .LC0
+ .long 1
+ .zero 4
+ .quad .LC1
+ .long 2
+ .zero 4
+ .quad .LC2
+ .long 5
+ .zero 4
+ .quad .LC3
+ .long 6
+ .zero 4
+ .quad .LC4
+ .long 12
+ .zero 4
+ .quad .LC5
+ .long 15
+ .zero 4
+ .quad .LC6
+ .long 16
+ .zero 4
+ .quad .LC7
+ .long 28
+ .zero 4
+ .quad .LC8
+ .long 33
+ .zero 4
+ .quad .LC9
+ .long 52
+ .zero 4
+ .quad 0
+ .long 0
+ .zero 4
+ .text
+ .type fcopystring, @function
+fcopystring:
+.LFB2:
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ subq $496, %rsp
+ movq %rsi, -168(%rbp)
+ movq %rdx, -160(%rbp)
+ movq %rcx, -152(%rbp)
+ movq %r8, -144(%rbp)
+ movq %r9, -136(%rbp)
+ testb %al, %al
+ je .L2
+ movaps %xmm0, -128(%rbp)
+ movaps %xmm1, -112(%rbp)
+ movaps %xmm2, -96(%rbp)
+ movaps %xmm3, -80(%rbp)
+ movaps %xmm4, -64(%rbp)
+ movaps %xmm5, -48(%rbp)
+ movaps %xmm6, -32(%rbp)
+ movaps %xmm7, -16(%rbp)
+.L2:
+ movq %rdi, -488(%rbp)
+ movl $8, -472(%rbp)
+ movl $48, -468(%rbp)
+ leaq 16(%rbp), %rax
+ movq %rax, -464(%rbp)
+ leaq -176(%rbp), %rax
+ movq %rax, -456(%rbp)
+ leaq -472(%rbp), %rdx
+ movq -488(%rbp), %rcx
+ leaq -448(%rbp), %rax
+ movq %rcx, %rsi
+ movq %rax, %rdi
+ call vsprintf
+ leaq -448(%rbp), %rax
+ movq %rax, %rdi
+ call strlen
+ addl $1, %eax
+ cltq
+ movq %rax, %rdi
+ call malloc
+ movq %rax, -184(%rbp)
+ leaq -448(%rbp), %rdx
+ movq -184(%rbp), %rax
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call strcpy
+ movq -184(%rbp), %rax
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE2:
+ .size fcopystring, .-fcopystring
+ .type packname, @function
+packname:
+.LFB3:
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ subq $32, %rsp
+ movq %rdi, -24(%rbp)
+ movq %rsi, -32(%rbp)
+ jmp .L5
+.L11:
+ movq -24(%rbp), %rax
+ movq %rax, -8(%rbp)
+ jmp .L6
+.L8:
+ addq $1, -8(%rbp)
+.L6:
+ movq -8(%rbp), %rax
+ movzbl (%rax), %eax
+ testb %al, %al
+ je .L7
+ movq -8(%rbp), %rax
+ movzbl (%rax), %eax
+ cmpb $46, %al
+ jne .L8
+.L7:
+ movq -32(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -32(%rbp)
+ movq -8(%rbp), %rcx
+ movq -24(%rbp), %rdx
+ subq %rdx, %rcx
+ movq %rcx, %rdx
+ movb %dl, (%rax)
+ movq -8(%rbp), %rdx
+ movq -24(%rbp), %rax
+ subq %rax, %rdx
+ movq %rdx, %rax
+ movq %rax, %rdx
+ movq -24(%rbp), %rcx
+ movq -32(%rbp), %rax
+ movq %rcx, %rsi
+ movq %rax, %rdi
+ call memmove
+ movq -8(%rbp), %rdx
+ movq -24(%rbp), %rax
+ subq %rax, %rdx
+ movq %rdx, %rax
+ addq %rax, -32(%rbp)
+ movq -8(%rbp), %rax
+ movzbl (%rax), %eax
+ testb %al, %al
+ je .L9
+ movq -8(%rbp), %rax
+ addq $1, %rax
+ jmp .L10
+.L9:
+ movq -8(%rbp), %rax
+.L10:
+ movq %rax, -24(%rbp)
+.L5:
+ movq -24(%rbp), %rax
+ movzbl (%rax), %eax
+ testb %al, %al
+ jne .L11
+ movq -32(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -32(%rbp)
+ movb $0, (%rax)
+ movq -32(%rbp), %rax
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE3:
+ .size packname, .-packname
+ .globl bytefield
+ .type bytefield, @function
+bytefield:
+.LFB4:
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ subq $32, %rsp
+ movq %rdi, -24(%rbp)
+ movq %rsi, -32(%rbp)
+ movl $0, -4(%rbp)
+ movq -24(%rbp), %rax
+ movq (%rax), %rax
+ movq %rax, -16(%rbp)
+ jmp .L14
+.L15:
+ movl -4(%rbp), %edx
+ movl %edx, %eax
+ sall $2, %eax
+ addl %edx, %eax
+ addl %eax, %eax
+ movl %eax, %ecx
+ movq -16(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -16(%rbp)
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addl %ecx, %eax
+ subl $48, %eax
+ movl %eax, -4(%rbp)
+.L14:
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -16(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $2048, %eax
+ testl %eax, %eax
+ jne .L15
+ jmp .L16
+.L17:
+ addq $1, -16(%rbp)
+.L16:
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -16(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $8192, %eax
+ testl %eax, %eax
+ jne .L17
+ movq -24(%rbp), %rax
+ movq -16(%rbp), %rdx
+ movq %rdx, (%rax)
+ movq -32(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -32(%rbp)
+ movl -4(%rbp), %edx
+ movb %dl, (%rax)
+ movq -32(%rbp), %rax
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE4:
+ .size bytefield, .-bytefield
+ .globl shortfield
+ .type shortfield, @function
+shortfield:
+.LFB5:
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ subq $32, %rsp
+ movq %rdi, -24(%rbp)
+ movq %rsi, -32(%rbp)
+ movl $0, -4(%rbp)
+ movq -24(%rbp), %rax
+ movq (%rax), %rax
+ movq %rax, -16(%rbp)
+ jmp .L20
+.L21:
+ movl -4(%rbp), %edx
+ movl %edx, %eax
+ sall $2, %eax
+ addl %edx, %eax
+ addl %eax, %eax
+ movl %eax, %ecx
+ movq -16(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -16(%rbp)
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addl %ecx, %eax
+ subl $48, %eax
+ movl %eax, -4(%rbp)
+.L20:
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -16(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $2048, %eax
+ testl %eax, %eax
+ jne .L21
+ jmp .L22
+.L23:
+ addq $1, -16(%rbp)
+.L22:
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -16(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $8192, %eax
+ testl %eax, %eax
+ jne .L23
+ movq -24(%rbp), %rax
+ movq -16(%rbp), %rdx
+ movq %rdx, (%rax)
+ movq -32(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -32(%rbp)
+ movl -4(%rbp), %edx
+ shrl $8, %edx
+ movb %dl, (%rax)
+ movq -32(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -32(%rbp)
+ movl -4(%rbp), %edx
+ movb %dl, (%rax)
+ movq -32(%rbp), %rax
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE5:
+ .size shortfield, .-shortfield
+ .globl longfield
+ .type longfield, @function
+longfield:
+.LFB6:
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ subq $32, %rsp
+ movq %rdi, -24(%rbp)
+ movq %rsi, -32(%rbp)
+ movq $0, -8(%rbp)
+ movq -24(%rbp), %rax
+ movq (%rax), %rax
+ movq %rax, -16(%rbp)
+ jmp .L26
+.L27:
+ movq -8(%rbp), %rdx
+ movq %rdx, %rax
+ salq $2, %rax
+ addq %rdx, %rax
+ addq %rax, %rax
+ movq %rax, %rcx
+ movq -16(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -16(%rbp)
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rcx, %rax
+ subq $48, %rax
+ movq %rax, -8(%rbp)
+.L26:
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -16(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $2048, %eax
+ testl %eax, %eax
+ jne .L27
+ jmp .L28
+.L29:
+ addq $1, -16(%rbp)
+.L28:
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -16(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $8192, %eax
+ testl %eax, %eax
+ jne .L29
+ movq -24(%rbp), %rax
+ movq -16(%rbp), %rdx
+ movq %rdx, (%rax)
+ movq -32(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -32(%rbp)
+ movq -8(%rbp), %rdx
+ shrq $24, %rdx
+ movb %dl, (%rax)
+ movq -32(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -32(%rbp)
+ movq -8(%rbp), %rdx
+ shrq $16, %rdx
+ movb %dl, (%rax)
+ movq -32(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -32(%rbp)
+ movq -8(%rbp), %rdx
+ shrq $8, %rdx
+ movb %dl, (%rax)
+ movq -32(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -32(%rbp)
+ movq -8(%rbp), %rdx
+ movb %dl, (%rax)
+ movq -32(%rbp), %rax
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE6:
+ .size longfield, .-longfield
+ .type milliwait, @function
+milliwait:
+.LFB7:
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ subq $272, %rsp
+ movq %rdi, -264(%rbp)
+ movq -264(%rbp), %rax
+ movq 24(%rax), %rax
+ cmpq $99, %rax
+ jg .L32
+ movq -264(%rbp), %rax
+ movq 16(%rax), %rax
+ testq %rax, %rax
+ je .L31
+.L32:
+ leaq -128(%rbp), %rax
+ movq %rax, %rdi
+ call sigemptyset
+ leaq -128(%rbp), %rax
+ movl $14, %esi
+ movq %rax, %rdi
+ call sigaddset
+ leaq -256(%rbp), %rdx
+ leaq -128(%rbp), %rax
+ movq %rax, %rsi
+ movl $0, %edi
+ call sigprocmask
+ movq -264(%rbp), %rax
+ movl $0, %edx
+ movq %rax, %rsi
+ movl $0, %edi
+ call setitimer
+ leaq -128(%rbp), %rax
+ movq %rax, %rdi
+ call sigfillset
+ leaq -128(%rbp), %rax
+ movl $14, %esi
+ movq %rax, %rdi
+ call sigdelset
+ leaq -128(%rbp), %rax
+ movq %rax, %rdi
+ call sigsuspend
+ leaq -256(%rbp), %rax
+ movl $0, %edx
+ movq %rax, %rsi
+ movl $2, %edi
+ call sigprocmask
+.L31:
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE7:
+ .size milliwait, .-milliwait
+ .type millisleep, @function
+millisleep:
+.LFB8:
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ subq $48, %rsp
+ movl %edi, -36(%rbp)
+ movq $0, -32(%rbp)
+ movq $0, -24(%rbp)
+ movl -36(%rbp), %ecx
+ movl $274877907, %edx
+ movl %ecx, %eax
+ imull %edx
+ sarl $6, %edx
+ movl %ecx, %eax
+ sarl $31, %eax
+ subl %eax, %edx
+ movl %edx, %eax
+ cltq
+ movq %rax, -16(%rbp)
+ movl -36(%rbp), %ecx
+ movl $274877907, %edx
+ movl %ecx, %eax
+ imull %edx
+ sarl $6, %edx
+ movl %ecx, %eax
+ sarl $31, %eax
+ subl %eax, %edx
+ movl %edx, %eax
+ imull $1000, %eax, %eax
+ subl %eax, %ecx
+ movl %ecx, %eax
+ imull $1000, %eax, %eax
+ cltq
+ movq %rax, -8(%rbp)
+ leaq -32(%rbp), %rax
+ movq %rax, %rdi
+ call milliwait
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE8:
+ .size millisleep, .-millisleep
+ .section .rodata
+ .align 8
+.LC10:
+ .string "fakens: unknown record type %s\n"
+.LC11:
+ .string "PASS ON NOT FOUND"
+.LC12:
+ .string "DNSSEC "
+.LC13:
+ .string "AA "
+.LC14:
+ .string "DELAY="
+.LC15:
+ .string "TTL="
+.LC16:
+ .string " "
+.LC17:
+ .string "%s."
+ .text
+ .type find_records, @function
+find_records:
+.LFB9:
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ pushq %rbx
+ subq $952, %rsp
+ .cfi_offset 3, -24
+ movq %rdi, -920(%rbp)
+ movq %rsi, -928(%rbp)
+ movq %rdx, -936(%rbp)
+ movq %rcx, -944(%rbp)
+ movl %r8d, -948(%rbp)
+ movq %r9, -960(%rbp)
+ movl $1, -20(%rbp)
+ movq -936(%rbp), %rax
+ movq %rax, %rdi
+ call strlen
+ movl %eax, -100(%rbp)
+ movl $0, -24(%rbp)
+ movq -960(%rbp), %rax
+ movq (%rax), %rax
+ movq %rax, -40(%rbp)
+ movq $type_list, -32(%rbp)
+ jmp .L36
+.L39:
+ movq -32(%rbp), %rax
+ movq (%rax), %rax
+ movq -944(%rbp), %rdx
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call strcmp
+ testl %eax, %eax
+ jne .L37
+ jmp .L38
+.L37:
+ addq $16, -32(%rbp)
+.L36:
+ movq -32(%rbp), %rax
+ movq (%rax), %rax
+ testq %rax, %rax
+ jne .L39
+.L38:
+ movq -32(%rbp), %rax
+ movq (%rax), %rax
+ testq %rax, %rax
+ jne .L40
+ movq stderr(%rip), %rax
+ movq -944(%rbp), %rdx
+ movl $.LC10, %esi
+ movq %rax, %rdi
+ movl $0, %eax
+ call fprintf
+ movl $3, %eax
+ jmp .L124
+.L40:
+ movb $0, -640(%rbp)
+ movq -920(%rbp), %rax
+ movl $0, %edx
+ movl $0, %esi
+ movq %rax, %rdi
+ call fseek
+ cmpq $0, 24(%rbp)
+ je .L42
+ movq 24(%rbp), %rax
+ movl $1, (%rax)
+.L42:
+ cmpq $0, 32(%rbp)
+ je .L43
+ movq 32(%rbp), %rax
+ movl $1, (%rax)
+.L43:
+ jmp .L44
+.L120:
+ movl $0, -104(%rbp)
+ movq -32(%rbp), %rax
+ movl 8(%rax), %eax
+ movl %eax, -60(%rbp)
+ movl -948(%rbp), %eax
+ movl %eax, -64(%rbp)
+ movl $0, -68(%rbp)
+ movl $0, -72(%rbp)
+ movl $0, -76(%rbp)
+ movl $3600, -80(%rbp)
+ leaq -384(%rbp), %rax
+ movq %rax, -904(%rbp)
+ jmp .L45
+.L46:
+ movq -904(%rbp), %rax
+ addq $1, %rax
+ movq %rax, -904(%rbp)
+.L45:
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $8192, %eax
+ testl %eax, %eax
+ jne .L46
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ testb %al, %al
+ je .L47
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ cmpb $59, %al
+ jne .L48
+.L47:
+ jmp .L44
+.L48:
+ movq -904(%rbp), %rax
+ movl $17, %edx
+ movl $.LC11, %esi
+ movq %rax, %rdi
+ call strncmp
+ testl %eax, %eax
+ jne .L50
+ movl $1, -24(%rbp)
+ jmp .L44
+.L50:
+ leaq -384(%rbp), %rax
+ movq %rax, %rdi
+ call strlen
+ cltq
+ leaq -384(%rbp), %rdx
+ addq %rdx, %rax
+ movq %rax, -48(%rbp)
+ jmp .L51
+.L52:
+ subq $1, -48(%rbp)
+.L51:
+ call __ctype_b_loc
+ movq (%rax), %rax
+ movq -48(%rbp), %rdx
+ subq $1, %rdx
+ movzbl (%rdx), %edx
+ movzbl %dl, %edx
+ addq %rdx, %rdx
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $8192, %eax
+ testl %eax, %eax
+ jne .L52
+ movq -48(%rbp), %rax
+ movb $0, (%rax)
+ leaq -384(%rbp), %rax
+ movq %rax, -904(%rbp)
+.L67:
+ movq -904(%rbp), %rax
+ movl $7, %edx
+ movl $.LC12, %esi
+ movq %rax, %rdi
+ call strncmp
+ testl %eax, %eax
+ jne .L53
+ movl $1, -68(%rbp)
+ movq -904(%rbp), %rax
+ addq $7, %rax
+ movq %rax, -904(%rbp)
+ jmp .L54
+.L53:
+ movq -904(%rbp), %rax
+ movl $3, %edx
+ movl $.LC13, %esi
+ movq %rax, %rdi
+ call strncmp
+ testl %eax, %eax
+ jne .L55
+ movl $1, -72(%rbp)
+ movq -904(%rbp), %rax
+ addq $3, %rax
+ movq %rax, -904(%rbp)
+ jmp .L54
+.L55:
+ movq -904(%rbp), %rax
+ movl $6, %edx
+ movl $.LC14, %esi
+ movq %rax, %rdi
+ call strncmp
+ testl %eax, %eax
+ jne .L56
+ movq -904(%rbp), %rax
+ addq $6, %rax
+ movq %rax, -904(%rbp)
+ jmp .L57
+.L59:
+ movl -76(%rbp), %edx
+ movl %edx, %eax
+ sall $2, %eax
+ addl %edx, %eax
+ addl %eax, %eax
+ movl %eax, %edx
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addl %edx, %eax
+ subl $48, %eax
+ movl %eax, -76(%rbp)
+ movq -904(%rbp), %rax
+ addq $1, %rax
+ movq %rax, -904(%rbp)
+.L57:
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ cmpb $47, %al
+ jbe .L58
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ cmpb $57, %al
+ jbe .L59
+.L58:
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $8192, %eax
+ testl %eax, %eax
+ je .L54
+ movq -904(%rbp), %rax
+ addq $1, %rax
+ movq %rax, -904(%rbp)
+ jmp .L67
+.L56:
+ movq -904(%rbp), %rax
+ movl $4, %edx
+ movl $.LC15, %esi
+ movq %rax, %rdi
+ call strncmp
+ testl %eax, %eax
+ jne .L61
+ movl $0, -80(%rbp)
+ movq -904(%rbp), %rax
+ addq $4, %rax
+ movq %rax, -904(%rbp)
+ jmp .L62
+.L64:
+ movl -80(%rbp), %edx
+ movl %edx, %eax
+ sall $2, %eax
+ addl %edx, %eax
+ addl %eax, %eax
+ movl %eax, %edx
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addl %edx, %eax
+ subl $48, %eax
+ movl %eax, -80(%rbp)
+ movq -904(%rbp), %rax
+ addq $1, %rax
+ movq %rax, -904(%rbp)
+.L62:
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ cmpb $47, %al
+ jbe .L63
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ cmpb $57, %al
+ jbe .L64
+.L63:
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $8192, %eax
+ testl %eax, %eax
+ je .L54
+ movq -904(%rbp), %rax
+ addq $1, %rax
+ movq %rax, -904(%rbp)
+ jmp .L67
+.L61:
+ nop
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $8192, %eax
+ testl %eax, %eax
+ jne .L68
+ jmp .L125
+.L54:
+ jmp .L67
+.L125:
+ leaq -640(%rbp), %rax
+ movq %rax, -88(%rbp)
+ leaq -896(%rbp), %rax
+ movq %rax, -96(%rbp)
+ jmp .L69
+.L70:
+ movq -88(%rbp), %rbx
+ leaq 1(%rbx), %rax
+ movq %rax, -88(%rbp)
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ movl %eax, %edi
+ call tolower
+ movb %al, (%rbx)
+ movq -96(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -96(%rbp)
+ movq -904(%rbp), %rdx
+ leaq 1(%rdx), %rcx
+ movq %rcx, -904(%rbp)
+ movzbl (%rdx), %edx
+ movb %dl, (%rax)
+.L69:
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $8192, %eax
+ testl %eax, %eax
+ je .L70
+ movq -88(%rbp), %rax
+ subq $1, %rax
+ movzbl (%rax), %eax
+ cmpb $46, %al
+ je .L71
+ movq -928(%rbp), %rdx
+ movq -88(%rbp), %rax
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call strcpy
+ movq -928(%rbp), %rdx
+ movq -96(%rbp), %rax
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call strcpy
+ jmp .L68
+.L71:
+ movq -88(%rbp), %rax
+ subq $1, %rax
+ movb $0, (%rax)
+ movq -96(%rbp), %rax
+ subq $1, %rax
+ movb $0, (%rax)
+.L68:
+ movzbl -640(%rbp), %eax
+ cmpb $42, %al
+ jne .L72
+ leaq -640(%rbp), %rax
+ movq %rax, %rdi
+ call strlen
+ subl $1, %eax
+ movl %eax, -108(%rbp)
+ movl -100(%rbp), %eax
+ cmpl -108(%rbp), %eax
+ jle .L73
+ movl -100(%rbp), %eax
+ movslq %eax, %rdx
+ movl -108(%rbp), %eax
+ cltq
+ subq %rax, %rdx
+ movq -936(%rbp), %rax
+ addq %rdx, %rax
+ leaq -640(%rbp), %rdx
+ addq $1, %rdx
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call strcmp
+ testl %eax, %eax
+ je .L73
+ jmp .L44
+.L73:
+ jmp .L74
+.L72:
+ leaq -640(%rbp), %rdx
+ movq -936(%rbp), %rax
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call strcmp
+ testl %eax, %eax
+ je .L74
+ jmp .L44
+.L74:
+ cmpl $1, -20(%rbp)
+ jne .L75
+ movl $4, -20(%rbp)
+.L75:
+ jmp .L76
+.L77:
+ movq -904(%rbp), %rax
+ addq $1, %rax
+ movq %rax, -904(%rbp)
+.L76:
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $8192, %eax
+ testl %eax, %eax
+ jne .L77
+ movq -904(%rbp), %rax
+ movl $5, %edx
+ movl $.LC2, %esi
+ movq %rax, %rdi
+ call strncmp
+ testl %eax, %eax
+ jne .L78
+ movl $5, -60(%rbp)
+ movl $5, -64(%rbp)
+ movl $1, -104(%rbp)
+ jmp .L79
+.L78:
+ movl -948(%rbp), %eax
+ movslq %eax, %rdx
+ movq -904(%rbp), %rax
+ movq -944(%rbp), %rcx
+ movq %rcx, %rsi
+ movq %rax, %rdi
+ call strncmp
+ testl %eax, %eax
+ jne .L80
+ call __ctype_b_loc
+ movq (%rax), %rax
+ movq -904(%rbp), %rcx
+ movl -948(%rbp), %edx
+ movslq %edx, %rdx
+ addq %rcx, %rdx
+ movzbl (%rdx), %edx
+ movzbl %dl, %edx
+ addq %rdx, %rdx
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $8192, %eax
+ testl %eax, %eax
+ jne .L79
+.L80:
+ jmp .L44
+.L79:
+ cmpl $0, -76(%rbp)
+ je .L81
+ movl -76(%rbp), %eax
+ movl %eax, %edi
+ call millisleep
+.L81:
+ cmpq $0, 24(%rbp)
+ je .L82
+ cmpl $0, -68(%rbp)
+ jne .L82
+ movq 24(%rbp), %rax
+ movl $0, (%rax)
+.L82:
+ cmpq $0, 32(%rbp)
+ je .L83
+ cmpl $0, -72(%rbp)
+ jne .L83
+ movq 32(%rbp), %rax
+ movl $0, (%rax)
+.L83:
+ movl $0, -20(%rbp)
+ movq 16(%rbp), %rax
+ movl (%rax), %eax
+ leal 1(%rax), %edx
+ movq 16(%rbp), %rax
+ movl %edx, (%rax)
+ movq -904(%rbp), %rdx
+ movl -64(%rbp), %eax
+ cltq
+ addq %rdx, %rax
+ movq %rax, -904(%rbp)
+ jmp .L84
+.L85:
+ movq -904(%rbp), %rax
+ addq $1, %rax
+ movq %rax, -904(%rbp)
+.L84:
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $8192, %eax
+ testl %eax, %eax
+ jne .L85
+ movzbl -640(%rbp), %eax
+ cmpb $42, %al
+ je .L86
+ leaq -896(%rbp), %rax
+ jmp .L87
+.L86:
+ movq -936(%rbp), %rax
+.L87:
+ movq -40(%rbp), %rdx
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call packname
+ movq %rax, -40(%rbp)
+ movq -40(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -40(%rbp)
+ movl -60(%rbp), %edx
+ sarl $8, %edx
+ movb %dl, (%rax)
+ movq -40(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -40(%rbp)
+ movl -60(%rbp), %edx
+ movb %dl, (%rax)
+ movq -40(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -40(%rbp)
+ movb $0, (%rax)
+ movq -40(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -40(%rbp)
+ movb $1, (%rax)
+ movq -40(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -40(%rbp)
+ movl -80(%rbp), %edx
+ shrl $24, %edx
+ movb %dl, (%rax)
+ movq -40(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -40(%rbp)
+ movl -80(%rbp), %edx
+ shrl $16, %edx
+ movb %dl, (%rax)
+ movq -40(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -40(%rbp)
+ movl -80(%rbp), %edx
+ shrl $8, %edx
+ movb %dl, (%rax)
+ movq -40(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -40(%rbp)
+ movl -80(%rbp), %edx
+ movb %dl, (%rax)
+ movq -40(%rbp), %rax
+ movq %rax, -120(%rbp)
+ addq $2, -40(%rbp)
+ cmpl $52, -60(%rbp)
+ ja .L88
+ movl -60(%rbp), %eax
+ movq .L90(,%rax,8), %rax
+ jmp *%rax
+ .section .rodata
+ .align 8
+ .align 4
+.L90:
+ .quad .L88
+ .quad .L89
+ .quad .L91
+ .quad .L88
+ .quad .L88
+ .quad .L91
+ .quad .L92
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L91
+ .quad .L88
+ .quad .L88
+ .quad .L93
+ .quad .L94
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L95
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L96
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L88
+ .quad .L97
+ .text
+.L92:
+ movq -904(%rbp), %rax
+ movl $.LC16, %esi
+ movq %rax, %rdi
+ call strtok
+ movq %rax, -904(%rbp)
+ movq -904(%rbp), %rbx
+ movq -904(%rbp), %rax
+ movq %rax, %rdi
+ call strlen
+ cltq
+ addq %rbx, %rax
+ movq %rax, -48(%rbp)
+ movq -48(%rbp), %rax
+ subq $1, %rax
+ movzbl (%rax), %eax
+ cmpb $46, %al
+ je .L98
+ movq -928(%rbp), %rdx
+ movq -48(%rbp), %rax
+ movl $.LC17, %esi
+ movq %rax, %rdi
+ movl $0, %eax
+ call sprintf
+.L98:
+ movq -904(%rbp), %rax
+ movq -40(%rbp), %rdx
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call packname
+ movq %rax, -40(%rbp)
+ movl $.LC16, %esi
+ movl $0, %edi
+ call strtok
+ movq %rax, -904(%rbp)
+ movq -904(%rbp), %rax
+ movq -40(%rbp), %rdx
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call packname
+ movq %rax, -40(%rbp)
+ movq -904(%rbp), %rbx
+ movq -904(%rbp), %rax
+ movq %rax, %rdi
+ call strlen
+ cltq
+ addq %rbx, %rax
+ movq %rax, -904(%rbp)
+ movq -904(%rbp), %rax
+ movb $32, (%rax)
+ jmp .L99
+.L100:
+ movq -904(%rbp), %rax
+ addq $1, %rax
+ movq %rax, -904(%rbp)
+.L99:
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $8192, %eax
+ testl %eax, %eax
+ jne .L100
+ movq -40(%rbp), %rdx
+ leaq -904(%rbp), %rax
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call longfield
+ movq %rax, -40(%rbp)
+ movq -40(%rbp), %rdx
+ leaq -904(%rbp), %rax
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call longfield
+ movq %rax, -40(%rbp)
+ movq -40(%rbp), %rdx
+ leaq -904(%rbp), %rax
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call longfield
+ movq %rax, -40(%rbp)
+ movq -40(%rbp), %rdx
+ leaq -904(%rbp), %rax
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call longfield
+ movq %rax, -40(%rbp)
+ movq -40(%rbp), %rdx
+ leaq -904(%rbp), %rax
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call longfield
+ movq %rax, -40(%rbp)
+ jmp .L88
+.L89:
+ movq -904(%rbp), %rax
+ movq -40(%rbp), %rdx
+ movq %rax, %rsi
+ movl $2, %edi
+ call inet_pton
+ addq $4, -40(%rbp)
+ jmp .L88
+.L95:
+ movq -904(%rbp), %rax
+ movq -40(%rbp), %rdx
+ movq %rax, %rsi
+ movl $10, %edi
+ call inet_pton
+ addq $16, -40(%rbp)
+ jmp .L88
+.L93:
+ movq -40(%rbp), %rdx
+ leaq -904(%rbp), %rax
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call shortfield
+ movq %rax, -40(%rbp)
+ movq -48(%rbp), %rax
+ subq $1, %rax
+ movzbl (%rax), %eax
+ cmpb $46, %al
+ je .L101
+ movq -928(%rbp), %rdx
+ movq -48(%rbp), %rax
+ movl $.LC17, %esi
+ movq %rax, %rdi
+ movl $0, %eax
+ call sprintf
+.L101:
+ movq -904(%rbp), %rax
+ movq -40(%rbp), %rdx
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call packname
+ movq %rax, -40(%rbp)
+ jmp .L88
+.L94:
+ movq -40(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -40(%rbp)
+ movq %rax, -128(%rbp)
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ cmpb $34, %al
+ jne .L102
+ movq -904(%rbp), %rax
+ addq $1, %rax
+ movq %rax, -904(%rbp)
+.L102:
+ jmp .L103
+.L105:
+ movq -40(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -40(%rbp)
+ movq -904(%rbp), %rdx
+ leaq 1(%rdx), %rcx
+ movq %rcx, -904(%rbp)
+ movzbl (%rdx), %edx
+ movb %dl, (%rax)
+.L103:
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ testb %al, %al
+ je .L104
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ cmpb $34, %al
+ jne .L105
+.L104:
+ movq -40(%rbp), %rdx
+ movq -128(%rbp), %rax
+ subq %rax, %rdx
+ movq %rdx, %rax
+ leal -1(%rax), %edx
+ movq -128(%rbp), %rax
+ movb %dl, (%rax)
+ jmp .L88
+.L97:
+ movq -40(%rbp), %rdx
+ leaq -904(%rbp), %rax
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call bytefield
+ movq %rax, -40(%rbp)
+ movq -40(%rbp), %rdx
+ leaq -904(%rbp), %rax
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call bytefield
+ movq %rax, -40(%rbp)
+ movq -40(%rbp), %rdx
+ leaq -904(%rbp), %rax
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call bytefield
+ movq %rax, -40(%rbp)
+ jmp .L106
+.L112:
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ movl %eax, %edi
+ call toupper
+ movl %eax, %ebx
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $2048, %eax
+ testl %eax, %eax
+ je .L107
+ movl $48, %eax
+ jmp .L108
+.L107:
+ movl $55, %eax
+.L108:
+ subl %eax, %ebx
+ movl %ebx, %eax
+ sall $4, %eax
+ movl %eax, -56(%rbp)
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -904(%rbp), %rax
+ addq $1, %rax
+ movq %rax, -904(%rbp)
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $4096, %eax
+ testl %eax, %eax
+ je .L109
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ movl %eax, %edi
+ call toupper
+ movl %eax, %ebx
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $2048, %eax
+ testl %eax, %eax
+ je .L110
+ movl $48, %eax
+ jmp .L111
+.L110:
+ movl $55, %eax
+.L111:
+ subl %eax, %ebx
+ movl %ebx, %eax
+ orl %eax, -56(%rbp)
+ movq -904(%rbp), %rax
+ addq $1, %rax
+ movq %rax, -904(%rbp)
+.L109:
+ movq -40(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -40(%rbp)
+ movl -56(%rbp), %edx
+ movb %dl, (%rax)
+.L106:
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $4096, %eax
+ testl %eax, %eax
+ jne .L112
+ jmp .L88
+.L96:
+ movl $0, -52(%rbp)
+ jmp .L113
+.L118:
+ movl $0, -56(%rbp)
+ jmp .L114
+.L115:
+ movl -56(%rbp), %edx
+ movl %edx, %eax
+ sall $2, %eax
+ addl %edx, %eax
+ addl %eax, %eax
+ movl %eax, %ecx
+ movq -904(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -904(%rbp)
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addl %ecx, %eax
+ subl $48, %eax
+ movl %eax, -56(%rbp)
+.L114:
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $2048, %eax
+ testl %eax, %eax
+ jne .L115
+ jmp .L116
+.L117:
+ movq -904(%rbp), %rax
+ addq $1, %rax
+ movq %rax, -904(%rbp)
+.L116:
+ call __ctype_b_loc
+ movq (%rax), %rdx
+ movq -904(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ addq %rax, %rax
+ addq %rdx, %rax
+ movzwl (%rax), %eax
+ movzwl %ax, %eax
+ andl $8192, %eax
+ testl %eax, %eax
+ jne .L117
+ movq -40(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -40(%rbp)
+ movl -56(%rbp), %edx
+ sarl $8, %edx
+ movb %dl, (%rax)
+ movq -40(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -40(%rbp)
+ movl -56(%rbp), %edx
+ movb %dl, (%rax)
+ addl $1, -52(%rbp)
+.L113:
+ cmpl $2, -52(%rbp)
+ jle .L118
+.L91:
+ movq -48(%rbp), %rax
+ subq $1, %rax
+ movzbl (%rax), %eax
+ cmpb $46, %al
+ je .L119
+ movq -928(%rbp), %rdx
+ movq -48(%rbp), %rax
+ movl $.LC17, %esi
+ movq %rax, %rdi
+ movl $0, %eax
+ call sprintf
+.L119:
+ movq -904(%rbp), %rax
+ movq -40(%rbp), %rdx
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call packname
+ movq %rax, -40(%rbp)
+ nop
+.L88:
+ movq -40(%rbp), %rdx
+ movq -120(%rbp), %rax
+ subq %rax, %rdx
+ movq %rdx, %rax
+ subq $2, %rax
+ sarq $8, %rax
+ movl %eax, %edx
+ movq -120(%rbp), %rax
+ movb %dl, (%rax)
+ movq -120(%rbp), %rax
+ addq $1, %rax
+ movq -40(%rbp), %rcx
+ movq -120(%rbp), %rdx
+ subq %rdx, %rcx
+ movq %rcx, %rdx
+ subl $2, %edx
+ movb %dl, (%rax)
+.L44:
+ movq -920(%rbp), %rdx
+ leaq -384(%rbp), %rax
+ movl $256, %esi
+ movq %rax, %rdi
+ call fgets
+ testq %rax, %rax
+ jne .L120
+ movq -960(%rbp), %rax
+ movq -40(%rbp), %rdx
+ movq %rdx, (%rax)
+ cmpl $1, -20(%rbp)
+ jne .L121
+ cmpl $0, -24(%rbp)
+ jne .L122
+.L121:
+ movl -20(%rbp), %eax
+ jmp .L123
+.L122:
+ movl $5, %eax
+.L123:
+ nop
+.L124:
+ addq $952, %rsp
+ popq %rbx
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE9:
+ .size find_records, .-find_records
+ .type alarmfn, @function
+alarmfn:
+.LFB10:
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ movl %edi, -4(%rbp)
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE10:
+ .size alarmfn, .-alarmfn
+ .type special_manyhome, @function
+special_manyhome:
+.LFB11:
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ subq $48, %rsp
+ movq %rdi, -40(%rbp)
+ movq %rsi, -48(%rbp)
+ movq -40(%rbp), %rax
+ addq $12, %rax
+ movq %rax, -8(%rbp)
+ movq -40(%rbp), %rax
+ movl $12, %edx
+ movl $0, %esi
+ movq %rax, %rdi
+ call memset
+ movl $104, -12(%rbp)
+ jmp .L128
+.L131:
+ movl $0, -16(%rbp)
+ jmp .L129
+.L130:
+ movq -8(%rbp), %rdx
+ movq -48(%rbp), %rax
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call packname
+ movq %rax, -8(%rbp)
+ movq -8(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -8(%rbp)
+ movb $0, (%rax)
+ movq -8(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -8(%rbp)
+ movb $1, (%rax)
+ movq -8(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -8(%rbp)
+ movb $0, (%rax)
+ movq -8(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -8(%rbp)
+ movb $1, (%rax)
+ addq $4, -8(%rbp)
+ movq -8(%rbp), %rax
+ movq %rax, -24(%rbp)
+ addq $2, -8(%rbp)
+ movq -8(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -8(%rbp)
+ movb $10, (%rax)
+ movq -8(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -8(%rbp)
+ movb $-6, (%rax)
+ movq -8(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -8(%rbp)
+ movl -12(%rbp), %edx
+ movb %dl, (%rax)
+ movq -8(%rbp), %rax
+ leaq 1(%rax), %rdx
+ movq %rdx, -8(%rbp)
+ movl -16(%rbp), %edx
+ movb %dl, (%rax)
+ movq -8(%rbp), %rdx
+ movq -24(%rbp), %rax
+ subq %rax, %rdx
+ movq %rdx, %rax
+ subq $2, %rax
+ sarq $8, %rax
+ movl %eax, %edx
+ movq -24(%rbp), %rax
+ movb %dl, (%rax)
+ movq -24(%rbp), %rax
+ addq $1, %rax
+ movq -8(%rbp), %rcx
+ movq -24(%rbp), %rdx
+ subq %rdx, %rcx
+ movq %rcx, %rdx
+ subl $2, %edx
+ movb %dl, (%rax)
+ addl $1, -16(%rbp)
+.L129:
+ cmpl $255, -16(%rbp)
+ jle .L130
+ addl $1, -12(%rbp)
+.L128:
+ cmpl $111, -12(%rbp)
+ jle .L131
+ movq -40(%rbp), %rax
+ addq $6, %rax
+ movb $8, (%rax)
+ movq -40(%rbp), %rax
+ addq $7, %rax
+ movb $0, (%rax)
+ movq -40(%rbp), %rax
+ addq $10, %rax
+ movb $0, (%rax)
+ movq -40(%rbp), %rax
+ addq $11, %rax
+ movb $0, (%rax)
+ movq stdout(%rip), %rdx
+ movq -8(%rbp), %rcx
+ movq -40(%rbp), %rax
+ subq %rax, %rcx
+ movq %rcx, %rax
+ movq %rax, %rsi
+ movq -40(%rbp), %rax
+ movq %rdx, %rcx
+ movq %rsi, %rdx
+ movl $1, %esi
+ movq %rax, %rdi
+ call fwrite
+ movl $0, %eax
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE11:
+ .size special_manyhome, .-special_manyhome
+ .type special_again, @function
+special_again:
+.LFB12:
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ subq $32, %rsp
+ movq %rdi, -24(%rbp)
+ movq %rsi, -32(%rbp)
+ movq -32(%rbp), %rax
+ movq %rax, %rdi
+ call atoi
+ movl %eax, -4(%rbp)
+ cmpl $0, -4(%rbp)
+ jle .L134
+ movl -4(%rbp), %eax
+ movl %eax, %edi
+ call sleep
+.L134:
+ movl $2, %eax
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE12:
+ .size special_again, .-special_again
+ .section .rodata
+ .align 8
+.LC18:
+ .string "fakens: expected 3 arguments, received %d\n"
+.LC19:
+ .string "%s/dnszones"
+ .align 8
+.LC20:
+ .string "fakens: failed to opendir %s: %s\n"
+.LC21:
+ .string "qualify."
+.LC22:
+ .string "%s"
+.LC23:
+ .string "db."
+.LC24:
+ .string "ip4."
+.LC25:
+ .string "%s.in-addr.arpa"
+.LC26:
+ .string "ip6."
+.LC27:
+ .string "%s.ip6.arpa"
+.LC28:
+ .string "manyhome.test.ex"
+.LC29:
+ .string "test.again.dns"
+.LC30:
+ .string "test.fail.dns"
+.LC31:
+ .string "dontqualify"
+ .align 8
+.LC32:
+ .string "fakens: query not in faked zone: domain is: %s\n"
+.LC33:
+ .string "%s/dnszones/%s"
+.LC34:
+ .string "r"
+ .align 8
+.LC35:
+ .string "fakens: failed to open %s: %s\n"
+ .text
+ .globl main
+ .type main, @function
+main:
+.LFB13:
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ pushq %rbx
+ subq $66760, %rsp
+ .cfi_offset 3, -24
+ movl %edi, -66756(%rbp)
+ movq %rsi, -66768(%rbp)
+ movl $0, -28(%rbp)
+ movq $0, -40(%rbp)
+ movq $0, -64(%rbp)
+ leaq -66736(%rbp), %rax
+ movq %rax, -72(%rbp)
+ leaq -66736(%rbp), %rax
+ movq %rax, -66744(%rbp)
+ movl $alarmfn, %esi
+ movl $14, %edi
+ call signal
+ cmpl $4, -66756(%rbp)
+ je .L137
+ movl -66756(%rbp), %eax
+ leal -1(%rax), %edx
+ movq stderr(%rip), %rax
+ movl $.LC18, %esi
+ movq %rax, %rdi
+ movl $0, %eax
+ call fprintf
+ movl $3, %eax
+ jmp .L169
+.L137:
+ movq -66768(%rbp), %rax
+ addq $8, %rax
+ movq (%rax), %rdx
+ leaq -1152(%rbp), %rax
+ movl $.LC19, %esi
+ movq %rax, %rdi
+ movl $0, %eax
+ call sprintf
+ leaq -1152(%rbp), %rax
+ movq %rax, %rdi
+ call opendir
+ movq %rax, -80(%rbp)
+ cmpq $0, -80(%rbp)
+ jne .L139
+ call __errno_location
+ movl (%rax), %eax
+ movl %eax, %edi
+ call strerror
+ movq %rax, %rcx
+ movq stderr(%rip), %rax
+ leaq -1152(%rbp), %rdx
+ movl $.LC20, %esi
+ movq %rax, %rdi
+ movl $0, %eax
+ call fprintf
+ movl $3, %eax
+ jmp .L169
+.L139:
+ jmp .L140
+.L146:
+ movq -88(%rbp), %rax
+ addq $19, %rax
+ movq %rax, -96(%rbp)
+ movq -96(%rbp), %rax
+ movl $8, %edx
+ movl $.LC21, %esi
+ movq %rax, %rdi
+ call strncmp
+ testl %eax, %eax
+ jne .L141
+ movq -96(%rbp), %rax
+ addq $7, %rax
+ movq %rax, %rsi
+ movl $.LC22, %edi
+ movl $0, %eax
+ call fcopystring
+ movq %rax, -40(%rbp)
+ jmp .L140
+.L141:
+ movq -96(%rbp), %rax
+ movl $3, %edx
+ movl $.LC23, %esi
+ movq %rax, %rdi
+ call strncmp
+ testl %eax, %eax
+ je .L142
+ jmp .L140
+.L142:
+ movq -96(%rbp), %rax
+ addq $3, %rax
+ movl $4, %edx
+ movl $.LC24, %esi
+ movq %rax, %rdi
+ call strncmp
+ testl %eax, %eax
+ jne .L143
+ movq -96(%rbp), %rax
+ addq $6, %rax
+ movq %rax, %rsi
+ movl $.LC25, %edi
+ movl $0, %eax
+ call fcopystring
+ movq %rax, %rdx
+ movl -28(%rbp), %eax
+ cltq
+ salq $4, %rax
+ leaq -16(%rbp), %rbx
+ addq %rbx, %rax
+ subq $624, %rax
+ movq %rdx, (%rax)
+ jmp .L144
+.L143:
+ movq -96(%rbp), %rax
+ addq $3, %rax
+ movl $4, %edx
+ movl $.LC26, %esi
+ movq %rax, %rdi
+ call strncmp
+ testl %eax, %eax
+ jne .L145
+ movq -96(%rbp), %rax
+ addq $6, %rax
+ movq %rax, %rsi
+ movl $.LC27, %edi
+ movl $0, %eax
+ call fcopystring
+ movq %rax, %rdx
+ movl -28(%rbp), %eax
+ cltq
+ salq $4, %rax
+ leaq -16(%rbp), %rbx
+ addq %rbx, %rax
+ subq $624, %rax
+ movq %rdx, (%rax)
+ jmp .L144
+.L145:
+ movq -96(%rbp), %rax
+ addq $2, %rax
+ movq %rax, %rsi
+ movl $.LC22, %edi
+ movl $0, %eax
+ call fcopystring
+ movq %rax, %rdx
+ movl -28(%rbp), %eax
+ cltq
+ salq $4, %rax
+ leaq -16(%rbp), %rbx
+ addq %rbx, %rax
+ subq $624, %rax
+ movq %rdx, (%rax)
+.L144:
+ movl -28(%rbp), %ebx
+ leal 1(%rbx), %eax
+ movl %eax, -28(%rbp)
+ movq -96(%rbp), %rax
+ movq %rax, %rsi
+ movl $.LC22, %edi
+ movl $0, %eax
+ call fcopystring
+ movq %rax, %rdx
+ movslq %ebx, %rax
+ salq $4, %rax
+ leaq -16(%rbp), %rbx
+ addq %rbx, %rax
+ subq $624, %rax
+ movq %rdx, 8(%rax)
+.L140:
+ movq -80(%rbp), %rax
+ movq %rax, %rdi
+ call readdir
+ movq %rax, -88(%rbp)
+ cmpq $0, -88(%rbp)
+ jne .L146
+ movq -80(%rbp), %rax
+ movq %rax, %rdi
+ call closedir
+ movq -66768(%rbp), %rax
+ addq $24, %rax
+ movq (%rax), %rcx
+ leaq -1168(%rbp), %rax
+ movl $12, %edx
+ movq %rcx, %rsi
+ movq %rax, %rdi
+ call strncpy
+ leaq -1168(%rbp), %rax
+ movq %rax, %rdi
+ call strlen
+ movl %eax, -100(%rbp)
+ leaq -1168(%rbp), %rax
+ movq %rax, -48(%rbp)
+ jmp .L147
+.L148:
+ movq -48(%rbp), %rax
+ movzbl (%rax), %eax
+ movzbl %al, %eax
+ movl %eax, %edi
+ call toupper
+ movl %eax, %edx
+ movq -48(%rbp), %rax
+ movb %dl, (%rax)
+ addq $1, -48(%rbp)
+.L147:
+ movq -48(%rbp), %rax
+ movzbl (%rax), %eax
+ testb %al, %al
+ jne .L148
+ movq -66768(%rbp), %rax
+ addq $16, %rax
+ movq (%rax), %rax
+ movq %rax, %rdi
+ call strlen
+ movl %eax, -20(%rbp)
+ movq -66768(%rbp), %rax
+ addq $16, %rax
+ movq (%rax), %rax
+ movl -20(%rbp), %edx
+ movslq %edx, %rdx
+ subq $1, %rdx
+ addq %rdx, %rax
+ movzbl (%rax), %eax
+ cmpb $46, %al
+ jne .L149
+ subl $1, -20(%rbp)
+.L149:
+ movl -20(%rbp), %eax
+ movslq %eax, %rdx
+ movq -66768(%rbp), %rax
+ addq $16, %rax
+ movq (%rax), %rcx
+ leaq -896(%rbp), %rax
+ movq %rcx, %rsi
+ movq %rax, %rdi
+ call strncpy
+ movl -20(%rbp), %eax
+ cltq
+ movb $0, -896(%rbp,%rax)
+ movl $0, -24(%rbp)
+ jmp .L150
+.L151:
+ movl -24(%rbp), %eax
+ cltq
+ movzbl -896(%rbp,%rax), %eax
+ movzbl %al, %eax
+ movl %eax, %edi
+ call tolower
+ movl %eax, %edx
+ movl -24(%rbp), %eax
+ cltq
+ movb %dl, -896(%rbp,%rax)
+ addl $1, -24(%rbp)
+.L150:
+ movl -24(%rbp), %eax
+ cmpl -20(%rbp), %eax
+ jl .L151
+ leaq -896(%rbp), %rax
+ movl $.LC28, %esi
+ movq %rax, %rdi
+ call strcmp
+ testl %eax, %eax
+ jne .L152
+ leaq -1168(%rbp), %rax
+ movl $.LC0, %esi
+ movq %rax, %rdi
+ call strcmp
+ testl %eax, %eax
+ jne .L152
+ leaq -896(%rbp), %rdx
+ leaq -66736(%rbp), %rax
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call special_manyhome
+ jmp .L169
+.L152:
+ cmpl $13, -20(%rbp)
+ jle .L153
+ movl -20(%rbp), %eax
+ cltq
+ leaq -14(%rax), %rdx
+ leaq -896(%rbp), %rax
+ addq %rdx, %rax
+ movl $.LC29, %esi
+ movq %rax, %rdi
+ call strcmp
+ testl %eax, %eax
+ jne .L153
+ leaq -896(%rbp), %rdx
+ leaq -66736(%rbp), %rax
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call special_again
+ jmp .L169
+.L153:
+ cmpl $12, -20(%rbp)
+ jle .L154
+ movl -20(%rbp), %eax
+ cltq
+ leaq -13(%rax), %rdx
+ leaq -896(%rbp), %rax
+ addq %rdx, %rax
+ movl $.LC30, %esi
+ movq %rax, %rdi
+ call strcmp
+ testl %eax, %eax
+ jne .L154
+ movl $3, %eax
+ jmp .L169
+.L154:
+ leaq -896(%rbp), %rax
+ movl $46, %esi
+ movq %rax, %rdi
+ call strchr
+ testq %rax, %rax
+ jne .L155
+ cmpq $0, -40(%rbp)
+ je .L155
+ leaq -896(%rbp), %rax
+ movl $.LC31, %esi
+ movq %rax, %rdi
+ call strcmp
+ testl %eax, %eax
+ je .L155
+ movq -40(%rbp), %rdx
+ leaq -896(%rbp), %rax
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call strcat
+ movq -40(%rbp), %rax
+ movq %rax, %rdi
+ call strlen
+ addl %eax, -20(%rbp)
+.L155:
+ movl $0, -24(%rbp)
+ jmp .L156
+.L160:
+ movl -24(%rbp), %eax
+ cltq
+ salq $4, %rax
+ leaq -16(%rbp), %rbx
+ addq %rbx, %rax
+ subq $624, %rax
+ movq (%rax), %rax
+ movq %rax, -56(%rbp)
+ movq -56(%rbp), %rax
+ movq %rax, %rdi
+ call strlen
+ movl %eax, -104(%rbp)
+ movq -56(%rbp), %rax
+ leaq 1(%rax), %rdx
+ leaq -896(%rbp), %rax
+ movq %rdx, %rsi
+ movq %rax, %rdi
+ call strcmp
+ testl %eax, %eax
+ je .L157
+ movl -20(%rbp), %eax
+ cmpl -104(%rbp), %eax
+ jl .L158
+ movl -20(%rbp), %eax
+ movslq %eax, %rdx
+ movl -104(%rbp), %eax
+ cltq
+ subq %rax, %rdx
+ leaq -896(%rbp), %rax
+ addq %rax, %rdx
+ movq -56(%rbp), %rax
+ movq %rax, %rsi
+ movq %rdx, %rdi
+ call strcmp
+ testl %eax, %eax
+ jne .L158
+.L157:
+ movl -24(%rbp), %eax
+ cltq
+ salq $4, %rax
+ leaq -16(%rbp), %rbx
+ addq %rbx, %rax
+ subq $624, %rax
+ movq 8(%rax), %rax
+ movq %rax, -64(%rbp)
+ jmp .L159
+.L158:
+ addl $1, -24(%rbp)
+.L156:
+ movl -24(%rbp), %eax
+ cmpl -28(%rbp), %eax
+ jl .L160
+.L159:
+ cmpq $0, -64(%rbp)
+ jne .L161
+ movq stderr(%rip), %rax
+ leaq -896(%rbp), %rdx
+ movl $.LC32, %esi
+ movq %rax, %rdi
+ movl $0, %eax
+ call fprintf
+ movl $5, %eax
+ jmp .L169
+.L161:
+ movq -66768(%rbp), %rax
+ addq $8, %rax
+ movq (%rax), %rdx
+ movq -64(%rbp), %rcx
+ leaq -1152(%rbp), %rax
+ movl $.LC33, %esi
+ movq %rax, %rdi
+ movl $0, %eax
+ call sprintf
+ leaq -66736(%rbp), %rax
+ movl $12, %edx
+ movl $0, %esi
+ movq %rax, %rdi
+ call memset
+ movq -66744(%rbp), %rax
+ addq $12, %rax
+ movq %rax, -66744(%rbp)
+ leaq -1152(%rbp), %rax
+ movl $.LC34, %esi
+ movq %rax, %rdi
+ call fopen
+ movq %rax, -112(%rbp)
+ cmpq $0, -112(%rbp)
+ jne .L162
+ call __errno_location
+ movl (%rax), %eax
+ movl %eax, %edi
+ call strerror
+ movq %rax, %rcx
+ movq stderr(%rip), %rax
+ leaq -1152(%rbp), %rdx
+ movl $.LC35, %esi
+ movq %rax, %rdi
+ movl $0, %eax
+ call fprintf
+ movl $3, %eax
+ jmp .L169
+.L162:
+ movl $0, -120(%rbp)
+ subq $8, %rsp
+ leaq -66744(%rbp), %r9
+ movl -100(%rbp), %r8d
+ leaq -1168(%rbp), %rcx
+ leaq -896(%rbp), %rdx
+ movq -56(%rbp), %rsi
+ movq -112(%rbp), %rax
+ leaq -66752(%rbp), %rdi
+ pushq %rdi
+ leaq -66748(%rbp), %rdi
+ pushq %rdi
+ leaq -120(%rbp), %rdi
+ pushq %rdi
+ movq %rax, %rdi
+ call find_records
+ addq $32, %rsp
+ movl %eax, -116(%rbp)
+ cmpl $3, -116(%rbp)
+ jne .L163
+ jmp .L164
+.L163:
+ movl -120(%rbp), %eax
+ movzwl %ax, %eax
+ movl %eax, %edi
+ call htons
+ movl %eax, %edx
+ movq -72(%rbp), %rax
+ movw %dx, 6(%rax)
+ movl -66752(%rbp), %eax
+ testl %eax, %eax
+ je .L165
+ movq -56(%rbp), %rax
+ movzbl (%rax), %eax
+ cmpb $46, %al
+ jne .L166
+ movq -56(%rbp), %rax
+ addq $1, %rax
+ jmp .L167
+.L166:
+ movq -56(%rbp), %rax
+.L167:
+ subq $8, %rsp
+ leaq -66744(%rbp), %rcx
+ movq -56(%rbp), %rsi
+ movq -112(%rbp), %rdi
+ pushq $0
+ pushq $0
+ leaq -120(%rbp), %rdx
+ pushq %rdx
+ movq %rcx, %r9
+ movl $2, %r8d
+ movl $.LC1, %ecx
+ movq %rax, %rdx
+ call find_records
+ addq $32, %rsp
+.L165:
+ movl -120(%rbp), %eax
+ movl %eax, %ebx
+ movq -72(%rbp), %rax
+ movzwl 6(%rax), %eax
+ movzwl %ax, %eax
+ movl %eax, %edi
+ call ntohs
+ subl %eax, %ebx
+ movl %ebx, %eax
+ movzwl %ax, %eax
+ movl %eax, %edi
+ call htons
+ movl %eax, %edx
+ movq -72(%rbp), %rax
+ movw %dx, 8(%rax)
+ movq -72(%rbp), %rax
+ movw $0, 10(%rax)
+ movl -66748(%rbp), %eax
+ testl %eax, %eax
+ je .L168
+ movq -72(%rbp), %rax
+ movzbl 3(%rax), %edx
+ orl $32, %edx
+ movb %dl, 3(%rax)
+.L168:
+ movl -66752(%rbp), %eax
+ testl %eax, %eax
+ je .L164
+ movq -72(%rbp), %rax
+ movzbl 2(%rax), %edx
+ orl $4, %edx
+ movb %dl, 2(%rax)
+.L164:
+ movq -112(%rbp), %rax
+ movq %rax, %rdi
+ call fclose
+ movq stdout(%rip), %rdx
+ movq -66744(%rbp), %rax
+ movq %rax, %rcx
+ leaq -66736(%rbp), %rax
+ subq %rax, %rcx
+ movq %rcx, %rax
+ movq %rax, %rsi
+ leaq -66736(%rbp), %rax
+ movq %rdx, %rcx
+ movq %rsi, %rdx
+ movl $1, %esi
+ movq %rax, %rdi
+ call fwrite
+ movl -116(%rbp), %eax
+.L169:
+ movq -8(%rbp), %rbx
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE13:
+ .size main, .-main
+ .ident "GCC: (Debian 4.9.2-10) 4.9.2"
+ .section .note.GNU-stack,"",@progbits
diff --git a/test/src/fakens.c b/test/src/fakens.c
index 63cc59da2..e4584c4df 100644
--- a/test/src/fakens.c
+++ b/test/src/fakens.c
@@ -80,6 +80,9 @@ a number of seconds (followed by one space).
#include <sys/time.h>
#include <dirent.h>
#include <unistd.h>
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
#define FALSE 0
#define TRUE 1