Function at 0x14009dbc0
Capabilities:
Set registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xb8
mov rax, qword [0x140398b38]
xor rax, rsp
mov qword [rbp + 7], rax
mov r12, r8
mov rsi, rdx
mov r14, rcx
mov dword [rbp - 0x51], r9d
mov rdi, qword [rbp + 0x7f]
xor r13d, r13d
mov qword [rbp - 0x39], r13
mov qword [rbp - 0x29], r13
mov qword [rbp - 0x21], r13
mov r15, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 8
jb 0x14009dc15
mov rdi, qword [rdi]
cmp r15, 8
jae 0x14009dc2c
movups xmm0, xmmword [rdi]
movups xmmword [rbp - 0x39], xmm0
mov qword [rbp - 0x21], 7
jmp 0x14009dc6c
mov rbx, r15
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp - 0x39]
call fcn.140081860
mov qword [rbp - 0x39], rax
lea r8, [r15*2 + 2]
mov rdx, rdi
mov rcx, rax
call fcn.140260c10
mov qword [rbp - 0x21], rbx
mov qword [rbp - 0x29], r15
cmp qword [r12 + 0x10], 0
je 0x14009dce7
mov r8, r12
lea rdx, [0x1402f37b4]
lea rcx, [rbp - 0x19]
call fcn.14009d1d0
nop
mov rdx, rax
cmp qword [rax + 0x18], 8
jb 0x14009dc99
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x39]
call fcn.14009de90
nop
mov rdx, qword [rbp - 1]
cmp rdx, 8
jb 0x14009dce7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009dce2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009de7f
call fcn.14025e328
mov qword [rbp - 0x41], r13
lea rbx, [rbp - 0x39]
cmp qword [rbp - 0x21], 8
cmovae rbx, qword [rbp - 0x39]
lea rdx, [rbp - 0x51]
lea rcx, [0x14039bf30]
call fcn.14009d6e0
lea rcx, [rbp - 0x41]
mov qword [rsp + 0x20], rcx
mov r9d, 0x20006
xor r8d, r8d
mov rdx, rbx
mov rcx, qword [rax]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x14009ddce
mov dword [rbp - 0x49], r13d
lea rbx, [rbp - 0x39]
cmp qword [rbp - 0x21], 8
cmovae rbx, qword [rbp - 0x39]
lea rdx, [rbp - 0x51]
lea rcx, [0x14039bf30]
call fcn.14009d6e0
lea rcx, [rbp - 0x49]
mov qword [rsp + 0x40], rcx
lea rcx, [rbp - 0x41]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, qword [rax]
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
cmp dword [rbp - 0x49], 1
jne 0x14009ddca
lea rbx, [rbp - 0x39]
cmp qword [rbp - 0x21], 8
cmovae rbx, qword [rbp - 0x39]
lea rdx, [rbp - 0x51]
lea rcx, [0x14039bf30]
call fcn.14009d6e0
lea rcx, [rbp - 0x41]
mov qword [rsp + 0x20], rcx
mov r9d, 0x20006
xor r8d, r8d
mov rdx, rbx
mov rcx, qword [rax]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x14009ddce
xor bl, bl
jmp 0x14009de1a
mov rcx, rsi
cmp qword [rsi + 0x18], 8
jb 0x14009dddb
mov rcx, qword [rsi]
cmp qword [r14 + 0x18], 8
jb 0x14009dde5
mov r14, qword [r14]
mov eax, dword [rsi + 0x10]
add eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, 1
xor r8d, r8d
mov rdx, r14
mov rcx, qword [rbp - 0x41]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
mov rcx, qword [rbp - 0x41]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
sete bl
mov rdx, qword [rbp - 0x21]
cmp rdx, 8
jb 0x14009de56
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009de51
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009de79
call fcn.14025e328
movzx eax, bl
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.14025e930
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14026d254
nop
call fcn.14026d254
nop
int3