Function at 0x14000aff0
Capabilities:
Access the windows event log
Delete registry key
Delete service
Start service

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x80
mov rax, qword [0x1400471b0]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov rsi, rcx
test rdx, rdx
je 0x14000b2d6
mov eax, dword [rdx]
xor ebx, ebx
mov qword [rsp + 0xa8], r14
cmp eax, 0x69002f
jne 0x14000b04d
lea rcx, str._GdXServiceExt__service_is_being_installed_n
call fcn.14000b900
mov rcx, rsi
call fcn.140002510
lea rcx, str._GdXServiceExt__service_has_been_installed_n
jmp 0x14000b1e9
cmp eax, 0x72002f
jne 0x14000b13b
lea rcx, str._GdXServiceExt__service_is_being_removed_n
call fcn.14000b900
mov rcx, rsi
call fcn.140002430
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x50], rbx
mov rcx, rsi
call fcn.1400020e0
test al, al
je 0x14000b12f
mov rdi, qword [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_DeleteService]
test eax, eax
je 0x14000b09c
mov eax, ebx
jmp 0x14000b0a2
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
lea rdx, [rsi + 0x30]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x400
mov r9d, 0x400
mov qword [rsp + 0x20], rdx
mov r8d, eax
xor edx, edx
mov ecx, 0x1000
call qword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_FormatMessageW]
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x50], rbx
mov r9d, 0xf003f
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, str.SYSTEMCurrentControlSetServicesEventLogSystem
mov rcx, 0xffffffff80000002
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000b12f
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax]
call qword [0x14002f5d8]
mov rcx, qword [rsp + 0x50]
mov rdx, rax
call qword [sym.imp.api_ms_win_core_registry_l2_1_0.dll_RegDeleteKeyW]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
lea rcx, str._GdXServiceExt__service_has_been_removed_n
jmp 0x14000b1e9
cmp eax, 0x73002f
jne 0x14000b1c7
lea rcx, str._GdXServiceExt__service_is_starting_n
call fcn.14000b900
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x50], rbx
mov rcx, rsi
call fcn.1400020e0
test al, al
je 0x14000b1be
mov rdi, qword [rsp + 0x50]
xor r8d, r8d
mov rcx, rdi
xor edx, edx
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_StartServiceW]
test eax, eax
je 0x14000b183
mov eax, ebx
jmp 0x14000b189
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
lea rdx, [rsi + 0x30]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x400
mov r9d, 0x400
mov qword [rsp + 0x20], rdx
mov r8d, eax
xor edx, edx
mov ecx, 0x1000
call qword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_FormatMessageW]
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
lea rcx, str._GdXServiceExt__service_has_started_n
jmp 0x14000b1e9
cmp eax, 0x71002f
jne 0x14000b1ee
lea rcx, str._GdXServiceExt__service_is_stopping_n
call fcn.14000b900
mov rcx, rsi
call fcn.140002430
lea rcx, str._GdXServiceExt__service_stopped_n
call fcn.14000b900
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax]
call qword [0x14002f5d8]
mov dword [rsp + 0x50], ebx
mov rdi, 0xffffffffffffffff
mov r14, rax
test rax, rax
je 0x14000b26f
cmp word [rax], bx
je 0x14000b26f
mov ecx, 0xfffffff4
call qword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_GetStdHandle]
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], rbx
mov rcx, rax
lea r8d, [rdi + 3]
lea rdx, [0x14003e30c]
call qword [sym.imp.api_ms_win_core_console_l1_1_0.dll_WriteConsoleW]
mov rbp, rdi
inc rbp
cmp word [r14 + rbp*2], bx
jne 0x14000b241
mov ecx, 0xfffffff4
call qword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_GetStdHandle]
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], rbx
mov rcx, rax
mov r8d, ebp
mov rdx, r14
call qword [sym.imp.api_ms_win_core_console_l1_1_0.dll_WriteConsoleW]
mov ecx, 0xfffffff4
call qword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_GetStdHandle]
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], rbx
mov rcx, rax
lea rdx, [0x14003e30c]
mov r8d, 2
call qword [sym.imp.api_ms_win_core_console_l1_1_0.dll_WriteConsoleW]
mov r14, qword [rsp + 0xa8]
inc rdi
cmp word [rsi + rdi*2 + 0x30], bx
jne 0x14000b2a2
mov ecx, 0xfffffff4
call qword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_GetStdHandle]
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], rbx
mov rcx, rax
lea rdx, [rsi + 0x30]
mov r8d, edi
call qword [sym.imp.api_ms_win_core_console_l1_1_0.dll_WriteConsoleW]
jmp 0x14000b3a9
mov rax, qword [rcx]
mov rax, qword [rax]
call qword [0x14002f5d8]
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.api_ms_win_eventlog_legacy_l1_1_0.dll_RegisterEventSourceW]
mov qword [rsi + 0x18], rax
mov rcx, rsi
mov rax, qword [rsi]
mov rax, qword [rax]
call qword [0x14002f5d8]
mov qword [rsp + 0x58], rax
xor ebx, ebx
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x68], rbx
lea rax, [0x140001ed0]
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x60], rax
call qword [sym.imp.api_ms_win_service_core_l1_1_0.dll_StartServiceCtrlDispatcherW]
test eax, eax
je 0x14000b330
mov edi, ebx
jmp 0x14000b338
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
mov qword [rsp + 0x30], rbx
lea rbp, [rsi + 0x30]
mov dword [rsp + 0x28], 0x400
mov r9d, 0x400
mov r8d, edi
mov qword [rsp + 0x20], rbp
xor edx, edx
mov ecx, 0x1000
call qword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_FormatMessageW]
test edi, edi
je 0x14000b3a9
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x14000b3a9
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov r9d, 1
mov dword [rsp + 0x30], ebx
mov edx, r9d
mov word [rsp + 0x28], r9w
xor r8d, r8d
xor r9d, r9d
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x20], rbx
call qword [sym.imp.api_ms_win_eventlog_legacy_l1_1_0.dll_ReportEventW]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140012f70
mov rbx, qword [rsp + 0xb0]
add rsp, 0x80
pop rdi
pop rsi
pop rbp
ret