Function at 0x140004bc4
Capabilities:
Delete registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2f8
lea rbp, [rsp + 0x60]
mov qword [rbp + 0x68], 0xfffffffffffffffe
mov rax, qword [0x1400163a0]
xor rax, rbp
mov qword [rbp + 0x280], rax
mov dword [rbp + 8], r9d
mov qword [rbp + 0x10], r8
mov rsi, rdx
mov r12, rcx
xor r14d, r14d
mov ebx, r14d
mov qword [rbp + 0x60], rbx
mov r15d, r14d
mov qword [rbp + 0x40], r14
mov qword [rbp + 0x48], r14
mov qword [rbp + 0x50], r14
mov r13d, r14d
mov dword [rbp + 0x18], 1
mov eax, dword [rbp + 0x300]
mov dword [rbp + 0x38], eax
call fcn.1400049e8
mov edi, eax
test eax, eax
js 0x1400053b0
cmp word [rsi], 0x7d
je 0x1400053b0
lea rdx, str.Delete
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpiW]
nop dword [rax + rax]
test eax, eax
sete r14b
lea rdx, str.ForceRemove
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpiW]
nop dword [rax + rax]
test eax, eax
je 0x140004c88
test r14d, r14d
je 0x140004d5c
mov rdx, rsi
mov rcx, r12
call fcn.1400049e8
mov edi, eax
xor edx, edx
test eax, eax
js 0x1400053b0
cmp dword [rbp + 8], edx
je 0x140004d5c
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], rdx
mov rcx, rsi
movzx eax, word [rsi]
jmp 0x140004cd4
cmp ax, 0x5c
je 0x140004cdb
call qword [sym.imp.api_ms_win_core_string_l2_1_0.dll_CharNextW]
nop dword [rax + rax]
mov rcx, rax
movzx eax, word [rax]
test ax, ax
jne 0x140004cbc
jmp 0x140004ce4
test rcx, rcx
jne 0x1400053ab
lea rdi, str.CLSID
mov rdx, qword [rdi]
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpiW]
nop dword [rax + rax]
test eax, eax
je 0x140004d25
add rdi, 8
lea rax, [0x140010600]
cmp rdi, rax
jl 0x140004ceb
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x20], rax
mov rdx, rsi
lea rcx, [rbp + 0x20]
call fcn.1400046a0
test r14d, r14d
je 0x140004d5c
mov rdx, rsi
mov rcx, r12
call fcn.1400049e8
mov edi, eax
xor r14d, r14d
test eax, eax
js 0x1400053c7
mov rdx, rsi
mov rcx, r12
call fcn.140004918
mov edi, eax
test eax, eax
js 0x1400053b0
jmp 0x140005351
lea rdx, str.NoRemove
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpiW]
nop dword [rax + rax]
xor r14d, r14d
test eax, eax
jne 0x140004d92
mov dword [rbp + 0x18], r14d
mov rdx, rsi
mov rcx, r12
call fcn.1400049e8
mov edi, eax
test eax, eax
js 0x1400053b0
lea rdx, [0x1400110b0]
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpiW]
nop dword [rax + rax]
add byte [rax], r8b
test eax, eax
jne 0x140004ea7
lea rdx, [rbp + 0x70]
mov rcx, r12
call fcn.1400049e8
mov edi, eax
test eax, eax
js 0x1400053b0
mov rdx, rsi
mov rcx, r12
call fcn.1400049e8
mov edi, eax
test eax, eax
js 0x1400053b0
cmp word [rsi], 0x3d
jne 0x1400053ab
cmp dword [rbp + 8], r14d
je 0x140004e1a
mov qword [rbp + 0x28], r14
mov qword [rbp + 0x30], r14
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x20], rax
mov byte [rsp + 0x20], r14b
mov r9, rsi
lea r8, [rbp + 0x70]
lea rdx, [rbp + 0x20]
mov rcx, r12
call fcn.140003e14
mov edi, eax
jmp 0x140004d4f
xor edi, edi
cmp dword [rbp + 0x300], edi
jne 0x140004e94
mov qword [rbp], rdi
lea rax, [rbp]
mov qword [rsp + 0x20], rax
mov r9d, 0x20006
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
nop dword [rax + rax]
test eax, eax
jne 0x1400053c9
mov eax, edi
mov r14, qword [rbp]
test eax, eax
jne 0x1400053c9
lea rdx, [rbp + 0x70]
mov rcx, r14
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegDeleteValueW]
nop dword [rax + rax]
test eax, 0xfffffffd
jne 0x1400053c9
test r14, r14
je 0x140004e94
mov rcx, r14
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
mov rdx, rsi
mov rcx, r12
call fcn.140004918
xor r14d, r14d
jmp 0x140004c35
mov rcx, rsi
movzx eax, word [rsi]
jmp 0x140004ec7
cmp ax, 0x5c
je 0x140004ece
call qword [sym.imp.api_ms_win_core_string_l2_1_0.dll_CharNextW]
nop dword [rax + rax]
mov rcx, rax
movzx eax, word [rax]
test ax, ax
jne 0x140004eaf
jmp 0x140004ed7
test rcx, rcx
jne 0x1400053ab
cmp dword [rbp + 8], r14d
je 0x14000506a
mov qword [rbp], r14
lea rax, [rbp]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
mov rdx, rsi
mov rdi, qword [rbp + 0x10]
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
nop dword [rax + rax]
test eax, eax
jne 0x140004f38
mov eax, r14d
test r15, r15
je 0x140004f28
mov rcx, r15
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
mov r15, qword [rbp]
mov qword [rbp + 0x40], r15
test eax, eax
je 0x140004ff6
mov qword [rbp], r14
lea rax, [rbp]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
nop dword [rax + rax]
test eax, eax
jne 0x140004f87
mov eax, r14d
test r15, r15
je 0x140004f7b
mov rcx, r15
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
mov r15, qword [rbp]
mov qword [rbp + 0x40], r15
test eax, eax
je 0x140004ff6
mov qword [rbp], r14
lea rax, [rbp + 0x58]
mov qword [rsp + 0x40], rax
lea rax, [rbp]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCreateKeyExW]
nop dword [rax + rax]
test eax, eax
jne 0x1400053ab
mov eax, r14d
test r15, r15
je 0x140004fe6
mov rcx, r15
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
mov r15, qword [rbp]
mov qword [rbp + 0x40], r15
test eax, eax
jne 0x1400053ab
movzx eax, word [rsi]
sub ax, 0x4c
mov ecx, 0xffdf
test cx, ax
jne 0x14000502c
lea rdx, str.LocalServer32
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpiW]
nop dword [rax + rax]
movzx r14d, r14b
test eax, eax
mov eax, 1
cmove r14d, eax
mov rdx, rsi
mov rcx, r12
call fcn.1400049e8
mov edi, eax
test eax, eax
js 0x1400053b0
cmp word [rsi], 0x3d
jne 0x14000534e
mov byte [rsp + 0x20], r14b
mov r9, rsi
xor r8d, r8d
lea rdx, [rbp + 0x40]
mov rcx, r12
call fcn.140003e14
xor r14d, r14d
jmp 0x140004e13
mov r14d, dword [rbp + 0x300]
xor edi, edi
test r14d, r14d
jne 0x1400050d5
mov qword [rbp], rdi
lea rax, [rbp]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rdx, rsi
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
nop dword [rax + rax]
test eax, eax
jne 0x1400050c7
mov eax, edi
test r15, r15
je 0x1400050bb
mov rcx, r15
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
mov r15, qword [rbp]
mov qword [rbp + 0x40], r15
test eax, eax
je 0x1400050d5
mov eax, 1
mov r14d, eax
mov dword [rbp + 0x300], eax
test r13, r13
jne 0x140005130
mov ecx, 0x208
call fcn.140004524
test al, al
je 0x1400050fe
mov eax, dword [rsp]
mov eax, 0x210
sub rsp, rax
lea r13, [rsp + 0x60]
mov eax, dword [r13]
jmp 0x140005127
mov ecx, 0x218
call qword [sym.imp.msvcrt.dll_malloc]
nop dword [rax + rax]
test rax, rax
jne 0x140005119
mov r13, rdi
jmp 0x140005127
mov qword [rax], rbx
mov rbx, rax
mov qword [rbp + 0x60], rax
lea r13, [rax + 0x10]
test r13, r13
je 0x1400053ed
mov r8d, 0x104
mov rdx, rsi
mov rcx, r13
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcpynW]
nop dword [rax + rax]
test r14d, r14d
jne 0x1400051ac
mov dword [rbp], edi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
lea rax, [rbp]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryInfoKeyW]
nop dword [rax + rax]
test eax, eax
js 0x14000519c
cmp dword [rbp], edi
ja 0x1400051ac
mov rdx, r15
call fcn.14000459c
test eax, eax
je 0x1400052e4
mov rdx, rsi
mov rcx, r12
call fcn.1400049e8
mov edi, eax
test eax, eax
js 0x1400053b0
mov rdx, rsi
mov rcx, r12
call fcn.140004918
mov edi, eax
xor eax, eax
test edi, edi
js 0x1400053b0
cmp word [rsi], 0x7b
jne 0x140005236
mov dword [rsp + 0x20], r14d
xor r9d, r9d
mov r8, r15
mov rdx, rsi
mov rcx, r12
call fcn.140004bc4
mov edi, eax
xor eax, eax
test edi, edi
js 0x1400053b0
test r14d, r14d
je 0x14000523f
mov eax, dword [rbp + 0x38]
mov dword [rbp + 0x300], eax
mov rdx, rsi
mov rcx, r12
call fcn.1400049e8
mov edi, eax
xor r14d, r14d
test eax, eax
js 0x1400053b0
mov rdx, rsi
mov rcx, r12
call fcn.140004918
jmp 0x140004c35
test r14d, r14d
jne 0x1400053a3
mov dword [rbp], eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
lea rax, [rbp]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryInfoKeyW]
nop dword [rax + rax]
xor ecx, ecx
test eax, eax
js 0x1400052db
cmp dword [rbp], ecx
jbe 0x1400052db
lea rdi, str.CLSID
xor r14d, r14d
mov rdx, qword [rdi]
mov rcx, r13
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpiW]
nop dword [rax + rax]
test eax, eax
je 0x1400052d0
add rdi, 8
lea rax, [0x140010600]
cmp rdi, rax
jl 0x14000529a
mov rdx, r13
lea rcx, [rbp + 0x40]
call fcn.1400046a0
mov r15, qword [rbp + 0x40]
mov rdx, rsi
mov rcx, r12
jmp 0x140004c30
test r14d, r14d
jne 0x1400053a3
xor r14d, r14d
test r15, r15
je 0x14000530a
mov rcx, r15
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
mov r15d, r14d
mov qword [rbp + 0x40], r14
test eax, eax
jne 0x1400053ab
cmp dword [rbp + 0x18], r14d
je 0x14000532d
mov qword [rbp + 0x28], r14
mov qword [rbp + 0x30], r14
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x20], rax
mov rdx, r13
lea rcx, [rbp + 0x20]
call fcn.14000483c
nop
mov rdx, rsi
mov rcx, r12
call fcn.1400049e8
mov edi, eax
test eax, eax
js 0x1400053b0
mov rdx, rsi
mov rcx, r12
call fcn.140004918
jmp 0x140004e13
xor r14d, r14d
mov ecx, dword [rbp + 8]
test ecx, ecx
je 0x140004c3f
cmp word [rsi], 0x7b
jne 0x140004c3f
or rax, 0xffffffffffffffff
inc rax
cmp word [rsi + rax*2], r14w
jne 0x14000536a
mov edx, 1
cmp rax, rdx
jne 0x140004c3f
mov dword [rsp + 0x20], r14d
mov r9d, ecx
mov r8, r15
mov rdx, rsi
mov rcx, r12
call fcn.140004bc4
mov edi, eax
test eax, eax
js 0x1400053b0
jmp 0x1400052d0
xor r14d, r14d
jmp 0x140004c3f
mov edi, 0x80020009
test r15, r15
je 0x1400053c5
mov rcx, r15
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
nop
jmp 0x140005406
jmp 0x1400053b0
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test r14, r14
je 0x1400053b0
mov rcx, r14
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
nop dword [rax + rax]
jmp 0x1400053b0
mov edi, 0x8007000e
jmp 0x1400053b0
mov rcx, rbx
mov rbx, qword [rbx]
call qword [sym.imp.msvcrt.dll_free]
nop dword [rax + rax]
test rbx, rbx
jne 0x1400053f4
mov eax, edi
mov rcx, qword [rbp + 0x280]
xor rcx, rbp
call fcn.14000dbb0
lea rsp, [rbp + 0x298]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret