Function at 0x14004bac0
Capabilities:
Create service
Delete service
Persist via windows service
Query service status
Stop service

Disassembly:
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x1160]
mov eax, 0x1260
call fcn.14006ee90
sub rsp, rax
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rsp + 0x1298], rbx
mov qword [rsp + 0x12a8], rsi
mov rax, qword [0x1400bb008]
xor rax, rsp
mov qword [rbp + 0x1150], rax
mov rbx, r8
mov r14, rdx
mov r15, rcx
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp + 0x580]
call fcn.14006d020
mov r8, rbx
mov edx, 0x200
lea rcx, [rbp + 0x580]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
movabs rax, 0xa00090020
mov qword [rbp + 0x360], rax
xor r12d, r12d
mov qword [rbp - 0x80], r12
lea r8, [rbp - 0x80]
lea rdx, [0x140084ac8]
lea rcx, [rbp + 0x580]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcstok_s]
mov rsi, rax
mov qword [0x1400bf570], r12
mov qword [0x1400bf560], r12
mov qword [0x1400bf578], 1
lea rax, [0x14009a970]
mov qword [0x1400bf588], rax
lea rbx, [0x1400bf560]
mov qword [0x1400bb278], rbx
lea rdi, [0x1400bf588]
nop dword [rax]
mov r8, qword [rdi]
lea rdi, [rdi + 8]
mov qword [rbp - 0x70], r8
mov qword [rbp - 0x68], r12
mov qword [rbx + 0x20], r8
lea rax, [rbx + 8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov rdx, rbx
lea rcx, [0x1400659d0]
call qword [sym.imp.api_ms_win_eventing_classicprovider_l1_1_0.dll_RegisterTraceGuidsW]
mov rbx, qword [rbx]
test rbx, rbx
jne 0x14004bbb0
lea rcx, [rbp - 0x38]
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetLocalTime]
movzx eax, word [rbp - 0x2a]
movzx ecx, word [rbp - 0x2c]
movzx edx, word [rbp - 0x2e]
movzx r8d, word [rbp - 0x30]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], r8d
lea r9, str.WPPTrace::InitWPP
lea r8, str._s__02d:_02d:_02d:_03d_n
mov edx, 0x3e6
lea rcx, [rbp + 0x980]
call fcn.140027300
lea rcx, [rbp + 0x980]
call fcn.140065a60
test rsi, rsi
je 0x14004c50f
movzx eax, word [rsi]
sub ax, 0x2d
mov ecx, 0xfffd
test cx, ax
jne 0x14004c50f
lea rdx, [rsi + 2]
lea rcx, str.install
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14004bd97
mov r8d, 0x104
lea rdx, [rbp + 0x370]
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleFileNameW]
test eax, eax
jne 0x14004bcb6
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
lea rcx, str.GetModuleFileName_failed_w_err_0x_08lx_n
jmp 0x14004c5b8
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 3]
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_OpenSCManagerW]
mov rbx, rax
test rax, rax
jne 0x14004bcde
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
lea rcx, str.OpenSCManager_failed_w_err_0x_08lx_n
jmp 0x14004c5b8
mov qword [rsp + 0x60], r12
lea rax, str.NT_AUTHORITYLocalService
mov qword [rsp + 0x58], rax
lea rax, [0x140081d58]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r12
lea rax, [rbp + 0x370]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], SafeArrayUnaccessData
mov r9d, 4
lea r8, str.Realtek_Audio_Universal_Service
lea rdx, str.RtkAudioUniversalService
mov rcx, rbx
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CreateServiceW]
mov rdi, rax
test rax, rax
jne 0x14004bd64
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edx, eax
lea rcx, str.CreateService_failed_w_err_0x_08lx_n
call fcn.14004c820
jmp 0x14004bd77
lea rdx, str.RtkAudioUniversalService
lea rcx, str._s_is_installed._n
call fcn.14004c820
mov rcx, rbx
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
test rdi, rdi
je 0x14004c5bf
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
jmp 0x14004c5bf
lea rdx, [rsi + 2]
lea rcx, str.remove
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14004bf08
xor eax, eax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x40], eax
xor edx, edx
xor ecx, ecx
lea r8d, [rax + 1]
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_OpenSCManagerW]
mov rdi, rax
test rax, rax
je 0x14004bccc
mov r8d, 0x10024
lea rdx, str.RtkAudioUniversalService
mov rcx, rax
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_OpenServiceW]
mov rbx, rax
test rax, rax
jne 0x14004be12
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edx, eax
lea rcx, str.OpenService_failed_w_err_0x_08lx_n
call fcn.14004c820
jmp 0x14004bee8
lea r8, [rbp - 0x58]
mov edx, 1
mov rcx, rbx
call qword [sym.imp.api_ms_win_service_winsvc_l1_1_0.dll_ControlService]
test eax, eax
je 0x14004beb2
lea rdx, str.RtkAudioUniversalService
lea rcx, str.Stopping__s.
call fcn.14004c820
mov ecx, 0x3e8
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
lea rdx, [rbp - 0x58]
mov rcx, rbx
call qword [sym.imp.api_ms_win_service_winsvc_l1_1_0.dll_QueryServiceStatus]
test eax, eax
je 0x14004be90
nop dword [rax + rax]
mov eax, dword [rbp - 0x54]
cmp eax, 3
jne 0x14004be93
lea rcx, [0x140091990]
call fcn.14004c820
mov ecx, 0x3e8
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
lea rdx, [rbp - 0x58]
mov rcx, rbx
call qword [sym.imp.api_ms_win_service_winsvc_l1_1_0.dll_QueryServiceStatus]
test eax, eax
jne 0x14004be60
mov eax, dword [rbp - 0x54]
lea rdx, str.RtkAudioUniversalService
cmp eax, 1
lea rcx, str._n_s_is_stopped._n
je 0x14004bead
lea rcx, str._n_s_failed_to_stop._n
call fcn.14004c820
mov rcx, rbx
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_DeleteService]
test eax, eax
jne 0x14004bed5
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edx, eax
lea rcx, str.DeleteService_failed_w_err_0x_08lx_n
call fcn.14004c820
jmp 0x14004bee8
lea rdx, str.RtkAudioUniversalService
lea rcx, str._s_is_removed._n
call fcn.14004c820
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
test rbx, rbx
je 0x14004c5bf
mov rcx, rbx
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
jmp 0x14004c5bf
mov rdx, rsi
lea rcx, str._background
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14004bfc9
lea rcx, str.MUTEX_NORMAL_USER_BC048E02_F0A9_4d8b_90F9_AB56BE6DA9E4
call fcn.140063f80
test eax, eax
jne 0x14004bf4c
lea r8d, [rax + 0x61]
lea rdx, str.wWinMain
lea rcx, str._s__d_RETURN_FALSE_ON_FALSE
call fcn.140026f80
jmp 0x14004c5bf
lea rcx, [0x1400bf590]
call fcn.140003660
mov edx, 2
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoInitializeEx]
xor edx, edx
mov r8d, LPSAFEARRAY_UserUnmarshal
lea rcx, [rbp + 0x100]
call fcn.14006d020
lea rcx, [rbp + 0x100]
call fcn.140011060
lea rcx, [rbp + 0x100]
call fcn.1400651c0
call fcn.14001e830
mov rcx, rax
mov r8, r14
mov rdx, r15
call fcn.1400646d0
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoUninitialize]
lea rax, vtable.CBackgroundProc.0
mov qword [rbp + 0x100], rax
lea rcx, [rbp + 0x120]
call fcn.140011220
jmp 0x14004c5bf
mov rdx, rsi
lea rcx, str._admin
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14004c06e
lea rcx, str.MUTEX_ADMIN_USER_F0900667_9D73_45a5_B87E_F78114AB93A0
call fcn.140063f80
test eax, eax
jne 0x14004bffa
lea r8d, [rax + 0x73]
jmp 0x14004bf34
mov dword [0x1400bf5a4], 1
lea rcx, [0x1400bf590]
call fcn.140003660
xor edx, edx
mov r8d, LPSAFEARRAY_UserUnmarshal
lea rcx, [rbp + 0x220]
call fcn.14006d020
lea rcx, [rbp + 0x220]
call fcn.140011060
lea rcx, [rbp + 0x220]
call fcn.1400651c0
call fcn.14001e830
mov rcx, rax
mov r8, r14
mov rdx, r15
call fcn.1400646d0
lea rax, vtable.CBackgroundProc.0
mov qword [rbp + 0x220], rax
lea rcx, [rbp + 0x240]
call fcn.140011220
jmp 0x14004c5bf
mov rdx, rsi
lea rcx, str._rekr0
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14004c10f
lea r8, [rbp - 0x80]
lea rdx, [0x140084ac8]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcstok_s]
test rax, rax
je 0x14004c0cc
xor edx, edx
lea r8d, [rdx + 0xa]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
lea r8, [0x1400926f0]
lea rdx, str.SOFTWARERealtekSpkProtection
mov rcx, 0xffffffff80000002
cmp eax, 0x64
ja 0x14004c0e1
mov r9d, eax
jmp 0x14004c0e5
lea r8, [0x1400926f0]
lea rdx, str.SOFTWARERealtekSpkProtection
mov rcx, 0xffffffff80000002
or r9d, 0xffffffff
call fcn.1400419e0
mov r9d, 1
lea r8, str.ReKR0
lea rdx, str.SOFTWARERealtekAudioGUI_INFORMATION
mov rcx, 0xffffffff80000002
call fcn.1400419e0
jmp 0x14004c5bf
lea rdx, [rsi + 2]
lea rcx, str.RETASKPOPUP
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
lea rcx, [0x1400bf590]
test eax, eax
jne 0x14004c2bb
call fcn.140003660
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x360]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcstok_s]
test rax, rax
je 0x14004c5bf
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
mov edi, eax
xor edx, edx
mov r8d, 0x88
lea rcx, [rbp + 0x70]
call fcn.14006d020
lea rcx, [rbp + 0x70]
call fcn.140045cd0
xor eax, eax
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], rax
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], rax
mov dword [rbp + 0xa0], eax
mov qword [rbp + 0xc8], r12
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xd0], xmm0
mov dword [rbp + 0xe0], r12d
mov dword [rbp + 0xe8], r12d
mov qword [rbp + 0xec], 1
cmp qword [0x1400bfb20], rax
jne 0x14004c1fd
mov ecx, 0x16a8
call fcn.140066208
mov rbx, rax
xor edx, edx
mov r8d, 0x16a8
mov rcx, rax
call fcn.14006d020
mov rcx, rbx
call fcn.140027f70
mov qword [0x1400bfb20], rax
call fcn.140003520
mov rcx, rax
test rax, rax
je 0x14004c5ec
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x70], rax
lea r9, str.General
lea r8, str.SoftwareRealtekAudioRtkAudUService
lea rdx, [0x140081910]
lea rcx, [rsp + 0x70]
call fcn.140004c30
mov r9d, edi
lea r8, str.JDPopup
mov rbx, qword [rsp + 0x70]
mov rdx, rbx
mov rcx, qword [0x1400bf598]
call fcn.1400419e0
lea rdx, [rbx - 0x18]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004c277
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, dword [0x1400bea58]
cmp eax, 1
jne 0x14004c292
call fcn.140046870
call fcn.1400482a0
mov eax, dword [0x1400bea58]
dec eax
mov dword [0x1400bea58], eax
mov rdx, qword [rbp + 0x70]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
sub ebx, 1
jg 0x14004c2b6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x14004c5bf
call fcn.140003660
call fcn.140003520
mov rcx, rax
test rax, rax
je 0x14004c5f7
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rbp - 0x60], rax
lea r8, [rsi + 2]
lea rdx, str.command_s_r_n
lea rcx, [rbp - 0x60]
call fcn.140004c30
xor edx, edx
mov r8d, 0x88
lea rcx, [rbp - 0x20]
call fcn.14006d020
lea rcx, [rbp - 0x20]
call fcn.140045cd0
xor eax, eax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov dword [rbp + 0x10], eax
mov qword [rbp + 0x38], r12
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x40], xmm0
mov dword [rbp + 0x50], r12d
mov dword [rbp + 0x58], r12d
mov qword [rbp + 0x5c], 1
mov rax, qword [rbp - 0x80]
mov qword [rbp - 0x78], rax
lea rdx, [rsi + 2]
lea rcx, str.iPhone
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14004c380
mov dword [rbp + 0x54], 1
mov dword [rbp + 8], 1
mov dword [rbp + 0xc], 2
mov dword [rbp + 0x10], 0xa
jmp 0x14004c49d
lea rdx, [rsi + 2]
lea rcx, str.RETASK
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14004c45b
cmp qword [rbp - 0x78], r12
je 0x14004c49d
mov dword [rbp + 0x48], 1
mov dword [rbp + 0x44], 1
mov dword [rbp + 0x4c], 1
mov dword [rbp + 0x14], 1
lea r8, [rbp - 0x78]
lea rdx, [0x140084ac8]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcstok_s]
test rax, rax
je 0x14004c49d
xor edx, edx
lea r8d, [rdx + 0xa]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
mov dword [rbp + 0x18], eax
lea r8, [rbp - 0x78]
lea rdx, [0x140084ac8]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcstok_s]
mov rbx, rax
test rax, rax
je 0x14004c49d
lea rdx, str.HEADSET
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14004c429
mov dword [rbp + 0x24], 1
jmp 0x14004c49d
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
mov dword [rbp + 0x1c], eax
lea r8, [rbp - 0x78]
lea rdx, [0x140084ac8]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcstok_s]
test rax, rax
je 0x14004c49d
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
mov dword [rbp + 0x20], eax
jmp 0x14004c49d
lea rdx, [rsi + 2]
lea rcx, str.EnablePlaybackCaptureMultiStream
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14004c480
mov dword [rbp + 0x30], 1
mov dword [rbp + 0x34], 1
jmp 0x14004c49d
lea rdx, [rsi + 2]
lea rcx, str.DisablePlaybackCaptureMultiStream
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14004c49d
mov qword [rbp + 0x30], 1
lea rcx, [rbp - 0x20]
call fcn.140013370
nop
mov eax, dword [0x1400bea58]
cmp eax, 1
jne 0x14004c4c2
call fcn.140046870
call fcn.1400482a0
mov eax, dword [0x1400bea58]
dec eax
mov dword [0x1400bea58], eax
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14004c4eb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
sub ebx, 1
jg 0x14004c5bf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14004c5bf
lea rcx, str.Parameters:_n
call fcn.14004c820
lea rcx, str.__install__to_install_the_service._n
call fcn.14004c820
lea rcx, str.__remove___to_remove_the_service._n
call fcn.14004c820
lea rcx, str.__background__to_run_in_console_mode._n
call fcn.14004c820
call fcn.14004c610
test rax, rax
lea rbx, [rax + 0x130]
jne 0x14004c553
mov rbx, r12
mov r8d, 0x36
lea rdx, str.CServiceBase::Run
lea rcx, [0x140081b98]
call fcn.140026f80
mov qword [0x1400beb18], rbx
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x340], rax
lea rax, [0x140059210]
mov qword [rbp + 0x348], rax
mov qword [rbp + 0x350], r12
mov qword [rbp + 0x358], r12
lea rcx, [rbp + 0x340]
call qword [sym.imp.api_ms_win_service_core_l1_1_0.dll_StartServiceCtrlDispatcherW]
test eax, eax
jne 0x14004c5bf
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
lea rcx, str.Service_failed_to_run_w_err_0x_08lx_n
mov edx, eax
call fcn.14004c820
xor eax, eax
mov rcx, qword [rbp + 0x1150]
xor rcx, rsp
call fcn.140065bd0
lea r11, [rsp + 0x1260]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov ecx, 0x80004005
call fcn.140003270
int3
mov ecx, 0x80004005
call fcn.140003270
int3