Function at 0x140021c78
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x250]
sub rsp, 0x350
mov rax, qword [0x1400c9158]
xor rax, rsp
mov qword [rbp + 0x240], rax
xor ebx, ebx
lea rcx, [rbp - 0x70]
mov byte [rdx], bl
mov r14, r8
mov byte [r8], bl
mov rsi, rdx
lea r8d, [rbx + 1]
call fcn.140021bf4
cmp qword [rbp + 0x40], rbx
je 0x1400406a6
mov edi, 0xc8
lea rcx, [rbp + 0xa0]
mov r8d, edi
xor edx, edx
call sub.msvcrt.dll_memset
mov rcx, qword [rbp + 0x40]
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x48]
lea rax, [rbp + 0xa0]
mov dword [rsp + 0x4c], edi
lea r8, str.IndexerCatalogVersion
mov qword [rsp + 0x20], rax
xor edx, edx
mov dword [rsp + 0x48], 1
call qword [sym.imp.api_ms_win_shcore_registry_l1_1_0.dll_SHGetValueW]
mov edi, eax
test eax, eax
jne 0x140040708
cmp dword [rsp + 0x48], 1
jne 0x140040739
lea rax, [rsp + 0x78]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x54]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xa0]
call fcn.140022d30
mov dword [rsp + 0x44], eax
test eax, eax
js 0x1400406c0
lea r8, [rsp + 0x58]
mov dword [rsp + 0x58], 0x20
lea rdx, str._x_sys_default_locale
lea ecx, [rbx + 1]
call qword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_GetNLSVersionEx]
test eax, eax
je 0x140040755
cmp dword [rsp + 0x50], 6
jne 0x140021e3d
mov eax, dword [rsp + 0x5c]
cmp dword [rsp + 0x54], eax
jne 0x140021e3d
mov rax, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x80]
mov rcx, rax
sub rcx, qword [0x1400973e8]
jne 0x140021dbd
mov rcx, rdx
sub rcx, qword [0x1400973f0]
test rcx, rcx
je 0x140021dd9
mov rcx, rax
sub rcx, qword [rsp + 0x68]
jne 0x140021dd4
mov rcx, rdx
sub rcx, qword [rsp + 0x70]
test rcx, rcx
jne 0x140021e3d
mov ecx, dword [rsp + 0x60]
cmp dword [rsp + 0x40], ecx
ja 0x140021e3d
mov byte [r14], 1
jb 0x14004078c
sub rax, qword [0x1400973e8]
je 0x140021e31
test rax, rax
je 0x14004078c
lea rcx, [rbp - 0x70]
call fcn.140013e30
mov eax, ebx
mov rcx, qword [rbp + 0x240]
xor rcx, rsp
call fcn.14002cdb0
lea r11, [rsp + 0x350]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
mov rax, rdx
sub rax, qword [0x1400973f0]
jmp 0x140021df6
mov r8d, 0x28
mov word [rbp + 0x170], bx
lea rdx, [rbp + 0x50]
mov word [rbp + 0x50], bx
lea rcx, [rsp + 0x68]
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_StringFromGUID2]
mov ecx, dword [rsp + 0x5c]
lea rax, [rbp + 0x50]
mov qword [rsp + 0x30], rax
lea r8, str._d._x._x._s
mov eax, dword [rsp + 0x60]
mov r9d, 6
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea rcx, [rbp + 0x170]
lea edx, [r9 + 0x5e]
call fcn.140006ce0
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0xa0]
call fcn.14005add4
jmp 0x140021dff
mov rcx, qword [rbp + 0x268]
lea r8, str.onecoreuap_base_appmodel_search_searchcommonpkmutildcatversion.cxx
mov edx, 0x52
call fcn.1400563ec
jmp 0x1400406f5
mov rcx, qword [rbp + 0x268]
lea r8, str.onecoreuap_base_appmodel_search_searchcommonpkmutildcatversion.cxx
mov r9d, eax
mov edx, 0x74
call fcn.14002c058
lea rdx, [rsp + 0x44]
mov byte [rsi], 1
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x40], 3
call fcn.14005ae88
lea rcx, [rbp - 0x70]
call fcn.140013e30
mov eax, 0x80004005
jmp 0x140021e0a
test edi, edi
jle 0x140040714
movzx eax, di
or eax, 0x80070000
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x40], eax
lea rcx, [rsp + 0x44]
mov dword [rsp + 0x44], 1
call fcn.14005ae88
cmp edi, 2
jne 0x1400406f5
mov byte [rsi], 1
jmp 0x1400406f5
lea rdx, [rsp + 0x48]
mov byte [rsi], 1
lea rcx, [rsp + 0x44]
mov dword [rsp + 0x44], 2
call fcn.14005af58
jmp 0x1400406f5
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
test eax, eax
jle 0x140040767
movzx eax, ax
or eax, 0x80070000
lea rdx, [rsp + 0x44]
mov dword [rsp + 0x44], eax
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x40], 4
call fcn.14005ae88
mov ebx, 0x80004005
jmp 0x140021dff
mov byte [rsi], 1
jmp 0x140021dff