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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xc0
mov rax, qword [0x1804c4e78]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov qword [rbp - 0x49], rdx
mov qword [rbp - 0x69], rcx
mov rbx, rcx
shr rbx, 0x38
mov rdi, rcx
shr rdi, 0x30
mov rsi, rcx
shr rsi, 0x28
mov r14, rcx
shr r14, 0x20
mov r15, rcx
shr r15, 0x18
mov r12, rcx
shr r12, 0x10
mov r13, rcx
shr r13, 8
mov byte [rbp - 0x79], cl
movzx r8d, r13b
movzx r9d, r12b
movzx r10d, r15b
movzx r11d, r14b
mov ecx, dword [0x1804deea8]
mov rax, qword gs:[0x58]
mov rax, qword [rax + rcx*8]
mov ecx, 0x44
mov eax, dword [rcx + rax]
cmp dword [0x1804d9b50], eax
jg 0x18021f3de
movzx ecx, dil
movzx eax, sil
movzx r13d, bl
movzx r12d, cl
movzx r15d, al
movzx r14d, r11b
movzx esi, r10b
movzx edi, r9b
movzx ebx, r8b
lea rax, [0x1804d9b08]
mov qword [rbp - 0x39], rax
mov byte [rbp - 0x31], 1
mov rcx, rax
call sub.KERNEL32.dll_AcquireSRWLockShared
nop
movabs rax, 0xcbf29ce484222325
mov qword [rbp - 0x59], rax
movzx ecx, byte [rbp - 0x79]
xor rcx, rax
movabs rax, 0x100000001b3
imul rcx, rax
xor rcx, rbx
mov rbx, rax
imul rcx, rax
xor rcx, rdi
imul rcx, rax
xor rcx, rsi
imul rcx, rax
xor rcx, r14
imul rcx, rax
xor rcx, r15
imul rcx, rax
xor rcx, r12
imul rcx, rax
xor rcx, r13
imul rcx, rax
and rcx, qword [0x1804d9b40]
add rcx, rcx
mov r8, qword [0x1804d9b28]
mov rax, qword [r8 + rcx*8 + 8]
mov rdx, qword [0x1804d9b18]
mov r13, qword [rbp - 0x69]
cmp rax, rdx
jne 0x18021f01e
xor r15d, r15d
mov eax, r15d
jmp 0x18021f03a
mov rcx, qword [r8 + rcx*8]
cmp r13, qword [rax + 0x10]
je 0x18021f037
cmp rax, rcx
je 0x18021f016
mov rax, qword [rax + 8]
cmp r13, qword [rax + 0x10]
jne 0x18021f028
xor r15d, r15d
mov rdi, rdx
test rax, rax
cmovne rdi, rax
mov r12, 0xffffffffffffffff
cmp rdi, rdx
je 0x18021f1c5
mov rdx, qword [rbp - 0x49]
mov rdx, qword [rdx]
xorps xmm0, xmm0
movups xmmword [rbp - 9], xmm0
mov qword [rbp + 7], r15
mov qword [rbp + 0xf], r15
mov r8, r12
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x18021f070
lea rcx, [rbp - 9]
call fcn.180017bf0
nop
lea rdx, [rbp - 9]
mov r10, qword [rbp - 9]
mov r11, qword [rbp + 0xf]
cmp r11, 8
cmovae rdx, r10
mov r9, qword [rbp + 7]
lea r8, [r9 + r9]
mov rcx, r15
test r8, r8
je 0x18021f0ca
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor rax, qword [rbp - 0x59]
imul rax, rbx
mov qword [rbp - 0x59], rax
inc rcx
cmp rcx, r8
jb 0x18021f0b0
jmp 0x18021f0d4
movabs rax, 0xcbf29ce484222325
mov rcx, qword [rdi + 0x48]
and rcx, rax
add rcx, rcx
mov rax, qword [rdi + 0x30]
mov rbx, qword [rax + rcx*8 + 8]
mov r14, qword [rdi + 0x20]
cmp rbx, r14
je 0x18021f151
mov rsi, qword [rax + rcx*8]
nop dword [rax]
nop dword [rax + rax]
lea rcx, [rbx + 0x10]
mov rax, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 8
jb 0x18021f112
mov rcx, qword [rcx]
lea r8, [rbp - 9]
cmp r11, 8
cmovae r8, r10
cmp r9, rax
jne 0x18021f146
mov rdx, r9
test r9, r9
je 0x18021f154
sub r8, rcx
nop
movzx eax, word [rcx + r8]
cmp ax, word [rcx]
jne 0x18021f146
add rcx, 2
sub rdx, 1
je 0x18021f154
jmp 0x18021f130
cmp rbx, rsi
je 0x18021f151
mov rbx, qword [rbx + 8]
jmp 0x18021f100
mov rbx, r15
test rbx, rbx
cmove rbx, r14
cmp r11, 8
jb 0x18021f196
lea rdx, [r11*2 + 2]
mov rax, r10
cmp rdx, 0x1000
jb 0x18021f18e
add rdx, 0x27
mov r10, qword [r10 - 8]
sub rax, r10
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18021f4cc
mov rcx, r10
call fcn.18026a1a0
mov qword [rbp + 7], r15
mov qword [rbp + 0xf], 7
mov word [rbp - 9], r15w
cmp rbx, qword [rdi + 0x20]
je 0x18021f1c5
mov rbx, qword [rbx + 0x30]
lea rcx, [0x1804d9b08]
call sub.KERNEL32.dll_ReleaseSRWLockShared
mov rax, rbx
jmp 0x18021f3b1
lea rcx, [0x1804d9b08]
call sub.KERNEL32.dll_ReleaseSRWLockShared
mov r15, r13
test r13, r13
je 0x18021f3af
mov eax, dword [0x1804c0684]
mov rbx, qword [rax + r15]
test rbx, rbx
je 0x18021f2c6
mov rax, qword [rbp - 0x49]
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x69], xmm0
mov rsi, qword [rbp - 0x61]
mov r14, qword [rbp - 0x69]
mov ecx, dword [0x1804c06a8]
add rcx, rbx
lea rdx, [rbp - 0x29]
call fcn.180227d80
nop
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x18021f223
mov rcx, qword [rax]
cmp rsi, qword [rax + 0x10]
jne 0x18021f259
mov rdx, rsi
test rsi, rsi
je 0x18021f254
mov r8, r14
sub r8, rcx
nop word [rax + rax]
movzx eax, word [rcx + r8]
cmp ax, word [rcx]
jne 0x18021f259
add rcx, 2
sub rdx, 1
jne 0x18021f240
mov dil, 1
jmp 0x18021f25c
xor dil, dil
mov rdx, qword [rbp - 0x11]
cmp rdx, 8
jb 0x18021f29c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18021f297
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18021f4d2
call fcn.18026a1a0
xor eax, eax
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x11], 7
mov word [rbp - 0x29], ax
test dil, dil
jne 0x18021f2d8
mov eax, dword [0x1804c068c]
mov rbx, qword [rax + rbx]
test rbx, rbx
jne 0x18021f203
mov eax, dword [0x1804c0680]
mov r15, qword [rax + r15]
test r15, r15
jmp 0x18021f1d7
lea rsi, [0x1804d9b08]
mov qword [rbp - 0x59], rsi
mov byte [rbp - 0x51], al
mov rcx, rsi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov byte [rbp - 0x51], 1
mov qword [rbp - 0x69], r13
lea r8, [rbp - 0x69]
lea rdx, [rbp - 0x39]
lea rcx, [0x1804d9b10]
call fcn.18021d510
mov rdi, qword [rax]
mov rax, qword [rbp - 0x49]
mov rdx, qword [rax]
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x19], xmm1
inc r12
cmp word [rdx + r12*2], 0
jne 0x18021f323
mov r8, r12
lea rcx, [rbp - 0x29]
call fcn.180017bf0
nop
lea r8, [rbp - 0x29]
lea rdx, [rbp - 0x49]
lea rcx, [rdi + 0x18]
call fcn.18021d890
mov rcx, qword [rax]
mov qword [rcx + 0x30], rbx
mov rdx, qword [rbp - 0x11]
cmp rdx, 8
jb 0x18021f38f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18021f38a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18021f3d8
call fcn.18026a1a0
movdqa xmm0, xmmword [0x1802f2710]
movdqu xmmword [rbp - 0x19], xmm0
xor ecx, ecx
mov word [rbp - 0x29], cx
mov rcx, rsi
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov rax, rbx
jmp 0x18021f3b1
xor eax, eax
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.18026ad00
mov rbx, qword [rsp + 0x110]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18028cdc8
nop
lea rcx, [0x1804d9b50]
call fcn.18026a604
movzx edx, byte [rbp - 0x69]
mov byte [rbp - 0x79], dl
movzx r8d, r13b
movzx r9d, r12b
movzx r10d, r15b
movzx r11d, r14b
movzx eax, sil
movzx ecx, dil
cmp dword [0x1804d9b50], 0xffffffff
jne 0x18021ef65
mov dword [rbp - 0x59], 0
mov eax, dword [rbp - 0x59]
mov dword [0x1804d9b10], eax
xor eax, eax
mov qword [0x1804d9b18], rax
mov qword [0x1804d9b20], rax
lea ecx, [rax + 0x58]
call fcn.18026a164
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x1804d9b18], rax
xor ecx, ecx
mov qword [0x1804d9b28], rcx
xorps xmm0, xmm0
movdqa xmmword [0x1804d9b30], xmm0
mov qword [0x1804d9b40], 7
mov qword [0x1804d9b48], 8
mov dword [0x1804d9b10], 0x3f800000
mov r8, qword [0x1804d9b18]
lea edx, [rcx + 0x10]
lea rcx, [0x1804d9b28]
call fcn.18001fd00
nop
lea rcx, [0x1802f05f0]
call fcn.18026a544
nop
lea rcx, [0x1804d9b50]
call fcn.18026a598
movzx edx, byte [rbp - 0x69]
mov byte [rbp - 0x79], dl
movzx r8d, r13b
movzx r9d, r12b
movzx r10d, r15b
movzx r11d, r14b
jmp 0x18021ef5d
call fcn.18028cdc8
nop
call fcn.18028cdc8
int3