Function at 0x140077450
Capabilities:
Get socket status
Reference absolute stream path on windows
Send data
Send data on socket

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x280
mov rax, qword [0x140173240]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov dword [rsp + 0x44], 0
mov rcx, qword [rsp + 0x290]
call fcn.140076610
movzx eax, al
test eax, eax
jne 0x1400774b7
lea rdx, str.WriteComm_socket_Close
lea rcx, str.D:_svnplayersvnTLDrivingRecordSocketComm.cpp_954_:CSocketComm::WriteComm
call fcn.1400c46e0
mov eax, 0xffffffff
jmp 0x140077709
mov rax, qword [rsp + 0x290]
add rax, 0x58
mov rcx, rax
call fcn.140076390
lea rax, [rsp + 0x60]
mov rdi, rax
xor eax, eax
mov ecx, 0x208
rep stosb byte [rdi], al
mov qword [rsp + 0x58], 0
cmp dword [rsp + 0x2a8], 0xffffffff
je 0x140077529
xor edx, edx
mov eax, dword [rsp + 0x2a8]
mov ecx, 0x3e8
div ecx
mov dword [rsp + 0x50], eax
xor edx, edx
mov eax, dword [rsp + 0x2a8]
mov ecx, 0x3e8
div ecx
mov eax, edx
imul eax, eax, 0x3e8
mov dword [rsp + 0x54], eax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x290]
mov rax, qword [rax + 8]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
jne 0x1400775af
mov dword [rsp + 0x30], 0
jmp 0x140077562
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x60]
cmp dword [rsp + 0x30], eax
jae 0x140077580
mov eax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
cmp qword [rsp + rax*8 + 0x68], rcx
jne 0x14007757e
jmp 0x140077580
jmp 0x140077558
mov eax, dword [rsp + 0x60]
cmp dword [rsp + 0x30], eax
jne 0x1400775a9
cmp dword [rsp + 0x60], 0x40
jae 0x1400775a9
mov eax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + rax*8 + 0x68], rcx
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
xor eax, eax
test eax, eax
jne 0x14007754e
mov rax, qword [rsp + 0x48]
inc rax
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
lea r8, [rsp + 0x60]
xor edx, edx
mov ecx, eax
call qword [sym.imp.WS2_32.dll_select]
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x34], 0
je 0x1400776aa
mov rcx, qword [rsp + 0x290]
call fcn.140076690
mov byte [rsp + 0x38], al
mov rcx, qword [rsp + 0x290]
call fcn.140076610
movzx eax, al
test eax, eax
jne 0x140077638
mov rax, qword [rsp + 0x290]
add rax, 0x58
mov rcx, rax
call fcn.1400763b0
lea rdx, str.WriteComm_send_Close
lea rcx, str.D:_svnplayersvnTLDrivingRecordSocketComm.cpp_989_:CSocketComm::WriteComm
call fcn.1400c46e0
mov eax, 0xffffffff
jmp 0x140077709
xor r9d, r9d
mov r8d, dword [rsp + 0x2a0]
mov rdx, qword [rsp + 0x298]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.WS2_32.dll_send]
mov dword [rsp + 0x34], eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x34], 0
jge 0x140077684
mov r8d, dword [rsp + 0x3c]
lea rdx, str.GetLastError__
lea rcx, str.D:_svnplayersvnTLDrivingRecordSocketComm.cpp_995_:CSocketComm::WriteComm
call fcn.1400c46e0
nop
mov eax, dword [rsp + 0x2a0]
cmp dword [rsp + 0x34], eax
je 0x1400776aa
mov r8d, dword [rsp + 0x3c]
lea rdx, str.send_part_data_GetLastError_d
lea rcx, str.D:_svnplayersvnTLDrivingRecordSocketComm.cpp_997_:CSocketComm::WriteComm
call fcn.1400c46e0
nop
cmp dword [rsp + 0x34], 0
jl 0x1400776bb
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x40], eax
jmp 0x1400776c3
mov dword [rsp + 0x40], 0xffffffff
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x290]
add rax, 0x58
mov rcx, rax
call fcn.1400763b0
nop
jmp 0x1400776e2
mov rcx, qword [rsp + 0x290]
call fcn.140076610
movzx eax, al
test eax, eax
je 0x140077701
cmp qword [rsp + 0x298], 0
jne 0x140077705
xor eax, eax
jmp 0x140077709
mov eax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.140100c60
add rsp, 0x280
pop rdi
ret