Function at 0x140038bc0
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf]
sub rsp, 0x90
movsxd r12, r8d
mov r13, rdx
mov rbx, qword [rbp + 0x6f]
call fcn.140002e00
mov rcx, rax
test rax, rax
je 0x140038fd8
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x21], rax
mov rsi, 0xffffffffffffffff
xor r15d, r15d
test rbx, rbx
je 0x140038c4c
mov rdi, rbx
shr rdi, 0x10
test rdi, rdi
jne 0x140038c3c
movzx r14d, bx
mov edx, r14d
lea rcx, [rbp - 0x21]
call fcn.1400058a0
jmp 0x140038c66
mov r8, rsi
nop
inc r8
cmp word [rbx + r8*2], r15w
jne 0x140038c40
jmp 0x140038c4f
mov r8d, r15d
mov rdx, rbx
lea rcx, [rbp - 0x21]
call fcn.140005a90
mov rdi, rbx
shr rdi, 0x10
movzx r14d, bx
call fcn.140002e00
mov rcx, rax
test rax, rax
je 0x140038fe3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x29], rax
test rbx, rbx
je 0x140038cb1
test rdi, rdi
jne 0x140038ca1
movzx r14d, r14w
mov edx, r14d
lea rcx, [rbp - 0x29]
call fcn.1400058a0
jmp 0x140038cc4
mov r8, rsi
inc r8
cmp word [rbx + r8*2], 0
jne 0x140038ca4
jmp 0x140038cb4
mov r8d, r15d
mov rdx, rbx
lea rcx, [rbp - 0x29]
call fcn.140005a90
movzx r14d, r14w
call fcn.140002e00
mov rcx, rax
test rax, rax
je 0x140038fee
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x31], rax
test rbx, rbx
je 0x140038d0d
test rdi, rdi
jne 0x140038cfb
mov edx, r14d
lea rcx, [rbp - 0x31]
call fcn.1400058a0
jmp 0x140038d1d
mov r8, rsi
nop
inc r8
cmp word [rbx + r8*2], 0
jne 0x140038d00
jmp 0x140038d10
mov r8d, r15d
mov rdx, rbx
lea rcx, [rbp - 0x31]
call fcn.140005a90
nop
call fcn.140002e00
mov rcx, rax
test rax, rax
je 0x140038fcd
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x19], rax
test rbx, rbx
je 0x140038d6d
test rdi, rdi
jne 0x140038d54
mov edx, r14d
lea rcx, [rbp - 0x19]
call fcn.1400058a0
jmp 0x140038d7d
mov r8, rsi
nop word [rax + rax]
inc r8
cmp word [rbx + r8*2], 0
jne 0x140038d60
jmp 0x140038d70
mov r8d, r15d
mov rdx, rbx
lea rcx, [rbp - 0x19]
call fcn.140005a90
nop
mov r8d, 7
lea rdx, str.Version
lea rcx, [rbp - 0x21]
call fcn.140005c50
mov r8d, 5
lea rdx, str.Order
lea rcx, [rbp - 0x29]
call fcn.140005c50
mov r8d, 5
lea rdx, str.Sizes
lea rcx, [rbp - 0x31]
call fcn.140005c50
mov r8d, 4
lea rdx, str.Sort
lea rcx, [rbp - 0x19]
call fcn.140005c50
lea rax, [rbp + 0x4f]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x11]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
lea rdx, str.SoftwareProcessLasso
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov rbx, qword [rbp - 0x19]
test eax, eax
je 0x140038e23
xor dil, dil
jmp 0x140038f3c
mov eax, 4
mul r12
cmovo rax, rsi
mov rcx, rax
call fcn.1400ff0c4
mov r15, rax
mov eax, 4
mul r12
cmovo rax, rsi
mov rcx, rax
call fcn.1400ff0c4
mov r14, rax
mov r9, r15
mov r8, r12
mov edx, 0x103b
mov rcx, r13
call qword [sym.imp.USER32.dll_SendMessageW]
lea edi, [r12*4]
test eax, eax
je 0x140038e91
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], r15
mov r9d, 3
xor r8d, r8d
mov rdx, qword [rbp - 0x29]
mov rcx, qword [rbp - 0x11]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov r9d, edi
mov r8, r14
mov edx, r12d
mov rcx, r13
call fcn.14007e010
test al, al
je 0x140038ec6
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], r14
mov r9d, 3
xor r8d, r8d
mov rdx, qword [rbp - 0x31]
mov rcx, qword [rbp - 0x11]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [rbp + 0x77]
mov dword [rbp - 9], eax
mov dword [rbp - 1], 0x10909090
movzx eax, byte [rbp + 0x7f]
mov dword [rbp - 5], eax
mov dword [rsp + 0x28], InitCommonControls
lea rax, [rbp - 9]
mov qword [rsp + 0x20], rax
mov r9d, 3
xor r8d, r8d
mov rdx, rbx
mov rcx, qword [rbp - 0x11]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov edx, 4
mov rcx, r15
call fcn.1400ff054
mov edx, 4
mov rcx, r14
call fcn.1400ff054
mov rcx, qword [rbp - 0x11]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r8d, dword [rbp + 0x67]
mov rdx, qword [rbp - 0x21]
lea rcx, [0x14017c4f0]
call fcn.140073ea0
mov dil, 1
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140038f56
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x31]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140038f74
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x29]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140038f92
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x21]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x140038fae
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
movzx eax, dil
mov rbx, qword [rsp + 0xd8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.140002b00
nop
mov ecx, 0x80004005
call fcn.140002b00
nop
mov ecx, 0x80004005
call fcn.140002b00
nop
mov ecx, 0x80004005
call fcn.140002b00
int3