Function at 0x1400e5230
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
xor ebx, ebx
lea rax, [rsp + 0x70]
mov esi, dword [rax]
mov rdi, rcx
test edx, 0xffff7fff
jne 0x1400e5350
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x1400e52cb
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 3
jne 0x1400e52a9
mov rcx, rdi
call fcn.1400e5930
mov rbx, rax
test rax, rax
jne 0x1400e529b
call fcn.1400155c4
mov dword [rax], socket
mov 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 0x1400e52cb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.1400e50e0
mov rcx, rbx
call fcn.14023f7c8
mov eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
test al, 0x10
je 0x1400e5343
mov qword [rsp + 0x30], 0
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x28], 0x2000001
xor edx, edx
mov dword [rsp + 0x20], 3
test rbx, rbx
je 0x1400e5300
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
jmp 0x1400e5309
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rcx, rbx
mov rdi, rax
call fcn.14023f7c8
cmp rdi, 0xffffffffffffffff
jne 0x1400e5331
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.1400e50e0
mov eax, edi
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
xor edx, edx
mov rcx, rdi
call fcn.140015edc
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
test rbx, rbx
jne 0x1400e53f7
mov edx, dword [rsp + 0x68]
mov r8d, esi
mov rcx, rdi
call fcn.140281718
mov ebx, eax
test eax, eax
jns 0x1400e548b
call fcn.1400155c4
cmp dword [rax], 0xd
jne 0x1400e53d5
test dword [rsp + 0x68], 0x100
je 0x1400e53d5
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x1400e53a1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.1400e50e0
mov eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
test al, 0x10
je 0x1400e53bd
call fcn.1400155c4
mov dword [rax], reloc.WS2_32.dll_setsockopt
mov eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
call fcn.1400155c4
mov dword [rax], reloc.WS2_32.dll_listen
mov eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
call fcn.1400155c4
cmp dword [rax], 2
jne 0x1400e548b
mov rcx, rdi
call fcn.1400e5930
mov rbx, rax
test rax, rax
je 0x1400e5283
mov edx, dword [rsp + 0x68]
mov r8d, esi
mov rcx, rbx
call fcn.1402818cc
mov edi, eax
test eax, eax
jns 0x1400e5479
call fcn.1400155c4
cmp dword [rax], 0xd
jne 0x1400e5479
test dword [rsp + 0x68], 0x100
je 0x1400e5479
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400e544d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.1400e50e0
mov rcx, rbx
call fcn.14023f7c8
mov eax, edi
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
test al, 0x10
je 0x1400e546e
call fcn.1400155c4
mov rcx, rbx
mov dword [rax], reloc.WS2_32.dll_setsockopt
call fcn.14023f7c8
mov eax, edi
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
call fcn.1400155c4
mov dword [rax], reloc.WS2_32.dll_listen
mov rcx, rbx
call fcn.14023f7c8
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