Function at 0x18000e230
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.180018250
lea rcx, [rsp + 0x250]
mov r8d, 0x21
mov rdx, r15
call fcn.180018250
lea r9, [rsp + 0x250]
xor r8d, r8d
mov dl, 0x70
mov rcx, rbx
mov dword [rsp + 0x20], 0x122
call fcn.18000dfe0
test eax, eax
jns 0x18000e2aa
or eax, 0xffffffff
jmp 0x18000e440
mov rcx, qword [0x18003be50]
mov qword [rsp + 0x3e8], rbp
mov qword [rsp + 0x3a8], rsi
call fcn.1800010a0
mov rsi, rax
test rax, rax
jne 0x18000e2d5
xor ebp, ebp
mov rsi, rbp
jmp 0x18000e2ee
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.18000e0f0
test eax, eax
js 0x18000e40b
nop
cmp byte [rsp + 0x33], 0
jne 0x18000e54f
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 0x18000e47d
cmp al, 0x72
jne 0x18000e45d
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 0x18000e3e4
lea rdx, [rsp + 0x40]
mov rcx, rbx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18000e3e4
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 0x18000e3e4
add edi, eax
cmp edi, 4
jl 0x18000e370
mov rdx, qword [rsi + 8]
mov r8d, r13d
mov rcx, r14
call fcn.180003910
lea rdx, [rsp + 0x30]
mov r8, rsi
mov rcx, rbx
call fcn.18000e0f0
test eax, eax
jns 0x18000e320
mov rcx, rsi
call fcn.180001770
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.1800178a0
add rsp, 0x3b0
pop r15
pop r14
pop rbx
ret
mov rcx, rsi
call fcn.180001770
movzx edx, byte [rsp + 0x32]
lea rcx, [0x180033180]
call fcn.180003b60
mov eax, 0xffffffef
jmp 0x18000e418
xor r9d, r9d
xor r8d, r8d
mov dl, 0x75
mov rcx, rbx
mov dword [rsp + 0x20], ebp
call fcn.18000dfe0
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r15
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rcx, 5
jae 0x18000e4c6
lea rcx, [0x180033120]
mov rdx, r14
call fcn.180003b60
mov rcx, rsi
call fcn.180001770
xor eax, eax
jmp 0x18000e418
mov rdx, r14
mov rcx, rsi
call fcn.1800020b0
mov rcx, rsi
call fcn.180001eb0
mov rax, qword [rsi + 8]
mov rdi, r15
sub rdi, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + rdi]
sub edx, ecx
jne 0x18000e4f5
inc rax
test ecx, ecx
jne 0x18000e4e3
test edx, edx
jne 0x18000e51a
lea rcx, [0x180033140]
mov r8, r15
mov rdx, r14
call fcn.180003b60
mov rcx, rsi
call fcn.180001770
xor eax, eax
jmp 0x18000e418
mov rcx, rbx
call fcn.180003c60
mov r9, qword [rsi + 8]
lea rcx, [0x180033158]
mov r8, r15
mov rdx, r14
mov qword [rsp + 0x20], rax
call fcn.180003b60
mov rcx, rsi
call fcn.180001770
mov eax, reloc.WS2_32.dll_inet_addr
jmp 0x18000e418
lea rcx, [0x180033110]
call fcn.180003b60
mov rcx, rsi
call fcn.180001770
mov eax, reloc.WS2_32.dll_inet_addr
jmp 0x18000e418