Function at 0x140005360
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov dword [rsp + 0x20], r9d
push rdi
sub rsp, 0x40
mov rdi, r8
mov rsi, rdx
mov rbx, rcx
test rcx, rcx
je 0x14000543b
nop word [rax + rax]
lea rdx, str.remove
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1400055b2
lea rdx, str.install
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x140005560
lea rdx, str.installcount
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x140005519
lea rdx, str.removecount
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1400054db
lea rdx, str.service
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x140005472
cmp byte [rbx], 0
je 0x14000543b
mov rcx, rdi
test rdi, rdi
je 0x14000542a
movzx eax, byte [rcx]
test al, al
je 0x14000542a
cmp byte [rbx], al
je 0x14000544d
call qword [sym.imp.USER32.dll_CharNextA]
mov rcx, rax
test rax, rax
jne 0x140005411
mov rcx, rbx
call qword [sym.imp.USER32.dll_CharNextA]
mov rbx, rax
test rax, rax
jne 0x140005404
xor eax, eax
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
mov rcx, rbx
call qword [sym.imp.USER32.dll_CharNextA]
mov rbx, rax
test rax, rax
jne 0x140005390
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
lea rcx, str.service_srvMgr.StartServiceCtrlDispatcher
call fcn.14000a500
cmp qword [0x140036d38], 0x10
lea rax, [0x140036d20]
lea rcx, str.StartServiceCtrlDispatcher
cmovae rax, qword [0x140036d20]
mov qword [rsp + 0x20], rax
lea rax, [0x140007ad0]
mov qword [rsp + 0x28], rax
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
call fcn.14000a500
lea rcx, [rsp + 0x20]
call qword [sym.imp.ADVAPI32.dll_StartServiceCtrlDispatcherA]
xor eax, eax
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
lea rcx, str.Uninstall_Service_and_count_the_times__Start...
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea rcx, str.Uninstall_Service_and_count_the_times__Start...
call fcn.14000a500
xor r8d, r8d
lea rdx, [rsp + 0x68]
call fcn.140009050
test eax, eax
je 0x1400055cb
cmp dword [rsp + 0x68], 0
ja 0x14000543b
jmp 0x1400055cb
lea rcx, str.Install_Service_and_count_the_times__Start...
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea rcx, str.Install_Service_and_count_the_times__Start...
call fcn.14000a500
mov rcx, rsi
call fcn.140007440
test al, al
je 0x140005589
mov r8d, 1
lea rdx, [rsp + 0x68]
call fcn.140009050
xor eax, eax
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
lea rcx, str.InstallService_Start
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea rcx, str.InstallService_Start
call fcn.14000a500
mov rcx, rsi
call fcn.140007440
test al, al
jne 0x14000543b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.install_Service_Error.Error_Code:_d.
call fcn.14000a590
mov eax, 0xffffffff
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret
lea rcx, str.UninstallService_Start
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea rcx, str.UninstallService_Start
call fcn.14000a500
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, rsi
call fcn.140007930
test al, al
jne 0x14000543b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.unInstall_Service_Error.Error_Code:_d.
call fcn.14000a590
mov rbx, qword [rsp + 0x50]
mov eax, 0xffffffff
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret