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

Disassembly:
push rbp
push rsi
sub rsp, 0x158
mov rax, qword [0x140116008]
xor rax, rsp
mov qword [rsp + 0x140], rax
cmp qword [0x140118680], 0
mov rbp, r8
mov rsi, rcx
jne 0x140008eae
mov rdx, r8
xor ecx, ecx
call fcn.140005f80
test eax, eax
js 0x1400095c5
mov qword [rsp + 0x178], rbx
lea rdx, [0x140079f24]
mov qword [rsp + 0x188], rdi
mov rcx, rsi
mov qword [rsp + 0x150], r14
call fcn.140052e3c
test eax, eax
jne 0x140008f71
mov rcx, qword [0x140118680]
test byte [rcx + 0x5030], 1
jne 0x1400095ab
mov rcx, qword [rcx + 0x5028]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rdi, qword [0x140118680]
mov rdx, rbp
mov rcx, rdi
call fcn.1400125a0
mov dword [rdi + 0x63e0], eax
mov ebx, eax
test eax, eax
jns 0x140008f47
mov r9d, 0x100
lea rcx, [rdi + 0x63e4]
mov edx, r9d
mov r8, rbp
call fcn.1400217c0
mov ebx, dword [rdi + 0x63e0]
test ebx, ebx
jns 0x140008f47
mov rcx, qword [0x140118680]
jmp 0x140008f55
mov rcx, qword [0x140118680]
or dword [rcx + 0x5030], 1
mov rcx, qword [rcx + 0x5028]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test ebx, ebx
jns 0x1400095ab
mov eax, ebx
jmp 0x1400095ad
lea rdx, [0x140079f28]
mov rcx, rsi
call fcn.140052e3c
test eax, eax
jne 0x140008fe7
mov rcx, qword [0x140118680]
test byte [rcx + 0x5030], 2
jne 0x1400095ab
mov rcx, qword [rcx + 0x5028]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [0x140118680]
mov r8, rbp
or dword [rcx + 0x5030], 2
add rcx, 0x5988
call fcn.140021370
mov rcx, qword [0x140118680]
mov ebx, eax
mov rcx, qword [rcx + 0x5028]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test ebx, ebx
jns 0x1400095ab
mov eax, ebx
jmp 0x1400095ad
xor edi, edi
test rsi, rsi
jne 0x140009017
lea r9, str.ymemory
mov dword [rsp + 0x20], 0x143
lea r8, str.YPANIC:_s:_d_n
mov edx, 0x143
lea rcx, str.ymemory
call fcn.14000a9a0
jmp 0x140009081
mov ecx, edi
mov rax, rsi
cmp byte [rsi], cl
je 0x140009032
cmp ecx, 0x100
jae 0x140009032
inc rax
inc ecx
cmp byte [rax], dil
jne 0x140009020
lea eax, [rcx + 1]
cmp eax, 0x100
jbe 0x14000906a
lea r9, str.ymemory
mov dword [rsp + 0x20], 0x14c
lea r8, str.YPANIC:_s:_d_n
mov edx, 0x14c
lea rcx, str.ymemory
call fcn.14000a9a0
mov byte [rsp + 0x40], dil
jmp 0x140009081
mov ebx, ecx
mov rdx, rsi
mov r8d, ecx
lea rcx, [rsp + 0x40]
call fcn.140050fe0
mov byte [rsp + rbx + 0x40], dil
mov rcx, qword [0x140118680]
mov rcx, qword [rcx + 0x5028]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, rsi
call fcn.140001680
mov r14, rax
test rax, rax
je 0x140009126
mov r9d, edi
lea r10, [rax + 0x30]
mov rcx, qword [r10]
test rcx, rcx
je 0x1400090e6
mov r8, rsi
sub r8, rcx
nop
movzx edx, byte [rcx]
movzx eax, byte [rcx + r8]
sub edx, eax
jne 0x1400090d3
inc rcx
test eax, eax
jne 0x1400090c0
test edx, edx
je 0x1400090e6
inc r9d
add r10, 8
cmp r9d, 8
jl 0x1400090b0
jmp 0x140009106
cmp r9d, 8
jge 0x140009106
movsxd rax, r9d
cmp qword [r14 + rax*8 + 0x30], rdi
lea rbx, [r14 + rax*8]
jne 0x140009106
mov rcx, rsi
call fcn.140021730
mov qword [rbx + 0x30], rax
mov rcx, qword [0x140118680]
mov dword [r14 + 0xb4], edi
mov rcx, qword [rcx + 0x5028]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400095ab
mov rcx, qword [0x140118680]
mov rcx, qword [rcx + 0x5028]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r8, rbp
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x40]
call fcn.1400053f0
mov rsi, rax
test rax, rax
je 0x1400095a2
nop dword [rax + rax]
mov rcx, qword [0x140118680]
mov rcx, qword [rcx + 0x5028]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [0x140118680]
mov r14d, 0x20
cmp qword [rcx + 0x5060], rdi
je 0x1400093c5
cmp qword [rcx + 0x5068], rdi
jne 0x1400091a0
lea edi, [r14 - 0x1f]
jmp 0x1400093c5
cmp qword [rcx + 0x5070], rdi
jne 0x1400091b3
mov edi, 2
jmp 0x1400093c5
cmp qword [rcx + 0x5078], rdi
jne 0x1400091c6
mov edi, 3
jmp 0x1400093c5
cmp qword [rcx + 0x5080], rdi
jne 0x1400091d9
mov edi, 4
jmp 0x1400093c5
cmp qword [rcx + 0x5088], rdi
jne 0x1400091ec
mov edi, 5
jmp 0x1400093c5
cmp qword [rcx + 0x5090], rdi
jne 0x1400091ff
mov edi, 6
jmp 0x1400093c5
cmp qword [rcx + 0x5098], rdi
jne 0x140009212
mov edi, 7
jmp 0x1400093c5
cmp qword [rcx + 0x50a0], rdi
jne 0x140009225
mov edi, 8
jmp 0x1400093c5
cmp qword [rcx + 0x50a8], rdi
jne 0x140009238
mov edi, 9
jmp 0x1400093c5
cmp qword [rcx + 0x50b0], rdi
jne 0x14000924b
mov edi, 0xa
jmp 0x1400093c5
cmp qword [rcx + 0x50b8], rdi
jne 0x14000925e
mov edi, reloc.WS2_32.dll_inet_addr
jmp 0x1400093c5
cmp qword [rcx + 0x50c0], rdi
jne 0x140009271
mov edi, recv
jmp 0x1400093c5
cmp qword [rcx + 0x50c8], rdi
jne 0x140009284
mov edi, reloc.WS2_32.dll_listen
jmp 0x1400093c5
cmp qword [rcx + 0x50d0], rdi
jne 0x140009297
mov edi, reloc.WS2_32.dll_ntohl
jmp 0x1400093c5
cmp qword [rcx + 0x50d8], rdi
jne 0x1400092aa
mov edi, reloc.WS2_32.dll_ntohs
jmp 0x1400093c5
cmp qword [rcx + 0x50e0], rdi
jne 0x1400092bd
mov edi, reloc.WS2_32.dll_recv
jmp 0x1400093c5
cmp qword [rcx + 0x50e8], rdi
jne 0x1400092d0
mov edi, reloc.WS2_32.dll_recvfrom
jmp 0x1400093c5
cmp qword [rcx + 0x50f0], rdi
jne 0x1400092e3
mov edi, reloc.WS2_32.dll_select
jmp 0x1400093c5
cmp qword [rcx + 0x50f8], rdi
jne 0x1400092f6
mov edi, reloc.WS2_32.dll_send
jmp 0x1400093c5
cmp qword [rcx + 0x5100], rdi
jne 0x140009309
mov edi, reloc.WS2_32.dll_sendto
jmp 0x1400093c5
cmp qword [rcx + 0x5108], rdi
jne 0x14000931c
mov edi, reloc.WS2_32.dll_setsockopt
jmp 0x1400093c5
cmp qword [rcx + 0x5110], rdi
jne 0x14000932f
mov edi, socket
jmp 0x1400093c5
cmp qword [rcx + 0x5118], rdi
jne 0x140009342
mov edi, reloc.WS2_32.dll_socket
jmp 0x1400093c5
cmp qword [rcx + 0x5120], rdi
jne 0x140009352
mov edi, 0x18
jmp 0x1400093c5
cmp qword [rcx + 0x5128], rdi
jne 0x140009362
mov edi, 0x19
jmp 0x1400093c5
cmp qword [rcx + 0x5130], rdi
jne 0x140009372
mov edi, 0x1a
jmp 0x1400093c5
cmp qword [rcx + 0x5138], rdi
jne 0x140009382
mov edi, 0x1b
jmp 0x1400093c5
cmp qword [rcx + 0x5140], rdi
jne 0x140009392
mov edi, 0x1c
jmp 0x1400093c5
cmp qword [rcx + 0x5148], rdi
jne 0x1400093a2
mov edi, 0x1d
jmp 0x1400093c5
cmp qword [rcx + 0x5150], rdi
jne 0x1400093b2
mov edi, 0x1e
jmp 0x1400093c5
cmp qword [rcx + 0x5158], 0
mov edi, r14d
mov eax, 0x1f
cmove edi, eax
cmp edi, r14d
jge 0x14000948f
movsxd rax, edi
mov r14d, edi
mov rdx, rbp
lea rdi, [rax*8 + 0x5060]
mov qword [rdi + rcx], rsi
lea rcx, [rsi + 0xd0]
call fcn.14001a1e0
mov ebx, eax
test eax, eax
js 0x14000958a
mov eax, dword [rsi + 0x28]
cmp eax, 4
jne 0x14000940a
lea r8, [0x14001f520]
jmp 0x14000941a
cmp eax, 3
jne 0x14000953b
lea r8, [0x140007c10]
mov rax, qword [0x140118680]
mov r9, qword [rdi + rax]
lea rcx, [r9 + 0xe0]
call fcn.140021a00
test eax, eax
js 0x1400094ec
mov rax, qword [0x140118680]
lea rdx, [rsp + 0x30]
xor r9d, r9d
mov byte [rsp + 0x30], 1
mov rcx, qword [rdi + rax]
lea r8d, [r9 + 1]
mov rcx, qword [rcx + 0xd8]
call qword [sym.imp.WS2_32.dll_send]
test eax, eax
jns 0x140009488
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
test rbp, rbp
je 0x140009488
mov r9, rbp
lea rcx, str.ytcp
mov r8d, eax
mov edx, 0x114
call fcn.140019fe0
mov rcx, qword [0x140118680]
mov rcx, qword [rcx + 0x5028]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp r14d, 0x20
jne 0x1400095ab
mov rcx, rsi
call fcn.140005800
test rbp, rbp
je 0x1400094e2
lea rax, str.yapi
mov dword [rsp + 0x28], 0xf64
lea r9, str.Too_many_network_hub_registered
mov qword [rsp + 0x20], rax
lea r8, str._s___s:_d_
mov edx, 0x100
mov rcx, rbp
call fcn.1400217a0
mov eax, 0xfffffffe
jmp 0x1400095ad
mov rcx, qword [0x140118680]
mov rcx, qword [rcx + 0x5028]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbp, rbp
je 0x140009534
lea rax, str.yapi
mov dword [rsp + 0x28], 0xf5d
lea r9, str.Unable_to_start_helper_thread
mov qword [rsp + 0x20], rax
lea r8, str._s___s:_d_
mov edx, 0x100
mov rcx, rbp
call fcn.1400217a0
mov eax, 0xfffffff8
jmp 0x1400095ad
mov rcx, qword [0x140118680]
mov rcx, qword [rcx + 0x5028]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbp, rbp
je 0x140009583
lea rax, str.yapi
mov dword [rsp + 0x28], 0xf58
lea r9, str.Unsupported_hub_proto
mov qword [rsp + 0x20], rax
lea r8, str._s___s:_d_
mov edx, 0x100
mov rcx, rbp
call fcn.1400217a0
mov eax, 0xfffffffd
jmp 0x1400095ad
mov rcx, qword [0x140118680]
mov rcx, qword [rcx + 0x5028]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, ebx
jmp 0x1400095ad
mov ebx, dword [rsp + 0x38]
cmp ebx, 0xfffffff5
jne 0x14000959e
xor eax, eax
mov rdi, qword [rsp + 0x188]
mov rbx, qword [rsp + 0x178]
mov r14, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.14004ee60
add rsp, 0x158
pop rsi
pop rbp
ret