Function at 0x1400203f0
Capabilities:
Get socket status
Send data
Send data on socket

Disassembly:
push rbp
push rdi
push r12
push r14
lea rbp, [rsp - 0x598]
sub rsp, 0x698
mov rax, qword [0x1401f2308]
xor rax, rsp
mov qword [rbp + 0x570], rax
mov dword [rsp + 0x34], r9d
mov r14, r8
mov r12, rdx
mov rdi, rcx
cmp rcx, 0xffffffffffffffff
jne 0x14002043b
lea ecx, [rdi + 0xb]
call int.140021860
mov rax, rdi
jmp 0x1400206a4
xor eax, eax
mov qword [rsp + 0x690], rsi
xor r10d, r10d
mov qword [rsp + 0x680], r15
xor sil, sil
mov word [rsp + 0x54], ax
mov byte [rsp + 0x56], al
mov r15, r8
mov qword [rsp + 0x38], r10
test r8, r8
je 0x140020691
mov qword [rsp + 0x688], r13
mov r13d, dword [rbp + 0x5e0]
mov qword [rsp + 0x6d8], rbx
cmp r15, 0xffffffffffffffff
je 0x140020681
cmp byte [rsp + 0x54], 0
mov r8d, 0xffffffff
mov eax, dword [rsp + 0x58]
movzx ecx, byte [rsp + 0x55]
cmovne eax, r10d
mov edx, dword [rbp + 0x160]
test cl, cl
mov dword [rsp + 0x58], eax
mov eax, dword [rbp + 0x368]
cmovne edx, r10d
cmp byte [rsp + 0x56], 0
mov dword [rbp + 0x160], edx
cmovne eax, r10d
mov dword [rsp + 0x50], r8d
mov dword [rbp + 0x368], eax
test cl, cl
jne 0x1400204e8
mov edx, r10d
mov byte [rsp + 0x55], 1
mov dword [rbp + 0x160], edx
mov eax, r10d
test edx, edx
je 0x140020505
lea rcx, [rbp + 0x168]
cmp qword [rcx], rdi
je 0x140020505
inc eax
add rcx, 8
cmp eax, edx
jb 0x1400204f6
cmp eax, edx
jne 0x140020523
cmp edx, 0x40
jae 0x140020523
mov ecx, eax
mov qword [rbp + rcx*8 + 0x168], rdi
inc dword [rbp + 0x160]
mov r8d, dword [rsp + 0x50]
cmp edi, r8d
mov ebx, r13d
mov eax, r13d
cmovg r8d, edi
mov dword [rsp + 0x50], r8d
test r13d, r13d
jle 0x1400205fd
call qword [sym.imp.KERNEL32.dll_GetTickCount]
test sil, sil
je 0x140020564
mov rbx, qword [rsp + 0x38]
add ebx, r13d
sub ebx, eax
jns 0x14002056e
mov ecx, reloc.WS2_32.dll_ntohs
call int.140021860
jmp 0x14002066b
mov eax, eax
mov sil, 1
mov qword [rsp + 0x38], rax
xor r10d, r10d
movzx eax, byte [0x1401fb0d0]
lea rcx, [rsp + 0x40]
test al, al
nop
mov eax, 0x64
cmovne ebx, eax
mov eax, 0x10624dd3
imul ebx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3e8
mov dword [rsp + 0x40], edx
sub ebx, eax
imul eax, ebx, 0x3e8
mov dword [rsp + 0x44], eax
cmp byte [rsp + 0x56], 0
lea r9, [rbp + 0x368]
mov qword [rsp + 0x20], rcx
lea r8, [rbp + 0x160]
cmove r9, r10
lea rdx, [rsp + 0x58]
cmp byte [rsp + 0x55], 0
cmove r8, r10
cmp byte [rsp + 0x54], 0
cmove rdx, r10
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
je 0x14002066b
test eax, eax
jne 0x140020609
lea ecx, [rax + 0xf]
call int.140021860
jmp 0x14002066b
mov rcx, r10
test eax, eax
js 0x1400205af
jmp 0x140020571
jle 0x14002066b
cmp byte [rsp + 0x55], 0
je 0x14002066b
lea rdx, [rbp + 0x160]
mov rcx, rdi
call qword [sym.imp.WS2_32.dll___WSAFDIsSet]
test eax, eax
je 0x14002066b
mov ebx, dword [rsp + 0x34]
mov r8d, r14d
mov ecx, ebx
mov rdx, r12
and ecx, 1
mov r9d, ecx
or r9d, 2
test bl, 2
cmove r9d, ecx
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x140020661
cdqe
cmp rax, 0xffffffffffffffff
je 0x140020661
add r12, rax
sub r14, rax
jmp 0x140020672
call fcn.140021590
cmp eax, 0x10
je 0x140020672
mov r15, 0xffffffffffffffff
mov r10d, 0
test r14, r14
jne 0x140020484
mov rbx, qword [rsp + 0x6d8]
mov r13, qword [rsp + 0x688]
mov rsi, qword [rsp + 0x690]
mov rax, r15
mov r15, qword [rsp + 0x680]
mov rcx, qword [rbp + 0x570]
xor rcx, rsp
call fcn.140160900
add rsp, 0x698
pop r14
pop r12
pop rdi
pop rbp
ret