Function at 0x14005ea20
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x3a0]
sub rsp, 0x4a0
mov rax, qword [0x14010a010]
xor rax, rsp
mov qword [rbp + 0x390], rax
mov rbx, rdx
mov qword [rsp + 0x78], rdx
xor esi, esi
mov dword [rsp + 0x30], esi
mov qword [rdx], rsi
mov qword [rdx + 0x10], rsi
mov qword [rdx + 0x18], 7
mov word [rdx], si
xor r8d, r8d
lea rdx, [0x1400d8d10]
mov rcx, rbx
call sym.AsusAppService.exe_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::assign_wchar_t_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
mov dword [rsp + 0x30], 1
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SOFTWAREMicrosoftWindows_NTCurrentVersion
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14005ec3f
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], si
xor r8d, r8d
lea rdx, [0x1400d8d10]
lea rcx, [rsp + 0x58]
call sym.AsusAppService.exe_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::assign_wchar_t_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
nop
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], si
lea r8d, [rsi + 9]
lea rdx, str.EditionID
lea rcx, [rsp + 0x38]
call sym.AsusAppService.exe_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::assign_wchar_t_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
nop
mov rdi, qword [rbp - 0x80]
lea rax, [rsp + 0x58]
cmp rbx, rax
je 0x14005eb3f
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x68]
mov rcx, rbx
call sym.AsusAppService.exe_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::assign_wchar_t_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
mov dword [rbp - 0x78], 0x400
lea rdx, [rsp + 0x38]
cmp qword [rsp + 0x50], 8
cmovae rdx, qword [rsp + 0x38]
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14005eba8
lea rax, [rbp - 0x70]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14005eb90
lea rdx, [rbp - 0x70]
mov rcx, rbx
call sym.AsusAppService.exe_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::assign_wchar_t_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 8
jb 0x14005ebea
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005ebe5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005ecc7
call fcn.140061000
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], si
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x14005ec3f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005ec3a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005ecc1
call fcn.140061000
mov edx, 0x5c
lea rdi, str.C:Userspaul1_leeDesktopAsusAppServiceAsusAppServiceAsusAppServiceVirtualDeviceInstaller.cpp
mov rcx, rdi
call fcn.14008d088
test rax, rax
je 0x14005ec69
mov edx, 0x5c
mov rcx, rdi
call fcn.14008d088
lea rdi, [rax + 1]
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x14005ec76
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
lea r9, str.GetWindowsEditionID_result___s
lea r8, str.GetWindowsEditionID
mov edx, 0xe6
mov rcx, rdi
call fcn.140015a30
mov rax, rbx
mov rcx, qword [rbp + 0x390]
xor rcx, rsp
call fcn.140060fe0
lea r11, [rsp + 0x4a0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
call fcn.140091a84
nop
call fcn.140091a84
int3