Function at 0x14001d410
Capabilities:
Check if file exists
Create process on windows
Get file attributes

Disassembly:
push rdi
sub rsp, 0x6f0
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x708], rbx
mov rax, qword [0x14006a080]
xor rax, rsp
mov qword [rsp + 0x6e0], rax
mov rbx, rcx
mov edi, 1
mov dword [rcx + 0x240], edi
lea r8d, [rdi + 3]
lea rdx, str.AsusROGLSLService_in_OnStop
call fcn.140013970
cmp qword [rbx + 0x250], 0
je 0x14001d489
xor edx, edx
xor ecx, ecx
call fcn.140003ed0
mov rcx, rax
lea rdx, str.m_hNetworkStatusEvent___NULL
call fcn.140005c50
mov rcx, qword [rbx + 0x250]
call qword [sym.imp.KERNEL32.dll_SetEvent]
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x2c0]
call fcn.140022630
lea rdx, str.ROGLSLoader.exe
lea rcx, [rsp + 0x2c0]
call fcn.140001d30
xor edx, edx
xor ecx, ecx
call fcn.140003ed0
mov rcx, rax
lea r9, str.OnStop
lea r8, [0x14005e938]
lea rdx, str.__hs___hs__force_kill_ROGLSLoader.exe
call fcn.140005c50
lea rcx, [rsp + 0x2c0]
call fcn.1400158e0
xor edx, edx
xor ecx, ecx
call fcn.140003ed0
mov rcx, rax
lea r9, str.OnStop
lea r8, [0x14005e938]
lea rdx, str.__hs___hs__force_kill_UI.exe
call fcn.140005c50
lea rcx, str.Armoury_Crate_Installer.exe
call fcn.1400158e0
xor edx, edx
xor ecx, ecx
call fcn.140003ed0
mov rcx, rax
lea r9, str.OnStop
lea r8, [0x14005e938]
lea rdx, str.__hs___hs__Leave_AsusROGLSLService.
call fcn.140005c50
cmp dword [0x14006dcb8], 0
je 0x14001d6f3
xor edx, edx
xor ecx, ecx
call fcn.140003ed0
mov rcx, rax
lea r9, str.OnStop
lea r8, [0x14005e938]
lea rdx, str.__hs___hs__Remove_service.
call fcn.140005c50
xor ebx, ebx
mov dword [0x14006dcb8], ebx
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0xb0]
call fcn.140022630
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x4d0]
call fcn.140022630
lea r9, str.AsusROGLSLServiceAsusROGLSLService.exe
lea rdx, str.ProgramFiles_x86_
lea rcx, [rsp + 0xb0]
call fcn.140019e60
test al, al
jne 0x14001d5e7
xor edx, edx
xor ecx, ecx
call fcn.140003ed0
lea r9, str.OnStop
lea r8, [0x14005e938]
lea rdx, str.__ls___hs__getWorkingPath_AsusROGLSLService__failed.
mov rcx, rax
call fcn.140005c50
lea rcx, [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14001d6cc
test al, 0x10
jne 0x14001d6cc
lea r9, [rsp + 0xb0]
lea r8, str.__ls_
mov edx, 0x104
lea rcx, [rsp + 0x4d0]
call fcn.1400011b0
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rsp + 0x40]
call fcn.140022630
mov dword [rsp + 0x40], 0x70
mov dword [rsp + 0x44], 0x40
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rbx
lea rax, [rsp + 0x4d0]
mov qword [rsp + 0x58], rax
lea rax, str.__remove
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x70], ebx
mov qword [rsp + 0x78], rbx
lea rcx, [rsp + 0x40]
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
jne 0x14001d69c
xor edx, edx
xor ecx, ecx
call fcn.140003ed0
lea rdx, str.ShellExecuteEx_fail
mov rcx, rax
call fcn.1400068e0
mov edi, ebx
xor edx, edx
xor ecx, ecx
call fcn.140003ed0
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], edi
lea r9, str.OnStop
lea r8, [0x14005e938]
lea rdx, str.__hs___hs__runCmdResult___d__dwExit___lu.
mov rcx, rax
call fcn.140005c50
jmp 0x14001d6f3
xor edx, edx
xor ecx, ecx
call fcn.140003ed0
lea r9, str.OnStop
lea r8, [0x14005e938]
lea rdx, str.__hs___hs__Service_not_found.
mov rcx, rax
call fcn.140005c50
nop
mov rcx, qword [rsp + 0x6e0]
xor rcx, rsp
call fcn.14001fab0
mov rbx, qword [rsp + 0x708]
add rsp, 0x6f0
pop rdi
ret