Function at 0x18000c970
Capabilities:
Delete registry key

Disassembly:
push rbx
sub rsp, 0x50
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov rbx, rcx
test rcx, rcx
je 0x18000cc29
lea rdx, str.MarkInstall
call fcn.180033a50
test eax, eax
jne 0x18000c9b3
lea ecx, [rax + 1]
call fcn.180014430
mov rcx, rax
call fcn.18000d860
xor eax, eax
add rsp, 0x50
pop rbx
ret
lea rdx, str.NewInstall
mov rcx, rbx
call fcn.180033a50
test eax, eax
jne 0x18000c9d3
call fcn.18000eb70
xor eax, eax
add rsp, 0x50
pop rbx
ret
lea rdx, str.Install
mov rcx, rbx
call fcn.180033a50
test eax, eax
jne 0x18000c9f5
xor ecx, ecx
call fcn.18000d860
xor eax, eax
add rsp, 0x50
pop rbx
ret
lea rdx, str.Uninstall
mov rcx, rbx
call fcn.180033a50
test eax, eax
jne 0x18000ca15
call fcn.18000f300
xor eax, eax
add rsp, 0x50
pop rbx
ret
lea rdx, str.LudashiUninstall
mov rcx, rbx
call fcn.180033a50
test eax, eax
jne 0x18000ca35
call fcn.18000e680
xor eax, eax
add rsp, 0x50
pop rbx
ret
lea rdx, str.DeleteComputer
mov rcx, rbx
call fcn.180033a50
test eax, eax
jne 0x18000ca55
call fcn.18000d280
xor eax, eax
add rsp, 0x50
pop rbx
ret
lea rdx, str.DeleteDesktop
mov rcx, rbx
call fcn.180033a50
test eax, eax
jne 0x18000cb34
call fcn.180007b50
mov rcx, rax
test rax, rax
je 0x18000cc6a
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea rdx, str.OnCommand_DeleteDesktop
mov rbx, 0xffffffffffffffff
cmp rdx, 0x10000
jae 0x18000cab2
movzx edx, dx
lea rcx, [rsp + 0x60]
call fcn.18000cc80
jmp 0x18000cacd
mov rax, rbx
inc rax
cmp word [rdx + rax*2], 0
jne 0x18000cab5
mov r8d, eax
lea rcx, [rsp + 0x60]
call fcn.18000fcf0
nop
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x28]
call fcn.18000b530
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
sub ebx, 1
jg 0x18000caf9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rdx, str.DirectoryBackground_shellexContextMenuHandlersLDSShellExt
mov rcx, 0xffffffff80000000
call qword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
mov r8d, eax
lea rdx, str.delete_my_desktop_key_08lx
lea rcx, [rsp + 0x28]
call fcn.18000b860
nop
lea rcx, [rsp + 0x28]
call fcn.18000b6c0
xor eax, eax
add rsp, 0x50
pop rbx
ret
mov r8d, 4
lea rdx, str.Open
mov rcx, rbx
call fcn.180033bc8
test eax, eax
jne 0x18000cb73
add rbx, 8
movzx ecx, word [rbx]
call fcn.1800334ec
lea rcx, str.lds_spread_explorer
test eax, eax
cmovne rcx, rbx
call fcn.18000edc0
xor eax, eax
add rsp, 0x50
pop rbx
ret
lea rdx, str.MainTab
mov rcx, rbx
call fcn.180033a50
test eax, eax
jne 0x18000cb93
call fcn.18000f030
xor eax, eax
add rsp, 0x50
pop rbx
ret
lea rdx, str.ChangeBizhi
mov rcx, rbx
call fcn.180033a50
test eax, eax
jne 0x18000cbb5
xor ecx, ecx
call fcn.18000ce10
xor eax, eax
add rsp, 0x50
pop rbx
ret
lea rdx, str.ChangeDynamicBizhi
mov rcx, rbx
call fcn.180033a50
test eax, eax
jne 0x18000cbd8
lea ecx, [rax + 1]
call fcn.18000ce10
xor eax, eax
add rsp, 0x50
pop rbx
ret
lea rdx, str.Flush
mov rcx, rbx
call fcn.180033a50
test eax, eax
jne 0x18000cc03
call fcn.18000d380
test eax, eax
jne 0x18000cc29
xor ecx, ecx
call fcn.180009290
xor eax, eax
add rsp, 0x50
pop rbx
ret
lea rdx, str.DllReg
mov rcx, rbx
call fcn.180033a50
test eax, eax
jne 0x18000cc31
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
call sym.LDSShellExt.DLL_DllRegisterServer
call qword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
add rsp, 0x50
pop rbx
ret
lea rdx, str.DllUnreg
mov rcx, rbx
call fcn.180033a50
test eax, eax
jne 0x18000cc5f
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
call sym.LDSShellExt.DLL_DllUnregisterServer
call qword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
add rsp, 0x50
pop rbx
ret
mov eax, 0x80070057
add rsp, 0x50
pop rbx
ret
mov ecx, 0x80004005
call fcn.180008e40
int3