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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x268
mov rax, qword [0x100032110]
xor rax, rsp
mov qword [rsp + 0x250], rax
and qword [rsp + 0x30], 0
mov rbp, rdx
mov rsi, r9
mov rbx, r8
mov rdi, rcx
xor r9d, r9d
or edx, 0xffffffff
mov rcx, rbp
xor r8d, r8d
xor r13d, r13d
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
mov r12d, eax
cmp dword [rbx + 0x10], r13d
jne 0x10001a825
lea rcx, [rsp + 0x30]
mov r8, rsi
mov rdx, rbx
call fcn.10001d824
mov ebx, eax
test eax, eax
jns 0x10001a81a
mov rcx, qword [0x100032328]
lea rax, [0x100032328]
cmp rcx, rax
je 0x10001a810
test byte [rcx + 0x1c], 4
je 0x10001a810
mov rcx, qword [rcx + 0x10]
lea edx, [r13 + 0x10]
lea r9, [0x100004a10]
lea r8, [0x100001960]
mov dword [rsp + 0x20], ebx
call fcn.10001a3dc
mov rbp, qword [rsp + 0x30]
jmp 0x10001a97e
mov rbp, qword [rsp + 0x30]
mov r13d, 1
lea eax, [r12 - 1]
mov ebx, 0x40
mov ecx, ebx
imul eax, eax, 0x250
add eax, 0x254
mov edx, eax
mov dword [rdi + 0x10], eax
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov qword [rdi + 8], rax
test rax, rax
jne 0x10001a88d
mov rcx, qword [0x100032328]
lea rax, [0x100032328]
cmp rcx, rax
je 0x10001a883
test byte [rcx + 0x1c], 4
je 0x10001a883
lea edx, [rbx - 0x2f]
mov rcx, qword [rcx + 0x10]
lea r9, [0x100004a50]
lea r8, [0x100001960]
call fcn.10000d674
mov ebx, 0x8007000e
jmp 0x10001a982
mov edx, dword [rdi + 0x10]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov qword [rdi], rax
test rax, rax
jne 0x10001a8c0
mov rcx, qword [0x100032328]
lea rax, [0x100032328]
cmp rcx, rax
je 0x10001a883
test byte [rcx + 0x1c], 4
je 0x10001a883
mov edx, 0x12
jmp 0x10001a86c
xor esi, esi
test r12d, r12d
je 0x10001a97c
lea r8, [rsp + 0x40]
mov r9d, 0x104
mov edx, esi
mov rcx, rbp
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x10001aa6f
test al, 0x10
je 0x10001a936
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.10001b194
mov ebx, eax
test eax, eax
jns 0x10001a971
mov rcx, qword [0x100032328]
lea rax, [0x100032328]
cmp rcx, rax
je 0x10001a97e
test byte [rcx + 0x1c], 4
je 0x10001a97e
mov edx, 0x14
lea r9, [0x100004a78]
jmp 0x10001aa1e
lea rcx, [rsp + 0x40]
mov edx, 0x5c
call sub.msvcrt.dll_wcsrchr
test rax, rax
je 0x10001aa37
and dword [rsp + 0x20], 0
lea r8, [rax + 2]
lea rdx, [rsp + 0x40]
xor r9d, r9d
mov rcx, rdi
call fcn.10001acfc
mov ebx, eax
test eax, eax
js 0x10001a9f1
inc esi
cmp esi, r12d
jb 0x10001a8cb
xor ebx, ebx
test ebx, ebx
jns 0x10001a9a8
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x10001a991
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rdi]
test rcx, rcx
je 0x10001a99f
call qword [sym.imp.KERNEL32.dll_LocalFree]
and qword [rdi + 8], 0
and qword [rdi], 0
test r13d, r13d
je 0x10001a9cf
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalFree]
test rax, rax
je 0x10001a9cf
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov eax, ebx
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.10002e370
add rsp, 0x268
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rcx, qword [0x100032328]
lea rax, [0x100032328]
cmp rcx, rax
je 0x10001a97e
test byte [rcx + 0x1c], 4
je 0x10001a97e
mov edx, 0x16
lea r9, [0x100004ab0]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100001960]
mov dword [rsp + 0x20], ebx
call fcn.10001a3dc
jmp 0x10001a97e
mov rcx, qword [0x100032328]
lea rax, [0x100032328]
cmp rcx, rax
je 0x10001aa65
test byte [rcx + 0x1c], 4
je 0x10001aa65
mov rcx, qword [rcx + 0x10]
lea r8, [0x100001960]
mov edx, 0x15
call fcn.10000b094
mov ebx, 0x8000ffff
jmp 0x10001a982
mov rcx, qword [0x100032328]
lea rax, [0x100032328]
cmp rcx, rax
je 0x10001aaa2
test byte [rcx + 0x1c], 4
je 0x10001aaa2
mov rcx, qword [rcx + 0x10]
lea r9, [rsp + 0x40]
lea r8, [0x100001960]
mov edx, 0x13
call fcn.10000d674
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
jmp 0x10001a97e