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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov qword [rdx], r8
xor ecx, ecx
mov qword [rdx + 8], rcx
mov r13, r8
mov qword [rdx + 0x10], rcx
mov r14, rdx
mov qword [rdx + 0x18], rcx
mov qword [rdx + 0x20], rcx
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
mov r10, qword [r8 + 8]
mov eax, dword [r10 + 0x18]
cmp rdx, rax
jae 0x1400035dc
mov r8, qword [r8]
test r8, r8
jne 0x14000358f
mov qword [rsp], rcx
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rcx + rax], cl
jne 0x140003580
mov qword [rsp + 8], rax
jmp 0x1400035cf
mov eax, dword [r10 + 0x20]
add rax, r8
mov ecx, dword [rax + rdx*4]
mov rax, 0xffffffffffffffff
add rcx, r8
mov qword [rsp], rcx
inc rax
cmp byte [rcx + rax], 0
jne 0x1400035a7
mov ecx, dword [r10 + 0x24]
add rcx, r8
mov qword [rsp + 8], 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 [rsp]
mov qword [r14 + 0x20], r8
movups xmmword [r14 + 0x10], xmm0
mov rax, qword [r13 + 8]
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
mov r12d, dword [rax + 0x18]
xor eax, eax
movaps xmmword [rsp + 0x30], xmm0
movsd xmm0, qword [r14 + 0x20]
mov r15, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov qword [rsp + 0x50], rax
movsd qword [rsp + 0x50], xmm0
mov rdi, qword [rsp + 0x50]
lea rdx, [0x1400054b8]
nop dword [rax + rax]
cmp rbp, r12
jne 0x14000362e
cmp r15, r13
je 0x14000374b
movdqa xmm0, xmm1
mov ebx, ecx
psrldq xmm0, 8
mov r10d, 0x3e2f2cf1
movq rsi, xmm0
test rsi, rsi
je 0x1400036a0
movq r11, xmm1
movabs r15, 0x100000001b3
nop dword [rax + rax]
movzx r8d, byte [r11]
lea r11, [r11 + 1]
lea eax, [r8 + 0x20]
movzx ecx, al
lea edx, [r8 - 0x41]
cmp dl, 0x19
cmova ecx, r8d
inc ebx
movsx rax, cl
xor rax, r10
imul rax, r15
add r10, rax
movsxd rax, ebx
cmp rax, rsi
jb 0x140003660
mov r15, qword [rsp + 0x30]
lea rdx, [0x1400054b8]
xor ecx, ecx
cmp r9, r10
je 0x14000374b
mov r10, qword [r15 + 8]
mov eax, dword [r10 + 0x18]
cmp rbp, rax
jae 0x140003734
inc rbp
cmp rbp, rax
jae 0x140003734
mov r8, qword [r15]
test r8, r8
jne 0x1400036eb
mov qword [rsp], rcx
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1400036d1
mov qword [rsp + 8], rax
mov rdi, rcx
movups xmm1, xmmword [rsp]
jmp 0x140003614
mov eax, dword [r10 + 0x20]
add rax, r8
mov ecx, dword [rax + rbp*4]
mov rax, 0xffffffffffffffff
add rcx, r8
mov qword [rsp], rcx
inc rax
cmp byte [rcx + rax], 0
jne 0x140003703
mov ecx, dword [r10 + 0x24]
add rcx, r8
mov qword [rsp + 8], rax
movups xmm1, xmmword [rsp]
movzx edx, word [rcx + rbp*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r8
mov edi, dword [rcx + rdx*4]
add rdi, r8
xor ecx, ecx
jmp 0x140003614
mov qword [rsp + 0x10], rdx
mov rdi, rcx
mov qword [rsp + 0x18], rcx
movups xmm1, xmmword [rsp + 0x10]
jmp 0x140003620
lea r11, [rsp + 0x60]
mov qword [r14 + 8], rbp
mov rbx, qword [r11 + 0x30]
mov rax, r14
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov qword [r14], r15
movups xmmword [r14 + 0x10], xmm1
mov qword [r14 + 0x20], rdi
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret