Function at 0x140003310
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.140001fa0
nop
mov qword [rbp + 0x77], r15
lea rdx, [rbp - 0x39]
cmp qword [rbp - 0x21], 7
cmova 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 0x1400035e9
mov rbx, qword [rbp + 0x77]
mov qword [rbp + 0x7f], rbx
mov rdx, qword [rbp - 0x21]
cmp rdx, 7
jbe 0x1400033ee
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400033e9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000360c
call fcn.140024d64
movdqa xmm0, xmmword [0x1400580c0]
movdqu xmmword [rbp - 0x29], xmm0
mov word [rbp - 0x39], r15w
test rbx, rbx
je 0x14000358e
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.140001fa0
nop
mov edi, 1
mov dword [rbp + 0x77], edi
mov eax, dword [rsi + 0x10]
lea eax, [rax*2 + 2]
cmp qword [rsi + 0x18], 7
jbe 0x14000344b
mov rsi, qword [rsi]
lea rdx, [rbp + 7]
cmp qword [rbp + 0x1f], 7
cmova 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 0x1400034e4
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.140001fa0
mov edi, 3
mov eax, dword [r14 + 0x10]
lea eax, [rax*2 + 2]
cmp qword [r14 + 0x18], 7
jbe 0x1400034b2
mov r14, qword [r14]
lea rdx, [rbp - 0x19]
cmp qword [rbp - 1], 7
cmova 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 0x1400034e4
mov sil, 1
jmp 0x1400034e7
xor sil, sil
test dil, 2
je 0x140003542
and edi, 0xfffffffd
mov rdx, qword [rbp - 1]
cmp rdx, 7
jbe 0x140003530
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000352b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003612
call fcn.140024d64
movdqa xmm0, xmmword [0x1400580c0]
movdqu xmmword [rbp - 9], xmm0
mov word [rbp - 0x19], r15w
test dil, 1
je 0x140003584
mov rdx, qword [rbp + 0x1f]
cmp rdx, 7
jbe 0x140003584
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000357f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400035e3
call fcn.140024d64
test sil, sil
je 0x14000358e
mov dil, 1
jmp 0x140003591
xor dil, dil
test rbx, rbx
je 0x1400035c8
mov eax, 0x80000000
add rax, rbx
cmp rax, 5
jbe 0x1400035c8
cmp rbx, 0xffffffff80000007
je 0x1400035c8
cmp rbx, 0xffffffff80000060
je 0x1400035c8
cmp rbx, 0xffffffff80000050
je 0x1400035c8
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.1400360b4
nop
lea r8, str.RegCreateKeyExW_failed.
mov edx, eax
lea rcx, [rbp + 7]
call fcn.140003240
lea rdx, [0x140060118]
lea rcx, [rbp + 7]
call fcn.140026b48
nop
call fcn.1400360b4
nop
call fcn.1400360b4
int3