Function at 0x14000a5c0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push r15
lea rbp, [rsp - 0x970]
sub rsp, 0xa70
mov rax, qword [0x140294a28]
xor rax, rsp
mov qword [rbp + 0x950], rax
xor r15d, r15d
mov dword [rsp + 0x30], 4
lea r8, [rsp + 0x38]
mov qword [rsp + 0x38], r15
lea rdx, str.SOFTWAREConexantMicTrayHotkey
mov dword [rsp + 0x34], r15d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14000ba5b
mov qword [rsp + 0xa90], rsi
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.CustomSettings
mov qword [rsp + 0xa98], rdi
lea rax, [rsp + 0x34]
mov qword [rsp + 0xaa0], r12
xor r9d, r9d
mov qword [rsp + 0xa68], r13
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov qword [rsp + 0xa60], r14
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r9d, dword [0x14029b3b0]
lea r12d, [r15 + 1]
test eax, eax
jne 0x14000a870
mov ecx, dword [rsp + 0x34]
test r12b, cl
mov eax, dword [0x14029b3a0]
cmovne r9d, r12d
test cl, 2
mov dword [0x14029b3b0], r9d
cmovne eax, r12d
test cl, 4
mov dword [0x14029b3a0], eax
mov eax, dword [0x14029b3a4]
cmovne eax, r12d
test cl, 0x20
mov dword [0x14029b3a4], eax
mov eax, dword [0x14029b3b4]
cmovne eax, r12d
test cl, 0x40
mov dword [0x14029b3b4], eax
mov eax, dword [0x14029b3b8]
cmovne eax, r12d
test cl, 0x80
mov dword [0x14029b3b8], eax
mov eax, dword [0x14029b3bc]
cmovne eax, r12d
bt ecx, 8
mov dword [0x14029b3bc], eax
mov eax, dword [0x14029b3c0]
cmovb eax, r12d
bt ecx, 9
mov dword [0x14029b3c0], eax
mov eax, dword [0x14029b3c4]
cmovb eax, r12d
bt ecx, 0xa
mov dword [0x14029b3c4], eax
mov eax, dword [0x14029b3c8]
cmovb eax, r12d
bt ecx, 0xb
mov dword [0x14029b3c8], eax
mov eax, dword [0x14029b3cc]
cmovb eax, r12d
bt ecx, 0xc
mov dword [0x14029b3cc], eax
mov eax, dword [0x14029b3d0]
cmovb eax, r12d
bt ecx, 0xd
mov dword [0x14029b3d0], eax
mov eax, dword [0x14029b3d8]
cmovb eax, r12d
bt ecx, 0xe
mov dword [0x14029b3d8], eax
mov eax, dword [0x14029b3dc]
cmovb eax, r12d
bt ecx, 0xf
mov dword [0x14029b3dc], eax
mov eax, dword [0x14029ae78]
cmovb eax, r12d
bt ecx, 0x10
mov dword [0x14029ae78], eax
mov eax, dword [0x14029b27c]
cmovb eax, r12d
bt ecx, 0x11
mov dword [0x14029b27c], eax
mov eax, dword [0x14029b258]
cmovb eax, r12d
bt ecx, 0x12
mov dword [0x14029b258], eax
mov eax, dword [0x14029b25c]
cmovb eax, r12d
bt ecx, 0x13
mov dword [0x14029b25c], eax
mov eax, dword [0x14029b260]
cmovb eax, r12d
bt ecx, 0x14
mov dword [0x14029b260], eax
mov eax, dword [0x14029b264]
cmovb eax, r12d
bt ecx, 0x15
mov dword [0x14029b264], eax
mov eax, dword [0x14029b268]
cmovb eax, r12d
bt ecx, 0x16
mov dword [0x14029b268], eax
mov eax, dword [0x14029b3e0]
cmovb eax, r12d
bt ecx, 0x17
mov dword [0x14029b3e0], eax
mov eax, dword [0x14029b3e4]
cmovb eax, r12d
bt ecx, 0x18
mov dword [0x14029b3e4], eax
mov eax, dword [0x14029b3e8]
cmovb eax, r12d
bt ecx, 0x19
mov dword [0x14029b3e8], eax
mov eax, dword [0x14029b3ec]
cmovb eax, r12d
bt ecx, 0x1a
mov dword [0x14029b3ec], eax
mov eax, dword [0x14029ad94]
cmovb eax, r12d
mov dword [0x14029ad94], eax
lea r8, str.EnableHotkey__d
mov edx, 0x100
lea rcx, [rsp + 0x50]
call fcn.140002bb0
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.MicMuteScancodeSettings
lea rax, [rsp + 0x34]
mov dword [rsp + 0x34], r15d
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rsp + 0x30], 4
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, dword [0x14029b5f8]
lea r13, [0x14029aec0]
test eax, eax
mov dword [rsp + 0x30], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov edx, 0xcc
mov qword [0x14029aeb0], 0xffffffffffffffff
cmove ecx, dword [rsp + 0x34]
mov dword [0x14029b5f8], ecx
mov rcx, r13
lea r8d, [rdx - 0x6c]
call fcn.1401ab280
mov edx, 0xcc
lea rbx, [0x14029af20]
mov rcx, rbx
lea r8d, [rdx - 0x6c]
call fcn.1401ab280
mov edx, 0xcc
lea rdi, [0x14029af80]
mov rcx, rdi
lea r8d, [rdx - 0x6c]
call fcn.1401ab280
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.HotKeyMicScancode
xor r9d, r9d
mov qword [rsp + 0x20], r13
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000aa07
test byte [0x14029b5f8], 0x10
movzx eax, byte [rsp + 0x30]
mov byte [0x14029aeb0], al
mov dword [rsp + 0x30], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
je 0x14000a9b7
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.HotKeyMicScancodeVK
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000a9b0
movzx eax, byte [rsp + 0x30]
cmp byte [0x14029aeb0], al
je 0x14000a9b7
mov byte [0x14029aeb0], 0xff
test byte [0x14029b5f8], 2
mov dword [rsp + 0x30], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
je 0x14000aa07
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.HotKeyMicScancodeFLAG
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000aa00
movzx eax, byte [rsp + 0x30]
cmp byte [0x14029aeb0], al
je 0x14000aa07
mov byte [0x14029aeb0], 0xff
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.SpkMuteScancodeSettings
lea rax, [rsp + 0x34]
mov dword [rsp + 0x34], r15d
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rsp + 0x30], 4
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, dword [0x14029b5fc]
lea rsi, [0x14029afe0]
test eax, eax
mov dword [rsp + 0x30], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov edx, 0xcc
mov qword [0x14029aeb8], 0xffffffffffffffff
cmove ecx, dword [rsp + 0x34]
mov dword [0x14029b5fc], ecx
mov rcx, rsi
lea r8d, [rdx - 0x6c]
call fcn.1401ab280
mov edx, 0xcc
lea rbx, [0x14029b040]
mov rcx, rbx
lea r8d, [rdx - 0x6c]
call fcn.1401ab280
mov edx, 0xcc
lea rdi, [0x14029b0a0]
mov rcx, rdi
lea r8d, [rdx - 0x6c]
call fcn.1401ab280
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.HotKeySpkScancode
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000ab88
test byte [0x14029b5fc], 0x10
movzx eax, byte [rsp + 0x30]
mov byte [0x14029aeb8], al
mov dword [rsp + 0x30], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
je 0x14000ab38
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.HotKeySpkScancodeVK
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000ab31
movzx eax, byte [rsp + 0x30]
cmp byte [0x14029aeb8], al
je 0x14000ab38
mov byte [0x14029aeb8], 0xff
test byte [0x14029b5fc], 2
mov dword [rsp + 0x30], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
je 0x14000ab88
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.HotKeySpkScancodeFLAG
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000ab81
movzx eax, byte [rsp + 0x30]
cmp byte [0x14029aeb8], al
je 0x14000ab88
mov byte [0x14029aeb8], 0xff
mov esi, r12d
lea rbx, [0x14029aeb1]
lea edi, [rsi + 1]
mov edx, 0x100
mov r9d, edi
lea r8, str.HotKeyMicScancode_d
lea rcx, [rsp + 0x50]
call fcn.140002bb0
mov r14d, esi
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x28], rcx
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x30], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rax, [r14 + r14*2]
lea rsi, [rax*4]
lea rax, [rsi + r13]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea r13, [0x140000000]
test eax, eax
jne 0x14000acf5
movzx eax, byte [rsp + 0x30]
mov byte [rbx], al
mov eax, dword [0x14029b5f8]
test al, 0x10
je 0x14000ac75
mov r9d, edi
lea r8, str.HotKeyMicScancodeVK_d
mov edx, 0x100
lea rcx, [rsp + 0x50]
call fcn.140002bb0
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x30], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov qword [rsp + 0x28], rcx
lea rax, [0x14029af20]
mov rcx, qword [rsp + 0x38]
lea rdx, [rsp + 0x50]
add rax, rsi
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000acec
movzx eax, byte [rsp + 0x30]
cmp byte [rbx], al
jne 0x14000acec
mov eax, dword [0x14029b5f8]
test al, 2
je 0x14000acd6
mov r9d, edi
lea r8, str.HotKeyMicScancodeFLAG_d
mov edx, 0x100
lea rcx, [rsp + 0x50]
call fcn.140002bb0
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x30], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov qword [rsp + 0x28], rcx
lea rax, [0x14029af80]
mov rcx, qword [rsp + 0x38]
lea rdx, [rsp + 0x50]
add rax, rsi
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000acec
movzx eax, byte [rsp + 0x30]
cmp byte [rbx], al
jne 0x14000acec
inc rbx
mov esi, edi
cmp edi, 8
jae 0x14000acf5
lea r13, [0x14029aec0]
jmp 0x14000ab92
mov byte [r14 + r13 + 0x29aeb0], 0xff
mov esi, r12d
lea rbx, [0x14029aeb9]
nop
lea edi, [rsi + 1]
mov edx, 0x100
mov r9d, edi
lea r8, str.HotKeySpkScancode_d
lea rcx, [rsp + 0x50]
call fcn.140002bb0
mov r14d, esi
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x28], rcx
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x30], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rax, [r14 + r14*2]
lea rsi, [rax*4]
lea rax, [0x14029afe0]
add rax, rsi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000ae5c
movzx eax, byte [rsp + 0x30]
mov byte [rbx], al
mov eax, dword [0x14029b5fc]
test al, 0x10
je 0x14000ade2
mov r9d, edi
lea r8, str.HotKeySpkScancodeVK_d
mov edx, 0x100
lea rcx, [rsp + 0x50]
call fcn.140002bb0
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x30], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov qword [rsp + 0x28], rcx
lea rax, [0x14029b040]
mov rcx, qword [rsp + 0x38]
lea rdx, [rsp + 0x50]
add rax, rsi
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000ae53
movzx eax, byte [rsp + 0x30]
cmp byte [rbx], al
jne 0x14000ae53
mov eax, dword [0x14029b5fc]
test al, 2
je 0x14000ae43
mov r9d, edi
lea r8, str.HotKeySpkScancodeFLAG_d
mov edx, 0x100
lea rcx, [rsp + 0x50]
call fcn.140002bb0
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x30], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov qword [rsp + 0x28], rcx
lea rax, [0x14029b0a0]
mov rcx, qword [rsp + 0x38]
lea rdx, [rsp + 0x50]
add rax, rsi
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000ae53
movzx eax, byte [rsp + 0x30]
cmp byte [rbx], al
jne 0x14000ae53
inc rbx
mov esi, edi
cmp edi, 8
jb 0x14000ad00
jmp 0x14000ae5c
mov byte [r14 + r13 + 0x29aeb8], 0xff
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.NCScancodeSettings
lea rax, [rsp + 0x34]
mov dword [rsp + 0x34], r15d
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rsp + 0x30], 4
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, dword [0x14029b600]
lea rbx, [0x14029b110]
test eax, eax
mov dword [rsp + 0x30], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov edx, 0xcc
mov qword [0x14029b100], 0xffffffffffffffff
cmove ecx, dword [rsp + 0x34]
mov dword [0x14029b600], ecx
mov rcx, rbx
lea r8d, [rdx - 0x6c]
call fcn.1401ab280
mov edx, 0xcc
lea rdi, [0x14029b170]
mov rcx, rdi
lea r8d, [rdx - 0x6c]
call fcn.1401ab280
mov edx, 0xcc
lea rsi, [0x14029b1d0]
mov rcx, rsi
lea r8d, [rdx - 0x6c]
call fcn.1401ab280
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.HotKeyNCScancode
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r13, qword [rsp + 0xa68]
test eax, eax
jne 0x14000afe5
test byte [0x14029b600], 0x10
movzx eax, byte [rsp + 0x30]
mov byte [0x14029b100], al
mov dword [rsp + 0x30], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
je 0x14000af95
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.HotKeyNCScancodeVK
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000af8e
movzx eax, byte [rsp + 0x30]
cmp byte [0x14029b100], al
je 0x14000af95
mov byte [0x14029b100], 0xff
test byte [0x14029b600], 2
mov dword [rsp + 0x30], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
je 0x14000afe5
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.HotKeyNCScancodeFLAG
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000afde
movzx eax, byte [rsp + 0x30]
cmp byte [0x14029b100], al
je 0x14000afe5
mov byte [0x14029b100], 0xff
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.PlaybackGPIO
lea rax, [rsp + 0x34]
mov dword [rsp + 0x34], r15d
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rsp + 0x30], 4
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov edx, 0x100
lea rcx, [rsp + 0x50]
test eax, eax
jne 0x14000b046
mov r9d, dword [rsp + 0x34]
lea r8, str.PlaybackGPIO_is__d
mov dword [0x14029b5f4], r9d
call fcn.140002bb0
jmp 0x14000b059
lea r8, str.fail_to_get_PlaybackGPIO_key__default_is_GPIO0
mov dword [0x14029b5f4], r15d
call fcn.140002bb0
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.CaptureGPIO
lea rax, [rsp + 0x34]
mov dword [rsp + 0x34], r15d
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rsp + 0x30], 4
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov edx, 0x100
lea rcx, [rsp + 0x50]
test eax, eax
jne 0x14000b0ba
mov r9d, dword [rsp + 0x34]
lea r8, str.CaptureGPIO_is__d
mov dword [0x140293188], r9d
call fcn.140002bb0
jmp 0x14000b0cd
lea r8, str.fail_to_get_CaptureGPIO_key__default_is_GPIO1
mov dword [0x140293188], r12d
call fcn.140002bb0
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.InitSecDelay
lea rax, [rsp + 0x34]
mov dword [rsp + 0x34], r15d
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rsp + 0x30], 4
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000b12c
mov r9d, dword [rsp + 0x34]
lea r8, str.Delay__d_sec_when_initiate_MicTray
mov edx, 0x100
mov dword [0x14029b608], r9d
lea rcx, [rsp + 0x50]
call fcn.140002bb0
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.HPSilentToneSecDelay
lea rax, [rsp + 0x34]
mov dword [rsp + 0x34], r15d
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rsp + 0x30], 4
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000b18b
mov r9d, dword [rsp + 0x34]
lea r8, str.Delay__d_sec_when_HP_play_silent_tone
mov edx, 0x100
mov dword [0x14029b60c], r9d
lea rcx, [rsp + 0x50]
call fcn.140002bb0
mov eax, dword [0x14029b3c0]
lea rbx, [0x14029b610]
test eax, eax
je 0x14000b2cd
mov esi, r15d
lea r14, [0x14029b614]
mov rdi, rbx
nop dword [rax]
mov r9d, esi
mov dword [rsp + 0x34], r15d
lea r8, str.HIDMake_d
mov dword [rsp + 0x30], 0x400
mov edx, 0x400
lea rcx, [rbp + 0x150]
call fcn.140002bb0
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, [rbp + 0x150]
xor r9d, r9d
mov qword [rsp + 0x20], r14
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000b212
mov eax, dword [rsp + 0x30]
mov dword [rdi + 0x404], eax
mov eax, r12d
jmp 0x14000b215
mov eax, r15d
mov dword [rdi], eax
inc esi
add rdi, 0x1020
add r14, 0x1020
cmp esi, 5
jb 0x14000b1b0
mov eax, dword [0x14029b3c0]
test eax, eax
je 0x14000b2cd
mov esi, r15d
lea r14, [0x14029ba18]
mov rdi, rbx
nop word [rax + rax]
mov r9d, esi
mov dword [rsp + 0x30], 0x400
lea r8, str.HIDBreak_d
mov edx, 0x400
lea rcx, [rbp + 0x150]
call fcn.140002bb0
cmp dword [rdi], r15d
je 0x14000b2af
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, [rbp + 0x150]
xor r9d, r9d
mov qword [rsp + 0x20], r14
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000b2af
mov eax, dword [rsp + 0x30]
mov dword [rdi + 0x808], eax
jmp 0x14000b2b2
mov dword [rdi], r15d
inc esi
add r14, 0x1020
add rdi, 0x1020
cmp esi, 5
jl 0x14000b250
mov eax, dword [0x14029b3c0]
mov dword [rsp + 0x30], 4
test eax, eax
je 0x14000b376
mov edi, r15d
lea rsi, [0x14029be1c]
nop word [rax + rax]
mov r9d, edi
lea r8, str.HIDUsage_d
mov edx, 0x400
lea rcx, [rbp + 0x150]
call fcn.140002bb0
cmp dword [rbx], r15d
je 0x14000b35a
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, [rbp + 0x150]
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000b35a
mov r9d, dword [rbx + 0x80c]
lea r8, str.HIDUsage_0x_x_n
mov edx, 0x100
lea rcx, [rsp + 0x50]
call fcn.140002bb0
jmp 0x14000b35d
mov dword [rbx], r15d
inc edi
add rsi, 0x1020
add rbx, 0x1020
cmp edi, 5
jl 0x14000b2f0
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.RenderRunning
lea rax, [rsp + 0x34]
mov dword [rsp + 0x30], 4
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000b3d0
mov r9d, dword [rsp + 0x34]
lea r8, str.current_RenderState_is__d
mov edx, 0x100
mov dword [0x14029aeac], r9d
lea rcx, [rsp + 0x50]
call fcn.140002bb0
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.FirstReboot
lea rax, [rsp + 0x34]
mov dword [rsp + 0x30], 4
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rsp + 0x34], r15d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000b43a
mov r9d, dword [rsp + 0x34]
cmp r9d, 0xffffffff
je 0x14000b43a
lea r8, str.FirstReboot__d
mov dword [0x14029b3d4], r9d
mov edx, 0x100
lea rcx, [rsp + 0x50]
call fcn.140002bb0
jmp 0x14000b4df
lea rdx, [rsp + 0x30]
mov dword [rsp + 0x30], 0x100
lea rcx, [rsp + 0x50]
call fcn.1400138e0
lea r8, str.SettingsOEM_
mov edx, 0x100
lea rcx, [rsp + 0x50]
call fcn.1401b1a24
lea r8, [rsp + 0x40]
mov qword [rsp + 0x40], r15
lea rdx, [rsp + 0x50]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14000b4df
lea rax, [rsp + 0x30]
mov dword [rsp + 0x30], 4
mov qword [rsp + 0x28], rax
lea rdx, str.FirstReboot
lea rax, [rsp + 0x34]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, dword [0x14029b3d4]
test eax, eax
cmove ecx, dword [rsp + 0x34]
mov dword [0x14029b3d4], ecx
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14000b4df
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [0x14029b268]
lea rdi, [0x14029be20]
test eax, eax
je 0x14000b63a
mov esi, r15d
lea rbx, [0x14029c224]
lea r14, [0x14029be24]
nop word [rax + rax]
mov r9d, esi
mov dword [rsp + 0x34], r15d
lea r8, str.HIDLEDON_d
mov dword [rsp + 0x30], 0x400
mov edx, 0x400
lea rcx, [rbp + 0x150]
call fcn.140002bb0
cmp dword [rbx - 0xc14], r15d
je 0x14000b577
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, [rbp + 0x150]
xor r9d, r9d
mov qword [rsp + 0x20], r14
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000b577
mov eax, dword [rsp + 0x30]
mov dword [rbx], eax
mov eax, r12d
jmp 0x14000b57a
mov eax, r15d
mov dword [rbx - 0x404], eax
inc esi
add rbx, 0x1020
add r14, 0x1020
cmp esi, 5
jl 0x14000b510
mov eax, dword [0x14029b268]
test eax, eax
je 0x14000b63a
mov esi, r15d
lea r14, [0x14029c228]
mov rbx, rdi
mov r9d, esi
mov dword [rsp + 0x30], 0x400
lea r8, str.HIDLEDOFF_d
mov edx, 0x400
lea rcx, [rbp + 0x150]
call fcn.140002bb0
cmp dword [rbx - 0x810], r15d
je 0x14000b61c
cmp dword [rbx], r15d
je 0x14000b61c
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, [rbp + 0x150]
xor r9d, r9d
mov qword [rsp + 0x20], r14
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000b61c
mov eax, dword [rsp + 0x30]
mov dword [rbx + 0x808], eax
jmp 0x14000b61f
mov dword [rbx], r15d
inc esi
add r14, 0x1020
add rbx, 0x1020
cmp esi, 5
jl 0x14000b5b4
mov eax, dword [0x14029b268]
mov r14, qword [rsp + 0xa60]
mov r12, qword [rsp + 0xaa0]
mov dword [rsp + 0x30], 4
test eax, eax
je 0x14000b6ff
mov ebx, r15d
lea rsi, [0x14029c62c]
nop dword [rax]
nop dword [rax + rax]
mov r9d, ebx
lea r8, str.HIDLEDUsage_d
mov edx, 0x400
lea rcx, [rbp + 0x150]
call fcn.140002bb0
cmp dword [rdi - 0x810], r15d
je 0x14000b6e3
cmp dword [rdi], r15d
je 0x14000b6e3
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, [rbp + 0x150]
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000b6e3
mov r9d, dword [rdi + 0x80c]
lea r8, str.HIDLEDUsage_0x_x_n
mov edx, 0x100
lea rcx, [rsp + 0x50]
call fcn.140002bb0
jmp 0x14000b6e6
mov dword [rdi], r15d
inc ebx
add rsi, 0x1020
add rdi, 0x1020
cmp ebx, 5
jl 0x14000b670
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.VolRecoverDelay
lea rax, [rsp + 0x34]
mov dword [rsp + 0x34], 0x3e8
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rsp + 0x30], 4
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rdi, qword [rsp + 0xa98]
mov rsi, qword [rsp + 0xa90]
test eax, eax
jne 0x14000b771
mov r9d, dword [rsp + 0x34]
lea r8, str.Delay__d_ms_after_S3_S4
mov edx, 0x100
mov dword [0x14029ae8c], r9d
lea rcx, [rsp + 0x50]
call fcn.140002bb0
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.GpioRegUpdateDelay
lea rax, [rsp + 0x34]
mov dword [rsp + 0x34], 0x50
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rsp + 0x30], 4
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000b7d5
mov r9d, dword [rsp + 0x34]
lea r8, str.Delay__d_ms_to_update_gpio_reg
mov edx, 0x100
mov dword [0x14029ae9c], r9d
lea rcx, [rsp + 0x50]
call fcn.140002bb0
jmp 0x14000b7df
mov eax, dword [rsp + 0x34]
mov dword [0x14029ae9c], eax
lea rbx, [0x14029b3f0]
xor edx, edx
mov rcx, rbx
mov r8d, 0x100
call fcn.1401ab280
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.ProcessName
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov dword [rsp + 0x30], 0x100
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000b841
mov eax, dword [rsp + 0x30]
add rax, rax
cmp rax, 0x100
jae 0x14000ba78
mov word [rbx + rax], r15w
lea rbx, [0x14029b4f0]
xor edx, edx
mov rcx, rbx
mov r8d, 0x100
call fcn.1401ab280
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.SVCName
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov dword [rsp + 0x30], 0x100
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000b8a3
mov eax, dword [rsp + 0x30]
add rax, rax
cmp rax, 0x100
jae 0x14000ba78
mov word [rbx + rax], r15w
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, str.SeeScanCode
lea rax, [rsp + 0x34]
mov dword [rsp + 0x34], r15d
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rsp + 0x30], 4
mov dword [0x14029b274], r15d
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, dword [0x14029b274]
lea rdx, str.EnableLog
test eax, eax
mov dword [rsp + 0x30], 4
lea rax, [rsp + 0x30]
mov dword [0x14029b278], r15d
cmove ecx, dword [rsp + 0x34]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov dword [0x14029b274], ecx
lea rax, [rsp + 0x34]
mov rcx, qword [rsp + 0x38]
mov dword [rsp + 0x34], r15d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, dword [0x14029b278]
lea rdx, str.HIDRefreshDelay
test eax, eax
mov dword [rsp + 0x30], 4
lea rax, [rsp + 0x30]
mov dword [0x140293040], 0xbb8
cmove ecx, dword [rsp + 0x34]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov dword [0x14029b278], ecx
lea rax, [rsp + 0x34]
mov rcx, qword [rsp + 0x38]
mov dword [rsp + 0x34], r15d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, dword [0x140293040]
lea rdx, str.InitDelay
test eax, eax
mov dword [rsp + 0x30], 4
lea rax, [rsp + 0x30]
mov dword [0x140293044], 0x7d0
cmove ecx, dword [rsp + 0x34]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov dword [0x140293040], ecx
lea rax, [rsp + 0x34]
mov rcx, qword [rsp + 0x38]
mov dword [rsp + 0x34], r15d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, dword [0x140293044]
lea rdx, str.RenderTimeOute
test eax, eax
mov dword [rsp + 0x30], 4
lea rax, [rsp + 0x30]
mov dword [0x140293048], 0x1388
cmove ecx, dword [rsp + 0x34]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov dword [0x140293044], ecx
lea rax, [rsp + 0x34]
mov rcx, qword [rsp + 0x38]
mov dword [rsp + 0x34], r15d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, dword [0x140293048]
test eax, eax
cmove ecx, dword [rsp + 0x34]
mov dword [0x140293048], ecx
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14000ba5b
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov rcx, qword [rbp + 0x950]
xor rcx, rsp
call fcn.1401a6080
add rsp, 0xa70
pop r15
pop rbx
pop rbp
ret
call fcn.1401a64f0
int3