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

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rax, qword [rsp + 0xb8]
mov r13d, dword [rsp + 0xb0]
lea rbp, [rdx + 0x40]
mov qword [rdx + 0x70], rax
mov rdi, rcx
mov rsi, rdx
mov dword [rdx + 8], 3
mov rbx, r8
mov r12, r9
mov qword [rdx + 0x80], r8
mov qword [rdx + 0x40], 0
mov qword [rdx + 0x48], 0
mov qword [rbp + 0x10], 0
mov qword [rbp + 0x18], 0
test byte [r8 + 0x5a], 8
je 0x6e5118
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov qword [rsi + 0xa0], rax
test rax, rax
je 0x6e53e0
mov qword [rsi + 0xa8], 0xffffffffffffffff
or rax, 1
mov qword [rsi + 0x58], rax
mov rcx, qword [rbx + 0x110]
lea r9, [rsp + 0x4c]
mov qword [rsp + 0x28], rbp
mov r8d, r13d
mov qword [rsp + 0x30], 0
mov rdx, r12
mov dword [rsp + 0x20], 0
call qword [sym.imp.WS2_32.dll_WSASend]
test eax, eax
jne 0x6e51e0
mov eax, dword [rbx + 0x58]
test eax, 0x20000
je 0x6e5288
mov edx, dword [rbx + 0x7c]
mov qword [rsi + 0x60], 0
add dword [rbx + 0x78], 1
lea ecx, [rdx + 1]
add dword [rbx + 0x100], 1
mov dword [rbx + 0x7c], ecx
test edx, edx
je 0x6e5390
test ecx, ecx
jg 0x6e519e
mov r8d, 0x376
lea rdx, str.src_win_tcp.c
lea rcx, [0x00959c2c]
call qword [sym.imp.msvcrt.dll__assert]
mov rax, qword [rdi + 0x48]
add dword [rdi + 0x20], 1
mov qword [rsi + 0x68], 0
test rax, rax
je 0x6e526d
mov rdx, qword [rax + 0x68]
mov qword [rsi + 0x68], rdx
mov qword [rax + 0x68], rsi
xor eax, eax
mov qword [rdi + 0x48], rsi
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x6e5288
mov eax, dword [rbx + 0x7c]
mov qword [rsi + 0x60], 0
add dword [rbx + 0x78], 1
lea edx, [rax + 1]
add dword [rbx + 0x100], 1
mov dword [rbx + 0x7c], edx
test eax, eax
je 0x6e53b8
test edx, edx
jg 0x6e5233
mov r8d, 0x38b
lea rdx, str.src_win_tcp.c
lea rcx, [0x00959c2c]
call qword [sym.imp.msvcrt.dll__assert]
add dword [rdi + 0x20], 1
mov rbx, qword [sym.imp.WS2_32.dll_WSAGetLastError]
call rbx
test eax, eax
jle 0x6e5360
call rbx
movzx eax, ax
or eax, 0x80070000
cdqe
mov qword [rsi + 0x40], rax
mov rax, qword [rdi + 0x48]
mov qword [rsi + 0x68], 0
test rax, rax
jne 0x6e51b7
xor eax, eax
mov qword [rsi + 0x68], rsi
mov qword [rdi + 0x48], rsi
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov edx, r13d
mov rcx, r12
call fcn.006cdb10
mov edx, dword [rbx + 0x7c]
mov qword [rsi + 0x60], rax
lea ecx, [rdx + 1]
add dword [rbx + 0x78], 1
add dword [rbx + 0x100], 1
mov dword [rbx + 0x7c], ecx
test edx, edx
jne 0x6e52e0
mov edx, dword [rbx + 0x58]
test dl, 4
je 0x6e5370
add dword [rdi + 0x20], 1
add qword [rbx + 0x60], rax
and edx, 0x80000
jne 0x6e5315
xor eax, eax
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
test ecx, ecx
jg 0x6e5302
mov r8d, 0x37d
lea rdx, str.src_win_tcp.c
lea rcx, [0x00959c2c]
call qword [sym.imp.msvcrt.dll__assert]
mov rax, qword [rsi + 0x60]
mov edx, dword [rbx + 0x58]
add dword [rdi + 0x20], 1
add qword [rbx + 0x60], rax
and edx, 0x80000
je 0x6e52cb
mov dword [rsp + 0x28], 0xc
mov rdx, qword [rsi + 0xa0]
lea rcx, [rsi + 0xa8]
mov r9, rsi
mov dword [rsp + 0x20], 0xffffffff
lea r8, [0x006e3a70]
call qword [sym.imp.KERNEL32.dll_RegisterWaitForSingleObject]
test eax, eax
jne 0x6e52cb
mov rbx, qword [sym.imp.KERNEL32.dll_GetLastError]
call rbx
test eax, eax
jg 0x6e5248
nop dword [rax + rax]
call rbx
cdqe
jmp 0x6e5254
mov ecx, edx
or ecx, 4
and edx, 8
mov dword [rbx + 0x58], ecx
mov edx, ecx
je 0x6e52bb
mov rcx, qword [rbx + 8]
add dword [rcx + 8], 1
jmp 0x6e52bb
test al, 4
jne 0x6e519e
mov edx, eax
or edx, 4
mov dword [rbx + 0x58], edx
test al, 8
je 0x6e519e
mov rax, qword [rbx + 8]
add dword [rax + 8], 1
jmp 0x6e519e
mov eax, dword [rbx + 0x58]
test al, 4
jne 0x6e5233
mov edx, eax
or edx, 4
mov dword [rbx + 0x58], edx
test al, 8
je 0x6e5233
mov rax, qword [rbx + 8]
add dword [rax + 8], 1
jmp 0x6e5233
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [0x00959bf3]
mov ecx, eax
call fcn.006cf7a0
nop
nop word cs:[rax + rax]