Function at 0x140003370
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.140002000
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 0x140003649
mov rbx, qword [rbp + 0x77]
mov qword [rbp + 0x7f], rbx
mov rdx, qword [rbp - 0x21]
cmp rdx, 7
jbe 0x14000344e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003449
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000366c
call fcn.1400253f4
movdqa xmm0, xmmword [0x140057ff0]
movdqu xmmword [rbp - 0x29], xmm0
mov word [rbp - 0x39], r15w
test rbx, rbx
je 0x1400035ee
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.140002000
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 0x1400034ab
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 0x140003544
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.140002000
mov edi, 3
mov eax, dword [r14 + 0x10]
lea eax, [rax*2 + 2]
cmp qword [r14 + 0x18], 7
jbe 0x140003512
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 0x140003544
mov sil, 1
jmp 0x140003547
xor sil, sil
test dil, 2
je 0x1400035a2
and edi, 0xfffffffd
mov rdx, qword [rbp - 1]
cmp rdx, 7
jbe 0x140003590
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000358b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003672
call fcn.1400253f4
movdqa xmm0, xmmword [0x140057ff0]
movdqu xmmword [rbp - 9], xmm0
mov word [rbp - 0x19], r15w
test dil, 1
je 0x1400035e4
mov rdx, qword [rbp + 0x1f]
cmp rdx, 7
jbe 0x1400035e4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400035df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003643
call fcn.1400253f4
test sil, sil
je 0x1400035ee
mov dil, 1
jmp 0x1400035f1
xor dil, dil
test rbx, rbx
je 0x140003628
mov eax, 0x80000000
add rax, rbx
cmp rax, 5
jbe 0x140003628
cmp rbx, 0xffffffff80000007
je 0x140003628
cmp rbx, 0xffffffff80000060
je 0x140003628
cmp rbx, 0xffffffff80000050
je 0x140003628
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.140036744
nop
lea r8, str.RegCreateKeyExW_failed.
mov edx, eax
lea rcx, [rbp + 7]
call fcn.1400032a0
lea rdx, [0x140060058]
lea rcx, [rbp + 7]
call fcn.1400271d8
nop
call fcn.140036744
nop
call fcn.140036744
int3