Function at 0x140003230
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xc0
mov r14, rdx
mov rsi, rcx
xor r15d, r15d
mov dword [rbp + 0x77], r15d
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x29], xmm1
lea r8d, [r15 + 0x12]
lea rdx, str.SOFTWAREPAIDMEMES
lea rcx, [rbp - 0x39]
call fcn.140001ef0
nop
mov qword [rbp + 0x77], r15
lea rdx, [rbp - 0x39]
cmp qword [rbp - 0x21], 8
cmovae rdx, qword [rbp - 0x39]
mov qword [rsp + 0x40], r15
lea rax, [rbp + 0x77]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x2011f
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140003509
mov rbx, qword [rbp + 0x77]
mov qword [rbp + 0x7f], rbx
mov rdx, qword [rbp - 0x21]
cmp rdx, 8
jb 0x14000330e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003309
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000352c
call fcn.140024d14
movdqa xmm0, xmmword [0x140056f30]
movdqu xmmword [rbp - 0x29], xmm0
mov word [rbp - 0x39], r15w
test rbx, rbx
je 0x1400034ae
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x17], xmm1
mov r8d, 6
lea rdx, str.PUBLIC
lea rcx, [rbp + 7]
call fcn.140001ef0
nop
mov edi, 1
mov dword [rbp + 0x77], edi
mov eax, dword [rsi + 0x10]
lea eax, [rax*2 + 2]
cmp qword [rsi + 0x18], 8
jb 0x14000336b
mov rsi, qword [rsi]
lea rdx, [rbp + 7]
cmp qword [rbp + 0x1f], 8
cmovae rdx, qword [rbp + 7]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rsi
mov r9d, edi
xor r8d, r8d
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x140003404
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
lea r8d, [rax + 7]
lea rdx, str.PRIVATE
lea rcx, [rbp - 0x19]
call fcn.140001ef0
mov edi, 3
mov eax, dword [r14 + 0x10]
lea eax, [rax*2 + 2]
cmp qword [r14 + 0x18], 8
jb 0x1400033d2
mov r14, qword [r14]
lea rdx, [rbp - 0x19]
cmp qword [rbp - 1], 8
cmovae rdx, qword [rbp - 0x19]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r14
mov r9d, 1
xor r8d, r8d
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x140003404
mov sil, 1
jmp 0x140003407
xor sil, sil
test dil, 2
je 0x140003462
and edi, 0xfffffffd
mov rdx, qword [rbp - 1]
cmp rdx, 8
jb 0x140003450
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000344b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003532
call fcn.140024d14
movdqa xmm0, xmmword [0x140056f30]
movdqu xmmword [rbp - 9], xmm0
mov word [rbp - 0x19], r15w
test dil, 1
je 0x1400034a4
mov rdx, qword [rbp + 0x1f]
cmp rdx, 8
jb 0x1400034a4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000349f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003503
call fcn.140024d14
test sil, sil
je 0x1400034ae
mov dil, 1
jmp 0x1400034b1
xor dil, dil
test rbx, rbx
je 0x1400034e8
mov eax, 0x80000000
add rax, rbx
cmp rax, 5
jbe 0x1400034e8
cmp rbx, 0xffffffff80000007
je 0x1400034e8
cmp rbx, 0xffffffff80000060
je 0x1400034e8
cmp rbx, 0xffffffff80000050
je 0x1400034e8
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
movzx eax, dil
mov rbx, qword [rsp + 0xf0]
add rsp, 0xc0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.140035a34
nop
lea r8, str.RegCreateKeyExW_failed.
mov edx, eax
lea rcx, [rbp + 7]
call fcn.140003160
lea rdx, [0x14005efa0]
lea rcx, [rbp + 7]
call fcn.140026b10
nop
call fcn.140035a34
nop
call fcn.140035a34
int3