Function at 0x1800286f0
Capabilities:
Delete registry key
Delete registry value

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x3f8]
sub rsp, 0x4f0
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
mov rax, qword [0x1800a3830]
xor rax, rsp
mov qword [rbp + 0x3e0], rax
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x40]
call fcn.18004f700
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x1d0]
call fcn.18004f700
lea r9, [0x18006e180]
lea r8, str._shellexContextMenuHandlers_
lea rdx, str._s_s
lea rcx, [rbp - 0x40]
call qword [sym.imp.USER32.dll_wsprintfW]
lea r9, [0x18006e180]
lea r8, str._shellexDragDropHandlers_
lea rdx, str._s_s
lea rcx, [rbp + 0x1d0]
call qword [sym.imp.USER32.dll_wsprintfW]
mov qword [rbp - 0x68], 7
xor esi, esi
mov qword [rbp - 0x70], rsi
mov word [rbp - 0x80], si
lea r8d, [rsi + 6]
lea rdx, str.CLSID_
lea rcx, [rbp - 0x80]
call fcn.18000ae80
nop
lea r8d, [rsi + 0x26]
lea rdx, str.99DBFBB4_9D93_4F50_94F7_74A39CBBEE52
lea rcx, [rbp - 0x80]
call fcn.1800102c0
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], rsi
mov word [rsp + 0x60], si
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x60]
call fcn.18000ad40
nop
lea r8d, [rsi + 0xf]
lea rdx, str.InprocServer32
lea rcx, [rsp + 0x60]
call fcn.1800102c0
lea rdx, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rdx, qword [rsp + 0x60]
mov rcx, 0xffffffff80000000
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rdx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rdx, qword [rbp - 0x80]
mov rcx, 0xffffffff80000000
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r9d, [rsi + 2]
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionShell_ExtensionsApproved
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x18002888a
lea rdx, str.99DBFBB4_9D93_4F50_94F7_74A39CBBEE52
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.180027c90
mov rdi, rax
mov rbx, qword [rax]
movabs r14, 0x7fffffffffffffff
cmp rbx, qword [rax + 8]
je 0x180028ad5
cmp qword [rbx + 0x18], 8
jb 0x1800288b5
mov rdx, qword [rbx]
jmp 0x1800288b8
mov rdx, rbx
mov qword [rbp - 0x48], 7
mov qword [rbp - 0x50], rsi
mov word [rbp - 0x60], si
cmp word [rdx], 0
jne 0x1800288d3
mov r8, rsi
jmp 0x1800288eb
or r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x1800288e0
lea rcx, [rbp - 0x60]
call fcn.18000ae80
nop
cmp word [rbp - 0x40], 0
jne 0x180028901
mov r8, rsi
jmp 0x18002891b
lea rax, [rbp - 0x40]
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x180028910
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x60]
call fcn.1800102c0
lea rdx, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae rdx, qword [rbp - 0x60]
mov rcx, 0xffffffff80000000
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
cmp qword [rbx + 0x18], 8
jb 0x18002894f
mov rdx, qword [rbx]
jmp 0x180028952
mov rdx, rbx
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], rsi
mov word [rsp + 0x40], si
cmp word [rdx], 0
jne 0x180028970
mov r8, rsi
jmp 0x18002897f
or r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x180028974
lea rcx, [rsp + 0x40]
call fcn.18000ae80
nop
cmp word [rbp + 0x1d0], 0
jne 0x180028999
mov r8, rsi
jmp 0x1800289af
lea rax, [rbp + 0x1d0]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x1800289a4
lea rdx, [rbp + 0x1d0]
lea rcx, [rsp + 0x40]
call fcn.1800102c0
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rdx, qword [rsp + 0x40]
mov rcx, 0xffffffff80000000
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
nop
mov rax, qword [rsp + 0x58]
cmp rax, 8
jb 0x180028a33
inc rax
mov rcx, qword [rsp + 0x40]
cmp rax, r14
ja 0x180028ab1
add rax, rax
cmp rax, 0x1000
jb 0x180028a2e
test cl, 0x1f
jne 0x180028aab
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x180028aa5
sub rcx, rax
cmp rcx, 8
jb 0x180028a9f
cmp rcx, 0x27
ja 0x180028a99
mov rcx, rax
call fcn.18002f9a0
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], rsi
mov word [rsp + 0x40], si
mov rax, qword [rbp - 0x48]
cmp rax, 8
jb 0x180028a8c
inc rax
mov rcx, qword [rbp - 0x60]
cmp rax, r14
ja 0x180028acf
add rax, rax
cmp rax, 0x1000
jb 0x180028a87
test cl, 0x1f
jne 0x180028ac9
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x180028ac3
sub rcx, rax
cmp rcx, 8
jb 0x180028abd
cmp rcx, 0x27
ja 0x180028ab7
mov rcx, rax
call fcn.18002f9a0
add rbx, 0x20
cmp rbx, qword [rdi + 8]
jmp 0x1800288a3
call fcn.180052714
int3
call fcn.180052714
int3
call fcn.180052714
int3
call fcn.180052714
int3
call fcn.180052714
nop
call fcn.180052714
int3
call fcn.180052714
int3
call fcn.180052714
int3
call fcn.180052714
int3
call fcn.180052714
nop
mov rax, qword [rsp + 0x78]
cmp rax, 8
jb 0x180028b3d
inc rax
mov rcx, qword [rsp + 0x60]
cmp rax, r14
jbe 0x180028af3
call fcn.180052714
int3
add rax, rax
cmp rax, 0x1000
jb 0x180028b38
test byte [rsp + 0x60], 0x1f
je 0x180028b0b
call fcn.180052714
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180028b1a
call fcn.180052714
int3
sub rcx, rax
cmp rcx, 8
jae 0x180028b29
call fcn.180052714
int3
cmp rcx, 0x27
jbe 0x180028b35
call fcn.180052714
int3
mov rcx, rax
call fcn.18002f9a0
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], rsi
mov word [rsp + 0x60], si
mov rax, qword [rbp - 0x68]
cmp rax, 8
jb 0x180028bb5
inc rax
mov rcx, qword [rbp - 0x80]
cmp rax, r14
jbe 0x180028b6c
call fcn.180052714
int3
add rax, rax
cmp rax, 0x1000
jb 0x180028bb0
test byte [rbp - 0x80], 0x1f
je 0x180028b83
call fcn.180052714
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180028b92
call fcn.180052714
int3
sub rcx, rax
cmp rcx, 8
jae 0x180028ba1
call fcn.180052714
int3
cmp rcx, 0x27
jbe 0x180028bad
call fcn.180052714
int3
mov rcx, rax
call fcn.18002f9a0
mov eax, 1
mov rcx, qword [rbp + 0x3e0]
xor rcx, rsp
call fcn.18002fa40
lea r11, [rsp + 0x4f0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret