Function at 0x14003b7b0
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x120
mov qword [rbp - 0x68], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
movzx r13d, r9b
mov r14, r8
mov r12, rdx
mov esi, 0x80004005
lea rcx, [rbp - 0x60]
call fcn.140021c60
nop
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x14003bd44
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rcx, [rax + 0x18]
mov qword [rsp + 0x40], rcx
lea r15, str.VersionTxt
xor esi, esi
test r15, 0xffffffffffff0000
jne 0x14003b859
movzx edi, r15w
xor edx, edx
mov ecx, edi
call fcn.1400017e0
test rax, rax
je 0x14003b8d1
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140001f70
jmp 0x14003b8d1
mov ebx, dword [rcx - 0x10]
mov rdi, r15
sub rdi, rcx
sar rdi, 1
mov edx, 1
sub edx, dword [rcx - 8]
mov eax, dword [rcx - 0xc]
sub eax, 0xa
or eax, edx
jge 0x14003b88b
mov edx, 0xa
lea rcx, [rsp + 0x40]
call fcn.140001c20
mov rcx, qword [rsp + 0x40]
movsxd rdx, dword [rcx - 0xc]
mov r9d, reloc.ATL100.DLL_Ordinal_20
add rdx, rdx
cmp rdi, rbx
ja 0x14003b8a9
lea r8, [rcx + rdi*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x14003b8b2
mov r8, r15
call qword [sym.imp.MSVCR100.dll_memcpy_s]
mov rax, qword [rsp + 0x40]
cmp dword [rax - 0xc], 0xa
jl 0x14003bd39
mov dword [rax - 0x10], 0xa
mov rax, qword [rsp + 0x40]
mov word [rax + 0x14], si
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rcx, [rax + 0x18]
mov qword [rsp + 0x38], rcx
lea r15, str.DebugInfoSearchEx
test r15, 0xffffffffffff0000
jne 0x14003b923
movzx edi, r15w
xor edx, edx
mov ecx, edi
call fcn.1400017e0
test rax, rax
je 0x14003b99b
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140001f70
jmp 0x14003b99b
mov ebx, dword [rcx - 0x10]
mov rdi, r15
sub rdi, rcx
sar rdi, 1
mov edx, 1
sub edx, dword [rcx - 8]
mov eax, dword [rcx - 0xc]
sub eax, 0x11
or eax, edx
jge 0x14003b955
mov edx, reloc.ATL100.DLL_Ordinal_17
lea rcx, [rsp + 0x38]
call fcn.140001c20
mov rcx, qword [rsp + 0x38]
movsxd rdx, dword [rcx - 0xc]
mov r9d, 0x22
add rdx, rdx
cmp rdi, rbx
ja 0x14003b973
lea r8, [rcx + rdi*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x14003b97c
mov r8, r15
call qword [sym.imp.MSVCR100.dll_memcpy_s]
mov rax, qword [rsp + 0x38]
cmp dword [rax - 0xc], 0x11
jl 0x14003bd2e
mov dword [rax - 0x10], 0x11
mov rax, qword [rsp + 0x38]
mov word [rax + 0x22], si
mov r9, r14
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x60]
call fcn.140021600
movzx edi, al
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
or rbx, 0xffffffffffffffff
mov ecx, ebx
lock xadd dword [rdx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14003b9d8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003b9f7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test dil, dil
jne 0x14003bd44
mov qword [rsp + 0x78], rsi
mov dword [rbp - 0x80], esi
mov qword [rbp - 0x78], rsi
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
test r12, r12
je 0x14003ba6b
test r12, 0xffffffffffff0000
jne 0x14003ba58
movzx edi, r12w
xor edx, edx
mov ecx, edi
call fcn.1400017e0
test rax, rax
je 0x14003ba7e
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140001f70
jmp 0x14003ba7e
xor eax, eax
mov rcx, rbx
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
dec rcx
jmp 0x14003ba6d
mov ecx, esi
mov r8d, ecx
mov rdx, r12
lea rcx, [rsp + 0x48]
call fcn.140001e80
nop
lea r8, [rsp + 0x48]
lea rdx, str.SOFTWARESony_CorporationShared_InfoVersionPath_
lea rcx, [rsp + 0x50]
call fcn.140004230
nop
call fcn.14001a970
cmp eax, 9
jne 0x14003bb41
test r13b, r13b
je 0x14003bb41
lea r8, [rsp + 0x48]
lea rdx, str.SOFTWAREWOW6432NODESony_CorporationShared_InfoVersionPath_
lea rcx, [rsp + 0x70]
call fcn.140004230
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rdi, qword [rsp + 0x50]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x14003bb22
cmp dword [rdi + 0x10], 0
jl 0x14003bb13
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14003bb13
call fcn.140001b90
mov r12, rax
mov ecx, ebx
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14003bb07
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 8]
lea rax, [r12 + 0x18]
mov qword [rsp + 0x50], rax
jmp 0x14003bb22
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x50]
call fcn.140001e80
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003bb41
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r9d, 0x20019
mov r8, qword [rsp + 0x50]
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x78]
call fcn.140008440
test eax, eax
jne 0x14003bcb2
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x60], rdi
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, 0xff
or eax, ecx
jge 0x14003bba7
mov edx, 0xff
lea rcx, [rsp + 0x60]
call fcn.140001c20
mov rdi, qword [rsp + 0x60]
mov dword [rsp + 0x58], 0x1fe
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x68]
xor r8d, r8d
lea rdx, str.Version
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14003bc98
mov eax, dword [rsp + 0x68]
cmp eax, 1
je 0x14003bbf2
cmp eax, 2
jne 0x14003bc98
test rdi, rdi
je 0x14003bc1a
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x14003bc17
test al, 1
jne 0x14003bc98
shr rax, 1
cmp word [rdi + rax*2 - 2], 0
je 0x14003bc1a
jmp 0x14003bc98
mov word [rdi], si
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_wcsnlen]
test eax, eax
js 0x14003bc8d
cmp eax, dword [rdi - 0xc]
jg 0x14003bc8d
mov dword [rdi - 0x10], eax
cdqe
mov word [rdi + rax*2], si
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.14003ffa0
test al, al
je 0x14003bc98
mov r8, rdi
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x30]
call fcn.1400405f0
nop
mov rdx, rax
mov rcx, r14
call fcn.140002250
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003bc86
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdi, qword [rsp + 0x60]
jmp 0x14003bc98
mov ecx, 0x80070057
call fcn.140001000
nop
lea rdx, [rdi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003bcb2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
xor eax, eax
lea rdi, [0x1400de328]
mov rsi, qword [r14]
mov ecx, 1
repe cmpsw word [rsi], word [rdi]
je 0x14003bccd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
neg al
sbb ecx, ecx
and ecx, 0x20000009
mov esi, ecx
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003bcfe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14003bd1c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14003bd44
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14003bd44
mov ecx, 0x80070057
call fcn.140001000
nop
mov ecx, 0x80070057
call fcn.140001000
nop
lea rcx, [rbp - 0x60]
call fcn.140021ae0
mov eax, esi
lea r11, [rsp + 0x120]
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