Function at 0x1403a8030
Capabilities:
Send data
Send data on socket

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rsi
push r13
push r14
sub rsp, 0x38
mov rsi, r8
mov rbx, rcx
call fcn.1403a61a0
cmp word [rbx + 0x400], 0x11e
mov r13, rax
mov r14, rsi
jne 0x1403a8074
mov rcx, rbx
call fcn.1403a6720
test eax, eax
jne 0x1403a8074
mov eax, esi
add rsp, 0x38
pop r14
pop r13
pop rsi
pop rbx
ret
mov qword [rsp + 0x60], rbp
mov rbp, qword [rsp + 0x68]
mov qword [rsp + 0x70], rdi
xor edi, edi
mov qword [rsp + 0x30], r15
test rbp, rbp
je 0x1403a80c7
mov rcx, rbx
call fcn.1403a6720
test eax, eax
je 0x1403a80c2
mov rdx, qword [rsp + 0x68]
lea rcx, [rbx + 0x3f0]
mov r8, rsi
call fcn.1403b5e50
test eax, eax
jne 0x1403a82c3
mov ebp, edi
mov qword [rsp + 0x68], rdi
mov esi, edi
jmp 0x1403a80c7
mov rbp, qword [rsp + 0x68]
cmp qword [rbx + 0x3f0], rdi
je 0x1403a80ec
lea rdx, [rsp + 0x68]
lea rcx, [rbx + 0x3f0]
call fcn.1403b5f60
mov rbp, qword [rsp + 0x68]
mov rsi, rax
mov r14, rax
test rsi, rsi
je 0x1403a835d
test rbp, rbp
je 0x1403a835d
test byte [rbx + 0x41c], 2
jne 0x1403a814e
cmp qword [rbx + 0x3f8], 0xffffffffffffffff
jne 0x1403a814e
mov rcx, rbx
call fcn.1403a5e40
mov rcx, rax
lea rdx, [0x1403a5e50]
lea rax, str.invalid_sock
mov r9d, 1
mov qword [rsp + 0x28], rax
mov r8, rbx
lea rax, str.lws_issue_raw
mov qword [rsp + 0x20], rax
call fcn.1403a8a40
mov rbp, qword [rsp + 0x68]
mov rax, qword [rbx + 0x10]
mov rcx, qword [rax + 0x30]
test rcx, rcx
jne 0x1403a8169
mov ecx, dword [rax + 0x18]
test ecx, ecx
jne 0x1403a8169
mov ecx, dword [r13 + 0x7ec]
add ecx, 0x14
mov eax, ecx
cmp rax, rsi
cmovbe esi, ecx
cmp qword [rbx + 0x380], rdi
je 0x1403a81c9
mov rcx, rbx
call fcn.1403a6720
mov rdx, qword [rbx + 0x380]
xor r9d, r9d
mov rcx, qword [rbx + 0x3f8]
mov r8d, esi
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
test eax, eax
je 0x1403a81b9
lea rax, [rdx + 0x10]
mov rdx, rbp
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_sendto]
jmp 0x1403a81f9
mov qword [rsp + 0x20], rdx
mov rdx, rbp
call qword [sym.imp.WS2_32.dll_sendto]
jmp 0x1403a81f9
mov rax, qword [rbx + 0x360]
mov r8d, esi
mov rdx, rbp
test byte [rax + 0x2e], 1
je 0x1403a81e9
mov ecx, dword [rbx + 0x3f8]
call fcn.14055f2a0
jmp 0x1403a81f9
mov rcx, qword [rbx + 0x3f8]
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_send]
mov ecx, eax
test eax, eax
jns 0x1403a825d
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x1403a8244
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x1403a8244
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
je 0x1403a8244
or dword [rbx + 0x420], 0x2000
mov eax, 0xffffffff
or dword [rbx + 0x41c], 0x1000
jmp 0x1403a835f
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x1403a8258
or dword [rbx + 0x424], 0x40
mov ecx, 0xfffffffc
or dword [rbx + 0x420], 0x2000
mov eax, ecx
cmp ecx, 0xfffffffc
mov rcx, rbx
cmove eax, edi
test eax, eax
cmovns edi, eax
call fcn.1403a6720
test eax, eax
je 0x1403a8318
test edi, edi
je 0x1403a8296
mov edx, edi
lea rcx, [rbx + 0x3f0]
call fcn.1403b5fe0
mov rcx, rbx
call fcn.1403a6720
test eax, eax
jne 0x1403a830c
cmp word [rbx + 0x400], 0x11e
mov edi, r14d
je 0x1403a82c3
mov eax, dword [rbx + 0x420]
test al, 0x10
je 0x1403a82cd
and eax, 0xffffffef
mov dword [rbx + 0x420], eax
mov eax, 0xffffffff
jmp 0x1403a835f
mov ecx, dword [rbx + 0xb0]
test cl, 1
je 0x1403a82f9
and ecx, 0xfffffffe
mov dword [rbx + 0xb0], ecx
mov rcx, rbx
call fcn.1403aff60
test eax, eax
mov ecx, 0xffffffff
cmovne r14d, ecx
mov eax, r14d
jmp 0x1403a835f
mov rax, qword [rbx + 0xd0]
test rax, rax
je 0x1403a830c
and dword [rax + 0x124], 0xffffffef
mov rcx, rbx
call fcn.1403b6140
mov eax, edi
jmp 0x1403a835f
mov ecx, edi
cmp rcx, r14
je 0x1403a8314
mov rdx, qword [rsp + 0x68]
mov r8, r14
sub r8, rcx
add rdx, rcx
lea rcx, [rbx + 0x3f0]
call fcn.1403b5e50
test eax, eax
js 0x1403a82c3
mov rax, qword [rbx + 0x380]
test rax, rax
je 0x1403a8350
movups xmm0, xmmword [rax]
movups xmmword [rax + 0x10], xmm0
mov rcx, rbx
call fcn.1403b6140
mov eax, r14d
jmp 0x1403a835f
xor eax, eax
mov rdi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x60]
mov r15, qword [rsp + 0x30]
add rsp, 0x38
pop r14
pop r13
pop rsi
pop rbx
ret