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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
vmovaps xmmword [rbp], xmm6
mov qword [rbp - 8], 0xfffffffffffffffe
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [rbp - 0x20], xmm0
xor r13d, r13d
lea r15, [rbp - 0x20]
xor r12d, r12d
xor r14d, r14d
jmp 0x14001998d
mov qword [rbp - 0x18], rax
mov r13, rax
mov r14b, 1
call fcn.140019cd0
nop dword [rax + rax]
inc r12
cmp r12, 4
je 0x140019a92
imul rcx, r12, 0x38
mov r8, qword [rsi + rcx + 0x98]
test r8, r8
je 0x140019980
mov rax, rbx
or rax, r8
shr rax, 0x20
je 0x1400199c0
mov rax, rbx
xor edx, edx
div r8
mov rax, rdx
jmp 0x1400199c9
mov eax, ebx
xor edx, edx
div r8d
mov eax, edx
add rcx, rsi
add rcx, 0x68
mov r8, qword [rcx + 8]
mov r9, qword [rcx + 0x28]
shl rax, 4
mov rdx, qword [r9 + rax]
cmp r8, rdx
je 0x140019980
mov rax, qword [r9 + rax + 8]
mov rax, qword [rax]
cmp rax, rdx
je 0x140019980
nop word cs:[rax + rax]
cmp qword [rdx + 0x10], rbx
je 0x140019a13
mov rdx, qword [rdx]
cmp rdx, rax
jne 0x140019a00
jmp 0x140019980
cmp r8, rdx
je 0x140019980
mov r8, qword [rdx + 0x18]
test r8, r8
jne 0x140019a5e
jmp 0x140019970
mov qword [r8 + 0x20], 0
mov qword [rax + 0x20], 0
lea r8, [r13 + 0x20]
test r13, r13
cmove r8, r15
mov qword [r8], rax
mov r8, qword [rdx + 0x18]
mov r13, rax
test r8, r8
je 0x140019969
mov rax, r8
mov r8, qword [rdi + 0x10]
mov qword [rax + 0x48], r8
vmovups xmm0, xmmword [rdi]
vmovups xmmword [rax + 0x38], xmm0
mov r8, qword [rdx + 0x18]
test r8, r8
je 0x140019a38
mov r9, qword [r8 + 0x20]
mov qword [rdx + 0x18], r9
test r9, r9
jne 0x140019a30
mov qword [rdx + 0x20], 0
jmp 0x140019a30
mov qword [rbp - 0x30], r14
mov rbx, qword [rbp - 0x20]
test rbx, rbx
je 0x140019b68
mov r15, qword [rsi + 0x28]
lea rdi, [r15 + 0x60]
lea r12, [r15 + 0x90]
mov r13, qword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
vxorps xmm6, xmm6, xmm6
jmp 0x140019ae2
mov eax, 1
xchg dword [r15 + 0x58], eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r14, qword [rbp - 0x20]
mov rbx, r14
test r14, r14
je 0x140019b68
mov r14, qword [rbx + 0x20]
mov qword [rbp - 0x20], r14
test r14, r14
jne 0x140019af7
mov qword [rbp - 0x18], 0
mov qword [rbx + 0x20], 0
mov dword [rbx + 0x30], 1
mov rcx, qword [r15 + 0x28]
xor edx, edx
xor r8d, r8d
mov r9, rbx
call r13
test eax, eax
jne 0x140019ad6
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov qword [rbx + 0x20], 0
mov rax, qword [r15 + 0x98]
lea rcx, [rax + 0x20]
test rax, rax
cmove rcx, r12
mov qword [rcx], rbx
mov qword [r15 + 0x98], rbx
test r14, r14
je 0x140019ac0
mov qword [rbx + 0x20], r14
mov rax, qword [rbp - 0x18]
mov qword [r15 + 0x98], rax
vmovaps xmmword [rbp - 0x20], xmm6
jmp 0x140019ac0
test byte [rbp - 0x30], 1
je 0x140019c5a
mov byte [rbp - 9], 0
lea rax, [rbp - 9]
mov qword [rbp - 0x38], rax
mov dword [rbp - 0x40], 1
mov rcx, qword [rsi + 0x60]
mov dword [rbp - 0x24], 0
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0
lea rdx, [rbp - 0x40]
lea r9, [rbp - 0x24]
mov r8d, 1
call qword [sym.imp.WS2_32.dll_WSASend]
mov esi, eax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
mov rax, qword [0x1400325d0]
shr rax, 1
movabs rbx, 0x595588bd12bf6fe8
cmp rax, rbx
je 0x140019bec
mov rax, qword [0x1400325c8]
lea rcx, [0x1400325c8]
mov edx, edi
call qword [rax + 0x30]
cmp edi, 0x4d2
je 0x140019c0f
cmp edi, 0x40
jne 0x140019c34
mov rax, qword [0x1400325d0]
shr rax, 1
mov edx, 0x2746
cmp rax, rbx
jne 0x140019c23
jmp 0x140019c34
mov rax, qword [0x1400325d0]
shr rax, 1
mov edx, 0x274d
cmp rax, rbx
je 0x140019c34
mov rax, qword [0x1400325c8]
lea rcx, [0x1400325c8]
call qword [rax + 0x30]
test esi, esi
jne 0x140019c5a
mov rax, qword [0x1400325d0]
shr rax, 1
cmp rax, rbx
je 0x140019c5a
mov rax, qword [0x1400325c8]
lea rcx, [0x1400325c8]
xor edx, edx
call qword [rax + 0x30]
vmovaps xmm6, xmmword [rbp]
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret