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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rsi, qword [rcx]
xor ebp, ebp
mov ebx, ebp
mov r12, r8
mov r14, rcx
call fcn.140009a00
test dword [r14 + 0x17c], 0xfffffffb
mov r13, rax
lea rax, str.ytcp
je 0x14001c855
mov r9, rax
mov dword [rsp + 0x20], 0x5d9
lea r8, str.ASSERT_FAILED:_s:_d_n
mov edx, 0x5d9
mov rcx, rax
call fcn.14000a9a0
xor eax, eax
mov rdi, 0xffffffffffffffff
mov qword [r14 + 0x1b0], rax
mov qword [r14 + 0x1b8], rax
mov qword [r14 + 0x1c0], rax
mov qword [r14 + 0x1c8], rax
mov qword [r14 + 0x1d0], rax
mov qword [r14 + 0x1d8], rax
mov qword [r14 + 0x1e0], rax
mov qword [r14 + 0x1e8], rax
mov rax, qword [r14 + 0x18]
nop word [rax + rax]
inc rdi
cmp byte [rax + rdi], bl
jne 0x14001c8a0
mov ecx, dword [r14 + 0x34]
add ecx, edi
lea eax, [rcx + 4]
movsxd rcx, ecx
add rcx, 4
mov dword [r14 + 0x1d8], eax
call fcn.140056e8c
mov rdx, qword [r14 + 0x18]
mov rcx, rax
movsxd rdi, edi
mov r15, rax
mov r8, rdi
mov qword [r14 + 0x1d0], rax
call fcn.140050fe0
movsxd rax, dword [r14 + 0x34]
add r15, rdi
test eax, eax
je 0x14001c8fc
mov rdx, qword [r14 + 0x28]
mov r8, rax
mov rcx, r15
call fcn.140050fe0
jmp 0x14001c903
mov dword [r15], 0xa0d0a0d
mov dword [r14 + 0x1b8], ebp
lea rdi, [r12 + r13]
mov qword [r14 + 0x170], r12
mov dword [r14 + 0x1b0], 1
call fcn.140009a00
cmp rdi, rax
jb 0x14001ca3a
nop
mov rax, qword [r14]
cmp dword [rax + 0x7d0], 4
je 0x14001c965
cmp dword [rax + 0xb4], ebp
je 0x14001ca90
cmp dword [rax + 0x100], 3
jge 0x14001ca90
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14001ca2c
test ebx, ebx
je 0x14001c974
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rsi + 0x8b0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp qword [r14 + 0x180], rbp
je 0x14001c9ca
mov rcx, qword [rsi + 0x758]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [rsi + 0x81c]
mov dword [r14 + 0x1bc], eax
inc dword [rsi + 0x81c]
cmp dword [rsi + 0x81c], 0x7f
jl 0x14001c9bd
mov dword [rsi + 0x81c], 0x30
mov rcx, qword [rsi + 0x758]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [r14 + 0x1c8], rbp
mov rcx, qword [rsi + 0x8b8]
test rcx, rcx
je 0x14001cab7
mov ebx, ebp
lea rax, [rcx + 0x1c8]
cmp qword [rax], rbx
je 0x14001caae
cmp ebx, 0x10
jge 0x14001ca0c
mov rcx, qword [rax]
inc ebx
lea rax, [rcx + 0x1c8]
cmp qword [rax], rbp
jne 0x14001c9f3
cmp ebx, 0x10
jne 0x14001caae
cmp qword [rcx + 0x1c8], rbp
je 0x14001caae
mov rcx, qword [rsi + 0x8b0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.140009a00
cmp rdi, rax
jae 0x14001c930
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x14001ca76
mov dword [rsp + 0x28], 0x5ef
lea r9, str.Unable_to_queue_request__WebSocket_
lea rcx, str.ytcp
mov edx, 0x100
mov qword [rsp + 0x20], rcx
lea r8, str._s___s:_d_
mov rcx, rax
call fcn.1400217a0
mov eax, 0xfffffff8
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x14001ca76
mov dword [rsp + 0x28], 0x5f8
lea r9, str.Hub_is_not_ready__WebSocket_
jmp 0x14001ca56
mov qword [rcx + 0x1c8], r14
jmp 0x14001cabe
mov qword [rsi + 0x8b8], r14
mov rcx, qword [rsi + 0x8b0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.140009a00
xor r9d, r9d
mov qword [r14 + 0x160], rax
mov rcx, qword [rsi + 0xd8]
lea rdx, [rsp + 0x78]
mov byte [rsp + 0x78], 1
lea r8d, [r9 + 1]
call qword [sym.imp.WS2_32.dll_send]
test eax, eax
jns 0x14001cb2e
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r9, qword [rsp + 0x88]
test r9, r9
jne 0x14001cb18
mov ebp, 0xfffffff8
mov eax, ebp
jmp 0x14001ca7b
mov r8d, eax
lea rcx, str.ytcp
mov edx, 0x114
call fcn.140019fe0
mov ebp, eax
mov eax, ebp
jmp 0x14001ca7b