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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x3c0]
sub rsp, 0x4c0
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov rax, qword [0x1801f5f20]
xor rax, rsp
mov qword [rbp + 0x3b0], rax
mov esi, r8d
mov r12, rdx
mov rbx, rcx
mov r14d, 1
xor r15d, r15d
test rdx, rdx
jne 0x180133d0a
mov qword [rsp + 0x60], SafeArrayLock
mov qword [rsp + 0x58], r15
mov byte [rsp + 0x48], r15b
lea r8d, [rdx + 0x2f]
lea rdx, str._Connector::DoSend__Input_parameters_incorrect_n
lea rcx, [rsp + 0x48]
call fcn.180006768
nop
mov dword [rbx], 0xfffffffd
lea rcx, [rbx + 8]
lea rax, [rsp + 0x48]
cmp rcx, rax
je 0x180133cae
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x48]
call fcn.180006868
nop
mov rax, qword [rsp + 0x60]
cmp rax, 0x10
jb 0x1801342ca
inc rax
mov rcx, qword [rsp + 0x48]
cmp rax, 0x1000
jb 0x1801342c5
test cl, 0x1f
je 0x180133cdc
call fcn.180154658
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180133ceb
call fcn.180154658
int3
sub rcx, rax
cmp rcx, 8
jae 0x180133cfa
call fcn.180154658
int3
cmp rcx, 0x27
jbe 0x1801342c2
call fcn.180154658
int3
cmp qword [rcx + 0x30], 0
jne 0x180133dc2
mov qword [rsp + 0x60], SafeArrayLock
mov qword [rsp + 0x58], r15
mov byte [rsp + 0x48], r15b
mov r8d, 0x22
lea rdx, str._Connector::DoSend__No_connection_n
lea rcx, [rsp + 0x48]
call fcn.180006768
nop
mov dword [rbx], 0xfffffffd
lea rcx, [rbx + 8]
lea rax, [rsp + 0x48]
cmp rcx, rax
je 0x180133d66
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x48]
call fcn.180006868
nop
mov rax, qword [rsp + 0x60]
cmp rax, 0x10
jb 0x1801342ca
inc rax
mov rcx, qword [rsp + 0x48]
cmp rax, 0x1000
jb 0x1801342c5
test cl, 0x1f
je 0x180133d94
call fcn.180154658
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180133da3
call fcn.180154658
int3
sub rcx, rax
cmp rcx, 8
jae 0x180133db2
call fcn.180154658
int3
cmp rcx, 0x27
jbe 0x1801342c2
call fcn.180154658
int3
mov dword [rsp + 0x3c], r15d
mov dword [rsp + 0x38], r9d
nop dword [rax]
mov rax, qword [rbx + 0x30]
mov qword [rbp + 0x1a8], rax
mov dword [rbp + 0x1a0], r14d
mov qword [rbp - 0x68], rax
mov dword [rbp - 0x70], r14d
lea ecx, [rax + 1]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x70]
lea r8, [rbp + 0x1a0]
xor edx, edx
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
je 0x1801341b2
test eax, eax
je 0x18013409e
lea rdx, [rbp - 0x70]
mov rcx, qword [rbx + 0x30]
call sub.WS2_32.dll___WSAFDIsSet
mov rcx, qword [rbx + 0x30]
test eax, eax
jne 0x180133fd4
lea rdx, [rbp + 0x1a0]
call sub.WS2_32.dll___WSAFDIsSet
mov rcx, qword [rbx + 0x30]
test eax, eax
je 0x180133f41
xor r9d, r9d
mov r8d, esi
mov rdx, r12
call qword [sym.imp.WS2_32.dll_send]
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jle 0x180133e72
sub esi, eax
je 0x180133f39
jmp 0x180133dd0
cmp eax, 0xffffffff
jne 0x180133e83
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
mov dword [rsp + 0x30], eax
mov rcx, rbx
call fcn.1801330d0
lea eax, [rdi - 0x2745]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x48]
cmp eax, r14d
ja 0x180133ee7
call fcn.180132d30
nop
mov r8, rax
lea rdx, str._Connector::DoSend__Send_buffer_failed___connection_aborted:_wsaerror
lea rcx, [rsp + 0x68]
call fcn.18000e4c0
nop
mov dword [rbx], 0xfffffffb
lea rcx, [rbx + 8]
cmp rcx, rax
je 0x180133eda
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
call fcn.180006868
nop
lea rcx, [rsp + 0x68]
call fcn.18000653c
nop
jmp 0x180133f2c
call fcn.180132d30
nop
mov r8, rax
lea rdx, str._Connector::DoSend__Send_buffer_failed_:_wsaerror
lea rcx, [rsp + 0x68]
call fcn.18000e4c0
nop
mov dword [rbx], 0xfffffffd
lea rcx, [rbx + 8]
cmp rcx, rax
je 0x180133f21
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
call fcn.180006868
nop
lea rcx, [rsp + 0x68]
call fcn.18000653c
nop
lea rcx, [rsp + 0x48]
call fcn.18000653c
mov r14d, r15d
mov eax, r14d
jmp 0x1801342cc
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x34], 4
lea rax, [rsp + 0x34]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
mov edx, 0xffff
mov r8d, 0x1007
call qword [sym.imp.WS2_32.dll_getsockopt]
mov rcx, rbx
call fcn.1801330d0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x48]
call fcn.180132d30
nop
mov r8, rax
lea rdx, str._Connector::DoSend__Fd_is_not_set_write_:_wsaerror
lea rcx, [rsp + 0x68]
call fcn.18000e4c0
nop
mov dword [rbx], 0xfffffffd
lea rcx, [rbx + 8]
cmp rcx, rax
je 0x180133fba
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
call fcn.180006868
nop
lea rcx, [rsp + 0x68]
call fcn.18000653c
nop
lea rcx, [rsp + 0x48]
call fcn.18000653c
jmp 0x1801342ca
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x34], 4
lea rax, [rsp + 0x34]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
mov edx, 0xffff
mov r8d, 0x1007
call qword [sym.imp.WS2_32.dll_getsockopt]
mov rcx, rbx
call fcn.1801330d0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x68]
call fcn.180132d30
nop
mov r8, rax
lea rdx, str._Connector::DoSend__Fd_is_set_exception_:_wsaerror
lea rcx, [rsp + 0x48]
call fcn.18000e4c0
nop
mov dword [rbx], 0xfffffffd
lea rcx, [rbx + 8]
cmp rcx, rax
je 0x18013404d
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
call fcn.180006868
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x180134068
inc rdx
mov r8, r14
mov rcx, qword [rsp + 0x48]
call fcn.1800060dc
mov qword [rsp + 0x60], SafeArrayLock
mov qword [rsp + 0x58], r15
mov byte [rsp + 0x48], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x1801342ca
inc rdx
mov r8, r14
mov rcx, qword [rsp + 0x68]
call fcn.1800060dc
jmp 0x1801342ca
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x30], eax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x68]
call fcn.180132d30
nop
mov r8, rax
lea rdx, str._Connector::DoSend__timeout_for_send_is_out_:_wsaerror
lea rcx, [rsp + 0x48]
call fcn.18000e4c0
nop
mov dword [rbx], 0xfffffffc
lea rcx, [rbx + 8]
cmp rcx, rax
je 0x1801340ec
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
call fcn.180006868
nop
mov rax, qword [rsp + 0x60]
cmp rax, 0x10
jb 0x180134144
inc rax
mov rcx, qword [rsp + 0x48]
cmp rax, 0x1000
jb 0x18013413f
test cl, 0x1f
je 0x180134112
call fcn.180154658
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180134121
call fcn.180154658
int3
sub rcx, rax
cmp rcx, 8
jae 0x180134130
call fcn.180154658
int3
cmp rcx, 0x27
jbe 0x18013413c
call fcn.180154658
int3
mov rcx, rax
call fcn.18002c160
mov qword [rsp + 0x60], SafeArrayLock
mov qword [rsp + 0x58], r15
mov byte [rsp + 0x48], 0
mov rax, qword [rbp - 0x80]
cmp rax, 0x10
jb 0x1801342ca
inc rax
mov rcx, qword [rsp + 0x68]
cmp rax, 0x1000
jb 0x1801342c5
test cl, 0x1f
je 0x180134184
call fcn.180154658
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180134193
call fcn.180154658
int3
sub rcx, rax
cmp rcx, 8
jae 0x1801341a2
call fcn.180154658
int3
cmp rcx, 0x27
jbe 0x1801342c2
call fcn.180154658
int3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x30], eax
mov rcx, rbx
call fcn.1801330d0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x68]
call fcn.180132d30
nop
mov r8, rax
lea rdx, str._Connector::DoSend__Select_timeout_failed_:_wsaerror
lea rcx, [rsp + 0x48]
call fcn.18000e4c0
nop
mov dword [rbx], 0xfffffffd
lea rcx, [rbx + 8]
cmp rcx, rax
je 0x180134208
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
call fcn.180006868
nop
mov rax, qword [rsp + 0x60]
cmp rax, 0x10
jb 0x180134260
inc rax
mov rcx, qword [rsp + 0x48]
cmp rax, 0x1000
jb 0x18013425b
test cl, 0x1f
je 0x18013422e
call fcn.180154658
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18013423d
call fcn.180154658
int3
sub rcx, rax
cmp rcx, 8
jae 0x18013424c
call fcn.180154658
int3
cmp rcx, 0x27
jbe 0x180134258
call fcn.180154658
int3
mov rcx, rax
call fcn.18002c160
mov qword [rsp + 0x60], SafeArrayLock
mov qword [rsp + 0x58], r15
mov byte [rsp + 0x48], 0
mov rax, qword [rbp - 0x80]
cmp rax, 0x10
jb 0x1801342ca
inc rax
mov rcx, qword [rsp + 0x68]
cmp rax, 0x1000
jb 0x1801342c5
test cl, 0x1f
je 0x180134298
call fcn.180154658
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1801342a7
call fcn.180154658
int3
sub rcx, rax
cmp rcx, 8
jae 0x1801342b6
call fcn.180154658
int3
cmp rcx, 0x27
jbe 0x1801342c2
call fcn.180154658
int3
mov rcx, rax
call fcn.18002c160
xor eax, eax
mov rcx, qword [rbp + 0x3b0]
xor rcx, rsp
call fcn.180131f30
add rsp, 0x4c0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret