Function at 0x140004060
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5a8]
sub rsp, 0x680
mov qword [rbp + 0xf8], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x14006b3d0]
xor rax, rsp
mov qword [rbp + 0x570], rax
xor eax, eax
mov qword [rbp + 0x120], rax
mov qword [rbp + 0x128], rax
mov qword [rbp + 0x130], rax
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x148], rax
lea r8, str.DSDFunctionKeyCtlServiceProc::CheckSettingsStoreAppSupport
mov qword [rbp + 0x120], r8
lea rbx, str.DSDFunctionKeyCtlServiceProc.cpp
mov qword [rbp + 0x128], rbx
mov dword [rbp + 0x130], 0x1c0
lea r12, str.__DSDFunctionKeyCtlServiceProc::CheckSettingsStoreAppSupport_
mov qword [rbp + 0x138], r12
lea rdi, [0x14004b4ac]
mov qword [rbp + 0x140], rdi
mov dword [rbp + 0x148], 3
lea rdx, str.ENTER__s
lea rcx, [rbp + 0x128]
call fcn.1400028a0
nop
xor esi, esi
mov qword [rbp + 0x100], rsi
mov dword [rbp + 0x110], esi
mov dword [rbp + 0x11c], esi
mov dword [rbp + 0x114], 0x208
mov word [rbp + 0x150], si
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x152]
call fcn.140032580
mov word [rbp + 0x360], si
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x362]
call fcn.140032580
mov dword [rbp + 0x118], 0x208
xor r13b, r13b
xor r14b, r14b
mov byte [rsp + 0x60], r14b
lea rax, [rbp + 0x100]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, str.SOFTWAREClassesLocal_SettingsSoftwareMicrosoftWindowsCurrentVersionAppModelPackageRepositoryPackages
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
sete al
test al, al
jne 0x14000421b
mov qword [rbp + 0x80], rbx
mov dword [rbp + 0x88], 0x1d1
mov qword [rbp + 0x90], r12
mov qword [rbp + 0x98], rdi
mov dword [rbp + 0xa0], esi
lea rcx, [rbp + 0x80]
lea rdx, str.Error_Code:_0x_X
mov r8d, 0x80004005
call fcn.1400028a0
lea rdi, str.DSDFunctionKeyCtlServiceProc.cpp
lea rsi, [0x14004b4ac]
jmp 0x140004967
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
lea rax, [rbp + 0x11c]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x110]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0x100]
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
sete al
test al, al
jne 0x14000428e
mov qword [rbp - 0x48], rbx
mov dword [rbp - 0x40], 0x1d2
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], rdi
mov dword [rbp - 0x28], esi
lea rcx, [rbp - 0x48]
jmp 0x1400041f6
mov qword [rsp + 0x68], rbx
mov dword [rsp + 0x70], 0x1d4
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], rdi
mov dword [rbp - 0x78], 3
lea rdx, str.Find_Settings_Application_ID__7906AAC0.TOSHIBASettings__or__7906AAC0.dynabookSettings___and_check_if_its_version_is_larger_than_2.1.5.0
lea rcx, [rsp + 0x68]
call fcn.1400028a0
mov r12d, esi
cmp dword [rbp + 0x110], esi
jbe 0x14000494f
or r15, 0xffffffffffffffff
nop
mov dword [rbp + 0x114], 0x208
lea rdi, [rbp + 0x150]
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x114]
lea r8, [rbp + 0x150]
mov edx, r12d
mov rcx, qword [rbp + 0x100]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x1400048ab
mov qword [rbp - 0x70], rbx
mov dword [rbp - 0x68], 0x1dc
lea rax, str.__DSDFunctionKeyCtlServiceProc::CheckSettingsStoreAppSupport_
mov qword [rbp - 0x60], rax
lea rax, [0x14004b4ac]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x50], 3
lea r9, [rbp + 0x150]
lea r8, str.szSubKeyName
lea rdx, str._s___s
lea rcx, [rbp - 0x70]
call fcn.1400028a0
call fcn.140006120
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
je 0x14000493f
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x108], rbx
lea rcx, [rbp + 0x150]
lea rax, [rbp + 0x150]
test rax, 0xffffffffffff0000
jne 0x1400043da
movzx edi, cx
mov ecx, edi
call fcn.140005d70
test rax, rax
je 0x1400044cf
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x108]
call fcn.1400059f0
mov rbx, qword [rbp + 0x108]
jmp 0x1400044cf
lea rax, [rbp + 0x150]
mov rdi, r15
inc rdi
cmp word [rax + rdi*2], 0
jne 0x1400043e4
test edi, edi
jne 0x140004447
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x1400044cf
cmp dword [rdx + 0x10], 0
jge 0x14000441e
cmp dword [rbx - 0xc], 0
jl 0x1400048c0
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x1400044cf
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000442e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x108], rbx
jmp 0x1400044cf
mov r14d, dword [rbx - 0x10]
lea rsi, [rbp + 0x150]
sub rsi, rbx
sar rsi, 1
test edi, edi
js 0x140004934
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140004486
mov edx, edi
lea rcx, [rbp + 0x108]
call fcn.140005b50
mov rbx, qword [rbp + 0x108]
movsxd rax, edi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
add rdx, rdx
cmp rsi, r14
lea r14, [rax + rax]
mov r9, r14
ja 0x1400044aa
lea r8, [rbx + rsi*2]
call fcn.140030c4c
jmp 0x1400044b6
lea r8, [rbp + 0x150]
call fcn.14003116c
cmp edi, dword [rbx - 0xc]
jg 0x140004929
mov dword [rbx - 0x10], edi
xor esi, esi
mov word [r14 + rbx], si
movzx r14d, byte [rsp + 0x60]
movsxd rdi, dword [rbx - 0x10]
test edi, edi
js 0x14000491e
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or ecx, eax
jge 0x140004501
mov edx, edi
lea rcx, [rbp + 0x108]
call fcn.140005b50
mov rbx, qword [rbp + 0x108]
lea eax, [rdi + 1]
movsxd rdx, eax
mov rcx, rbx
call fcn.14003109c
cmp edi, dword [rbx - 0xc]
jg 0x140004913
mov dword [rbx - 0x10], edi
mov word [rbx + rdi*2], si
cmp dword [rbx - 0x10], 0
jl 0x140004548
lea rdx, str.7906AAC0.DYNABOOKSETTINGS_
mov rcx, rbx
call fcn.140030ca0
test rax, rax
je 0x140004548
sub rax, rbx
sar rax, 1
cmp eax, 0xffffffff
jne 0x1400048cb
movsxd rdi, dword [rbx - 0x10]
test edi, edi
js 0x140004908
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14000457a
mov edx, edi
lea rcx, [rbp + 0x108]
call fcn.140005b50
mov rbx, qword [rbp + 0x108]
lea eax, [rdi + 1]
movsxd rdx, eax
mov rcx, rbx
call fcn.14003109c
cmp edi, dword [rbx - 0xc]
jg 0x1400048fd
mov dword [rbx - 0x10], edi
mov word [rbx + rdi*2], si
cmp dword [rbx - 0x10], 0
jl 0x140004890
lea rdx, str.7906AAC0.TOSHIBASETTINGS_
mov rcx, rbx
call fcn.140030ca0
test rax, rax
je 0x140004890
sub rax, rbx
sar rax, 1
cmp eax, 0xffffffff
je 0x140004890
mov dword [rbp + 0x118], 0x208
lea rdi, [rbp + 0x360]
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
lea rax, [rbp + 0x118]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x360]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
mov r9d, 2
lea r8, str.Path
lea rdx, [rbp + 0x150]
mov rcx, qword [rbp + 0x100]
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
jne 0x140004850
lea rdx, str.System_Setting_
lea rcx, [rbp + 0x360]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
xor edx, edx
lea rcx, [rbp + 0x360]
call fcn.140030998
lea r8, [rbp + 0x360]
test eax, eax
lea rax, str.DSDFunctionKeyCtlServiceProc.cpp
jne 0x140004816
mov qword [rbp + 0xd0], rax
mov dword [rbp + 0xd8], 0x1ed
lea rax, str.__DSDFunctionKeyCtlServiceProc::CheckSettingsStoreAppSupport_
mov qword [rbp + 0xe0], rax
lea rax, [0x14004b4ac]
mov qword [rbp + 0xe8], rax
mov dword [rbp + 0xf0], 3
lea rdx, str.Path__s__exist:_True
lea rcx, [rbp + 0xd0]
call fcn.1400028a0
mov r14b, 1
mov byte [rsp + 0x60], r14b
cmp dword [rbx - 0x10], 0
jge 0x1400046be
mov eax, r15d
jmp 0x1400046dd
lea rdx, [0x14004e014]
mov rcx, rbx
call fcn.140030ca0
test rax, rax
jne 0x1400046d7
mov eax, r15d
jmp 0x1400046dd
sub rax, rbx
sar rax, 1
lea r8d, [rax + 1]
xor edx, edx
lea rcx, [rbp + 0x108]
call fcn.1400055a0
mov rdi, qword [rbp + 0x108]
mov esi, dword [rdi - 0x10]
test esi, esi
jns 0x140004702
mov ebx, r15d
jmp 0x140004724
lea rdx, [0x14004e014]
mov rcx, rdi
call fcn.140030ca0
mov rbx, rax
test rax, rax
jne 0x14000471e
mov ebx, r15d
jmp 0x140004724
sub rbx, rdi
sar rbx, 1
cmp dword [rdi - 0x10], 0
jge 0x14000472f
mov eax, r15d
jmp 0x14000474e
lea rdx, [0x14004e014]
mov rcx, rdi
call fcn.140030ca0
test rax, rax
jne 0x140004748
mov eax, r15d
jmp 0x14000474e
sub rax, rdi
sar rax, 1
sub esi, ebx
mov r8d, esi
mov edx, eax
lea rcx, [rbp + 0x108]
call fcn.1400055a0
lea rdi, str.DSDFunctionKeyCtlServiceProc.cpp
mov qword [rbp + 0xa8], rdi
mov dword [rbp + 0xb0], 0x1f2
lea rsi, str.__DSDFunctionKeyCtlServiceProc::CheckSettingsStoreAppSupport_
mov qword [rbp + 0xb8], rsi
lea rax, [0x14004b4ac]
mov qword [rbp + 0xc0], rax
mov dword [rbp + 0xc8], 3
mov rbx, qword [rbp + 0x108]
mov r8, rbx
lea rdx, [0x14004e018]
lea rcx, [rbp + 0xa8]
call fcn.1400028a0
mov qword [rbp + 0x58], rdi
mov dword [rbp + 0x60], 0x1f3
mov qword [rbp + 0x68], rsi
lea rsi, [0x14004b4ac]
mov qword [rbp + 0x70], rsi
mov dword [rbp + 0x78], 3
mov r8d, dword [rbx - 0x10]
lea rdx, str.Application_version_length:__d
lea rcx, [rbp + 0x58]
call fcn.1400028a0
lea rdx, str.2.1.5.0
mov rcx, rbx
call fcn.14002f4c8
test eax, eax
jg 0x1400048e4
cmp dword [rbx - 0x10], 7
jg 0x1400048e4
xor esi, esi
jmp 0x140004890
mov qword [rbp + 0x30], rax
mov dword [rbp + 0x38], 0x1fd
lea rax, str.__DSDFunctionKeyCtlServiceProc::CheckSettingsStoreAppSupport_
mov qword [rbp + 0x40], rax
lea rax, [0x14004b4ac]
mov qword [rbp + 0x48], rax
mov dword [rbp + 0x50], 3
lea rdx, str.PathFileExists__s_:_False
lea rcx, [rbp + 0x30]
call fcn.1400028a0
jmp 0x140004890
lea rax, str.DSDFunctionKeyCtlServiceProc.cpp
mov qword [rbp + 8], rax
mov dword [rbp + 0x10], 0x202
lea rax, str.__DSDFunctionKeyCtlServiceProc::CheckSettingsStoreAppSupport_
mov qword [rbp + 0x18], rax
lea rax, [0x14004b4ac]
mov qword [rbp + 0x20], rax
mov dword [rbp + 0x28], 3
lea rdx, str.Failed_to_get_the_appliation_installation_path.
lea rcx, [rbp + 8]
call fcn.1400028a0
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400048a4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rbx, str.DSDFunctionKeyCtlServiceProc.cpp
inc r12d
cmp r12d, dword [rbp + 0x110]
jae 0x14000494a
jmp 0x1400042d0
mov ecx, 0x80070057
call fcn.140006240
nop
mov r13b, 1
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140004952
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140004952
mov r13b, 1
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140004960
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140004960
mov ecx, 0x80070057
call fcn.140006240
int3
mov ecx, 0x80070057
call fcn.140006240
int3
mov ecx, 0x80070057
call fcn.140006240
int3
mov ecx, 0x80070057
call fcn.140006240
nop
mov ecx, 0x80070057
call fcn.140006240
int3
mov ecx, 0x80070057
call fcn.140006240
nop
mov ecx, 0x80004005
call fcn.140006240
int3
test r14b, r14b
jne 0x140004952
mov r13b, 1
lea rdi, str.DSDFunctionKeyCtlServiceProc.cpp
lea rsi, [0x14004b4ac]
lea r12, str.__DSDFunctionKeyCtlServiceProc::CheckSettingsStoreAppSupport_
mov rcx, qword [rbp + 0x100]
test rcx, rcx
je 0x140004984
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbp + 0x100], 0
mov qword [rbp - 0x20], rdi
mov dword [rbp - 0x18], 0x20f
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], rsi
mov dword [rbp], 3
lea rax, str.true
lea r9, str.false
test r13b, r13b
cmovne r9, rax
lea r8, str.bSettingsStoreAppSupport
lea rdx, str._s___s
lea rcx, [rbp - 0x20]
call fcn.1400028a0
nop
mov r8, qword [rbp + 0x120]
lea rdx, str.LEAVE__s
lea rcx, [rbp + 0x128]
call fcn.1400028a0
movzx eax, r13b
mov rcx, qword [rbp + 0x570]
xor rcx, rsp
call fcn.14002f400
lea r11, [rsp + 0x680]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret