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

Disassembly:
push rbp
push r14
push r15
sub rsp, 0x80
lea rbp, [rsp + 0x50]
mov qword [rbp + 0x50], rbx
mov qword [rbp + 0x58], rsi
mov qword [rbp + 0x60], rdi
mov rax, qword [0x140049040]
xor rax, rbp
mov qword [rbp + 0x28], rax
mov r14, qword [0x14004c2a0]
xor r15d, r15d
mov rcx, r14
mov dword [rbp + 0x10], r15d
mov rsi, r9
mov dword [rbp + 8], 2
mov dword [rbp + 0x18], 7
mov qword [rbp], r15
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rcx, str.SystemCurrentControlSetServicesEventLog
mov edi, eax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rcx, str.Application
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, ebx
add edi, 3
add eax, edi
movsxd rcx, eax
add rcx, rcx
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x14000a6b6
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.14000e670
sub rsp, rax
lea rdx, str.SystemCurrentControlSetServicesEventLog
lea rbx, [rsp + 0x50]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
lea rdx, [0x140041a58]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, str.Application
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, [0x140041a58]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov rdx, r14
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rax, [rbp + 0x20]
xor r9d, r9d
mov qword [rsp + 0x40], rax
xor r8d, r8d
lea rax, [rbp]
mov rdx, rbx
mov qword [rsp + 0x38], rax
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], r15d
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov ebx, eax
test eax, eax
jne 0x14000a872
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rcx, qword [rbp]
lea r9d, [rbx + 2]
xor r8d, r8d
lea rdx, str.EventMessageFile
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
test eax, eax
jne 0x14000a872
mov rcx, qword [rbp]
lea rax, [rbp + 0x18]
mov dword [rsp + 0x28], 4
lea r9d, [rbx + 4]
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.TypesSupported
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
test eax, eax
jne 0x14000a872
cmp dword [rbp + 8], r15d
je 0x14000a7fa
mov rcx, qword [rbp]
lea rax, [rbp + 8]
mov dword [rsp + 0x28], 4
lea r9d, [rbx + 4]
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, str.CategoryCount
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
test eax, eax
jne 0x14000a872
mov rdi, qword [rbp + 0x88]
test rdi, rdi
je 0x14000a83f
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rcx, qword [rbp]
lea rdx, str.CategoryMessageFile
mov r9d, 2
xor r8d, r8d
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
test eax, eax
jne 0x14000a872
cmp dword [rbp + 0x10], r15d
je 0x14000a872
mov rcx, qword [rbp]
lea rax, [rbp + 0x10]
mov dword [rsp + 0x28], 4
lea rdx, str.DisplayNameID
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
mov rcx, qword [rbp]
test rcx, rcx
je 0x14000a881
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov rcx, qword [rbp + 0x28]
xor rcx, rbp
call fcn.14000dd70
mov rbx, qword [rbp + 0x50]
mov rsi, qword [rbp + 0x58]
mov rdi, qword [rbp + 0x60]
lea rsp, [rbp + 0x30]
pop r15
pop r14
pop rbp
ret