Function at 0x18000e3c0
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.180018ce0
lea rcx, [rsp + 0x250]
mov r8d, 0x21
mov rdx, r15
call fcn.180018ce0
lea r9, [rsp + 0x250]
xor r8d, r8d
mov dl, 0x70
mov rcx, rbx
mov dword [rsp + 0x20], 0x122
call fcn.18000e170
test eax, eax
jns 0x18000e43a
or eax, 0xffffffff
jmp 0x18000e5d0
mov rcx, qword [0x18003be50]
mov qword [rsp + 0x3e8], rbp
mov qword [rsp + 0x3a8], rsi
call fcn.1800010a0
mov rsi, rax
test rax, rax
jne 0x18000e465
xor ebp, ebp
mov rsi, rbp
jmp 0x18000e47e
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.18000e280
test eax, eax
js 0x18000e59b
nop
cmp byte [rsp + 0x33], 0
jne 0x18000e6df
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 0x18000e60d
cmp al, 0x72
jne 0x18000e5ed
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 0x18000e574
lea rdx, [rsp + 0x40]
mov rcx, rbx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18000e574
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 0x18000e574
add edi, eax
cmp edi, 4
jl 0x18000e500
mov rdx, qword [rsi + 8]
mov r8d, r13d
mov rcx, r14
call fcn.180003c60
lea rdx, [rsp + 0x30]
mov r8, rsi
mov rcx, rbx
call fcn.18000e280
test eax, eax
jns 0x18000e4b0
mov rcx, rsi
call fcn.1800012d0
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.180018330
add rsp, 0x3b0
pop r15
pop r14
pop rbx
ret
mov rcx, rsi
call fcn.1800012d0
movzx edx, byte [rsp + 0x32]
lea rcx, [0x180033300]
call fcn.180003eb0
mov eax, 0xffffffef
jmp 0x18000e5a8
xor r9d, r9d
xor r8d, r8d
mov dl, 0x75
mov rcx, rbx
mov dword [rsp + 0x20], ebp
call fcn.18000e170
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r15
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rcx, 5
jae 0x18000e656
lea rcx, [0x1800332a0]
mov rdx, r14
call fcn.180003eb0
mov rcx, rsi
call fcn.1800012d0
xor eax, eax
jmp 0x18000e5a8
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 0x18000e685
inc rax
test ecx, ecx
jne 0x18000e673
test edx, edx
jne 0x18000e6aa
lea rcx, [0x1800332c0]
mov r8, r15
mov rdx, r14
call fcn.180003eb0
mov rcx, rsi
call fcn.1800012d0
xor eax, eax
jmp 0x18000e5a8
mov rcx, rbx
call fcn.180003fb0
mov r9, qword [rsi + 8]
lea rcx, [0x1800332d8]
mov r8, r15
mov rdx, r14
mov qword [rsp + 0x20], rax
call fcn.180003eb0
mov rcx, rsi
call fcn.1800012d0
mov eax, reloc.WS2_32.dll_inet_addr
jmp 0x18000e5a8
lea rcx, [0x180033290]
call fcn.180003eb0
mov rcx, rsi
call fcn.1800012d0
mov eax, reloc.WS2_32.dll_inet_addr
jmp 0x18000e5a8