Function at 0x1800084c8
Capabilities:
Set registry value

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x290
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rax, qword [0x18005a960]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov rbp, r9
mov r12, r8
mov rdi, rdx
mov rbx, qword [rsp + 0x2f0]
call qword [0x18005a778]
and qword [rsp + 0x60], 0
test r12, r12
je 0x180008525
test rbp, rbp
jne 0x180008535
jmp 0x18000852a
test rbp, rbp
je 0x180008535
mov ecx, 0x80004005
call fcn.180001000
int3
lea r13, [0x180041458]
test rbx, rbx
cmovne r13, rbx
mov ebx, 0x104
mov r8d, ebx
lea rdx, [rsp + 0x72]
mov rcx, qword [0x18005ca48]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov r15d, eax
test eax, eax
jne 0x18000856f
call fcn.180007700
nop
jmp 0x1800087ff
cmp eax, ebx
jne 0x18000857d
mov eax, 0x8007007a
jmp 0x1800087ff
lea rdx, [rsp + 0x48]
mov rcx, rdi
call qword [sym.imp.ole32.dll_StringFromCLSID]
test eax, eax
jns 0x180008594
jmp 0x1800087ff
mov r14, qword [rsp + 0x48]
test r12, r12
je 0x1800085b0
mov r8, r13
mov rdx, r12
mov rcx, r14
call fcn.1800083e4
mov esi, eax
jmp 0x1800085b2
xor esi, esi
test esi, esi
jne 0x1800085cf
test rbp, rbp
je 0x1800085cd
mov r8, r13
mov rdx, rbp
mov rcx, r14
call fcn.1800083e4
mov esi, eax
jmp 0x1800085cf
xor esi, esi
xor edi, edi
test esi, esi
jne 0x1800087e5
xor ebx, ebx
mov qword [rsp + 0x40], rbx
and qword [rsp + 0x50], rbx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 0x2001f
xor r8d, r8d
lea rdx, str.CLSID
mov rcx, 0xffffffff80000000
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, eax
xor eax, eax
cmp edi, eax
jne 0x180008620
mov edi, eax
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x40], rbx
cmp edi, eax
jne 0x1800087d7
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8, r14
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.180007738
mov edi, eax
test eax, eax
jne 0x1800087d2
test r13, r13
setne al
test eax, eax
jne 0x180008670
mov ecx, 0x80004005
call fcn.180001000
int3
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax + rax + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r13
mov r9d, 1
xor r8d, r8d
xor edx, edx
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov edi, eax
test eax, eax
jne 0x1800087d7
test r12, r12
je 0x1800086c9
xor r9d, r9d
mov r8, r12
lea rdx, str.ProgID
lea rcx, [rsp + 0x40]
call fcn.18000820c
mov edi, eax
jmp 0x1800086cb
xor edi, edi
test edi, edi
jne 0x1800087d7
test rbp, rbp
je 0x1800086f3
xor r9d, r9d
mov r8, rbp
lea rdx, str.VersionIndependentProgID
lea rcx, [rsp + 0x40]
call fcn.18000820c
mov edi, eax
jmp 0x1800086f5
xor edi, edi
test edi, edi
jne 0x1800087d7
cmp qword [0x18005ca48], 0
je 0x180008799
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
cmp qword [0x18005ca48], rax
je 0x180008799
mov ebp, dword [rsp + 0x2f8]
test bpl, 4
lea rax, str.AUTPRX32.DLL
lea r8, [rsp + 0x72]
cmovne r8, rax
xor r9d, r9d
lea rdx, str.InprocServer32
lea rcx, [rsp + 0x40]
call fcn.18000820c
mov edi, eax
test eax, eax
jne 0x1800087d7
mov eax, ebp
and bpl, 1
lea rcx, str.Apartment
neg bpl
sbb r8, r8
and r8, rcx
lea rcx, str.both
and al, 2
cmovne r8, rcx
test r8, r8
je 0x1800087d7
lea r9, str.ThreadingModel
lea rdx, str.InprocServer32
lea rcx, [rsp + 0x40]
call fcn.18000820c
mov edi, eax
jmp 0x1800087d7
mov word [rsp + 0x70], 0x22
lea eax, [r15 + 1]
mov word [rsp + rax*2 + 0x70], 0x22
lea eax, [r15 + 2]
and word [rsp + rax*2 + 0x70], 0
xor r9d, r9d
lea r8, [rsp + 0x70]
lea rdx, str.LocalServer32
lea rcx, [rsp + 0x40]
call fcn.18000820c
mov edi, eax
jmp 0x1800087d7
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x1800087e5
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test edi, edi
je 0x1800087fd
mov ecx, edi
call fcn.180007724
mov esi, eax
mov eax, esi
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.180026960
mov rbx, qword [rsp + 0x2d0]
add rsp, 0x290
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret