Function at 0x140179b50
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r14
sub rsp, 0x150
mov rax, qword [0x1404fd7f0]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov rsi, rdx
mov rdi, rcx
xor r14d, r14d
test rdx, rdx
jne 0x140179b8a
mov eax, 0x80070057
jmp 0x140179fdf
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.140166c38
test al, al
jne 0x140179c62
lea rcx, [rsp + 0xb8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0xd8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0xf8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0x98]
call fcn.14007bf60
mov eax, 0x80070057
jmp 0x140179fdf
mov byte [rsp + 0x30], r14b
lea r8, [0x1403bebe0]
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x120]
call fcn.14009d774
nop
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.14017adc8
test eax, eax
sets bl
lea rcx, [rsp + 0x120]
call fcn.14007bf60
test bl, bl
je 0x140179ce8
lea rcx, [rsp + 0xb8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0xd8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0xf8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0x98]
call fcn.14007bf60
mov eax, 0x80070032
jmp 0x140179fdf
cmp byte [rsp + 0x30], r14b
jne 0x140179d30
lea rcx, [rsp + 0xb8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0xd8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0xf8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0x98]
call fcn.14007bf60
mov eax, 0x80070032
jmp 0x140179fdf
mov qword [rsp + 0x38], r14
lea r8, [rsp + 0x98]
lea rcx, [rsp + 0x48]
call fcn.140302504
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140179880
lea rcx, [rsp + 0x48]
call fcn.140179a64
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.0x140084760.0]
mov ebx, eax
cmp eax, 0x80004005
jne 0x140179daf
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x140179d9d
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 0x140179db3
jmp 0x140179dfc
test eax, eax
jns 0x140179dfc
lea rcx, [rsp + 0x38]
call fcn.140179a64
nop
lea rcx, [rsp + 0xb8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0xd8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0xf8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0x98]
call fcn.14007bf60
mov eax, ebx
jmp 0x140179fdf
call fcn.1400a9a24
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140179e64
mov rax, qword [rax + 0x10]
cmp rdx, rax
jbe 0x140179e64
lea rcx, [rsp + 0x38]
call fcn.140179a64
nop
lea rcx, [rsp + 0xb8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0xd8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0xf8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0x98]
call fcn.14007bf60
mov eax, 0x8000000b
jmp 0x140179fdf
lea rax, [rsp + 0x38]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rdi
lea rax, [0x1403a1fe8]
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.1400a9ac4
mov ebx, eax
test eax, eax
jns 0x140179efe
lea rcx, [rsp + 0x38]
call fcn.140179a64
nop
lea rcx, [rsp + 0xb8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0xd8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0xf8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0x98]
call fcn.14007bf60
mov eax, ebx
jmp 0x140179fdf
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.140179a64
nop
lea rcx, [rsp + 0xb8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0xd8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0xf8]
call fcn.14007bf60
nop
lea rcx, [rsp + 0x98]
call fcn.14007bf60
nop
mov eax, ebx
jmp 0x140179fdf
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.140156340
mov rbx, qword [rsp + 0x180]
add rsp, 0x150
pop r14
pop rdi
pop rsi
ret