Function at 0x18000e3a0
Capabilities:
Get socket status
Send data
Send data on socket

Disassembly:
push rbx
push r14
push r15
sub rsp, 0x3b0
mov rax, qword [0x1800393f8]
xor rax, rsp
mov qword [rsp + 0x380], rax
mov rbx, rcx
mov r15, r8
lea rcx, [rsp + 0x272]
mov r8d, 0xff
mov r14, rdx
call fcn.1800181c0
lea rcx, [rsp + 0x250]
mov r8d, 0x21
mov rdx, r15
call fcn.1800181c0
lea r9, [rsp + 0x250]
xor r8d, r8d
mov dl, 0x70
mov rcx, rbx
mov dword [rsp + 0x20], 0x122
call fcn.18000e150
test eax, eax
jns 0x18000e41a
or eax, 0xffffffff
jmp 0x18000e5b0
mov rcx, qword [0x18003be50]
mov qword [rsp + 0x3e8], rbp
mov qword [rsp + 0x3a8], rsi
call fcn.1800010a0
mov rsi, rax
test rax, rax
jne 0x18000e445
xor ebp, ebp
mov rsi, rbp
jmp 0x18000e45e
xor ebp, ebp
mov rdx, rax
mov ecx, 0x5000
mov dword [rax + 4], ebp
call fcn.180001120
mov qword [rsi + 8], rax
mov byte [rax], bpl
mov qword [rsp + 0x3a0], rdi
lea rdx, [rsp + 0x30]
mov r8, rsi
mov rcx, rbx
mov qword [rsp + 0x398], r12
mov qword [rsp + 0x390], r13
call fcn.18000e260
test eax, eax
js 0x18000e57b
nop
cmp byte [rsp + 0x33], 0
jne 0x18000e6bf
movzx ecx, word [rsp + 0x30]
call qword [sym.imp.WS2_32.dll_htons]
movzx r13d, ax
movzx eax, byte [rsp + 0x32]
cmp al, 0x74
je 0x18000e5ed
cmp al, 0x72
jne 0x18000e5cd
xor ecx, ecx
mov byte [rsp + 0x37], 0
mov byte [rsp + 0x36], reloc.WS2_32.dll_WSAStartup
call qword [sym.imp.WS2_32.dll_htons]
mov edi, ebp
mov word [rsp + 0x34], ax
nop dword [rax + rax]
lea rax, [rsp + 0x38]
lea r8, [rsp + 0x40]
lea ecx, [rbx + 1]
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0x38], 1
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x3c], ebp
mov qword [rsp + 0x48], rbx
mov dword [rsp + 0x40], 1
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 0xffffffff
je 0x18000e554
lea rdx, [rsp + 0x40]
mov rcx, rbx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18000e554
movsxd rax, edi
mov r8d, 4
xor r9d, r9d
lea rdx, [rsp + rax + 0x34]
sub r8d, edi
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_send]
test eax, eax
jle 0x18000e554
add edi, eax
cmp edi, 4
jl 0x18000e4e0
mov rdx, qword [rsi + 8]
mov r8d, r13d
mov rcx, r14
call fcn.180003c40
lea rdx, [rsp + 0x30]
mov r8, rsi
mov rcx, rbx
call fcn.18000e260
test eax, eax
jns 0x18000e490
mov rcx, rsi
call fcn.180001800
mov eax, 0xfffffffd
mov r12, qword [rsp + 0x398]
mov rdi, qword [rsp + 0x3a0]
mov r13, qword [rsp + 0x390]
mov rbp, qword [rsp + 0x3e8]
mov rsi, qword [rsp + 0x3a8]
mov rcx, qword [rsp + 0x380]
xor rcx, rsp
call fcn.180017810
add rsp, 0x3b0
pop r15
pop r14
pop rbx
ret
mov rcx, rsi
call fcn.180001800
movzx edx, byte [rsp + 0x32]
lea rcx, [0x1800332a0]
call fcn.180003e90
mov eax, 0xffffffef
jmp 0x18000e588
xor r9d, r9d
xor r8d, r8d
mov dl, 0x75
mov rcx, rbx
mov dword [rsp + 0x20], ebp
call fcn.18000e150
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r15
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rcx, 5
jae 0x18000e636
lea rcx, [0x180033240]
mov rdx, r14
call fcn.180003e90
mov rcx, rsi
call fcn.180001800
xor eax, eax
jmp 0x18000e588
mov rdx, r14
mov rcx, rsi
call fcn.180002190
mov rcx, rsi
call fcn.180001f40
mov rax, qword [rsi + 8]
mov rdi, r15
sub rdi, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + rdi]
sub edx, ecx
jne 0x18000e665
inc rax
test ecx, ecx
jne 0x18000e653
test edx, edx
jne 0x18000e68a
lea rcx, [0x180033260]
mov r8, r15
mov rdx, r14
call fcn.180003e90
mov rcx, rsi
call fcn.180001800
xor eax, eax
jmp 0x18000e588
mov rcx, rbx
call fcn.180003f90
mov r9, qword [rsi + 8]
lea rcx, [0x180033278]
mov r8, r15
mov rdx, r14
mov qword [rsp + 0x20], rax
call fcn.180003e90
mov rcx, rsi
call fcn.180001800
mov eax, reloc.WS2_32.dll_inet_addr
jmp 0x18000e588
lea rcx, [0x180033230]
call fcn.180003e90
mov rcx, rsi
call fcn.180001800
mov eax, reloc.WS2_32.dll_inet_addr
jmp 0x18000e588