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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1a8]
sub rsp, 0x2b8
movups xmm0, xmmword [0x180014e08]
lea rax, [rbp - 0x68]
mov r14, rcx
movups xmm1, xmmword [0x180014e18]
mov qword [rsp + 0x28], rax
xor r15d, r15d
movups xmmword [rbp + 0x130], xmm0
lea r9, [rbp - 0x78]
xor ecx, ecx
movups xmm0, xmmword [0x180014e28]
lea r8, [rbp + 0x130]
mov qword [rbp - 0x68], r15
lea rdx, [rbp + 0x110]
mov dword [rbp - 0x78], 0x2a11b787
movups xmmword [rbp + 0x110], xmm0
mov word [rbp - 0x74], 0xf8d7
mov byte [rbp - 0x72], 0x77
movups xmmword [rbp + 0x140], xmm1
mov qword [rsp + 0x20], 7
call qword [0x180015080]
movsxd rcx, dword [r14 + 0x3c]
lea rbx, [r14 + 0x18]
add rbx, rcx
mov edi, r15d
mov esi, r15d
mov r9d, r15d
movzx eax, word [rcx + r14 + 0x14]
movzx r11d, word [rcx + r14 + 6]
add rbx, rax
test r11d, r11d
je 0x18000a56f
nop
movsxd r10, r9d
lea r8, [rbp - 0x68]
lea rax, [r10 + r10*4]
lea rax, [rbx + rax*8]
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x18000a555
inc rax
test ecx, ecx
jne 0x18000a542
test edx, edx
je 0x18000a563
inc r9d
cmp r9d, r11d
jl 0x18000a530
jmp 0x18000a56f
lea rax, [r10 + r10*4]
mov edi, dword [rbx + rax*8 + 0xc]
mov esi, dword [rbx + rax*8 + 8]
movups xmm0, xmmword [0x180014e08]
lea rax, [rbp - 0x60]
xor ecx, ecx
movups xmm1, xmmword [0x180014e18]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x80]
movups xmmword [rbp + 0x150], xmm0
lea r8, [rbp + 0x150]
mov qword [rbp - 0x60], r15
movups xmm0, xmmword [0x180014e28]
lea rdx, [rbp + 0x120]
mov dword [rbp - 0x80], 0x3310b387
mov word [rbp - 0x7c], 0x99d7
movups xmmword [rbp + 0x120], xmm0
mov qword [rsp + 0x20], 6
movups xmmword [rbp + 0x160], xmm1
call qword [0x180015080]
movsxd rcx, dword [r14 + 0x3c]
lea rbx, [r14 + 0x18]
xor r10d, r10d
add rbx, rcx
mov r12d, r10d
mov dword [rbp + 0x208], r10d
mov r8d, r10d
mov r9d, r10d
movzx eax, word [rcx + r14 + 0x14]
movzx r11d, word [rcx + r14 + 6]
add rbx, rax
test r11d, r11d
je 0x18000a65e
nop dword [rax + rax]
movsxd r10, r9d
lea r8, [rbp - 0x60]
lea rax, [r10 + r10*4]
lea rcx, [rbx + rax*8]
sub r8, rcx
movzx edx, byte [rcx]
movzx eax, byte [rcx + r8]
sub edx, eax
jne 0x18000a635
inc rcx
test eax, eax
jne 0x18000a622
test edx, edx
je 0x18000a646
inc r9d
cmp r9d, r11d
jl 0x18000a610
mov r8d, r12d
jmp 0x18000a65b
lea rax, [r10 + r10*4]
mov r8d, dword [rbx + rax*8 + 8]
mov r12d, dword [rbx + rax*8 + 0xc]
mov dword [rbp + 0x208], r8d
xor r10d, r10d
mov ecx, esi
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
mov ebx, edi
mov r15d, r10d
mov r13, rdx
add rbx, r14
shr r13, 3
test r13, r13
je 0x18000a9a6
mov eax, dword [rbx]
cmp eax, r12d
jb 0x18000a981
lea ecx, [r8 + r12]
cmp eax, ecx
jae 0x18000a981
mov edx, dword [rbx + 4]
cmp edx, r12d
jb 0x18000a981
cmp edx, ecx
jae 0x18000a981
sub edx, eax
je 0x18000a981
lea rdi, [rax + r14]
mov esi, edx
mov r14, qword [rbp + 0x1f8]
add rdx, rdi
add r14, rax
mov r8d, 0x811c9dc5
mov rcx, rdi
cmp rdi, rdx
jae 0x18000a6f5
nop dword [rax]
movzx eax, byte [rcx]
inc rcx
xor eax, r8d
imul r8d, eax, 0x1000193
cmp rcx, rdx
jb 0x18000a6e0
lea r9, [rsi + r14]
mov edx, 0x811c9dc5
mov rcx, r14
cmp r14, r9
jae 0x18000a723
nop word [rax + rax]
movzx eax, byte [rcx]
inc rcx
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r9
jb 0x18000a710
cmp r8d, edx
je 0x18000a97a
xor eax, eax
mov dword [rbp + 0x200], r10d
mov dword [rbp + 0x6c], eax
xorps xmm0, xmm0
mov rax, qword [section..data]
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x58], rdi
movups xmmword [rbp + 0x5c], xmm0
mov rcx, qword [rax + 0x40]
lea rax, [rbp - 0x58]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x50]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x200]
mov qword [rbp - 8], rax
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], 0xffffffffffffffff
mov qword [rbp - 0x10], 0x40
mov qword [rbp], r10
mov qword [rbp + 8], r10
mov qword [rbp + 0x10], r10
mov qword [rbp + 0x18], r10
mov qword [rbp + 0x20], r10
mov qword [rbp + 0x28], r10
mov qword [rbp + 0x30], r10
mov qword [rbp + 0x38], r10
mov qword [rbp + 0x40], r10
mov qword [rbp + 0x48], r10
mov qword [rbp + 0x50], r10
mov dword [rbp + 0x58], r10d
call fcn.18000c040
mov qword [rbp + 0x60], rax
mov rax, qword [0x180015018]
test rax, rax
jne 0x18000a801
mov dword [rbp - 0x70], eax
lea r8, [rbp + 0x170]
lea rax, [rbp - 0x70]
xor edx, edx
mov qword [rsp + 0x20], rax
mov r9d, 0x30
mov rax, qword [section..data]
lea rcx, [rdx - 2]
call qword [rax + 0x78]
mov rax, qword [rbp + 0x178]
mov rax, qword [rax + 8]
mov qword [0x180015018], rax
lea rcx, [rbp - 0x30]
mov qword [rbp + 0x68], rax
call fcn.18000f5d0
mov r8, rsi
mov rdx, r14
mov rcx, rdi
call fcn.18000f6e6
xor r14d, r14d
mov qword [rbp - 0x40], rsi
xor eax, eax
mov qword [rbp - 0x48], rdi
mov dword [rbp + 0x10c], eax
xorps xmm0, xmm0
mov rax, qword [section..data]
movups xmmword [rbp + 0xfc], xmm0
mov qword [rbp + 0x78], 0xffffffffffffffff
mov qword [rbp + 0xa0], r14
mov rcx, qword [rax + 0x40]
lea rax, [rbp - 0x48]
mov qword [rbp + 0x80], rax
lea rax, [rbp - 0x40]
mov qword [rbp + 0x88], rax
mov eax, dword [rbp + 0x200]
mov qword [rbp + 0x90], rax
lea rax, [rbp + 0x200]
mov qword [rbp + 0x98], rax
mov qword [rbp + 0x70], rcx
mov qword [rbp + 0xa8], r14
mov qword [rbp + 0xb0], r14
mov qword [rbp + 0xb8], r14
mov qword [rbp + 0xc0], r14
mov qword [rbp + 0xc8], r14
mov qword [rbp + 0xd0], r14
mov qword [rbp + 0xd8], r14
mov qword [rbp + 0xe0], r14
mov qword [rbp + 0xe8], r14
mov qword [rbp + 0xf0], r14
mov dword [rbp + 0xf8], r14d
call fcn.18000c040
mov qword [rbp + 0x100], rax
mov rax, qword [0x180015018]
test rax, rax
jne 0x18000a927
lea rax, [rbp - 0x6c]
mov dword [rbp - 0x6c], r14d
xor edx, edx
mov qword [rsp + 0x20], rax
mov rax, qword [section..data]
lea r9d, [r14 + 0x30]
lea r8, [rbp + 0x170]
lea rcx, [rdx - 2]
call qword [rax + 0x78]
mov rax, qword [rbp + 0x178]
mov rax, qword [rax + 8]
mov qword [0x180015018], rax
lea rcx, [rbp + 0x70]
mov qword [rbp + 0x108], rax
call fcn.18000f5d0
mov rcx, qword [section..data]
mov r9, rdi
mov qword [rsp + 0x50], r14
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r14
mov rcx, qword [rcx + 0x168]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rsi
call fcn.18000c360
xor r10d, r10d
mov r14, qword [rbp + 0x1f0]
cmp dword [rbx], 0
jne 0x18000a98c
cmp dword [rbx + 4], 0
je 0x18000a9a6
mov r8d, dword [rbp + 0x208]
inc r15d
mov eax, r15d
add rbx, 0xc
cmp rax, r13
jb 0x18000a685
add rsp, 0x2b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret