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

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbx
push rsi
push rdi
sub rsp, 0x40
lea rax, [rsp + 0x70]
xor ebx, ebx
mov rdi, rcx
mov esi, dword [rax]
test edx, 0xffff7fff
jne 0x1400e5dd0
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x1400e5d49
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 3
jne 0x1400e5d28
mov rcx, rdi
call fcn.1400e6360
mov rbx, rax
test rax, rax
jne 0x1400e5d1a
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], SafeArrayPutElement
or eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400e5d49
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.1400e5b60
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
or eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
test al, 0x10
je 0x1400e5dc3
mov qword [rsp + 0x30], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x28], 0x2000001
mov dword [rsp + 0x20], 3
test rbx, rbx
je 0x1400e5d7e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
jmp 0x1400e5d87
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rcx, rbx
mov rdi, rax
call qword [sym.imp.msvcrt.dll_free]
cmp rdi, 0xffffffffffffffff
jne 0x1400e5db0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.1400e5b60
or eax, edi
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
xor edx, edx
mov rcx, rdi
call qword [sym.imp.msvcrt.dll__open_osfhandle]
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
test rbx, rbx
jne 0x1400e5e76
mov edx, dword [rsp + 0x68]
mov r8d, esi
mov rcx, rdi
call qword [sym.imp.msvcrt.dll__open]
mov ebx, eax
test eax, eax
jns 0x1400e5f11
call qword [sym.imp.msvcrt.dll__errno]
cmp dword [rax], 0xd
jne 0x1400e5e53
test dword [rsp + 0x68], 0x100
je 0x1400e5e53
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x1400e5e21
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.1400e5b60
or eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
test al, 0x10
je 0x1400e5e3c
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], reloc.WS2_32.dll_setsockopt
or eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], reloc.WS2_32.dll_listen
or eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
call qword [sym.imp.msvcrt.dll__errno]
cmp dword [rax], 2
jne 0x1400e5f11
mov rcx, rdi
call fcn.1400e6360
mov rbx, rax
test rax, rax
je 0x1400e5d03
mov edx, dword [rsp + 0x68]
mov r8d, esi
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__wopen]
mov edi, eax
test eax, eax
jns 0x1400e5efe
call qword [sym.imp.msvcrt.dll__errno]
cmp dword [rax], 0xd
jne 0x1400e5efe
test dword [rsp + 0x68], 0x100
je 0x1400e5efe
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400e5ecf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.1400e5b60
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
mov eax, edi
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
test al, 0x10
je 0x1400e5ef2
call qword [sym.imp.msvcrt.dll__errno]
mov rcx, rbx
mov dword [rax], reloc.WS2_32.dll_setsockopt
call qword [sym.imp.msvcrt.dll_free]
mov eax, edi
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], reloc.WS2_32.dll_listen
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_free]
mov eax, edi
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
mov eax, ebx
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret