Function at 0x14001c07c
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x190
movaps xmmword [rsp + 0x180], xmm6
mov r14, r9
mov r15d, r8d
mov rbx, rdx
mov r12, rcx
mov rax, qword [0x140173028]
xor rax, rsp
mov qword [rsp + 0x178], rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x160], xmm0
movzx ecx, byte [rcx + 0x17]
mov rax, rcx
test cl, cl
jns 0x14001c0ce
mov rax, qword [r12 + 8]
mov ebp, 0x80070057
test rax, rax
je 0x14001c697
mov rdi, r12
test cl, cl
jns 0x14001c0e7
mov rdi, qword [r12]
lea rdx, [rsp + 0xa8]
mov qword [rdx], rdi
mov qword [rdx + 8], rax
lea rdi, [rsp + 0x30]
mov rcx, rdi
call fcn.14004e300
cmp byte [rdi + 0x17], 0
jns 0x14001c10e
mov rdi, qword [rsp + 0x30]
lea rdx, [rsp + 0x160]
mov rcx, rdi
call qword [sym.imp.ole32.dll_IIDFromString]
mov edi, eax
cmp byte [rsp + 0x47], 0
jns 0x14001c132
mov rcx, qword [rsp + 0x30]
call fcn.140082794
test edi, edi
js 0x14001c697
cmp byte [0x14017ddf8], 0
je 0x14001c1a3
lea rcx, [0x140151a08]
lea rdi, [rsp + 0x98]
mov qword [rdi], rcx
call fcn.14009db00
mov qword [rdi + 8], rax
lea rbp, [rsp + 0x30]
mov rcx, rbp
mov rdx, rdi
call fcn.14004e270
movzx r9d, byte [rbp + 0x17]
test r9b, r9b
mov r11, r9
cmovs r11, qword [rbp + 8]
mov rcx, qword [rbp]
cmovs rbp, rcx
movzx r10d, byte [rbx + 0x17]
test r10b, r10b
js 0x14001c20a
cmp r11, r10
setb r8b
mov rdi, r10
cmovb rdi, r11
mov rsi, rbx
jmp 0x14001c21f
lea rcx, [0x140151a08]
lea rdi, [rsp + 0x140]
mov qword [rdi], rcx
call fcn.14009db00
mov qword [rdi + 8], rax
lea rbp, [rsp + 0x30]
mov rcx, rbp
mov rdx, rdi
call fcn.14004e270
movzx r9d, byte [rbp + 0x17]
test r9b, r9b
mov r11, r9
cmovs r11, qword [rbp + 8]
mov rcx, qword [rbp]
cmovs rbp, rcx
movzx r10d, byte [rbx + 0x17]
test r10b, r10b
js 0x14001c614
cmp r11, r10
setb r8b
mov rdi, r10
cmovb rdi, r11
mov rax, rbx
jmp 0x14001c629
mov rsi, qword [rbx]
mov r10, qword [rbx + 8]
cmp r11, r10
setb r8b
mov rdi, r10
cmovb rdi, r11
test rdi, rdi
je 0x14001c239
xor eax, eax
movzx edx, word [rbp + rax*2]
cmp dx, word [rsi + rax*2]
jne 0x14001c24a
inc rax
cmp rdi, rax
jne 0x14001c226
cmp r10, r11
movzx eax, r8b
mov esi, 0xffffffff
cmovae esi, eax
jmp 0x14001c24f
mov esi, 0xffffffff
test r9b, r9b
jns 0x14001c259
call fcn.140082794
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], 0
movabs rax, 0xaaaaaaaaaaaaaaaa
test esi, esi
jne 0x14001c6c3
mov qword [rsp + 0x40], rax
movaps xmm0, xmmword [0x14014df90]
movaps xmmword [rsp + 0x30], xmm0
movzx eax, byte [r12 + 0x17]
test al, al
mov rcx, qword [r12]
cmovns rcx, r12
lea rdx, [rsp + 0xd0]
mov qword [rdx], rcx
cmovs rax, qword [r12 + 8]
mov qword [rdx + 8], rax
lea rbp, [rsp + 0x140]
mov rcx, rbp
call fcn.14004e300
cmp byte [rbp + 0x17], 0
jns 0x14001c2d6
mov rbp, qword [rsp + 0x140]
lea rsi, [rsp + 0x30]
mov rcx, rsi
mov rdx, rbp
call fcn.1400d4a96
cmp byte [rsp + 0x157], 0
jns 0x14001c2fd
mov rcx, qword [rsp + 0x140]
call fcn.140082794
cmp byte [rbx + 0x17], 0
jns 0x14001c306
mov rbx, qword [rbx]
movabs r12, 0x7fffffffffffffef
cmp word [rbx], 0
je 0x14001c346
xor ebp, ebp
cmp word [rbx + rbp*2 + 2], 0
lea rbp, [rbp + 1]
jne 0x14001c318
cmp rbp, r12
ja 0x14001c94a
cmp rbp, 0xb
jae 0x14001c356
lea rax, [rsp + 0x140]
mov byte [rax + 0x17], bpl
test rbp, rbp
jne 0x14001c387
jmp 0x14001c352
lea rax, [rsp + 0x140]
mov byte [rax + 0x17], 0
xor ebp, ebp
jmp 0x14001c399
lea rdi, [rbp + 8]
and rdi, 0xfffffffffffffff8
lea rcx, [rdi + rdi]
call fcn.140082758
mov qword [rsp + 0x140], rax
lea rcx, [r12 + 0x11]
or rcx, rdi
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x148], rbp
xor ecx, ecx
movzx edx, word [rbx + rcx*2]
mov word [rax + rcx*2], dx
inc rcx
cmp rbp, rcx
jne 0x14001c389
movzx ecx, byte [rsp + 0x47]
test cl, cl
cmovs rsi, qword [rsp + 0x30]
mov word [rax + rbp*2], 0
lea rdx, [rsp + 0xb8]
mov qword [rdx], rsi
cmovs rcx, qword [rsp + 0x38]
mov qword [rdx + 8], rcx
lea rsi, [rsp + 0x110]
mov rcx, rsi
call fcn.14004e270
cmp byte [rsi + 0x17], 0
jns 0x14001c3df
mov rsi, qword [rsp + 0x110]
cmp word [rsi], 0
je 0x14001c414
xor ebx, ebx
cmp word [rsi + rbx*2 + 2], 0
lea rbx, [rbx + 1]
jne 0x14001c3e7
cmp rbx, r12
ja 0x14001c957
cmp rbx, 0xb
jae 0x14001c424
lea rax, [rsp + 0x128]
mov byte [rax + 0x17], bl
test rbx, rbx
jne 0x14001c454
jmp 0x14001c420
lea rax, [rsp + 0x128]
mov byte [rax + 0x17], 0
xor ebx, ebx
jmp 0x14001c466
lea rdi, [rbx + 8]
and rdi, 0xfffffffffffffff8
lea rcx, [rdi + rdi]
call fcn.140082758
mov qword [rsp + 0x128], rax
add r12, 0x11
or r12, rdi
mov qword [rsp + 0x138], r12
mov qword [rsp + 0x130], rbx
xor ecx, ecx
movzx edx, word [rsi + rcx*2]
mov word [rax + rcx*2], dx
inc rcx
cmp rbx, rcx
jne 0x14001c456
mov word [rax + rbx*2], 0
lea rsi, [rsp + 0x128]
lea rdx, [rsp + 0x140]
lea r8, [rsp + 0x80]
mov rcx, rsi
call fcn.14001c965
mov ebp, eax
cmp byte [rsi + 0x17], 0
jns 0x14001c4a1
mov rcx, qword [rsp + 0x128]
call fcn.140082794
cmp byte [rsp + 0x127], 0
jns 0x14001c4b8
mov rcx, qword [rsp + 0x110]
call fcn.140082794
cmp byte [rsp + 0x47], 0
jns 0x14001c4c9
mov rcx, qword [rsp + 0x30]
call fcn.140082794
test ebp, ebp
js 0x14001c680
movaps xmm0, xmmword [0x14014df90]
lea rcx, [rsp + 0x140]
movaps xmmword [rcx], xmm0
xor edx, edx
call fcn.140024090
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp eax, r15d
jne 0x14001c51c
lea rsi, [rsp + 0x30]
mov rcx, rsi
call fcn.140024110
lea rcx, [rsp + 0x140]
mov rdx, rsi
call fcn.14004f740
mov rcx, rsi
call fcn.14004f710
jmp 0x14001c534
lea rdx, [rsp + 0x140]
mov ecx, r15d
call fcn.14001aaec
test eax, eax
js 0x14001c671
lea rsi, [rsp + 0x128]
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.1400cf100
lea rdx, [rsp + 0x140]
mov rcx, rdi
mov r8, rsi
call fcn.14001b3ca
mov ebp, eax
mov rcx, rdi
call fcn.1400ce980
test ebp, ebp
js 0x14001c5ef
mov rdi, qword [rsp + 0x128]
mov qword [rsp + 0x128], 0
lea rbx, [rdi + 1]
cmp rbx, 2
jb 0x14001c5ba
call fcn.14004cb60
xor ebp, ebp
cmp qword [r14], rdi
je 0x14001c5ef
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rax, qword [r14]
inc rax
cmp rax, 2
jae 0x14001c931
cmp rbx, 2
jb 0x14001c5e7
mov qword [r14], rdi
call fcn.14004cb60
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rsp + 0x128]
inc rax
cmp rax, 2
jb 0x14001c673
call fcn.14004cb60
mov rcx, qword [rsp + 0x128]
call fcn.14004fcb0
jmp 0x14001c673
mov rax, qword [rbx]
mov r10, qword [rbx + 8]
cmp r11, r10
setb r8b
mov rdi, r10
cmovb rdi, r11
test rdi, rdi
je 0x14001c643
xor esi, esi
movzx edx, word [rbp + rsi*2]
cmp dx, word [rax + rsi*2]
jne 0x14001c654
inc rsi
cmp rdi, rsi
jne 0x14001c630
cmp r10, r11
movzx eax, r8b
mov esi, 0xffffffff
cmovae esi, eax
jmp 0x14001c659
mov esi, 0xffffffff
test r9b, r9b
jns 0x14001c663
call fcn.140082794
mov ebp, 0x80070005
test esi, esi
jne 0x14001c697
jmp 0x14001c143
mov ebp, eax
lea rcx, [rsp + 0x140]
call fcn.14004f710
cmp byte [rsp + 0x97], 0
jns 0x14001c697
mov rcx, qword [rsp + 0x80]
call fcn.140082794
mov rcx, qword [rsp + 0x178]
xor rcx, rsp
call fcn.140083c00
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x180]
add rsp, 0x190
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov qword [rsp + 0x40], rax
movaps xmm0, xmmword [0x14014df90]
movaps xmmword [rsp + 0x30], xmm0
movzx eax, byte [r12 + 0x17]
test al, al
mov rcx, qword [r12]
cmovns rcx, r12
lea rdx, [rsp + 0x100]
mov qword [rdx], rcx
cmovs rax, qword [r12 + 8]
mov qword [rdx + 8], rax
lea rsi, [rsp + 0x140]
mov rcx, rsi
call fcn.14004e300
cmp byte [rsi + 0x17], 0
jns 0x14001c717
mov rsi, qword [rsp + 0x140]
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.1400d4a96
cmp byte [rsp + 0x157], 0
jns 0x14001c73b
mov rcx, qword [rsp + 0x140]
call fcn.140082794
movzx eax, byte [rbx + 0x17]
test al, al
mov rcx, qword [rbx]
cmovns rcx, rbx
lea rdx, [rsp + 0xf0]
mov qword [rdx], rcx
cmovs rax, qword [rbx + 8]
mov qword [rdx + 8], rax
lea rsi, [rsp + 0x128]
mov rcx, rsi
call fcn.14004e300
movzx edi, word [0x140153dc6]
lea rbx, [rsp + 0xb8]
lea rdx, [rsp + 0x30]
mov rcx, rbx
mov r8d, edi
call fcn.1400b1319
lea rdx, str.Commands
mov rcx, rbx
call fcn.140048822
movups xmm0, xmmword [rax]
lea rbx, [rsp + 0xd0]
movaps xmmword [rbx], xmm0
mov rcx, qword [rax + 0x10]
mov qword [rbx + 0x10], rcx
xor ebp, ebp
mov qword [rax + 0x10], rbp
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov rcx, rbx
mov edx, edi
call fcn.14004839c
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x120], rax
movaps xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rbx], xmm6
mov qword [rbx + 0x10], rbp
movzx r8d, byte [rsi + 0x17]
test r8b, r8b
jns 0x14001c7fe
mov r8, qword [rsp + 0x130]
mov rsi, qword [rsp + 0x128]
lea rdi, [rsp + 0x110]
mov rcx, rdi
mov rdx, rsi
call fcn.140047f46
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x150], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x140], xmm0
movups xmmword [rax], xmm6
mov qword [rax + 0x10], rbp
cmp byte [rdi + 0x17], 0
jns 0x14001c842
mov rcx, qword [rsp + 0x110]
call fcn.140082794
cmp byte [rsp + 0xe7], 0
jns 0x14001c859
mov rcx, qword [rsp + 0xd0]
call fcn.140082794
cmp byte [rsp + 0xcf], 0
jns 0x14001c870
mov rcx, qword [rsp + 0xb8]
call fcn.140082794
cmp byte [rsp + 0x13f], 0
jns 0x14001c887
mov rcx, qword [rsp + 0x128]
call fcn.140082794
lea rcx, str.CommandLine
lea rsi, [rsp + 0xd0]
mov qword [rsi], rcx
call fcn.14009db00
mov qword [rsi + 8], rax
lea rdi, [rsp + 0x128]
mov rcx, rdi
mov rdx, rsi
call fcn.14004e270
lea rax, [rsp + 0x140]
movzx ecx, byte [rax + 0x17]
test cl, cl
mov rbp, qword [rax]
cmovns rbp, rax
lea rdx, [rsp + 0xb8]
mov qword [rdx], rbp
cmovs rcx, qword [rax + 8]
mov qword [rdx + 8], rcx
lea rsi, [rsp + 0x110]
mov rcx, rsi
call fcn.14004e270
lea r8, [rsp + 0x80]
mov rcx, rsi
mov rdx, rdi
call fcn.14001c965
mov ebp, eax
cmp byte [rsi + 0x17], 0
jns 0x14001c916
mov rcx, qword [rsp + 0x110]
call fcn.140082794
cmp byte [rsp + 0x157], 0
jns 0x14001c4b8
mov rcx, qword [rsp + 0x140]
jmp 0x14001c4b3
call fcn.14004cb60
mov rcx, qword [r14]
call fcn.14004fcb0
mov qword [r14], 0
jmp 0x14001c5d9
lea rcx, [rsp + 0x140]
call fcn.1400cce14
lea rcx, [rsp + 0x128]
call fcn.1400cce14
int3