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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov r14, qword [rsp + 0xe0]
mov ebp, dword [rsp + 0xe8]
mov r15, qword [rsp + 0xf0]
mov rsi, rcx
mov rbx, rdx
mov r12, r8
mov r13d, r9d
test byte [rdx + 0x59], 0x20
jne 0x1400ca978
cmp ebp, 0x10
je 0x1400cab88
cmp ebp, 0x1c
jne 0x1400caba8
mov rdx, qword [0x1402af420]
xor r9d, r9d
mov r8d, ebp
mov rcx, rbx
call fcn.1400c8f80
test eax, eax
jne 0x1400cab3e
lea rax, [rsi + 0x40]
mov rdi, qword [rbx + 8]
mov dword [rsp + 0x30], ebp
mov r8d, r13d
mov dword [rsi + 8], 5
lea r9, [rsp + 0x6c]
mov rdx, r12
mov qword [rsi + 0x70], rbx
mov qword [rsi + 0x78], r15
mov qword [rsi + 0x40], 0
mov qword [rsi + 0x48], 0
mov qword [rsi + 0x50], 0
mov qword [rsi + 0x58], 0
mov rcx, qword [rbx + 0x70]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0
call qword [sym.imp.WS2_32.dll_WSASendTo]
test eax, eax
je 0x1400caa50
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x1400cab30
mov edx, r13d
mov rcx, r12
call fcn.1400a9050
mov qword [rsi + 0x60], rax
add dword [rbx + 0x78], 1
mov rax, qword [rsi + 0x60]
add qword [rbx + 0x60], rax
mov eax, dword [rbx + 0x7c]
add qword [rbx + 0x68], 1
lea edx, [rax + 1]
mov dword [rbx + 0x7c], edx
test eax, eax
jne 0x1400cab00
mov eax, dword [rbx + 0x58]
test al, 4
je 0x1400caae0
add dword [rdi + 0x20], 1
xor eax, eax
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test byte [rbx + 0x5a], 2
je 0x1400ca9f8
mov qword [rsi + 0x60], 0
add dword [rbx + 0x78], 1
mov rdx, qword [rsi + 0x60]
add qword [rbx + 0x60], rdx
mov edx, dword [rbx + 0x7c]
add qword [rbx + 0x68], 1
lea ecx, [rdx + 1]
mov dword [rbx + 0x7c], ecx
test edx, edx
je 0x1400cab58
test ecx, ecx
jg 0x1400caaa6
mov dword [rsp + 0x5c], eax
mov r8d, 0x1b3
lea rdx, str.src_win_udp.c
lea rcx, str.__handle____activecnt___0
call qword [sym.imp.msvcrt.dll__assert]
mov eax, dword [rsp + 0x5c]
add dword [rdi + 0x20], 1
mov qword [rsi + 0x68], 0
mov rdx, qword [rdi + 0x48]
test rdx, rdx
je 0x1400cab98
mov rdx, qword [rdx + 0x68]
mov qword [rsi + 0x68], rdx
mov rdx, qword [rdi + 0x48]
mov qword [rdx + 0x68], rsi
mov qword [rdi + 0x48], rsi
jmp 0x1400caa3a
mov edx, eax
or edx, 4
mov dword [rbx + 0x58], edx
test al, 8
je 0x1400caa34
mov rax, qword [rbx + 8]
add dword [rax + 8], 1
mov edx, dword [rbx + 0x7c]
nop dword [rax + rax]
test edx, edx
jg 0x1400caa34
mov r8d, 0x1bb
lea rdx, str.src_win_udp.c
lea rcx, str.__handle____activecnt___0
call qword [sym.imp.msvcrt.dll__assert]
jmp 0x1400caa34
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x1400caa3a
mov ecx, eax
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400ab4e0
mov edx, dword [rbx + 0x58]
test dl, 4
jne 0x1400caaa6
mov ecx, edx
or ecx, 4
and edx, 8
mov dword [rbx + 0x58], ecx
je 0x1400caaa6
mov rdx, qword [rbx + 8]
add dword [rdx + 8], 1
mov ecx, dword [rbx + 0x7c]
jmp 0x1400caa80
mov rdx, qword [0x1402af410]
jmp 0x1400ca962
mov qword [rsi + 0x68], rsi
mov qword [rdi + 0x48], rsi
jmp 0x1400caa3a
mov eax, 0xfffff019
jmp 0x1400caa3a