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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1f8]
sub rsp, 0x2c0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
mov rax, qword [0x180106040]
xor rax, rsp
mov qword [rbp + 0x170], rax
mov r15, rdx
mov r14, rcx
test rcx, rcx
je 0x180088a9e
mov dword [rsp + 0x34], 0x84cdad2
mov dword [rsp + 0x30], 0x8c86dfe9
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
mov rcx, qword [0x1801f8c60]
call fcn.180041cf0
mov rcx, qword [rax]
add rcx, 0x18
lea r8, [rsp + 0x34]
lea rdx, [rbp - 0x70]
call fcn.180041a40
mov rcx, qword [rax]
movsxd rax, dword [rcx + 0x1c]
cmp dword [rax + r14], 0
jle 0x180088a9e
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
mov qword [rbp + 0x100], rax
mov ecx, dword [0x1801f86c8]
mov rax, qword gs:[0x58]
mov r13d, 4
mov r12, qword [rax + rcx*8]
mov esi, 0x811c9dc5
mov rbx, 0xffffffffffffffff
xor edi, edi
mov eax, dword [r12 + r13]
cmp dword [0x1801f8be0], eax
jle 0x180088708
lea rcx, [0x1801f8be0]
call fcn.180095f3c
cmp dword [0x1801f8be0], ebx
jne 0x180088708
movabs rax, 0x78863a1438215ee
mov qword [rsp + 0x50], rax
movabs rax, 0xd3e4d04e2d938fce
mov qword [rsp + 0x58], rax
movabs rax, 0x6194ba1a49bbbee9
mov qword [rsp + 0x60], rax
movabs rcx, 0x3298cc83ddb3e20e
mov qword [rsp + 0x68], rcx
movabs rax, 0x73d717c82deb4a83
mov qword [rbp + 0x150], rax
movabs rax, 0xbf8db61148f0eebc
mov qword [rbp + 0x158], rax
movabs rax, 0x6194ba1a49c9db9d
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], rcx
movdqa xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [rbp + 0x150]
movdqa xmmword [rsp + 0x50], xmm0
movdqa xmm1, xmmword [rsp + 0x60]
xorps xmm1, xmmword [rbp + 0x160]
movdqa xmmword [rsp + 0x60], xmm1
mov rcx, qword [0x1801f8c68]
add rcx, 0x70
mov r9d, esi
lea rax, [rsp + 0x50]
mov rdx, rbx
inc rdx
cmp byte [rax + rdx], 0
jne 0x180088691
mov r8d, edi
test rdx, rdx
je 0x1800886ca
mov rax, rdi
nop word [rax + rax]
movsx eax, byte [rsp + rax + 0x50]
xor eax, r9d
imul r9d, eax, 0x1000193
inc r8d
mov eax, r8d
cmp rax, rdx
jb 0x1800886b0
mov eax, r9d
mov qword [rbp + 0x140], rax
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0x150]
call fcn.1800260b0
mov rdx, qword [rax]
mov rax, qword [rdx + 0x18]
test rax, rax
cmove rax, rdi
mov qword [0x1801f8be8], rax
lea rcx, [0x1801f8be0]
call fcn.180095ed0
mov word [rsp + 0x20], 7
mov r9b, 4
mov r8d, 0x1c3003
mov rdx, r15
lea rcx, [rbp + 0xd0]
call qword [0x1801f8be8]
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp - 0x60]
call sub.VCRUNTIME140.dll_memset
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], rax
mov dword [rbp - 0x10], edi
movups xmmword [rbp - 0xc], xmm0
movups xmmword [rbp + 4], xmm0
mov qword [rbp + 0x14], rax
mov dword [rbp + 0x1c], eax
xorps xmm1, xmm1
movups xmmword [rbp + 0x20], xmm1
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rax
mov dword [rbp + 0x50], eax
mov word [rbp + 0x54], ax
mov byte [rbp + 0x56], al
movups xmmword [rbp + 0x57], xmm0
movups xmmword [rbp + 0x67], xmm0
movups xmmword [rbp + 0x77], xmm0
movups xmmword [rbp + 0x87], xmm0
mov qword [rbp + 0x97], rax
mov dword [rbp + 0x9f], eax
mov byte [rbp + 0xa3], al
mov word [rbp + 0x13d], di
mov byte [rbp + 0x13f], al
movups xmmword [rbp + 0x108], xmm0
movups xmmword [rbp + 0x118], xmm1
movups xmmword [rbp + 0x128], xmm0
mov dword [rbp + 0x138], eax
mov byte [rbp + 0x13c], al
mov qword [rbp + 0xc0], rax
mov dword [rbp + 0xc8], eax
test r15, r15
je 0x180088804
mov rax, qword [r15]
test rax, rax
je 0x180088804
mov r8, qword [rax + 0x500]
test r8, r8
je 0x180088804
lea rdx, [rbp + 0xc0]
mov rcx, r15
call r8
mov qword [rbp + 0xb0], 0
mov dword [rbp + 0xb8], 0
mov rax, qword [r14]
test rax, rax
je 0x18008883a
mov r8, qword [rax + 0x500]
test r8, r8
je 0x18008883a
lea rdx, [rbp + 0xb0]
mov rcx, r14
call r8
mov rax, qword [0x1801f8c50]
mov r15, qword [rax + 0x68]
movups xmm6, xmmword [rbp + 0xd0]
movups xmm7, xmmword [rbp + 0xe0]
movups xmm8, xmmword [rbp + 0xf0]
movsd xmm9, qword [rbp + 0x100]
mov eax, dword [r12 + r13]
cmp dword [0x1801f8bf0], eax
jle 0x18008894d
lea rcx, [0x1801f8bf0]
call fcn.180095f3c
cmp dword [0x1801f8bf0], 0xffffffff
jne 0x18008894d
movabs rax, 0x2cb274a95f9f15ee
mov qword [rsp + 0x40], rax
movabs rax, 0xbf8db674389186cf
mov qword [rsp + 0x48], rax
movabs rax, 0x73d717c82deb4a83
mov qword [rbp + 0x140], rax
movabs rax, 0xbf8db61148f0eebc
mov qword [rbp + 0x148], rax
movdqa xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rbp + 0x140]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, qword [0x1801f8c68]
add rcx, 0x70
lea rax, [rsp + 0x40]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1800888f0
test rbx, rbx
je 0x180088917
mov rax, rdi
movsx eax, byte [rsp + rax + 0x40]
xor eax, esi
imul esi, eax, 0x1000193
inc edi
mov eax, edi
cmp rax, rbx
jb 0x180088901
mov eax, esi
mov qword [rbp + 0x140], rax
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0x150]
call fcn.1800260b0
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
mov qword [0x1801f8bd8], rax
lea rcx, [0x1801f8bf0]
call fcn.180095ed0
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x60], xmm7
movaps xmmword [rsp + 0x70], xmm8
movsd qword [rbp - 0x80], xmm9
lea rax, [rbp - 0x60]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xb0]
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0x108]
mov rcx, r15
call qword [0x1801f8bd8]
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x180088a8c
lea rdx, [rbp + 0x140]
call fcn.180025130
mov esi, dword [rax]
mov r15d, 0x7fff
and esi, r15d
cmp dword [rax], 0xffffffff
cmove esi, r15d
mov dword [rsp + 0x30], 0xa8a45978
mov dword [rsp + 0x34], 0xb6dd442e
lea r8, [rsp + 0x34]
lea rdx, [rbp + 0x150]
mov rcx, qword [0x1801f8c60]
call fcn.180041cf0
mov rcx, qword [rax]
add rcx, 0x18
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x70]
call fcn.180041a40
mov rcx, qword [rax]
movsxd rax, dword [rcx + 0x1c]
mov r14, qword [rax + r14]
test r14, r14
jne 0x180088a13
mov edi, 0xffffffff
jmp 0x180088a7c
mov ebx, dword [r14 + 0x10]
mov edi, ebx
mov dword [rsp + 0x3c], 0xdc74a14c
mov dword [rsp + 0x38], 0xae42345f
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x40]
mov rcx, qword [0x1801f8c60]
call fcn.180041cf0
mov rcx, qword [rax]
add rcx, 0x18
lea r8, [rsp + 0x3c]
lea rdx, [rsp + 0x50]
call fcn.180041a40
mov rcx, qword [rax]
movsxd rax, dword [rcx + 0x1c]
mov ecx, dword [rax + r14]
and ecx, 1
shl ecx, 0xf
and edi, 0xffff8000
sub edi, ecx
mov eax, ebx
and eax, r15d
cmp ebx, 0xffffffff
cmove eax, r15d
or edi, eax
mov eax, edi
and eax, r15d
cmp edi, 0xffffffff
cmove eax, r15d
cmp esi, eax
je 0x180088a9a
movss xmm0, dword [rbp + 0x4c]
comiss xmm0, dword [0x1800f5090]
jbe 0x180088a9e
mov al, 1
jmp 0x180088aa0
xor al, al
mov rcx, qword [rbp + 0x170]
xor rcx, rsp
call fcn.180095810
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret