Function at 0x180005800
Capabilities:
Delete registry key
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x2b0]
sub rsp, 0x3b0
mov rax, qword [0x18004f0b0]
xor rax, rsp
mov qword [rbp + 0x2a0], rax
movzx eax, word [0x180035550]
lea rcx, [rbp + 0x40]
movups xmm0, xmmword [str.SOFTWARE]
mov r14, qword [rbp + 0x2f0]
mov rsi, r8
mov rdi, qword [rbp + 0x2f8]
mov rbx, rdx
mov word [rsp + 0x40], ax
xor edx, edx
xor eax, eax
movaps xmmword [rsp + 0x30], xmm0
mov r8d, 0xc8
mov qword [rsp + 0x42], rax
mov qword [rsp + 0x4a], rax
mov qword [rsp + 0x52], rax
mov qword [rsp + 0x5a], rax
mov qword [rsp + 0x62], rax
mov dword [rsp + 0x6a], eax
mov word [rsp + 0x6e], ax
call fcn.18001c150
xor edx, edx
lea rcx, [rsp + 0x70]
mov r8d, 0xc8
call fcn.18001c150
xor edx, edx
lea rcx, [rbp + 0x110]
mov r8d, 0x190
call fcn.18001c150
xor ecx, ecx
nop word [rax + rax]
movzx eax, word [rsp + rcx + 0x30]
mov word [rbp + rcx + 0x40], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1800058c0
lea rcx, [rbp + 0x40]
sub rcx, 2
nop dword [rax + rax]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x1800058e0
mov eax, dword [0x180035b4c]
mov dword [rcx], eax
lea rcx, [rbp + 0x40]
sub rcx, 2
nop dword [rax + rax]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x180005900
xor edx, edx
nop dword [rax]
movzx eax, word [rbx + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x180005910
xor ecx, ecx
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rbp + rcx + 0x40]
mov word [rsp + rcx + 0x70], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x180005930
lea rcx, [rsp + 0x70]
sub rcx, 2
nop dword [rax]
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x180005950
movups xmm0, xmmword [str.Capabilities]
mov eax, dword [0x180035570]
movsd xmm1, qword [0x180035568]
movups xmmword [rcx], xmm0
movsd qword [rcx + 0x10], xmm1
mov dword [rcx + 0x18], eax
xor ecx, ecx
nop dword [rax]
movzx eax, word [rsp + rcx + 0x70]
mov word [rbp + rcx + 0x110], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x180005980
lea rcx, [rbp + 0x110]
sub rcx, 2
cmp word [rcx + 2], 0
lea rcx, [rcx + 2]
jne 0x1800059a1
movups xmm0, xmmword [str.FileAssociations]
mov eax, dword [0x180035598]
lea rdx, [rbp + 0x110]
movups xmm1, xmmword [0x180035588]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
mov dword [rcx + 0x20], eax
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, [rsp + 0x70]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
cmp dword [rbp + 0x300], 0
je 0x180005ae6
or rbx, 0xffffffffffffffff
mov rax, rbx
cmp word [rdi + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x180005a04
lea eax, [rax*2 + 2]
mov r9d, 1
mov dword [rsp + 0x28], eax
lea r8, str.AppDesc
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x20], rdi
mov rcx, 0xffffffff80000002
call qword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov rax, rbx
cmp word [r14 + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x180005a42
lea eax, [rax*2 + 2]
mov r9d, 1
mov dword [rsp + 0x28], eax
lea r8, str.AppIcon
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x20], r14
mov rcx, 0xffffffff80000002
call qword [sym.imp.SHLWAPI.dll_SHSetValueW]
nop
cmp word [rsi + rbx*2 + 2], 0
lea rbx, [rbx + 1]
jne 0x180005a80
lea eax, [rbx*2 + 2]
mov r9d, 1
mov dword [rsp + 0x28], eax
lea r8, str.AppName
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x20], rsi
mov rcx, 0xffffffff80000002
call qword [sym.imp.SHLWAPI.dll_SHSetValueW]
xor r9d, r9d
mov dword [rsp + 0x28], 0
xor r8d, r8d
mov qword [rsp + 0x20], 0
lea rdx, [rbp + 0x110]
mov rcx, 0xffffffff80000002
call qword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov rcx, qword [rbp + 0x2a0]
xor rcx, rsp
call fcn.180019490
lea r11, [rsp + 0x3b0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret