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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x418]
sub rsp, 0x500
mov rax, qword [0x180025070]
xor rax, rsp
mov qword [rbp + 0x3f0], rax
xor edi, edi
mov rsi, rcx
test rdx, rdx
jne 0x1800029c7
mov eax, 0x80070057
jmp 0x180002f10
or ebx, 0xffffffff
cmp word [rdx + 0x12], di
jne 0x1800029d4
movzx ebx, word [rdx + 0x10]
lea rdx, [rbp - 0x58]
call fcn.180001da8
lea rcx, [rbp - 0x58]
call fcn.18000316c
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x180002f00
lea rcx, [rsp + 0x38]
call fcn.180002f6c
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x38]
lea rcx, [rsi + 0x48]
mov dword [rsp + 0x30], ebx
call fcn.180003458
lea rdx, [rsp + 0x40]
lea rcx, [rsi + 0x48]
call fcn.180003438
lea rcx, [rsp + 0x38]
mov rdx, rax
call fcn.180003664
test al, al
je 0x180002f00
lea rcx, [rsp + 0x38]
call fcn.18000364c
mov r14, rax
mov ecx, dword [rax + 8]
dec ecx
je 0x180002f3c
dec ecx
je 0x180002e12
dec ecx
je 0x180002f05
dec ecx
je 0x180002f05
dec ecx
je 0x180002d4a
dec ecx
je 0x180002bcb
dec ecx
je 0x180002b03
dec ecx
jne 0x180002f00
lea rdx, [0x180020030]
lea rcx, [rbp - 0x78]
call fcn.180003054
lea rcx, [rsi + 0x30]
xor edx, edx
call fcn.1800032e4
lea rcx, [rbp - 0x78]
mov rdx, rax
call fcn.180003104
lea rdx, [0x180020038]
lea rcx, [rbp - 0x78]
call fcn.18000310c
lea rcx, [rbp - 0x78]
call fcn.18000316c
lea rcx, [rbp - 0x58]
mov rbx, rax
call fcn.18000316c
lea rdx, str.open
mov r9, rbx
xor ecx, ecx
mov r8, rax
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
lea rcx, [rbp - 0x78]
call fcn.1800030d4
jmp 0x180002f05
lea rcx, [rsp + 0x30]
call fcn.180002f8c
add rsi, 0x30
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.180003298
jmp 0x180002ba4
lea rdx, str.ec__
lea rcx, [rbp - 0x78]
call fcn.180003054
lea rcx, [rsp + 0x30]
call fcn.180003678
lea rcx, [rbp - 0x78]
mov rdx, rax
call fcn.180003104
lea rdx, [0x180020038]
lea rcx, [rbp - 0x78]
call fcn.18000310c
lea rcx, [rbp - 0x78]
call fcn.18000316c
lea rcx, [rbp - 0x58]
mov rbx, rax
call fcn.18000316c
lea rdx, str.open
mov r9, rbx
xor ecx, ecx
mov r8, rax
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
lea rcx, [rbp - 0x78]
call fcn.1800030d4
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.180003698
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.1800032b8
lea rcx, [rsp + 0x30]
mov rdx, rax
call fcn.180003664
test al, al
jne 0x180002b23
jmp 0x180002f05
lea rcx, [rsp + 0x30]
call fcn.180002f8c
add rsi, 0x30
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.180003298
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.1800032b8
lea rcx, [rsp + 0x30]
mov rdx, rax
call fcn.180003664
test al, al
je 0x180002f05
mov r15d, 0x206
lea rdx, str.et__
lea rcx, [rbp - 0x78]
call fcn.180003054
lea rcx, [rbp - 0x2e]
mov r8, r15
xor edx, edx
mov word [rbp - 0x30], di
call fcn.18000ac00
lea rcx, [rsp + 0x30]
call fcn.180003680
mov rcx, rax
call fcn.18000316c
lea rcx, [rbp - 0x30]
mov edx, 0x208
mov r8, rax
call fcn.180001a84
lea rcx, [rbp - 0x30]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea rcx, [rbp + 0x1e2]
mov r8, r15
xor edx, edx
mov word [rbp + 0x1e0], di
call fcn.18000ac00
lea rcx, [r14 + 0x10]
call fcn.18000316c
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x1e0]
mov r8, rax
call qword [sym.imp.SHLWAPI.dll_PathCombineW]
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp - 0x78]
call fcn.18000310c
lea rdx, [0x180020098]
lea rcx, [rbp - 0x78]
call fcn.18000310c
lea rcx, [rsp + 0x30]
call fcn.180003678
lea rcx, [rbp - 0x78]
mov rdx, rax
call fcn.180003104
lea rdx, [0x180020038]
lea rcx, [rbp - 0x78]
call fcn.18000310c
lea rcx, [rbp - 0x78]
call fcn.18000316c
lea rcx, [rbp - 0x58]
mov rbx, rax
call fcn.18000316c
lea rdx, str.open
mov r9, rbx
xor ecx, ecx
mov r8, rax
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
lea rcx, [rbp - 0x78]
call fcn.1800030d4
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.180003698
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.1800032b8
lea rcx, [rsp + 0x30]
mov rdx, rax
call fcn.180003664
test al, al
jne 0x180002c0e
jmp 0x180002f05
lea rcx, [rsp + 0x30]
call fcn.180002f8c
add rsi, 0x30
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.180003298
jmp 0x180002deb
lea rdx, [0x180020070]
lea rcx, [rbp - 0x78]
call fcn.180003054
lea rcx, [rsp + 0x30]
call fcn.180003678
lea rcx, [rbp - 0x78]
mov rdx, rax
call fcn.180003104
lea rdx, [0x180020038]
lea rcx, [rbp - 0x78]
call fcn.18000310c
lea rcx, [rbp - 0x78]
call fcn.18000316c
lea rcx, [rbp - 0x58]
mov rbx, rax
call fcn.18000316c
lea rdx, str.open
mov r9, rbx
xor ecx, ecx
mov r8, rax
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
lea rcx, [rbp - 0x78]
call fcn.1800030d4
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.180003698
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1800032b8
lea rcx, [rsp + 0x30]
mov rdx, rax
call fcn.180003664
test al, al
jne 0x180002d6a
jmp 0x180002f05
lea rdx, str.ac__
lea rcx, [rbp - 0x78]
call fcn.180003054
mov r15d, 0x206
lea rcx, [rbp - 0x2e]
mov r8d, r15d
xor edx, edx
mov word [rbp - 0x30], di
call fcn.18000ac00
lea rcx, [rsi + 0x30]
xor edx, edx
call fcn.1800032e4
mov rcx, rax
call fcn.18000316c
lea edx, [r15 + 2]
lea rcx, [rbp - 0x30]
mov r8, rax
call fcn.180001a84
lea rcx, [rbp - 0x30]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea rcx, [rbp + 0x1e2]
mov r8d, r15d
xor edx, edx
mov word [rbp + 0x1e0], di
call fcn.18000ac00
lea rcx, [r14 + 0x10]
call fcn.18000316c
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x1e0]
mov r8, rax
call qword [sym.imp.SHLWAPI.dll_PathCombineW]
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp - 0x78]
call fcn.18000310c
lea rdx, [0x180020064]
lea rcx, [rbp - 0x78]
call fcn.18000310c
lea rcx, [rsp + 0x38]
call fcn.180002f8c
lea rcx, [rsp + 0x38]
call fcn.180002f74
lea rcx, [rsp + 0x58]
lea rdx, [rsi + 0x30]
call fcn.180003194
lea r9, [rbp - 0x78]
lea r8, [rsp + 0x38]
mov rdx, rax
call fcn.180002748
lea rcx, [rbp - 0x78]
test eax, eax
je 0x180002ac6
call fcn.1800030d4
mov edi, 0x80004005
lea rcx, [rbp - 0x58]
call fcn.1800030d4
mov eax, edi
mov rcx, qword [rbp + 0x3f0]
xor rcx, rsp
call fcn.18000a9b0
lea r11, [rsp + 0x500]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
lea rdx, [0x18002004c]
lea rcx, [rbp - 0x78]
call fcn.180003054
lea rcx, [rsp + 0x38]
call fcn.180002f8c
lea rcx, [rsp + 0x38]
call fcn.180002f74
lea rcx, [rsp + 0x70]
jmp 0x180002ed5