Function at 0x1400027c0
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
push rdi
mov eax, 0x1070
call fcn.14000fe70
sub rsp, rax
mov rax, qword [0x140015008]
xor rax, rsp
mov qword [rsp + 0x1060], rax
lea rax, [rsp + 0x60]
test rax, rax
je 0x140002851
lea rax, [rsp + 0x30]
lea rdx, str.SOFTWAREAlpsApoint
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140002851
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x40]
lea rdx, str.ProductVer
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea r8, [rsp + 0x60]
lea rdx, str.InitAlpsRegistry_:_____sz_product_version___s_n
lea rcx, [rsp + 0x860]
call fcn.140001b30
lea r11, [rsp + 0x60]
xor ebx, ebx
test r11, r11
jne 0x14000287c
or r8d, 0xffffffff
jmp 0x1400028af
mov eax, ebx
lea rcx, [rsp + 0x60]
add eax, 1
cmp word [rcx], 0x2e
je 0x14000289e
add rcx, 2
cmp eax, 0x400
jb 0x140002883
mov r8d, dword [rsp + 0x40]
jmp 0x1400028af
cmp word [rsp + rax*2 + 0x60], 0x31
mov r8d, ebx
setne r8b
add r8d, 1
lea rdx, str.InitAlpsRegistry_:______deivce_interface___d_n
lea rcx, [rsp + 0x860]
call fcn.140001b30
lea rax, [rsp + 0x30]
lea rdx, str.SOFTWAREAlpsApoint
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x50], 4
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140002988
lea rax, [rsp + 0x38]
lea rdx, str.SOFTWAREAlpsApoint
mov r9d, 0x20006
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x48], ebx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140002961
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x48]
lea rdx, str.ApHidServiceSupport
mov r9d, 4
xor r8d, r8d
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x30]
lea rdx, str.SOFTWAREAlpsApoint
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x50]
lea rdx, str.ApHidServiceSupport
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
test eax, eax
je 0x1400029c8
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r11d, ebx
jmp 0x1400029d3
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r11d, dword [rsp + 0x40]
lea rax, [rsp + 0x30]
lea rdx, str.SOFTWAREAlpsApoint
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [0x1400183d8], r11d
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x50], 4
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140002a9f
lea rax, [rsp + 0x38]
lea rdx, str.SOFTWAREAlpsApoint
mov r9d, 0x20006
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140002a78
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x40]
lea rdx, str.ApHidServiceLaunchDelayTime
mov r9d, 4
xor r8d, r8d
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x30]
lea rdx, str.SOFTWAREAlpsApoint
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x50]
lea rdx, str.ApHidServiceLaunchDelayTime
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
test eax, eax
je 0x140002adf
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r11d, ebx
jmp 0x140002aea
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r11d, dword [rsp + 0x48]
lea rax, [rsp + 0x30]
lea rdx, str.SOFTWAREAlpsApoint
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [0x1400183dc], r11d
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x50], 4
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
mov edi, 1
je 0x140002bb9
lea rax, [rsp + 0x38]
lea rdx, str.SOFTWAREAlpsApoint
mov r9d, 0x20006
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x40], edi
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140002b92
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x40]
lea r9d, [rdi + 3]
lea rdx, str.ApHidServiceLogonSpec
xor r8d, r8d
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x30]
lea rdx, str.SOFTWAREAlpsApoint
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x50]
lea rdx, str.ApHidServiceLogonSpec
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
test eax, eax
je 0x140002bf9
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r11d, edi
jmp 0x140002c04
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r11d, dword [rsp + 0x48]
cmp r11d, 2
lea rax, [rsp + 0x30]
lea rdx, str.SOFTWAREAlpsApoint
cmova r11d, edi
mov r9d, 0x20019
mov rcx, 0xffffffff80000002
xor r8d, r8d
mov dword [rsp + 0x50], 4
mov qword [rsp + 0x20], rax
mov dword [0x140016ef8], r11d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140002cd8
lea rax, [rsp + 0x38]
lea rdx, str.SOFTWAREAlpsApoint
mov r9d, 0x20006
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140002cb1
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x40]
lea rdx, str.ApHidServiceTPDisableMethod
mov r9d, 4
xor r8d, r8d
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x30]
lea rdx, str.SOFTWAREAlpsApoint
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x50]
lea rdx, str.ApHidServiceTPDisableMethod
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
test eax, eax
je 0x140002d18
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r11d, ebx
jmp 0x140002d23
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r11d, dword [rsp + 0x48]
mov r8d, dword [0x1400183d8]
cmp r11d, 2
lea rdx, str.InitAlpsRegistry_:______gdwHidServiceSupport___0x_x
cmovae r11d, ebx
lea rcx, [rsp + 0x860]
mov dword [0x1400183a4], r11d
call fcn.140001b30
call fcn.1400038a0
movzx ecx, ax
sub ecx, edi
je 0x140002dd5
sub ecx, edi
je 0x140002dbb
sub ecx, edi
je 0x140002da1
sub ecx, edi
je 0x140002d87
cmp ecx, edi
jne 0x140002e26
lea rcx, str.copy_reg__dev_id:_d
mov edx, 5
call fcn.140001b60
lea rdx, str.SOFTWAREAlpsVID044E_PID120D
jmp 0x140002dea
lea rcx, str.copy_reg__dev_id:_d
mov edx, 4
call fcn.140001b60
lea rdx, str.SOFTWAREAlpsALP0011
jmp 0x140002dea
lea rcx, str.copy_reg__dev_id:_d
mov edx, 3
call fcn.140001b60
lea rdx, str.SOFTWAREAlpsALP000F
jmp 0x140002dea
lea rcx, str.copy_reg__dev_id:_d
mov edx, 2
call fcn.140001b60
lea rdx, str.SOFTWAREAlpsALP000E
jmp 0x140002dea
lea rcx, str.copy_reg__dev_id:_d
mov edx, edi
call fcn.140001b60
lea rdx, str.SOFTWAREAlpsALP000D
lea rcx, [rsp + 0x38]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rcx
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140002e26
lea r8, [rsp + 0x38]
lea rdx, str.SOFTWAREAlps
mov rcx, 0xffffffff80000002
call fcn.1400046b0
lea rax, [rsp + 0x30]
lea rdx, str.SoftwareAlpsApoint
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x50], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140002eeb
lea rax, [rsp + 0x38]
lea rdx, str.SoftwareAlpsApoint
mov r9d, 0x20006
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140002ec4
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x40]
lea rdx, str.AlpsDeviceType
mov r9d, 4
xor r8d, r8d
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x30]
lea rdx, str.SoftwareAlpsApoint
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x50]
lea rdx, str.AlpsDeviceType
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
test eax, eax
je 0x140002f2b
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r11d, ebx
jmp 0x140002f36
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r11d, dword [rsp + 0x48]
lea rax, [rsp + 0x30]
lea rdx, str.SoftwareAlpsApoint
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [0x1400183e4], r11d
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x50], 4
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140003002
lea rax, [rsp + 0x38]
lea rdx, str.SoftwareAlpsApoint
mov r9d, 0x20006
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140002fdb
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x40]
lea rdx, str.AlpsHidDeviceVID
mov r9d, 4
xor r8d, r8d
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x30]
lea rdx, str.SoftwareAlpsApoint
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x50]
lea rdx, str.AlpsHidDeviceVID
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
test eax, eax
je 0x140003042
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r11d, ebx
jmp 0x14000304d
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r11d, dword [rsp + 0x48]
lea rax, [rsp + 0x30]
lea rdx, str.SoftwareAlpsApoint
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [0x140018264], r11d
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x50], 4
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140003119
lea rax, [rsp + 0x38]
lea rdx, str.SoftwareAlpsApoint
mov r9d, 0x20006
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400030f2
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x40]
lea rdx, str.AlpsHidDevicePID
mov r9d, 4
xor r8d, r8d
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x30]
lea rdx, str.SoftwareAlpsApoint
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x50]
lea rdx, str.AlpsHidDevicePID
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
test eax, eax
je 0x140003159
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r11d, ebx
jmp 0x140003164
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r11d, dword [rsp + 0x48]
lea rax, [rsp + 0x30]
lea rdx, str.SoftwareAlpsApoint
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [0x140018260], r11d
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x50], 4
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140003230
lea rax, [rsp + 0x38]
lea rdx, str.SoftwareAlpsApoint
mov r9d, 0x20006
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140003209
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x40]
lea rdx, str.RestartToPs2Rel
mov r9d, 4
xor r8d, r8d
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rax, [rsp + 0x30]
lea rdx, str.SoftwareAlpsApoint
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x50]
lea rdx, str.RestartToPs2Rel
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x30]
test eax, eax
je 0x14000326d
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x140003277
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ebx, dword [rsp + 0x48]
mov r8d, dword [0x1400183e4]
lea rdx, str.InitAlpsRegistry_:______gdwDeviceType___0x_x
lea rcx, [rsp + 0x860]
mov dword [0x1400183e8], ebx
call fcn.140001b30
mov r8d, dword [0x140018264]
lea rdx, str.InitAlpsRegistry_:______gdwDeviceVid___0x_x
lea rcx, [rsp + 0x860]
call fcn.140001b30
mov r8d, dword [0x140018260]
lea rdx, str.InitAlpsRegistry_:______gdwDevicePid___0x_x
lea rcx, [rsp + 0x860]
call fcn.140001b30
mov rcx, qword [rsp + 0x1060]
xor rcx, rsp
call fcn.1400049a0
mov rbx, qword [rsp + 0x1080]
add rsp, 0x1070
pop rdi
ret