Function at 0x140005610
Capabilities:
Accept command line arguments

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x448]
sub rsp, 0x530
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x140036038]
xor rax, rsp
mov qword [rbp + 0x420], rax
xor r8d, r8d
lea rdx, str.DCSHost
call fcn.140009b50
test al, al
jne 0x14000566b
lea rcx, str.initialize_DCService.exe_LOG_fail
jmp 0x140005c32
movdqa xmm0, xmmword [0x140030c50]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call fcn.140001260
mov r8d, 5
lea rdx, str..dll
lea rcx, [rsp + 0x30]
call fcn.140004570
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rcx, qword [rsp + 0x30]
lea rdx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rdx, qword [rsp + 0x48]
cmp rax, 0xffffffffffffffff
jne 0x140005bf7
cmp rdx, 0x10
jb 0x140005701
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400056fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005c70
call fcn.14000d4b4
call qword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov rdi, rax
movzx ecx, word [0x14002efac]
mov word [rsp + 0x20], cx
movzx ecx, byte [0x14002efae]
mov byte [rsp + 0x22], cl
xor r15d, r15d
mov esi, r15d
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rcx, rax
lea rdx, [rsp + 0x24]
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
test rax, rax
je 0x140005749
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [rsp + 0x24], 1
jle 0x140005798
mov rbx, rdi
test rdi, rdi
je 0x140005798
cmp byte [rbx], sil
je 0x140005798
lea rax, [rsp + 0x20]
movzx edx, byte [rax]
test dl, dl
je 0x14000577b
cmp byte [rbx], dl
je 0x14000578c
mov rcx, rax
call qword [sym.imp.USER32.dll_CharNextA]
test rax, rax
jne 0x140005762
mov rcx, rbx
call qword [sym.imp.USER32.dll_CharNextA]
mov rbx, rax
test rax, rax
jmp 0x140005756
mov rcx, rbx
call qword [sym.imp.USER32.dll_CharNextA]
mov rsi, rax
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], r15b
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rdi + r8], r15b
jne 0x1400057b5
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.140004420
lea rcx, [rbp + 0x100]
call fcn.14000a760
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x58], r15d
mov r14d, r15d
test rsi, rsi
je 0x1400058cb
mov r8d, 0x104
lea rdx, [rbp - 0x40]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea rcx, [rbp - 0x40]
mov rax, rbx
lea rax, [rax + 1]
cmp byte [rcx + rax], r14b
jne 0x140005806
lea rcx, [rax + 3]
mov rax, qword [rsp + 0x40]
cmp rax, rcx
jbe 0x1400058cb
movdqa xmm0, xmmword [0x140030c50]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], r14b
sub rax, rcx
mov r8, rbx
cmp rax, rbx
cmovb r8, rax
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rdx, qword [rsp + 0x30]
add rdx, rcx
lea rcx, [rsp + 0x60]
call fcn.140004420
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x30]
call fcn.1400040f0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1400058ac
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400058a7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005c76
call fcn.14000d4b4
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.140004180
mov rcx, rax
lea rdx, [rsp + 0x50]
call fcn.140005c90
mov r14d, eax
lea r8, [rsp + 0x50]
mov edx, r14d
mov rcx, rsi
call fcn.1400050e0
test eax, eax
jne 0x1400058e7
mov ebx, r15d
jmp 0x140005baa
mov rdx, rdi
lea rcx, str.parma:___s_
call fcn.14000a500
movdqa xmm0, xmmword [0x140030c50]
movdqu xmmword [rbp - 0x58], xmm0
mov byte [rbp - 0x68], r15b
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x78], xmm1
xor eax, eax
mov qword [0x140038470], rax
mov qword [0x140038478], rax
mov qword [0x140038480], rax
mov dword [0x140038488], eax
mov qword [0x140038468], r15
mov qword [0x140038460], r15
mov qword [0x140038458], r15
call fcn.140009250
test eax, eax
jne 0x140005956
lea rcx, str.GetAllPath_error_
call fcn.14000a500
mov qword [0x140038420], r15
mov qword [rbp - 0x80], r15
lea rdi, [0x140036ea8]
mov rcx, rdi
cmp qword [0x140036ec0], 0x10
cmovae rcx, qword [0x140036ea8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rbp - 0x80], rax
test rax, rax
jne 0x1400059ad
cmp qword [0x140036ec0], 0x10
cmovae rdi, qword [0x140036ea8]
mov rdx, rdi
lea rcx, str.LoadLibrary_error___s
call fcn.14000a500
mov rax, qword [rbp - 0x80]
lea rdx, str.GetProcessIdByPort
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140038420], rax
test rax, rax
je 0x1400059d5
lea rcx, str.GetProcAddress_ok
call fcn.14000a500
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
call fcn.140009250
cmp qword [rbp - 0x78], r15
jne 0x140005adc
xor edx, edx
xor ecx, ecx
mov r8d, 0xf003f
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov qword [rbp - 0x78], rax
test rax, rax
jne 0x140005a2a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Couldnt_open_service_manager_ErrorCode:_d
call fcn.14000a590
lea rcx, str.Initialize_ServiceMgr_fail.
call fcn.14000a590
jmp 0x140005aef
lea rcx, str.OpenSCManager_successfully
call fcn.14000a500
movdqa xmm0, xmmword [0x140030c50]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], r15b
mov r8d, 0x17
lea rdx, str.HonorSuiteService64.exe
lea rcx, [rsp + 0x60]
call fcn.140004420
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.140008760
test al, al
sete dil
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x140005ab1
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005aac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005c7c
call fcn.14000d4b4
test dil, dil
je 0x140005ad0
lea rcx, str.check_ServiceApp_failed.
call fcn.14000a590
lea rcx, str.Initialize_ServiceMgr_fail.
call fcn.14000a590
jmp 0x140005aef
lea rcx, str.Initialize_CServiceMgr_successfully_n
call fcn.14000a500
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x80]
mov rcx, rsi
call fcn.140005360
mov ebx, eax
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140005b02
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov qword [rbp - 0x70], r15
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x140005b15
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov qword [rbp - 0x78], r15
mov rcx, qword [0x140038458]
test rcx, rcx
je 0x140005b3a
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x140038458], r15
lea rcx, str.Close_E220_INSTALL_BACKGROUND_...
call fcn.14000a500
mov qword [0x140038420], r15
cmp qword [rbp - 0x80], 0
jne 0x140005b5e
lea rcx, [0x14002f318]
call fcn.14000a500
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x140005b99
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005b94
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005c82
call fcn.14000d4b4
movdqa xmm0, xmmword [0x140030c50]
movdqu xmmword [rbp - 0x58], xmm0
mov byte [rbp - 0x68], 0
lea rcx, [rbp + 0x100]
call fcn.14000a920
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140005bf3
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005bee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005c88
call fcn.14000d4b4
mov eax, ebx
jmp 0x140005c3e
cmp rdx, 0x10
jb 0x140005c2b
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005c26
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005c6a
call fcn.14000d4b4
lea rcx, str.IfHasDll__true
call fcn.14000a590
mov rax, 0xffffffffffffffff
mov rcx, qword [rbp + 0x420]
xor rcx, rsp
call fcn.14000d490
lea r11, [rsp + 0x530]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.14001179c
int3
call fcn.14001179c
int3
call fcn.14001179c
int3
call fcn.14001179c
nop
call fcn.14001179c
nop
call fcn.14001179c
int3