Function at 0x18000e390
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.180018920
lea rcx, [rsp + 0x250]
mov r8d, 0x21
mov rdx, r15
call fcn.180018920
lea r9, [rsp + 0x250]
xor r8d, r8d
mov dl, 0x70
mov rcx, rbx
mov dword [rsp + 0x20], 0x122
call fcn.18000e140
test eax, eax
jns 0x18000e40a
or eax, 0xffffffff
jmp 0x18000e5a0
mov rcx, qword [0x18003be50]
mov qword [rsp + 0x3e8], rbp
mov qword [rsp + 0x3a8], rsi
call fcn.1800010a0
mov rsi, rax
test rax, rax
jne 0x18000e435
xor ebp, ebp
mov rsi, rbp
jmp 0x18000e44e
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.18000e250
test eax, eax
js 0x18000e56b
nop
cmp byte [rsp + 0x33], 0
jne 0x18000e6af
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 0x18000e5dd
cmp al, 0x72
jne 0x18000e5bd
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 0x18000e544
lea rdx, [rsp + 0x40]
mov rcx, rbx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x18000e544
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 0x18000e544
add edi, eax
cmp edi, 4
jl 0x18000e4d0
mov rdx, qword [rsi + 8]
mov r8d, r13d
mov rcx, r14
call fcn.180003bf0
lea rdx, [rsp + 0x30]
mov r8, rsi
mov rcx, rbx
call fcn.18000e250
test eax, eax
jns 0x18000e480
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.180017f70
add rsp, 0x3b0
pop r15
pop r14
pop rbx
ret
mov rcx, rsi
call fcn.180001800
movzx edx, byte [rsp + 0x32]
lea rcx, [0x1800332c0]
call fcn.180003e40
mov eax, 0xffffffef
jmp 0x18000e578
xor r9d, r9d
xor r8d, r8d
mov dl, 0x75
mov rcx, rbx
mov dword [rsp + 0x20], ebp
call fcn.18000e140
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r15
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rcx, 5
jae 0x18000e626
lea rcx, [0x180033260]
mov rdx, r14
call fcn.180003e40
mov rcx, rsi
call fcn.180001800
xor eax, eax
jmp 0x18000e578
mov rdx, r14
mov rcx, rsi
call fcn.180002140
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 0x18000e655
inc rax
test ecx, ecx
jne 0x18000e643
test edx, edx
jne 0x18000e67a
lea rcx, [0x180033280]
mov r8, r15
mov rdx, r14
call fcn.180003e40
mov rcx, rsi
call fcn.180001800
xor eax, eax
jmp 0x18000e578
mov rcx, rbx
call fcn.180003f40
mov r9, qword [rsi + 8]
lea rcx, [0x180033298]
mov r8, r15
mov rdx, r14
mov qword [rsp + 0x20], rax
call fcn.180003e40
mov rcx, rsi
call fcn.180001800
mov eax, reloc.WS2_32.dll_inet_addr
jmp 0x18000e578
lea rcx, [0x180033250]
call fcn.180003e40
mov rcx, rsi
call fcn.180001800
mov eax, reloc.WS2_32.dll_inet_addr
jmp 0x18000e578