Function at 0x140003570
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0xa0], rbx
mov rbp, r8
mov rsi, rdx
mov r12, rcx
mov r15d, 0x5c
mov edx, r15d
mov rcx, qword [rsi]
call fcn.14010bd78
mov rbx, rax
or edi, 0xffffffff
test rax, rax
jne 0x1400035ba
mov ebx, edi
jmp 0x1400035c0
sub rbx, qword [rsi]
sar rbx, 1
mov rax, qword [rsi]
mov r8d, dword [rax - 0x10]
sub r8d, ebx
dec r8d
lea rdx, [rsp + 0xb8]
mov rcx, rsi
call fcn.140002140
nop
call fcn.1400da76c
mov r11, rax
xor r13d, r13d
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x140003601
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xa8], rax
mov r8d, ebx
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400021e0
nop
mov r9, qword [r12 + 0x2130]
mov r8, qword [rax]
mov rdx, qword [0x14019a7a8]
lea rcx, [rsp + 0xa8]
call fcn.140002990
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140003666
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [r12 + 0xe8]
mov r8d, 0x400
mov rbx, qword [rsp + 0xb8]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcpynW]
lea rcx, [r12 + 0x8ea]
mov r8d, 0x400
mov rdx, qword [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_lstrcpynW]
xor r9d, r9d
mov edx, 0x465
mov r8d, 0x111
mov rcx, qword [r12 + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x14000379f
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebp, eax
call fcn.1400da76c
mov rcx, rax
test rax, rax
setne r13b
test r13d, r13d
jne 0x1400036f3
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
mov r8, qword [rsi]
mov rdx, qword [0x14019a7b8]
lea rcx, [rsp + 0x30]
call fcn.140002990
xor r8d, r8d
xor edx, edx
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.1400da654
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, ebp
add dword [r12 + 0x2118], eax
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140003753
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140003776
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xb8]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
dec edi
test edi, edi
jg 0x140003a95
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140003a95
test al, 0x10
je 0x140003913
mov rcx, qword [rbp]
sub rcx, 0x18
call fcn.140001e00
add rax, 0x18
mov qword [rsp + 0x20], rax
mov r14d, dword [rax - 0x10]
lea ebp, [r14 + 1]
mov edx, 1
sub edx, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, ebp
or ecx, edx
jge 0x1400037e7
mov edx, ebp
lea rcx, [rsp + 0x20]
call fcn.140001da0
mov rax, qword [rsp + 0x20]
mov word [rax + r14*2], r15w
test ebp, ebp
js 0x140003908
cmp ebp, dword [rax - 0xc]
jg 0x140003908
mov dword [rax - 0x10], ebp
movsxd rcx, ebp
mov word [rax + rcx*2], r13w
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.140002660
mov r9, qword [rsi]
mov rbx, qword [rsp + 0x20]
mov r8, rbx
mov edx, 0x468
mov rcx, qword [r12 + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
test rax, rax
je 0x1400038a0
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140003854
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140003877
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xb8]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
dec edi
test edi, edi
jg 0x140003a95
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140003a95
lea rax, [rsp + 0x38]
mov qword [rsp + 0x58], rax
lea rcx, [rbx - 0x18]
call fcn.140001e00
add rax, 0x18
mov qword [rsp + 0x38], rax
mov rcx, qword [rsi]
sub rcx, 0x18
call fcn.140001e00
add rax, 0x18
mov qword [rsp + 0x48], rax
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x48]
mov rcx, r12
call fcn.140002c20
nop
mov eax, edi
lock xadd dword [rbx - 8], eax
dec eax
test eax, eax
jg 0x140003a45
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140003a45
mov ecx, 0x80070057
call fcn.140001000
nop
mov rcx, qword [rbp]
sub rcx, 0x18
call fcn.140001e00
add rax, 0x18
mov qword [rsp + 0x28], rax
mov r14d, dword [rax - 0x10]
lea ebp, [r14 + 1]
mov edx, 1
sub edx, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, ebp
or ecx, edx
jge 0x140003953
mov edx, ebp
lea rcx, [rsp + 0x28]
call fcn.140001da0
mov rax, qword [rsp + 0x28]
mov word [rax + r14*2], r15w
test ebp, ebp
js 0x140003a8a
cmp ebp, dword [rax - 0xc]
jg 0x140003a8a
mov dword [rax - 0x10], ebp
movsxd rcx, ebp
mov word [rax + rcx*2], r13w
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x28]
call fcn.140002660
mov r9, qword [rsi]
mov rbx, qword [rsp + 0x28]
mov r8, rbx
mov edx, 0x468
mov rcx, qword [r12 + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
test rax, rax
je 0x140003a0c
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400039c0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400039e3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xb8]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
dec edi
test edi, edi
jg 0x140003a95
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140003a95
mov r8, rbx
mov rdx, qword [rsi]
mov rcx, r12
call fcn.1400017f0
mov rcx, qword [rsi]
call fcn.140001670
add qword [r12 + 0x2110], rax
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140003a45
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140003a68
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xb8]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
dec edi
test edi, edi
jg 0x140003a95
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140003a95
mov ecx, 0x80070057
call fcn.140001000
nop
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret