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

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov qword [rbp - 0x28], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov r12, rcx
xor sil, sil
lea rdx, [rbp - 0x48]
call fcn.14011ac24
nop
mov rdx, qword [rbp - 0x48]
lea rcx, [rbp + 0x58]
call fcn.14000cb18
nop
mov rdx, qword [rbp - 0x48]
lea rcx, [rbp + 0x48]
call fcn.14000cb18
nop
lea rcx, [rbp + 0x48]
call fcn.140050bb8
lea rcx, section..data
mov rax, qword [section..data]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x50], rax
mov rax, qword [r12 + 0x10]
lea rdx, [rbp - 0x38]
lea rcx, [r12 + 0x10]
call qword [rax + 0x18]
nop
mov r8, qword [rax]
lea rdx, [0x140368998]
lea rcx, [rbp - 0x50]
call fcn.14000d9c8
nop
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
or r14d, 0xffffffff
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x14011b410
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r13, [0x140330de8]
mov r8, r13
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp + 0x48]
call fcn.14000b658
mov rcx, qword [rbp + 0x58]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14011b62c
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x14011b62c
mov rcx, qword [rbp + 0x58]
call fcn.14011ab24
mov edi, eax
test eax, eax
je 0x14011b4df
mov ecx, 0x30
call fcn.1400be454
mov qword [rbp - 0x20], rax
test rax, rax
je 0x14011b47c
mov edx, edi
mov rcx, rax
call fcn.14009e060
nop
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.14009dd78
nop
lea rcx, [r12 + 8]
mov rax, qword [rcx]
lea rdx, [rbp - 0x18]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rbx, qword [rbp - 0x10]
test rbx, rbx
je 0x14011b62c
mov eax, r14d
lock xadd dword [rbx + 8], eax
add eax, r14d
jne 0x14011b62c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
add eax, r14d
jne 0x14011b62c
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
jmp 0x14011b62c
mov rax, qword [r12 + 0x10]
lea rcx, [r12 + 0x10]
call qword [rax + 0x78]
mov r15d, 1
test al, al
jne 0x14011b50a
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x40]
cmp eax, 2
je 0x14011b50a
xor dil, dil
jmp 0x14011b50d
mov dil, r15b
lea rcx, section..data
mov rax, qword [section..data]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x50], rax
mov rax, qword [r12 + 0x10]
lea rdx, [rbp - 0x30]
lea rcx, [r12 + 0x10]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [0x140387168]
test dil, dil
cmovne r13, rcx
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x48]
mov r8, r13
lea rdx, str._s_INSTDIR_s__L_s
lea rcx, [rbp + 0x50]
call fcn.14000d9c8
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x14011b586
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r12 + 0x10]
lea rdx, [rbp - 0x40]
lea rcx, [r12 + 0x10]
call qword [rax + 0x98]
nop
mov r8, qword [rbp - 0x40]
cmp dword [r8 - 0x10], 0
je 0x14011b5b6
lea rdx, str.__COMMANDLINE_s
lea rcx, [rbp + 0x50]
call fcn.14000d638
mov dword [rsp + 0x28], 5
mov rax, qword [rbp + 0x48]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x50]
mov r8, qword [rbp + 0x58]
lea rdx, [0x14034e618]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
movzx esi, sil
cmp rax, 0x20
cmovg esi, r15d
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x14011b60b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x14011b62c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x14011b64d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x14011b66e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x14011b68f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
mov ecx, r14d
lock xadd dword [rdx + 0x10], ecx
add ecx, r14d
test ecx, ecx
jg 0x14011b6b0
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov al, sil
mov rbx, qword [rsp + 0xc0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret