Function at 0x14005a2c0
Capabilities:
Query service status
Start service

Disassembly:
push rbp
push rbx
push r12
push r15
mov rbp, rsp
sub rsp, 0x78
mov rax, qword [0x14010a010]
xor rax, rsp
mov qword [rbp - 0x18], rax
mov r12, rdx
lea rbx, str.C:Userspaul1_leeDesktopAsusAppServiceAsusAppServiceAsusAppServiceStartServiceHelper.cpp
mov rcx, rbx
mov edx, 0x5c
call fcn.14008d088
test rax, rax
je 0x14005a30a
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
inc rax
jmp 0x14005a30d
mov rax, rbx
lea r9, str.Start___s_
mov qword [rsp + 0x20], r12
lea r8, str.LaunchService
mov edx, 0xd
mov rcx, rax
call fcn.140015a30
xor edx, edx
xor ecx, ecx
mov r8d, 0xf003f
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov r15, rax
test rax, rax
jne 0x14005a38f
lea edx, [rax + 0x5c]
mov rcx, rbx
call fcn.14008d088
test rax, rax
je 0x14005a365
lea edx, [r15 + 0x5c]
mov rcx, rbx
call fcn.14008d088
lea rbx, [rax + 1]
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, str.OpenSCManager_failed___d__n
mov edx, 0x21
lea r8, str.LaunchService
mov dword [rsp + 0x20], eax
mov rcx, rbx
call fcn.140015a30
jmp 0x14005a9e9
mov r8d, 0xf01ff
mov qword [rsp + 0x70], r14
mov rdx, r12
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov r14, rax
test rax, rax
jne 0x14005a401
lea edx, [rax + 0x5c]
mov rcx, rbx
call fcn.14008d088
test rax, rax
je 0x14005a3ce
lea edx, [r14 + 0x5c]
mov rcx, rbx
call fcn.14008d088
lea rbx, [rax + 1]
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, str.OpenService_failed___d__n
mov edx, 0x2e
lea r8, str.LaunchService
mov dword [rsp + 0x20], eax
mov rcx, rbx
call fcn.140015a30
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x14005a9e4
lea rax, [rbp - 0x48]
mov r9d, 0x24
lea r8, [rbp - 0x40]
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
jne 0x14005a46b
lea edx, [rax + 0x5c]
mov rcx, rbx
call fcn.14008d088
test rax, rax
je 0x14005a444
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
lea rbx, [rax + 1]
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, str.QueryServiceStatusEx_failed___d__n
mov edx, 0x3c
lea r8, str.LaunchService
mov dword [rsp + 0x20], eax
mov rcx, rbx
call fcn.140015a30
jmp 0x14005a4b5
mov eax, dword [rbp - 0x3c]
dec eax
test eax, 0xfffffffd
je 0x14005a4cc
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
test rax, rax
je 0x14005a49a
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
lea rbx, [rax + 1]
lea r9, str.Cannot_start_the_service_because_it_is_already_running_n
mov edx, 0x47
lea r8, str.LaunchService
mov rcx, rbx
call fcn.140015a30
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x14005a9e4
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xb0], rdi
mov qword [rsp + 0xb8], r13
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
cmp dword [rbp - 0x3c], 3
mov r13d, 0x2710
mov edi, dword [rbp - 0x2c]
mov rsi, rax
jne 0x14005a574
nop dword [rax]
mov eax, 0xcccccccd
mul dword [rbp - 0x28]
shr edx, 3
cmp edx, 0x3e8
jae 0x14005a51a
mov edx, 0x3e8
jmp 0x14005a521
cmp edx, r13d
cmova edx, r13d
mov ecx, edx
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rax, [rbp - 0x48]
mov r9d, 0x24
lea r8, [rbp - 0x40]
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
je 0x14005a62a
cmp dword [rbp - 0x2c], edi
jbe 0x14005a561
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov edi, dword [rbp - 0x2c]
mov esi, eax
jmp 0x14005a56e
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
sub eax, esi
cmp eax, dword [rbp - 0x28]
ja 0x14005a5e7
cmp dword [rbp - 0x3c], 3
je 0x14005a500
xor r8d, r8d
xor edx, edx
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_StartServiceW]
test eax, eax
jne 0x14005a689
lea edx, [rax + 0x5c]
mov rcx, rbx
call fcn.14008d088
test rax, rax
je 0x14005a5ab
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
lea rbx, [rax + 1]
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, str.StartService_failed___d__n
mov edx, 0x8c
lea r8, str.LaunchService
mov dword [rsp + 0x20], eax
mov rcx, rbx
call fcn.140015a30
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x14005a9cc
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
test rax, rax
je 0x14005a60a
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
lea rbx, [rax + 1]
lea r9, str.Timeout_waiting_for_service_to_stop_n
mov edx, 0x7d
lea r8, str.LaunchService
mov rcx, rbx
call fcn.140015a30
jmp 0x14005a6fd
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
test rax, rax
je 0x14005a64d
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
lea rbx, [rax + 1]
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, str.QueryServiceStatusEx_failed___d__n
mov edx, 0x6c
lea r8, str.LaunchService
mov dword [rsp + 0x20], eax
mov rcx, rbx
call fcn.140015a30
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x14005a9cc
lea rcx, str.Service_start_pending..._n
call fcn.14005a260
lea rax, [rbp - 0x48]
mov r9d, 0x24
lea r8, [rbp - 0x40]
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
jne 0x14005a714
lea edx, [rax + 0x5c]
mov rcx, rbx
call fcn.14008d088
test rax, rax
je 0x14005a6d8
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
lea rbx, [rax + 1]
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, str.QueryServiceStatusEx_failed___d__n
mov edx, 0x9c
lea r8, str.LaunchService
mov dword [rsp + 0x20], eax
mov rcx, rbx
call fcn.140015a30
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x14005a9cc
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
cmp dword [rbp - 0x3c], 2
mov rsi, rax
mov edi, dword [rbp - 0x2c]
jne 0x14005a7ef
nop word [rax + rax]
mov eax, 0xcccccccd
mul dword [rbp - 0x28]
shr edx, 3
cmp edx, 0x3e8
jae 0x14005a74a
mov edx, 0x3e8
jmp 0x14005a751
cmp edx, r13d
cmova edx, r13d
mov ecx, edx
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rax, [rbp - 0x48]
mov r9d, 0x24
lea r8, [rbp - 0x40]
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
je 0x14005a7a2
cmp dword [rbp - 0x2c], edi
jbe 0x14005a78d
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov edi, dword [rbp - 0x2c]
mov esi, eax
jmp 0x14005a79a
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
sub eax, esi
cmp eax, dword [rbp - 0x28]
ja 0x14005a7ef
cmp dword [rbp - 0x3c], 2
je 0x14005a730
jmp 0x14005a7ef
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
test rax, rax
je 0x14005a7c7
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
lea rdi, [rax + 1]
jmp 0x14005a7ca
mov rdi, rbx
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, str.QueryServiceStatusEx_failed___d__n
mov edx, 0xbf
lea r8, str.LaunchService
mov dword [rsp + 0x20], eax
mov rcx, rdi
call fcn.140015a30
cmp dword [rbp - 0x3c], 4
mov edx, 0x5c
mov rcx, rbx
jne 0x14005a835
call fcn.14008d088
test rax, rax
je 0x14005a819
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
inc rax
jmp 0x14005a81c
mov rax, rbx
mov qword [rsp + 0x20], r12
lea r9, str.__s__Service_started_successfully.
mov edx, 0xd8
mov rcx, rax
jmp 0x14005a970
call fcn.14008d088
test rax, rax
je 0x14005a851
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
inc rax
jmp 0x14005a854
mov rax, rbx
lea r9, str.__s__Service_not_started.
mov qword [rsp + 0x20], r12
lea r8, str.LaunchService
mov edx, 0xdc
mov rcx, rax
call fcn.140015a30
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
mov rcx, rbx
test rax, rax
je 0x14005a897
mov edx, 0x5c
call fcn.14008d088
lea rcx, [rax + 1]
mov eax, dword [rbp - 0x3c]
lea r9, str.__Current_State:__d
lea r8, str.LaunchService
mov dword [rsp + 0x20], eax
mov edx, 0xdd
call fcn.140015a30
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
mov rcx, rbx
test rax, rax
je 0x14005a8d9
mov edx, 0x5c
call fcn.14008d088
lea rcx, [rax + 1]
mov eax, dword [rbp - 0x34]
lea r9, str.__Exit_Code:__d
lea r8, str.LaunchService
mov dword [rsp + 0x20], eax
mov edx, 0xde
call fcn.140015a30
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
mov rcx, rbx
test rax, rax
je 0x14005a91b
mov edx, 0x5c
call fcn.14008d088
lea rcx, [rax + 1]
mov eax, dword [rbp - 0x2c]
lea r9, str.__Check_Point:__d
lea r8, str.LaunchService
mov dword [rsp + 0x20], eax
mov edx, 0xdf
call fcn.140015a30
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
mov rcx, rbx
test rax, rax
je 0x14005a95d
mov edx, 0x5c
call fcn.14008d088
lea rcx, [rax + 1]
mov eax, dword [rbp - 0x28]
lea r9, str.__Wait_Hint:__d
mov dword [rsp + 0x20], eax
mov edx, 0xe0
lea r8, str.LaunchService
call fcn.140015a30
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
test rax, rax
je 0x14005a9b1
mov edx, 0x5c
mov rcx, rbx
call fcn.14008d088
lea rbx, [rax + 1]
lea r9, [0x1400da940]
mov edx, 0xe6
lea r8, str.LaunchService
mov rcx, rbx
call fcn.140015a30
mov r13, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xa0]
mov r14, qword [rsp + 0x70]
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.140060fe0
add rsp, 0x78
pop r15
pop r12
pop rbx
pop rbp
ret