	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_worker_handle_request          ## -- Begin function worker_handle_request
	.p2align	4, 0x90
_worker_handle_request:                 ## @worker_handle_request
	.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	$440, %rsp                      ## imm = 0x1B8
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rcx, %r15
	movl	%edx, %ebx
	movq	%rsi, %r12
	movq	%rdi, %r14
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	movl	$0, -228(%rbp)
	movq	$0, -344(%rbp)
	movq	$0, -248(%rbp)
	leaq	-336(%rbp), %rdi
	xorl	%esi, %esi
	movl	$80, %edx
	callq	_memset
	movq	_NETEVENT_NOERROR@GOTPCREL(%rip), %rax
	cmpl	%ebx, (%rax)
	jne	LBB0_6
## %bb.1:
	movq	104(%r12), %rax
	movl	28(%rax), %edi
	leaq	8(%r15), %r13
	movl	4(%r15), %edx
	movq	%r13, %rsi
	callq	_acl_addr_lookup
	movq	%r12, %rbx
	movq	%rax, -240(%rbp)                ## 8-byte Spill
	movq	%rax, %rdi
	callq	_acl_get_control
	movl	%eax, %r12d
	movq	%r14, -192(%rbp)                ## 8-byte Spill
	movq	%r14, %rdi
	movl	%eax, %esi
	movq	%rbx, -184(%rbp)                ## 8-byte Spill
	movq	%rbx, %rdx
	movq	%r15, %rcx
	callq	_deny_refuse_all
	movl	%eax, %r14d
	cmpl	$1, %eax
	je	LBB0_7
## %bb.2:
	cmpl	$-1, %r14d
	jne	LBB0_35
## %bb.3:
	movq	%r13, -208(%rbp)                ## 8-byte Spill
	movq	%r15, -200(%rbp)                ## 8-byte Spill
	movq	-192(%rbp), %rbx                ## 8-byte Reload
	movl	(%rbx), %edi
	movq	-184(%rbp), %r13                ## 8-byte Reload
	movq	%r13, %rsi
	callq	_worker_check_request
	testl	%eax, %eax
	je	LBB0_18
## %bb.4:
	movl	%eax, %r15d
	movq	_VERB_ALGO@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	leaq	L_.str.1(%rip), %rsi
	xorl	%r14d, %r14d
	xorl	%eax, %eax
	callq	_verbose
	movq	_VERB_CLIENT@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movq	-200(%rbp), %rbx                ## 8-byte Reload
	movl	4(%rbx), %ecx
	leaq	L_.str.2(%rip), %rsi
	movq	-208(%rbp), %rdx                ## 8-byte Reload
	callq	_log_addr
	cmpl	$-1, %r15d
	je	LBB0_33
## %bb.5:
	movq	-192(%rbp), %rbx                ## 8-byte Reload
	movl	(%rbx), %edi
	callq	_sldns_buffer_begin
	movq	%rax, %rdi
	callq	_LDNS_QR_SET
	movl	(%rbx), %edi
	callq	_sldns_buffer_begin
	movq	%rax, %rdi
	movl	%r15d, %esi
	callq	_LDNS_RCODE_SET
	movl	$1, %r14d
	jmp	LBB0_35
LBB0_6:
	movq	_VERB_ALGO@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	leaq	L_.str(%rip), %rsi
	movl	%ebx, %edx
	xorl	%eax, %eax
	callq	_verbose
	xorl	%r14d, %r14d
	jmp	LBB0_35
LBB0_7:
	movl	%r14d, %r12d
LBB0_8:
	cmpl	$0, -228(%rbp)
	je	LBB0_11
LBB0_9:
	movq	%r15, %rdi
LBB0_10:
	callq	_comm_point_drop_reply
	xorl	%r14d, %r14d
	jmp	LBB0_35
LBB0_11:
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movq	8(%rax), %rax
	cmpq	$0, 8(%rax)
	je	LBB0_17
## %bb.12:
	movq	-304(%rbp), %rax
	testq	%rax, %rax
	je	LBB0_16
## %bb.13:
	movq	(%rax), %rax
	testq	%rax, %rax
	je	LBB0_16
## %bb.14:
	movq	8(%rax), %rax
	testq	%rax, %rax
	je	LBB0_16
## %bb.15:
	movq	%rax, -296(%rbp)
LBB0_16:
	movl	4(%r15), %ecx
	movq	-192(%rbp), %rax                ## 8-byte Reload
	movl	(%rax), %eax
	subq	$8, %rsp
	leaq	-336(%rbp), %rsi
	xorl	%edi, %edi
	movq	%r13, %rdx
	xorl	%r8d, %r8d
	movl	$1, %r9d
	pushq	%rax
	callq	_log_reply_info
	addq	$16, %rsp
LBB0_17:
	movl	%r12d, %r14d
	jmp	LBB0_35
LBB0_18:
	incl	84(%r13)
	movl	36(%r13), %edi
	movq	(%r13), %rax
	movq	(%rax), %rdx
	movl	(%rbx), %ecx
	movq	-200(%rbp), %r15                ## 8-byte Reload
	movq	%r15, %rsi
	callq	_infra_ip_ratelimit_inc
	testl	%eax, %eax
	je	LBB0_37
LBB0_19:
	leaq	64(%r13), %rax
	movq	%rax, -216(%rbp)                ## 8-byte Spill
	movl	(%rbx), %esi
	leaq	-336(%rbp), %rdi
	callq	_query_info_parse
	testl	%eax, %eax
	je	LBB0_40
## %bb.20:
	movq	8(%r13), %rax
	cmpq	$0, 32(%rax)
	movq	-208(%rbp), %r13                ## 8-byte Reload
	je	LBB0_22
## %bb.21:
	movl	4(%r15), %esi
	leaq	-176(%rbp), %r14
	movq	%r13, %rdi
	movq	%r14, %rdx
	movl	$128, %ecx
	callq	_addr_to_str
	movq	-296(%rbp), %rsi
	movq	-336(%rbp), %rdx
	movq	-328(%rbp), %rcx
	movq	%r14, %rdi
	callq	_log_query_in
LBB0_22:
	movq	-336(%rbp), %rax
	movq	_LDNS_RR_TYPE_AXFR@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_43
## %bb.23:
	movq	_LDNS_RR_TYPE_IXFR@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_43
## %bb.24:
	movq	_LDNS_RR_TYPE_OPT@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_45
## %bb.25:
	movq	_LDNS_RR_TYPE_TSIG@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_45
## %bb.26:
	movq	_LDNS_RR_TYPE_TKEY@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_45
## %bb.27:
	movq	_LDNS_RR_TYPE_MAILA@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_45
## %bb.28:
	movq	_LDNS_RR_TYPE_MAILB@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_45
## %bb.29:
	addq	$-128, %rax
	cmpq	$120, %rax
	jbe	LBB0_45
## %bb.30:
	movl	(%rbx), %edi
	movq	-184(%rbp), %r13                ## 8-byte Reload
	movl	56(%r13), %edx
	leaq	-176(%rbp), %rsi
	callq	_parse_edns_from_pkt
	movq	%rbx, %r14
	testl	%eax, %eax
	je	LBB0_51
## %bb.31:
	movl	%eax, %ebx
	movq	_VERB_ALGO@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	leaq	L_.str.7(%rip), %rsi
	xorl	%eax, %eax
	callq	_verbose
	movq	_VERB_CLIENT@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movl	4(%r15), %ecx
	leaq	L_.str.2(%rip), %rsi
	movq	-208(%rbp), %r13                ## 8-byte Reload
	movq	%r13, %rdx
	callq	_log_addr
	leaq	-480(%rbp), %rdi
	xorl	%esi, %esi
	movl	$80, %edx
	callq	_memset
	movl	$1, -464(%rbp)
	movq	_EDNS_ADVERTISED_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -460(%rbp)
	movl	(%r14), %edi
	callq	_sldns_buffer_begin
	movq	%rax, %rdi
	movl	%ebx, %esi
	callq	_LDNS_RCODE_SET
	movl	%ebx, %r15d
	movl	(%r14), %ebx
	movl	%ebx, %edi
	callq	_sldns_buffer_begin
	movl	(%rax), %r12d
	movl	(%r14), %edi
	movl	$2, %esi
	callq	_sldns_buffer_read_u16_at
	leaq	-336(%rbp), %rdx
	movl	%ebx, %edi
	movl	%r15d, %esi
	movl	%r12d, %ecx
	movl	%eax, %r8d
	leaq	-480(%rbp), %r9
	movq	-200(%rbp), %r15                ## 8-byte Reload
	callq	_error_encode
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movl	56(%rax), %edi
	callq	_regional_free_all
	movl	(%r14), %esi
	movq	-216(%rbp), %rdi                ## 8-byte Reload
	callq	_server_stats_insrcode
LBB0_32:
	movl	$1, %r12d
	jmp	LBB0_8
LBB0_33:
	movq	%rbx, %rdi
LBB0_34:
	callq	_comm_point_drop_reply
LBB0_35:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_128
## %bb.36:
	movl	%r14d, %eax
	addq	$440, %rsp                      ## imm = 0x1B8
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_37:
	movq	8(%r13), %rax
	movq	(%rax), %rsi
	testq	%rsi, %rsi
	je	LBB0_39
## %bb.38:
	movl	32(%r13), %edi
	callq	_ub_random_max
	testq	%rax, %rax
	je	LBB0_50
LBB0_39:
	incl	80(%r13)
	jmp	LBB0_9
LBB0_40:
	movq	_VERB_ALGO@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	leaq	L_.str.4(%rip), %rsi
	xorl	%r14d, %r14d
	xorl	%eax, %eax
	callq	_verbose
	movq	_VERB_CLIENT@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movl	4(%r15), %ecx
	leaq	L_.str.2(%rip), %rsi
	movq	-208(%rbp), %rdx                ## 8-byte Reload
	callq	_log_addr
	leaq	-336(%rbp), %rdi
	xorl	%esi, %esi
	movl	$80, %edx
	callq	_memset
	movq	_LDNS_RCODE_FORMERR@GOTPCREL(%rip), %r12
	movl	(%r12), %esi
	movq	%r13, %rdi
	callq	_worker_err_ratelimit
	cmpl	$-1, %eax
	je	LBB0_49
## %bb.41:
	movq	-192(%rbp), %rbx                ## 8-byte Reload
	movl	(%rbx), %edi
	callq	_sldns_buffer_rewind
	movl	(%rbx), %edi
	callq	_sldns_buffer_begin
	movq	%rax, %rdi
	callq	_LDNS_QR_SET
	movl	(%rbx), %edi
	callq	_sldns_buffer_begin
	movl	(%r12), %esi
	movq	%rax, %rdi
	callq	_LDNS_RCODE_SET
LBB0_42:
	movl	(%rbx), %esi
	movq	-216(%rbp), %rdi                ## 8-byte Reload
	callq	_server_stats_insrcode
	movl	$1, %r12d
	movq	-208(%rbp), %r13                ## 8-byte Reload
	jmp	LBB0_8
LBB0_43:
	movq	_VERB_ALGO@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	leaq	L_.str.5(%rip), %rsi
	xorl	%eax, %eax
	callq	_verbose
	movq	_VERB_CLIENT@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movl	4(%r15), %ecx
	leaq	L_.str.2(%rip), %rsi
	movq	%r13, %rdx
	callq	_log_addr
	movl	(%rbx), %edi
	callq	_sldns_buffer_rewind
	movl	(%rbx), %edi
	callq	_sldns_buffer_begin
	movq	%rax, %rdi
	callq	_LDNS_QR_SET
	movl	(%rbx), %edi
	callq	_sldns_buffer_begin
	movq	_LDNS_RCODE_REFUSED@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	movq	%rax, %rdi
	callq	_LDNS_RCODE_SET
	movl	$1, %r12d
	movq	-216(%rbp), %rdi                ## 8-byte Reload
	cmpq	$0, (%rdi)
	je	LBB0_8
## %bb.44:
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movq	72(%rax), %rax
	movq	-336(%rbp), %rcx
	incl	(%rax,%rcx,4)
	movl	(%rbx), %esi
	callq	_server_stats_insrcode
	jmp	LBB0_8
LBB0_45:
	movq	_VERB_ALGO@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	leaq	L_.str.6(%rip), %rsi
	xorl	%r14d, %r14d
	xorl	%eax, %eax
	callq	_verbose
	movq	_VERB_CLIENT@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movl	4(%r15), %ecx
	leaq	L_.str.2(%rip), %rsi
	movq	%r13, %rdx
	callq	_log_addr
	movq	_LDNS_RCODE_FORMERR@GOTPCREL(%rip), %r12
	movl	(%r12), %esi
	movq	-184(%rbp), %r13                ## 8-byte Reload
	movq	%r13, %rdi
	callq	_worker_err_ratelimit
	cmpl	$-1, %eax
	je	LBB0_49
## %bb.46:
	movq	-192(%rbp), %rbx                ## 8-byte Reload
	movl	(%rbx), %edi
	callq	_sldns_buffer_rewind
	movl	(%rbx), %edi
	callq	_sldns_buffer_begin
	movq	%rax, %rdi
	callq	_LDNS_QR_SET
	movl	(%rbx), %edi
	callq	_sldns_buffer_begin
	movl	(%r12), %esi
	movq	%rax, %rdi
	callq	_LDNS_RCODE_SET
	movl	$1, %r12d
	movq	-216(%rbp), %rdi                ## 8-byte Reload
	cmpq	$0, (%rdi)
	je	LBB0_48
## %bb.47:
	movq	72(%r13), %rax
	movq	-336(%rbp), %rcx
	incl	(%rax,%rcx,4)
	movl	(%rbx), %esi
	callq	_server_stats_insrcode
LBB0_48:
	movq	-208(%rbp), %r13                ## 8-byte Reload
	jmp	LBB0_8
LBB0_49:
	movq	%r15, %rdi
	jmp	LBB0_34
LBB0_50:
	movl	4(%r15), %esi
	leaq	-176(%rbp), %r14
	movq	-208(%rbp), %rdi                ## 8-byte Reload
	movq	%r14, %rdx
	movl	$128, %ecx
	callq	_addr_to_str
	movq	_VERB_QUERY@GOTPCREL(%rip), %rax
	movslq	(%rax), %rdi
	leaq	L_.str.3(%rip), %rsi
	movq	%r14, %rdx
	xorl	%eax, %eax
	callq	_verbose
	jmp	LBB0_19
LBB0_51:
	cmpl	$0, -160(%rbp)
	movq	%r14, %rbx
	movq	-208(%rbp), %r13                ## 8-byte Reload
	je	LBB0_67
## %bb.52:
	cmpq	$0, -152(%rbp)
	je	LBB0_58
## %bb.53:
	movq	_EDNS_RCODE_BADVERS@GOTPCREL(%rip), %r12
	movl	(%r12), %eax
	sarl	$4, %eax
	cltq
	movq	%rax, -104(%rbp)
	movq	_EDNS_ADVERTISED_VERSION@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -152(%rbp)
	movq	_EDNS_ADVERTISED_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -156(%rbp)
	movq	_EDNS_DO@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	%eax, -112(%rbp)
	movq	$0, -120(%rbp)
	movq	_VERB_ALGO@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	leaq	L_.str.8(%rip), %rsi
	xorl	%eax, %eax
	callq	_verbose
	movq	_VERB_CLIENT@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movl	4(%r15), %ecx
	leaq	L_.str.2(%rip), %rsi
	movq	%r13, %rdx
	callq	_log_addr
	movq	%rbx, %r13
	movl	(%rbx), %r14d
	movl	(%r12), %ebx
	andl	$15, %ebx
	movl	%r14d, %edi
	callq	_sldns_buffer_begin
	movl	(%rax), %r15d
	movl	(%r13), %edi
	movl	$2, %esi
	callq	_sldns_buffer_read_u16_at
	leaq	-336(%rbp), %rdx
	movl	%r14d, %edi
	movl	%ebx, %esi
	movl	%r15d, %ecx
	movl	%eax, %r8d
	xorl	%r9d, %r9d
	callq	_error_encode
	movl	(%r13), %edi
	callq	_sldns_buffer_capacity
	movq	%rax, %r14
	movl	(%r13), %edi
	callq	_sldns_buffer_limit
	movq	%rax, %rbx
	leaq	-176(%rbp), %rdi
	callq	_calc_edns_field_size
	addq	%rbx, %rax
	cmpq	%rax, %r14
	jl	LBB0_55
## %bb.54:
	movq	-192(%rbp), %rax                ## 8-byte Reload
	movl	(%rax), %edi
	leaq	-176(%rbp), %rsi
	callq	_attach_edns_record
LBB0_55:
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movl	56(%rax), %edi
	callq	_regional_free_all
LBB0_56:
	movl	$1, %r12d
LBB0_57:
	movq	-200(%rbp), %r15                ## 8-byte Reload
	movq	-208(%rbp), %r13                ## 8-byte Reload
	jmp	LBB0_8
LBB0_58:
	movl	-156(%rbp), %edx
	movq	_NORMAL_UDP_SIZE@GOTPCREL(%rip), %r14
	cmpl	(%r14), %edx
	jge	LBB0_61
## %bb.59:
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movq	104(%rax), %rax
	movq	16(%rax), %rax
	cmpq	$0, 16(%rax)
	je	LBB0_61
## %bb.60:
	movq	_VERB_QUERY@GOTPCREL(%rip), %rax
	movslq	(%rax), %rdi
	leaq	L_.str.9(%rip), %rsi
	xorl	%eax, %eax
	callq	_verbose
	movq	_VERB_CLIENT@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movl	4(%r15), %ecx
	leaq	L_.str.2(%rip), %rsi
	movq	%r13, %rdx
	callq	_log_addr
	movl	(%r14), %eax
	movl	%eax, -156(%rbp)
LBB0_61:
	movl	4(%rbx), %eax
	movq	_comm_udp@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	je	LBB0_67
## %bb.62:
	movq	-120(%rbp), %rdi
	movq	_LDNS_EDNS_KEEPALIVE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_edns_opt_list_find
	testq	%rax, %rax
	je	LBB0_67
## %bb.63:
	cmpq	$0, (%rax)
	jle	LBB0_67
## %bb.64:
	movq	$0, -104(%rbp)
	movq	_EDNS_ADVERTISED_VERSION@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -152(%rbp)
	movq	_EDNS_ADVERTISED_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -156(%rbp)
	movq	_EDNS_DO@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	%eax, -112(%rbp)
	movq	$0, -120(%rbp)
	movq	_VERB_ALGO@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	leaq	L_.str.10(%rip), %rsi
	xorl	%eax, %eax
	callq	_verbose
	movq	_VERB_CLIENT@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movl	4(%r15), %ecx
	leaq	L_.str.2(%rip), %rsi
	movq	%r13, %rdx
	callq	_log_addr
	movl	(%rbx), %r12d
	movq	_LDNS_RCODE_FORMERR@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	movl	%r12d, %edi
	callq	_sldns_buffer_begin
	movl	(%rax), %r15d
	movl	(%rbx), %edi
	movl	$2, %esi
	callq	_sldns_buffer_read_u16_at
	leaq	-336(%rbp), %rdx
	movl	%r12d, %edi
	movl	%r14d, %esi
	movl	%r15d, %ecx
	movl	%eax, %r8d
	xorl	%r9d, %r9d
	callq	_error_encode
	movl	(%rbx), %edi
	callq	_sldns_buffer_capacity
	movq	%rax, %r14
	movl	(%rbx), %edi
	callq	_sldns_buffer_limit
	movq	%rax, %rbx
	leaq	-176(%rbp), %rdi
	callq	_calc_edns_field_size
	addq	%rbx, %rax
	cmpq	%rax, %r14
	jl	LBB0_66
## %bb.65:
	movq	-192(%rbp), %rax                ## 8-byte Reload
	movl	(%rax), %edi
	leaq	-176(%rbp), %rsi
	callq	_attach_edns_record
LBB0_66:
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movl	56(%rax), %edi
	callq	_regional_free_all
	movl	$1, %r12d
	movq	-200(%rbp), %r15                ## 8-byte Reload
	jmp	LBB0_8
LBB0_67:
	movl	-156(%rbp), %edx
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movq	104(%rax), %rax
	movq	16(%rax), %rax
	cmpl	(%rax), %edx
	jle	LBB0_70
## %bb.68:
	movl	4(%rbx), %eax
	movq	_comm_udp@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jne	LBB0_70
## %bb.69:
	movq	_VERB_QUERY@GOTPCREL(%rip), %rax
	movslq	(%rax), %rdi
	leaq	L_.str.11(%rip), %rsi
	xorl	%eax, %eax
	callq	_verbose
	movq	_VERB_CLIENT@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movl	4(%r15), %ecx
	leaq	L_.str.2(%rip), %rsi
	movq	%r13, %rdx
	callq	_log_addr
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movq	104(%rax), %rax
	movq	16(%rax), %rax
	movl	(%rax), %edx
	movl	%edx, -156(%rbp)
LBB0_70:
	movq	_LDNS_HEADER_SIZE@GOTPCREL(%rip), %r14
	cmpl	(%r14), %edx
	jge	LBB0_72
## %bb.71:
	movq	_VERB_ALGO@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	leaq	L_.str.12(%rip), %rsi
	xorl	%eax, %eax
	callq	_verbose
	movq	_VERB_CLIENT@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movl	4(%r15), %ecx
	leaq	L_.str.2(%rip), %rsi
	movq	%r13, %rdx
	callq	_log_addr
	movl	(%rbx), %edi
	callq	_sldns_buffer_begin
	movq	%rax, %rdi
	callq	_LDNS_QR_SET
	movl	(%rbx), %edi
	callq	_sldns_buffer_begin
	movq	%rax, %rdi
	callq	_LDNS_TC_SET
	movl	(%rbx), %edi
	callq	_sldns_buffer_begin
	movq	_LDNS_RCODE_SERVFAIL@GOTPCREL(%rip), %rcx
	movl	(%rcx), %esi
	movq	%rax, %rdi
	callq	_LDNS_RCODE_SET
	movl	(%rbx), %edi
	movl	(%r14), %esi
	callq	_sldns_buffer_set_position
	movl	(%rbx), %edi
	leaq	l_.str.13(%rip), %rdx
	movl	$4, %esi
	movl	$8, %ecx
	callq	_sldns_buffer_write_at
	movl	(%rbx), %edi
	callq	_sldns_buffer_flip
	jmp	LBB0_79
LBB0_72:
	movq	-216(%rbp), %rdi                ## 8-byte Reload
	cmpq	$0, (%rdi)
	je	LBB0_74
## %bb.73:
	movq	-336(%rbp), %rdx
	movq	-328(%rbp), %rcx
	leaq	-176(%rbp), %r8
	movq	%rbx, %rsi
	movq	%r15, %r9
	callq	_server_stats_insquery
LBB0_74:
	movl	4(%rbx), %eax
	movq	_comm_udp@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	je	LBB0_76
## %bb.75:
	movl	$65535, -156(%rbp)              ## imm = 0xFFFF
LBB0_76:
	movq	-328(%rbp), %rax
	movq	_LDNS_RR_CLASS_CH@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_80
## %bb.77:
	movl	(%rbx), %r8d
	leaq	-336(%rbp), %rsi
	leaq	-176(%rbp), %rdx
	movq	-184(%rbp), %rdi                ## 8-byte Reload
	movq	%r15, %rcx
	callq	_answer_chaos
	testq	%rax, %rax
	je	LBB0_80
## %bb.78:
	movl	(%rbx), %esi
	movq	-216(%rbp), %rdi                ## 8-byte Reload
	callq	_server_stats_insrcode
LBB0_79:
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movl	56(%rax), %edi
	callq	_regional_free_all
	jmp	LBB0_32
LBB0_80:
	movl	(%rbx), %edi
	callq	_sldns_buffer_begin
	movq	%rax, %rdi
	callq	_LDNS_OPCODE_WIRE
	movq	_LDNS_PACKET_NOTIFY@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_82
## %bb.81:
	movl	(%rbx), %ecx
	leaq	-336(%rbp), %rsi
	leaq	-176(%rbp), %rdx
	movq	-184(%rbp), %rbx                ## 8-byte Reload
	movq	%rbx, %rdi
	movq	%r15, %r8
	callq	_answer_notify
	movl	56(%rbx), %edi
	callq	_regional_free_all
	jmp	LBB0_32
LBB0_82:
	movq	-184(%rbp), %r13                ## 8-byte Reload
	movq	104(%r13), %rcx
	movl	24(%rcx), %edi
	movl	(%rbx), %r8d
	movl	56(%r13), %r9d
	movq	-240(%rbp), %rdx                ## 8-byte Reload
	movl	24(%rdx), %eax
	movq	%rax, -224(%rbp)                ## 8-byte Spill
	movl	20(%rdx), %eax
	movq	%rax, -368(%rbp)                ## 8-byte Spill
	movl	16(%rdx), %eax
	movq	%rax, -360(%rbp)                ## 8-byte Spill
	movl	12(%rdx), %eax
	movq	%rax, -352(%rbp)                ## 8-byte Spill
	movl	8(%rdx), %eax
	movl	(%rdx), %r15d
	movl	4(%rdx), %r10d
	movq	16(%rcx), %rcx
	movl	4(%rcx), %r11d
	movl	8(%rcx), %r14d
	leaq	-336(%rbp), %rdx
	leaq	-176(%rbp), %rcx
	movq	%r13, %rsi
	pushq	%r15
	movq	-200(%rbp), %r15                ## 8-byte Reload
	pushq	%r11
	pushq	%r14
	pushq	%r10
	pushq	%rax
	pushq	-352(%rbp)                      ## 8-byte Folded Reload
	pushq	-360(%rbp)                      ## 8-byte Folded Reload
	pushq	-368(%rbp)                      ## 8-byte Folded Reload
	pushq	-224(%rbp)                      ## 8-byte Folded Reload
	pushq	%r15
	callq	_local_zones_answer
	addq	$80, %rsp
	testq	%rax, %rax
	je	LBB0_84
## %bb.83:
	movl	56(%r13), %edi
	callq	_regional_free_all
	movl	(%rbx), %edi
	callq	_sldns_buffer_limit
	testq	%rax, %rax
	jne	LBB0_42
	jmp	LBB0_9
LBB0_84:
	movq	24(%r13), %rdi
	testq	%rdi, %rdi
	je	LBB0_92
## %bb.85:
	movl	(%rbx), %r9d
	movl	56(%r13), %eax
	subq	$8, %rsp
	leaq	-336(%rbp), %rdx
	leaq	-176(%rbp), %rcx
	movq	%r13, %rsi
	movq	%r15, %r8
	pushq	%rax
	callq	_auth_zones_answer
	addq	$16, %rsp
	testq	%rax, %rax
	je	LBB0_92
## %bb.86:
	movl	56(%r13), %edi
	callq	_regional_free_all
	movl	(%rbx), %edi
	callq	_sldns_buffer_limit
	testq	%rax, %rax
	je	LBB0_100
## %bb.87:
	movq	-192(%rbp), %rax                ## 8-byte Reload
	movl	(%rax), %edi
	callq	_sldns_buffer_begin
	movq	%rax, %rdi
	callq	_LDNS_RD_WIRE
	testq	%rax, %rax
	je	LBB0_91
## %bb.88:
	movq	_acl_deny_non_local@GOTPCREL(%rip), %rax
	cmpl	(%rax), %r12d
	je	LBB0_91
## %bb.89:
	movq	_acl_refuse_non_local@GOTPCREL(%rip), %rax
	cmpl	(%rax), %r12d
	je	LBB0_91
## %bb.90:
	movq	-192(%rbp), %rax                ## 8-byte Reload
	movl	(%rax), %edi
	callq	_sldns_buffer_begin
	movq	%rax, %rdi
	callq	_LDNS_RA_SET
LBB0_91:
	movq	-192(%rbp), %rax                ## 8-byte Reload
	movl	(%rax), %esi
	movq	-216(%rbp), %rdi                ## 8-byte Reload
	callq	_server_stats_insrcode
	jmp	LBB0_56
LBB0_92:
	movq	%rbx, %rdi
	movl	%r12d, %esi
	movq	%r13, %rdx
	movq	%r15, %rcx
	callq	_deny_refuse_non_local
	cmpl	$-1, %eax
	je	LBB0_94
## %bb.93:
	movl	%eax, %r14d
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movl	56(%rax), %edi
	callq	_regional_free_all
	movl	$1, %r12d
	cmpl	$1, %r14d
	movq	-200(%rbp), %r15                ## 8-byte Reload
	movq	-208(%rbp), %r13                ## 8-byte Reload
	je	LBB0_8
	jmp	LBB0_35
LBB0_94:
	movq	-192(%rbp), %rax                ## 8-byte Reload
	movl	(%rax), %edi
	callq	_sldns_buffer_begin
	movq	%rax, %rdi
	callq	_LDNS_RD_WIRE
	testq	%rax, %rax
	jne	LBB0_97
## %bb.95:
	movq	_acl_allow_setrd@GOTPCREL(%rip), %rax
	cmpl	(%rax), %r12d
	jne	LBB0_97
## %bb.96:
	movq	-192(%rbp), %rax                ## 8-byte Reload
	movl	(%rax), %edi
	callq	_sldns_buffer_begin
	movq	%rax, %rdi
	callq	_LDNS_RD_SET
LBB0_97:
	movq	-192(%rbp), %rax                ## 8-byte Reload
	movl	(%rax), %edi
	callq	_sldns_buffer_begin
	movq	%rax, %rdi
	callq	_LDNS_RD_WIRE
	testq	%rax, %rax
	jne	LBB0_101
## %bb.98:
	movq	_acl_allow_snoop@GOTPCREL(%rip), %rax
	cmpl	(%rax), %r12d
	je	LBB0_101
## %bb.99:
	movq	-192(%rbp), %rbx                ## 8-byte Reload
	movl	(%rbx), %r12d
	movq	_LDNS_RCODE_REFUSED@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	movl	%r12d, %edi
	callq	_sldns_buffer_begin
	movl	(%rax), %r15d
	movl	(%rbx), %edi
	movl	$2, %esi
	callq	_sldns_buffer_read_u16_at
	leaq	-336(%rbp), %rdx
	movl	%r12d, %edi
	movl	%r14d, %esi
	movl	%r15d, %ecx
	movl	%eax, %r8d
	xorl	%r9d, %r9d
	callq	_error_encode
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movl	56(%rax), %edi
	callq	_regional_free_all
	movl	(%rbx), %esi
	movq	-216(%rbp), %rdi                ## 8-byte Reload
	callq	_server_stats_insrcode
	movq	_VERB_ALGO@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movq	-200(%rbp), %r15                ## 8-byte Reload
	movl	4(%r15), %ecx
	leaq	L_.str.14(%rip), %rsi
	movq	-208(%rbp), %r13                ## 8-byte Reload
	movq	%r13, %rdx
	callq	_log_addr
	jmp	LBB0_32
LBB0_100:
	movq	-200(%rbp), %rdi                ## 8-byte Reload
	jmp	LBB0_10
LBB0_101:
	movq	-304(%rbp), %rax
	testq	%rax, %rax
	je	LBB0_106
## %bb.102:
	cmpq	$0, 8(%rax)
	jne	LBB0_111
## %bb.103:
	movq	(%rax), %rax
	movq	16(%rax), %r14
	movq	(%rax), %rbx
	movq	_LDNS_RR_TYPE_CNAME@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_htons
	cmpq	%rax, %rbx
	jne	LBB0_111
## %bb.104:
	cmpl	$1, (%r14)
	jne	LBB0_111
## %bb.105:
	movq	16(%r14), %rax
	movq	(%rax), %rax
	addq	$2, %rax
	movq	%rax, -296(%rbp)
	movq	8(%r14), %rax
	movq	(%rax), %rax
	addq	$-2, %rax
	movq	%rax, -288(%rbp)
LBB0_106:
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movq	104(%rax), %rax
	cmpq	$0, 8(%rax)
	je	LBB0_110
## %bb.107:
	movq	-336(%rbp), %rcx
	movq	_LDNS_RR_TYPE_A@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rcx
	je	LBB0_113
## %bb.108:
	movq	_LDNS_RR_TYPE_AAAA@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rcx
	je	LBB0_113
## %bb.109:
	movq	_LDNS_RR_TYPE_ANY@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rcx
	je	LBB0_113
LBB0_110:
	xorl	%eax, %eax
	jmp	LBB0_114
LBB0_111:
	leaq	L_.str.15(%rip), %rdi
LBB0_112:
	callq	_log_err
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movl	56(%rax), %edi
	callq	_regional_free_all
	xorl	%r14d, %r14d
	jmp	LBB0_35
LBB0_113:
	movq	-240(%rbp), %rdx                ## 8-byte Reload
	movl	24(%rdx), %ecx
	movl	%ecx, -372(%rbp)
	movl	20(%rdx), %ecx
	movl	%ecx, -376(%rbp)
	movl	16(%rdx), %ecx
	movl	%ecx, -380(%rbp)
	movups	(%rdx), %xmm0
	movups	%xmm0, -396(%rbp)
	movl	(%rax), %eax
	movl	%eax, -400(%rbp)
	leaq	-400(%rbp), %rax
LBB0_114:
	movq	%rax, -224(%rbp)                ## 8-byte Spill
	movq	-120(%rbp), %rdi
	movq	-184(%rbp), %rsi                ## 8-byte Reload
	callq	_edns_bypass_cache_stage
	testl	%eax, %eax
	je	LBB0_118
LBB0_115:
	movq	-192(%rbp), %rax                ## 8-byte Reload
	movl	(%rax), %edi
	callq	_sldns_buffer_rewind
	movq	-216(%rbp), %rdi                ## 8-byte Reload
	movq	-184(%rbp), %rsi                ## 8-byte Reload
	callq	_server_stats_querymiss
	movq	_verbosity@GOTPCREL(%rip), %rax
	movq	_VERB_CLIENT@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rdi
	cmpq	%rdi, (%rax)
	jl	LBB0_117
## %bb.116:
	movq	-192(%rbp), %rax                ## 8-byte Reload
	movl	4(%rax), %eax
	movq	_comm_udp@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	movq	-200(%rbp), %rax                ## 8-byte Reload
	movl	4(%rax), %ecx
	leaq	L_.str.19(%rip), %rax
	leaq	L_.str.20(%rip), %rsi
	cmoveq	%rax, %rsi
	movq	-208(%rbp), %rdx                ## 8-byte Reload
	callq	_log_addr
LBB0_117:
	movq	-184(%rbp), %r12                ## 8-byte Reload
	movl	16(%r12), %r14d
	movq	-192(%rbp), %rbx                ## 8-byte Reload
	movl	(%rbx), %edi
	movl	$2, %esi
	callq	_sldns_buffer_read_u16_at
	movl	%eax, %r15d
	movl	(%rbx), %edi
	callq	_sldns_buffer_begin
	movl	(%rax), %eax
	subq	$8, %rsp
	leaq	-336(%rbp), %rsi
	leaq	-176(%rbp), %r8
	movl	%r14d, %edi
	movq	-224(%rbp), %rdx                ## 8-byte Reload
	movl	%r15d, %ecx
	movq	-200(%rbp), %r9                 ## 8-byte Reload
	pushq	%rax
	callq	_mesh_new_client
	addq	$16, %rsp
	movl	56(%r12), %edi
	callq	_regional_free_all
	xorl	%r14d, %r14d
	movq	%r12, %rdi
	xorl	%esi, %esi
	callq	_worker_mem_report
	jmp	LBB0_35
LBB0_118:
	leaq	-336(%rbp), %r13
	movq	-192(%rbp), %r14                ## 8-byte Reload
LBB0_119:                               ## =>This Inner Loop Header: Depth=1
	movq	-192(%rbp), %rax                ## 8-byte Reload
	movl	(%rax), %edi
	movl	$2, %esi
	callq	_sldns_buffer_read_u16_at
	movq	%r13, %rdi
	movl	%eax, %esi
	callq	_query_info_hash
	movq	-184(%rbp), %rcx                ## 8-byte Reload
	movl	20(%rcx), %edi
	movl	%eax, %esi
	movq	%r13, %rdx
	xorl	%ecx, %ecx
	callq	_slabhash_lookup
	testq	%rax, %rax
	je	LBB0_130
## %bb.120:                             ##   in Loop: Header=BB0_119 Depth=1
	movq	%rax, %r12
	movq	8(%rax), %rax
	movq	%rax, -240(%rbp)                ## 8-byte Spill
	movl	(%r14), %edi
	callq	_sldns_buffer_begin
	movl	(%rax), %r15d
	movl	(%r14), %edi
	movl	$2, %esi
	callq	_sldns_buffer_read_u16_at
                                        ## kill: def $eax killed $eax def $rax
	subq	$8, %rsp
	movq	-184(%rbp), %rdi                ## 8-byte Reload
	leaq	-336(%rbp), %rsi
	movq	-224(%rbp), %rdx                ## 8-byte Reload
	leaq	-228(%rbp), %rcx
	leaq	-344(%rbp), %r8
	leaq	-248(%rbp), %r9
	leaq	-176(%rbp), %rbx
	pushq	%rbx
	pushq	-200(%rbp)                      ## 8-byte Folded Reload
	pushq	%rax
	pushq	%r15
	pushq	-240(%rbp)                      ## 8-byte Folded Reload
	callq	_answer_from_cache
	addq	$48, %rsp
	testq	%rax, %rax
	je	LBB0_129
## %bb.121:                             ##   in Loop: Header=BB0_119 Depth=1
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movq	8(%rax), %rax
	cmpq	$0, 24(%rax)
	jne	LBB0_123
## %bb.122:                             ##   in Loop: Header=BB0_119 Depth=1
	cmpq	$0, 16(%rax)
	je	LBB0_124
LBB0_123:                               ##   in Loop: Header=BB0_119 Depth=1
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movq	(%rax), %rax
	movq	(%rax), %rax
	movq	8(%r12), %rcx
	cmpq	(%rcx), %rax
	jge	LBB0_125
LBB0_124:                               ##   in Loop: Header=BB0_119 Depth=1
	movq	-248(%rbp), %rbx
	movq	%r12, %rdi
	callq	_lock_rw_unlock
	testq	%rbx, %rbx
	jne	LBB0_126
	jmp	LBB0_55
LBB0_125:                               ##   in Loop: Header=BB0_119 Depth=1
	movq	8(%rcx), %rcx
	subq	%rax, %rcx
	movl	$0, %ebx
	cmovgeq	%rcx, %rbx
	movq	%r12, %rdi
	callq	_lock_rw_unlock
	movq	-192(%rbp), %rax                ## 8-byte Reload
	movl	(%rax), %edi
	movl	$2, %esi
	callq	_sldns_buffer_read_u16_at
	movq	-184(%rbp), %rdi                ## 8-byte Reload
	movq	%r13, %rsi
	movl	%eax, %edx
	movq	-200(%rbp), %rcx                ## 8-byte Reload
	movq	%rbx, %r8
	callq	_reply_and_prefetch
	cmpq	$0, -248(%rbp)
	je	LBB0_134
LBB0_126:                               ##   in Loop: Header=BB0_119 Depth=1
	leaq	-480(%rbp), %rdi
	xorl	%esi, %esi
	movl	$80, %edx
	callq	_memset
	movq	-344(%rbp), %rdi
	leaq	-440(%rbp), %rsi
	leaq	-432(%rbp), %rdx
	callq	_get_cname_target
	cmpq	$0, -440(%rbp)
	je	LBB0_133
## %bb.127:                             ##   in Loop: Header=BB0_119 Depth=1
	movaps	-336(%rbp), %xmm0
	movaps	%xmm0, -480(%rbp)
	movq	-120(%rbp), %rdi
	movq	-184(%rbp), %rsi                ## 8-byte Reload
	callq	_edns_bypass_cache_stage
	leaq	-480(%rbp), %r13
	testl	%eax, %eax
	je	LBB0_119
	jmp	LBB0_115
LBB0_128:
	callq	___stack_chk_fail
LBB0_129:
	movq	_VERB_ALGO@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	leaq	L_.str.17(%rip), %rsi
	xorl	%eax, %eax
	callq	_verbose
	movq	%r12, %rdi
	callq	_lock_rw_unlock
LBB0_130:
	movq	-192(%rbp), %rax                ## 8-byte Reload
	movl	(%rax), %edi
	callq	_sldns_buffer_begin
	movq	%rax, %rdi
	callq	_LDNS_RD_WIRE
	testq	%rax, %rax
	jne	LBB0_115
## %bb.131:
	movq	-192(%rbp), %rbx                ## 8-byte Reload
	movl	(%rbx), %edi
	callq	_sldns_buffer_begin
	movl	(%rax), %r14d
	movl	(%rbx), %edi
	movl	$2, %esi
	callq	_sldns_buffer_read_u16_at
	leaq	-336(%rbp), %rsi
	leaq	-176(%rbp), %r9
	movq	-184(%rbp), %rdi                ## 8-byte Reload
	movl	%r14d, %edx
	movl	%eax, %ecx
	movq	-200(%rbp), %r8                 ## 8-byte Reload
	callq	_answer_norec_from_cache
	testq	%rax, %rax
	jne	LBB0_55
## %bb.132:
	movq	_VERB_ALGO@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	leaq	L_.str.18(%rip), %rsi
	xorl	%eax, %eax
	callq	_verbose
	jmp	LBB0_115
LBB0_133:
	leaq	L_.str.16(%rip), %rdi
	jmp	LBB0_112
LBB0_134:
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movl	56(%rax), %edi
	callq	_regional_free_all
	xorl	%r12d, %r12d
	jmp	LBB0_57
	.cfi_endproc
                                        ## -- End function
	.comm	_NETEVENT_NOERROR,4,2           ## @NETEVENT_NOERROR
	.comm	_VERB_ALGO,8,3                  ## @VERB_ALGO
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"handle request called with err=%d"

L_.str.1:                               ## @.str.1
	.asciz	"worker check request: bad query."

	.comm	_VERB_CLIENT,8,3                ## @VERB_CLIENT
L_.str.2:                               ## @.str.2
	.asciz	"from"

	.comm	_VERB_QUERY,4,2                 ## @VERB_QUERY
L_.str.3:                               ## @.str.3
	.asciz	"ip_ratelimit allowed through for ip address %s because of slip in ip_ratelimit_factor"

L_.str.4:                               ## @.str.4
	.asciz	"worker parse request: formerror."

	.comm	_LDNS_RCODE_FORMERR,4,2         ## @LDNS_RCODE_FORMERR
	.comm	_LDNS_RR_TYPE_AXFR,8,3          ## @LDNS_RR_TYPE_AXFR
	.comm	_LDNS_RR_TYPE_IXFR,8,3          ## @LDNS_RR_TYPE_IXFR
L_.str.5:                               ## @.str.5
	.asciz	"worker request: refused zone transfer."

	.comm	_LDNS_RCODE_REFUSED,4,2         ## @LDNS_RCODE_REFUSED
	.comm	_LDNS_RR_TYPE_OPT,8,3           ## @LDNS_RR_TYPE_OPT
	.comm	_LDNS_RR_TYPE_TSIG,8,3          ## @LDNS_RR_TYPE_TSIG
	.comm	_LDNS_RR_TYPE_TKEY,8,3          ## @LDNS_RR_TYPE_TKEY
	.comm	_LDNS_RR_TYPE_MAILA,8,3         ## @LDNS_RR_TYPE_MAILA
	.comm	_LDNS_RR_TYPE_MAILB,8,3         ## @LDNS_RR_TYPE_MAILB
L_.str.6:                               ## @.str.6
	.asciz	"worker request: formerror for meta-type."

L_.str.7:                               ## @.str.7
	.asciz	"worker parse edns: formerror."

	.comm	_EDNS_ADVERTISED_SIZE,8,3       ## @EDNS_ADVERTISED_SIZE
	.comm	_EDNS_RCODE_BADVERS,4,2         ## @EDNS_RCODE_BADVERS
	.comm	_EDNS_ADVERTISED_VERSION,8,3    ## @EDNS_ADVERTISED_VERSION
	.comm	_EDNS_DO,4,2                    ## @EDNS_DO
L_.str.8:                               ## @.str.8
	.asciz	"query with bad edns version."

	.comm	_NORMAL_UDP_SIZE,4,2            ## @NORMAL_UDP_SIZE
L_.str.9:                               ## @.str.9
	.asciz	"worker request: EDNS bufsize %d ignored"

	.comm	_comm_udp,4,2                   ## @comm_udp
	.comm	_LDNS_EDNS_KEEPALIVE,4,2        ## @LDNS_EDNS_KEEPALIVE
L_.str.10:                              ## @.str.10
	.asciz	"query with bad edns keepalive."

L_.str.11:                              ## @.str.11
	.asciz	"worker request: max UDP reply size modified (%d to max-udp-size)"

	.comm	_LDNS_HEADER_SIZE,4,2           ## @LDNS_HEADER_SIZE
L_.str.12:                              ## @.str.12
	.asciz	"worker request: edns is too small."

	.comm	_LDNS_RCODE_SERVFAIL,4,2        ## @LDNS_RCODE_SERVFAIL
	.section	__TEXT,__const
l_.str.13:                              ## @.str.13
	.space	9

	.comm	_LDNS_RR_CLASS_CH,8,3           ## @LDNS_RR_CLASS_CH
	.comm	_LDNS_PACKET_NOTIFY,8,3         ## @LDNS_PACKET_NOTIFY
	.comm	_acl_deny_non_local,4,2         ## @acl_deny_non_local
	.comm	_acl_refuse_non_local,4,2       ## @acl_refuse_non_local
	.comm	_acl_allow_setrd,4,2            ## @acl_allow_setrd
	.comm	_acl_allow_snoop,4,2            ## @acl_allow_snoop
	.section	__TEXT,__cstring,cstring_literals
L_.str.14:                              ## @.str.14
	.asciz	"refused nonrec (cache snoop) query from"

	.comm	_LDNS_RR_TYPE_CNAME,4,2         ## @LDNS_RR_TYPE_CNAME
L_.str.15:                              ## @.str.15
	.asciz	"assumption failure: unexpected local alias"

	.comm	_LDNS_RR_TYPE_A,8,3             ## @LDNS_RR_TYPE_A
	.comm	_LDNS_RR_TYPE_AAAA,8,3          ## @LDNS_RR_TYPE_AAAA
	.comm	_LDNS_RR_TYPE_ANY,8,3           ## @LDNS_RR_TYPE_ANY
L_.str.16:                              ## @.str.16
	.asciz	"unexpected: invalid answer alias"

L_.str.17:                              ## @.str.17
	.asciz	"answer from the cache failed"

L_.str.18:                              ## @.str.18
	.asciz	"answer norec from cache -- need to validate or not primed"

	.comm	_verbosity,8,3                  ## @verbosity
L_.str.19:                              ## @.str.19
	.asciz	"udp request from"

L_.str.20:                              ## @.str.20
	.asciz	"tcp request from"

	.comm	_LDNS_MAX_DOMAINLEN,4,2         ## @LDNS_MAX_DOMAINLEN
	.comm	_LDNS_RR_TYPE_TXT,8,3           ## @LDNS_RR_TYPE_TXT
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_worker_handle_request          ; -- Begin function worker_handle_request
	.p2align	2
_worker_handle_request:                 ; @worker_handle_request
	.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, #432
	mov	x19, x3
	mov	x22, x2
	mov	x21, x1
	mov	x20, x0
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	stur	x8, [x29, #-96]
	str	wzr, [sp, #204]
	stp	xzr, xzr, [sp, #184]
	add	x0, sp, #208
	mov	w1, #0
	mov	w2, #80
	bl	_memset
Lloh3:
	adrp	x8, _NETEVENT_NOERROR@GOTPAGE
Lloh4:
	ldr	x8, [x8, _NETEVENT_NOERROR@GOTPAGEOFF]
Lloh5:
	ldr	w8, [x8]
	cmp	w8, w22
	b.ne	LBB0_6
; %bb.1:
	ldr	x8, [x21, #104]
	ldr	w0, [x8, #28]
	add	x22, x19, #8
	ldr	w2, [x19, #4]
	mov	x1, x22
	bl	_acl_addr_lookup
	mov	x24, x0
	bl	_acl_get_control
	mov	x25, x0
	mov	x0, x20
	mov	x1, x25
	mov	x2, x21
	mov	x3, x19
	bl	_deny_refuse_all
	mov	x26, x0
	cmp	w0, #1
	b.eq	LBB0_33
; %bb.2:
	cmn	w26, #1
	b.ne	LBB0_36
; %bb.3:
	ldr	w0, [x20]
	mov	x1, x21
	bl	_worker_check_request
	cbz	w0, LBB0_7
; %bb.4:
	mov	x23, x0
Lloh6:
	adrp	x8, _VERB_ALGO@GOTPAGE
Lloh7:
	ldr	x8, [x8, _VERB_ALGO@GOTPAGEOFF]
Lloh8:
	ldr	x0, [x8]
Lloh9:
	adrp	x1, l_.str.1@PAGE
Lloh10:
	add	x1, x1, l_.str.1@PAGEOFF
	bl	_verbose
Lloh11:
	adrp	x8, _VERB_CLIENT@GOTPAGE
Lloh12:
	ldr	x8, [x8, _VERB_CLIENT@GOTPAGEOFF]
Lloh13:
	ldr	x0, [x8]
	ldr	w3, [x19, #4]
Lloh14:
	adrp	x1, l_.str.2@PAGE
Lloh15:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x2, x22
	bl	_log_addr
	cmn	w23, #1
	b.eq	LBB0_34
; %bb.5:
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	bl	_LDNS_QR_SET
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	mov	x1, x23
	bl	_LDNS_RCODE_SET
	mov	w26, #1
	b	LBB0_36
LBB0_6:
Lloh16:
	adrp	x8, _VERB_ALGO@GOTPAGE
Lloh17:
	ldr	x8, [x8, _VERB_ALGO@GOTPAGEOFF]
Lloh18:
	ldr	x0, [x8]
	str	x22, [sp]
Lloh19:
	adrp	x1, l_.str@PAGE
Lloh20:
	add	x1, x1, l_.str@PAGEOFF
	bl	_verbose
	b	LBB0_35
LBB0_7:
	ldr	w8, [x21, #84]
	add	w8, w8, #1
	str	w8, [x21, #84]
	ldr	w0, [x21, #36]
	ldr	x8, [x21]
	ldr	x2, [x8]
	ldr	w3, [x20]
	mov	x1, x19
	bl	_infra_ip_ratelimit_inc
	cbz	w0, LBB0_21
LBB0_8:
	add	x23, x21, #64
	ldr	w1, [x20]
	add	x0, sp, #208
	bl	_query_info_parse
	cbz	w0, LBB0_24
; %bb.9:
	ldr	x8, [x21, #8]
	ldr	x8, [x8, #32]
	cbz	x8, LBB0_11
; %bb.10:
	ldr	w1, [x19, #4]
	sub	x2, x29, #224
	mov	x0, x22
	mov	w3, #128
	bl	_addr_to_str
	ldr	x1, [sp, #248]
	ldp	x2, x3, [sp, #208]
	sub	x0, x29, #224
	bl	_log_query_in
LBB0_11:
	ldr	x8, [sp, #208]
Lloh21:
	adrp	x9, _LDNS_RR_TYPE_AXFR@GOTPAGE
Lloh22:
	ldr	x9, [x9, _LDNS_RR_TYPE_AXFR@GOTPAGEOFF]
Lloh23:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_26
; %bb.12:
Lloh24:
	adrp	x9, _LDNS_RR_TYPE_IXFR@GOTPAGE
Lloh25:
	ldr	x9, [x9, _LDNS_RR_TYPE_IXFR@GOTPAGEOFF]
Lloh26:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_26
; %bb.13:
Lloh27:
	adrp	x9, _LDNS_RR_TYPE_OPT@GOTPAGE
Lloh28:
	ldr	x9, [x9, _LDNS_RR_TYPE_OPT@GOTPAGEOFF]
Lloh29:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_27
; %bb.14:
Lloh30:
	adrp	x9, _LDNS_RR_TYPE_TSIG@GOTPAGE
Lloh31:
	ldr	x9, [x9, _LDNS_RR_TYPE_TSIG@GOTPAGEOFF]
Lloh32:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_27
; %bb.15:
Lloh33:
	adrp	x9, _LDNS_RR_TYPE_TKEY@GOTPAGE
Lloh34:
	ldr	x9, [x9, _LDNS_RR_TYPE_TKEY@GOTPAGEOFF]
Lloh35:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_27
; %bb.16:
Lloh36:
	adrp	x9, _LDNS_RR_TYPE_MAILA@GOTPAGE
Lloh37:
	ldr	x9, [x9, _LDNS_RR_TYPE_MAILA@GOTPAGEOFF]
Lloh38:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_27
; %bb.17:
Lloh39:
	adrp	x9, _LDNS_RR_TYPE_MAILB@GOTPAGE
Lloh40:
	ldr	x9, [x9, _LDNS_RR_TYPE_MAILB@GOTPAGEOFF]
Lloh41:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_27
; %bb.18:
	sub	x8, x8, #128
	cmp	x8, #120
	b.ls	LBB0_27
; %bb.19:
	ldr	w0, [x20]
	ldr	w2, [x21, #56]
	sub	x1, x29, #224
	bl	_parse_edns_from_pkt
	cbz	w0, LBB0_45
; %bb.20:
	mov	x27, x0
Lloh42:
	adrp	x8, _VERB_ALGO@GOTPAGE
Lloh43:
	ldr	x8, [x8, _VERB_ALGO@GOTPAGEOFF]
Lloh44:
	ldr	x0, [x8]
Lloh45:
	adrp	x1, l_.str.7@PAGE
Lloh46:
	add	x1, x1, l_.str.7@PAGEOFF
	bl	_verbose
Lloh47:
	adrp	x8, _VERB_CLIENT@GOTPAGE
Lloh48:
	ldr	x8, [x8, _VERB_CLIENT@GOTPAGEOFF]
Lloh49:
	ldr	x0, [x8]
	ldr	w3, [x19, #4]
Lloh50:
	adrp	x1, l_.str.2@PAGE
Lloh51:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x2, x22
	bl	_log_addr
	add	x0, sp, #96
	mov	w1, #0
	mov	w2, #80
	bl	_memset
	mov	w26, #1
Lloh52:
	adrp	x8, _EDNS_ADVERTISED_SIZE@GOTPAGE
Lloh53:
	ldr	x8, [x8, _EDNS_ADVERTISED_SIZE@GOTPAGEOFF]
Lloh54:
	ldr	x8, [x8]
	stp	w26, w8, [sp, #112]
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	mov	x1, x27
	bl	_LDNS_RCODE_SET
	ldr	w24, [x20]
	mov	x0, x24
	bl	_sldns_buffer_begin
	ldr	w25, [x0]
	ldr	w0, [x20]
	mov	w1, #2
	bl	_sldns_buffer_read_u16_at
	mov	x4, x0
	add	x2, sp, #208
	add	x5, sp, #96
	mov	x0, x24
	mov	x1, x27
	mov	x3, x25
	bl	_error_encode
	ldr	w0, [x21, #56]
	bl	_regional_free_all
	ldr	w1, [x20]
	mov	x0, x23
	bl	_server_stats_insrcode
	b	LBB0_33
LBB0_21:
	ldr	x8, [x21, #8]
	ldr	x1, [x8]
	cbz	x1, LBB0_23
; %bb.22:
	ldr	w0, [x21, #32]
	bl	_ub_random_max
	cbz	x0, LBB0_44
LBB0_23:
	ldr	w8, [x21, #80]
	add	w8, w8, #1
	str	w8, [x21, #80]
	b	LBB0_34
LBB0_24:
Lloh55:
	adrp	x8, _VERB_ALGO@GOTPAGE
Lloh56:
	ldr	x8, [x8, _VERB_ALGO@GOTPAGEOFF]
Lloh57:
	ldr	x0, [x8]
Lloh58:
	adrp	x1, l_.str.4@PAGE
Lloh59:
	add	x1, x1, l_.str.4@PAGEOFF
	bl	_verbose
Lloh60:
	adrp	x8, _VERB_CLIENT@GOTPAGE
Lloh61:
	ldr	x8, [x8, _VERB_CLIENT@GOTPAGEOFF]
Lloh62:
	ldr	x0, [x8]
	ldr	w3, [x19, #4]
Lloh63:
	adrp	x1, l_.str.2@PAGE
Lloh64:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x2, x22
	bl	_log_addr
	add	x0, sp, #208
	mov	w1, #0
	mov	w2, #80
	bl	_memset
Lloh65:
	adrp	x24, _LDNS_RCODE_FORMERR@GOTPAGE
Lloh66:
	ldr	x24, [x24, _LDNS_RCODE_FORMERR@GOTPAGEOFF]
	ldr	w1, [x24]
	mov	x0, x21
	bl	_worker_err_ratelimit
	cmn	w0, #1
	b.eq	LBB0_34
; %bb.25:
	ldr	w0, [x20]
	bl	_sldns_buffer_rewind
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	bl	_LDNS_QR_SET
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	ldr	w1, [x24]
	bl	_LDNS_RCODE_SET
	b	LBB0_31
LBB0_26:
Lloh67:
	adrp	x8, _VERB_ALGO@GOTPAGE
Lloh68:
	ldr	x8, [x8, _VERB_ALGO@GOTPAGEOFF]
Lloh69:
	ldr	x0, [x8]
Lloh70:
	adrp	x1, l_.str.5@PAGE
Lloh71:
	add	x1, x1, l_.str.5@PAGEOFF
	bl	_verbose
Lloh72:
	adrp	x8, _VERB_CLIENT@GOTPAGE
Lloh73:
	ldr	x8, [x8, _VERB_CLIENT@GOTPAGEOFF]
Lloh74:
	ldr	x0, [x8]
	ldr	w3, [x19, #4]
Lloh75:
	adrp	x1, l_.str.2@PAGE
Lloh76:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x2, x22
	bl	_log_addr
	ldr	w0, [x20]
	bl	_sldns_buffer_rewind
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	bl	_LDNS_QR_SET
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
Lloh77:
	adrp	x8, _LDNS_RCODE_REFUSED@GOTPAGE
Lloh78:
	ldr	x8, [x8, _LDNS_RCODE_REFUSED@GOTPAGEOFF]
Lloh79:
	ldr	w1, [x8]
	b	LBB0_29
LBB0_27:
Lloh80:
	adrp	x8, _VERB_ALGO@GOTPAGE
Lloh81:
	ldr	x8, [x8, _VERB_ALGO@GOTPAGEOFF]
Lloh82:
	ldr	x0, [x8]
Lloh83:
	adrp	x1, l_.str.6@PAGE
Lloh84:
	add	x1, x1, l_.str.6@PAGEOFF
	bl	_verbose
Lloh85:
	adrp	x8, _VERB_CLIENT@GOTPAGE
Lloh86:
	ldr	x8, [x8, _VERB_CLIENT@GOTPAGEOFF]
Lloh87:
	ldr	x0, [x8]
	ldr	w3, [x19, #4]
Lloh88:
	adrp	x1, l_.str.2@PAGE
Lloh89:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x2, x22
	bl	_log_addr
Lloh90:
	adrp	x24, _LDNS_RCODE_FORMERR@GOTPAGE
Lloh91:
	ldr	x24, [x24, _LDNS_RCODE_FORMERR@GOTPAGEOFF]
	ldr	w1, [x24]
	mov	x0, x21
	bl	_worker_err_ratelimit
	cmn	w0, #1
	b.eq	LBB0_34
; %bb.28:
	ldr	w0, [x20]
	bl	_sldns_buffer_rewind
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	bl	_LDNS_QR_SET
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	ldr	w1, [x24]
LBB0_29:
	bl	_LDNS_RCODE_SET
	ldr	x8, [x23]
	cbz	x8, LBB0_32
; %bb.30:
	ldr	x8, [x21, #72]
	ldr	x9, [sp, #208]
	lsl	x9, x9, #2
	ldr	w10, [x8, x9]
	add	w10, w10, #1
	str	w10, [x8, x9]
LBB0_31:
	ldr	w1, [x20]
	mov	x0, x23
	bl	_server_stats_insrcode
LBB0_32:
	mov	w26, #1
LBB0_33:
	ldr	w8, [sp, #204]
	cbz	w8, LBB0_38
LBB0_34:
	mov	x0, x19
	bl	_comm_point_drop_reply
LBB0_35:
	mov	w26, #0
LBB0_36:
	ldur	x8, [x29, #-96]
Lloh92:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh93:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh94:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_116
; %bb.37:
	mov	x0, x26
	add	sp, sp, #432
	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_38:
	ldr	x8, [x21, #8]
	ldr	x8, [x8, #8]
	cbz	x8, LBB0_36
; %bb.39:
	ldr	x8, [sp, #240]
	cbz	x8, LBB0_43
; %bb.40:
	ldr	x8, [x8]
	cbz	x8, LBB0_43
; %bb.41:
	ldr	x8, [x8, #8]
	cbz	x8, LBB0_43
; %bb.42:
	str	x8, [sp, #248]
LBB0_43:
	ldr	w3, [x19, #4]
	ldr	w6, [x20]
	add	x1, sp, #208
	mov	w0, #0
	mov	x2, x22
	mov	x4, #0
	mov	w5, #1
	bl	_log_reply_info
	b	LBB0_36
LBB0_44:
	ldr	w1, [x19, #4]
	sub	x23, x29, #224
	sub	x2, x29, #224
	mov	x0, x22
	mov	w3, #128
	bl	_addr_to_str
Lloh95:
	adrp	x8, _VERB_QUERY@GOTPAGE
Lloh96:
	ldr	x8, [x8, _VERB_QUERY@GOTPAGEOFF]
Lloh97:
	ldrsw	x0, [x8]
	str	x23, [sp]
Lloh98:
	adrp	x1, l_.str.3@PAGE
Lloh99:
	add	x1, x1, l_.str.3@PAGEOFF
	bl	_verbose
	b	LBB0_8
LBB0_45:
	ldur	w8, [x29, #-208]
	cbz	w8, LBB0_57
; %bb.46:
	ldur	x8, [x29, #-200]
	cbz	x8, LBB0_50
; %bb.47:
Lloh100:
	adrp	x24, _EDNS_RCODE_BADVERS@GOTPAGE
Lloh101:
	ldr	x24, [x24, _EDNS_RCODE_BADVERS@GOTPAGEOFF]
	ldr	w8, [x24]
	sbfx	x8, x8, #4, #28
	stur	x8, [x29, #-152]
Lloh102:
	adrp	x8, _EDNS_ADVERTISED_SIZE@GOTPAGE
Lloh103:
	ldr	x8, [x8, _EDNS_ADVERTISED_SIZE@GOTPAGEOFF]
Lloh104:
	ldr	x8, [x8]
	stur	w8, [x29, #-204]
Lloh105:
	adrp	x8, _EDNS_DO@GOTPAGE
Lloh106:
	ldr	x8, [x8, _EDNS_DO@GOTPAGEOFF]
Lloh107:
	ldr	w8, [x8]
	ldur	w9, [x29, #-160]
	and	w8, w9, w8
Lloh108:
	adrp	x9, _EDNS_ADVERTISED_VERSION@GOTPAGE
Lloh109:
	ldr	x9, [x9, _EDNS_ADVERTISED_VERSION@GOTPAGEOFF]
Lloh110:
	ldr	x9, [x9]
	stur	w8, [x29, #-160]
	stur	x9, [x29, #-200]
	stur	xzr, [x29, #-168]
Lloh111:
	adrp	x8, _VERB_ALGO@GOTPAGE
Lloh112:
	ldr	x8, [x8, _VERB_ALGO@GOTPAGEOFF]
Lloh113:
	ldr	x0, [x8]
Lloh114:
	adrp	x1, l_.str.8@PAGE
Lloh115:
	add	x1, x1, l_.str.8@PAGEOFF
	bl	_verbose
Lloh116:
	adrp	x8, _VERB_CLIENT@GOTPAGE
Lloh117:
	ldr	x8, [x8, _VERB_CLIENT@GOTPAGEOFF]
Lloh118:
	ldr	x0, [x8]
	ldr	w3, [x19, #4]
Lloh119:
	adrp	x1, l_.str.2@PAGE
Lloh120:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x2, x22
	bl	_log_addr
	ldr	w23, [x20]
	ldr	w8, [x24]
	and	w24, w8, #0xf
LBB0_48:
	mov	x0, x23
	bl	_sldns_buffer_begin
	ldr	w25, [x0]
	ldr	w0, [x20]
	mov	w1, #2
	bl	_sldns_buffer_read_u16_at
	mov	x4, x0
	add	x2, sp, #208
	mov	x0, x23
	mov	x1, x24
	mov	x3, x25
	mov	x5, #0
	bl	_error_encode
	ldr	w0, [x20]
	bl	_sldns_buffer_capacity
	mov	x23, x0
	ldr	w0, [x20]
	bl	_sldns_buffer_limit
	mov	x24, x0
	sub	x0, x29, #224
	bl	_calc_edns_field_size
	add	x8, x0, x24
	cmp	x23, x8
	b.lt	LBB0_71
; %bb.49:
	ldr	w0, [x20]
	sub	x1, x29, #224
	bl	_attach_edns_record
	b	LBB0_71
LBB0_50:
	ldur	w8, [x29, #-204]
Lloh121:
	adrp	x26, _NORMAL_UDP_SIZE@GOTPAGE
Lloh122:
	ldr	x26, [x26, _NORMAL_UDP_SIZE@GOTPAGEOFF]
	ldr	w9, [x26]
	cmp	w8, w9
	b.ge	LBB0_53
; %bb.51:
	ldr	x9, [x21, #104]
	ldr	x9, [x9, #16]
	ldr	x9, [x9, #16]
	cbz	x9, LBB0_53
; %bb.52:
Lloh123:
	adrp	x9, _VERB_QUERY@GOTPAGE
Lloh124:
	ldr	x9, [x9, _VERB_QUERY@GOTPAGEOFF]
Lloh125:
	ldrsw	x0, [x9]
	str	x8, [sp]
Lloh126:
	adrp	x1, l_.str.9@PAGE
Lloh127:
	add	x1, x1, l_.str.9@PAGEOFF
	bl	_verbose
Lloh128:
	adrp	x8, _VERB_CLIENT@GOTPAGE
Lloh129:
	ldr	x8, [x8, _VERB_CLIENT@GOTPAGEOFF]
Lloh130:
	ldr	x0, [x8]
	ldr	w3, [x19, #4]
Lloh131:
	adrp	x1, l_.str.2@PAGE
Lloh132:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x2, x22
	bl	_log_addr
	ldr	w8, [x26]
	stur	w8, [x29, #-204]
LBB0_53:
	ldr	w8, [x20, #4]
Lloh133:
	adrp	x9, _comm_udp@GOTPAGE
Lloh134:
	ldr	x9, [x9, _comm_udp@GOTPAGEOFF]
Lloh135:
	ldr	w9, [x9]
	cmp	w8, w9
	b.eq	LBB0_57
; %bb.54:
	ldur	x0, [x29, #-168]
Lloh136:
	adrp	x8, _LDNS_EDNS_KEEPALIVE@GOTPAGE
Lloh137:
	ldr	x8, [x8, _LDNS_EDNS_KEEPALIVE@GOTPAGEOFF]
Lloh138:
	ldr	w1, [x8]
	bl	_edns_opt_list_find
	cbz	x0, LBB0_57
; %bb.55:
	ldr	x8, [x0]
	cmp	x8, #1
	b.lt	LBB0_57
; %bb.56:
	stur	xzr, [x29, #-152]
Lloh139:
	adrp	x8, _EDNS_ADVERTISED_SIZE@GOTPAGE
Lloh140:
	ldr	x8, [x8, _EDNS_ADVERTISED_SIZE@GOTPAGEOFF]
Lloh141:
	ldr	x8, [x8]
	stur	w8, [x29, #-204]
Lloh142:
	adrp	x8, _EDNS_DO@GOTPAGE
Lloh143:
	ldr	x8, [x8, _EDNS_DO@GOTPAGEOFF]
Lloh144:
	ldr	w8, [x8]
	ldur	w9, [x29, #-160]
	and	w8, w9, w8
Lloh145:
	adrp	x9, _EDNS_ADVERTISED_VERSION@GOTPAGE
Lloh146:
	ldr	x9, [x9, _EDNS_ADVERTISED_VERSION@GOTPAGEOFF]
Lloh147:
	ldr	x9, [x9]
	stur	w8, [x29, #-160]
	stur	x9, [x29, #-200]
	stur	xzr, [x29, #-168]
Lloh148:
	adrp	x8, _VERB_ALGO@GOTPAGE
Lloh149:
	ldr	x8, [x8, _VERB_ALGO@GOTPAGEOFF]
Lloh150:
	ldr	x0, [x8]
Lloh151:
	adrp	x1, l_.str.10@PAGE
Lloh152:
	add	x1, x1, l_.str.10@PAGEOFF
	bl	_verbose
Lloh153:
	adrp	x8, _VERB_CLIENT@GOTPAGE
Lloh154:
	ldr	x8, [x8, _VERB_CLIENT@GOTPAGEOFF]
Lloh155:
	ldr	x0, [x8]
	ldr	w3, [x19, #4]
Lloh156:
	adrp	x1, l_.str.2@PAGE
Lloh157:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x2, x22
	bl	_log_addr
	ldr	w23, [x20]
Lloh158:
	adrp	x8, _LDNS_RCODE_FORMERR@GOTPAGE
Lloh159:
	ldr	x8, [x8, _LDNS_RCODE_FORMERR@GOTPAGEOFF]
Lloh160:
	ldr	w24, [x8]
	b	LBB0_48
LBB0_57:
	ldur	w8, [x29, #-204]
	ldr	x9, [x21, #104]
	ldr	x9, [x9, #16]
	ldr	w9, [x9]
	cmp	w8, w9
	b.le	LBB0_60
; %bb.58:
	ldr	w9, [x20, #4]
Lloh161:
	adrp	x10, _comm_udp@GOTPAGE
Lloh162:
	ldr	x10, [x10, _comm_udp@GOTPAGEOFF]
Lloh163:
	ldr	w10, [x10]
	cmp	w9, w10
	b.ne	LBB0_60
; %bb.59:
Lloh164:
	adrp	x9, _VERB_QUERY@GOTPAGE
Lloh165:
	ldr	x9, [x9, _VERB_QUERY@GOTPAGEOFF]
Lloh166:
	ldrsw	x0, [x9]
	str	x8, [sp]
Lloh167:
	adrp	x1, l_.str.11@PAGE
Lloh168:
	add	x1, x1, l_.str.11@PAGEOFF
	bl	_verbose
Lloh169:
	adrp	x8, _VERB_CLIENT@GOTPAGE
Lloh170:
	ldr	x8, [x8, _VERB_CLIENT@GOTPAGEOFF]
Lloh171:
	ldr	x0, [x8]
	ldr	w3, [x19, #4]
Lloh172:
	adrp	x1, l_.str.2@PAGE
Lloh173:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x2, x22
	bl	_log_addr
	ldr	x8, [x21, #104]
	ldr	x8, [x8, #16]
	ldr	w8, [x8]
	stur	w8, [x29, #-204]
LBB0_60:
Lloh174:
	adrp	x26, _LDNS_HEADER_SIZE@GOTPAGE
Lloh175:
	ldr	x26, [x26, _LDNS_HEADER_SIZE@GOTPAGEOFF]
	ldr	w9, [x26]
	cmp	w8, w9
	b.ge	LBB0_62
; %bb.61:
Lloh176:
	adrp	x8, _VERB_ALGO@GOTPAGE
Lloh177:
	ldr	x8, [x8, _VERB_ALGO@GOTPAGEOFF]
Lloh178:
	ldr	x0, [x8]
Lloh179:
	adrp	x1, l_.str.12@PAGE
Lloh180:
	add	x1, x1, l_.str.12@PAGEOFF
	bl	_verbose
Lloh181:
	adrp	x8, _VERB_CLIENT@GOTPAGE
Lloh182:
	ldr	x8, [x8, _VERB_CLIENT@GOTPAGEOFF]
Lloh183:
	ldr	x0, [x8]
	ldr	w3, [x19, #4]
Lloh184:
	adrp	x1, l_.str.2@PAGE
Lloh185:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x2, x22
	bl	_log_addr
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	bl	_LDNS_QR_SET
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	bl	_LDNS_TC_SET
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
Lloh186:
	adrp	x8, _LDNS_RCODE_SERVFAIL@GOTPAGE
Lloh187:
	ldr	x8, [x8, _LDNS_RCODE_SERVFAIL@GOTPAGEOFF]
Lloh188:
	ldr	w1, [x8]
	bl	_LDNS_RCODE_SET
	ldr	w0, [x20]
	ldr	w1, [x26]
	bl	_sldns_buffer_set_position
	ldr	w0, [x20]
Lloh189:
	adrp	x2, l_.str.13@PAGE
Lloh190:
	add	x2, x2, l_.str.13@PAGEOFF
	mov	w1, #4
	mov	w3, #8
	bl	_sldns_buffer_write_at
	ldr	w0, [x20]
	bl	_sldns_buffer_flip
	b	LBB0_71
LBB0_62:
	ldr	x8, [x23]
	cbz	x8, LBB0_64
; %bb.63:
	ldp	x2, x3, [sp, #208]
	sub	x4, x29, #224
	mov	x0, x23
	mov	x1, x20
	mov	x5, x19
	bl	_server_stats_insquery
LBB0_64:
	ldr	w8, [x20, #4]
Lloh191:
	adrp	x27, _comm_udp@GOTPAGE
Lloh192:
	ldr	x27, [x27, _comm_udp@GOTPAGEOFF]
	ldr	w9, [x27]
	cmp	w8, w9
	b.eq	LBB0_66
; %bb.65:
	mov	w8, #65535
	stur	w8, [x29, #-204]
LBB0_66:
	ldr	x8, [sp, #216]
Lloh193:
	adrp	x9, _LDNS_RR_CLASS_CH@GOTPAGE
Lloh194:
	ldr	x9, [x9, _LDNS_RR_CLASS_CH@GOTPAGEOFF]
Lloh195:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_69
; %bb.67:
	ldr	w4, [x20]
	add	x1, sp, #208
	sub	x2, x29, #224
	mov	x0, x21
	mov	x3, x19
	bl	_answer_chaos
	cbz	x0, LBB0_69
; %bb.68:
	ldr	w1, [x20]
	mov	x0, x23
	bl	_server_stats_insrcode
	b	LBB0_71
LBB0_69:
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	bl	_LDNS_OPCODE_WIRE
Lloh196:
	adrp	x8, _LDNS_PACKET_NOTIFY@GOTPAGE
Lloh197:
	ldr	x8, [x8, _LDNS_PACKET_NOTIFY@GOTPAGEOFF]
Lloh198:
	ldr	x8, [x8]
	cmp	x0, x8
	b.ne	LBB0_72
; %bb.70:
	ldr	w3, [x20]
	add	x1, sp, #208
	sub	x2, x29, #224
	mov	x0, x21
	mov	x4, x19
	bl	_answer_notify
LBB0_71:
	ldr	w0, [x21, #56]
	bl	_regional_free_all
	b	LBB0_32
LBB0_72:
	ldr	x8, [x21, #104]
	ldr	w0, [x8, #24]
	ldr	w4, [x20]
	ldr	w5, [x21, #56]
	ldp	w9, w7, [x24, #20]
	ldp	w11, w10, [x24, #12]
	ldp	w14, w12, [x24, #4]
	ldr	x8, [x8, #16]
	ldp	w8, w13, [x8, #4]
	ldr	w15, [x24]
	stp	w8, w15, [sp, #24]
	stp	w14, w13, [sp, #16]
	add	x2, sp, #208
	sub	x3, x29, #224
	stp	w11, w12, [sp, #8]
	stp	w9, w10, [sp]
	mov	x1, x21
	mov	x6, x19
	bl	_local_zones_answer
	cbz	x0, LBB0_74
; %bb.73:
	ldr	w0, [x21, #56]
	bl	_regional_free_all
	ldr	w0, [x20]
	bl	_sldns_buffer_limit
	cbnz	x0, LBB0_31
	b	LBB0_34
LBB0_74:
	ldr	x0, [x21, #24]
	cbz	x0, LBB0_81
; %bb.75:
	ldr	w5, [x20]
	ldr	w6, [x21, #56]
	add	x2, sp, #208
	sub	x3, x29, #224
	mov	x1, x21
	mov	x4, x19
	bl	_auth_zones_answer
	cbz	x0, LBB0_81
; %bb.76:
	ldr	w0, [x21, #56]
	bl	_regional_free_all
	ldr	w0, [x20]
	bl	_sldns_buffer_limit
	cbz	x0, LBB0_34
; %bb.77:
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	bl	_LDNS_RD_WIRE
	cbz	x0, LBB0_31
; %bb.78:
Lloh199:
	adrp	x8, _acl_deny_non_local@GOTPAGE
Lloh200:
	ldr	x8, [x8, _acl_deny_non_local@GOTPAGEOFF]
Lloh201:
	ldr	w8, [x8]
	cmp	w25, w8
	b.eq	LBB0_31
; %bb.79:
Lloh202:
	adrp	x8, _acl_refuse_non_local@GOTPAGE
Lloh203:
	ldr	x8, [x8, _acl_refuse_non_local@GOTPAGEOFF]
Lloh204:
	ldr	w8, [x8]
	cmp	w25, w8
	b.eq	LBB0_31
; %bb.80:
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	bl	_LDNS_RA_SET
	b	LBB0_31
LBB0_81:
	mov	x0, x20
	mov	x1, x25
	mov	x2, x21
	mov	x3, x19
	bl	_deny_refuse_non_local
	cmn	w0, #1
	b.eq	LBB0_83
; %bb.82:
	mov	x26, x0
	ldr	w0, [x21, #56]
	bl	_regional_free_all
	cmp	w26, #1
	b.eq	LBB0_33
	b	LBB0_36
LBB0_83:
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	bl	_LDNS_RD_WIRE
	cbnz	x0, LBB0_86
; %bb.84:
Lloh205:
	adrp	x8, _acl_allow_setrd@GOTPAGE
Lloh206:
	ldr	x8, [x8, _acl_allow_setrd@GOTPAGEOFF]
Lloh207:
	ldr	w8, [x8]
	cmp	w25, w8
	b.ne	LBB0_86
; %bb.85:
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	bl	_LDNS_RD_SET
LBB0_86:
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	bl	_LDNS_RD_WIRE
	cbnz	x0, LBB0_89
; %bb.87:
Lloh208:
	adrp	x8, _acl_allow_snoop@GOTPAGE
Lloh209:
	ldr	x8, [x8, _acl_allow_snoop@GOTPAGEOFF]
Lloh210:
	ldr	w8, [x8]
	cmp	w25, w8
	b.eq	LBB0_89
; %bb.88:
	ldr	w24, [x20]
Lloh211:
	adrp	x8, _LDNS_RCODE_REFUSED@GOTPAGE
Lloh212:
	ldr	x8, [x8, _LDNS_RCODE_REFUSED@GOTPAGEOFF]
Lloh213:
	ldr	w25, [x8]
	mov	x0, x24
	bl	_sldns_buffer_begin
	ldr	w26, [x0]
	ldr	w0, [x20]
	mov	w1, #2
	bl	_sldns_buffer_read_u16_at
	mov	x4, x0
	add	x2, sp, #208
	mov	x0, x24
	mov	x1, x25
	mov	x3, x26
	mov	x5, #0
	bl	_error_encode
	ldr	w0, [x21, #56]
	bl	_regional_free_all
	ldr	w1, [x20]
	mov	x0, x23
	bl	_server_stats_insrcode
Lloh214:
	adrp	x8, _VERB_ALGO@GOTPAGE
Lloh215:
	ldr	x8, [x8, _VERB_ALGO@GOTPAGEOFF]
Lloh216:
	ldr	x0, [x8]
	ldr	w3, [x19, #4]
Lloh217:
	adrp	x1, l_.str.14@PAGE
Lloh218:
	add	x1, x1, l_.str.14@PAGEOFF
	mov	x2, x22
	bl	_log_addr
	b	LBB0_32
LBB0_89:
	ldr	x8, [sp, #240]
	cbz	x8, LBB0_94
; %bb.90:
	ldr	x9, [x8, #8]
	cbnz	x9, LBB0_99
; %bb.91:
	ldr	x8, [x8]
	ldr	x25, [x8, #16]
	ldr	x26, [x8]
Lloh219:
	adrp	x8, _LDNS_RR_TYPE_CNAME@GOTPAGE
Lloh220:
	ldr	x8, [x8, _LDNS_RR_TYPE_CNAME@GOTPAGEOFF]
Lloh221:
	ldr	w0, [x8]
	bl	_htons
	cmp	x26, x0
	b.ne	LBB0_99
; %bb.92:
	ldr	w8, [x25]
	cmp	w8, #1
	b.ne	LBB0_99
; %bb.93:
	ldr	x8, [x25, #16]
	ldr	x8, [x8]
	add	x8, x8, #2
	str	x8, [sp, #248]
	ldr	x8, [x25, #8]
	ldr	x8, [x8]
	sub	x8, x8, #2
	str	x8, [sp, #256]
LBB0_94:
	ldr	x8, [x21, #104]
	ldr	x9, [x8, #8]
	cbz	x9, LBB0_98
; %bb.95:
	ldr	x9, [sp, #208]
Lloh222:
	adrp	x10, _LDNS_RR_TYPE_A@GOTPAGE
Lloh223:
	ldr	x10, [x10, _LDNS_RR_TYPE_A@GOTPAGEOFF]
Lloh224:
	ldr	x10, [x10]
	cmp	x9, x10
	b.eq	LBB0_101
; %bb.96:
Lloh225:
	adrp	x10, _LDNS_RR_TYPE_AAAA@GOTPAGE
Lloh226:
	ldr	x10, [x10, _LDNS_RR_TYPE_AAAA@GOTPAGEOFF]
Lloh227:
	ldr	x10, [x10]
	cmp	x9, x10
	b.eq	LBB0_101
; %bb.97:
Lloh228:
	adrp	x10, _LDNS_RR_TYPE_ANY@GOTPAGE
Lloh229:
	ldr	x10, [x10, _LDNS_RR_TYPE_ANY@GOTPAGEOFF]
Lloh230:
	ldr	x10, [x10]
	cmp	x9, x10
	b.eq	LBB0_101
LBB0_98:
	str	xzr, [sp, #56]                  ; 8-byte Folded Spill
	b	LBB0_102
LBB0_99:
Lloh231:
	adrp	x0, l_.str.15@PAGE
Lloh232:
	add	x0, x0, l_.str.15@PAGEOFF
LBB0_100:
	bl	_log_err
	ldr	w0, [x21, #56]
	bl	_regional_free_all
	b	LBB0_35
LBB0_101:
	ldr	w9, [x24, #24]
	str	w9, [sp, #92]
	ldr	d0, [x24, #16]
	stur	d0, [sp, #84]
	ldr	q0, [x24]
	stur	q0, [sp, #68]
	ldr	w8, [x8]
	str	w8, [sp, #64]
	add	x8, sp, #64
	str	x8, [sp, #56]                   ; 8-byte Folded Spill
LBB0_102:
	ldur	x0, [x29, #-168]
	mov	x1, x21
	bl	_edns_bypass_cache_stage
	cbz	w0, LBB0_106
LBB0_103:
	ldr	w0, [x20]
	bl	_sldns_buffer_rewind
	mov	x0, x23
	mov	x1, x21
	bl	_server_stats_querymiss
Lloh233:
	adrp	x8, _verbosity@GOTPAGE
Lloh234:
	ldr	x8, [x8, _verbosity@GOTPAGEOFF]
Lloh235:
	ldr	x8, [x8]
Lloh236:
	adrp	x9, _VERB_CLIENT@GOTPAGE
Lloh237:
	ldr	x9, [x9, _VERB_CLIENT@GOTPAGEOFF]
Lloh238:
	ldr	x0, [x9]
	cmp	x8, x0
	b.lt	LBB0_105
; %bb.104:
	ldr	w8, [x20, #4]
	ldr	w9, [x27]
	ldr	w3, [x19, #4]
Lloh239:
	adrp	x10, l_.str.20@PAGE
Lloh240:
	add	x10, x10, l_.str.20@PAGEOFF
Lloh241:
	adrp	x11, l_.str.19@PAGE
Lloh242:
	add	x11, x11, l_.str.19@PAGEOFF
	cmp	w8, w9
	csel	x1, x11, x10, eq
	mov	x2, x22
	bl	_log_addr
LBB0_105:
	ldr	w22, [x21, #16]
	ldr	w0, [x20]
	mov	w1, #2
	bl	_sldns_buffer_read_u16_at
	mov	x23, x0
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	ldr	w6, [x0]
	add	x1, sp, #208
	sub	x4, x29, #224
	mov	x0, x22
	ldr	x2, [sp, #56]                   ; 8-byte Folded Reload
	mov	x3, x23
	mov	x5, x19
	bl	_mesh_new_client
	ldr	w0, [x21, #56]
	bl	_regional_free_all
	mov	x0, x21
	mov	x1, #0
	bl	_worker_mem_report
	b	LBB0_35
LBB0_106:
	add	x8, sp, #96
	add	x9, x8, #40
	add	x8, x8, #48
	stp	x8, x9, [sp, #40]               ; 16-byte Folded Spill
	add	x26, sp, #208
LBB0_107:                               ; =>This Inner Loop Header: Depth=1
	ldr	w0, [x20]
	mov	w1, #2
	bl	_sldns_buffer_read_u16_at
	mov	x1, x0
	mov	x0, x26
	bl	_query_info_hash
	mov	x1, x0
	ldr	w0, [x21, #20]
	mov	x2, x26
	mov	w3, #0
	bl	_slabhash_lookup
	cbz	x0, LBB0_118
; %bb.108:                              ;   in Loop: Header=BB0_107 Depth=1
	mov	x28, x0
	ldr	x24, [x0, #8]
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	ldr	w25, [x0]
	ldr	w0, [x20]
	mov	w1, #2
	bl	_sldns_buffer_read_u16_at
	sub	x8, x29, #224
	stp	x19, x8, [sp, #8]
	add	x1, sp, #208
	add	x3, sp, #204
	add	x4, sp, #192
	add	x5, sp, #184
	str	w0, [sp]
	mov	x0, x21
	ldr	x2, [sp, #56]                   ; 8-byte Folded Reload
	mov	x6, x24
	mov	x7, x25
	bl	_answer_from_cache
	cbz	x0, LBB0_117
; %bb.109:                              ;   in Loop: Header=BB0_107 Depth=1
	ldr	x8, [x21, #8]
	ldr	x9, [x8, #24]
	cbnz	x9, LBB0_111
; %bb.110:                              ;   in Loop: Header=BB0_107 Depth=1
	ldr	x8, [x8, #16]
	cbz	x8, LBB0_112
LBB0_111:                               ;   in Loop: Header=BB0_107 Depth=1
	ldr	x8, [x21]
	ldr	x8, [x8]
	ldr	x9, [x28, #8]
	ldr	x10, [x9]
	cmp	x8, x10
	b.ge	LBB0_113
LBB0_112:                               ;   in Loop: Header=BB0_107 Depth=1
	ldr	x24, [sp, #184]
	mov	x0, x28
	bl	_lock_rw_unlock
	cbnz	x24, LBB0_114
	b	LBB0_71
LBB0_113:                               ;   in Loop: Header=BB0_107 Depth=1
	ldr	x9, [x9, #8]
	subs	x8, x9, x8
	csel	x24, xzr, x8, lt
	mov	x0, x28
	bl	_lock_rw_unlock
	ldr	w0, [x20]
	mov	w1, #2
	bl	_sldns_buffer_read_u16_at
	mov	x2, x0
	mov	x0, x21
	mov	x1, x26
	mov	x3, x19
	mov	x4, x24
	bl	_reply_and_prefetch
	ldr	x8, [sp, #184]
	cbz	x8, LBB0_122
LBB0_114:                               ;   in Loop: Header=BB0_107 Depth=1
	add	x0, sp, #96
	mov	w1, #0
	mov	w2, #80
	bl	_memset
	ldr	x0, [sp, #192]
	ldp	x2, x1, [sp, #40]               ; 16-byte Folded Reload
	bl	_get_cname_target
	ldr	x8, [sp, #136]
	cbz	x8, LBB0_121
; %bb.115:                              ;   in Loop: Header=BB0_107 Depth=1
	ldr	q0, [sp, #208]
	str	q0, [sp, #96]
	ldur	x0, [x29, #-168]
	mov	x1, x21
	bl	_edns_bypass_cache_stage
	add	x26, sp, #96
	cbz	w0, LBB0_107
	b	LBB0_103
LBB0_116:
	bl	___stack_chk_fail
LBB0_117:
Lloh243:
	adrp	x8, _VERB_ALGO@GOTPAGE
Lloh244:
	ldr	x8, [x8, _VERB_ALGO@GOTPAGEOFF]
Lloh245:
	ldr	x0, [x8]
Lloh246:
	adrp	x1, l_.str.17@PAGE
Lloh247:
	add	x1, x1, l_.str.17@PAGEOFF
	bl	_verbose
	mov	x0, x28
	bl	_lock_rw_unlock
LBB0_118:
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	bl	_LDNS_RD_WIRE
	cbnz	x0, LBB0_103
; %bb.119:
	ldr	w0, [x20]
	bl	_sldns_buffer_begin
	ldr	w24, [x0]
	ldr	w0, [x20]
	mov	w1, #2
	bl	_sldns_buffer_read_u16_at
	mov	x3, x0
	add	x1, sp, #208
	sub	x5, x29, #224
	mov	x0, x21
	mov	x2, x24
	mov	x4, x19
	bl	_answer_norec_from_cache
	cbnz	x0, LBB0_71
; %bb.120:
Lloh248:
	adrp	x8, _VERB_ALGO@GOTPAGE
Lloh249:
	ldr	x8, [x8, _VERB_ALGO@GOTPAGEOFF]
Lloh250:
	ldr	x0, [x8]
Lloh251:
	adrp	x1, l_.str.18@PAGE
Lloh252:
	add	x1, x1, l_.str.18@PAGEOFF
	bl	_verbose
	b	LBB0_103
LBB0_121:
Lloh253:
	adrp	x0, l_.str.16@PAGE
Lloh254:
	add	x0, x0, l_.str.16@PAGEOFF
	b	LBB0_100
LBB0_122:
	ldr	w0, [x21, #56]
	bl	_regional_free_all
	mov	w26, #0
	b	LBB0_33
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpAdd	Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.loh AdrpLdrGotLdr	Lloh39, Lloh40, Lloh41
	.loh AdrpLdrGotLdr	Lloh52, Lloh53, Lloh54
	.loh AdrpAdd	Lloh50, Lloh51
	.loh AdrpLdrGotLdr	Lloh47, Lloh48, Lloh49
	.loh AdrpAdd	Lloh45, Lloh46
	.loh AdrpLdrGotLdr	Lloh42, Lloh43, Lloh44
	.loh AdrpLdrGot	Lloh65, Lloh66
	.loh AdrpAdd	Lloh63, Lloh64
	.loh AdrpLdrGotLdr	Lloh60, Lloh61, Lloh62
	.loh AdrpAdd	Lloh58, Lloh59
	.loh AdrpLdrGotLdr	Lloh55, Lloh56, Lloh57
	.loh AdrpLdrGotLdr	Lloh77, Lloh78, Lloh79
	.loh AdrpAdd	Lloh75, Lloh76
	.loh AdrpLdrGotLdr	Lloh72, Lloh73, Lloh74
	.loh AdrpAdd	Lloh70, Lloh71
	.loh AdrpLdrGotLdr	Lloh67, Lloh68, Lloh69
	.loh AdrpLdrGot	Lloh90, Lloh91
	.loh AdrpAdd	Lloh88, Lloh89
	.loh AdrpLdrGotLdr	Lloh85, Lloh86, Lloh87
	.loh AdrpAdd	Lloh83, Lloh84
	.loh AdrpLdrGotLdr	Lloh80, Lloh81, Lloh82
	.loh AdrpLdrGotLdr	Lloh92, Lloh93, Lloh94
	.loh AdrpAdd	Lloh98, Lloh99
	.loh AdrpLdrGotLdr	Lloh95, Lloh96, Lloh97
	.loh AdrpAdd	Lloh119, Lloh120
	.loh AdrpLdrGotLdr	Lloh116, Lloh117, Lloh118
	.loh AdrpAdd	Lloh114, Lloh115
	.loh AdrpLdrGotLdr	Lloh111, Lloh112, Lloh113
	.loh AdrpLdrGotLdr	Lloh108, Lloh109, Lloh110
	.loh AdrpLdrGotLdr	Lloh105, Lloh106, Lloh107
	.loh AdrpLdrGotLdr	Lloh102, Lloh103, Lloh104
	.loh AdrpLdrGot	Lloh100, Lloh101
	.loh AdrpLdrGot	Lloh121, Lloh122
	.loh AdrpAdd	Lloh131, Lloh132
	.loh AdrpLdrGotLdr	Lloh128, Lloh129, Lloh130
	.loh AdrpAdd	Lloh126, Lloh127
	.loh AdrpLdrGotLdr	Lloh123, Lloh124, Lloh125
	.loh AdrpLdrGotLdr	Lloh133, Lloh134, Lloh135
	.loh AdrpLdrGotLdr	Lloh136, Lloh137, Lloh138
	.loh AdrpLdrGotLdr	Lloh158, Lloh159, Lloh160
	.loh AdrpAdd	Lloh156, Lloh157
	.loh AdrpLdrGotLdr	Lloh153, Lloh154, Lloh155
	.loh AdrpAdd	Lloh151, Lloh152
	.loh AdrpLdrGotLdr	Lloh148, Lloh149, Lloh150
	.loh AdrpLdrGotLdr	Lloh145, Lloh146, Lloh147
	.loh AdrpLdrGotLdr	Lloh142, Lloh143, Lloh144
	.loh AdrpLdrGotLdr	Lloh139, Lloh140, Lloh141
	.loh AdrpLdrGotLdr	Lloh161, Lloh162, Lloh163
	.loh AdrpAdd	Lloh172, Lloh173
	.loh AdrpLdrGotLdr	Lloh169, Lloh170, Lloh171
	.loh AdrpAdd	Lloh167, Lloh168
	.loh AdrpLdrGotLdr	Lloh164, Lloh165, Lloh166
	.loh AdrpLdrGot	Lloh174, Lloh175
	.loh AdrpAdd	Lloh189, Lloh190
	.loh AdrpLdrGotLdr	Lloh186, Lloh187, Lloh188
	.loh AdrpAdd	Lloh184, Lloh185
	.loh AdrpLdrGotLdr	Lloh181, Lloh182, Lloh183
	.loh AdrpAdd	Lloh179, Lloh180
	.loh AdrpLdrGotLdr	Lloh176, Lloh177, Lloh178
	.loh AdrpLdrGot	Lloh191, Lloh192
	.loh AdrpLdrGotLdr	Lloh193, Lloh194, Lloh195
	.loh AdrpLdrGotLdr	Lloh196, Lloh197, Lloh198
	.loh AdrpLdrGotLdr	Lloh199, Lloh200, Lloh201
	.loh AdrpLdrGotLdr	Lloh202, Lloh203, Lloh204
	.loh AdrpLdrGotLdr	Lloh205, Lloh206, Lloh207
	.loh AdrpLdrGotLdr	Lloh208, Lloh209, Lloh210
	.loh AdrpAdd	Lloh217, Lloh218
	.loh AdrpLdrGotLdr	Lloh214, Lloh215, Lloh216
	.loh AdrpLdrGotLdr	Lloh211, Lloh212, Lloh213
	.loh AdrpLdrGotLdr	Lloh219, Lloh220, Lloh221
	.loh AdrpLdrGotLdr	Lloh222, Lloh223, Lloh224
	.loh AdrpLdrGotLdr	Lloh225, Lloh226, Lloh227
	.loh AdrpLdrGotLdr	Lloh228, Lloh229, Lloh230
	.loh AdrpAdd	Lloh231, Lloh232
	.loh AdrpLdrGotLdr	Lloh236, Lloh237, Lloh238
	.loh AdrpLdrGotLdr	Lloh233, Lloh234, Lloh235
	.loh AdrpAdd	Lloh241, Lloh242
	.loh AdrpAdd	Lloh239, Lloh240
	.loh AdrpAdd	Lloh246, Lloh247
	.loh AdrpLdrGotLdr	Lloh243, Lloh244, Lloh245
	.loh AdrpAdd	Lloh251, Lloh252
	.loh AdrpLdrGotLdr	Lloh248, Lloh249, Lloh250
	.loh AdrpAdd	Lloh253, Lloh254
	.cfi_endproc
                                        ; -- End function
	.comm	_NETEVENT_NOERROR,4,2           ; @NETEVENT_NOERROR
	.comm	_VERB_ALGO,8,3                  ; @VERB_ALGO
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"handle request called with err=%d"

l_.str.1:                               ; @.str.1
	.asciz	"worker check request: bad query."

	.comm	_VERB_CLIENT,8,3                ; @VERB_CLIENT
l_.str.2:                               ; @.str.2
	.asciz	"from"

	.comm	_VERB_QUERY,4,2                 ; @VERB_QUERY
l_.str.3:                               ; @.str.3
	.asciz	"ip_ratelimit allowed through for ip address %s because of slip in ip_ratelimit_factor"

l_.str.4:                               ; @.str.4
	.asciz	"worker parse request: formerror."

	.comm	_LDNS_RCODE_FORMERR,4,2         ; @LDNS_RCODE_FORMERR
	.comm	_LDNS_RR_TYPE_AXFR,8,3          ; @LDNS_RR_TYPE_AXFR
	.comm	_LDNS_RR_TYPE_IXFR,8,3          ; @LDNS_RR_TYPE_IXFR
l_.str.5:                               ; @.str.5
	.asciz	"worker request: refused zone transfer."

	.comm	_LDNS_RCODE_REFUSED,4,2         ; @LDNS_RCODE_REFUSED
	.comm	_LDNS_RR_TYPE_OPT,8,3           ; @LDNS_RR_TYPE_OPT
	.comm	_LDNS_RR_TYPE_TSIG,8,3          ; @LDNS_RR_TYPE_TSIG
	.comm	_LDNS_RR_TYPE_TKEY,8,3          ; @LDNS_RR_TYPE_TKEY
	.comm	_LDNS_RR_TYPE_MAILA,8,3         ; @LDNS_RR_TYPE_MAILA
	.comm	_LDNS_RR_TYPE_MAILB,8,3         ; @LDNS_RR_TYPE_MAILB
l_.str.6:                               ; @.str.6
	.asciz	"worker request: formerror for meta-type."

l_.str.7:                               ; @.str.7
	.asciz	"worker parse edns: formerror."

	.comm	_EDNS_ADVERTISED_SIZE,8,3       ; @EDNS_ADVERTISED_SIZE
	.comm	_EDNS_RCODE_BADVERS,4,2         ; @EDNS_RCODE_BADVERS
	.comm	_EDNS_ADVERTISED_VERSION,8,3    ; @EDNS_ADVERTISED_VERSION
	.comm	_EDNS_DO,4,2                    ; @EDNS_DO
l_.str.8:                               ; @.str.8
	.asciz	"query with bad edns version."

	.comm	_NORMAL_UDP_SIZE,4,2            ; @NORMAL_UDP_SIZE
l_.str.9:                               ; @.str.9
	.asciz	"worker request: EDNS bufsize %d ignored"

	.comm	_comm_udp,4,2                   ; @comm_udp
	.comm	_LDNS_EDNS_KEEPALIVE,4,2        ; @LDNS_EDNS_KEEPALIVE
l_.str.10:                              ; @.str.10
	.asciz	"query with bad edns keepalive."

l_.str.11:                              ; @.str.11
	.asciz	"worker request: max UDP reply size modified (%d to max-udp-size)"

	.comm	_LDNS_HEADER_SIZE,4,2           ; @LDNS_HEADER_SIZE
l_.str.12:                              ; @.str.12
	.asciz	"worker request: edns is too small."

	.comm	_LDNS_RCODE_SERVFAIL,4,2        ; @LDNS_RCODE_SERVFAIL
	.section	__TEXT,__const
l_.str.13:                              ; @.str.13
	.space	9

	.comm	_LDNS_RR_CLASS_CH,8,3           ; @LDNS_RR_CLASS_CH
	.comm	_LDNS_PACKET_NOTIFY,8,3         ; @LDNS_PACKET_NOTIFY
	.comm	_acl_deny_non_local,4,2         ; @acl_deny_non_local
	.comm	_acl_refuse_non_local,4,2       ; @acl_refuse_non_local
	.comm	_acl_allow_setrd,4,2            ; @acl_allow_setrd
	.comm	_acl_allow_snoop,4,2            ; @acl_allow_snoop
	.section	__TEXT,__cstring,cstring_literals
l_.str.14:                              ; @.str.14
	.asciz	"refused nonrec (cache snoop) query from"

	.comm	_LDNS_RR_TYPE_CNAME,4,2         ; @LDNS_RR_TYPE_CNAME
l_.str.15:                              ; @.str.15
	.asciz	"assumption failure: unexpected local alias"

	.comm	_LDNS_RR_TYPE_A,8,3             ; @LDNS_RR_TYPE_A
	.comm	_LDNS_RR_TYPE_AAAA,8,3          ; @LDNS_RR_TYPE_AAAA
	.comm	_LDNS_RR_TYPE_ANY,8,3           ; @LDNS_RR_TYPE_ANY
l_.str.16:                              ; @.str.16
	.asciz	"unexpected: invalid answer alias"

l_.str.17:                              ; @.str.17
	.asciz	"answer from the cache failed"

l_.str.18:                              ; @.str.18
	.asciz	"answer norec from cache -- need to validate or not primed"

	.comm	_verbosity,8,3                  ; @verbosity
l_.str.19:                              ; @.str.19
	.asciz	"udp request from"

l_.str.20:                              ; @.str.20
	.asciz	"tcp request from"

	.comm	_LDNS_MAX_DOMAINLEN,4,2         ; @LDNS_MAX_DOMAINLEN
	.comm	_LDNS_RR_TYPE_TXT,8,3           ; @LDNS_RR_TYPE_TXT
.subsections_via_symbols
