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

Disassembly:
mov rax, rsp
push rbx
push r15
sub rsp, 0x88
mov qword [rax + 0x18], rsi
lea r8, [rcx + 8]
mov rsi, qword [rcx + 0x18]
mov r15, rcx
mov qword [rax - 0x18], rdi
mov qword [rax - 0x20], r12
mov qword [rax - 0x28], r14
mov r14, qword [rcx + 0x20]
cmp r14, 0xf
jbe 0x18000a406
mov r8, qword [rcx + 8]
xor ecx, ecx
movabs rdx, 0xcbf29ce484222325
test rsi, rsi
je 0x18000a435
movabs r9, 0x100000001b3
movzx eax, byte [r8 + rcx]
inc rcx
xor rdx, rax
imul rdx, r9
cmp rcx, rsi
jb 0x18000a421
mov rcx, qword [0x180014070]
mov rax, qword [0x180014058]
and rcx, rdx
mov r12, qword [0x180014040]
add rcx, rcx
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, r12
jne 0x18000a45e
xor ebx, ebx
jmp 0x18000a4b3
mov qword [rsp + 0xa8], rbp
mov rbp, qword [rax + rcx*8]
nop word [rax + rax]
cmp qword [rbx + 0x30], 0xf
lea rdx, [rbx + 0x18]
jbe 0x18000a47e
mov rdx, qword [rdx]
lea rcx, [r15 + 8]
cmp r14, 0xf
jbe 0x18000a48c
mov rcx, qword [r15 + 8]
cmp rsi, qword [rbx + 0x28]
jne 0x18000a49e
mov r8, rsi
call sub.VCRUNTIME140D.dll_memcmp
test eax, eax
je 0x18000a4ab
cmp rbx, rbp
je 0x18000a4a9
mov rbx, qword [rbx + 8]
jmp 0x18000a470
xor ebx, ebx
mov rbp, qword [rsp + 0xa8]
test rbx, rbx
lea r8, [0x180014038]
lea rcx, [rsp + 0x58]
cmovne r12, rbx
mov rdx, r12
call fcn.180005910
mov rdx, qword [0x180014040]
lea r8, [0x180014038]
lea rcx, [rsp + 0x40]
call fcn.180005910
mov rax, qword [rsp + 0x58]
mov r14, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0xb0]
test rax, rax
je 0x18000a50d
mov rax, qword [rax]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x18000a51c
mov rdx, qword [rcx]
jmp 0x18000a51e
xor edx, edx
cmp rax, rdx
je 0x18000a585
xor r9d, r9d
lea rax, str.list_iterators_incompatible
mov qword [rsp + 0x28], rax
lea rdx, [0x180010980]
lea rax, [0x18001035c]
mov r8d, 0xc2
mov qword [rsp + 0x20], rax
lea ecx, [r9 + 2]
call qword [sym.imp.ucrtbased.dll__CrtDbgReport]
cmp eax, 1
jne 0x18000a55b
int3
mov r9d, 0xc2
mov qword [rsp + 0x20], 0
lea r8, str.C:Program_Files__x86_Microsoft_Visual_Studio2022BuildToolsVCToolsMSVC14.39.33519includelist
lea rdx, [0x1800104a4]
lea rcx, str._list_iterators_incompatible_
call qword [sym.imp.ucrtbased.dll__invalid_parameter]
mov rax, qword [rsp + 0x50]
cmp qword [rsp + 0x68], rax
je 0x18000a5ae
mov r8, r15
lea rdx, [rsp + 0x30]
lea rcx, [0x180014030]
call fcn.180003f80
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x38]
jmp 0x18000a5b0
xor ebx, ebx
mov edx, 3
lea rcx, [rsp + 0xa0]
call qword [sym.imp.MSVCP140D.dll_public:_void___cdecl_std::_Lockit::constructor_int____ptr64]
lea rcx, [rsp + 0x40]
call fcn.180008e60
lea rcx, [rsp + 0xa0]
call qword [sym.imp.MSVCP140D.dll_public:_void___cdecl_std::_Lockit::destructor_void____ptr64]
mov edx, 3
lea rcx, [rsp + 0xa0]
call qword [sym.imp.MSVCP140D.dll_public:_void___cdecl_std::_Lockit::constructor_int____ptr64]
lea rcx, [rsp + 0x58]
call fcn.180008e60
lea rcx, [rsp + 0xa0]
call qword [sym.imp.MSVCP140D.dll_public:_void___cdecl_std::_Lockit::destructor_void____ptr64]
mov rcx, r15
call fcn.1800091a0
mov rcx, qword [r15]
mov edx, 0x10
mov qword [r15], 0
call fcn.18000d370
mov rax, rbx
add rsp, 0x88
pop r15
pop rbx
ret