Function at 0x14004af00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x30
mov rax, qword [0x1401b5030]
xor rax, rsp
mov qword [rsp + 0x20], rax
mov eax, dword [rcx]
lea rdi, [rcx + 0x3c]
mov dword [rdx], eax
lea rsi, [rdx + 0x3c]
mov eax, dword [rcx + 4]
mov ebp, 2
mov dword [rdx + 4], eax
mov rbx, rcx
mov eax, dword [rcx + 8]
mov dword [rdx + 8], eax
mov eax, dword [rcx + 0xc]
lea r14d, [rbp + 0x12]
mov dword [rdx + 0xc], eax
mov eax, dword [rcx + 0x10]
mov dword [rdx + 0x10], eax
mov eax, dword [rcx + 0x14]
mov dword [rdx + 0x14], eax
mov eax, dword [rcx + 0x18]
mov dword [rdx + 0x18], eax
mov eax, dword [rcx + 0x1c]
mov dword [rdx + 0x1c], eax
mov eax, dword [rcx + 0x20]
mov dword [rdx + 0x20], eax
mov eax, dword [rcx + 0x24]
mov dword [rdx + 0x24], eax
mov eax, dword [rcx + 0x28]
mov dword [rdx + 0x28], eax
mov eax, dword [rcx + 0x2c]
mov dword [rdx + 0x2c], eax
mov eax, dword [rcx + 0x30]
mov dword [rdx + 0x30], eax
mov eax, dword [rcx + 0x34]
mov dword [rdx + 0x34], eax
mov eax, dword [rcx + 0x38]
mov dword [rdx + 0x38], eax
mov eax, dword [rdi]
mov dword [rsi], eax
mov dword [rsp], 0xc840
mov dword [rsp + 4], 0x1d95
mov dword [rsp + 8], 0x62ea
mov dword [rsp + 0xc], 0xb73f
mov dword [rsp + 0x10], 0x3210
mov dword [rsp + 0x14], 0x4765
mov dword [rsp + 0x18], 0x98ba
mov dword [rsp + 0x1c], 0xedcf
lea rax, [rbp - 2]
and eax, 7
mov r9d, dword [rsp + rax*4]
mov eax, r9d
and eax, 0xf
lea r11, [rdx + rax*4]
mov eax, r9d
shr rax, 0xc
lea r10, [rdx + rax*4]
mov eax, r9d
shr rax, 4
and eax, 0xf
shr r9, 8
lea r8, [rdx + rax*4]
and r9d, 0xf
mov eax, dword [r11]
add eax, dword [r10]
rol eax, 7
xor dword [r8], eax
lea rax, [rbp - 1]
mov ecx, dword [r8]
and eax, 7
add ecx, dword [r11]
rol ecx, 9
xor dword [rdx + r9*4], ecx
mov r8d, dword [r8]
add r8d, dword [rdx + r9*4]
rol r8d, 0xd
xor dword [r10], r8d
mov r8d, dword [r10]
add r8d, dword [rdx + r9*4]
mov r9d, dword [rsp + rax*4]
ror r8d, 0xe
mov eax, r9d
xor dword [r11], r8d
and eax, 0xf
lea r11, [rdx + rax*4]
mov eax, r9d
shr rax, 0xc
lea r10, [rdx + rax*4]
mov eax, r9d
shr rax, 4
and eax, 0xf
shr r9, 8
lea r8, [rdx + rax*4]
and r9d, 0xf
mov eax, dword [r11]
add eax, dword [r10]
rol eax, 7
xor dword [r8], eax
mov rax, rbp
mov ecx, dword [r8]
and eax, 7
add ecx, dword [r11]
rol ecx, 9
xor dword [rdx + r9*4], ecx
mov r8d, dword [r8]
add r8d, dword [rdx + r9*4]
rol r8d, 0xd
xor dword [r10], r8d
mov r8d, dword [r10]
add r8d, dword [rdx + r9*4]
ror r8d, 0xe
xor dword [r11], r8d
mov r8d, dword [rsp + rax*4]
mov eax, r8d
and eax, 0xf
mov ecx, r8d
mov r9d, r8d
shr ecx, 4
shr r8d, 0xc
and ecx, 0xf
lea r10, [rdx + r8*4]
shr r9d, 8
lea r11, [rdx + rax*4]
and r9d, 0xf
mov eax, dword [r10]
add eax, dword [r11]
lea r8, [rdx + rcx*4]
rol eax, 7
xor dword [r8], eax
mov ecx, dword [r8]
lea r9, [rdx + r9*4]
add ecx, dword [r11]
lea rax, [rbp + 1]
rol ecx, 9
and eax, 7
xor dword [r9], ecx
add rbp, 4
mov r8d, dword [r8]
add r8d, dword [r9]
rol r8d, 0xd
xor dword [r10], r8d
mov r8d, dword [r10]
add r8d, dword [r9]
ror r8d, 0xe
xor dword [r11], r8d
mov r8d, dword [rsp + rax*4]
mov eax, r8d
mov r9d, r8d
mov ecx, r8d
shr r8d, 0xc
and eax, 0xf
lea r10, [rdx + r8*4]
shr ecx, 4
lea r11, [rdx + rax*4]
shr r9d, 8
mov eax, dword [r10]
and ecx, 0xf
add eax, dword [r11]
lea r8, [rdx + rcx*4]
rol eax, 7
and r9d, 0xf
xor dword [r8], eax
lea r9, [rdx + r9*4]
mov ecx, dword [r8]
add ecx, dword [r11]
rol ecx, 9
xor dword [r9], ecx
mov r8d, dword [r8]
add r8d, dword [r9]
rol r8d, 0xd
xor dword [r10], r8d
mov r8d, dword [r10]
add r8d, dword [r9]
ror r8d, 0xe
xor dword [r11], r8d
sub r14, 1
jne 0x14004afd0
cmp rdx, rdi
ja 0x14004b1b1
cmp rsi, rbx
jb 0x14004b1b1
sub rbx, rdx
mov ecx, reloc.WS2_32.dll_recv
nop dword [rax + rax]
mov eax, dword [rbx + rdx]
add dword [rdx], eax
lea rdx, [rdx + 4]
sub rcx, 1
jne 0x14004b1a0
jmp 0x14004b1fa
movdqu xmm1, xmmword [rdx]
movdqu xmm0, xmmword [rbx]
paddd xmm1, xmm0
movdqu xmm0, xmmword [rbx + 0x10]
movdqu xmmword [rdx], xmm1
movdqu xmm2, xmmword [rdx + 0x10]
paddd xmm2, xmm0
movdqu xmm0, xmmword [rbx + 0x20]
movdqu xmmword [rdx + 0x10], xmm2
movdqu xmm1, xmmword [rdx + 0x20]
paddd xmm1, xmm0
movdqu xmm0, xmmword [rbx + 0x30]
movdqu xmmword [rdx + 0x20], xmm1
movdqu xmm2, xmmword [rdx + 0x30]
paddd xmm2, xmm0
movdqu xmmword [rdx + 0x30], xmm2
mov rcx, qword [rsp + 0x20]
xor rcx, rsp
call fcn.14011b0c0
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret