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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov r15, rcx
mov rax, qword [0x1400af118]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov r12, qword [0x1400b2b40]
cmp r12, 1
ja 0x14003cd7c
lea rcx, [0x1400b2b40]
call fcn.140035640
test al, al
je 0x14003cd75
lea r12, [0x1400b2b48]
mov rcx, r12
call fcn.14001aae0
lea rcx, [0x1400b2b40]
mov rdx, r12
xor r8d, r8d
mov r9, rcx
call fcn.1400356f0
jmp 0x14003cd7c
mov r12, qword [0x1400b2b40]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14003d0aa
mov rax, qword [0x1400b2b40]
cmp rax, 1
ja 0x14003cdd7
lea rcx, [0x1400b2b40]
call fcn.140035640
test al, al
je 0x14003cdd0
lea rsi, [0x1400b2b48]
mov rcx, rsi
call fcn.14001aae0
lea rcx, [0x1400b2b40]
mov rdx, rsi
xor r8d, r8d
mov r9, rcx
call fcn.1400356f0
jmp 0x14003cdd7
mov rax, qword [0x1400b2b40]
mov rdi, qword [0x1400b2b50]
test rdi, rdi
jne 0x14003cdfc
mov ecx, 0xe8
call fcn.140065764
mov rcx, rax
call fcn.14003ca80
mov rdi, qword [0x1400b2b50]
mov rsi, qword [r15 + 8]
mov qword [rsp + 0x30], rsi
test rsi, rsi
je 0x14003ce14
mov rcx, rsi
call fcn.140073720
jmp 0x14003ce16
xor eax, eax
mov qword [rsp + 0x38], rax
lea rbx, [rsp + 0x40]
lea r8, [rsp + 0x30]
mov rcx, rdi
mov rdx, rbx
call fcn.14003e6a0
mov rax, qword [rsp + 0x40]
mov rdi, qword [rax + 0x20]
test rdi, rdi
je 0x14003ce6a
cmp rdi, r15
je 0x14003d080
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r15, r15
je 0x14003ce62
mov rax, qword [r15]
mov rcx, r15
mov edx, 1
call qword [rax]
mov r15, rdi
jmp 0x14003d089
mov qword [rax + 0x20], r15
mov r13, qword [0x1400b2b50]
mov qword [rsp + 0x40], 0
movaps xmm0, xmmword [0x140092810]
movups xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x40], 0
mov rcx, rsi
call fcn.140073720
mov rdi, rax
cmp rax, 0xf
jbe 0x14003ceb2
lea rcx, [rsp + 0x40]
mov rdx, rdi
mov r9, rsi
call fcn.140004460
jmp 0x14003cecc
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x40]
mov rdx, rsi
mov r8, rdi
call fcn.1400675c0
mov byte [rsp + rdi + 0x40], 0
movabs rcx, 0xcbf29ce484222325
mov rax, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
mov qword [rsp + 0x20], rax
cmova rbx, rax
test rbp, rbp
mov qword [rsp + 0x28], rdx
je 0x14003cf1b
movabs rax, 0x100000001b3
lea rdx, [rbp - 1]
mov r8d, ebp
and r8d, 3
cmp rdx, 3
jae 0x14003cf20
xor edi, edi
jmp 0x14003cf68
mov rdx, rcx
jmp 0x14003cf97
mov rsi, rbp
and rsi, 0xfffffffffffffffc
xor edi, edi
nop dword [rax]
movzx edx, byte [rbx + rdi]
xor rdx, rcx
imul rdx, rax
movzx ecx, byte [rbx + rdi + 1]
xor rcx, rdx
imul rcx, rax
movzx edx, byte [rbx + rdi + 2]
xor rdx, rcx
imul rdx, rax
movzx ecx, byte [rbx + rdi + 3]
xor rcx, rdx
imul rcx, rax
add rdi, 4
cmp rsi, rdi
jne 0x14003cf30
mov rdx, rcx
test r8, r8
je 0x14003cf97
add rdi, rbx
xor esi, esi
nop word cs:[rax + rax]
nop
movzx edx, byte [rdi + rsi]
xor rdx, rcx
imul rdx, rax
add rsi, 1
mov rcx, rdx
cmp r8, rsi
jne 0x14003cf80
and rdx, qword [r13 + 0x70]
mov r14, qword [r13 + 0x48]
mov rax, qword [r13 + 0x58]
mov rcx, rdx
shl rcx, 4
mov rdi, qword [rax + rcx + 8]
cmp rdi, r14
je 0x14003d009
add rdx, rdx
mov rsi, qword [rax + rdx*8]
cmp rbp, qword [rdi + 0x20]
jne 0x14003cff3
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp qword [rdi + 0x28], 0xf
jbe 0x14003cfe0
mov rdx, qword [rdi + 0x10]
jmp 0x14003cfe4
lea rdx, [rdi + 0x10]
mov rcx, rbx
mov r8, rbp
call fcn.140068390
test eax, eax
je 0x14003d004
cmp rdi, rsi
je 0x14003d009
mov rdi, qword [rdi + 8]
cmp rbp, qword [rdi + 0x20]
je 0x14003cfd0
jmp 0x14003cff3
test rdi, rdi
jne 0x14003d00c
mov rdi, r14
mov rbp, qword [rsp + 0x28]
cmp rbp, 0x10
jb 0x14003d050
lea rdx, [rbp + 1]
cmp rdx, 0x1000
jb 0x14003d046
mov rcx, qword [rsp + 0x20]
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x14003d0b7
add rbp, 0x28
mov rdx, rbp
mov rcx, rax
jmp 0x14003d04b
mov rcx, qword [rsp + 0x20]
call fcn.1400659f8
mov rax, qword [0x1400b2b50]
cmp rdi, qword [rax + 0x48]
je 0x14003d080
cmp qword [rdi + 0x30], 0
je 0x14003d073
mov rcx, r15
mov edx, 0x20
call fcn.140040360
jmp 0x14003d080
mov rcx, r15
mov edx, 0x20
call fcn.140040370
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140065b10
mov rax, r15
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r12
call fcn.1400255c0
jmp 0x14003cd8d
call fcn.14006c06c
int3