Function at 0x14008e22c
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x68
mov r12, rcx
mov rcx, qword [0x14017d3a8]
lea rbx, [0x14017d3a8]
lea r14, [0x140008828]
mov r15d, 1
cmp rcx, rbx
je 0x14008e283
test byte [rcx + 0x1c], r15b
je 0x14008e283
cmp byte [rcx + 0x19], 4
jb 0x14008e283
mov rcx, qword [rcx + 0x10]
lea edx, [r15 + 0x18]
mov r8, r14
call fcn.14001dd24
xor r13d, r13d
test r12, r12
jne 0x14008e2a3
lea r8, [0x140008568]
lea rcx, [0x140008200]
mov edx, 0x11e
call fcn.1400a8be8
mov ecx, 0x18
mov dword [rbp + 0x50], r13d
mov dword [rbp + 0x58], r13d
mov qword [rbp - 0x20], r13
mov dword [rbp - 0x28], 4
mov qword [r12], r13
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rdi, rax
test rax, rax
jne 0x14008e305
mov rcx, qword [0x14017d3a8]
cmp rcx, rbx
je 0x14008e2fb
test byte [rcx + 0x1c], r15b
je 0x14008e2fb
cmp byte [rcx + 0x19], 2
jb 0x14008e2fb
lea edx, [rax + 0x1a]
mov r8, r14
mov rcx, qword [rcx + 0x10]
call fcn.14001dd24
mov rcx, qword [0x14017d3a8]
mov ebx, 0x8007000e
jmp 0x14008e863
xor eax, eax
lea r8, [0x140008430]
lea rdx, [0x140008240]
mov qword [rdi], rax
lea rax, [rbp - 0x28]
mov dword [rdi + 4], r13d
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x60]
mov qword [rdi + 0x10], r13
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x50]
mov qword [rdi + 8], r13
or dword [rbp + 0x60], reloc.ADVAPI32.dll_TraceEvent
mov r9d, CoRevokeClassObject
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
mov esi, eax
test eax, eax
je 0x14008e38a
mov rcx, qword [0x14017d3a8]
cmp rcx, rbx
je 0x14008e593
test byte [rcx + 0x1c], r15b
je 0x14008e593
cmp byte [rcx + 0x19], 2
jb 0x14008e593
mov edx, 0x1b
jmp 0x14008e496
cmp dword [rbp + 0x50], 4
je 0x14008e3a8
lea r8, [0x140008580]
lea rcx, [0x140008200]
mov edx, 0x147
call fcn.1400a8be8
mov ecx, dword [rbp + 0x60]
mov rdx, rdi
call fcn.14008e9e8
mov ebx, eax
test eax, eax
jns 0x14008e401
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14008e85b
test byte [rcx + 0x1c], r15b
je 0x14008e85b
cmp byte [rcx + 0x19], 2
jb 0x14008e85b
mov rcx, qword [rcx + 0x10]
mov edx, 0x1c
mov r8, r14
call fcn.14001dd24
mov rcx, qword [0x14017d3a8]
jmp 0x14008e85b
cmp dword [rdi], r15d
je 0x14008e428
cmp dword [rdi], 2
je 0x14008e428
cmp dword [rdi], 3
je 0x14008e428
lea r8, [0x140008470]
lea rcx, [0x140008200]
mov edx, 0x152
call fcn.1400a8be8
lea rax, [rbp + 0x58]
lea r8, [0x1400083f8]
lea rdx, [0x140008240]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x50]
mov r9d, 0x20
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
mov esi, eax
test eax, eax
je 0x14008e49e
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14008e593
test byte [rcx + 0x1c], r15b
je 0x14008e593
cmp byte [rcx + 0x19], 2
jb 0x14008e593
mov edx, 0x1d
mov r8, r14
jmp 0x14008e583
cmp dword [rbp + 0x50], 7
je 0x14008e4bc
lea r8, [0x140008598]
lea rcx, [0x140008200]
mov edx, 0x162
call fcn.1400a8be8
mov ecx, dword [rbp + 0x58]
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov r14, rax
mov qword [rbp - 0x20], rax
test rax, rax
jne 0x14008e50c
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14008e2fb
test byte [rcx + 0x1c], r15b
je 0x14008e2fb
cmp byte [rcx + 0x19], 2
jb 0x14008e2fb
lea edx, [r14 + 0x1e]
lea r8, [0x140008828]
jmp 0x14008e2eb
mov r8d, dword [rbp + 0x58]
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_memset
lea r11, [rbp + 0x58]
lea rax, [rbp + 0x50]
mov qword [rsp + 0x30], r11
lea r8, [0x1400083f8]
lea rdx, [0x140008240]
mov r9d, 0x20
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
mov esi, eax
test eax, eax
je 0x14008e5a6
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14008e593
test byte [rcx + 0x1c], r15b
je 0x14008e593
cmp byte [rcx + 0x19], 2
jb 0x14008e593
mov edx, 0x1f
lea r8, [0x140008828]
mov rcx, qword [rcx + 0x10]
call fcn.14001dd24
mov rcx, qword [0x14017d3a8]
movzx ebx, si
or ebx, 0x80070000
test esi, esi
cmovle ebx, esi
jmp 0x14008e85b
cmp dword [rbp + 0x50], 7
je 0x14008e5c4
lea r8, [0x140008598]
lea rcx, [0x140008200]
mov edx, 0x17e
call fcn.1400a8be8
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14008e60f
test byte [rcx + 0x1c], r15b
je 0x14008e60f
cmp byte [rcx + 0x19], 4
jb 0x14008e60f
mov r9d, dword [rbp + 0x58]
mov rcx, qword [rcx + 0x10]
lea r8, [0x140008828]
mov edx, 0x20
mov qword [rsp + 0x20], r14
call fcn.14006beb4
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
mov esi, dword [rbp + 0x58]
mov r15d, r13d
shr esi, 1
cmp esi, 2
jne 0x14008e698
cmp rcx, rax
je 0x14008e640
test byte [rcx + 0x1c], 1
je 0x14008e640
cmp byte [rcx + 0x19], 4
jb 0x14008e640
mov rcx, qword [rcx + 0x10]
lea edx, [rsi + 0x1f]
lea r8, [0x140008828]
call fcn.14001dd24
mov ebx, r13d
mov qword [r12], rdi
mov rcx, qword [rbp - 0x20]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14008e685
test byte [rcx + 0x1c], 1
je 0x14008e685
cmp byte [rcx + 0x19], 4
jb 0x14008e685
mov rcx, qword [rcx + 0x10]
lea r8, [0x140008828]
mov edx, 0x28
call fcn.14001dd24
mov eax, ebx
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp dword [rdi], 3
je 0x14008e6bc
lea r8, [0x1400085b0]
lea rcx, [0x140008200]
mov edx, 0x18e
call fcn.1400a8be8
mov rcx, qword [0x14017d3a8]
test esi, esi
je 0x14008e6d9
lea rdx, [r14 + rsi*2]
sub rdx, 2
mov eax, r13d
cmp word [rdx], r13w
sete al
add r15d, eax
dec esi
jne 0x14008e6c4
dec r15d
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14008e70c
test byte [rcx + 0x1c], 1
je 0x14008e70c
cmp byte [rcx + 0x19], 4
jb 0x14008e70c
mov rcx, qword [rcx + 0x10]
lea r8, [0x140008828]
mov edx, 0x22
mov r9d, r15d
call fcn.14001de24
mov r12d, r15d
mov esi, r15d
shl r12, 2
mov rcx, r12
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
shl rsi, 4
mov rcx, rsi
mov qword [rdi + 0x10], rax
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rcx, qword [rdi + 0x10]
mov qword [rdi + 8], rax
test rcx, rcx
je 0x14008e99c
test rax, rax
je 0x14008e99c
mov r8, r12
xor edx, edx
call sub.msvcrt.dll_memset
mov rcx, qword [rdi + 8]
mov r8, rsi
xor edx, edx
call sub.msvcrt.dll_memset
mov dword [rdi + 4], r15d
mov r12d, r13d
test r15d, r15d
je 0x14008e990
or rsi, 0xffffffffffffffff
xor eax, eax
inc rsi
cmp word [r14 + rsi*2], ax
jne 0x14008e778
test esi, esi
jne 0x14008e79e
lea r8, [0x140008600]
lea rcx, [0x140008200]
mov edx, 0x1b4
call fcn.1400a8be8
mov edx, 0x2c
mov rcx, r14
call qword [sym.imp.msvcrt.dll_wcschr]
mov rbx, rax
xor eax, eax
test rbx, rbx
je 0x14008e948
mov word [rbx], ax
mov edx, r12d
mov rcx, r14
shl rdx, 4
add rdx, qword [rdi + 8]
call qword [sym.imp.RPCRT4.dll_UuidFromStringW]
test eax, eax
jne 0x14008e90f
lea rcx, [rbx + 2]
lea r8d, [rax + 0xa]
lea rdx, [rbp - 0x18]
call qword [sym.imp.msvcrt.dll_wcstoul]
mov rcx, qword [rdi + 0x10]
mov edx, r12d
lea rdx, [rcx + rdx*4]
mov ecx, eax
mov dword [rbp - 0x24], eax
call fcn.14008e9e8
mov ebx, eax
test eax, eax
js 0x14008e8c6
mov rax, qword [rdi + 0x10]
cmp dword [r13 + rax], 1
je 0x14008e836
cmp dword [r13 + rax], 2
je 0x14008e836
lea r8, [0x1400082d0]
lea rcx, [0x140008200]
mov edx, 0x1d6
call fcn.1400a8be8
lea eax, [rsi + 1]
inc r12d
add r13, 4
lea r14, [r14 + rax*2]
cmp r12d, r15d
jb 0x14008e772
mov rcx, qword [0x14017d3a8]
xor r13d, r13d
mov r12, qword [rbp + 0x48]
test ebx, ebx
jns 0x14008e643
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14008e893
test byte [rcx + 0x1c], 1
je 0x14008e893
cmp byte [rcx + 0x19], 2
jb 0x14008e893
mov rcx, qword [rcx + 0x10]
lea r8, [0x140008828]
mov edx, 0x27
mov r9d, ebx
call fcn.14001de24
test rdi, rdi
je 0x14008e647
mov rcx, qword [rdi + 8]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [rdi + 0x10]
mov qword [rdi + 8], r13
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, rdi
mov qword [rdi + 0x10], r13
call qword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x14008e647
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14008e854
test byte [rcx + 0x1c], 1
je 0x14008e854
cmp byte [rcx + 0x19], 2
jb 0x14008e854
mov r9d, dword [rbp - 0x24]
mov rcx, qword [rcx + 0x10]
lea r8, [0x140008828]
mov edx, 0x26
call fcn.14001de24
jmp 0x14008e84d
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14008e983
test byte [rcx + 0x1c], 1
je 0x14008e983
cmp byte [rcx + 0x19], 2
jb 0x14008e983
mov rcx, qword [rcx + 0x10]
lea r8, [0x140008828]
mov edx, 0x25
mov r9, r14
call fcn.14001ec40
jmp 0x14008e97c
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14008e983
test byte [rcx + 0x1c], 1
je 0x14008e983
cmp byte [rcx + 0x19], 2
jb 0x14008e983
mov rcx, qword [rcx + 0x10]
lea r8, [0x140008828]
mov edx, 0x24
call fcn.14001dd24
mov rcx, qword [0x14017d3a8]
mov ebx, 0x80780098
xor r13d, r13d
jmp 0x14008e863
mov rcx, qword [0x14017d3a8]
jmp 0x14008e857
mov rcx, qword [0x14017d3a8]
lea rax, [0x14017d3a8]
cmp rcx, rax
je 0x14008e9d7
test byte [rcx + 0x1c], 1
je 0x14008e9d7
cmp byte [rcx + 0x19], 2
jb 0x14008e9d7
mov rcx, qword [rcx + 0x10]
lea r8, [0x140008828]
mov edx, 0x23
call fcn.14001dd24
mov rcx, qword [0x14017d3a8]
mov ebx, 0x8007000e
jmp 0x14008e857