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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov rsi, r8
mov rax, qword [0x14039de68]
xor rax, rsp
mov qword [rsp + 0x80], rax
lea rcx, [rsp + 0x40]
mov r8b, 1
xor r9d, r9d
call fcn.1400ea4a0
test rsi, rsi
je 0x1400eaca8
movzx eax, byte [rsi]
movzx ecx, byte [rsi + 1]
cmp al, 0x5c
jne 0x1400eac85
cmp cl, 0x5c
jne 0x1400eac85
lea rcx, [rsp + 0x48]
mov rdx, rsi
mov r8b, 1
xor r9d, r9d
call fcn.1400ea4a0
mov rsi, qword [rsp + 0x48]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, 2
cmp eax, 0xffffffff
je 0x1400eae19
test eax, 0x400
je 0x1400eac7a
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x2000000
mov dword [rsp + 0x20], 3
mov rcx, rsi
xor edx, edx
mov r8d, 7
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
je 0x1400eae19
mov rdi, rax
lea rdx, [rsp + 0x48]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
mov ebp, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebp, ebp
je 0x1400eae19
mov eax, dword [rsp + 0x48]
shr eax, 4
and eax, 1
jmp 0x1400eae0e
cmp cl, 0x3a
jne 0x1400eaca8
or al, 0x20
add al, 0x9f
cmp al, 0x19
ja 0x1400eaca8
movzx eax, byte [rsi + 2]
cmp eax, 0x5c
je 0x1400eabe5
cmp eax, 0x2f
je 0x1400eabe5
lea rcx, [rsp + 0x48]
mov rdx, rsi
call fcn.1400ecf10
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.14026e13c
mov rbx, rax
mov rcx, rsi
call fcn.14026e13c
lea rcx, [rbx + rax]
lea r14, [rbx + rax]
add r14, 2
lea rax, [rcx*2 + 4]
test r14, r14
mov r15, 0xffffffffffffffff
cmovns r15, rax
mov rcx, r15
call fcn.1402599b0
mov rbx, rax
mov rcx, rax
xor edx, edx
mov r8, r15
call fcn.14025d290
mov rcx, rbx
mov rdx, r14
mov r8, rdi
call fcn.1402793ec
mov rcx, rbx
mov rdx, r14
call qword [sym.imp.api_ms_win_core_path_l1_1_0.dll_PathCchRemoveFileSpec]
test eax, eax
je 0x1400ead38
mov ecx, 5
cmp eax, 1
je 0x1400ead58
mov ecx, eax
jmp 0x1400ead58
mov dword [rsp + 0x20], 1
mov rcx, rbx
mov rdx, r14
mov r8, rbx
mov r9, rsi
call qword [sym.imp.api_ms_win_core_path_l1_1_0.dll_PathCchCombineEx]
mov ecx, eax
test eax, eax
je 0x1400ead76
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, rbx
call fcn.1402599a8
xor ebp, ebp
test rsi, rsi
jne 0x1400eae39
jmp 0x1400eae46
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400ead95
test eax, 0x400
jne 0x1400ead9c
shr eax, 4
and eax, 1
mov ebp, eax
jmp 0x1400eae04
mov ebp, 5
jmp 0x1400eae04
mov ebp, 5
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x2000000
mov dword [rsp + 0x20], 3
mov rcx, rbx
xor edx, edx
mov r8d, 7
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
je 0x1400eae04
mov rdi, rax
lea rdx, [rsp + 0x48]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
mov ebp, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x48]
shr eax, 4
and eax, 1
test ebp, ebp
mov ebp, 5
cmovne ebp, eax
mov rcx, rbx
call fcn.1402599a8
mov eax, ebp
xor ebx, ebx
cmp eax, 1
sete bl
or ebx, 2
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
mov rdx, rsi
mov r8d, ebx
call qword [sym.imp.KERNEL32.dll_CreateSymbolicLinkW]
mov bpl, 1
test al, al
je 0x1400eae75
test rsi, rsi
je 0x1400eae46
mov rcx, rsi
call fcn.1402599a8
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x1400eae53
mov rcx, rdi
call fcn.1402599a8
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140259980
mov eax, ebp
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
jne 0x1400ead66
and ebx, 1
mov rcx, rdi
mov rdx, rsi
mov r8d, ebx
call qword [sym.imp.KERNEL32.dll_CreateSymbolicLinkW]
test al, al
setne bpl
test rsi, rsi
jne 0x1400eae39
jmp 0x1400eae46