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

Disassembly:
mov r11, rsp
push rbp
push rbx
lea rbp, [r11 - 0x5b8]
sub rsp, 0x6a8
mov rax, qword [0x14025ab40]
xor rax, rsp
mov qword [rbp + 0x580], rax
mov qword [r11 + 0x20], rdi
mov qword [r11 - 0x20], r14
mov qword [r11 - 0x28], r15
xor r15d, r15d
mov r14, r8
mov dword [rsp + 0x40], edx
or rdi, 0xffffffffffffffff
lea rcx, [rbp + 0x172]
xor edx, edx
mov r8d, 0x1fe
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x30], r15
mov word [rbp + 0x170], r15w
lea ebx, [rdi + 2]
call fcn.1401925c0
lea rcx, [rsp + 0x72]
xor edx, edx
mov r8d, 0x1fe
mov dword [rsp + 0x3c], 2
mov dword [rsp + 0x48], ebx
mov word [rsp + 0x70], r15w
call fcn.1401925c0
lea rcx, [0x14021bc10]
call fcn.140002620
test r14, r14
jne 0x1400044f0
lea rcx, str.__SetConfigValue_:_pulOldConfig_is_NULL__r_n
call fcn.140002620
mov ebx, r15d
jmp 0x14000481b
lea rcx, [0x14021c258]
mov r9d, 6
xor r8d, r8d
xor edx, edx
call qword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x140004525
lea rcx, str.SetupDiGetClassDevs_Failed_r_n
call fcn.140002620
mov ebx, r15d
jmp 0x14000481b
lea r8, [rsp + 0x50]
xor edx, edx
mov rcx, rax
mov qword [rsp + 0x6c0], rsi
mov dword [rsp + 0x50], 0x20
mov esi, r15d
call qword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
test eax, eax
je 0x140004813
mov qword [rsp + 0x6a0], r12
lea r12, str.SYSTEMCurrentControlSetEnum_
nop
lea r8, [rsp + 0x50]
mov rdx, rdi
call fcn.140004880
test rax, rax
je 0x1400047c3
lea rdx, str.USBVID_138A
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rcx, rax
call fcn.1401916a0
test eax, eax
jne 0x1400047c3
lea rcx, str.Found_biometric_device__r_n
call fcn.140002620
lea rcx, str.calling_..._r_n
call fcn.140002620
lea rcx, [rbp + 0x370]
xor edx, edx
mov r8d, 0x104
call fcn.1401925c0
mov r9d, dword [rsp + 0x38]
lea rax, [rsp + 0x38]
lea r8, [rbp + 0x370]
lea rdx, [rsp + 0x50]
mov rcx, rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstanceIdW]
mov ebx, eax
test eax, eax
jne 0x14000466a
nop dword [rax]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, dword [rsp + 0x38]
lea rcx, [rsp + 0x70]
cmp eax, 0x7a
jne 0x1400047df
lea rdx, str.Insufficient_mem_....._allocating_memory_RequiredSize_is__d_r_n
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rsp + 0x70]
call fcn.140002620
lea rcx, str.calling_..._r_n
call fcn.140002620
lea rcx, [rbp + 0x370]
xor edx, edx
mov r8d, 0x104
call fcn.1401925c0
mov r9d, dword [rsp + 0x38]
lea rax, [rsp + 0x38]
lea r8, [rbp + 0x370]
lea rdx, [rsp + 0x50]
mov rcx, rdi
mov qword [rsp + 0x20], rax
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstanceIdW]
mov ebx, eax
test eax, eax
je 0x1400045f0
lea rcx, [rbp + 0x370]
call fcn.140002620
mov rax, r15
nop dword [rax]
movzx ecx, word [rax + r12]
lea rax, [rax + 2]
mov word [rbp + rax + 0x16e], cx
test cx, cx
jne 0x140004680
lea r8, [rbp + 0x370]
lea rcx, [rbp + 0x170]
mov edx, 0x100
call fcn.140191850
lea r8, str.Device_ParametersWinBioConfigurations
lea rcx, [rbp + 0x170]
mov edx, 0x100
call fcn.140191850
lea rdx, [rbp + 0x170]
lea rcx, str.Subkey_is__s_r_n
call fcn.140191100
lea rax, [rsp + 0x30]
lea rdx, [rbp + 0x170]
mov r9d, 3
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400047fc
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x3c]
lea r9, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rdx, str.DefaultConfiguration
xor r8d, r8d
mov qword [rsp + 0x20], r14
mov dword [rsp + 0x3c], 4
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x14000475f
lea rdx, str.Reg_get_value_failed__d_r_n
lea rcx, [rsp + 0x70]
mov r8d, eax
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rsp + 0x70]
call fcn.140002620
mov ebx, r15d
mov r8d, dword [r14]
lea rdx, str.Read_DefaultConfiguration_val__d___d_r_n
lea rcx, [rsp + 0x70]
lea r9d, [r8 - 0x30]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rsp + 0x70]
call fcn.140002620
mov r9d, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
add dword [r14], 0xffffffd0
add dword [rsp + 0x40], 0x30
lea rax, [rsp + 0x40]
lea rdx, str.DefaultConfiguration
xor r8d, r8d
mov dword [rsp + 0x28], 2
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x3c], 2
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x1400047f3
inc esi
lea r8, [rsp + 0x50]
mov rcx, rdi
mov edx, esi
call qword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
test eax, eax
jne 0x140004560
jmp 0x14000480b
lea rdx, str.Error_in_reading_Instance_ID_req_size__d_r_n
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rsp + 0x70]
jmp 0x140004803
lea rcx, str.Reg_set_value_failed__r_n
jmp 0x140004803
lea rcx, str.Reg_key_open_failed__r_n
call fcn.140002620
mov ebx, r15d
mov r12, qword [rsp + 0x6a0]
mov rsi, qword [rsp + 0x6c0]
mov rcx, rdi
call qword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
mov rcx, qword [rsp + 0x30]
mov r15, qword [rsp + 0x690]
mov r14, qword [rsp + 0x698]
mov rdi, qword [rsp + 0x6d8]
test rcx, rcx
je 0x14000484c
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, str.__SetConfigValue__r_n
call fcn.140002620
mov eax, ebx
mov rcx, qword [rbp + 0x580]
xor rcx, rsp
call fcn.140190940
add rsp, 0x6a8
pop rbx
pop rbp
ret