Function at 0x14003fee0
Capabilities:
Delete registry value
Set registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov rax, qword [0x14009c218]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rbx, r8
mov r12, qword [rcx]
test r12, r12
jne 0x14003ff17
xor al, al
jmp 0x140040369
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x71], xmm0
mov qword [rbp - 0x61], rax
lea rcx, [rbp - 0x71]
call fcn.1400398c0
nop
xor r15b, r15b
cmp byte [rbx + 0xf], r15b
jne 0x14003ff62
lea rdx, [0x14007b500]
mov rax, qword [rbp - 0x71]
test rax, rax
cmovne rdx, rax
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test eax, eax
jne 0x14004035c
mov r15b, 1
jmp 0x14004035c
mov rcx, rbx
call fcn.14002d780
test al, al
jne 0x140040309
mov rcx, rbx
call fcn.14002d9f0
test al, al
jne 0x140040309
mov rcx, rbx
call fcn.14002d790
mov rcx, rbx
test al, al
je 0x14003ffe2
xor edx, edx
call fcn.14002d0a0
mov dword [rsp + 0x38], eax
lea rdx, [0x14007b500]
mov rax, qword [rbp - 0x71]
test rax, rax
cmovne rdx, rax
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x14004035c
mov r15b, 1
jmp 0x14004035c
call fcn.14002d7b0
mov rcx, rbx
test al, al
je 0x14004007b
xor edi, edi
mov qword [rsp + 0x38], rdi
lea rdx, [rsp + 0x38]
call fcn.14002c540
invalid
invalid
dec dword [rax + 0x39]
jl 0x14004002b
cmp byte [rdi], cl
test byte [rsi + 3], cl
add byte [rax], al
lea rsi, [0x14007b500]
mov rax, qword [rbp - 0x71]
test rax, rax
cmovne rsi, rax
lea rcx, [rsp + 0x38]
call fcn.140012780
mov rbx, rax
lea rcx, [rsp + 0x38]
call fcn.140012640
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
lea r9d, [rdi + 3]
xor r8d, r8d
mov rdx, rsi
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
movzx r15d, r15b
mov r14d, 1
test eax, eax
cmove r15d, r14d
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14004035c
call fcn.140027dd0
jmp 0x14004035c
call fcn.14002da00
test al, al
je 0x140040239
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x39], xmm0
movups xmmword [rbp - 0x29], xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
mov qword [rbp + 7], rax
lea rcx, [rbp - 0x39]
call fcn.1400130e0
xor edi, edi
mov word [rsp + 0x38], di
xorps xmm0, xmm0
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm0
lea rdx, [rbp - 0x79]
mov rcx, rbx
call fcn.14002d3d0
mov rbx, rax
mov rcx, qword [rax]
lea rdx, [rcx + 0x18]
test rcx, rcx
cmove rdx, rdi
lea rcx, [rbp - 0x59]
call fcn.1400405f0
mov rcx, qword [rbx]
mov qword [rbp - 0x41], rcx
mov qword [rbx], rdi
mov rax, qword [rbp - 0x41]
test rax, rax
je 0x1400400fb
mov rcx, qword [rax + 0x28]
jmp 0x1400400fe
mov rcx, rdi
mov qword [rbp - 0x51], rcx
test rax, rax
je 0x14004010d
mov rax, qword [rax + 0x30]
jmp 0x140040110
mov rax, rdi
mov qword [rbp - 0x49], rax
mov rcx, qword [rbp - 0x79]
test rcx, rcx
je 0x140040126
call fcn.140027dd0
mov rax, qword [rbp - 0x49]
mov rsi, rdi
mov r14d, 1
test rax, rax
je 0x140040183
mov rbx, rdi
nop word [rax + rax]
mov rcx, qword [rbp - 0x51]
add rcx, rbx
lea rdx, [rbp - 0x79]
call fcn.14002c940
mov rdx, rax
lea rcx, [rbp - 0x39]
call fcn.1400131a0
lea rcx, [rbp - 0x79]
call fcn.14001bed0
mov r8, r14
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x39]
call fcn.140013460
inc rsi
add rbx, 0x10
cmp rsi, qword [rbp - 0x49]
jb 0x140040140
mov r8, r14
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x39]
call fcn.140013460
mov qword [rsp + 0x30], rdi
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x39]
call fcn.140013640
lea rsi, [0x14007b500]
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x1400401c1
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
jmp 0x1400401c7
mov rcx, rdi
mov rdx, rsi
mov rax, qword [rbp - 0x71]
test rax, rax
cmovne rsi, rax
lea eax, [rcx + rcx]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdx
mov r9d, 7
xor r8d, r8d
mov rdx, rsi
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
movzx r15d, r15b
test eax, eax
cmove r15d, r14d
lea rcx, [rsp + 0x30]
call fcn.14001bed0
lea rcx, [rbp - 0x59]
call fcn.14004a310
mov rcx, qword [rbp - 0x41]
test rcx, rcx
je 0x140040222
call fcn.140027dd0
mov qword [rbp - 0x41], rdi
lea rcx, [rbp - 0x59]
call fcn.140040670
lea rcx, [rbp - 0x39]
call fcn.140013120
jmp 0x14004035c
mov rcx, rbx
call fcn.14002d9a0
xor edi, edi
lea rdx, [rbp - 0x79]
mov rcx, rbx
mov qword [rsp + 0x30], rdi
test al, al
je 0x140040288
call fcn.14002c940
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.140025d00
lea rcx, [rbp - 0x79]
call fcn.14001bed0
lea rsi, [0x14007b500]
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x1400402bd
mov rdi, qword [rax + 8]
mov rcx, qword [rax]
jmp 0x1400402c0
call fcn.14002e370
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14001ec20
lea rcx, [rbp - 0x79]
call fcn.14001bff0
lea rsi, [0x14007b500]
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x1400402bd
mov rdi, qword [rax + 8]
mov rcx, qword [rax]
jmp 0x1400402c0
mov rcx, rsi
mov rax, qword [rbp - 0x71]
test rax, rax
cmovne rsi, rax
lea eax, [rdi*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r14d, 1
mov r9d, r14d
xor r8d, r8d
mov rdx, rsi
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
movzx r15d, r15b
test eax, eax
cmove r15d, r14d
lea rcx, [rsp + 0x30]
call fcn.14001bed0
jmp 0x14004035c
xor edx, edx
mov rcx, rbx
call fcn.14002d2d0
mov qword [rbp - 0x79], rax
lea rdx, [0x14007b500]
mov rax, qword [rbp - 0x71]
test rax, rax
cmovne rdx, rax
mov dword [rsp + 0x28], 8
lea rax, [rbp - 0x79]
mov qword [rsp + 0x20], rax
mov r9d, 0xb
xor r8d, r8d
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
movzx r15d, r15b
mov r14d, 1
test eax, eax
cmove r15d, r14d
lea rcx, [rbp - 0x71]
call fcn.14003a1d0
movzx eax, r15b
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14005a330
add rsp, 0xe0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret