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

Disassembly:
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xf0
mov rax, qword [0x140098500]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rbx, rdx
xor edi, edi
mov r9d, dword [r8]
lea r10, [r8 + 8]
mov r8, qword [rdx + 0x10]
sub r8, qword [rdx + 8]
add rdx, 0x18
add rdx, qword [rbx + 8]
mov dword [rsp + 0x28], r9d
mov qword [rsp + 0x20], r10
xor r9d, r9d
mov rcx, qword [rcx]
call qword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
je 0x14003ca72
movsxd rcx, eax
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx + 8]
mov rax, r8
sub rax, rdx
cmp rcx, rax
ja 0x14003ccb2
lea rax, [rdx + rcx]
mov qword [rbx + 8], rax
test rax, rax
je 0x14003ca6b
lea rcx, [rbx + 0x18]
lea rdx, [rax + rcx]
sub r8, rdx
add r8, rcx
call sub.VCRUNTIME140.dll_memmove
mov rax, qword [rbx + 8]
sub qword [rbx + 0x10], rax
mov qword [rbx + 8], rdi
xor al, al
jmp 0x14003cc9b
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
sub eax, 0x2733
je 0x14003cc99
sub eax, 0xc
je 0x14003cc95
cmp eax, 1
je 0x14003cc95
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea rcx, [rbp - 9]
call fcn.140033f90
nop
lea rcx, str.unable_to_send_packet
mov qword [rbp - 0x59], rcx
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14003cabf
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x79], rcx
mov qword [rbp - 0x71], rax
movups xmm0, xmmword [rbp - 0x59]
movups xmmword [rbp + 0x17], xmm0
movups xmm1, xmmword [rbp - 0x79]
movups xmmword [rbp + 0x27], xmm1
mov qword [rbp - 0x79], 0xdc
lea rax, [rbp + 0x17]
mov qword [rbp - 0x71], rax
movaps xmm0, xmmword [rbp - 0x79]
movdqa xmmword [rbp - 0x59], xmm0
lea rax, str.message:__with_code:_
mov qword [rbp - 0x79], rax
mov qword [rbp - 0x71], 0x19
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x79]
lea rcx, [rbp - 0x29]
call fcn.1400728e0
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
mov qword [rbp - 0x39], rdi
mov qword [rbp - 0x31], sendto
mov ecx, 0x60
call fcn.1400734b0
mov rcx, rax
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x39], 0x5c
mov qword [rbp - 0x31], 0x5f
movaps xmm0, xmmword [str.C:BuildXoap1YSt2HaplyInternalhardware_api_service_srclts_srccommunication_socket.cpp]
movups xmmword [rax], xmm0
movaps xmm1, xmmword [0x140081090]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [0x1400810a0]
movups xmmword [rax + 0x20], xmm0
movaps xmm1, xmmword [0x1400810b0]
movups xmmword [rax + 0x30], xmm1
movaps xmm0, xmmword [0x1400810c0]
movups xmmword [rax + 0x40], xmm0
movsd xmm0, qword [0x1400810d0]
movsd qword [rax + 0x50], xmm0
mov eax, dword [0x1400810d8]
mov dword [rcx + 0x58], eax
mov byte [rcx + 0x5c], 0
lea r9, [rbp - 0x29]
mov r8d, 0xa7
lea rdx, [rbp - 0x49]
mov ecx, 2
call fcn.14004f120
nop
mov rdx, qword [rbp - 0x31]
cmp rdx, 0xf
jbe 0x14003cbf4
inc rdx
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cbef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003cbef
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400734ec
mov qword [rbp - 0x39], rdi
mov qword [rbp - 0x31], sendto
mov byte [rbp - 0x49], 0
mov rdx, qword [rbp - 0x11]
cmp rdx, 0xf
jbe 0x14003cc42
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cc3d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003cc3d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400734ec
movdqa xmm0, xmmword [0x14007e9a0]
movdqu xmmword [rbp - 0x19], xmm0
mov byte [rbp - 0x29], 0
mov rdx, qword [rbp + 0xf]
cmp rdx, 0xf
jbe 0x14003cc91
inc rdx
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003cc8c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003cc8c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400734ec
mov al, 0xfe
jmp 0x14003cc9b
mov al, 0x11
jmp 0x14003cc9b
mov al, 0x12
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.140073840
add rsp, 0xf0
pop rdi
pop rbx
pop rbp
ret
lea rdx, str.assumption_failed:_len___read_len__
lea rcx, [rbp - 0x49]
call fcn.1400073f0
nop
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 9]
call fcn.140050590
mov rbx, rax
lea rdx, str.C:BuildXoap1YSt2HaplyInternalhardware_api_service_srclts_srccommunicationincludehaply_inverse_lts_communication_utils_data.h
lea rcx, [rbp - 0x29]
call fcn.1400073f0
nop
mov r9, rbx
mov r8d, 0x31
lea rdx, [rbp - 0x29]
lea ecx, [r8 - 0x2e]
call fcn.14004f120
nop
lea rcx, [rbp - 0x29]
call fcn.140007850
nop
lea rcx, [rbp - 9]
call fcn.140007850
nop
lea rcx, [rbp - 0x49]
call fcn.140007850
call fcn.140007ec0
int3