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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov rax, qword [0x14026be10]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov edi, r9d
mov r12d, r8d
mov qword [rsp + 0x30], rdx
mov rsi, rcx
mov r14, qword [rsp + 0xf0]
mov qword [rsp + 0x40], r14
mov rbx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x38], rax
mov r15, qword [rax + 8]
mov rcx, rax
call fcn.1400aeb50
mov dword [r14], 0
cmp qword [rsi + 0xb0], 0xffffffffffffffff
jne 0x1400f85fd
mov rax, qword [rbx]
lea rdx, str.No_socket_exists_for_sending.
mov rcx, rbx
call qword [rax + 0x28]
xor al, al
jmp 0x1400f88d6
lea rdx, [rsi + 0xc]
cmp byte [rdx], 0
je 0x1400f861d
mov rax, qword [rbx]
lea rdx, str.Another_thread_is_already_sending_on_this_socket.
mov rcx, rbx
call qword [rax + 0x28]
xor al, al
jmp 0x1400f88d6
cmp byte [rsi + 0xe], 0
je 0x1400f863a
mov rax, qword [rbx]
mov rdx, qword [str.Another_thread_is_closing_this_socket.]
mov rcx, rbx
call qword [rax + 0x28]
xor al, al
jmp 0x1400f88d6
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x50]
call fcn.14006f5b0
nop
mov eax, dword [rsp + 0xe8]
test eax, eax
jne 0x1400f8672
mov ecx, 0x1499700
cmp byte [rsp + 0xe0], al
cmove eax, ecx
mov dword [rsp + 0xe8], eax
test edi, edi
jne 0x1400f867e
mov r13d, 0x41a0
jmp 0x1400f8699
mov r13d, 0x400
cmp edi, r13d
jb 0x1400f8699
mov r13d, 0x41a0
cmp edi, r13d
cmova edi, r13d
mov r13d, edi
mov dword [rsi + 0x1e0], 0
test r12d, r12d
je 0x1400f88c7
mov r14d, r13d
cmp r13d, r12d
cmova r14d, r12d
xor ebp, ebp
test r15, r15
je 0x1400f86d0
mov rdx, rbx
mov rcx, r15
call fcn.14008e0f0
test al, al
jne 0x1400f8828
lea rcx, [rsi + 0xc0]
mov r9, rbx
mov r8, r15
mov edx, r14d
call fcn.1401595b0
test al, al
jne 0x1400f88b3
cmp byte [rsi + 0xe], bpl
jne 0x1400f88aa
mov dword [rsi + 0x1e0], ebp
xor r9d, r9d
mov r8d, r14d
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsi + 0xb0]
call qword [sym.imp.WS2_32.dll_send]
movsxd rdi, eax
cmp edi, 0xffffffff
jg 0x1400f87b9
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebp, eax
mov dword [rsi + 0x1e0], eax
cmp edi, 0xffffffff
jg 0x1400f87b9
cmp eax, 0x2733
jne 0x1400f886f
cmp byte [rsp + 0xe0], 0
jne 0x1400f88c3
mov qword [rsp + 0x28], rbx
mov r14, qword [rsp + 0x38]
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
mov ebp, dword [rsp + 0xe8]
mov edx, ebp
mov rcx, rsi
call fcn.1400f9150
test al, al
je 0x1400f8834
mov rcx, qword [rbx + 0xa0]
test rcx, rcx
je 0x1400f87b9
mov edx, 0x2a
call fcn.140072310
mov rax, qword [rbx + 0xa0]
mov qword [rax + 0x3f8], 0
mov rax, qword [rbx + 0xa0]
mov qword [rax + 0x690], 0
test edi, edi
jle 0x1400f87de
cmp byte [rsi + 0x2ac], 0
je 0x1400f87d7
lea rcx, [rsi + 0x60]
mov r9, rbx
mov r8, r15
mov edx, edi
call fcn.140121dd0
mov rax, qword [rsp + 0x40]
add dword [rax], edi
cmp byte [rsi + 0x2a8], 0
je 0x1400f8802
test r15, r15
je 0x1400f8802
test edi, edi
jle 0x1400f8813
mov rdx, rdi
mov r8, rbx
mov rcx, r15
call fcn.14008e1c0
test al, al
jne 0x1400f883b
test edi, edi
jle 0x1400f8813
sub r12d, edi
mov rax, rdi
add qword [rsp + 0x30], rax
test edi, edi
jne 0x1400f86a3
mov ecx, 1
call sub.KERNEL32.dll_Sleep
jmp 0x1400f86a3
lea rdx, str.Socket_SendBytes2_aborted_by_application.__1a_
jmp 0x1400f88ba
cmp byte [r14 + 0x19], 0
je 0x1400f8844
lea rdx, str.Socket_send_aborted_by_application
jmp 0x1400f88ba
mov rcx, rbx
cmp byte [r14 + 0x18], 0
je 0x1400f8866
mov r8d, ebp
lea rdx, str.idleTimeoutMs_wf
call fcn.1400717d0
lea rdx, str.Socket_send_idle_timeout
jmp 0x1400f88ba
lea rdx, str.Socket_send_failed.
jmp 0x1400f88bd
mov rax, qword [rbx]
lea rdx, str.Error_sending_on_socket__1_
mov rcx, rbx
call qword [rax + 0x28]
mov r8, rbx
mov rdx, qword [rsp + 0x38]
mov ecx, ebp
call fcn.1400f73b0
mov r8d, r14d
lea rdx, str.send_size
mov rcx, rbx
call fcn.1400717d0
mov rcx, rsi
call fcn.1400f5f10
jmp 0x1400f88c3
mov rdx, qword [str.Another_thread_is_closing_this_socket.]
jmp 0x1400f88ba
lea rdx, str.Aborted_by_application_while_upload_throttling__1b_
mov rcx, rbx
mov rax, qword [rbx]
call qword [rax + 0x28]
xor bl, bl
jmp 0x1400f88c9
mov bl, 1
lea rcx, [rsp + 0x50]
call fcn.14006f6e0
movzx eax, bl
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140168e10
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret