Function at 0x1400351b0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r15
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x140064018]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor r12d, r12d
lea rdx, [rbp - 0x40]
lea rcx, [0x14005dfc0]
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x40], r12
call fcn.14002e1f0
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x30], r12
lea rcx, [0x14005ded8]
call fcn.14002e1f0
mov r15, qword [rbp - 0x40]
lea r8, [rbp - 0x20]
mov rdx, r15
lea rcx, [rbp - 0x28]
call fcn.14002e3a0
mov rdx, qword [rbp - 0x30]
lea r8, [rbp - 0x38]
lea rcx, [rbp - 0x28]
call fcn.14002e3a0
mov rbx, qword [rbp - 0x20]
mov rdx, rbx
call fcn.140028b00
mov rdi, qword [rbp - 0x38]
mov rsi, qword [rbp - 0x28]
test rdi, rdi
je 0x140035253
cmp byte [rdi], r12b
jne 0x14003526b
mov r8, qword [0x140065e68]
test r8, r8
je 0x14003526b
mov rdx, qword [rbp - 0x30]
mov rcx, rsi
call fcn.14002ea90
test rbx, rbx
je 0x140035275
cmp byte [rbx], r12b
jne 0x140035288
mov rcx, qword [0x140065e70]
call fcn.140038520
mov qword [0x140065e70], r12
mov rcx, rbx
call fcn.140038520
mov rcx, rdi
call fcn.140038520
cmp qword [0x140065e68], r12
je 0x1400352ba
mov rcx, qword [0x140065e70]
test rcx, rcx
je 0x1400352ba
call fcn.14002bd40
test eax, eax
je 0x1400356d6
lea r8, [rbp - 0x38]
mov qword [rbp - 0x20], r12
mov rdx, r15
mov qword [rbp - 0x38], r12
lea rcx, [rbp - 0x28]
call fcn.14002e3a0
test eax, eax
je 0x1400352e1
lea rcx, [rbp - 0x28]
call fcn.14002f1a0
jmp 0x1400352f4
mov rdx, qword [rbp - 0x38]
test rdx, rdx
je 0x1400352f4
cmp byte [rdx], r12b
jne 0x1400352f4
call fcn.140028b00
mov rdx, qword [rbp - 0x30]
lea r8, [rbp - 0x20]
lea rcx, [rbp - 0x28]
call fcn.14002e3a0
test eax, eax
jne 0x1400354db
mov rbx, qword [rbp - 0x20]
test rbx, rbx
je 0x1400354db
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], r12b
jne 0x140035321
test rax, rax
je 0x1400354db
mov r8, rbx
lea rcx, [0x140065e68]
call fcn.1400282a0
test eax, eax
je 0x140035356
mov rdx, qword [rbp - 0x28]
lea rcx, [0x140065e68]
call fcn.140028170
lea r8, [rbp - 0x38]
mov qword [rbp - 0x38], r12
mov rdx, r15
lea rcx, [rbp - 0x28]
call fcn.14002e3a0
mov rdi, qword [rbp - 0x38]
test rdi, rdi
je 0x140035378
cmp byte [rdi], r12b
jne 0x14003538b
mov rcx, qword [0x140065e70]
call fcn.140038520
mov qword [0x140065e70], r12
mov rcx, rdi
call fcn.140038520
mov rcx, qword [0x140065e70]
call fcn.14002bd40
test eax, eax
je 0x1400354d2
lea rcx, [rbp - 0x30]
mov qword [rbp - 0x30], r12
call fcn.14002f590
test eax, eax
je 0x140035408
mov rax, qword [0x140065e60]
test rax, rax
je 0x1400353ce
cmp qword [rax + 8], r12
jne 0x1400354d2
lea rdx, [rbp - 0x38]
mov qword [rbp - 0x38], r12
lea rcx, [0x14005df10]
call fcn.14002a0e0
mov rbx, qword [rbp - 0x38]
mov rdx, r15
mov rdi, qword [rbp - 0x28]
mov r8, rbx
mov rcx, rdi
call fcn.14002ea90
mov rdx, rbx
call fcn.140028b00
mov rcx, rbx
jmp 0x140035638
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rbx + rax], r12b
jne 0x140035410
cmp rax, 0x23
jbe 0x14003547d
mov edx, 1
lea ecx, [rdx + 0x24]
call fcn.14003853c
mov r10, rax
test rax, rax
je 0x14003547d
mov r9, rbx
mov edx, r12d
sub r9, rax
mov r8, rax
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rbx + rcx], r12b
jne 0x140035447
movsxd rax, edx
cmp rax, rcx
jae 0x14003546e
movzx eax, byte [r9 + r8]
cmp al, 0x1f
je 0x14003546e
mov byte [r8], al
inc edx
inc r8
cmp edx, 0x24
jl 0x140035440
movsxd rax, edx
mov qword [0x140065e68], r10
mov byte [rax + r10 + 1], r12b
mov rdi, qword [rbp - 0x28]
mov rdx, r15
mov r8, qword [rbp - 0x30]
mov rcx, rdi
call fcn.14002ea90
lea rcx, [rbp - 0x38]
call fcn.14002f6c0
mov rcx, qword [0x140065e70]
test rcx, rcx
je 0x1400354aa
call fcn.140038520
mov rax, qword [rbp - 0x38]
lea rcx, [0x140065e68]
mov rdx, rdi
mov qword [0x140065e70], rax
call fcn.140028170
mov rdx, qword [rbp - 0x30]
call fcn.140028b00
jmp 0x140035634
mov rdi, qword [rbp - 0x28]
jmp 0x14003563d
lea rcx, [rbp - 0x30]
mov qword [rbp - 0x30], r12
call fcn.14002f590
test eax, eax
je 0x140035595
lea rcx, [rbp - 0x20]
call qword [sym.imp.ole32.dll_CoCreateGuid]
mov edx, 1
lea ecx, [rdx + 0x24]
call fcn.14003853c
lea rdx, [rbp - 0x38]
mov qword [rbp - 0x38], rax
lea rcx, [rbp - 0x20]
call qword [sym.imp.RPCRT4.dll_UuidToStringA]
mov rcx, qword [0x140065e68]
test rcx, rcx
je 0x14003552a
call fcn.140038520
mov rax, qword [rbp - 0x38]
lea rcx, [rbp - 0x28]
mov qword [0x140065e68], rax
call fcn.14002f1a0
cmp qword [0x140065e60], r12
mov rdi, qword [rbp - 0x28]
jne 0x140035581
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x20], r12
lea rcx, [0x14005df10]
call fcn.14002a0e0
mov rbx, qword [rbp - 0x20]
mov rdx, r15
mov r8, rbx
mov rcx, rdi
call fcn.14002ea90
mov rdx, rbx
call fcn.140028b00
mov rcx, rbx
call fcn.140038520
mov rdx, rdi
lea rcx, [0x140065e68]
call fcn.140028170
jmp 0x14003563d
mov r8, qword [rbp - 0x30]
mov rdx, r15
mov rcx, qword [rbp - 0x28]
call fcn.14002ea90
lea rcx, [rbp - 0x20]
call qword [sym.imp.ole32.dll_CoCreateGuid]
mov edx, 1
lea ecx, [rdx + 0x24]
call fcn.14003853c
lea rdx, [rbp - 0x38]
mov qword [rbp - 0x38], rax
lea rcx, [rbp - 0x20]
call qword [sym.imp.RPCRT4.dll_UuidToStringA]
mov rcx, qword [0x140065e68]
test rcx, rcx
je 0x1400355df
call fcn.140038520
mov rax, qword [rbp - 0x38]
lea rcx, [rbp - 0x20]
mov qword [0x140065e68], rax
call fcn.14002f6c0
mov rcx, qword [0x140065e70]
test rcx, rcx
je 0x140035604
call fcn.140038520
mov rax, qword [rbp - 0x20]
lea rcx, [rbp - 0x28]
mov qword [0x140065e70], rax
call fcn.14002f1a0
mov rdx, qword [rbp - 0x30]
call fcn.140028b00
mov rdi, qword [rbp - 0x28]
lea rcx, [0x140065e68]
mov rdx, rdi
call fcn.140028170
mov rcx, qword [rbp - 0x30]
call fcn.140038520
lea rdx, [rbp - 0x38]
mov qword [rbp - 0x38], r12
lea rcx, [0x14005e1d8]
call fcn.14002e1f0
lea rax, [rbp - 0x20]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov rsi, qword [rbp - 0x38]
test eax, eax
jne 0x1400356cb
mov rcx, qword [rbp - 0x20]
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
xor r9d, r9d
lea rax, [rbp - 0x30]
mov dword [rbp - 0x30], r12d
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov dword [rbp - 0x28], 4
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov rcx, qword [rbp - 0x20]
mov ebx, eax
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
jne 0x1400356cb
mov eax, dword [rbp - 0x30]
cmp eax, 0xffffffff
je 0x1400356cb
mov dword [0x140065e58], eax
jmp 0x1400356d6
mov rdx, rsi
mov rcx, rdi
call fcn.14002edd0
mov rcx, rsi
call fcn.140038520
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140036180
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r12
pop rbp
ret