Function at 0x100014c48
Capabilities:
Delete registry value
Print debug messages
Set registry value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x20], rbp
push rsi
push rdi
push r12
sub rsp, 0x80
mov rbp, rcx
lea rcx, [rax - 0x58]
xor r12d, r12d
mov qword [rax + 0x10], r12
call fcn.10001d4dc
lea rax, [rsp + 0xa8]
lea rdx, [0x100002f20]
mov r9d, 0xf003f
xor r8d, r8d
mov rcx, 0xffffffff80000001
mov qword [rsp + 0x20], rax
mov rsi, r12
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x3c], r12d
mov dword [rsp + 0x38], r12d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ebx, eax
cmp eax, r12d
je 0x100014d15
cmp eax, 2
je 0x100014ef3
mov rcx, qword [0x100023120]
lea rdx, [0x100023120]
cmp rcx, rdx
je 0x100014cf3
test byte [rcx + 0x1c], 1
je 0x100014cf3
mov rcx, qword [rcx + 0x10]
lea edx, [r12 + 0x38]
lea r8, [0x1000018f0]
call fcn.100004898
movzx edi, bx
or edi, 0x80070000
cmp ebx, r12d
cmovle edi, ebx
cmp edi, r12d
jl 0x100014efb
mov edi, 0x80004005
jmp 0x100014efb
mov rdi, qword [rbp + 8]
lea rdx, [0x100001a00]
lea rcx, [rsp + 0x58]
call fcn.10001627c
cmp eax, r12d
jl 0x100014d45
lea rcx, [rsp + 0x40]
mov r8, rdi
mov edx, 1
call fcn.10001d218
mov edi, eax
jmp 0x100014d4a
mov edi, 0x80004005
cmp edi, r12d
jge 0x100014d8d
mov rcx, qword [0x100023120]
lea rdx, [0x100023120]
cmp rcx, rdx
je 0x100014ef6
test byte [rcx + 0x1c], 1
je 0x100014ef6
mov edx, 0x39
mov r9d, edi
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000018f0]
call fcn.1000048bc
jmp 0x100014ef6
mov rdx, qword [rsp + 0xa8]
lea rcx, [rsp + 0x40]
xor r8d, r8d
call fcn.10001d278
cmp eax, r12d
mov edi, eax
jge 0x100014dd4
mov rcx, qword [0x100023120]
lea rdx, [0x100023120]
cmp rcx, rdx
je 0x100014ef6
test byte [rcx + 0x1c], 1
je 0x100014ef6
mov edx, 0x3a
mov r9d, eax
jmp 0x100014d78
mov rcx, qword [rsp + 0x78]
mov edx, dword [rsp + 0x40]
cmp edx, r12d
mov rax, rcx
cmovne rax, qword [rsp + 0x48]
cmp rax, r12
je 0x100014ef3
cmp edx, r12d
cmovne rcx, qword [rsp + 0x48]
cmp rcx, r12
je 0x100014e1c
lea rdx, [rsp + 0xb0]
mov r8, rcx
call fcn.1000134b0
mov rsi, qword [rsp + 0xb0]
mov edi, eax
jmp 0x100014e2d
lea rcx, [0x1000031b8]
call sub.ntdll.dll_DbgPrint
mov edi, 0x80070057
cmp edi, r12d
jge 0x100014e5d
mov rcx, qword [0x100023120]
lea rdx, [0x100023120]
cmp rcx, rdx
je 0x100014ef6
test byte [rcx + 0x1c], 1
je 0x100014ef6
mov edx, 0x3b
jmp 0x100014d75
cmp rsi, r12
je 0x100014ee1
cmp word [rsi], r12w
je 0x100014ee1
mov rdx, qword [rbp + 8]
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rsi
mov r9d, 1
xor r8d, r8d
repne scasw ax, word [rdi]
not rcx
lea eax, [rcx + rcx]
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp eax, r12d
je 0x100014ef3
mov rcx, qword [0x100023120]
lea rdx, [0x100023120]
cmp rcx, rdx
je 0x100014d0b
test byte [rcx + 0x1c], 1
je 0x100014d0b
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000018f0]
mov edx, 0x3c
mov r9d, eax
call fcn.1000048bc
jmp 0x100014d0b
mov rdx, qword [rbp + 8]
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov edi, r12d
cmp edi, r12d
jge 0x100014f12
mov rcx, qword [rsp + 0xa8]
cmp rcx, r12
je 0x100014f2d
mov rdx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0xa8]
cmp rcx, r12
je 0x100014f2d
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0xa8], r12
cmp rsi, r12
je 0x100014f53
mov rax, qword gs:[0x30]
mov r8, qword [rsp + 0xb0]
xor edx, edx
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
lea rcx, [rsp + 0x30]
mov edx, 1
call fcn.1000170b4
lea rcx, [rsp + 0x40]
call fcn.10001d51c
lea r11, [rsp + 0x80]
mov eax, edi
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret