Function at 0x140042800
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 0x140042a47
test r8, r8
je 0x140042a47
mov rcx, rdx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x140042a47
mov rdx, qword [rbp + 0x40]
lea rcx, [rbp - 0x10]
call fcn.140007840
nop
mov rdx, qword [rbp + 0x60]
lea rcx, [rbp - 0x18]
call fcn.140007840
nop
mov rdx, qword [rbp + 0x48]
lea rcx, [rbp - 0x20]
call fcn.140007840
nop
test rbx, rbx
jne 0x14004288b
mov rcx, rsi
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov rbx, rax
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.140007840
nop
mov rdx, qword [rbp + 0x50]
lea rcx, [rbp - 0x30]
call fcn.140007840
nop
mov rdx, qword [rbp + 0x58]
lea rcx, [rbp + 0x28]
call fcn.140007840
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 0x1400428d0
mov r8d, eax
mov rdx, rsi
call fcn.140008830
lea rcx, [rdi + 0xb0]
mov rax, rbx
nop
inc rax
cmp word [r14 + rax*2], 0
jne 0x1400428f0
mov r8d, eax
mov rdx, r14
call fcn.140008830
mov rax, qword [rbp - 0x28]
cmp dword [rax - 0x10], 0
je 0x140042920
lea rcx, [rdi + 0xc0]
lea rdx, [rbp - 0x28]
call fcn.140046590
mov rax, qword [rbp - 0x10]
cmp dword [rax - 0x10], 0
je 0x140042937
lea rcx, [rdi + 0x30]
lea rdx, [rbp - 0x10]
call fcn.140046590
mov rax, qword [rbp - 0x18]
cmp dword [rax - 0x10], 0
je 0x14004294e
lea rcx, [rdi + 0x50]
lea rdx, [rbp - 0x18]
call fcn.140046590
mov rax, qword [rbp - 0x20]
cmp dword [rax - 0x10], 0
je 0x14004296f
lea rcx, [rdi + 0x10]
lea rdx, [rbp - 0x20]
call fcn.140046590
mov dword [rdi + 0xec], 1
mov rax, qword [rbp - 0x30]
cmp dword [rax - 0x10], 0
je 0x1400429aa
lea rcx, [rdi + 0x70]
lea rdx, [rbp - 0x30]
call fcn.140046590
mov rax, qword [rbp + 0x28]
cmp dword [rax - 0x10], 0
je 0x1400429aa
lea rcx, [rdi + 0x90]
lea rdx, [rbp + 0x28]
call fcn.140046590
mov dword [rdi + 0xec], 0x100
mov rdx, qword [rbp + 0x28]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400429c3
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 0x1400429dc
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 0x1400429f5
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 0x140042a0e
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 0x140042a27
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 0x140042a40
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov eax, 1
jmp 0x140042a49
xor eax, eax
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x80]
add rsp, 0x50
pop r14
pop rdi
pop rbp
ret