Function at 0x18004a5c0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov r11, rsp
sub rsp, 0xa8
mov rax, qword [0x180248b00]
xor rax, rsp
mov qword [rsp + 0x78], rax
movups xmm0, xmmword [rcx + 0x18]
mov qword [r11 + 0x10], rbx
mov rbx, qword [rcx + 8]
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
mov rsi, rcx
mov qword [r11 - 8], rdi
mov qword [r11 - 0x20], r14
mov qword [r11 - 0x28], r15
lea r15, [rcx + 0x18]
mov qword [rsp + 0x40], rcx
mov rdi, r15
movups xmmword [rsp + 0x60], xmm0
test rbx, rbx
jne 0x18004a635
mov ecx, 0x100
mov ebx, reloc.WS2_32.dll_recv
call fcn.18017ab30
mov rcx, rax
mov qword [rsp + 0x20], rax
mov r14, rax
mov qword [rsp + 0x28], rbx
mov ebp, ebx
jmp 0x18004a66d
xor r14d, r14d
xor ebp, ebp
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], rbp
add rbx, rbx
je 0x18004a682
mov rcx, rbx
shl rcx, 4
call fcn.18017ab30
mov qword [rsp + 0x20], rax
mov rcx, rax
mov qword [rsp + 0x28], rbx
mov r14, rax
mov rbp, rbx
test rbx, rbx
je 0x18004a682
xor eax, eax
nop
lea rax, [rax + 0x10]
movups xmm0, xmmword [rdi]
movups xmmword [rax + rcx - 0x10], xmm0
sub rbx, 1
jne 0x18004a670
cmp qword [rsi + 8], 0
mov qword [rsp + 0x38], 0
jbe 0x18004a7cf
xor ecx, ecx
mov qword [rsp + 0x98], r12
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x90], r13
nop dword [rax]
mov r13, qword [rsi]
add r13, rcx
mov eax, dword [r13 + 8]
mov ebx, eax
cmp eax, dword [r15 + 8]
jne 0x18004a6d9
mov rdx, qword [r15]
mov r8d, eax
mov rcx, qword [r13]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x18004a790
xor ecx, ecx
mov r15d, ebx
lea r12, [rbp - 1]
mov edx, 0x811c9dc5
test ebx, ebx
je 0x18004a709
mov r8, qword [r13]
nop
movzx eax, byte [r8 + rcx]
inc rcx
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r15
jb 0x18004a6f0
mov r15d, dword [r13 + 8]
mov edi, edx
and rdi, r12
xor ebp, ebp
mov rbx, rdi
shl rbx, 4
add rbx, r14
mov esi, dword [rbx + 8]
mov r14d, esi
cmp esi, dword [rsp + 0x68]
jne 0x18004a73a
mov rdx, qword [rsp + 0x60]
mov r8d, esi
mov rcx, qword [rbx]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x18004a76a
cmp esi, r15d
jne 0x18004a752
mov rdx, qword [r13]
mov r8, r14
mov rcx, qword [rbx]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x18004a776
inc rdi
add rdi, rbp
inc rbp
and rdi, r12
cmp rbp, r12
ja 0x18004a774
mov r14, qword [rsp + 0x20]
jmp 0x18004a710
movups xmm0, xmmword [r13]
movups xmmword [rbx], xmm0
jmp 0x18004a776
xor ebx, ebx
mov rsi, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsi]
lea r15, [rsi + 0x18]
movups xmm0, xmmword [rcx + rax]
movups xmmword [rbx], xmm0
jmp 0x18004a795
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
add rcx, 0x10
mov r14, qword [rsp + 0x20]
inc rdx
mov rbp, qword [rsp + 0x28]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rcx
cmp rdx, qword [rsi + 8]
jb 0x18004a6b0
mov r13, qword [rsp + 0x90]
mov r12, qword [rsp + 0x98]
mov rcx, qword [rsi]
mov rax, qword [rsp + 0x20]
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
mov rdi, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xb8]
mov qword [rsi], rax
mov rax, qword [rsp + 0x28]
mov qword [rsi + 8], rax
mov rsi, qword [rsp + 0xc8]
test rcx, rcx
je 0x18004a81d
call fcn.18017ab20
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.18017a790
add rsp, 0xa8
ret