Function at 0x140008940
Capabilities:
Check if file exists
Check mutex on windows
Get file attributes

Disassembly:
mov rax, rsp
push r15
sub rsp, 0x70
mov qword [rax - 0x20], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
mov r14d, r9d
mov rbx, r8
mov rsi, rcx
lea rcx, str.C:DSE
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x140008980
xor al, al
jmp 0x140008985
shr eax, 4
and al, 1
mov byte [0x140028d90], al
test rbx, rbx
je 0x140008a04
cmp byte [rbx], 0
je 0x140008a04
lea rdx, [0x1400220a8]
mov rcx, rbx
call fcn.14000badc
test eax, eax
je 0x140008a04
mov r8d, 2
lea rdx, [0x1400220ac]
mov rcx, rbx
call fcn.14000b628
test eax, eax
jne 0x1400089ce
movsx ecx, byte [rbx + 2]
call fcn.14000bbd8
test eax, eax
jne 0x140008a04
cmp byte [0x140028d90], 0
je 0x1400089fc
lea rcx, [rsp + 0x50]
call fcn.140001090
nop
lea rdx, str.DSE_Manager:_ERROR:_Invalid_command_line_parameters_passed_in._n
mov rcx, rax
call fcn.140001110
nop
lea rcx, [rsp + 0x50]
call fcn.1400010e0
or eax, 0xffffffff
jmp 0x140008d54
mov dil, 1
lea rdx, [0x1400220a8]
mov rcx, rbx
call fcn.14000badc
movzx edi, dil
xor r15d, r15d
test eax, eax
cmove edi, r15d
mov dword [rsp + 0x40], r15d
test rbx, rbx
je 0x140008abf
cmp byte [rbx], 0x2d
jne 0x140008abf
movzx eax, byte [rbx + 1]
sub al, 0x53
test al, 0xdf
jne 0x140008abf
movsx ecx, byte [rbx + 2]
call fcn.14000bbd8
test eax, eax
je 0x140008abf
mov qword [rsp + 0x50], r15
lea r8d, [r15 + 0xa]
lea rdx, [rsp + 0x50]
lea rcx, [rbx + 2]
call fcn.14000ba70
mov dword [rsp + 0x40], eax
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140008a89
test byte [rcx], 0xdf
jne 0x140008a89
test eax, eax
jle 0x140008abf
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140008abf
cmp byte [0x140028d90], r15b
je 0x140008ab7
lea rcx, [rsp + 0x48]
call fcn.140001090
nop
lea rdx, str.DSE_Manager:_ERROR:_Invalid_command_line_parameters_passed_in._n
mov rcx, rax
call fcn.140001110
nop
lea rcx, [rsp + 0x48]
call fcn.1400010e0
or eax, 0xffffffff
jmp 0x140008d54
lea r8, str.DSEMgrApp
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov rbx, rax
mov qword [rsp + 0x68], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x60], eax
cmp eax, 0xb7
jne 0x140008b32
cmp byte [0x140028d90], 0
je 0x140008b18
lea rcx, [rsp + 0x50]
call fcn.140001090
nop
lea rdx, str.DSE_Manager:_There_can_be_only_one_app_running_per_user._n
mov rcx, rax
call fcn.140001110
nop
lea rcx, [rsp + 0x50]
call fcn.1400010e0
nop
test rbx, rbx
je 0x140008b2b
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x68], r15
xor eax, eax
jmp 0x140008d54
cmp byte [0x140028d90], 0
je 0x140008b60
lea rcx, [rsp + 0x50]
call fcn.140001090
nop
lea rdx, str.DSE_Manager:_Initializing_ADL._n
mov rcx, rax
call fcn.140001110
nop
lea rcx, [rsp + 0x50]
call fcn.1400010e0
call fcn.140004440
test al, al
jne 0x140008bb2
cmp byte [0x140028d90], al
je 0x140008b97
lea rcx, [rsp + 0x50]
call fcn.140001090
nop
lea rdx, str.DSE_Manager:_Failed_to_initialize_ADL._n
mov rcx, rax
call fcn.140001110
nop
lea rcx, [rsp + 0x50]
call fcn.1400010e0
nop
test rbx, rbx
je 0x140008baa
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x68], r15
or eax, 0xffffffff
jmp 0x140008d54
mov dword [rsp + 0x48], 0xffffffff
mov word [rsp + 0x4c], 1
cmp byte [0x140028d90], 0
je 0x140008bef
lea rcx, [rsp + 0x50]
call fcn.140001090
nop
lea rdx, str.DSE_Manager:_Initializing_DOPP._n
mov rcx, rax
call fcn.140001110
nop
lea rcx, [rsp + 0x50]
call fcn.1400010e0
call fcn.140001680
test al, al
jne 0x140008c57
cmp byte [0x140028d90], al
je 0x140008c25
lea rcx, [rsp + 0x50]
call fcn.140001090
nop
lea rdx, str.DSE_Manager:_Failed_to_initialize_DOPP._n
mov rcx, rax
call fcn.140001110
nop
lea rcx, [rsp + 0x50]
call fcn.1400010e0
mov qword [0x140028d88], r15
test dil, dil
je 0x140008c66
lea rcx, [rsp + 0x48]
call fcn.140005f50
nop
test rbx, rbx
je 0x140008c4f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x68], r15
or eax, 0xffffffff
jmp 0x140008d54
test dil, dil
je 0x140008c66
mov rcx, rsi
call fcn.140008020
jmp 0x140008c71
mov edx, r14d
mov rcx, rsi
call fcn.140007f50
mov edi, eax
test eax, eax
je 0x140008c9c
lea rcx, [rsp + 0x48]
call fcn.140005f50
nop
test rbx, rbx
je 0x140008c95
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x68], r15
mov eax, edi
jmp 0x140008d54
cmp byte [0x140028d90], 0
je 0x140008cca
lea rcx, [rsp + 0x50]
call fcn.140001090
nop
lea rdx, str.DSE_Manager:_Terminating_DOPP._n
mov rcx, rax
call fcn.140001110
nop
lea rcx, [rsp + 0x50]
call fcn.1400010e0
call fcn.140001be0
test al, al
jne 0x140008d24
cmp byte [0x140028d90], al
je 0x140008d01
lea rcx, [rsp + 0x50]
call fcn.140001090
nop
lea rdx, str.DSE_Manager:_Failed_to_terminate_DOPP._n
mov rcx, rax
call fcn.140001110
nop
lea rcx, [rsp + 0x50]
call fcn.1400010e0
nop
lea rcx, [rsp + 0x48]
call fcn.140005f50
nop
test rbx, rbx
je 0x140008d1f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x68], r15
or eax, 0xffffffff
jmp 0x140008d54
mov byte [rsp + 0x4c], 0
call fcn.140004ad0
nop
lea rcx, [rsp + 0x48]
call fcn.140005f50
nop
test rbx, rbx
je 0x140008d4d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x68], r15
xor eax, eax
jmp 0x140008d54
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop r15
ret