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

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
mov eax, 0x78
call fcn.14024eae0
sub rsp, rax
and dword [rbp - 0x50], 0
mov rsi, rcx
and dword [rbp - 0x4c], 0
add rcx, 0x270
mov qword [rbp - 0x58], rcx
mov r15, rdx
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, 1
lock xadd dword [rbp - 0x50], eax
inc eax
cmp eax, 1
jne 0x1401fd4ab
cmp dword [rbp - 0x4c], 0
jne 0x1401fd8f1
call qword [sym.imp.MSVCP140.dll__Thrd_id]
mov dword [rbp - 0x4c], eax
mov rdi, qword [rsi + 0x10]
mov rbx, qword [rdi]
jmp 0x1401fd52c
mov r12, qword [rbx + 0x20]
mov r14, qword [rbx + 0x18]
mov qword [rbp - 0x48], r15
mov qword [rbp + 0x60], r15
jmp 0x1401fd4da
mov rdx, r14
lea rcx, [rbp + 0x60]
call fcn.14020003c
test al, al
jne 0x1401fd4df
add r14, 0x10
cmp r14, r12
jne 0x1401fd4c6
cmp r14, r12
je 0x1401fd516
lea r15, [r14 + 0x10]
cmp r15, r12
je 0x1401fd512
mov rdx, r15
lea rcx, [rbp - 0x48]
call fcn.14020003c
test al, al
jne 0x1401fd50c
mov rdx, r15
mov rcx, r14
call fcn.140024b8c
add r14, 0x10
add r15, 0x10
jmp 0x1401fd4e8
mov r15, qword [rbp + 0x50]
mov r9, r12
lea rdx, [rbp - 0x20]
mov r8, r14
lea rcx, [rbx + 0x18]
call fcn.1401996ac
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x1401fd4b4
mov rax, qword [rsi + 0x10]
movabs r14, 0xcbf29ce484222325
movabs r12, 0x100000001b3
mov rbx, qword [rax]
cmp rbx, rax
je 0x1401fd5eb
mov rax, qword [rbx + 0x20]
mov rdi, qword [rbx]
cmp qword [rbx + 0x18], rax
jne 0x1401fd5de
mov rcx, r14
xor edx, edx
movzx eax, byte [rbx + rdx + 0x10]
inc rdx
xor rcx, rax
imul rcx, r12
cmp rdx, 4
jb 0x1401fd567
mov rax, qword [rsi + 0x38]
and rax, rcx
mov rcx, qword [rsi + 0x20]
add rax, rax
cmp qword [rcx + rax*8 + 8], rbx
jne 0x1401fd5ac
cmp qword [rcx + rax*8], rbx
jne 0x1401fd5a1
mov rdx, qword [rsi + 0x10]
mov qword [rcx + rax*8], rdx
jmp 0x1401fd5a5
mov rdx, qword [rbx + 8]
mov qword [rcx + rax*8 + 8], rdx
jmp 0x1401fd5b6
cmp qword [rcx + rax*8], rbx
jne 0x1401fd5b6
mov qword [rcx + rax*8], rdi
mov rdx, qword [rbx]
lea rcx, [rbx + 0x18]
dec qword [rsi + 0x18]
mov rax, qword [rbx + 8]
mov qword [rax], rdx
mov rax, qword [rbx + 8]
mov qword [rdx + 8], rax
call fcn.140023378
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbx, rdi
cmp rdi, qword [rsi + 0x10]
jne 0x1401fd555
mov rdi, qword [rsi + 0x50]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x1401fd68c
mov r12, qword [rbx + 0x20]
mov r14, qword [rbx + 0x18]
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x40], r15
jmp 0x1401fd621
mov rdx, r14
lea rcx, [rbp - 0x40]
call fcn.14020003c
test al, al
jne 0x1401fd626
add r14, 0x10
cmp r14, r12
jne 0x1401fd60d
cmp r14, r12
je 0x1401fd65d
lea r15, [r14 + 0x10]
cmp r15, r12
je 0x1401fd659
mov rdx, r15
lea rcx, [rbp - 0x38]
call fcn.14020003c
test al, al
jne 0x1401fd653
mov rdx, r15
mov rcx, r14
call fcn.140024b8c
add r14, 0x10
add r15, 0x10
jmp 0x1401fd62f
mov r15, qword [rbp + 0x50]
mov r9, r12
lea rdx, [rbp - 0x18]
mov r8, r14
lea rcx, [rbx + 0x18]
call fcn.1401996ac
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x1401fd5fb
movabs r14, 0xcbf29ce484222325
movabs r12, 0x100000001b3
mov rax, qword [rsi + 0x50]
mov rbx, qword [rax]
cmp rbx, rax
je 0x1401fd74e
mov rax, qword [rbx + 0x20]
mov rdi, qword [rbx]
cmp qword [rbx + 0x18], rax
jne 0x1401fd741
mov eax, dword [rbx + 0x10]
mov rdx, r14
mov dword [rbp + 0x48], eax
xor ecx, ecx
movzx eax, byte [rbp + rcx + 0x48]
inc rcx
xor rdx, rax
imul rdx, r12
cmp rcx, 4
jb 0x1401fd6b8
movzx eax, byte [rbx + 0x14]
imul rcx, rdx, 0x18d
mov rdx, qword [rsi + 0x60]
xor rax, r14
imul rax, r12
xor rcx, rax
and rcx, qword [rsi + 0x78]
add rcx, rcx
cmp qword [rdx + rcx*8 + 8], rbx
jne 0x1401fd70f
cmp qword [rdx + rcx*8], rbx
jne 0x1401fd704
mov rax, qword [rsi + 0x50]
mov qword [rdx + rcx*8], rax
jmp 0x1401fd708
mov rax, qword [rbx + 8]
mov qword [rdx + rcx*8 + 8], rax
jmp 0x1401fd719
cmp qword [rdx + rcx*8], rbx
jne 0x1401fd719
mov qword [rdx + rcx*8], rdi
mov rdx, qword [rbx]
lea rcx, [rbx + 0x18]
dec qword [rsi + 0x58]
mov rax, qword [rbx + 8]
mov qword [rax], rdx
mov rax, qword [rbx + 8]
mov qword [rdx + 8], rax
call fcn.140023378
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbx, rdi
cmp rdi, qword [rsi + 0x50]
jne 0x1401fd69c
mov rdi, qword [rsi + 0x90]
mov rbx, qword [rdi]
jmp 0x1401fd7d2
mov r12, qword [rbx + 0x20]
mov r14, qword [rbx + 0x18]
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x30], r15
jmp 0x1401fd780
mov rdx, r14
lea rcx, [rbp - 0x30]
call fcn.14020003c
test al, al
jne 0x1401fd785
add r14, 0x10
cmp r14, r12
jne 0x1401fd76c
cmp r14, r12
je 0x1401fd7bc
lea r15, [r14 + 0x10]
cmp r15, r12
je 0x1401fd7b8
mov rdx, r15
lea rcx, [rbp - 0x28]
call fcn.14020003c
test al, al
jne 0x1401fd7b2
mov rdx, r15
mov rcx, r14
call fcn.140024b8c
add r14, 0x10
add r15, 0x10
jmp 0x1401fd78e
mov r15, qword [rbp + 0x50]
mov r9, r12
lea rdx, [rbp - 0x10]
mov r8, r14
lea rcx, [rbx + 0x18]
call fcn.1401996ac
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x1401fd75a
mov rax, qword [rsi + 0x90]
mov rbx, qword [rax]
cmp rbx, rax
je 0x1401fd890
movabs r14, 0xcbf29ce484222325
movabs r15, 0x100000001b3
mov rcx, qword [rbx + 0x20]
mov rdi, qword [rbx]
cmp qword [rbx + 0x18], rcx
jne 0x1401fd87d
movzx ecx, byte [rbx + 0x10]
mov rdx, qword [rsi + 0xb8]
xor rcx, r14
imul rcx, r15
and rdx, rcx
mov rcx, qword [rsi + 0xa0]
add rdx, rdx
cmp qword [rcx + rdx*8 + 8], rbx
jne 0x1401fd848
cmp qword [rcx + rdx*8], rbx
jne 0x1401fd83d
mov qword [rcx + rdx*8], rax
jmp 0x1401fd841
mov rax, qword [rbx + 8]
mov qword [rcx + rdx*8 + 8], rax
jmp 0x1401fd852
cmp qword [rcx + rdx*8], rbx
jne 0x1401fd852
mov qword [rcx + rdx*8], rdi
mov rdx, qword [rbx]
lea rcx, [rbx + 0x18]
dec qword [rsi + 0x98]
mov rax, qword [rbx + 8]
mov qword [rax], rdx
mov rax, qword [rbx + 8]
mov qword [rdx + 8], rax
call fcn.140023378
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rsi + 0x90]
mov rbx, rdi
cmp rdi, rax
jne 0x1401fd7fe
mov eax, dword [rbp - 0x50]
test eax, eax
je 0x1401fd8c2
or eax, 0xffffffff
lock xadd dword [rbp - 0x50], eax
cmp eax, 1
jne 0x1401fd8b3
call qword [sym.imp.MSVCP140.dll__Thrd_id]
cmp dword [rbp - 0x4c], eax
jne 0x1401fd8fe
and dword [rbp - 0x4c], 0
mov rcx, qword [rbp - 0x58]
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1401fd890
cmp dword [rbp - 0x4c], 0
je 0x1401fd8d3
call qword [sym.imp.MSVCP140.dll__Thrd_id]
cmp dword [rbp - 0x4c], eax
jne 0x1401fd8e4
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor edx, edx
mov ecx, 0x131f4c3
call fcn.1400b3928
int3
xor edx, edx
mov ecx, 0x131f4c4
call fcn.1400b3928
int3
xor edx, edx
mov ecx, 0x131f4c5
call fcn.1400b3928
int3