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

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rsi
push r12
push r13
push r15
sub rsp, 0x60
mov r12d, r9d
mov r15d, r8d
mov r13, rdx
mov rsi, rcx
mov ebx, 0xffffffff
test rcx, rcx
je 0x1400097ee
mov eax, dword [rcx]
add eax, 0xff5ffff
cmp eax, 2
ja 0x1400097ee
test rdx, rdx
jne 0x1400094df
cmp r9d, 0xc
je 0x1400094df
lea rax, str.NULL_data_buf_to_send_n
mov dword [0x140046b3c], 1
mov qword [rsp + 0x30], rax
lea r9, str.E:02_Sourcelm.signal.soft.git01_ProjectPE0000workcomplat_srcmod_net_netinterface.c
lea rax, str.netsend
mov dword [rsp + 0x28], 0x5bf
lea r8, [0x140046b30]
mov qword [rsp + 0x20], rax
lea ecx, [rdx + 2]
mov dword [0x140046b40], 1
call sym.Launcher.exe_elog_fmt
mov eax, ebx
add rsp, 0x60
pop r15
pop r13
pop r12
pop rsi
pop rbx
ret
test r15d, r15d
jne 0x140009545
cmp r12d, 0xc
je 0x140009545
xor edx, edx
mov dword [0x14004659c], 1
lea rax, str.zero_data_len_to_send_n
mov dword [0x1400465a0], 1
mov qword [rsp + 0x30], rax
lea r9, str.E:02_Sourcelm.signal.soft.git01_ProjectPE0000workcomplat_srcmod_net_netinterface.c
lea rax, str.netsend
mov dword [rsp + 0x28], 0x5c5
lea ecx, [rdx + 2]
mov qword [rsp + 0x20], rax
lea r8, [0x140046590]
call sym.Launcher.exe_elog_fmt
mov eax, ebx
add rsp, 0x60
pop r15
pop r13
pop r12
pop rsi
pop rbx
ret
mov qword [rsp + 0x58], rdi
xor edi, edi
mov eax, edi
lock xadd dword [rcx + 0x20], eax
test eax, eax
jne 0x1400097da
mov rcx, qword [rcx + 0x48]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, edi
lock xadd dword [rsi + 0x20], eax
test eax, eax
jne 0x1400097d0
cmp dword [rsi], 0xf00a0003
mov qword [rsp + 0xa0], rbp
mov qword [rsp + 0x50], r14
jne 0x14000964d
lea r12, [rsi + 0x368]
mov ebp, edi
mov rdx, qword [r12]
mov r14, qword [rdx]
cmp rdx, r12
je 0x14000963f
nop dword [rax + rax]
mov eax, edi
lock xadd dword [rdx + 0xc8], eax
test eax, eax
js 0x140009630
lea rbx, [rsi + 0x298]
test rbx, rbx
je 0x140009630
mov eax, dword [rbx + 8]
cmp eax, 1
je 0x140009630
mov eax, dword [rbx + 0xc]
cmp eax, 1
je 0x140009630
mov rax, qword [rbx]
mov ecx, edi
dec rax
cmp rax, 0xfffffffffffffffd
setbe cl
cmp ecx, 1
jne 0x140009630
lock inc dword [rbx + 0x14]
mov rcx, qword [rbx]
lea rax, [rdx + 0x4c]
mov rdx, r13
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8d, r15d
call qword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jns 0x140009623
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
neg eax
jmp 0x140009626
mov eax, r15d
lock dec dword [rbx + 0x14]
test eax, eax
jle 0x140009630
inc ebp
mov rdx, r14
mov r14, qword [r14]
cmp rdx, r12
jne 0x1400095b0
test ebp, ebp
mov ebx, edi
setg bl
dec ebx
jmp 0x1400097c3
mov r13d, edi
mov eax, edi
lock xadd dword [rsi + 0x2c], eax
cmp eax, 2
jne 0x1400097c3
mov eax, edi
lock xadd dword [rsi + 0x34], eax
cmp eax, 1
jne 0x1400097c3
mov r8, qword [rsi + 0x130]
xor edx, edx
movzx ecx, byte [rsi + 0x78]
mov qword [rsp + 0x48], r8
mov dword [rsp + 0x90], edi
lea rax, [r8 + 1]
mov qword [rsi + 0x130], rax
mov eax, r15d
div ecx
mov dword [rsp + 0x40], edx
mov r15d, eax
test ecx, ecx
je 0x140009786
mov r14, rdi
nop dword [rax + rax]
movzx ecx, word [rsp + 0xb0]
test r14, r14
jne 0x1400096c5
movzx ebx, dl
add ebx, r15d
jmp 0x1400096c8
mov ebx, r15d
imul rbp, r14, 0x398
add rbp, rsi
mov dword [rbp + 0x6c4], 0xf00a0004
mov dword [rbp + 0x6c8], r12d
mov dword [rbp + 0x6cc], r8d
cmp r12d, 0xc
jne 0x14000970f
lea r8, str.heartbeat
lea edx, [r12 - 2]
lea rcx, [rbp + 0x6d0]
call fcn.1400017b0
mov ecx, edi
mov rax, rdi
jmp 0x140009730
mov eax, r13d
add rax, qword [rsp + 0x98]
mov word [rbp + 0x6d8], cx
mov ecx, ebx
mov dword [rbp + 0x6d0], ebx
mov dword [rbp + 0x6d4], r13d
mov qword [rbp + 0x6f8], rax
xor r8d, r8d
mov dword [rbp + 0x6c0], ecx
mov rcx, qword [rbp + 0x678]
mov dword [rbp + 0x70c], 0xfffffc18
lea edx, [r8 + 1]
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov eax, dword [rsp + 0x90]
add r13d, ebx
movzx ecx, byte [rsi + 0x78]
inc eax
mov edx, dword [rsp + 0x40]
inc r14
mov r8, qword [rsp + 0x48]
mov dword [rsp + 0x90], eax
cmp eax, ecx
jl 0x1400096b0
mov ebx, edi
test cl, cl
je 0x1400097c3
lea rbp, [rsi + 0x70c]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbp + 0xc]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
add ebx, dword [rbp]
lea rbp, [rbp + 0x398]
movzx eax, byte [rsi + 0x78]
inc edi
cmp edi, eax
jl 0x1400097a0
mov rbp, qword [rsp + 0xa0]
mov r14, qword [rsp + 0x50]
mov rcx, qword [rsi + 0x48]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rdi, qword [rsp + 0x58]
mov eax, ebx
add rsp, 0x60
pop r15
pop r13
pop r12
pop rsi
pop rbx
ret
lea rax, str.invalid_input_handle_n
mov dword [0x14004609c], 1
mov qword [rsp + 0x30], rax
lea r9, str.E:02_Sourcelm.signal.soft.git01_ProjectPE0000workcomplat_srcmod_net_netinterface.c
lea rax, str.netsend
mov dword [rsp + 0x28], 0x5b8
lea r8, [0x140046090]
mov qword [rsp + 0x20], rax
mov edx, ebx
mov dword [0x1400460a0], 1
mov ecx, 3
call sym.Launcher.exe_elog_fmt
mov eax, ebx
add rsp, 0x60
pop r15
pop r13
pop r12
pop rsi
pop rbx
ret