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

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x1b0
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rax + 8], rbx
movzx ebx, r8b
mov r12d, edx
mov rsi, rcx
lea r9, [rax + 0x18]
xor r13d, r13d
test r8b, r8b
cmovne r9, r13
lea rax, [rax + 0x18]
test r8b, r8b
cmove rax, r13
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rcx]
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov edi, eax
test eax, eax
je 0x14006bba8
lea rax, [0x1400b59c8]
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x88], r13b
mov byte [rsp + 0x188], r13b
or rbp, 0xffffffffffffffff
mov r9d, ebp
lea r8, str.RegQueryInfoKey
mov edx, 0x100
lea rcx, [rsp + 0x88]
call fcn.14001e6f0
lea r11, [0x1400b5a30]
mov qword [rsp + 0x80], r11
mov byte [rsp + 0x188], r13b
mov r9d, ebp
lea r8, str.System
lea edx, [rbp + 0x21]
lea rcx, [rsp + 0x188]
call fcn.14001e6f0
mov edx, edi
lea rcx, [rsp + 0x80]
call fcn.140020200
lea rdx, [0x1400e07e8]
lea rcx, [rsp + 0x80]
call fcn.140073110
int3
or rbp, 0xffffffffffffffff
mov eax, dword [rsp + 0x1f0]
add eax, 1
mov dword [rsp + 0x1f0], eax
je 0x14006bbdb
movsxd rcx, eax
mov eax, 2
mul rcx
cmovo rax, rbp
mov rcx, rax
call fcn.1400725d0
mov rdi, rax
jmp 0x14006bbde
mov rdi, r13
xor ecx, ecx
call fcn.140073030
mov qword [rsp + 0x1f8], rdi
test bl, bl
je 0x14006bc20
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x1f0]
mov r8, rdi
mov edx, r12d
mov rcx, qword [rsi]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov ebx, eax
jmp 0x14006bc4d
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x1f0]
mov r8, rdi
mov edx, r12d
mov rcx, qword [rsi]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
mov ebx, eax
cmp ebx, 0x103
jne 0x14006bc64
mov rcx, rdi
call fcn.140073030
xor eax, eax
jmp 0x14006bd7a
test ebx, ebx
je 0x14006bcfe
lea rax, [0x1400b59c8]
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x88], 0
mov byte [rsp + 0x188], 0
mov r9d, ebp
lea r8, str.RegEnumKey_Value
mov edx, 0x100
lea rcx, [rsp + 0x88]
call fcn.14001e6f0
lea r11, [0x1400b5a30]
mov qword [rsp + 0x80], r11
mov byte [rsp + 0x188], 0
mov r9d, ebp
lea r8, str.System
mov edx, 0x20
lea rcx, [rsp + 0x188]
call fcn.14001e6f0
mov edx, ebx
lea rcx, [rsp + 0x80]
call fcn.140020200
lea rdx, [0x1400e07e8]
lea rcx, [rsp + 0x80]
call fcn.140073110
int3
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r13d
mov r9d, ebp
mov r8d, 0xfde9
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.14003f610
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 0x68], r13
mov dword [rsp + 0x60], r13d
mov rcx, qword [rsi + 0x10]
call fcn.140073030
mov qword [rsi + 0x10], rbx
cmp byte [rsp + 0x70], 0
je 0x14006bd61
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14006bd66
movsxd rdx, dword [rsp + 0x60]
call fcn.14001e970
mov rcx, qword [rsp + 0x68]
jmp 0x14006bd66
mov rcx, qword [rsp + 0x68]
call fcn.140073030
mov rbx, qword [rsi + 0x10]
mov rcx, rdi
call fcn.140073030
mov rax, rbx
mov rbx, qword [rsp + 0x1e0]
add rsp, 0x1b0
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret