Function at 0x1400051f0
Capabilities:
Encode data using xor
Encrypt data using rc4 prga
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov qword [rdx], r8
xor ecx, ecx
mov qword [rdx + 8], rcx
mov r11, r8
mov qword [rdx + 0x10], rcx
mov r15, rdx
mov qword [rdx + 0x18], rcx
mov qword [rdx + 0x20], rcx
mov qword [rbp - 0x70], r8
mov r8, qword [rdx]
mov qword [rbp - 0x30], rdx
mov rdx, qword [rdx + 8]
mov r10, qword [r8 + 8]
mov eax, dword [r10 + 0x18]
cmp rdx, rax
jae 0x1400052ba
mov r8, qword [r8]
test r8, r8
jne 0x14000526e
mov qword [rbp - 0x80], rcx
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], cl
jne 0x140005260
mov qword [rbp - 0x78], rax
jmp 0x1400052ad
mov eax, dword [r10 + 0x20]
add rax, r8
mov ecx, dword [rax + rdx*4]
mov rax, 0xffffffffffffffff
add rcx, r8
mov qword [rbp - 0x80], rcx
inc rax
cmp byte [rcx + rax], 0
jne 0x140005286
mov ecx, dword [r10 + 0x24]
add rcx, r8
mov qword [rbp - 0x78], rax
movzx edx, word [rcx + rdx*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add r8, rax
xor ecx, ecx
movups xmm0, xmmword [rbp - 0x80]
mov qword [r15 + 0x20], r8
movups xmmword [r15 + 0x10], xmm0
movups xmm0, xmmword [r15]
mov rax, qword [r11 + 8]
movups xmm1, xmmword [r15 + 0x10]
mov r11, qword [r15 + 0x18]
movaps xmmword [rbp - 0x60], xmm0
movsd xmm0, qword [r15 + 0x20]
mov r13d, dword [rax + 0x18]
mov r12, qword [rbp - 0x60]
mov r14, qword [rbp - 0x58]
mov r15, qword [rbp - 0x70]
movsd qword [rbp - 0x40], xmm0
mov rsi, qword [rbp - 0x40]
movq r10, xmm1
movaps xmmword [rbp - 0x50], xmm1
cmp r14, r13
jne 0x140005305
cmp r12, r15
je 0x140005414
mov edi, ecx
mov ebx, 0x5a7f5a6c
test r11, r11
je 0x140005358
movabs r15, 0x100000001b3
nop dword [rax + rax]
movzx r8d, byte [r10]
lea r10, [r10 + 1]
lea eax, [r8 + 0x20]
movzx ecx, al
lea edx, [r8 - 0x41]
cmp dl, 0x19
cmova ecx, r8d
inc edi
movsx rax, cl
xor rax, rbx
imul rax, r15
add rbx, rax
movsxd rax, edi
cmp rax, r11
jb 0x140005320
mov r15, qword [rbp - 0x70]
xor ecx, ecx
cmp r9, rbx
je 0x140005414
mov r10, qword [r12 + 8]
mov eax, dword [r10 + 0x18]
cmp r14, rax
jae 0x1400053f6
inc r14
cmp r14, rax
jae 0x1400053f6
mov r8, qword [r12]
test r8, r8
jne 0x14000539e
mov qword [rbp - 0x80], rcx
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x140005390
mov rsi, rcx
jmp 0x1400053db
mov eax, dword [r10 + 0x20]
add rax, r8
mov ecx, dword [rax + r14*4]
mov rax, 0xffffffffffffffff
add rcx, r8
mov qword [rbp - 0x80], rcx
inc rax
cmp byte [rcx + rax], 0
jne 0x1400053b7
mov ecx, dword [r10 + 0x24]
add rcx, r8
movzx edx, word [rcx + r14*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r8
mov esi, dword [rcx + rdx*4]
add rsi, r8
xor ecx, ecx
mov qword [rbp - 0x78], rax
movups xmm1, xmmword [rbp - 0x80]
movdqa xmm0, xmm1
psrldq xmm0, 8
movq r11, xmm0
jmp 0x1400052ee
lea r10, [0x140007395]
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x50], r10
mov r11, rcx
movaps xmm1, xmmword [rbp - 0x50]
mov rsi, rcx
jmp 0x1400052f7
mov r15, qword [rbp - 0x30]
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rax, r15
mov rdi, qword [r11 + 0x48]
mov qword [r15], r12
mov qword [r15 + 8], r14
mov qword [r15 + 0x20], rsi
mov rsi, qword [r11 + 0x40]
movups xmmword [r15 + 0x10], xmm1
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret