Function at 0x14009c830
Capabilities:
Check if file exists
Create process on windows

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov eax, dword [0x14026ed50]
mov rbx, rcx
add eax, 0xffffdc84
cmp eax, 1
ja 0x14009c865
cmp word [rcx + 0xf70], 0
je 0x14009c865
mov esi, 1
jmp 0x14009c867
xor esi, esi
lea rcx, str.UNavTray
xor edx, edx
call qword [sym.imp.USER32.dll_FindWindowW]
mov edx, 3
lea rcx, [0x14026ef10]
lea r8d, [rdx - 2]
mov rdi, rax
call fcn.14002cf20
mov edx, 3
lea rcx, [0x14026ef10]
lea r8d, [rdx - 2]
mov r14, rax
call fcn.14002ce50
xor r8d, r8d
lea rcx, [0x14026ef10]
lea edx, [r8 + 3]
mov r13, rax
call fcn.14002cf20
xor r8d, r8d
lea rcx, [0x14026ef10]
lea edx, [r8 + 3]
mov r15, rax
call fcn.14002ce50
xor r12d, r12d
xor ebp, ebp
mov qword [rsp + 0x98], rax
mov dword [rsp + 0x90], r12d
mov dword [rsp + 0x80], r12d
test rax, rax
je 0x14009c926
mov rcx, qword [rax + 0x58]
xor edx, edx
mov dword [rsp + 0x88], edx
test rcx, rcx
je 0x14009c920
mov rax, qword [rcx]
lea r8, [rsp + 0x88]
mov edx, 0x3000133
call qword [rax + 0x18]
mov edx, dword [rsp + 0x88]
test edx, edx
sete r12b
test r15, r15
je 0x14009c965
mov rcx, qword [r15 + 0x58]
xor eax, eax
mov dword [rsp + 0x88], eax
test rcx, rcx
je 0x14009c957
mov rax, qword [rcx]
lea r8, [rsp + 0x88]
mov edx, 0x3000133
call qword [rax + 0x18]
mov eax, dword [rsp + 0x88]
xor ecx, ecx
test eax, eax
sete cl
mov dword [rsp + 0x90], ecx
test r13, r13
je 0x14009c9a4
mov rcx, qword [r13 + 0x58]
xor eax, eax
mov dword [rsp + 0x80], eax
test rcx, rcx
je 0x14009c996
mov rax, qword [rcx]
lea r8, [rsp + 0x80]
mov edx, 0x3000133
call qword [rax + 0x18]
mov eax, dword [rsp + 0x80]
xor ecx, ecx
test eax, eax
sete cl
mov dword [rsp + 0x80], ecx
test r14, r14
je 0x14009c9db
mov rcx, qword [r14 + 0x58]
xor eax, eax
mov dword [rsp + 0x88], eax
test rcx, rcx
je 0x14009c9d5
mov rax, qword [rcx]
lea r8, [rsp + 0x88]
mov edx, 0x3000133
call qword [rax + 0x18]
mov eax, dword [rsp + 0x88]
test eax, eax
sete bpl
mov ecx, dword [rbx + 0xc]
test ecx, ecx
je 0x14009c9f9
dec ecx
je 0x14009ca22
sub ecx, 0x10
je 0x14009ca22
sub ecx, 0x10
je 0x14009c9f9
cmp ecx, 0x10
jne 0x14009cb55
test esi, esi
je 0x14009cb2d
test rdi, rdi
je 0x14009cb55
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0x10]
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x14009cb55
test esi, esi
je 0x14009ca89
test rdi, rdi
jne 0x14009ca70
lea rax, [0x1401302d8]
lea r8, [rbx + 0xf70]
lea r9, [0x1401226e8]
lea rdx, str.open
xor ecx, ecx
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rax
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
mov rcx, rbx
call fcn.14009db20
mov rdi, rax
test rax, rax
je 0x14009cb55
xor r9d, r9d
xor r8d, r8d
mov edx, 0x4d2
mov rcx, rdi
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x14009cb55
mov eax, dword [rsp + 0x90]
test eax, eax
jne 0x14009ca98
test ebp, ebp
je 0x14009caaa
mov ecx, dword [rsp + 0x80]
test r12d, r12d
jne 0x14009cab1
test ecx, ecx
je 0x14009cacd
jmp 0x14009cab1
mov ecx, dword [rsp + 0x80]
test r15, r15
jne 0x14009cabb
test r14, r14
je 0x14009cade
mov rdx, qword [rsp + 0x98]
test rdx, rdx
jne 0x14009cae6
test r13, r13
jne 0x14009cae6
mov rdx, qword [rbx + 0xe8]
mov rcx, rbx
call fcn.14009c750
jmp 0x14009cb55
mov rdx, qword [rsp + 0x98]
test r12d, r12d
jne 0x14009caef
test ecx, ecx
je 0x14009caf7
test eax, eax
jne 0x14009caf7
test ebp, ebp
je 0x14009cb0b
test rdx, rdx
jne 0x14009cb01
test r13, r13
je 0x14009cb1c
test r15, r15
jne 0x14009cb1c
test r14, r14
jne 0x14009cb1c
mov rdx, qword [rbx + 0xf8]
mov rcx, rbx
call fcn.14009c750
jmp 0x14009cb55
mov rdx, qword [rbx + 0xf0]
mov rcx, rbx
call fcn.14009c750
jmp 0x14009cb55
lea rdx, [rbx + 0x178]
mov ecx, 2
call qword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
test eax, eax
jne 0x14009cb4e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x14009cb55
mov dword [rbx + 0x48], 0
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret