Function at 0x140003b70
Capabilities:
Persist via windows service
Set registry value

Disassembly:
push rbp
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov rax, qword [0x14002a008]
xor rax, rsp
mov qword [rbp + 0x30], rax
lea rax, [rsp + 0x30]
mov r9d, 2
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.SystemCurrentControlSet
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140003eb4
mov rdx, qword [0x14002cc28]
lea r8, [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x140003eb4
mov qword [rsp + 0x160], rdi
lea edx, [rax + 1]
mov qword [rsp + 0x150], rbx
mov ecx, 0x400
mov qword [rsp + 0x158], rsi
call fcn.1400094cc
mov rdi, rax
test rax, rax
je 0x140003c72
mov rdx, qword [0x14002cc38]
mov rbx, 0xffffffffffffffff
mov r8, rbx
mov dword [rax], 0x5c3f3f5c
nop
inc r8
cmp byte [rdx + r8], 0
jne 0x140003c20
lea rcx, [rax + 4]
call fcn.1400072a0
inc rbx
cmp byte [rdi + rbx], 0
jne 0x140003c33
mov rcx, qword [rsp + 0x40]
lea rdx, str.ImagePath
inc ebx
mov r9d, 2
mov dword [rsp + 0x28], ebx
xor r8d, r8d
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x140003ca1
lea rcx, str.Step1_Error_n
call fcn.140001010
xor eax, eax
mov rsi, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x160]
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.1400052e0
add rsp, 0x140
pop rbp
ret
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0x38]
mov dword [rsp + 0x28], 4
lea rdx, str.Type
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rsp + 0x38], 1
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x140003ce3
lea rcx, str.Step2_Error_n
jmp 0x140003c6d
cmp dword [0x14002bc70], 0xa
jae 0x140003d2e
lea rax, [rsp + 0x30]
mov r9d, 2
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.SystemCurrentControlSet_services
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140003d5a
mov rdx, qword [0x14002cc28]
lea r8, [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, [0x1400252f8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
test rax, rax
jne 0x140003d66
lea rcx, str.Step4_Error_n
jmp 0x140003c6d
lea rcx, str.Step3_Error_n
jmp 0x140003c6d
lea rdx, str.RtlInitUnicodeString
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.NtLoadDriver
mov rcx, rbx
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.RtlAdjustPrivilege
mov rcx, rbx
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r8d, r8d
lea r9, [rsp + 0x48]
lea edx, [r8 + 1]
lea ecx, [rdx + 9]
call rax
test eax, eax
jns 0x140003dbd
lea rcx, str.Step5_Error_n
jmp 0x140003c6d
movaps xmm0, xmmword [str.RegistryMachineSystemCurrentControlSet_]
lea rcx, [rsp + 0x60]
movaps xmm1, xmmword [0x140026940]
mov rdx, qword [0x14002cc28]
movaps xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [0x140026950]
movaps xmmword [rbp - 0x80], xmm0
movaps xmm0, xmmword [0x140026970]
movaps xmmword [rsp + 0x70], xmm1
movaps xmm1, xmmword [0x140026960]
movaps xmmword [rbp - 0x60], xmm0
movsd xmm0, qword [0x140026980]
movaps xmmword [rbp - 0x70], xmm1
xorps xmm1, xmm1
movsd qword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x48], xmm1
movups xmmword [rbp - 0x38], xmm1
movups xmmword [rbp - 0x28], xmm1
movups xmmword [rbp - 0x18], xmm1
movups xmmword [rbp - 8], xmm1
movups xmmword [rbp + 8], xmm1
movups xmmword [rbp + 0x18], xmm1
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
call rdi
lea rcx, [rsp + 0x50]
call rsi
test eax, eax
js 0x140003e55
mov eax, 1
jmp 0x140003c74
cmp eax, 0xc0000603
jne 0x140003e68
lea rcx, str.The_drivers_certificate_has_been_revoked__please_wait_for_the_project_to_be_updated.._n
jmp 0x140003c6d
cmp eax, 0xc0000022
jne 0x140003e7b
lea rcx, str._ACCESS_DENIED__Driver_loading_is_blocked__please_try_to_modify_the_driver_Hash_to_bypass_it._n
jmp 0x140003c6d
cmp eax, 0xc0000034
jne 0x140003e8e
lea rcx, str._ERROR__STATUS_OBJECT_NAME_NOT_FOUND._n
jmp 0x140003c6d
cmp eax, 0xc0000428
jne 0x140003ea1
lea rcx, str._ERROR__STATUS_INVALID_IMAGE_HASH._n
jmp 0x140003c6d
mov edx, eax
lea rcx, str.Error_Code:__lx._n
call fcn.140001010
jmp 0x140003c72
lea rcx, str.Reg_Add_Error__The_program_needs_to_be_run_with_administrator_privileges__n
call fcn.140001010
xor eax, eax
jmp 0x140003c8c