Function at 0x140071380
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 0x1400714a0
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x14007141b
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 3
jne 0x1400713f9
mov rcx, rdi
call fcn.140071790
mov rbx, rax
test rax, rax
jne 0x1400713eb
call fcn.14005cd44
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 0x14007141b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140071a20
mov rcx, rbx
call fcn.14003ef6c
mov eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
test al, 0x10
je 0x140071493
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 0x140071450
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
jmp 0x140071459
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rcx, rbx
mov rdi, rax
call fcn.14003ef6c
cmp rdi, 0xffffffffffffffff
jne 0x140071481
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140071a20
mov eax, edi
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
xor edx, edx
mov rcx, rdi
call fcn.1400d5458
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
test rbx, rbx
jne 0x140071547
mov edx, dword [rsp + 0x68]
mov r8d, esi
mov rcx, rdi
call fcn.1400e330c
mov ebx, eax
test eax, eax
jns 0x1400715db
call fcn.14005cd44
cmp dword [rax], 0xd
jne 0x140071525
test dword [rsp + 0x68], 0x100
je 0x140071525
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x1400714f1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140071a20
mov eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
test al, 0x10
je 0x14007150d
call fcn.14005cd44
mov dword [rax], reloc.WS2_32.dll_setsockopt
mov eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
call fcn.14005cd44
mov dword [rax], reloc.WS2_32.dll_listen
mov eax, 0xffffffff
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
call fcn.14005cd44
cmp dword [rax], 2
jne 0x1400715db
mov rcx, rdi
call fcn.140071790
mov rbx, rax
test rax, rax
je 0x1400713d3
mov edx, dword [rsp + 0x68]
mov r8d, esi
mov rcx, rbx
call fcn.1400e33e0
mov edi, eax
test eax, eax
jns 0x1400715c9
call fcn.14005cd44
cmp dword [rax], 0xd
jne 0x1400715c9
test dword [rsp + 0x68], 0x100
je 0x1400715c9
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x14007159d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140071a20
mov rcx, rbx
call fcn.14003ef6c
mov eax, edi
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
test al, 0x10
je 0x1400715be
call fcn.14005cd44
mov rcx, rbx
mov dword [rax], reloc.WS2_32.dll_setsockopt
call fcn.14003ef6c
mov eax, edi
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
call fcn.14005cd44
mov dword [rax], reloc.WS2_32.dll_listen
mov rcx, rbx
call fcn.14003ef6c
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