Function at 0x14002f650
Capabilities:
Set registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0xfc0]
mov eax, 0x10c0
call fcn.140114010
sub rsp, rax
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov rax, qword [0x14030bc70]
xor rax, rsp
mov qword [rbp + 0xfb8], rax
mov rdi, r8
mov r14, rdx
mov r15, rcx
xor r12d, r12d
mov ebx, r12d
xor eax, eax
mov qword [rbp + 0xf60], rax
lea rdx, [rbp + 0xf60]
mov rcx, r8
call fcn.14001a210
xor eax, eax
mov qword [rbp + 0xf68], rax
lea rdx, [rbp + 0xf68]
mov rcx, rdi
call fcn.140027860
mov rax, qword [rbp + 0xf60]
cmp rax, qword [rbp + 0xf68]
je 0x14002f707
nop dword [rax]
mov rcx, rax
call fcn.140009110
inc eax
add ebx, eax
mov rax, qword [rbp + 0xf60]
add rax, 0x20
mov qword [rbp + 0xf60], rax
cmp rax, qword [rbp + 0xf68]
jne 0x14002f6e0
inc ebx
xor eax, eax
mov qword [rbp + 0xf70], rax
mov qword [rbp + 0xf78], rax
mov qword [rbp + 0xf80], rax
mov word [rsp + 0x30], r12w
lea rcx, [rbp + 0xf70]
call fcn.14000d820
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xf70], xmm0
mov qword [rbp + 0xf80], r12
lea rcx, [rsp + 0x30]
call fcn.14000a090
mov r8, rax
movsxd rdx, ebx
lea rcx, [rbp + 0xf70]
call fcn.14002fed0
nop
mov rbx, r12
xor eax, eax
mov qword [rbp + 0xf68], rax
lea rdx, [rbp + 0xf68]
mov rcx, rdi
call fcn.14001a210
xor eax, eax
mov qword [rbp + 0xf88], rax
lea rdx, [rbp + 0xf88]
mov rcx, rdi
call fcn.140027860
mov rax, qword [rbp + 0xf68]
cmp rax, qword [rbp + 0xf88]
je 0x14002f87e
nop dword [rax + rax]
mov rdx, rax
lea rcx, [rbp + 0xf98]
call fcn.140023130
nop
xor eax, eax
mov qword [rbp + 0xf60], rax
lea rdx, [rbp + 0xf60]
lea rcx, [rbp + 0xf98]
call fcn.14002fe20
xor eax, eax
mov qword [rbp + 0xf90], rax
lea rdx, [rbp + 0xf90]
lea rcx, [rbp + 0xf98]
call fcn.14002fdb0
lea rdx, [rbp + 0xf90]
lea rcx, [rbp + 0xf60]
call fcn.140016a10
test al, al
je 0x14002f850
nop
lea rcx, [rbp + 0xf60]
call fcn.140009510
movzx ecx, word [rax]
mov rax, qword [rbp + 0xf70]
mov word [rax + rbx*2], cx
inc rbx
lea rcx, [rbp + 0xf60]
call fcn.140016af0
lea rdx, [rbp + 0xf90]
lea rcx, [rbp + 0xf60]
call fcn.140016a10
test al, al
jne 0x14002f810
inc rbx
lea rcx, [rbp + 0xf98]
call fcn.140014ff0
mov rax, qword [rbp + 0xf68]
add rax, 0x20
mov qword [rbp + 0xf68], rax
cmp rax, qword [rbp + 0xf88]
jne 0x14002f7b0
mov rdx, r14
lea rcx, [rbp + 0xf98]
call fcn.140023130
mov rdi, rax
mov rsi, qword [rbp + 0xf78]
sub rsi, qword [rbp + 0xf70]
sar rsi, 1
lea rdx, [rbp + 0xf88]
lea rcx, [rbp + 0xf70]
call fcn.14001a210
mov rbx, qword [rax]
mov rcx, rdi
call fcn.1400157e0
lea r8d, [rsi + rsi]
mov dword [rsp + 0x28], r8d
mov qword [rsp + 0x20], rbx
mov r9d, 7
xor r8d, r8d
mov rdx, rax
mov rcx, qword [r15]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
lea rcx, [rbp + 0xf98]
call fcn.140014ff0
test ebx, ebx
je 0x14002f93f
mov rdx, r14
lea rcx, [rbp + 0xf98]
call fcn.1400230c0
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, rdi
call fcn.140012310
mov r8, rax
mov r9d, ebx
lea rdx, str.Could_not_set_registry_value_as_multi_string_with_name__s___i_.
lea rcx, [rsp + 0x40]
call fcn.140023c00
lea rdx, [0x140307e10]
lea rcx, [rsp + 0x40]
call fcn.1401419e8
nop
mov rdx, qword [rbp + 0xf70]
test rdx, rdx
je 0x14002f976
mov r8, qword [rbp + 0xf80]
sub r8, rdx
sar r8, 1
lea rcx, [rbp + 0xf70]
call fcn.140016070
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xf70], xmm0
mov qword [rbp + 0xf80], r12
mov rcx, qword [rbp + 0xfb8]
xor rcx, rsp
call fcn.140113910
add rsp, 0x10c0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret