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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov r14, rcx
lea rdx, [0x18004dd32]
lea rcx, [rsp + 0x38]
call fcn.180001580
mov r8d, 1
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.18002b9f0
mov rsi, rax
test rax, rax
jne 0x18002bd7b
mov rdx, qword [r14]
sub rdx, 0x18
or rbx, 0xffffffffffffffff
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x18002bd74
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
xor eax, eax
jmp 0x18002bf7e
xor r15d, r15d
mov rax, qword [r14]
movsxd rdi, dword [rax - 0x10]
lea ebp, [rdi + 5]
movsxd rcx, ebp
call fcn.18002f604
mov rbx, rax
mov qword [rsp + 0x28], rax
mov byte [rax], gethostbyname
mov dword [rax + 1], edi
mov r8, rdi
lea rcx, [rax + 5]
mov rdx, qword [r14]
call fcn.18002fb80
mov r13d, dword [rsp + 0xa0]
mov r8d, ebp
mov rdx, rbx
test r13d, r13d
je 0x18002bdce
xor r9d, r9d
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_send]
jmp 0x18002bdd5
mov ecx, esi
call fcn.180004ae0
or rbx, 0xffffffffffffffff
cmp eax, ebp
jne 0x18002bf2b
test r13d, r13d
je 0x18002be95
mov edi, r15d
nop dword [rax]
mov eax, edi
lea rdx, [rsp + rax + 0xa8]
xor r9d, r9d
lea r8d, [r9 + 1]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 1
jne 0x18002bf2b
inc edi
cmp edi, 4
jb 0x18002bdf0
mov r13d, dword [rsp + 0xa8]
cmp r13d, 0x6400000
ja 0x18002bf2b
lea ecx, [r13 + 1]
call fcn.18002f604
mov r12, rax
mov byte [r13 + rax], r15b
mov edi, r15d
mov ebp, r13d
test r13d, r13d
je 0x18002be73
nop dword [rax + rax]
mov edx, edi
add rdx, r12
xor r9d, r9d
mov r8d, ebp
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x18002bed9
add edi, eax
cmp edi, r13d
jae 0x18002be73
sub ebp, eax
jne 0x18002be50
test r12, r12
je 0x18002bf2b
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, [0x18004e26c]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_send]
jmp 0x18002befc
mov r8d, 4
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.18002ce00
test eax, eax
je 0x18002bf2b
mov edi, dword [rsp + 0x20]
cmp edi, 0x6400000
ja 0x18002bf2b
lea ecx, [rdi + 1]
call fcn.18002f604
mov r12, rax
mov byte [rdi + rax], r15b
mov r8d, edi
mov rdx, rax
mov rcx, rsi
call fcn.18002ce00
test eax, eax
jne 0x18002bee3
mov rcx, r12
call fcn.18002f934
jmp 0x18002bf2b
test r12, r12
je 0x18002bf2b
mov r8d, 1
lea rdx, [0x18004e26c]
mov ecx, esi
call fcn.180004ae0
xor eax, eax
mov rcx, rbx
mov rdi, r12
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, r12
mov rcx, qword [rsp + 0x98]
call fcn.180001b40
mov rcx, r12
call fcn.18002f934
mov r15d, 1
mov rcx, qword [rsp + 0x28]
call fcn.18002f934
cmp dword [rsp + 0xa0], 0
je 0x18002bf58
mov edx, 2
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_shutdown]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x18002bf60
mov ecx, esi
call fcn.180004100
nop
mov rdx, qword [r14]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x18002bf7b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov eax, r15d
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret