Function at 0x140013b94
Capabilities:
Check if file exists

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x400
lea rbp, [rsp + 0x50]
mov qword [rbp + 0x70], 0xfffffffffffffffe
mov qword [rbp + 0x408], rbx
mov rax, qword [0x1402979c0]
xor rax, rbp
mov qword [rbp + 0x3a0], rax
mov rsi, r8
mov rdi, rdx
mov r14, rcx
mov qword [rbp + 0x80], rdx
mov qword [rbp + 0x78], r8
xor eax, eax
mov qword [rbp + 0x90], rax
call fcn.1400157c0
mov rdx, rax
xor r15d, r15d
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x140013c0c
mov ecx, 0x80004005
call fcn.14000d27c
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x90], rax
call fcn.1400157c0
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x140013c40
mov ecx, 0x80004005
call fcn.14000d27c
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x18], rax
call fcn.1400157c0
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x140013c71
mov ecx, 0x80004005
call fcn.14000d27c
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x10], rax
call fcn.1400157c0
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x140013ca2
mov ecx, 0x80004005
call fcn.14000d27c
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp], rax
call fcn.1400157c0
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x140013cd3
mov ecx, 0x80004005
call fcn.14000d27c
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 8], rax
mov r8, qword [rdi]
or r12, 0xffffffffffffffff
movabs r13, 0xffffffffffffff0
test r8, r8
je 0x140013d6d
mov rcx, r12
inc rcx
cmp word [r8 + rcx*2], r15w
jne 0x140013cfd
inc ecx
cmp ecx, 0x3fffffff
jg 0x140013d6d
movsxd rax, ecx
add rax, rax
lea rdx, [rax + 0xf]
cmp rdx, rax
ja 0x140013d23
mov rdx, r13
and rdx, 0xfffffffffffffff0
mov rax, rdx
call fcn.1401a6140
sub rsp, rdx
lea rbx, [rsp + 0x50]
test rbx, rbx
je 0x140013d6d
mov byte [rbx], r15b
lea eax, [rcx + rcx]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, r12d
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb rcx, rcx
and rcx, rbx
jmp 0x140013d70
mov rcx, r15
mov edx, 0x100
mov qword [rsp + 0x40], rdx
lea rax, [rbp + 0x1a0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdx
lea rax, [rbp + 0x2a0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea r9, [rbp + 0xa0]
mov r8d, 3
lea rdx, [rbp + 0x88]
call fcn.1401b5c14
lea rax, [rbp + 0x88]
mov rcx, r12
inc rcx
cmp byte [rax + rcx], r15b
jne 0x140013dbf
inc ecx
cmp ecx, 0x3fffffff
jle 0x140013dd7
mov rbx, r15
jmp 0x140013e32
movsxd rax, ecx
add rax, rax
lea rdx, [rax + 0xf]
cmp rdx, rax
ja 0x140013de9
mov rdx, r13
and rdx, 0xfffffffffffffff0
mov rax, rdx
call fcn.1401a6140
sub rsp, rdx
lea rbx, [rsp + 0x50]
test rbx, rbx
je 0x140013e2a
mov word [rbx], r15w
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rbx
mov r9d, r12d
lea r8, [rbp + 0x88]
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jne 0x140013e2d
jmp 0x140013dd2
mov rbx, r15
test rbx, rbx
jne 0x140013e37
mov eax, r15d
jmp 0x140013e44
mov rax, r12
inc rax
cmp word [rbx + rax*2], r15w
jne 0x140013e3a
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0x18]
call fcn.1400128cc
lea rax, [rbp + 0xa0]
mov rcx, r12
inc rcx
cmp byte [rax + rcx], r15b
jne 0x140013e5d
inc ecx
cmp ecx, 0x3fffffff
jle 0x140013e75
mov rbx, r15
jmp 0x140013ed0
movsxd rax, ecx
add rax, rax
lea rdx, [rax + 0xf]
cmp rdx, rax
ja 0x140013e87
mov rdx, r13
and rdx, 0xfffffffffffffff0
mov rax, rdx
call fcn.1401a6140
sub rsp, rdx
lea rbx, [rsp + 0x50]
test rbx, rbx
je 0x140013ec8
mov word [rbx], r15w
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rbx
mov r9d, r12d
lea r8, [rbp + 0xa0]
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jne 0x140013ecb
jmp 0x140013e70
mov rbx, r15
test rbx, rbx
jne 0x140013ed5
mov eax, r15d
jmp 0x140013ee2
mov rax, r12
inc rax
cmp word [rbx + rax*2], r15w
jne 0x140013ed8
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.1400128cc
mov rdx, rsi
lea rcx, [rbp]
call fcn.14000eff4
lea rax, [rbp + 0x1a0]
mov rdx, r12
inc rdx
cmp byte [rax + rdx], r15b
jne 0x140013f07
inc edx
cmp edx, 0x3fffffff
jle 0x140013f1f
mov rbx, r15
jmp 0x140013f7a
movsxd rax, edx
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x140013f31
mov rcx, r13
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1401a6140
sub rsp, rcx
lea rbx, [rsp + 0x50]
test rbx, rbx
je 0x140013f72
mov word [rbx], r15w
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], rbx
mov r9d, r12d
lea r8, [rbp + 0x1a0]
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jne 0x140013f75
jmp 0x140013f1a
mov rbx, r15
test rbx, rbx
jne 0x140013f7f
mov eax, r15d
jmp 0x140013f8c
mov rax, r12
inc rax
cmp word [rbx + rax*2], r15w
jne 0x140013f82
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 8]
call fcn.1400128cc
lea rdx, str..JPG
mov rbx, qword [rbp + 8]
mov rcx, rbx
call fcn.1401b6000
test eax, eax
je 0x14001403f
lea rdx, str..jpg
mov rcx, rbx
call fcn.1401b6000
test eax, eax
je 0x14001403f
lea rdx, str..jpeg
mov rcx, rbx
call fcn.1401b6000
test eax, eax
je 0x14001403f
lea rdx, str..bmp
mov rcx, rbx
call fcn.1401b6000
test eax, eax
je 0x14001403f
lea rdx, str..png
mov rcx, rbx
call fcn.1401b6000
test eax, eax
je 0x14001403f
lea rdx, str..gif
mov rcx, rbx
call fcn.1401b6000
test eax, eax
je 0x14001403f
lea rdx, str..ico
mov rcx, rbx
call fcn.1401b6000
test eax, eax
je 0x14001403f
lea r8, [0x1401e6e7c]
lea rdx, str.IMG_
lea rcx, [rbp]
call fcn.140011c64
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x40]
call fcn.14000f24c
nop
lea r8, [rbp]
mov rdx, rax
lea rcx, [rbp + 0x38]
call fcn.14000f24c
nop
lea r8, [rbp + 8]
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.14000f24c
nop
mov rdx, rax
lea rcx, [rbp + 0x90]
call fcn.14000eff4
nop
mov rdx, qword [rbp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x1400140a4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x1400140c5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x1400140e5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.1400157c0
mov rdx, rax
mov ecx, r15d
test rax, rax
setne cl
test ecx, ecx
jne 0x140014105
mov ecx, 0x80004005
call fcn.14000d27c
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x20], rax
mov r8d, dword [0x1402960a0]
lea rdx, [0x1401e6e74]
lea rcx, [rbp + 0x20]
call fcn.14000d3b4
mov rcx, qword [rbp + 0x90]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x140014270
lea rdx, [0x1401e7edc]
lea rcx, [rbp + 0x28]
call fcn.14000ee98
nop
lea r8, [rbp + 0x28]
mov rdx, qword [rbp]
lea rcx, [rbp + 0x50]
call fcn.14000f1fc
nop
mov rdx, qword [rax]
test rdx, rdx
je 0x140014172
mov rdx, qword [rdx]
jmp 0x140014175
mov rdx, r15
lea r8, [rbp + 0x20]
lea rcx, [rbp + 0x48]
call fcn.14000f3e0
nop
mov rdx, rax
lea rcx, [rbp]
call fcn.14000eff4
nop
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x1400141b1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rbp + 0x50]
call fcn.140013b2c
nop
lea rcx, [rbp + 0x28]
call fcn.140013b2c
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x68]
call fcn.14000f24c
nop
lea r8, [rbp]
mov rdx, rax
lea rcx, [rbp + 0x60]
call fcn.14000f24c
nop
lea r8, [rbp + 8]
mov rdx, rax
lea rcx, [rbp + 0x58]
call fcn.14000f24c
nop
mov rdx, rax
lea rcx, [rbp + 0x90]
call fcn.14000eff4
nop
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x140014229
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x14001424a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x14001426a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc dword [0x1402960a0]
xor r8d, r8d
mov rdx, qword [rbp + 0x90]
mov rcx, qword [rdi]
call fcn.14002fd28
lea rcx, [r14 + 0x8f8]
mov r8, rdi
mov rdx, qword [rcx + 0x10]
call fcn.140015b60
lea rcx, [r14 + 0x920]
lea r8, [rbp + 0x90]
mov rdx, qword [rcx + 0x10]
call fcn.140015b60
nop
mov rdx, qword [rbp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x1400142ce
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x1400142ef
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x140014310
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x140014331
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x18]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x140014352
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x140014376
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rdi]
sub rdx, 0x18
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x140014396
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsi]
sub rdx, 0x18
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
test eax, eax
jg 0x1400143b5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp + 0x3a0]
xor rcx, rbp
call fcn.1401a61b0
mov rbx, qword [rbp + 0x408]
lea rsp, [rbp + 0x3b0]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret