Function at 0x140007c30
Capabilities:
Accept command line arguments
Modify service

Disassembly:
push rbp
push rbx
push r14
push r15
lea rbp, [rsp - 0x98]
sub rsp, 0x198
mov rax, qword [0x14008d028]
xor rax, rsp
mov qword [rbp + 0x88], rax
xor r14d, r14d
mov qword [rbp - 0x78], r8
mov r15, r8
mov qword [rbp - 0x40], 0x200
lea rdx, str.c:perforce2.3_ga_apidaxapidaxapi.cpp
mov qword [rbp - 0x28], r14
lea rcx, [rbp - 0x38]
mov qword [rbp - 0x20], 7
lea r8d, [r14 + 0x28]
mov word [rbp - 0x38], r14w
call fcn.140007730
movdqa xmm0, xmmword [0x140062790]
lea r8d, [r14 + 7]
lea rdx, str.WinMain
movdqa xmmword [rbp], xmm0
lea rcx, [rbp - 0x10]
mov dword [rbp - 0x18], 0x31
mov word [rbp - 0x10], r14w
call fcn.140007730
cmp qword [rbp + 8], 8
lea r9, [rbp - 0x10]
mov r8d, dword [rbp - 0x18]
lea rdx, [rbp - 0x38]
cmovae r9, qword [rbp - 0x10]
lea rcx, [rbp - 0x70]
cmp qword [rbp - 0x20], 8
mov rbx, qword [rbp - 0x40]
cmovae rdx, qword [rbp - 0x38]
call fcn.140006a30
cmp qword [rbp - 0x58], 8
lea rax, str.Enter
lea r9, [rbp - 0x70]
mov qword [rsp + 0x20], rax
cmovae r9, qword [rbp - 0x70]
lea rcx, [0x14008f558]
mov r8, rbx
mov dl, 5
call fcn.140003c70
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x140007d53
mov rcx, qword [rbp - 0x70]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007d4e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400087c5
call fcn.140024944
mov qword [rsp + 0x1c0], rsi
mov rsi, 0xffffffffffffffff
mov qword [rsp + 0x1c8], rdi
mov r8, rsi
mov qword [rsp + 0x190], r12
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rsp + 0x68], r14b
inc r8
cmp byte [r15 + r8], r14b
jne 0x140007d87
mov rdx, r15
lea rcx, [rsp + 0x68]
call fcn.1400075d0
lea rdx, [0x1400622ea]
mov ecx, 2
call fcn.140049b5c
cmp qword [rbp - 0x80], 0x10
lea rdi, [rsp + 0x68]
mov rbx, qword [rsp + 0x78]
mov eax, 2
cmovae rdi, qword [rsp + 0x68]
inc rbx
mul rbx
cmovo rax, rsi
mov rcx, rax
call fcn.14002494c
mov r9, rdi
mov qword [rsp + 0x20], rbx
mov r8, rbx
lea rcx, [rbp - 0x48]
mov rdx, rax
mov r12, rax
call fcn.140045e44
movdqa xmm0, xmmword [0x140062790]
mov r8, rsi
movdqu xmmword [rsp + 0x58], xmm0
mov word [rsp + 0x48], r14w
nop dword [rax + rax]
inc r8
cmp word [r12 + r8*2], r14w
jne 0x140007e10
mov rdx, r12
lea rcx, [rsp + 0x48]
call fcn.140007730
mov rcx, r12
call fcn.140024944
lea r9, str.WinMain
mov r8d, 0x33
lea rdx, str.c:perforce2.3_ga_apidaxapidaxapi.cpp
lea rcx, [rbp - 0x70]
call fcn.140006a30
cmp qword [rbp - 0x58], 8
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x70]
cmovae r9, qword [rbp - 0x70]
lea rax, str.CmdLine:___s_
mov r8d, 0x200
mov qword [rsp + 0x20], rax
mov dl, 4
lea rcx, [0x14008f558]
call fcn.140004f20
mov rdx, qword [rbp - 0x58]
mov r12, qword [rsp + 0x190]
cmp rdx, 8
jb 0x140007ecc
mov rcx, qword [rbp - 0x70]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007ec7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400087cb
call fcn.140024944
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x140007f0e
mov rcx, qword [rsp + 0x48]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007f09
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400087d1
call fcn.140024944
mov rdx, qword [rbp - 0x80]
movdqa xmm0, xmmword [0x140062790]
mov word [rsp + 0x48], r14w
movdqu xmmword [rsp + 0x58], xmm0
cmp rdx, 0x10
jb 0x140007f5e
mov rcx, qword [rsp + 0x68]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007f59
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400087d1
call fcn.140024944
mov dword [rbp - 0x50], r14d
mov r8, rsi
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rsp + 0x68], r14b
inc r8
cmp byte [r15 + r8], r14b
jne 0x140007f77
mov rdx, r15
lea rcx, [rsp + 0x68]
call fcn.1400075d0
lea rdx, [0x1400622ea]
mov ecx, 2
call fcn.140049b5c
cmp qword [rbp - 0x80], 0x10
lea rdi, [rsp + 0x68]
mov rbx, qword [rsp + 0x78]
mov eax, 2
cmovae rdi, qword [rsp + 0x68]
inc rbx
mul rbx
cmovo rax, rsi
mov rcx, rax
call fcn.14002494c
mov r9, rdi
mov qword [rsp + 0x20], rbx
mov r8, rbx
lea rcx, [rbp + 0x80]
mov rdx, rax
mov r15, rax
call fcn.140045e44
movdqa xmm0, xmmword [0x140062790]
movdqu xmmword [rsp + 0x58], xmm0
mov word [rsp + 0x48], r14w
nop dword [rax + rax]
inc rsi
cmp word [r15 + rsi*2], r14w
jne 0x140008000
mov r8, rsi
lea rcx, [rsp + 0x48]
mov rdx, r15
call fcn.140007730
mov rcx, r15
call fcn.140024944
cmp qword [rsp + 0x60], 8
lea rcx, [rsp + 0x48]
lea rdx, [rbp - 0x50]
cmovae rcx, qword [rsp + 0x48]
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov rdx, qword [rsp + 0x60]
mov rbx, rax
cmp rdx, 8
jb 0x140008082
mov rcx, qword [rsp + 0x48]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000807d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400087d7
call fcn.140024944
mov rdx, qword [rbp - 0x80]
movdqa xmm0, xmmword [0x140062790]
mov word [rsp + 0x48], r14w
movdqu xmmword [rsp + 0x58], xmm0
cmp rdx, 0x10
jb 0x1400080d2
mov rcx, qword [rsp + 0x68]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400080cd
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400087d7
call fcn.140024944
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rsp + 0x68], r14b
test rbx, rbx
je 0x140008631
cmp dword [rbp - 0x50], r14d
jle 0x140008631
mov rdx, qword [rbx]
mov ecx, 0xfffd
movzx eax, word [rdx]
sub ax, 0x2d
test cx, ax
jne 0x140008631
add rdx, 2
lea rcx, str.install
call fcn.140045e64
test eax, eax
je 0x140008390
mov rdx, qword [rbx]
lea rcx, str.service
add rdx, 2
call fcn.140045e64
test eax, eax
je 0x140008390
mov rdx, qword [rbx]
lea rcx, str.remove
add rdx, 2
call fcn.140045e64
test eax, eax
je 0x14000837f
mov rdx, qword [rbx]
lea rcx, str.unregserver
add rdx, 2
call fcn.140045e64
test eax, eax
je 0x14000837f
mov rdx, qword [rbx]
lea rcx, str.capturestream
add rdx, 2
call fcn.140045e64
test eax, eax
jne 0x1400082e2
lea rcx, str.CaptureStreamMonitor.dll
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_1.dll_LoadLibraryW]
mov rdi, rax
test rax, rax
jne 0x1400082ae
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
xorps xmm0, xmm0
lea rdi, vtable._com_error.0
lea rcx, [rsp + 0x48]
mov dword [rsp + 0x40], eax
movdqu xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x48], rdi
mov dword [rsp + 0x50], eax
call fcn.140006d00
lea r9, str.WinMain
mov qword [rbp - 0x78], rax
mov r8d, 0x6a
lea rdx, str.c:perforce2.3_ga_apidaxapidaxapi.cpp
lea rcx, [rbp - 0x70]
call fcn.140006a30
cmp qword [rbp - 0x58], 8
lea rax, [rbp - 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rbp - 0x70]
cmovae r9, qword [rbp - 0x70]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rcx, [0x14008f558]
lea rax, str.Load_CaptureStreamMonitor.dll_failed__Error:__0x_.8x__s
mov r8d, 0x200
mov dl, 1
mov qword [rsp + 0x20], rax
call fcn.1400042a0
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x14000827b
mov rcx, qword [rbp - 0x70]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008276
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400087dd
call fcn.140024944
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x48], rdi
test rcx, rcx
je 0x140008290
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x1400085f3
call qword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalFree]
mov r14d, dword [rsp + 0x40]
jmp 0x140008786
lea rdx, str.StartMonitor
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
cmp dword [rbp - 0x50], 1
jle 0x1400082ca
mov rcx, qword [rbx + 8]
jmp 0x1400082cd
mov rcx, r14
test rax, rax
je 0x1400082d4
call rax
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
jmp 0x140008778
lea r9, str.WinMain
mov r8d, 0x75
lea rdx, str.c:perforce2.3_ga_apidaxapidaxapi.cpp
lea rcx, [rbp - 0x70]
call fcn.140006a30
cmp qword [rbp - 0x58], 8
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x70]
cmovae r9, qword [rbp - 0x70]
lea rax, str.Invalid_CmdLine:___s_
mov r8d, 0x200
mov qword [rsp + 0x20], rax
mov dl, 4
lea rcx, [0x14008f558]
call fcn.1400048f0
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x140008778
mov rcx, qword [rbp - 0x70]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008375
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400087e3
call fcn.140024944
jmp 0x140008778
lea rcx, str.DolbyDAXAPI
call fcn.140022ab0
jmp 0x140008778
mov qword [rsp + 0x28], r14
lea r9, [0x140062280]
mov r8d, 2
mov qword [rsp + 0x20], r14
lea rdx, str.Dolby_DAX_API_Service
lea rcx, str.DolbyDAXAPI
call fcn.140022940
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 2]
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_OpenSCManagerW]
mov rdi, rax
test rax, rax
jne 0x1400084d6
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
xorps xmm0, xmm0
lea rdi, vtable._com_error.0
lea rcx, [rsp + 0x48]
mov dword [rsp + 0x40], eax
movdqu xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x48], rdi
mov dword [rsp + 0x50], eax
call fcn.140006d00
lea r9, str.WinMain
mov qword [rbp - 0x78], rax
mov r8d, 0x4d
lea rdx, str.c:perforce2.3_ga_apidaxapidaxapi.cpp
lea rcx, [rbp - 0x70]
call fcn.140006a30
cmp qword [rbp - 0x58], 8
lea rax, [rbp - 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rbp - 0x70]
cmovae r9, qword [rbp - 0x70]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rcx, [0x14008f558]
lea rax, str.OpenSCManager_failed__Error:__0x_.8x__s
mov r8d, 0x200
mov dl, 1
mov qword [rsp + 0x20], rax
call fcn.1400042a0
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x1400084a3
mov rcx, qword [rbp - 0x70]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000849e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400087e9
call fcn.140024944
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x48], rdi
test rcx, rcx
je 0x1400084b8
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x1400085f3
call qword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalFree]
mov r14d, dword [rsp + 0x40]
jmp 0x140008786
mov r8d, 2
lea rdx, str.DolbyDAXAPI
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_OpenServiceW]
mov rsi, rax
test rax, rax
jne 0x1400085fd
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
xorps xmm0, xmm0
lea rdi, vtable._com_error.0
lea rcx, [rsp + 0x48]
mov dword [rsp + 0x40], eax
movdqu xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x48], rdi
mov dword [rsp + 0x50], eax
call fcn.140006d00
lea r9, str.WinMain
mov qword [rbp - 0x78], rax
lea r8d, [rsi + 0x55]
lea rdx, str.c:perforce2.3_ga_apidaxapidaxapi.cpp
lea rcx, [rbp - 0x70]
call fcn.140006a30
cmp qword [rbp - 0x58], 8
lea rax, [rbp - 0x78]
mov qword [rsp + 0x30], rax
lea r9, [rbp - 0x70]
cmovae r9, qword [rbp - 0x70]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rcx, [0x14008f558]
lea rax, str.OpenService_failed__Error:__0x_.8x__s
mov r8d, 0x200
mov dl, 1
mov qword [rsp + 0x20], rax
call fcn.1400042a0
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x1400085ce
mov rcx, qword [rbp - 0x70]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400085c9
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400087ef
call fcn.140024944
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x48], rdi
test rcx, rcx
je 0x1400085e3
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x1400085f3
call qword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalFree]
mov r14d, dword [rsp + 0x40]
jmp 0x140008786
lea rax, str.Dolby_DAX_API_Service_is_used_by_Dolby_DAX_applications_to_control_Dolby_Atmos_components_in_the_system.
mov edx, 1
lea r8, [rbp - 0x48]
mov qword [rbp - 0x48], rax
mov rcx, rsi
call qword [sym.imp.api_ms_win_service_management_l2_1_0.dll_ChangeServiceConfig2W]
mov rcx, rsi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
jmp 0x140008778
xor eax, eax
mov dword [rsp + 0x20], r14d
mov r9d, 1
mov qword [rbp + 0x30], rax
mov r8d, r9d
mov qword [rbp + 0x38], rax
lea rdx, str.DolbyDAXAPI
mov qword [rbp + 0x40], rax
lea rcx, [rbp + 0x30]
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x70], rax
call fcn.1400205a0
lea rcx, [rbp + 0x30]
call fcn.1400225d0
test eax, eax
jne 0x14000876f
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
xorps xmm0, xmm0
lea rdi, vtable._com_error.0
lea rcx, [rbp - 0x70]
mov dword [rsp + 0x40], eax
movdqu xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x70], rdi
mov dword [rbp - 0x68], eax
call fcn.140006d00
lea r9, str.WinMain
mov qword [rbp - 0x48], rax
mov r8d, 0x7e
lea rdx, str.c:perforce2.3_ga_apidaxapidaxapi.cpp
lea rcx, [rbp + 0x10]
call fcn.140006a30
cmp qword [rbp + 0x28], 8
lea rax, [rbp - 0x48]
mov qword [rsp + 0x30], rax
lea r9, [rbp + 0x10]
cmovae r9, qword [rbp + 0x10]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rcx, [0x14008f558]
lea rax, str.Service_failed__Error:__0x_.8x__s
mov r8d, 0x200
mov dl, 1
mov qword [rsp + 0x20], rax
call fcn.1400042a0
mov rdx, qword [rbp + 0x28]
cmp rdx, 8
jb 0x14000874d
mov rcx, qword [rbp + 0x10]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008748
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400087bf
call fcn.140024944
mov rcx, qword [rbp - 0x60]
mov qword [rbp - 0x70], rdi
test rcx, rcx
je 0x140008760
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x14000876f
call qword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalFree]
lea rcx, [rbp + 0x30]
call fcn.1400207d0
test rbx, rbx
je 0x140008786
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalFree]
lea rcx, [rbp - 0x40]
call fcn.1400064e0
mov rsi, qword [rsp + 0x1c0]
mov eax, r14d
mov rdi, qword [rsp + 0x1c8]
mov rcx, qword [rbp + 0x88]
xor rcx, rsp
call fcn.140024d20
add rsp, 0x198
pop r15
pop r14
pop rbx
pop rbp
ret
call fcn.140045a2c
int3
call fcn.140045a2c
int3
call fcn.140045a2c
int3
call fcn.140045a2c
int3
call fcn.140045a2c
int3
call fcn.140045a2c
int3
call fcn.140045a2c
int3
call fcn.140045a2c
int3
call fcn.140045a2c
int3