Function at 0x18000e180
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0xa0], rbx
mov rsi, r9
mov rdi, r8
mov r13d, edx
mov r12, rcx
xor ebp, ebp
mov rcx, qword [r8]
call fcn.180021ff0
mov rbx, rax
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
mov rax, qword [rsi]
mov qword [rsp + 0x20], rax
mov r9, rbx
mov r8, qword [rdi]
lea rdx, str._s_t_llu_t_s
lea rcx, [rsp + 0x38]
call fcn.180002980
lea rcx, [0x18005d078]
mov rax, qword [0x18005d078]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov rdx, qword [rsp + 0x38]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x48]
call fcn.18000da80
nop
mov r9, qword [rax]
mov r8, qword [0x18005fdf8]
lea rdx, str.11_s_t_s
lea rcx, [rsp + 0x40]
call fcn.180002980
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
or r14d, 0xffffffff
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000e26a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rsp + 0x40]
movsxd rbx, dword [rdi - 0x10]
lea esi, [rbx + 5]
movsxd rcx, esi
call fcn.18002f604
mov r15, rax
mov byte [rax], gethostbyname
mov dword [rax + 1], ebx
mov r8, rbx
lea rcx, [rax + 5]
mov rdx, rdi
call fcn.18002fb80
mov r8d, esi
mov rdx, r15
test r13d, r13d
je 0x18000e2af
xor r9d, r9d
mov rcx, r12
call qword [sym.imp.WS2_32.dll_send]
jmp 0x18000e2b7
mov ecx, r12d
call fcn.180004ae0
cmp eax, esi
jne 0x18000e3fd
test r13d, r13d
je 0x18000e384
mov ebx, ebp
nop word [rax + rax]
mov eax, ebx
lea rdx, [rsp + rax + 0x30]
xor r9d, r9d
lea r8d, [r9 + 1]
mov rcx, r12
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 1
jne 0x18000e3fd
inc ebx
cmp ebx, 4
jb 0x18000e2d0
mov r13d, dword [rsp + 0x30]
cmp r13d, 0x6400000
ja 0x18000e3fd
lea ecx, [r13 + 1]
call fcn.18002f604
mov rsi, rax
mov byte [r13 + rax], 0
mov ebx, ebp
mov ebp, r13d
test r13d, r13d
je 0x18000e362
nop word [rax + rax]
mov edx, ebx
add rdx, rsi
xor r9d, r9d
mov r8d, ebp
mov rcx, r12
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x18000e355
add ebx, eax
cmp ebx, r13d
jae 0x18000e362
sub ebp, eax
jne 0x18000e330
jmp 0x18000e362
mov rcx, rsi
call fcn.18002f934
jmp 0x18000e3fb
test rsi, rsi
je 0x18000e3fb
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, [0x18004e26c]
mov rcx, r12
call qword [sym.imp.WS2_32.dll_send]
jmp 0x18000e3ec
mov r8d, 4
lea rdx, [rsp + 0x34]
mov rcx, r12
call fcn.18002ce00
test eax, eax
je 0x18000e3fd
mov ebx, dword [rsp + 0x34]
cmp ebx, 0x6400000
ja 0x18000e3fd
lea ecx, [rbx + 1]
call fcn.18002f604
mov rsi, rax
mov byte [rbx + rax], 0
mov r8d, ebx
mov rdx, rax
mov rcx, r12
call fcn.18002ce00
test eax, eax
jne 0x18000e3d2
mov rcx, rsi
call fcn.18002f934
jmp 0x18000e3fd
test rsi, rsi
je 0x18000e3fd
mov r8d, 1
lea rdx, [0x18004e26c]
mov ecx, r12d
call fcn.180004ae0
mov rcx, rsi
call fcn.18002f934
mov ebp, 1
jmp 0x18000e3fd
xor ebp, ebp
mov rcx, r15
call fcn.18002f934
nop
lea rdx, [rdi - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000e422
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000e443
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0xb0]
mov rdx, qword [rdx]
sub rdx, 0x18
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18000e46a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0xb8]
mov rdx, qword [rdx]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], r14d
dec r14d
test r14d, r14d
jg 0x18000e491
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.WS2_32.dll_htonl + 8]
mov eax, ebp
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret