	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function handle_hotplug
_handle_hotplug:                        ## @handle_hotplug
	.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	$792, %rsp                      ## imm = 0x318
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	%r8d, %ebx
	movl	%ecx, %r13d
	movq	%rdx, %r14
	movq	%rsi, -824(%rbp)                ## 8-byte Spill
	movq	%rdi, %r15
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	movl	$0, -832(%rbp)
	movl	$0, -828(%rbp)
	movb	$0, -816(%rbp)
	movb	$0, -560(%rbp)
	movb	$0, -304(%rbp)
	leaq	-560(%rbp), %r12
	movq	%r12, %rdi
	movl	$256, %esi                      ## imm = 0x100
	callq	_frontend_android_get_name
	leaq	L_.str(%rip), %rdi
	movq	%r12, %rsi
	xorl	%eax, %eax
	callq	_RARCH_LOG
	movl	(%r14), %eax
	movq	_DEFAULT_MAX_PADS@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jle	LBB0_2
## %bb.1:
	leaq	L_.str.1(%rip), %rdi
	callq	_RARCH_ERR
	jmp	LBB0_60
LBB0_2:
	leaq	-304(%rbp), %rdi
	leaq	-832(%rbp), %rsi
	leaq	-828(%rbp), %rdx
	movl	$256, %ecx                      ## imm = 0x100
	movl	%r13d, %r8d
	callq	_engine_lookup_name
	testl	%eax, %eax
	je	LBB0_12
## %bb.3:
	leaq	L_.str.3(%rip), %rsi
	leaq	-560(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_13
## %bb.4:
	leaq	L_.str.4(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_6
## %bb.5:
	leaq	L_.str.5(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_13
LBB0_6:
	leaq	L_.str.6(%rip), %rdi
	leaq	-560(%rbp), %rsi
	xorl	%eax, %eax
	callq	_RARCH_LOG
	movq	8(%r15), %rax
	movq	(%rax), %rdi
	leaq	L_.str.7(%rip), %rsi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_8
## %bb.7:
	movq	8(%r15), %rax
	movq	(%rax), %rdi
	leaq	L_.str.8(%rip), %rsi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_9
LBB0_8:
	movq	_pad_id1@GOTPCREL(%rip), %rax
	movl	$-1, (%rax)
	movq	_pad_id2@GOTPCREL(%rip), %rax
	movl	$-1, (%rax)
	movq	$0, (%r15)
	movl	$0, (%r14)
	leaq	-816(%rbp), %rdi
	leaq	-304(%rbp), %rsi
	movl	$256, %edx                      ## imm = 0x100
	callq	_strlcpy
LBB0_9:
	leaq	L_.str.4(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	movq	-824(%rbp), %rbx                ## 8-byte Reload
	je	LBB0_11
## %bb.10:
	cmpq	$0, (%r15)
	je	LBB0_28
LBB0_11:
	leaq	L_.str.9(%rip), %rsi
	jmp	LBB0_29
LBB0_12:
	leaq	L_.str.2(%rip), %rdi
	callq	_RARCH_ERR
	jmp	LBB0_60
LBB0_13:
	leaq	L_.str.10(%rip), %rsi
	leaq	-560(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_20
## %bb.14:
	leaq	L_.str.4(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_18
## %bb.15:
	leaq	L_.str.11(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_18
## %bb.16:
	leaq	L_.str.12(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_18
## %bb.17:
	leaq	L_.str.13(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_20
LBB0_18:
	leaq	L_.str.6(%rip), %rdi
	leaq	-560(%rbp), %rsi
	xorl	%eax, %eax
	callq	_RARCH_LOG
	movq	_pad_id1@GOTPCREL(%rip), %rax
	cmpl	$0, (%rax)
	js	LBB0_34
## %bb.19:
	movq	_pad_id2@GOTPCREL(%rip), %rax
	movl	%r13d, (%rax)
	movl	%r13d, %eax
	jmp	LBB0_35
LBB0_20:
	leaq	L_.str.10(%rip), %rsi
	leaq	-560(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_37
## %bb.21:
	leaq	L_.str.4(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_24
## %bb.22:
	leaq	L_.str.11(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_24
## %bb.23:
	leaq	L_.str.15(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_37
LBB0_24:
	leaq	L_.str.6(%rip), %rdi
	leaq	-560(%rbp), %rsi
	xorl	%eax, %eax
	callq	_RARCH_LOG
	leaq	L_.str.15(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	movq	-824(%rbp), %rbx                ## 8-byte Reload
	je	LBB0_26
## %bb.25:
	cmpq	$0, (%r15)
	je	LBB0_48
LBB0_26:
	leaq	L_.str.4(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_60
## %bb.27:
	leaq	L_.str.11(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_60
	jmp	LBB0_49
LBB0_28:
	leaq	L_.str.8(%rip), %rsi
LBB0_29:
	leaq	-816(%rbp), %rdi
	movl	$256, %edx                      ## imm = 0x100
	callq	_strlcpy
	leaq	L_.str.5(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_31
## %bb.30:
	cmpq	$0, (%r15)
	je	LBB0_33
LBB0_31:
	leaq	L_.str.4(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_52
## %bb.32:
	movq	_pad_id1@GOTPCREL(%rip), %rax
	cmpl	$-1, (%rax)
	jne	LBB0_60
	jmp	LBB0_52
LBB0_33:
	movq	_pad_id1@GOTPCREL(%rip), %rax
	movl	%r13d, (%rax)
	jmp	LBB0_52
LBB0_34:
	movl	%r13d, (%rax)
	movq	_pad_id2@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
LBB0_35:
	movq	-824(%rbp), %rbx                ## 8-byte Reload
	testl	%eax, %eax
	jg	LBB0_60
## %bb.36:
	leaq	L_.str.14(%rip), %rsi
	jmp	LBB0_50
LBB0_37:
	leaq	L_.str.17(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_41
## %bb.38:
	leaq	L_.str.18(%rip), %rsi
LBB0_39:
	leaq	-816(%rbp), %rdi
LBB0_40:
	movl	$256, %edx                      ## imm = 0x100
	callq	_strlcpy
	movq	-824(%rbp), %rbx                ## 8-byte Reload
	jmp	LBB0_52
LBB0_41:
	leaq	L_.str.19(%rip), %rsi
	leaq	-560(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_62
## %bb.42:
	leaq	L_.str.4(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_46
## %bb.43:
	leaq	L_.str.20(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_46
## %bb.44:
	leaq	L_.str.21(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_46
## %bb.45:
	leaq	L_.str.22(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_62
LBB0_46:
	leaq	L_.str.6(%rip), %rdi
	leaq	-560(%rbp), %rsi
	xorl	%eax, %eax
	callq	_RARCH_LOG
	movq	_pad_id1@GOTPCREL(%rip), %rax
	cmpl	$0, (%rax)
	js	LBB0_75
## %bb.47:
	movq	_pad_id2@GOTPCREL(%rip), %rax
	movl	%r13d, (%rax)
	movl	%r13d, %eax
	jmp	LBB0_76
LBB0_48:
	movq	_pad_id1@GOTPCREL(%rip), %rax
	movl	%r13d, (%rax)
LBB0_49:
	leaq	L_.str.16(%rip), %rsi
LBB0_50:
	leaq	-816(%rbp), %rdi
LBB0_51:
	movl	$256, %edx                      ## imm = 0x100
	callq	_strlcpy
LBB0_52:
	movq	(%rbx), %rdi
	leaq	L_.str.54(%rip), %rsi
	callq	_strstr
	movq	(%rbx), %rsi
	testq	%rax, %rax
	jne	LBB0_56
## %bb.53:
	leaq	L_.str.55(%rip), %rax
	movq	%rsi, %rdi
	movq	%rax, %rsi
	callq	_strstr
	movq	(%rbx), %rsi
	testq	%rax, %rax
	jne	LBB0_56
## %bb.54:
	leaq	L_.str.56(%rip), %rax
	movq	%rsi, %rdi
	movq	%rax, %rsi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_57
## %bb.55:
	movq	(%rbx), %rsi
LBB0_56:
	leaq	-816(%rbp), %rdi
	movl	$256, %edx                      ## imm = 0x100
	callq	_strlcpy
LBB0_57:
	movl	(%r14), %ecx
	testl	%ecx, %ecx
	jns	LBB0_59
## %bb.58:
	movl	(%r15), %ecx
	movl	%ecx, (%r14)
LBB0_59:
	movq	_android_joypad@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	-832(%rbp), %r8d
	movl	-828(%rbp), %r9d
	leaq	-816(%rbp), %r12
	movq	%r12, %rdi
	xorl	%esi, %esi
	callq	_input_autoconfigure_connect
	movq	(%r15), %rax
	movq	8(%r15), %rcx
	shlq	$4, %rax
	movl	%r13d, 8(%rcx,%rax)
	movl	(%r14), %edx
	movl	%edx, 12(%rcx,%rax)
	movslq	(%r14), %rax
	shlq	$4, %rax
	movq	(%rcx,%rax), %rdi
	movq	%r12, %rsi
	movl	$8, %edx
	callq	_strlcpy
	incq	(%r15)
LBB0_60:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_99
## %bb.61:
	addq	$792, %rsp                      ## imm = 0x318
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_62:
	leaq	L_.str.24(%rip), %rsi
	leaq	-560(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_70
## %bb.63:
	leaq	L_.str.25(%rip), %rsi
	leaq	-560(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_70
## %bb.64:
	leaq	L_.str.26(%rip), %rsi
	leaq	-560(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_70
## %bb.65:
	leaq	L_.str.27(%rip), %rsi
	leaq	-560(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_70
## %bb.66:
	leaq	L_.str.28(%rip), %rsi
	leaq	-560(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_70
## %bb.67:
	leaq	L_.str.29(%rip), %rsi
	leaq	-560(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_70
## %bb.68:
	leaq	L_.str.30(%rip), %rsi
	leaq	-560(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_70
## %bb.69:
	leaq	L_.str.31(%rip), %rsi
	leaq	-560(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_82
LBB0_70:
	leaq	L_.str.32(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_73
## %bb.71:
	leaq	L_.str.33(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_73
## %bb.72:
	leaq	L_.str.18(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_82
LBB0_73:
	leaq	L_.str.6(%rip), %rdi
	leaq	-560(%rbp), %rsi
	xorl	%eax, %eax
	callq	_RARCH_LOG
	movq	_pad_id1@GOTPCREL(%rip), %rax
	cmpl	$0, (%rax)
	js	LBB0_78
## %bb.74:
	movq	_pad_id2@GOTPCREL(%rip), %rax
	movl	%r13d, (%rax)
	movl	%r13d, %eax
	jmp	LBB0_79
LBB0_75:
	movl	%r13d, (%rax)
	movq	_pad_id2@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
LBB0_76:
	movq	-824(%rbp), %rbx                ## 8-byte Reload
	testl	%eax, %eax
	jg	LBB0_60
## %bb.77:
	leaq	L_.str.23(%rip), %rsi
	jmp	LBB0_81
LBB0_78:
	movl	%r13d, (%rax)
	movq	_pad_id2@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
LBB0_79:
	movq	-824(%rbp), %rbx                ## 8-byte Reload
	testl	%eax, %eax
	jg	LBB0_60
## %bb.80:
	leaq	L_.str.34(%rip), %rsi
LBB0_81:
	leaq	-816(%rbp), %rdi
	movl	$256, %edx                      ## imm = 0x100
	callq	_strlcpy
	movl	$0, (%r14)
	jmp	LBB0_52
LBB0_82:
	leaq	L_.str.35(%rip), %rsi
	leaq	-560(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_87
## %bb.83:
	leaq	L_.str.36(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_85
## %bb.84:
	leaq	L_.str.37(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_87
LBB0_85:
	leaq	L_.str.38(%rip), %rdi
	leaq	-560(%rbp), %rsi
	xorl	%eax, %eax
	callq	_RARCH_LOG
	movq	_pad_id1@GOTPCREL(%rip), %rax
	cmpl	$0, (%rax)
	js	LBB0_96
## %bb.86:
	movq	_pad_id2@GOTPCREL(%rip), %rax
	movl	%r13d, (%rax)
	movl	%r13d, %eax
	jmp	LBB0_97
LBB0_87:
	leaq	L_.str.40(%rip), %rsi
	leaq	-560(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_92
## %bb.88:
	leaq	L_.str.41(%rip), %rsi
	leaq	-560(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_92
## %bb.89:
	leaq	L_.str.42(%rip), %rsi
	leaq	-560(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_92
## %bb.90:
	leaq	L_.str.43(%rip), %rsi
	leaq	-560(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_92
## %bb.91:
	leaq	L_.str.44(%rip), %rsi
	leaq	-560(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_100
LBB0_92:
	leaq	L_.str.6(%rip), %rdi
	leaq	-560(%rbp), %rsi
	xorl	%eax, %eax
	callq	_RARCH_LOG
	leaq	L_.str.45(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_94
## %bb.93:
	movq	8(%r15), %rax
	movq	(%rax), %rdi
	leaq	L_.str.45(%rip), %rsi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_95
LBB0_94:
	movq	$0, (%r15)
	movl	$0, (%r14)
LBB0_95:
	leaq	-816(%rbp), %rdi
	leaq	-304(%rbp), %rsi
	jmp	LBB0_40
LBB0_96:
	movl	%r13d, (%rax)
	movq	_pad_id2@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
LBB0_97:
	testl	%eax, %eax
	movq	-824(%rbp), %rbx                ## 8-byte Reload
	jg	LBB0_60
## %bb.98:
	leaq	L_.str.39(%rip), %rsi
	jmp	LBB0_81
LBB0_99:
	callq	___stack_chk_fail
LBB0_100:
	leaq	L_.str.45(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_94
## %bb.101:
	leaq	L_.str.46(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_94
## %bb.102:
	leaq	L_.str.7(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	jne	LBB0_94
## %bb.103:
	leaq	L_.str.47(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_105
## %bb.104:
	leaq	L_.str.48(%rip), %rsi
	jmp	LBB0_39
LBB0_105:
	leaq	L_.str.49(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_109
## %bb.106:
	movl	(%r14), %eax
	cmpl	$1, %eax
	je	LBB0_111
## %bb.107:
	testl	%eax, %eax
	movq	-824(%rbp), %rbx                ## 8-byte Reload
	jne	LBB0_52
## %bb.108:
	leaq	L_.str.50(%rip), %rsi
	jmp	LBB0_50
LBB0_109:
	leaq	L_.str.52(%rip), %rsi
	leaq	-304(%rbp), %rdi
	callq	_strstr
	testq	%rax, %rax
	je	LBB0_112
## %bb.110:
	leaq	L_.str.53(%rip), %rsi
	jmp	LBB0_39
LBB0_111:
	leaq	L_.str.51(%rip), %rsi
	jmp	LBB0_39
LBB0_112:
	movq	_AINPUT_SOURCE_KEYBOARD@GOTPCREL(%rip), %rax
	cmpl	%ebx, (%rax)
	jne	LBB0_115
## %bb.113:
	movq	_kbd_num@GOTPCREL(%rip), %rax
	movq	(%rax), %rcx
	movq	_MAX_NUM_KEYBOARDS@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rcx
	jae	LBB0_115
## %bb.114:
	movq	_kbd_id@GOTPCREL(%rip), %rdx
	movq	(%rdx), %rdx
	movl	%r13d, (%rdx,%rcx,4)
	incq	%rcx
	movq	%rcx, (%rax)
	jmp	LBB0_60
LBB0_115:
	leaq	-304(%rbp), %rdi
	callq	_string_is_empty
	testl	%eax, %eax
	movq	-824(%rbp), %rbx                ## 8-byte Reload
	jne	LBB0_52
## %bb.116:
	leaq	-816(%rbp), %rdi
	leaq	-304(%rbp), %rsi
	jmp	LBB0_51
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Device model: (%s).\n"

	.comm	_DEFAULT_MAX_PADS,4,2           ## @DEFAULT_MAX_PADS
L_.str.1:                               ## @.str.1
	.asciz	"Max number of pads reached.\n"

L_.str.2:                               ## @.str.2
	.asciz	"Could not look up device name or IDs.\n"

L_.str.3:                               ## @.str.3
	.asciz	"SHIELD Android TV"

L_.str.4:                               ## @.str.4
	.asciz	"Virtual"

L_.str.5:                               ## @.str.5
	.asciz	"NVIDIA Corporation NVIDIA Controller v01.0"

L_.str.6:                               ## @.str.6
	.asciz	"Special Device Detected: %s\n"

L_.str.7:                               ## @.str.7
	.asciz	"SHIELD Remote"

L_.str.8:                               ## @.str.8
	.asciz	"SHIELD Virtual Controller"

	.comm	_pad_id1,4,2                    ## @pad_id1
	.comm	_pad_id2,4,2                    ## @pad_id2
L_.str.9:                               ## @.str.9
	.asciz	"NVIDIA SHIELD Controller"

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

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

L_.str.12:                              ## @.str.12
	.asciz	"NVIDIA Corporation NVIDIA Controller v01.01"

L_.str.13:                              ## @.str.13
	.asciz	"NVIDIA Corporation NVIDIA Controller v01.02"

L_.str.14:                              ## @.str.14
	.asciz	"NVIDIA SHIELD Portable"

L_.str.15:                              ## @.str.15
	.asciz	"NVIDIA Corporation NVIDIA Controller v01.03"

L_.str.16:                              ## @.str.16
	.asciz	"NVIDIA SHIELD Gamepad"

L_.str.17:                              ## @.str.17
	.asciz	"NVIDIA"

L_.str.18:                              ## @.str.18
	.asciz	"Android Gamepad"

L_.str.19:                              ## @.str.19
	.asciz	"XD"

L_.str.20:                              ## @.str.20
	.asciz	"rk29-keypad"

L_.str.21:                              ## @.str.21
	.asciz	"Playstation3"

L_.str.22:                              ## @.str.22
	.asciz	"XBOX"

L_.str.23:                              ## @.str.23
	.asciz	"GPD XD"

L_.str.24:                              ## @.str.24
	.asciz	"R800x"

L_.str.25:                              ## @.str.25
	.asciz	"R800at"

L_.str.26:                              ## @.str.26
	.asciz	"R800i"

L_.str.27:                              ## @.str.27
	.asciz	"R800a"

L_.str.28:                              ## @.str.28
	.asciz	"R800"

L_.str.29:                              ## @.str.29
	.asciz	"Xperia Play"

L_.str.30:                              ## @.str.30
	.asciz	"Play"

L_.str.31:                              ## @.str.31
	.asciz	"SO-01D"

L_.str.32:                              ## @.str.32
	.asciz	"keypad-game-zeus"

L_.str.33:                              ## @.str.33
	.asciz	"keypad-zeus"

L_.str.34:                              ## @.str.34
	.asciz	"XPERIA Play"

L_.str.35:                              ## @.str.35
	.asciz	"ARCHOS GAMEPAD"

L_.str.36:                              ## @.str.36
	.asciz	"joy_key"

L_.str.37:                              ## @.str.37
	.asciz	"joystick"

L_.str.38:                              ## @.str.38
	.asciz	"ARCHOS GAMEPAD Detected: %s\n"

L_.str.39:                              ## @.str.39
	.asciz	"ARCHOS GamePad"

L_.str.40:                              ## @.str.40
	.asciz	"AFTB"

L_.str.41:                              ## @.str.41
	.asciz	"AFTT"

L_.str.42:                              ## @.str.42
	.asciz	"AFTS"

L_.str.43:                              ## @.str.43
	.asciz	"AFTM"

L_.str.44:                              ## @.str.44
	.asciz	"AFTRS"

L_.str.45:                              ## @.str.45
	.asciz	"Amazon Fire TV Remote"

L_.str.46:                              ## @.str.46
	.asciz	"Nexus Remote"

L_.str.47:                              ## @.str.47
	.asciz	"iControlPad-"

L_.str.48:                              ## @.str.48
	.asciz	"iControlPad HID Joystick profile"

L_.str.49:                              ## @.str.49
	.asciz	"TTT THT Arcade console 2P USB Play"

L_.str.50:                              ## @.str.50
	.asciz	"TTT THT Arcade (User 1)"

L_.str.51:                              ## @.str.51
	.asciz	"TTT THT Arcade (User 2)"

L_.str.52:                              ## @.str.52
	.asciz	"MOGA"

L_.str.53:                              ## @.str.53
	.asciz	"Moga IME"

	.comm	_AINPUT_SOURCE_KEYBOARD,4,2     ## @AINPUT_SOURCE_KEYBOARD
	.comm	_kbd_num,8,3                    ## @kbd_num
	.comm	_MAX_NUM_KEYBOARDS,8,3          ## @MAX_NUM_KEYBOARDS
	.comm	_kbd_id,8,3                     ## @kbd_id
L_.str.54:                              ## @.str.54
	.asciz	"net.obsidianx.android.mogaime"

L_.str.55:                              ## @.str.55
	.asciz	"com.ccpcreations.android.WiiUseAndroid"

L_.str.56:                              ## @.str.56
	.asciz	"com.hexad.bluezime"

	.comm	_android_joypad,4,2             ## @android_joypad
	.no_dead_strip	_handle_hotplug
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function handle_hotplug
_handle_hotplug:                        ; @handle_hotplug
	.cfi_startproc
; %bb.0:
	stp	x24, x23, [sp, #-64]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.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
	sub	sp, sp, #784
	mov	x23, x4
	mov	x20, x3
	mov	x21, x2
	mov	x22, x1
	mov	x19, x0
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	stur	x8, [x29, #-56]
	str	xzr, [sp]
	strb	wzr, [sp, #8]
	strb	wzr, [sp, #264]
	strb	wzr, [sp, #520]
	add	x0, sp, #264
	mov	w1, #256
	bl	_frontend_android_get_name
Lloh3:
	adrp	x0, l_.str@PAGE
Lloh4:
	add	x0, x0, l_.str@PAGEOFF
	add	x1, sp, #264
	bl	_RARCH_LOG
	ldr	w8, [x21]
Lloh5:
	adrp	x9, _DEFAULT_MAX_PADS@GOTPAGE
Lloh6:
	ldr	x9, [x9, _DEFAULT_MAX_PADS@GOTPAGEOFF]
Lloh7:
	ldr	w9, [x9]
	cmp	w8, w9
	b.le	LBB0_2
; %bb.1:
Lloh8:
	adrp	x0, l_.str.1@PAGE
Lloh9:
	add	x0, x0, l_.str.1@PAGEOFF
	bl	_RARCH_ERR
	b	LBB0_57
LBB0_2:
	add	x0, sp, #520
	add	x1, sp, #4
	mov	x2, sp
	mov	w3, #256
	mov	x4, x20
	bl	_engine_lookup_name
	cbz	w0, LBB0_12
; %bb.3:
Lloh10:
	adrp	x1, l_.str.3@PAGE
Lloh11:
	add	x1, x1, l_.str.3@PAGEOFF
	add	x0, sp, #264
	bl	_strstr
	cbz	x0, LBB0_13
; %bb.4:
Lloh12:
	adrp	x1, l_.str.4@PAGE
Lloh13:
	add	x1, x1, l_.str.4@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbnz	x0, LBB0_6
; %bb.5:
Lloh14:
	adrp	x1, l_.str.5@PAGE
Lloh15:
	add	x1, x1, l_.str.5@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbz	x0, LBB0_13
LBB0_6:
Lloh16:
	adrp	x0, l_.str.6@PAGE
Lloh17:
	add	x0, x0, l_.str.6@PAGEOFF
	add	x1, sp, #264
	bl	_RARCH_LOG
	ldr	x8, [x19, #8]
	ldr	x0, [x8]
Lloh18:
	adrp	x1, l_.str.7@PAGE
Lloh19:
	add	x1, x1, l_.str.7@PAGEOFF
	bl	_strstr
Lloh20:
	adrp	x23, _pad_id1@GOTPAGE
Lloh21:
	ldr	x23, [x23, _pad_id1@GOTPAGEOFF]
	cbnz	x0, LBB0_8
; %bb.7:
	ldr	x8, [x19, #8]
	ldr	x0, [x8]
Lloh22:
	adrp	x1, l_.str.8@PAGE
Lloh23:
	add	x1, x1, l_.str.8@PAGEOFF
	bl	_strstr
	cbz	x0, LBB0_9
LBB0_8:
	mov	w8, #-1
	str	w8, [x23]
Lloh24:
	adrp	x9, _pad_id2@GOTPAGE
Lloh25:
	ldr	x9, [x9, _pad_id2@GOTPAGEOFF]
Lloh26:
	str	w8, [x9]
	str	xzr, [x19]
	str	wzr, [x21]
	add	x0, sp, #8
	add	x1, sp, #520
	mov	w2, #256
	bl	_strlcpy
LBB0_9:
Lloh27:
	adrp	x1, l_.str.4@PAGE
Lloh28:
	add	x1, x1, l_.str.4@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbz	x0, LBB0_11
; %bb.10:
	ldr	x8, [x19]
	cbz	x8, LBB0_28
LBB0_11:
Lloh29:
	adrp	x1, l_.str.9@PAGE
Lloh30:
	add	x1, x1, l_.str.9@PAGEOFF
	b	LBB0_29
LBB0_12:
Lloh31:
	adrp	x0, l_.str.2@PAGE
Lloh32:
	add	x0, x0, l_.str.2@PAGEOFF
	bl	_RARCH_ERR
	b	LBB0_57
LBB0_13:
Lloh33:
	adrp	x1, l_.str.10@PAGE
Lloh34:
	add	x1, x1, l_.str.10@PAGEOFF
	add	x0, sp, #264
	bl	_strstr
	cbz	x0, LBB0_20
; %bb.14:
Lloh35:
	adrp	x1, l_.str.4@PAGE
Lloh36:
	add	x1, x1, l_.str.4@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbnz	x0, LBB0_18
; %bb.15:
Lloh37:
	adrp	x1, l_.str.11@PAGE
Lloh38:
	add	x1, x1, l_.str.11@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbnz	x0, LBB0_18
; %bb.16:
Lloh39:
	adrp	x1, l_.str.12@PAGE
Lloh40:
	add	x1, x1, l_.str.12@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbnz	x0, LBB0_18
; %bb.17:
Lloh41:
	adrp	x1, l_.str.13@PAGE
Lloh42:
	add	x1, x1, l_.str.13@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbz	x0, LBB0_20
LBB0_18:
Lloh43:
	adrp	x0, l_.str.6@PAGE
Lloh44:
	add	x0, x0, l_.str.6@PAGEOFF
	add	x1, sp, #264
	bl	_RARCH_LOG
Lloh45:
	adrp	x8, _pad_id1@GOTPAGE
Lloh46:
	ldr	x8, [x8, _pad_id1@GOTPAGEOFF]
	ldr	w9, [x8]
	tbnz	w9, #31, LBB0_34
; %bb.19:
Lloh47:
	adrp	x8, _pad_id2@GOTPAGE
Lloh48:
	ldr	x8, [x8, _pad_id2@GOTPAGEOFF]
Lloh49:
	str	w20, [x8]
	mov	x8, x20
	cmp	w8, #0
	b.gt	LBB0_57
	b	LBB0_35
LBB0_20:
Lloh50:
	adrp	x1, l_.str.10@PAGE
Lloh51:
	add	x1, x1, l_.str.10@PAGEOFF
	add	x0, sp, #264
	bl	_strstr
	cbz	x0, LBB0_36
; %bb.21:
Lloh52:
	adrp	x1, l_.str.4@PAGE
Lloh53:
	add	x1, x1, l_.str.4@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbnz	x0, LBB0_24
; %bb.22:
Lloh54:
	adrp	x1, l_.str.11@PAGE
Lloh55:
	add	x1, x1, l_.str.11@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbnz	x0, LBB0_24
; %bb.23:
Lloh56:
	adrp	x1, l_.str.15@PAGE
Lloh57:
	add	x1, x1, l_.str.15@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbz	x0, LBB0_36
LBB0_24:
Lloh58:
	adrp	x0, l_.str.6@PAGE
Lloh59:
	add	x0, x0, l_.str.6@PAGEOFF
	add	x1, sp, #264
	bl	_RARCH_LOG
Lloh60:
	adrp	x1, l_.str.15@PAGE
Lloh61:
	add	x1, x1, l_.str.15@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbz	x0, LBB0_26
; %bb.25:
	ldr	x8, [x19]
	cbz	x8, LBB0_45
LBB0_26:
Lloh62:
	adrp	x1, l_.str.4@PAGE
Lloh63:
	add	x1, x1, l_.str.4@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbnz	x0, LBB0_57
; %bb.27:
Lloh64:
	adrp	x1, l_.str.11@PAGE
Lloh65:
	add	x1, x1, l_.str.11@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbnz	x0, LBB0_57
	b	LBB0_46
LBB0_28:
Lloh66:
	adrp	x1, l_.str.8@PAGE
Lloh67:
	add	x1, x1, l_.str.8@PAGEOFF
LBB0_29:
	add	x0, sp, #8
	mov	w2, #256
	bl	_strlcpy
Lloh68:
	adrp	x1, l_.str.5@PAGE
Lloh69:
	add	x1, x1, l_.str.5@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbz	x0, LBB0_31
; %bb.30:
	ldr	x8, [x19]
	cbz	x8, LBB0_33
LBB0_31:
Lloh70:
	adrp	x1, l_.str.4@PAGE
Lloh71:
	add	x1, x1, l_.str.4@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbz	x0, LBB0_49
; %bb.32:
	ldr	w8, [x23]
	cmn	w8, #1
	b.ne	LBB0_57
	b	LBB0_49
LBB0_33:
	str	w20, [x23]
	b	LBB0_49
LBB0_34:
	str	w20, [x8]
Lloh72:
	adrp	x8, _pad_id2@GOTPAGE
Lloh73:
	ldr	x8, [x8, _pad_id2@GOTPAGEOFF]
Lloh74:
	ldr	w8, [x8]
	cmp	w8, #0
	b.gt	LBB0_57
LBB0_35:
Lloh75:
	adrp	x1, l_.str.14@PAGE
Lloh76:
	add	x1, x1, l_.str.14@PAGEOFF
	b	LBB0_47
LBB0_36:
Lloh77:
	adrp	x1, l_.str.17@PAGE
Lloh78:
	add	x1, x1, l_.str.17@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbz	x0, LBB0_38
; %bb.37:
Lloh79:
	adrp	x1, l_.str.18@PAGE
Lloh80:
	add	x1, x1, l_.str.18@PAGEOFF
	b	LBB0_47
LBB0_38:
Lloh81:
	adrp	x1, l_.str.19@PAGE
Lloh82:
	add	x1, x1, l_.str.19@PAGEOFF
	add	x0, sp, #264
	bl	_strstr
	cbz	x0, LBB0_59
; %bb.39:
Lloh83:
	adrp	x1, l_.str.4@PAGE
Lloh84:
	add	x1, x1, l_.str.4@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbnz	x0, LBB0_43
; %bb.40:
Lloh85:
	adrp	x1, l_.str.20@PAGE
Lloh86:
	add	x1, x1, l_.str.20@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbnz	x0, LBB0_43
; %bb.41:
Lloh87:
	adrp	x1, l_.str.21@PAGE
Lloh88:
	add	x1, x1, l_.str.21@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbnz	x0, LBB0_43
; %bb.42:
Lloh89:
	adrp	x1, l_.str.22@PAGE
Lloh90:
	add	x1, x1, l_.str.22@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbz	x0, LBB0_59
LBB0_43:
Lloh91:
	adrp	x0, l_.str.6@PAGE
Lloh92:
	add	x0, x0, l_.str.6@PAGEOFF
	add	x1, sp, #264
	bl	_RARCH_LOG
Lloh93:
	adrp	x8, _pad_id1@GOTPAGE
Lloh94:
	ldr	x8, [x8, _pad_id1@GOTPAGEOFF]
	ldr	w9, [x8]
	tbnz	w9, #31, LBB0_72
; %bb.44:
Lloh95:
	adrp	x8, _pad_id2@GOTPAGE
Lloh96:
	ldr	x8, [x8, _pad_id2@GOTPAGEOFF]
Lloh97:
	str	w20, [x8]
	mov	x8, x20
	b	LBB0_73
LBB0_45:
Lloh98:
	adrp	x8, _pad_id1@GOTPAGE
Lloh99:
	ldr	x8, [x8, _pad_id1@GOTPAGEOFF]
Lloh100:
	str	w20, [x8]
LBB0_46:
Lloh101:
	adrp	x1, l_.str.16@PAGE
Lloh102:
	add	x1, x1, l_.str.16@PAGEOFF
LBB0_47:
	add	x0, sp, #8
LBB0_48:
	mov	w2, #256
	bl	_strlcpy
LBB0_49:
	ldr	x0, [x22]
Lloh103:
	adrp	x1, l_.str.54@PAGE
Lloh104:
	add	x1, x1, l_.str.54@PAGEOFF
	bl	_strstr
	ldr	x1, [x22]
	cbnz	x0, LBB0_53
; %bb.50:
Lloh105:
	adrp	x8, l_.str.55@PAGE
Lloh106:
	add	x8, x8, l_.str.55@PAGEOFF
	mov	x0, x1
	mov	x1, x8
	bl	_strstr
	ldr	x1, [x22]
	cbnz	x0, LBB0_53
; %bb.51:
Lloh107:
	adrp	x8, l_.str.56@PAGE
Lloh108:
	add	x8, x8, l_.str.56@PAGEOFF
	mov	x0, x1
	mov	x1, x8
	bl	_strstr
	cbz	x0, LBB0_54
; %bb.52:
	ldr	x1, [x22]
LBB0_53:
	add	x0, sp, #8
	mov	w2, #256
	bl	_strlcpy
LBB0_54:
	ldr	w3, [x21]
	tbz	w3, #31, LBB0_56
; %bb.55:
	ldr	w3, [x19]
	str	w3, [x21]
LBB0_56:
Lloh109:
	adrp	x8, _android_joypad@GOTPAGE
Lloh110:
	ldr	x8, [x8, _android_joypad@GOTPAGEOFF]
Lloh111:
	ldr	w2, [x8]
	ldp	w5, w4, [sp]
	add	x0, sp, #8
	mov	x1, #0
	bl	_input_autoconfigure_connect
	ldp	x9, x8, [x19]
	add	x9, x8, x9, lsl #4
	str	w20, [x9, #8]
	ldr	w10, [x21]
	str	w10, [x9, #12]
	ldrsw	x9, [x21]
	lsl	x9, x9, #4
	ldr	x0, [x8, x9]
	add	x1, sp, #8
	mov	w2, #8
	bl	_strlcpy
	ldr	x8, [x19]
	add	x8, x8, #1
	str	x8, [x19]
LBB0_57:
	ldur	x8, [x29, #-56]
Lloh112:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh113:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh114:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_96
; %bb.58:
	add	sp, sp, #784
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp], #64             ; 16-byte Folded Reload
	ret
LBB0_59:
Lloh115:
	adrp	x1, l_.str.24@PAGE
Lloh116:
	add	x1, x1, l_.str.24@PAGEOFF
	add	x0, sp, #264
	bl	_strstr
	cbnz	x0, LBB0_67
; %bb.60:
Lloh117:
	adrp	x1, l_.str.25@PAGE
Lloh118:
	add	x1, x1, l_.str.25@PAGEOFF
	add	x0, sp, #264
	bl	_strstr
	cbnz	x0, LBB0_67
; %bb.61:
Lloh119:
	adrp	x1, l_.str.26@PAGE
Lloh120:
	add	x1, x1, l_.str.26@PAGEOFF
	add	x0, sp, #264
	bl	_strstr
	cbnz	x0, LBB0_67
; %bb.62:
Lloh121:
	adrp	x1, l_.str.27@PAGE
Lloh122:
	add	x1, x1, l_.str.27@PAGEOFF
	add	x0, sp, #264
	bl	_strstr
	cbnz	x0, LBB0_67
; %bb.63:
Lloh123:
	adrp	x1, l_.str.28@PAGE
Lloh124:
	add	x1, x1, l_.str.28@PAGEOFF
	add	x0, sp, #264
	bl	_strstr
	cbnz	x0, LBB0_67
; %bb.64:
Lloh125:
	adrp	x1, l_.str.29@PAGE
Lloh126:
	add	x1, x1, l_.str.29@PAGEOFF
	add	x0, sp, #264
	bl	_strstr
	cbnz	x0, LBB0_67
; %bb.65:
Lloh127:
	adrp	x1, l_.str.30@PAGE
Lloh128:
	add	x1, x1, l_.str.30@PAGEOFF
	add	x0, sp, #264
	bl	_strstr
	cbnz	x0, LBB0_67
; %bb.66:
Lloh129:
	adrp	x1, l_.str.31@PAGE
Lloh130:
	add	x1, x1, l_.str.31@PAGEOFF
	add	x0, sp, #264
	bl	_strstr
	cbz	x0, LBB0_79
LBB0_67:
Lloh131:
	adrp	x1, l_.str.32@PAGE
Lloh132:
	add	x1, x1, l_.str.32@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbnz	x0, LBB0_70
; %bb.68:
Lloh133:
	adrp	x1, l_.str.33@PAGE
Lloh134:
	add	x1, x1, l_.str.33@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbnz	x0, LBB0_70
; %bb.69:
Lloh135:
	adrp	x1, l_.str.18@PAGE
Lloh136:
	add	x1, x1, l_.str.18@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbz	x0, LBB0_79
LBB0_70:
Lloh137:
	adrp	x0, l_.str.6@PAGE
Lloh138:
	add	x0, x0, l_.str.6@PAGEOFF
	add	x1, sp, #264
	bl	_RARCH_LOG
Lloh139:
	adrp	x8, _pad_id1@GOTPAGE
Lloh140:
	ldr	x8, [x8, _pad_id1@GOTPAGEOFF]
	ldr	w9, [x8]
	tbnz	w9, #31, LBB0_75
; %bb.71:
Lloh141:
	adrp	x8, _pad_id2@GOTPAGE
Lloh142:
	ldr	x8, [x8, _pad_id2@GOTPAGEOFF]
Lloh143:
	str	w20, [x8]
	mov	x8, x20
	b	LBB0_76
LBB0_72:
	str	w20, [x8]
Lloh144:
	adrp	x8, _pad_id2@GOTPAGE
Lloh145:
	ldr	x8, [x8, _pad_id2@GOTPAGEOFF]
Lloh146:
	ldr	w8, [x8]
LBB0_73:
	cmp	w8, #0
	b.gt	LBB0_57
; %bb.74:
Lloh147:
	adrp	x1, l_.str.23@PAGE
Lloh148:
	add	x1, x1, l_.str.23@PAGEOFF
	b	LBB0_78
LBB0_75:
	str	w20, [x8]
Lloh149:
	adrp	x8, _pad_id2@GOTPAGE
Lloh150:
	ldr	x8, [x8, _pad_id2@GOTPAGEOFF]
Lloh151:
	ldr	w8, [x8]
LBB0_76:
	cmp	w8, #0
	b.gt	LBB0_57
; %bb.77:
Lloh152:
	adrp	x1, l_.str.34@PAGE
Lloh153:
	add	x1, x1, l_.str.34@PAGEOFF
LBB0_78:
	add	x0, sp, #8
	mov	w2, #256
	bl	_strlcpy
	str	wzr, [x21]
	b	LBB0_49
LBB0_79:
Lloh154:
	adrp	x1, l_.str.35@PAGE
Lloh155:
	add	x1, x1, l_.str.35@PAGEOFF
	add	x0, sp, #264
	bl	_strstr
	cbz	x0, LBB0_84
; %bb.80:
Lloh156:
	adrp	x1, l_.str.36@PAGE
Lloh157:
	add	x1, x1, l_.str.36@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbnz	x0, LBB0_82
; %bb.81:
Lloh158:
	adrp	x1, l_.str.37@PAGE
Lloh159:
	add	x1, x1, l_.str.37@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbz	x0, LBB0_84
LBB0_82:
Lloh160:
	adrp	x0, l_.str.38@PAGE
Lloh161:
	add	x0, x0, l_.str.38@PAGEOFF
	add	x1, sp, #264
	bl	_RARCH_LOG
Lloh162:
	adrp	x8, _pad_id1@GOTPAGE
Lloh163:
	ldr	x8, [x8, _pad_id1@GOTPAGEOFF]
	ldr	w9, [x8]
	tbnz	w9, #31, LBB0_93
; %bb.83:
Lloh164:
	adrp	x8, _pad_id2@GOTPAGE
Lloh165:
	ldr	x8, [x8, _pad_id2@GOTPAGEOFF]
Lloh166:
	str	w20, [x8]
	mov	x8, x20
	b	LBB0_94
LBB0_84:
Lloh167:
	adrp	x1, l_.str.40@PAGE
Lloh168:
	add	x1, x1, l_.str.40@PAGEOFF
	add	x0, sp, #264
	bl	_strstr
	cbnz	x0, LBB0_89
; %bb.85:
Lloh169:
	adrp	x1, l_.str.41@PAGE
Lloh170:
	add	x1, x1, l_.str.41@PAGEOFF
	add	x0, sp, #264
	bl	_strstr
	cbnz	x0, LBB0_89
; %bb.86:
Lloh171:
	adrp	x1, l_.str.42@PAGE
Lloh172:
	add	x1, x1, l_.str.42@PAGEOFF
	add	x0, sp, #264
	bl	_strstr
	cbnz	x0, LBB0_89
; %bb.87:
Lloh173:
	adrp	x1, l_.str.43@PAGE
Lloh174:
	add	x1, x1, l_.str.43@PAGEOFF
	add	x0, sp, #264
	bl	_strstr
	cbnz	x0, LBB0_89
; %bb.88:
Lloh175:
	adrp	x1, l_.str.44@PAGE
Lloh176:
	add	x1, x1, l_.str.44@PAGEOFF
	add	x0, sp, #264
	bl	_strstr
	cbz	x0, LBB0_97
LBB0_89:
Lloh177:
	adrp	x0, l_.str.6@PAGE
Lloh178:
	add	x0, x0, l_.str.6@PAGEOFF
	add	x1, sp, #264
	bl	_RARCH_LOG
Lloh179:
	adrp	x1, l_.str.45@PAGE
Lloh180:
	add	x1, x1, l_.str.45@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbnz	x0, LBB0_91
; %bb.90:
	ldr	x8, [x19, #8]
	ldr	x0, [x8]
Lloh181:
	adrp	x1, l_.str.45@PAGE
Lloh182:
	add	x1, x1, l_.str.45@PAGEOFF
	bl	_strstr
	cbz	x0, LBB0_92
LBB0_91:
	str	xzr, [x19]
	str	wzr, [x21]
LBB0_92:
	add	x0, sp, #8
	add	x1, sp, #520
	b	LBB0_48
LBB0_93:
	str	w20, [x8]
Lloh183:
	adrp	x8, _pad_id2@GOTPAGE
Lloh184:
	ldr	x8, [x8, _pad_id2@GOTPAGEOFF]
Lloh185:
	ldr	w8, [x8]
LBB0_94:
	cmp	w8, #0
	b.gt	LBB0_57
; %bb.95:
Lloh186:
	adrp	x1, l_.str.39@PAGE
Lloh187:
	add	x1, x1, l_.str.39@PAGEOFF
	b	LBB0_78
LBB0_96:
	bl	___stack_chk_fail
LBB0_97:
Lloh188:
	adrp	x1, l_.str.45@PAGE
Lloh189:
	add	x1, x1, l_.str.45@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbnz	x0, LBB0_91
; %bb.98:
Lloh190:
	adrp	x1, l_.str.46@PAGE
Lloh191:
	add	x1, x1, l_.str.46@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbnz	x0, LBB0_91
; %bb.99:
Lloh192:
	adrp	x1, l_.str.7@PAGE
Lloh193:
	add	x1, x1, l_.str.7@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbnz	x0, LBB0_91
; %bb.100:
Lloh194:
	adrp	x1, l_.str.47@PAGE
Lloh195:
	add	x1, x1, l_.str.47@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbz	x0, LBB0_102
; %bb.101:
Lloh196:
	adrp	x1, l_.str.48@PAGE
Lloh197:
	add	x1, x1, l_.str.48@PAGEOFF
	b	LBB0_47
LBB0_102:
Lloh198:
	adrp	x1, l_.str.49@PAGE
Lloh199:
	add	x1, x1, l_.str.49@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbz	x0, LBB0_106
; %bb.103:
	ldr	w8, [x21]
	cmp	w8, #1
	b.eq	LBB0_108
; %bb.104:
	cbnz	w8, LBB0_49
; %bb.105:
Lloh200:
	adrp	x1, l_.str.50@PAGE
Lloh201:
	add	x1, x1, l_.str.50@PAGEOFF
	b	LBB0_47
LBB0_106:
Lloh202:
	adrp	x1, l_.str.52@PAGE
Lloh203:
	add	x1, x1, l_.str.52@PAGEOFF
	add	x0, sp, #520
	bl	_strstr
	cbz	x0, LBB0_109
; %bb.107:
Lloh204:
	adrp	x1, l_.str.53@PAGE
Lloh205:
	add	x1, x1, l_.str.53@PAGEOFF
	b	LBB0_47
LBB0_108:
Lloh206:
	adrp	x1, l_.str.51@PAGE
Lloh207:
	add	x1, x1, l_.str.51@PAGEOFF
	b	LBB0_47
LBB0_109:
Lloh208:
	adrp	x8, _AINPUT_SOURCE_KEYBOARD@GOTPAGE
Lloh209:
	ldr	x8, [x8, _AINPUT_SOURCE_KEYBOARD@GOTPAGEOFF]
Lloh210:
	ldr	w8, [x8]
	cmp	w8, w23
	b.ne	LBB0_112
; %bb.110:
Lloh211:
	adrp	x8, _kbd_num@GOTPAGE
Lloh212:
	ldr	x8, [x8, _kbd_num@GOTPAGEOFF]
	ldr	x9, [x8]
Lloh213:
	adrp	x10, _MAX_NUM_KEYBOARDS@GOTPAGE
Lloh214:
	ldr	x10, [x10, _MAX_NUM_KEYBOARDS@GOTPAGEOFF]
Lloh215:
	ldr	x10, [x10]
	cmp	x9, x10
	b.hs	LBB0_112
; %bb.111:
Lloh216:
	adrp	x10, _kbd_id@GOTPAGE
Lloh217:
	ldr	x10, [x10, _kbd_id@GOTPAGEOFF]
Lloh218:
	ldr	x10, [x10]
	str	w20, [x10, x9, lsl #2]
	add	x9, x9, #1
	str	x9, [x8]
	b	LBB0_57
LBB0_112:
	add	x0, sp, #520
	bl	_string_is_empty
	cbnz	w0, LBB0_49
	b	LBB0_92
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpAdd	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh8, Lloh9
	.loh AdrpAdd	Lloh10, Lloh11
	.loh AdrpAdd	Lloh12, Lloh13
	.loh AdrpAdd	Lloh14, Lloh15
	.loh AdrpLdrGot	Lloh20, Lloh21
	.loh AdrpAdd	Lloh18, Lloh19
	.loh AdrpAdd	Lloh16, Lloh17
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpLdrGotStr	Lloh24, Lloh25, Lloh26
	.loh AdrpAdd	Lloh27, Lloh28
	.loh AdrpAdd	Lloh29, Lloh30
	.loh AdrpAdd	Lloh31, Lloh32
	.loh AdrpAdd	Lloh33, Lloh34
	.loh AdrpAdd	Lloh35, Lloh36
	.loh AdrpAdd	Lloh37, Lloh38
	.loh AdrpAdd	Lloh39, Lloh40
	.loh AdrpAdd	Lloh41, Lloh42
	.loh AdrpLdrGot	Lloh45, Lloh46
	.loh AdrpAdd	Lloh43, Lloh44
	.loh AdrpLdrGotStr	Lloh47, Lloh48, Lloh49
	.loh AdrpAdd	Lloh50, Lloh51
	.loh AdrpAdd	Lloh52, Lloh53
	.loh AdrpAdd	Lloh54, Lloh55
	.loh AdrpAdd	Lloh56, Lloh57
	.loh AdrpAdd	Lloh60, Lloh61
	.loh AdrpAdd	Lloh58, Lloh59
	.loh AdrpAdd	Lloh62, Lloh63
	.loh AdrpAdd	Lloh64, Lloh65
	.loh AdrpAdd	Lloh66, Lloh67
	.loh AdrpAdd	Lloh68, Lloh69
	.loh AdrpAdd	Lloh70, Lloh71
	.loh AdrpLdrGotLdr	Lloh72, Lloh73, Lloh74
	.loh AdrpAdd	Lloh75, Lloh76
	.loh AdrpAdd	Lloh77, Lloh78
	.loh AdrpAdd	Lloh79, Lloh80
	.loh AdrpAdd	Lloh81, Lloh82
	.loh AdrpAdd	Lloh83, Lloh84
	.loh AdrpAdd	Lloh85, Lloh86
	.loh AdrpAdd	Lloh87, Lloh88
	.loh AdrpAdd	Lloh89, Lloh90
	.loh AdrpLdrGot	Lloh93, Lloh94
	.loh AdrpAdd	Lloh91, Lloh92
	.loh AdrpLdrGotStr	Lloh95, Lloh96, Lloh97
	.loh AdrpLdrGotStr	Lloh98, Lloh99, Lloh100
	.loh AdrpAdd	Lloh101, Lloh102
	.loh AdrpAdd	Lloh103, Lloh104
	.loh AdrpAdd	Lloh105, Lloh106
	.loh AdrpAdd	Lloh107, Lloh108
	.loh AdrpLdrGotLdr	Lloh109, Lloh110, Lloh111
	.loh AdrpLdrGotLdr	Lloh112, Lloh113, Lloh114
	.loh AdrpAdd	Lloh115, Lloh116
	.loh AdrpAdd	Lloh117, Lloh118
	.loh AdrpAdd	Lloh119, Lloh120
	.loh AdrpAdd	Lloh121, Lloh122
	.loh AdrpAdd	Lloh123, Lloh124
	.loh AdrpAdd	Lloh125, Lloh126
	.loh AdrpAdd	Lloh127, Lloh128
	.loh AdrpAdd	Lloh129, Lloh130
	.loh AdrpAdd	Lloh131, Lloh132
	.loh AdrpAdd	Lloh133, Lloh134
	.loh AdrpAdd	Lloh135, Lloh136
	.loh AdrpLdrGot	Lloh139, Lloh140
	.loh AdrpAdd	Lloh137, Lloh138
	.loh AdrpLdrGotStr	Lloh141, Lloh142, Lloh143
	.loh AdrpLdrGotLdr	Lloh144, Lloh145, Lloh146
	.loh AdrpAdd	Lloh147, Lloh148
	.loh AdrpLdrGotLdr	Lloh149, Lloh150, Lloh151
	.loh AdrpAdd	Lloh152, Lloh153
	.loh AdrpAdd	Lloh154, Lloh155
	.loh AdrpAdd	Lloh156, Lloh157
	.loh AdrpAdd	Lloh158, Lloh159
	.loh AdrpLdrGot	Lloh162, Lloh163
	.loh AdrpAdd	Lloh160, Lloh161
	.loh AdrpLdrGotStr	Lloh164, Lloh165, Lloh166
	.loh AdrpAdd	Lloh167, Lloh168
	.loh AdrpAdd	Lloh169, Lloh170
	.loh AdrpAdd	Lloh171, Lloh172
	.loh AdrpAdd	Lloh173, Lloh174
	.loh AdrpAdd	Lloh175, Lloh176
	.loh AdrpAdd	Lloh179, Lloh180
	.loh AdrpAdd	Lloh177, Lloh178
	.loh AdrpAdd	Lloh181, Lloh182
	.loh AdrpLdrGotLdr	Lloh183, Lloh184, Lloh185
	.loh AdrpAdd	Lloh186, Lloh187
	.loh AdrpAdd	Lloh188, Lloh189
	.loh AdrpAdd	Lloh190, Lloh191
	.loh AdrpAdd	Lloh192, Lloh193
	.loh AdrpAdd	Lloh194, Lloh195
	.loh AdrpAdd	Lloh196, Lloh197
	.loh AdrpAdd	Lloh198, Lloh199
	.loh AdrpAdd	Lloh200, Lloh201
	.loh AdrpAdd	Lloh202, Lloh203
	.loh AdrpAdd	Lloh204, Lloh205
	.loh AdrpAdd	Lloh206, Lloh207
	.loh AdrpLdrGotLdr	Lloh208, Lloh209, Lloh210
	.loh AdrpLdrGotLdr	Lloh213, Lloh214, Lloh215
	.loh AdrpLdrGot	Lloh211, Lloh212
	.loh AdrpLdrGotLdr	Lloh216, Lloh217, Lloh218
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Device model: (%s).\n"

	.comm	_DEFAULT_MAX_PADS,4,2           ; @DEFAULT_MAX_PADS
l_.str.1:                               ; @.str.1
	.asciz	"Max number of pads reached.\n"

l_.str.2:                               ; @.str.2
	.asciz	"Could not look up device name or IDs.\n"

l_.str.3:                               ; @.str.3
	.asciz	"SHIELD Android TV"

l_.str.4:                               ; @.str.4
	.asciz	"Virtual"

l_.str.5:                               ; @.str.5
	.asciz	"NVIDIA Corporation NVIDIA Controller v01.0"

l_.str.6:                               ; @.str.6
	.asciz	"Special Device Detected: %s\n"

l_.str.7:                               ; @.str.7
	.asciz	"SHIELD Remote"

l_.str.8:                               ; @.str.8
	.asciz	"SHIELD Virtual Controller"

	.comm	_pad_id1,4,2                    ; @pad_id1
	.comm	_pad_id2,4,2                    ; @pad_id2
l_.str.9:                               ; @.str.9
	.asciz	"NVIDIA SHIELD Controller"

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

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

l_.str.12:                              ; @.str.12
	.asciz	"NVIDIA Corporation NVIDIA Controller v01.01"

l_.str.13:                              ; @.str.13
	.asciz	"NVIDIA Corporation NVIDIA Controller v01.02"

l_.str.14:                              ; @.str.14
	.asciz	"NVIDIA SHIELD Portable"

l_.str.15:                              ; @.str.15
	.asciz	"NVIDIA Corporation NVIDIA Controller v01.03"

l_.str.16:                              ; @.str.16
	.asciz	"NVIDIA SHIELD Gamepad"

l_.str.17:                              ; @.str.17
	.asciz	"NVIDIA"

l_.str.18:                              ; @.str.18
	.asciz	"Android Gamepad"

l_.str.19:                              ; @.str.19
	.asciz	"XD"

l_.str.20:                              ; @.str.20
	.asciz	"rk29-keypad"

l_.str.21:                              ; @.str.21
	.asciz	"Playstation3"

l_.str.22:                              ; @.str.22
	.asciz	"XBOX"

l_.str.23:                              ; @.str.23
	.asciz	"GPD XD"

l_.str.24:                              ; @.str.24
	.asciz	"R800x"

l_.str.25:                              ; @.str.25
	.asciz	"R800at"

l_.str.26:                              ; @.str.26
	.asciz	"R800i"

l_.str.27:                              ; @.str.27
	.asciz	"R800a"

l_.str.28:                              ; @.str.28
	.asciz	"R800"

l_.str.29:                              ; @.str.29
	.asciz	"Xperia Play"

l_.str.30:                              ; @.str.30
	.asciz	"Play"

l_.str.31:                              ; @.str.31
	.asciz	"SO-01D"

l_.str.32:                              ; @.str.32
	.asciz	"keypad-game-zeus"

l_.str.33:                              ; @.str.33
	.asciz	"keypad-zeus"

l_.str.34:                              ; @.str.34
	.asciz	"XPERIA Play"

l_.str.35:                              ; @.str.35
	.asciz	"ARCHOS GAMEPAD"

l_.str.36:                              ; @.str.36
	.asciz	"joy_key"

l_.str.37:                              ; @.str.37
	.asciz	"joystick"

l_.str.38:                              ; @.str.38
	.asciz	"ARCHOS GAMEPAD Detected: %s\n"

l_.str.39:                              ; @.str.39
	.asciz	"ARCHOS GamePad"

l_.str.40:                              ; @.str.40
	.asciz	"AFTB"

l_.str.41:                              ; @.str.41
	.asciz	"AFTT"

l_.str.42:                              ; @.str.42
	.asciz	"AFTS"

l_.str.43:                              ; @.str.43
	.asciz	"AFTM"

l_.str.44:                              ; @.str.44
	.asciz	"AFTRS"

l_.str.45:                              ; @.str.45
	.asciz	"Amazon Fire TV Remote"

l_.str.46:                              ; @.str.46
	.asciz	"Nexus Remote"

l_.str.47:                              ; @.str.47
	.asciz	"iControlPad-"

l_.str.48:                              ; @.str.48
	.asciz	"iControlPad HID Joystick profile"

l_.str.49:                              ; @.str.49
	.asciz	"TTT THT Arcade console 2P USB Play"

l_.str.50:                              ; @.str.50
	.asciz	"TTT THT Arcade (User 1)"

l_.str.51:                              ; @.str.51
	.asciz	"TTT THT Arcade (User 2)"

l_.str.52:                              ; @.str.52
	.asciz	"MOGA"

l_.str.53:                              ; @.str.53
	.asciz	"Moga IME"

	.comm	_AINPUT_SOURCE_KEYBOARD,4,2     ; @AINPUT_SOURCE_KEYBOARD
	.comm	_kbd_num,8,3                    ; @kbd_num
	.comm	_MAX_NUM_KEYBOARDS,8,3          ; @MAX_NUM_KEYBOARDS
	.comm	_kbd_id,8,3                     ; @kbd_id
l_.str.54:                              ; @.str.54
	.asciz	"net.obsidianx.android.mogaime"

l_.str.55:                              ; @.str.55
	.asciz	"com.ccpcreations.android.WiiUseAndroid"

l_.str.56:                              ; @.str.56
	.asciz	"com.hexad.bluezime"

	.comm	_android_joypad,4,2             ; @android_joypad
	.no_dead_strip	_handle_hotplug
.subsections_via_symbols
