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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x50
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov rdi, rdx
mov r12, rcx
xor r13d, r13d
mov rdx, qword [rcx]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x28]
call fcn.18000da80
nop
mov rdx, qword [rdi]
lea rcx, [rsp + 0x30]
call fcn.180022200
nop
lea rdx, [0x18004dd32]
lea rcx, [rsp + 0x40]
call fcn.180001580
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0xa8]
call fcn.18002b9f0
mov rsi, rax
test rax, rax
jne 0x18002b4d3
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002b472
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002b492
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [r12]
sub rdx, 0x18
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002b4b1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rdi]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x18002b4cc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
xor eax, eax
jmp 0x18002b728
mov rax, qword [rsp + 0x28]
movsxd rbx, dword [rax - 0x10]
lea edi, [rbx + 5]
movsxd rcx, edi
call fcn.18002f604
mov r14, rax
mov byte [rax], gethostbyname
mov dword [rax + 1], ebx
mov r8, rbx
lea rcx, [rax + 5]
mov rdx, qword [rsp + 0x28]
call fcn.18002fb80
mov r8d, edi
mov rdx, r14
cmp dword [rsp + 0xa8], 0
je 0x18002b51f
xor r9d, r9d
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_send]
jmp 0x18002b526
mov ecx, esi
call fcn.180004ae0
cmp eax, edi
jne 0x18002b66c
cmp dword [rsp + 0xa8], 0
je 0x18002b5f2
mov ebx, r13d
nop
mov eax, ebx
lea rdx, [rsp + rax + 0x20]
xor r9d, r9d
lea r8d, [r9 + 1]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 1
jne 0x18002b66c
inc ebx
cmp ebx, 4
jb 0x18002b540
mov edi, dword [rsp + 0x20]
cmp edi, 0x6400000
ja 0x18002b66c
lea ecx, [rdi + 1]
call fcn.18002f604
mov rbp, rax
mov byte [rdi + rax], 0
mov ebx, r13d
mov r12d, edi
test edi, edi
je 0x18002b5bf
mov edx, ebx
add rdx, rbp
xor r9d, r9d
mov r8d, r12d
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x18002b5b5
add ebx, eax
cmp ebx, edi
jae 0x18002b5bf
sub r12d, eax
jne 0x18002b590
jmp 0x18002b5bf
mov rcx, rbp
call fcn.18002f934
jmp 0x18002b5e5
test rbp, rbp
je 0x18002b5e5
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, [0x18004e26c]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_send]
mov r12, qword [rsp + 0x90]
jmp 0x18002b64f
mov r12, qword [rsp + 0x90]
jmp 0x18002b66c
mov r8d, 4
lea rdx, [rsp + 0x24]
mov rcx, rsi
call fcn.18002ce00
test eax, eax
je 0x18002b66c
mov edi, dword [rsp + 0x24]
cmp edi, 0x6400000
ja 0x18002b66c
lea ecx, [rdi + 1]
call fcn.18002f604
mov rbp, rax
mov byte [rdi + rax], 0
mov r8d, edi
mov rdx, rax
mov rcx, rsi
call fcn.18002ce00
test eax, eax
je 0x18002b664
test rbp, rbp
je 0x18002b66c
mov r8d, 1
lea rdx, [0x18004e26c]
mov ecx, esi
call fcn.180004ae0
mov r8, qword [rsp + 0xa0]
mov edx, edi
mov rcx, rbp
call fcn.18000db70
mov r13, rax
mov rcx, rbp
call fcn.18002f934
mov rcx, r14
call fcn.18002f934
cmp dword [rsp + 0xa8], 0
je 0x18002b697
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 0x18002b69f
mov ecx, esi
call fcn.180004100
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002b6c2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002b6e2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [r12]
sub rdx, 0x18
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x18002b701
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [rsp + 0x98]
mov rdx, qword [rdx]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x18002b725
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.WS2_32.dll_htonl + 8]
mov rax, r13
add rsp, 0x50
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret