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

Disassembly:
mov rax, rsp
push rbp
mov rbp, rsp
sub rsp, 0x80
mov qword [rbp - 0x60], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
mov rax, qword [0x1405420e0]
xor rax, rsp
mov qword [rbp - 8], rax
mov rbx, rdx
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str.p76_]
lea rcx, [0x1405429d0]
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rcx, qword [0x1405429d0]
mov rdx, rax
cmp qword [rax + 0x18], 8
jb 0x1401c12db
mov rdx, qword [rax]
mov rax, qword [rax + 0x10]
xor r14d, r14d
cmp rax, qword [0x1405429e0]
jne 0x1401c146d
test rax, rax
je 0x1401c1334
movzx r8d, word [rdx]
movzx r9d, word [rcx]
cmp r8w, r9w
jb 0x1401c146d
sub rdx, rcx
cmp r8w, r9w
ja 0x1401c146d
cmp rax, 1
je 0x1401c1334
dec rax
add rcx, 2
movzx r8d, word [rdx + rcx]
movzx r9d, word [rcx]
cmp r8w, r9w
jae 0x1401c130d
jmp 0x1401c146d
mov rax, qword [rbx]
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1401c1348
lock inc dword [rdi + 8]
mov rdi, qword [rbx + 8]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rdi
mov rdx, qword [rax + 0x80]
test rdx, rdx
je 0x1401c142f
mov r8, qword [rax + 0xa0]
test r8, r8
je 0x1401c142f
add r8, 0x10
add rdx, 0x10
lea rcx, [rbp - 0x28]
call fcn.14007a424
lea r8, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae r8, qword [rbp - 0x28]
movabs rbx, 0xcbf29ce484222325
mov rdx, r8
mov rax, qword [rbp - 0x18]
lea r9, [rax + rax]
lea rax, [r9 + r8]
cmp r8, rax
cmova r9, r14
test r9, r9
je 0x1401c13d6
movabs rcx, 0x100000001b3
movzx eax, byte [rdx]
xor rbx, rax
imul rbx, rcx
inc rdx
mov rax, rdx
sub rax, r8
cmp rax, r9
jne 0x1401c13be
lea rcx, [rbp - 0x28]
call fcn.140055f70
nop
test rdi, rdi
je 0x1401c14ec
or eax, 0xffffffff
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x1401c14ec
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax]
call qword [str.p76_]
or eax, 0xffffffff
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x1401c14ec
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [str.p76_]
jmp 0x1401c14ec
test rdi, rdi
je 0x1401c146d
or eax, 0xffffffff
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x1401c146d
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax]
call qword [str.p76_]
or eax, 0xffffffff
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x1401c146d
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [str.p76_]
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], 7
mov word [rbp - 0x48], r14w
lea rdx, [0x1403cb630]
lea rcx, [rbp - 0x48]
call fcn.140055574
lea r8, [rbp - 0x48]
cmp qword [rbp - 0x30], 8
cmovae r8, qword [rbp - 0x48]
movabs rbx, 0xcbf29ce484222325
mov rdx, r8
mov rax, qword [rbp - 0x38]
lea r9, [rax + rax]
lea rax, [r9 + r8]
cmp r8, rax
cmova r9, r14
test r9, r9
je 0x1401c14e3
movabs rcx, 0x100000001b3
movzx eax, byte [rdx]
xor rbx, rax
imul rbx, rcx
inc rdx
mov rax, rdx
sub rax, r8
cmp rax, r9
jne 0x1401c14cb
lea rcx, [rbp - 0x48]
call fcn.140055f70
mov rax, rbx
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140356560
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret