Function at 0x180013ac0
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, 0x48
movabs rax, 0x800000000000001
cmp rdx, rax
jae 0x180013e4b
mov rdi, rcx
dec rdx
movabs rax, 0xcf47e04995a2e21e
mov rcx, rdx
xor rcx, rax
mov r8, rdx
xor r8, 1
and rcx, r8
movabs r9, 0x4e00e0499100a000
and r9, rdx
movabs r10, 0x8147000004a2421f
and r10, r8
or r10, r9
xor r10, rcx
or rax, 1
and rax, rcx
or rax, r10
and edx, 1
movabs rcx, 0x56293e8d89efbbf1
and rcx, rax
xor rax, 1
movabs r8, 0xa9d6c1727610440e
or r8, rdx
and r8, rax
or rcx, r8
bsr rax, rcx
xor eax, 0x3f
mov dl, 0x40
sub dl, al
xor eax, eax
test rcx, rcx
movzx ecx, dl
cmove ecx, eax
mov esi, 1
shl rsi, cl
lea rax, [rdi + 0x18]
mov rbx, qword [rdi + 8]
mov edx, 2
shl rdx, cl
mov rcx, rax
mov r8, rbx
call fcn.180013080
lea rax, [rsi - 1]
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x38], rsi
mov rax, qword [rdi + 8]
mov r12, qword [rax]
cmp r12, rbx
je 0x180013e3a
mov rcx, rbx
mov rdx, rdi
movabs r15, 0x9ffefffffffdfef7
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x28], rbx
jmp 0x180013bed
mov qword [r13 + rbp*8], rdi
mov qword [r13 + r8*8], rdi
movabs r15, 0x9ffefffffffdfef7
cmp r12, rcx
je 0x180013e3a
mov rax, r12
cmp qword [r12 + 0x28], 0x10
jb 0x180013c00
mov rbx, qword [rax + 0x10]
jmp 0x180013c04
lea rbx, [rax + 0x10]
mov qword [rsp + 0x40], rax
mov r14, qword [rax + 0x20]
movabs rax, 0xcbf29ce484222325
test r14, r14
movabs rsi, 0x2094108118508048
movabs r13, 0x9a400a4c02881c90
movabs rbp, 0xbad41acd1ad89cd8
movabs r12, 0x100000001b3
movabs r11, 0x6001000000020108
je 0x180013cff
xor ecx, ecx
movabs r8, 0xcbf29ce484222325
nop
movzx eax, byte [rbx + rcx]
mov r9, rax
not r9
mov r10d, r9d
and r10d, 0x90
mov edx, eax
and edx, 0x6f
or edx, r10d
xor edx, r8d
xor edx, 0x90
and edx, eax
and r9, r11
and eax, 0xfffffff7
or rax, r9
xor r8, r11
xor r8, rax
xor rax, r15
and rax, r8
mov r8, rax
mov r9, rax
mov r10, rax
movabs rdi, 0x9e61ae5ca6a83c97
and r10, rdi
xor r10, rdx
xor rax, rdx
not rdx
not r8
mov rdi, rsi
movabs rsi, 0x410a412241074320
and r9, rsi
mov rsi, rdi
and rdx, r8
and r8, rdi
or r8, r9
or r8, r13
xor r10, rbp
xor r10, r8
or rax, rdx
not rax
or rax, r10
imul rax, r12
inc rcx
mov r8, rax
cmp r14, rcx
jne 0x180013c60
mov rdi, qword [rsp + 0x40]
mov r12, qword [rdi]
mov rdx, qword [rsp + 0x38]
and rax, qword [rdx + 0x30]
mov r13, qword [rdx + 0x18]
lea rbp, [rax + rax]
lea r8, [rax*2 + 1]
shl rax, 4
mov r15, qword [r13 + rax]
mov rcx, qword [rsp + 0x28]
cmp r15, rcx
je 0x180013bd0
mov rsi, qword [r13 + r8*8]
cmp r14, qword [rsi + 0x20]
jne 0x180013dc3
cmp qword [rsi + 0x28], 0x10
mov qword [rsp + 0x30], r8
jb 0x180013d58
mov rdx, qword [rsi + 0x10]
jmp 0x180013d5c
lea rdx, [rsi + 0x10]
mov rcx, rbx
mov r8, r14
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
mov r9, qword [rsp + 0x30]
jne 0x180013dc3
mov rax, qword [rsi]
cmp rax, rdi
je 0x180013d9b
mov rcx, qword [rdi + 8]
mov qword [rcx], r12
mov rdx, qword [r12 + 8]
mov qword [rdx], rax
mov r8, qword [rax + 8]
mov qword [r8], rdi
mov qword [rax + 8], rdx
mov qword [r12 + 8], rcx
mov qword [rdi + 8], r8
mov qword [r13 + r9*8], rdi
jmp 0x180013e30
mov rdx, qword [rsi + 0x10]
mov rcx, rbx
mov r8, r14
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x180013e0a
cmp r15, rsi
je 0x180013de0
mov rsi, qword [rsi + 8]
cmp r14, qword [rsi + 0x20]
jne 0x180013dc3
cmp qword [rsi + 0x28], 0x10
jae 0x180013db0
lea rdx, [rsi + 0x10]
jmp 0x180013db4
mov rax, qword [rdi + 8]
mov qword [rax], r12
mov rcx, qword [r12 + 8]
mov qword [rcx], r15
mov rdx, qword [r15 + 8]
mov qword [rdx], rdi
mov qword [r15 + 8], rcx
mov qword [r12 + 8], rax
mov qword [rdi + 8], rdx
mov qword [r13 + rbp*8], rdi
jmp 0x180013e30
mov rax, qword [rsi]
mov rcx, qword [rdi + 8]
mov qword [rcx], r12
mov rdx, qword [r12 + 8]
mov qword [rdx], rax
mov r8, qword [rax + 8]
mov qword [r8], rdi
mov qword [rax + 8], rdx
mov qword [r12 + 8], rcx
mov qword [rdi + 8], r8
mov rcx, qword [rsp + 0x28]
jmp 0x180013bda
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movabs rcx, 0xa7eafc9873f46d09
add rcx, qword [str.70_r_fi]
call fcn.180015270
lea rcx, [0x18001ffb2]
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3