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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r15
sub rsp, 0x8d0
mov rax, qword [0x14009b940]
xor rax, rsp
mov qword [rsp + 0x8c0], rax
mov rsi, qword [rsp + 0x920]
mov rdi, r9
mov ebx, r8d
mov rbp, rdx
mov rcx, qword [0x14009b028]
lea r15, [0x14009b028]
lea r12, [0x140088520]
cmp rcx, r15
je 0x14000957d
test byte [rcx + 0x1c], 4
je 0x14000957d
cmp byte [rcx + 0x19], 5
jb 0x14000957d
mov rcx, qword [rcx + 0x10]
mov edx, SetErrorInfo
mov r8, r12
call fcn.140001024
lea r9, [rsp + 0x290]
mov r8d, ebx
call fcn.14000a2f8
mov ebx, eax
test eax, eax
je 0x1400095d0
mov rcx, qword [0x14009b028]
cmp rcx, r15
je 0x140009860
test byte [rcx + 0x1c], 4
je 0x140009860
cmp byte [rcx + 0x19], 2
jb 0x140009860
mov edx, reloc.OLEAUT32.dll_SetErrorInfo
mov rcx, qword [rcx + 0x10]
mov r9d, eax
mov r8, r12
call fcn.140001050
jmp 0x140009860
test rdi, rdi
je 0x1400096e1
lea r9, [rsp + 0x4a0]
mov r8, rbp
mov rdx, rdi
call fcn.140008c50
mov ebx, eax
test eax, eax
je 0x14000961d
mov rcx, qword [0x14009b028]
cmp rcx, r15
je 0x140009860
test byte [rcx + 0x1c], 4
je 0x140009860
cmp byte [rcx + 0x19], 2
jb 0x140009860
mov edx, 0xc9
jmp 0x1400095bc
lea rax, [rsp + 0x4a0]
mov edx, 0x104
lea r9, [rsp + 0x290]
mov qword [rsp + 0x20], rax
lea r8, [0x140088010]
mov rcx, rsi
call fcn.140002ac0
mov edi, eax
test eax, eax
jns 0x14000967a
mov rcx, qword [0x14009b028]
cmp rcx, r15
je 0x14000984a
test byte [rcx + 0x1c], 4
je 0x14000984a
cmp byte [rcx + 0x19], 2
jb 0x14000984a
mov edx, 0xca
jmp 0x14000983b
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
cmp eax, 0xffffffff
jne 0x140009860
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
mov rcx, qword [0x14009b028]
cmp rcx, r15
je 0x140009860
test byte [rcx + 0x1c], 4
je 0x140009860
cmp byte [rcx + 0x19], 2
jb 0x140009860
mov rcx, qword [rcx + 0x10]
mov edx, 0xcb
mov r9, rsi
mov dword [rsp + 0x20], eax
mov r8, r12
call fcn.140001328
jmp 0x140009860
lea rax, [0x140088088]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x290]
mov qword [rsp + 0x20], rbp
lea r8, str._s_I64x._s
mov ebp, 0x104
lea rcx, [rsp + 0x6b0]
mov edx, ebp
call fcn.140002ac0
mov edi, eax
test eax, eax
jns 0x140009747
mov rcx, qword [0x14009b028]
cmp rcx, r15
je 0x14000984a
test byte [rcx + 0x1c], 4
je 0x14000984a
cmp byte [rcx + 0x19], 2
jb 0x14000984a
lea edx, [rbp - 0x38]
jmp 0x14000983b
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x6b0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
nop dword [rax + rax]
cmp rax, 0xffffffffffffffff
jne 0x1400097a2
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
mov rcx, qword [0x14009b028]
cmp rcx, r15
je 0x140009860
test byte [rcx + 0x1c], 4
je 0x140009860
cmp byte [rcx + 0x19], 2
jb 0x140009860
mov edx, 0xcd
jmp 0x1400095bc
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindClose]
nop dword [rax + rax]
test eax, eax
jne 0x1400097f4
mov rax, qword [0x14009b028]
cmp rax, r15
je 0x1400097f4
test byte [rax + 0x1c], 4
je 0x1400097f4
cmp byte [rax + 0x19], 3
jb 0x1400097f4
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov rcx, qword [0x14009b028]
mov edx, 0xce
mov r9d, eax
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140001050
lea rax, [rsp + 0x6c]
mov rdx, rbp
lea r9, [rsp + 0x290]
mov qword [rsp + 0x20], rax
lea r8, [0x140088010]
mov rcx, rsi
call fcn.140002ac0
mov edi, eax
test eax, eax
jns 0x140009860
mov rcx, qword [0x14009b028]
cmp rcx, r15
je 0x14000984a
test byte [rcx + 0x1c], 4
je 0x14000984a
cmp byte [rcx + 0x19], 2
jb 0x14000984a
mov edx, 0xcf
mov rcx, qword [rcx + 0x10]
mov r9d, edi
mov r8, r12
call fcn.140001050
mov ecx, edi
movzx eax, di
and ecx, 0x1fff0000
mov ebx, edi
cmp ecx, 0x70000
cmove ebx, eax
mov eax, ebx
mov rcx, qword [rsp + 0x8c0]
xor rcx, rsp
call fcn.14007ec50
mov rbx, qword [rsp + 0x900]
add rsp, 0x8d0
pop r15
pop r12
pop rdi
pop rsi
pop rbp
ret