Function at 0x140004350
Capabilities:
Delete registry key

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x130]
sub rsp, 0x230
mov rax, qword [0x140035008]
xor rax, rsp
mov qword [rbp + 0x120], rax
mov r14d, r8d
mov rsi, rdx
mov rbx, rcx
xor r15d, r15d
mov qword [rsp + 0x68], r15
test rdx, rdx
je 0x1400048a4
lea r12d, [r15 + 1]
mov eax, dword [0x140027138]
cmp dword [rcx], eax
jne 0x1400043cc
mov eax, dword [0x14002713c]
cmp dword [rcx + 4], eax
jne 0x1400043cc
mov eax, dword [0x140027140]
cmp dword [rcx + 8], eax
jne 0x1400043cc
mov eax, dword [0x140027144]
cmp dword [rcx + 0xc], eax
mov eax, r12d
je 0x1400043cf
mov eax, r15d
test eax, eax
jne 0x1400048a4
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r9, [0x140027a00]
mov r8d, r12d
lea rcx, [0x140027158]
call fcn.140005b3c
test eax, eax
js 0x1400048a4
jmp 0x140004466
mov rax, qword [rsi + 8]
movups xmm0, xmmword [rax]
movdqu xmmword [rbp - 0x70], xmm0
lea r9, [rbp - 0x70]
mov r8d, r12d
mov rdx, rbx
test r14d, r14d
je 0x140004445
cmp ecx, r12d
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
jne 0x14000442f
mov rax, qword [rax + 0x28]
jmp 0x140004433
mov rax, qword [rax + 0x38]
call qword [0x140026788]
mov edi, eax
test eax, eax
js 0x1400048a7
jmp 0x140004462
cmp ecx, r12d
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
jne 0x140004458
mov rax, qword [rax + 0x30]
jmp 0x14000445c
mov rax, qword [rax + 0x40]
call qword [0x140026788]
add rsi, 0x10
mov ecx, dword [rsi]
test ecx, ecx
jne 0x140004401
test r14d, r14d
jne 0x1400048a4
lea r8d, [rcx + 0x40]
lea rdx, [rbp + 0xa0]
mov rcx, rbx
call qword [sym.imp.ole32.dll_StringFromGUID2]
test eax, eax
jne 0x140004495
lea edi, [rax + 0xd]
jmp 0x1400048a7
lea r8, str.CLSID_
mov ebx, 0x80
mov edx, ebx
lea rcx, [rbp - 0x60]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
lea esi, [rbx - 0x74]
lea r14d, [rbx - 0x6a]
test eax, eax
je 0x1400044db
cmp eax, esi
je 0x1400048ea
cmp eax, r14d
je 0x140004900
cmp eax, 0x22
je 0x140004900
cmp eax, 0x50
jne 0x1400048f5
lea r8, [rbp + 0xa0]
mov rdx, rbx
lea rcx, [rbp - 0x60]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
test eax, eax
je 0x140004516
cmp eax, esi
je 0x1400048ea
cmp eax, r14d
je 0x140004900
cmp eax, 0x22
je 0x140004900
cmp eax, 0x50
jne 0x1400048f5
lea r8, str.Required_Categories
mov rdx, rbx
lea rcx, [rbp - 0x60]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
test eax, eax
je 0x140004551
cmp eax, esi
je 0x1400048ea
cmp eax, r14d
je 0x140004900
cmp eax, 0x22
je 0x140004900
cmp eax, 0x50
jne 0x1400048f5
mov qword [rsp + 0x78], r15
mov dword [rbp - 0x80], r15d
mov qword [rbp - 0x78], r15
mov dword [rsp + 0x60], r15d
mov r9d, 0x20019
lea r8, [rbp - 0x60]
mov r13, 0xffffffff80000000
mov rdx, r13
lea rcx, [rsp + 0x78]
call fcn.140001de8
mov rbx, qword [rsp + 0x78]
test eax, eax
jne 0x140004658
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r15
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
movsxd rdi, eax
test rbx, rbx
je 0x1400045e0
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, r15
test rdi, rdi
jne 0x140004658
cmp dword [rsp + 0x60], r15d
jne 0x140004658
cmp byte [0x140036154], r15b
jne 0x140004630
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140004620
lea rdx, str.RegDeleteKeyExW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140036148], rax
jmp 0x140004627
mov rax, qword [0x140036148]
mov byte [0x140036154], r12b
jmp 0x140004637
mov rax, qword [0x140036148]
lea rdx, [rbp - 0x60]
mov rcx, r13
test rax, rax
je 0x140004651
xor r9d, r9d
xor r8d, r8d
call qword [0x140026788]
jmp 0x140004658
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
nop
lea r8, str.CLSID_
mov edi, 0x80
mov edx, edi
lea rcx, [rbp - 0x60]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
test eax, eax
je 0x140004697
cmp eax, esi
je 0x1400048ea
cmp eax, r14d
je 0x140004900
cmp eax, 0x22
je 0x140004900
cmp eax, 0x50
jne 0x1400048f5
lea r8, [rbp + 0xa0]
mov rdx, rdi
lea rcx, [rbp - 0x60]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
test eax, eax
je 0x1400046d2
cmp eax, esi
je 0x1400048ea
cmp eax, r14d
je 0x140004900
cmp eax, 0x22
je 0x140004900
cmp eax, 0x50
jne 0x1400048f5
lea r8, str.Implemented_Categories
mov rdx, rdi
lea rcx, [rbp - 0x60]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
test eax, eax
je 0x14000470d
cmp eax, esi
je 0x1400048ea
cmp eax, r14d
je 0x140004900
cmp eax, 0x22
je 0x140004900
cmp eax, 0x50
jne 0x1400048f5
mov qword [rsp + 0x70], r15
mov rdi, qword [rbp - 0x78]
test rdi, rdi
je 0x140004781
cmp qword [rdi], r15
je 0x140004776
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14000477c
lea rdx, str.RegOpenKeyTransactedW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14000477c
mov qword [rsp + 0x30], r15
mov rcx, qword [rdi]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x20], rcx
mov r9d, 0x20019
xor r8d, r8d
lea rdx, [rbp - 0x60]
mov rcx, r13
call qword [0x140026788]
jmp 0x1400047a1
cmp dword [rdi + 8], r15d
jne 0x140004781
mov eax, r12d
jmp 0x1400047a1
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, [rbp - 0x60]
mov rcx, r13
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400047bb
mov eax, r15d
test rbx, rbx
je 0x1400047b6
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x70]
test eax, eax
jne 0x14000488d
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r15
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
movsxd rdi, eax
test rbx, rbx
je 0x140004815
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, r15
test rdi, rdi
jne 0x14000488d
cmp dword [rsp + 0x60], r15d
jne 0x14000488d
cmp byte [0x140036154], r15b
jne 0x140004865
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140004855
lea rdx, str.RegDeleteKeyExW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140036148], rax
jmp 0x14000485c
mov rax, qword [0x140036148]
mov byte [0x140036154], r12b
jmp 0x14000486c
mov rax, qword [0x140036148]
lea rdx, [rbp - 0x60]
mov rcx, r13
test rax, rax
je 0x140004886
xor r9d, r9d
xor r8d, r8d
call qword [0x140026788]
jmp 0x14000488d
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
nop
test rbx, rbx
je 0x14000489b
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, r13
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edi, r15d
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1400048be
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x10]
call qword [0x140026788]
mov eax, edi
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.1400237c0
mov rbx, qword [rsp + 0x280]
add rsp, 0x230
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x8007000e
call fcn.1400017e8
int3
mov ecx, 0x80004005
call fcn.1400017e8
int3
mov ecx, 0x80070057
call fcn.1400017e8
int3