Function at 0x14002a08c
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x140
movaps xmmword [rsp + 0x130], xmm6
mov r15d, r9d
mov r14d, r8d
mov r12, rdx
mov rsi, rcx
mov rax, qword [0x14016e028]
xor rax, rsp
mov qword [rsp + 0x128], rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm0
movzx eax, byte [rcx + 0x17]
mov rcx, rax
test al, al
jns 0x14002a0dd
mov rcx, qword [rsi + 8]
mov ebp, 0x80070057
test rcx, rcx
je 0x14002a36f
mov rcx, rsi
test al, al
jns 0x14002a0f5
mov rcx, qword [rsi]
lea rdx, [rsp + 0x110]
call qword [sym.imp.ole32.dll_IIDFromString]
test eax, eax
js 0x14002a36f
lea rdx, [0x14014beb8]
mov rcx, r12
call fcn.14007450c
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], 0
test eax, eax
jne 0x14002a39b
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x40], rax
movaps xmm0, xmmword [0x140147b90]
movaps xmmword [rsp + 0x30], xmm0
cmp byte [rsi + 0x17], 0
jns 0x14002a15d
mov rsi, qword [rsi]
movabs rbx, 0x7fffffffffffffef
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.1400ad21f
cmp byte [r12 + 0x17], 0
jns 0x14002a180
mov r12, qword [r12]
mov rcx, r12
call fcn.14007adcc
cmp rax, rbx
ja 0x14002a572
mov rsi, rax
cmp rax, 0xb
jae 0x14002a1ad
lea rbp, [rsp + 0xf0]
mov byte [rbp + 0x17], sil
test rsi, rsi
jne 0x14002a1e0
jmp 0x14002a1f1
lea rdi, [rsi + 8]
and rdi, 0xfffffffffffffff8
lea rcx, [rdi + rdi]
call fcn.14007a994
mov rbp, rax
mov qword [rsp + 0xf0], rax
add rbx, 0x11
or rbx, rdi
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0xf8], rsi
mov r8, rsi
add r8, rsi
mov rcx, rbp
mov rdx, r12
call fcn.14007f530
mov word [rbp + rsi*2], 0
lea rsi, [rsp + 0x30]
lea rdx, [rsp + 0xf0]
lea r9, [rsp + 0x80]
mov rcx, rsi
mov r8d, r15d
call fcn.14002a580
mov ebp, eax
cmp byte [rsi + 0x17], 0
jns 0x14002a22a
mov rcx, qword [rsp + 0x30]
call fcn.14007a98c
test ebp, ebp
js 0x14002a358
movaps xmm0, xmmword [0x140147b90]
lea rsi, [rsp + 0xf0]
movaps xmmword [rsi], xmm0
mov rcx, rsi
xor edx, edx
call fcn.140006c60
mov ecx, r14d
mov rdx, rsi
call fcn.140028e5c
test eax, eax
js 0x14002a349
lea rsi, [rsp + 0xd0]
mov qword [rsi], 0
lea rax, [rsp + 0x80]
movzx ecx, byte [rax + 0x17]
test cl, cl
mov rbp, qword [rax]
cmovns rbp, rax
lea rdx, [rsp + 0x20]
mov qword [rdx], rbp
cmovs rcx, qword [rax + 8]
mov qword [rdx + 8], rcx
lea rdi, [rsp + 0x30]
mov rcx, rdi
call fcn.1400f55f0
lea rdx, [rsp + 0xf0]
mov rcx, rdi
mov r8, rsi
call fcn.140028f45
mov ebp, eax
mov rcx, rdi
call fcn.1400f54b0
test ebp, ebp
js 0x14002a324
mov r14, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0xd0]
mov qword [rsp + 0xd0], 0
lea rdi, [rbx + 1]
cmp rdi, 2
jb 0x14002a2ef
call fcn.14003af20
xor ebp, ebp
cmp qword [r14], rbx
je 0x14002a324
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rax, qword [r14]
inc rax
cmp rax, 2
jae 0x14002a559
cmp rdi, 2
jb 0x14002a31c
mov qword [r14], rbx
call fcn.14003af20
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rsp + 0xd0]
inc rax
cmp rax, 2
jb 0x14002a34b
call fcn.14003af20
mov rcx, qword [rsp + 0xd0]
call fcn.1400337d0
jmp 0x14002a34b
mov ebp, eax
lea rcx, [rsp + 0xf0]
call fcn.140075920
cmp byte [rsp + 0x97], 0
jns 0x14002a36f
mov rcx, qword [rsp + 0x80]
call fcn.14007a98c
mov rcx, qword [rsp + 0x128]
xor rcx, rsp
call fcn.14007d5a0
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x130]
add rsp, 0x140
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
movabs rbx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x40], rbx
movaps xmm6, xmmword [0x140147b90]
movaps xmmword [rsp + 0x30], xmm6
cmp byte [rsi + 0x17], 0
jns 0x14002a3bf
mov rsi, qword [rsi]
lea rbp, [rsp + 0x30]
mov rcx, rbp
mov rdx, rsi
call fcn.1400ad21f
mov qword [rsp + 0x100], rbx
movaps xmmword [rsp + 0xf0], xmm6
lea rsi, [rsp + 0x98]
mov rcx, rsi
mov rdx, rbp
mov r8w, 0x5c
call fcn.1400da0a7
lea rdx, str.Commands
mov r8d, 8
mov rcx, rsi
call fcn.14004a704
movups xmm0, xmmword [rax]
lea rsi, [rsp + 0xb0]
movaps xmmword [rsi], xmm0
mov rcx, qword [rax + 0x10]
mov qword [rsi + 0x10], rcx
xor ebp, ebp
mov qword [rax + 0x10], rbp
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov rcx, rsi
mov dx, 0x5c
call fcn.140046c48
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0xe0], rax
movaps xmm0, xmmword [rsi]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsi], xmm6
mov qword [rsi + 0x10], rbp
movzx r8d, byte [r12 + 0x17]
test r8b, r8b
jns 0x14002a46c
mov r8, qword [r12 + 8]
mov r12, qword [r12]
lea rsi, [rsp + 0xd0]
mov rcx, rsi
mov rdx, r12
call fcn.14004a704
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x100], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xf0], xmm0
movups xmmword [rax], xmm6
mov qword [rax + 0x10], rbp
cmp byte [rsi + 0x17], 0
jns 0x14002a4b0
mov rcx, qword [rsp + 0xd0]
call fcn.14007a98c
cmp byte [rsp + 0xc7], 0
jns 0x14002a4c7
mov rcx, qword [rsp + 0xb0]
call fcn.14007a98c
cmp byte [rsp + 0xaf], 0
jns 0x14002a4de
mov rcx, qword [rsp + 0x98]
call fcn.14007a98c
mov ecx, 0x20
call fcn.14007a994
lea rdx, [rsp + 0xd0]
mov qword [rdx], rax
movaps xmm0, xmmword [0x14014aeb0]
movups xmmword [rdx + 8], xmm0
movaps xmm0, xmmword [str.CommandLine]
movups xmmword [rax], xmm0
mov rcx, qword [0x14014beae]
mov qword [rax + 0xe], rcx
mov word [rax + 0x16], 0
lea rsi, [rsp + 0xf0]
lea r9, [rsp + 0x80]
mov rcx, rsi
mov r8d, r15d
call fcn.14002a580
mov ebp, eax
cmp byte [rsi + 0x17], 0
jns 0x14002a549
mov rcx, qword [rsp + 0xf0]
call fcn.14007a98c
cmp byte [rsp + 0x47], 0
jns 0x14002a22a
jmp 0x14002a220
call fcn.14003af20
mov rcx, qword [r14]
call fcn.1400337d0
mov qword [r14], 0
jmp 0x14002a30e
lea rcx, [rsp + 0xf0]
call fcn.1400da168
int3