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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x140091240]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rsi, r8
mov rbx, rdx
mov r13, rcx
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x38], xmm1
mov rcx, qword [rcx + 0x98]
test rcx, rcx
je 0x14002ac65
xor edx, edx
mov rax, rbx
div rcx
shl rdx, 4
mov rcx, qword [r13 + 0x90]
add rcx, rdx
mov rax, qword [rcx]
mov rdx, qword [r13 + 0x70]
cmp rax, rdx
je 0x14002ac69
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x14002ac65
cmp qword [rax + 0x10], rbx
je 0x14002ade6
mov rax, qword [rax]
cmp rax, rcx
jne 0x14002ac53
mov rdx, qword [r13 + 0x70]
mov r9, rsi
lea r8, [rbp - 0x38]
lea rcx, [r13 + 0x68]
call fcn.14002aa60
movzx edi, al
mov rcx, qword [r13 + 0xd0]
test rcx, rcx
je 0x14002acd2
xor edx, edx
mov rax, rbx
div rcx
shl rdx, 4
mov rcx, qword [r13 + 0xc8]
add rcx, rdx
mov rax, qword [rcx]
mov rdx, qword [r13 + 0xa8]
cmp rax, rdx
je 0x14002acd9
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x14002acd2
nop dword [rax]
cmp qword [rax + 0x10], rbx
je 0x14002adee
mov rax, qword [rax]
cmp rax, rcx
jne 0x14002acc0
mov rdx, qword [r13 + 0xa8]
mov r9, rsi
lea r8, [rbp - 0x38]
lea rcx, [r13 + 0xa0]
call fcn.14002aa60
test al, al
jne 0x14002acf5
test dil, dil
je 0x14002acf8
mov dil, 1
mov rcx, qword [r13 + 0x108]
test rcx, rcx
je 0x14002ad47
xor edx, edx
mov rax, rbx
div rcx
shl rdx, 4
mov rcx, qword [r13 + 0x100]
add rcx, rdx
mov rax, qword [rcx]
mov rdx, qword [r13 + 0xe0]
cmp rax, rdx
je 0x14002ad4e
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x14002ad47
cmp qword [rax + 0x10], rbx
je 0x14002adf6
mov rax, qword [rax]
cmp rax, rcx
jne 0x14002ad35
mov rdx, qword [r13 + 0xe0]
mov r9, rsi
lea r8, [rbp - 0x38]
lea rcx, [r13 + 0xd8]
call fcn.14002aa60
test al, al
jne 0x14002ad6a
test dil, dil
je 0x14002ad6d
mov dil, 1
mov rcx, qword [r13 + 0x140]
test rcx, rcx
je 0x14002adbe
xor edx, edx
mov rax, rbx
div rcx
shl rdx, 4
mov rcx, qword [r13 + 0x138]
add rcx, rdx
mov rax, qword [rcx]
mov rdx, qword [r13 + 0x118]
cmp rax, rdx
je 0x14002adc5
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x14002adbe
nop word [rax + rax]
cmp qword [rax + 0x10], rbx
je 0x14002adfe
mov rax, qword [rax]
cmp rax, rcx
jne 0x14002adb0
mov rdx, qword [r13 + 0x118]
mov r9, rsi
lea r8, [rbp - 0x38]
lea rcx, [r13 + 0x110]
call fcn.14002aa60
test al, al
jne 0x14002ae03
test dil, dil
jne 0x14002ae03
xor r12b, r12b
jmp 0x14002ae06
mov rdx, rax
jmp 0x14002ac69
mov rdx, rax
jmp 0x14002acd9
mov rdx, rax
jmp 0x14002ad4e
mov rdx, rax
jmp 0x14002adc5
mov r12b, 1
mov r14, qword [r13 + 0x28]
mov rbx, qword [rbp - 0x38]
mov rdi, rbx
xor ecx, ecx
test rbx, rbx
je 0x14002aed6
mov rsi, rbx
mov r15, qword [rbp - 0x30]
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rbx + 0x20]
mov qword [rbp - 0x38], rbx
test rbx, rbx
cmove r15, rcx
mov qword [rbp - 0x30], r15
mov qword [rsi + 0x20], rcx
mov rsi, rbx
mov dword [rdi + 0x30], 1
mov r9, rdi
xor r8d, r8d
xor edx, edx
mov rcx, qword [r14 + 0x28]
call qword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
test eax, eax
je 0x14002ae73
mov rdi, rbx
xor ecx, ecx
test rbx, rbx
je 0x14002aed6
jmp 0x14002ae30
lea rcx, [r14 + 0x60]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov qword [rdi + 0x20], 0
mov rax, qword [r14 + 0x98]
test rax, rax
je 0x14002ae97
mov qword [rax + 0x20], rdi
jmp 0x14002ae9e
mov qword [r14 + 0x90], rdi
mov qword [r14 + 0x98], rdi
test rbx, rbx
je 0x14002aebd
mov qword [rdi + 0x20], rbx
mov qword [r14 + 0x98], r15
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
mov eax, 1
xchg dword [r14 + 0x58], eax
lea rcx, [r14 + 0x60]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rbp - 0x38]
xor ecx, ecx
test r12b, r12b
je 0x14002af8c
mov byte [rbp - 0x40], 0
lea rax, [rbp - 0x40]
mov qword [rbp - 0x30], rax
mov dword [rbp - 0x38], 1
mov dword [rbp - 0x28], ecx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], ecx
lea r9, [rbp - 0x28]
mov r8d, 1
lea rdx, [rbp - 0x38]
mov rcx, qword [r13 + 0x60]
call qword [sym.imp.WS2_32.dll_WSASend]
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x140095ac0], eax
jle 0x14002af64
lea rcx, [0x140095ac0]
call fcn.140036ebc
cmp dword [0x140095ac0], 0xffffffff
jne 0x14002af64
lea rcx, [0x140055390]
call fcn.140036dd0
lea rcx, [0x140095ac0]
call fcn.140036e50
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x40
jne 0x14002af76
mov edx, 0x2746
jmp 0x14002af82
cmp eax, 0x4d2
jne 0x14002af8c
mov edx, 0x274d
lea rcx, [rbp - 0x20]
call fcn.14002d150
nop
mov rdx, rbx
test rbx, rbx
je 0x14002afcc
mov rdi, rbx
lea rsi, [0x140091f48]
nop
mov rax, qword [rbx + 0x20]
mov rbx, rax
xor ecx, ecx
mov qword [rdi + 0x20], rcx
mov rdi, rax
mov rax, qword [rdx + 0x28]
mov dword [rbp - 0x38], ecx
mov qword [rbp - 0x30], rsi
xor r9d, r9d
lea r8, [rbp - 0x38]
call rax
mov rdx, rdi
test rdi, rdi
jne 0x14002afa0
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140036b80
mov rbx, qword [rsp + 0xd0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret