Function at 0x1400063d0
Capabilities:
Delete registry key
Delete service
Query service status
Stop service

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rax, qword gs:[0x58]
mov edx, 4
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x140019a20], eax
jg 0x14000648d
xor esi, esi
lea rdi, [0x140019970]
lea rax, [0x140019988]
cmp rax, rdi
sbb rbx, rbx
not rbx
and ebx, 3
mov rbp, qword [rdi]
mov rcx, 0xffffffff80000000
mov rdx, rbp
call qword [sym.imp.api_ms_win_core_registry_l2_1_0.dll_RegDeleteKeyW]
nop dword [rax + rax]
test eax, eax
je 0x140006468
mov rcx, qword [rsp + 0x28]
lea r8, str.onecoreuap_analog_sdk_simulation_servicesperceptionsimulationexemain.cpp
mov r9d, 0x80004005
mov edx, 0x11d
call fcn.140003590
mov rdx, rbp
lea rcx, str.Failed_to_delete_key_HKCR_ls_n
call fcn.140011148
add rdi, 8
inc rsi
cmp rsi, rbx
jne 0x140006420
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
jmp 0x14000ec8c
lea rcx, [0x140019a20]
call fcn.140010688
cmp dword [0x140019a20], 0xffffffff
jne 0x140006404
lea rax, str.AppID9F7BC6EE_A81C_479D_B8A5_DAC928772875
mov qword [0x140019970], rax
lea rcx, [0x140019a20]
lea rax, str.AppIDPerceptionSimulationService.exe
mov qword [0x140019978], rax
lea rax, str.CLSIDAC7FBAB1_2C10_4A11_97B8_D563F29980DB
mov qword [0x140019980], rax
call fcn.140010620
jmp 0x140006404
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
push r14
sub rsp, 0x50
mov rax, qword [0x140019188]
xor rax, rsp
mov qword [rsp + 0x40], rax
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [r11 - 0x28], rax
xor ebx, ebx
xor edx, edx
mov dword [rsp + 0x38], eax
xor ecx, ecx
xor esi, esi
xor edi, edi
lea r8d, [rbx + 1]
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_OpenSCManagerW]
nop dword [rax + rax]
mov r14d, 0x80070000
test rax, rax
je 0x14000ecf0
mov rsi, rax
jmp 0x14000ed1d
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
lea rcx, str.OpenSCManager_failed__0x_08X__n
or ebx, r14d
test eax, eax
cmovle ebx, eax
mov edx, ebx
call fcn.140011148
test ebx, ebx
js 0x14000ee7f
lea rbp, str.PerceptionSimulation
mov r8d, 0x10024
mov rdx, rbp
mov rcx, rsi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_OpenServiceW]
nop dword [rax + rax]
test rax, rax
je 0x14000ed46
mov rdi, rax
jmp 0x14000ed6b
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
lea rcx, str.OpenService_failed__0x_08X__n
or ebx, r14d
test eax, eax
cmovle ebx, eax
mov edx, ebx
call fcn.140011148
test ebx, ebx
js 0x14000ee4f
lea r8, [rsp + 0x20]
mov edx, 1
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_winsvc_l1_1_0.dll_ControlService]
nop dword [rax + rax]
test eax, eax
je 0x14000ee04
mov rdx, rbp
lea rcx, str.Stopping__ls
call fcn.140011148
lea rcx, [0x140014c68]
call fcn.140011148
mov ecx, 0xfa
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
nop dword [rax + rax]
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_winsvc_l1_1_0.dll_QueryServiceStatus]
nop dword [rax + rax]
test eax, eax
je 0x14000eddb
cmp dword [rsp + 0x24], 3
je 0x14000ed9f
lea rcx, [0x1400137c0]
call fcn.140011148
cmp dword [rsp + 0x24], 1
lea rcx, str._ls_is_stopped._n
mov rdx, rbp
je 0x14000edff
lea rcx, str._ls_failed_to_stop._n
call fcn.140011148
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_DeleteService]
nop dword [rax + rax]
test eax, eax
jne 0x14000ee3c
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
lea rcx, str.DeleteService_failed__0x_08X__n
or ebx, r14d
test eax, eax
cmovle ebx, eax
mov edx, ebx
call fcn.140011148
test ebx, ebx
js 0x14000ee4f
mov rdx, rbp
lea rcx, str._ls_is_removed._n
call fcn.140011148
test rdi, rdi
je 0x14000ee67
mov rcx, rdi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
nop dword [rax + rax]
test eax, eax
je 0x14000eec7
test rsi, rsi
je 0x14000ee7f
mov rcx, rsi
call qword [sym.imp.api_ms_win_service_management_l1_1_0.dll_CloseServiceHandle]
nop dword [rax + rax]
test eax, eax
je 0x14000eeaa
mov eax, ebx
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14000ffb0
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x50
pop r14
ret
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx ecx, ax
or ecx, r14d
test eax, eax
cmovle ecx, eax
call fcn.140004b78
int3
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx ecx, ax
or ecx, r14d
test eax, eax
cmovle ecx, eax
call fcn.140004b78
int3