Function at 0x14003e610
Capabilities:
Check if file exists

Disassembly:
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp - 8], 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x80], rsi
mov rbx, r9
mov r14, r8
mov rsi, rdx
mov rdi, rcx
test rdx, rdx
je 0x14003e857
test r8, r8
je 0x14003e857
mov rcx, rdx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14003e857
mov rdx, qword [rbp + 0x40]
lea rcx, [rbp - 0x10]
call fcn.140010c50
nop
mov rdx, qword [rbp + 0x60]
lea rcx, [rbp - 0x18]
call fcn.140010c50
nop
mov rdx, qword [rbp + 0x48]
lea rcx, [rbp - 0x20]
call fcn.140010c50
nop
test rbx, rbx
jne 0x14003e69b
mov rcx, rsi
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov rbx, rax
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.140010c50
nop
mov rdx, qword [rbp + 0x50]
lea rcx, [rbp - 0x30]
call fcn.140010c50
nop
mov rdx, qword [rbp + 0x58]
lea rcx, [rbp + 0x28]
call fcn.140010c50
nop
mov dword [rdi + 0xec], 0
lea rcx, [rdi + 0xb8]
or rbx, 0xffffffffffffffff
mov rax, rbx
nop dword [rax]
inc rax
cmp word [rsi + rax*2], 0
jne 0x14003e6e0
mov r8d, eax
mov rdx, rsi
call fcn.140011790
lea rcx, [rdi + 0xb0]
mov rax, rbx
nop
inc rax
cmp word [r14 + rax*2], 0
jne 0x14003e700
mov r8d, eax
mov rdx, r14
call fcn.140011790
mov rax, qword [rbp - 0x28]
cmp dword [rax - 0x10], 0
je 0x14003e730
lea rcx, [rdi + 0xc0]
lea rdx, [rbp - 0x28]
call fcn.1400419c0
mov rax, qword [rbp - 0x10]
cmp dword [rax - 0x10], 0
je 0x14003e747
lea rcx, [rdi + 0x30]
lea rdx, [rbp - 0x10]
call fcn.1400419c0
mov rax, qword [rbp - 0x18]
cmp dword [rax - 0x10], 0
je 0x14003e75e
lea rcx, [rdi + 0x50]
lea rdx, [rbp - 0x18]
call fcn.1400419c0
mov rax, qword [rbp - 0x20]
cmp dword [rax - 0x10], 0
je 0x14003e77f
lea rcx, [rdi + 0x10]
lea rdx, [rbp - 0x20]
call fcn.1400419c0
mov dword [rdi + 0xec], 1
mov rax, qword [rbp - 0x30]
cmp dword [rax - 0x10], 0
je 0x14003e7ba
lea rcx, [rdi + 0x70]
lea rdx, [rbp - 0x30]
call fcn.1400419c0
mov rax, qword [rbp + 0x28]
cmp dword [rax - 0x10], 0
je 0x14003e7ba
lea rcx, [rdi + 0x90]
lea rdx, [rbp + 0x28]
call fcn.1400419c0
mov dword [rdi + 0xec], 0x100
mov rdx, qword [rbp + 0x28]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14003e7d3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14003e7ec
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14003e805
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14003e81e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14003e837
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14003e850
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov eax, 1
jmp 0x14003e859
xor eax, eax
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x80]
add rsp, 0x50
pop r14
pop rdi
pop rbp
ret