Function at 0x14017ac40
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r14
sub rsp, 0x150
mov rax, qword [0x1404fa650]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov rsi, rdx
mov rdi, rcx
xor r14d, r14d
test rdx, rdx
jne 0x14017ac7a
mov eax, 0x80070057
jmp 0x14017b0cf
mov qword [rsp + 0xa8], r14
mov eax, 7
mov qword [rsp + 0xb0], rax
mov word [rsp + 0x98], r14w
mov qword [rsp + 0x108], r14
mov qword [rsp + 0x110], rax
mov word [rsp + 0xf8], r14w
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0xf0], rax
mov word [rsp + 0xd8], r14w
mov qword [rsp + 0xc8], r14
mov qword [rsp + 0xd0], rax
mov word [rsp + 0xb8], r14w
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xd8]
lea r8, [rsp + 0xf8]
lea rdx, [rsp + 0x98]
call fcn.140167ef8
test al, al
jne 0x14017ad52
lea rcx, [rsp + 0xb8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0xd8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0xf8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0x98]
call fcn.14007bc80
mov eax, 0x80070057
jmp 0x14017b0cf
mov byte [rsp + 0x30], r14b
lea r8, [0x1403bcfa0]
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x120]
call fcn.14009d9e4
nop
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.14017beb8
test eax, eax
sets bl
lea rcx, [rsp + 0x120]
call fcn.14007bc80
test bl, bl
je 0x14017add8
lea rcx, [rsp + 0xb8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0xd8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0xf8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0x98]
call fcn.14007bc80
mov eax, 0x80070032
jmp 0x14017b0cf
cmp byte [rsp + 0x30], r14b
jne 0x14017ae20
lea rcx, [rsp + 0xb8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0xd8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0xf8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0x98]
call fcn.14007bc80
mov eax, 0x80070032
jmp 0x14017b0cf
mov qword [rsp + 0x38], r14
lea r8, [rsp + 0x98]
lea rcx, [rsp + 0x48]
call fcn.1402fff94
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.14017a970
lea rcx, [rsp + 0x48]
call fcn.14017ab54
mov qword [rsp + 0x40], r14
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
movabs r10, 0xa7f99743785d6870
lea r8, [rsp + 0x40]
mov rdx, rdi
mov rax, qword [rax + 0x18]
call qword [case.0x140084480.0]
mov ebx, eax
cmp eax, 0x80004005
jne 0x14017ae9f
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14017ae8d
mov rcx, qword [rdi]
call qword [sym.imp.api_ms_win_core_shlwapi_legacy_l1_1_0.dll_PathFileExistsW]
nop dword [rax + rax]
test eax, eax
jne 0x14017aea3
jmp 0x14017aeec
test eax, eax
jns 0x14017aeec
lea rcx, [rsp + 0x38]
call fcn.14017ab54
nop
lea rcx, [rsp + 0xb8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0xd8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0xf8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0x98]
call fcn.14007bc80
mov eax, ebx
jmp 0x14017b0cf
call fcn.1400a9c94
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14017af54
mov rax, qword [rax + 0x10]
cmp rdx, rax
jbe 0x14017af54
lea rcx, [rsp + 0x38]
call fcn.14017ab54
nop
lea rcx, [rsp + 0xb8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0xd8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0xf8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0x98]
call fcn.14007bc80
mov eax, 0x8000000b
jmp 0x14017b0cf
lea rax, [rsp + 0x38]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rdi
lea rax, [0x14039ffe8]
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x120]
movdqu xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x90], rax
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x58]
call fcn.1400a9d34
mov ebx, eax
test eax, eax
jns 0x14017afee
lea rcx, [rsp + 0x38]
call fcn.14017ab54
nop
lea rcx, [rsp + 0xb8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0xd8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0xf8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0x98]
call fcn.14007bc80
mov eax, ebx
jmp 0x14017b0cf
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, 0x1d0
mov rax, qword [rax + rcx]
movups xmm0, xmmword [rax]
movups xmmword [rsi + 1], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsi + 0x11], xmm1
mov eax, 0x1b8
mov rax, qword [rax + rcx]
movups xmm0, xmmword [rax]
movups xmmword [rsi + 0x21], xmm0
mov eax, dword [rax + 0x10]
mov dword [rsi + 0x31], eax
mov eax, 0x1e8
mov rax, qword [rax + rcx]
movups xmm0, xmmword [rax]
movdqu xmmword [rsi + 0x35], xmm0
mov eax, 0x188
mov rax, qword [rax + rcx]
movups xmm0, xmmword [rax]
movups xmmword [rsi + 0x45], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsi + 0x55], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rsi + 0x65], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rsi + 0x75], xmm1
mov eax, 0x1a0
mov rcx, qword [rax + rcx]
mov eax, dword [rcx]
mov dword [rsi + 0x88], eax
mov eax, dword [rcx + 4]
mov dword [rsi + 0x8c], eax
mov eax, dword [rcx + 8]
mov dword [rsi + 0x90], eax
lea rcx, [rsp + 0x38]
call fcn.14017ab54
nop
lea rcx, [rsp + 0xb8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0xd8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0xf8]
call fcn.14007bc80
nop
lea rcx, [rsp + 0x98]
call fcn.14007bc80
nop
mov eax, ebx
jmp 0x14017b0cf
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.140157600
mov rbx, qword [rsp + 0x180]
add rsp, 0x150
pop r14
pop rdi
pop rsi
ret