Function at 0x14015ba60
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 0x14015baf8
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 0x14015bdc0
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 0x14015bbc0
mov eax, dword [rbx + 0x58]
test eax, 0x20000
je 0x14015bc68
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 0x14015bd70
test ecx, ecx
jg 0x14015bb7e
mov r8d, 0x376
lea rdx, str.src_win_tcp.c
lea rcx, [0x140472fec]
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 0x14015bc4d
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 0x14015bc68
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 0x14015bd98
test edx, edx
jg 0x14015bc13
mov r8d, 0x38b
lea rdx, str.src_win_tcp.c
lea rcx, [0x140472fec]
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 0x14015bd40
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 0x14015bb97
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.1401441d0
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 0x14015bcc0
mov edx, dword [rbx + 0x58]
test dl, 4
je 0x14015bd50
add dword [rdi + 0x20], 1
add qword [rbx + 0x60], rax
and edx, 0x80000
jne 0x14015bcf5
xor eax, eax
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
test ecx, ecx
jg 0x14015bce2
mov r8d, 0x37d
lea rdx, str.src_win_tcp.c
lea rcx, [0x140472fec]
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 0x14015bcab
mov dword [rsp + 0x28], 0xc
mov rdx, qword [rsi + 0xa0]
lea rcx, [rsi + 0xa8]
mov r9, rsi
mov dword [rsp + 0x20], 0xffffffff
lea r8, [0x14015a450]
call qword [sym.imp.KERNEL32.dll_RegisterWaitForSingleObject]
test eax, eax
jne 0x14015bcab
mov rbx, qword [sym.imp.KERNEL32.dll_GetLastError]
call rbx
test eax, eax
jg 0x14015bc28
nop dword [rax + rax]
call rbx
cdqe
jmp 0x14015bc34
mov ecx, edx
or ecx, 4
and edx, 8
mov dword [rbx + 0x58], ecx
mov edx, ecx
je 0x14015bc9b
mov rcx, qword [rbx + 8]
add dword [rcx + 8], 1
jmp 0x14015bc9b
test al, 4
jne 0x14015bb7e
mov edx, eax
or edx, 4
mov dword [rbx + 0x58], edx
test al, 8
je 0x14015bb7e
mov rax, qword [rbx + 8]
add dword [rax + 8], 1
jmp 0x14015bb7e
mov eax, dword [rbx + 0x58]
test al, 4
jne 0x14015bc13
mov edx, eax
or edx, 4
mov dword [rbx + 0x58], edx
test al, 8
je 0x14015bc13
mov rax, qword [rbx + 8]
add dword [rax + 8], 1
jmp 0x14015bc13
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [0x140472fb3]
mov ecx, eax
call fcn.140146180
nop
nop word cs:[rax + rax]