Function at 0x14000b3a0
Capabilities:
Delete registry key

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], 0xfffffffffffffffe
mov rdi, rcx
lea rcx, [0x1401cb8e8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
je 0x14000b482
mov r12, qword [rdi + 0x10]
movabs rcx, 0x8000000000000035
add rcx, r12
cmp rcx, 0x33
jbe 0x14000b824
mov qword [rbp - 0x48], rax
mov r14, qword [rdi]
mov rdx, qword [rdi + 0x18]
xorps xmm0, xmm0
movaps xmmword [rbp - 0x40], xmm0
lea r13, [r12 + 0x34]
lea rbx, [rbp - 0x40]
mov esi, 7
mov r15, rbx
cmp r13, 8
jb 0x14000b49d
mov rax, r13
or rax, 7
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x14000b82e
cmp rax, 0xb
mov esi, 0xa
cmovae rsi, rax
lea rcx, [rsi + rsi]
cmp rsi, 0x7ff
mov qword [rbp + 8], rdx
jb 0x14000b489
movabs rax, 0x7fffffffffffffec
cmp rsi, rax
jae 0x14000b82e
add rcx, 0x29
call fcn.1401655a0
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x14000b495
xor esi, esi
jmp 0x14000b80e
add rcx, 2
call fcn.1401655a0
mov r15, rax
mov qword [rbp - 0x40], r15
mov rdx, qword [rbp + 8]
cmp rdx, 8
cmovb r14, rdi
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x28], rsi
movups xmm0, xmmword [0x1401cc3c6]
movups xmmword [r15 + 0x50], xmm0
movups xmm0, xmmword [0x1401cc3b6]
movups xmmword [r15 + 0x40], xmm0
movups xmm0, xmmword [0x1401cc3a6]
movups xmmword [r15 + 0x30], xmm0
movups xmm0, xmmword [0x1401cc396]
movups xmmword [r15 + 0x20], xmm0
movups xmm0, xmmword [0x1401cc386]
movups xmmword [r15 + 0x10], xmm0
movups xmm0, xmmword [0x1401cc376]
movups xmmword [r15], xmm0
movabs rax, 0x5c007300650063
mov qword [r15 + 0x60], rax
lea rcx, [r15 + 0x68]
lea r8, [r12 + r12]
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov word [r15 + r12*2 + 0x68], 0
cmp qword [rbp - 0x28], 8
jb 0x14000b525
mov rbx, qword [rbp - 0x40]
lea rcx, [rbp - 0x60]
mov rdx, rbx
call sub.ntdll.dll_RtlInitUnicodeString
mov r15, qword [rdi + 0x10]
movabs rax, 0x8000000000000023
add rax, r15
cmp rax, 0x21
jbe 0x14000b829
mov rdx, qword [rdi]
mov r13, qword [rdi + 0x18]
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
lea rsi, [r15 + 0x22]
lea rbx, [rbp - 0x20]
mov r12d, 7
mov r14, rbx
cmp rsi, 8
jb 0x14000b5eb
mov rax, rsi
or rax, 7
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x14000b833
cmp rax, 0xb
mov r12d, 0xa
cmovae r12, rax
lea rcx, [r12 + r12]
cmp r12, 0x7ff
mov qword [rbp + 8], rdx
jb 0x14000b5d7
movabs rax, 0x7fffffffffffffec
cmp r12, rax
jae 0x14000b833
add rcx, 0x29
call fcn.1401655a0
mov r14, rax
add r14, 0x27
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x14000b5e3
add rcx, 2
call fcn.1401655a0
mov r14, rax
mov rdx, qword [rbp + 8]
mov qword [rbp - 0x20], r14
cmp r13, 8
cmovae rdi, rdx
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], r12
movups xmm0, xmmword [0x1401cc24c]
movups xmmword [r14 + 0x30], xmm0
movups xmm0, xmmword [0x1401cc23c]
movups xmmword [r14 + 0x20], xmm0
movups xmm0, xmmword [0x1401cc22c]
movups xmmword [r14 + 0x10], xmm0
movups xmm0, xmmword [0x1401cc21c]
movups xmmword [r14], xmm0
mov dword [r14 + 0x40], 0x5c0073
lea rcx, [r14 + 0x44]
lea r8, [r15 + r15]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov word [r14 + r15*2 + 0x44], 0
cmp qword [rbp - 8], 8
jb 0x14000b655
mov rbx, qword [rbp - 0x20]
lea r8, [rbp - 0x50]
mov rcx, 0xffffffff80000002
mov rdx, rbx
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
je 0x14000b680
mov sil, 1
cmp eax, 2
je 0x14000b78a
xor esi, esi
jmp 0x14000b78a
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rdx, [0x1401cc433]
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [rbp - 0x60]
call rax
mov esi, eax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, str.___NtUnloadDriver_Status_0x
call fcn.140060bb0
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
mov edx, 0xfffff1ff
and edx, dword [rax + rcx + 0x18]
or edx, 0x800
mov dword [rax + rcx + 0x18], edx
mov rcx, rax
mov edx, esi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___long_int____ptr64]
mov rdi, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rdi
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_wchar_t___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::widen_char_const___ptr64]
mov rcx, rdi
mov edx, eax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::put_wchar_t____ptr64]
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::flush_void____ptr64]
test esi, esi
je 0x14000b751
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, str.____Driver_Unload_Failed__
call fcn.140060bb0
mov rsi, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rsi
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_wchar_t___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::widen_char_const___ptr64]
mov rcx, rsi
mov edx, eax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::put_wchar_t____ptr64]
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::flush_void____ptr64]
cmp qword [rbp - 8], 8
jb 0x14000b75e
mov rdx, qword [rbp - 0x20]
jmp 0x14000b762
cmp qword [rbp - 8], 8
jb 0x14000b773
mov rdx, qword [rbp - 0x20]
jmp 0x14000b777
lea rdx, [rbp - 0x20]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteTreeW]
xor esi, esi
jmp 0x14000b78a
lea rdx, [rbp - 0x20]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegDeleteTreeW]
test eax, eax
sete sil
mov rax, qword [rbp - 8]
cmp rax, 8
jb 0x14000b7cc
mov rcx, qword [rbp - 0x20]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x14000b7c7
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14000b838
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1401658ec
mov rax, qword [rbp - 0x28]
cmp rax, 8
jb 0x14000b80e
mov rcx, qword [rbp - 0x40]
lea rdx, [rax*2 + 2]
cmp rdx, 0x1000
jb 0x14000b809
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14000b838
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1401658ec
mov eax, esi
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.140012110
call fcn.140012110
call fcn.140011f50
call fcn.140011f50
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3