Function at 0x140001c30
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push rbp
push rbx
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x1798]
mov eax, 0x1898
call fcn.140003b50
sub rsp, rax
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x1780], rax
lea rax, [rsp + 0x70]
xor r12d, r12d
mov r15, rdx
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x38], rax
mov r14, r8
mov rbx, rcx
mov rdx, rcx
mov qword [rsp + 0x30], r12
xor r9d, r9d
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], r12d
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov edi, eax
test eax, eax
je 0x140001cca
lea rcx, str.RemoveStringFromMultiSZ:_RegCreateKeyEx__ts_failed_with_error__ld__n
mov r8d, eax
mov rdx, rbx
call fcn.140003308
jmp 0x140001ea8
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x50]
lea r9, [rsp + 0x60]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xf80]
xor r8d, r8d
mov rdx, r15
mov dword [rsp + 0x50], 0x800
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r8d, dword [rsp + 0x60]
mov edi, eax
test eax, eax
jne 0x140001e8f
cmp r8d, 7
jne 0x140001e8f
lea rcx, [rbp - 0x7e]
xor edx, edx
mov r8d, 0x7fe
mov qword [rsp + 0x18e8], rsi
mov word [rbp - 0x80], r12w
mov qword [rsp + 0x1890], r13
call fcn.1400039a0
lea rcx, [rbp + 0x782]
xor edx, edx
mov r8d, 0x7fe
mov word [rbp + 0x780], r12w
call fcn.1400039a0
mov ecx, dword [rsp + 0x50]
mov esi, r12d
mov ebx, r12d
mov r13d, r12d
mov rdi, r12
test ecx, 0xfffffffe
jbe 0x140001e31
lea r12, [rbp + 0xf80]
xor r15d, r15d
nop
movzx eax, word [r12]
test ax, ax
je 0x140001e15
mov word [rbp + rdi*2 - 0x80], ax
inc rdi
inc esi
cmp word [r12 + 2], r15w
jne 0x140001e15
lea rcx, [rbp - 0x80]
mov rdx, r14
call fcn.14000312c
test rax, rax
jne 0x140001dfa
movsxd rax, ebx
or rcx, 0xffffffffffffffff
lea rdx, [rbp - 0x80]
lea rdi, [rbp + rax*2 + 0x780]
xor eax, eax
repne scasw ax, word [rdi]
xor ecx, ecx
nop dword [rax + rax]
movzx eax, word [rdx + rcx]
add rcx, 2
mov word [rdi + rcx - 4], ax
test ax, ax
jne 0x140001dd0
test ebx, ebx
jne 0x140001dea
mov ebx, esi
jmp 0x140001dec
add ebx, esi
inc ebx
movsxd rax, ebx
mov word [rbp + rax*2 + 0x780], r15w
lea rcx, [rbp - 0x80]
xor edx, edx
mov r8d, 0x800
mov esi, r15d
mov rdi, r15
call fcn.1400039a0
mov ecx, dword [rsp + 0x50]
mov eax, ecx
inc r13d
add r12, 2
shr eax, 1
cmp r13d, eax
jb 0x140001d80
mov r15, qword [rsp + 0x68]
xor r12d, r12d
mov rcx, qword [rsp + 0x58]
inc ebx
mov r9d, 7
movsxd rax, ebx
xor r8d, r8d
mov rdx, r15
mov word [rbp + rax*2 + 0x780], r12w
lea eax, [rbx + rbx]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x780]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov r13, qword [rsp + 0x1890]
mov rsi, qword [rsp + 0x18e8]
mov edi, eax
test eax, eax
je 0x140001e9d
lea rcx, str.RemoveStringFromMultiSZ:_RegSetValueEx_failed_with__d__n
mov edx, eax
call fcn.140003308
jmp 0x140001e9d
lea rcx, str.RemoveStringFromMultiSZ:_RegQueryValueEx_failed_with__d__key_type__0x_x__n
mov edx, eax
call fcn.140003308
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
neg edi
sbb eax, eax
and eax, 2
mov rcx, qword [rbp + 0x1780]
xor rcx, rsp
call fcn.140003450
add rsp, 0x1898
pop r15
pop r14
pop r12
pop rdi
pop rbx
pop rbp
ret