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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xf0
mov rax, qword [0x140137010]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rsi, rdx
mov r14, rcx
xor r12d, r12d
mov dword [rbp + 0x17], r12d
lea rdx, [rbp + 0x17]
mov rcx, rsi
call fcn.14009d6b0
mov ebx, dword [rbp + 0x17]
test ebx, ebx
jns 0x1400a3d2b
xorps xmm0, xmm0
movups xmmword [rbp - 9], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 7], xmm1
lea r8d, [r12 + 5]
lea rdx, str.Utils
lea rcx, [rbp - 9]
call fcn.140004240
nop
mov dword [rsp + 0x20], 2
lea rdx, [rbp - 9]
lea rcx, [rsp + 0x28]
call fcn.1400038d0
nop
mov r15, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov qword [rbp - 0x71], r15
cmp dword [rsp + 0x20], 4
jg 0x1400a3bd5
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x1400a3b29
cmp qword [0x140137680], r12
je 0x1400a3b24
lea rdx, [rsp + 0x28]
cmp qword [rbp - 0x79], 0x10
cmovae rdx, qword [rsp + 0x28]
movabs r9, 0xcbf29ce484222325
mov ecx, r12d
test rdi, rdi
je 0x1400a3b04
movabs r8, 0x100000001b3
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r8
inc rcx
cmp rcx, rdi
jb 0x1400a3af1
lea r8, [rsp + 0x28]
lea rdx, [rbp + 0x17]
lea rcx, [0x140137670]
call fcn.140016da0
cmp qword [rax + 8], 0
je 0x1400a3bd5
test rdi, rdi
jne 0x1400a3b67
lea rdx, [rbp - 0x69]
lea rcx, [rsp + 0x20]
call fcn.1400b4880
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400a3b46
mov rax, qword [rax]
mov rdx, rax
mov rcx, r15
call fcn.140004f80
mov rcx, rax
lea rdx, [0x1400bbc98]
call fcn.140003f20
nop
lea rcx, [rbp - 0x69]
jmp 0x1400a3bcf
lea rdx, [rbp - 0x49]
lea rcx, [rsp + 0x20]
call fcn.1400b4880
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400a3b84
mov rax, qword [rax]
mov rdx, rax
mov rcx, r15
call fcn.140004f80
lea rdx, [0x140101238]
mov rcx, rax
call fcn.140003f20
lea rdx, [rsp + 0x28]
cmp qword [rbp - 0x79], 0x10
cmovae rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x38]
mov rcx, rax
call fcn.140004f80
mov rcx, rax
lea rdx, [0x1400bc2a0]
call fcn.140003f20
nop
lea rcx, [rbp - 0x49]
call fcn.140003b00
nop
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x1400a3bf3
lea rdx, str.Assertion__
mov rcx, qword [rbp - 0x71]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x1400a3c11
lea rdx, str.size___0
mov rcx, qword [rbp - 0x71]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x1400a3c2f
lea rdx, str.__failed_at
mov rcx, qword [rbp - 0x71]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x1400a3c4d
lea rdx, str.C:Userso2f4p0r9m0g4k2r1_source_reposl2mapconv2l2mapconv2utilsincutilsExtractionHelpers.h
mov rcx, qword [rbp - 0x71]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x1400a3c6b
lea rdx, [0x1400bc210]
mov rcx, qword [rbp - 0x71]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x1400a3c88
mov edx, 0x39
mov rcx, qword [rbp - 0x71]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x1400a3ca6
lea rdx, [0x1400bc2a0]
mov rcx, qword [rbp - 0x71]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x1400a3cc4
lea rdx, str.Size_cant_be_negative
mov rcx, qword [rbp - 0x71]
call fcn.140003f20
lea rcx, [rsp + 0x20]
call fcn.1400b4ac0
test al, al
je 0x1400a3d17
mov rdi, qword [rbp - 0x71]
xor r8d, r8d
lea rdx, [rbp - 0x29]
call fcn.1400b4b50
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400a3cf1
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.140004f80
lea rdx, [0x140003e00]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x29]
call fcn.140003b00
nop
lea rcx, [rsp + 0x28]
call fcn.140003b00
nop
lea rcx, [rbp - 9]
call fcn.140003b00
mov rcx, qword [r14]
movsxd rdx, ebx
mov rax, qword [rcx + 0x10]
sub rax, qword [rcx]
sar rax, 5
cmp rdx, rax
jbe 0x1400a3d59
movabs rax, 0x7ffffffffffffff
cmp rdx, rax
ja 0x1400a3e23
call fcn.1400a4b70
test ebx, ebx
jle 0x1400a3df8
lea rax, [rbp - 9]
mov qword [rbp + 0x17], rax
mov rdi, rbx
nop dword [rax]
xorps xmm0, xmm0
movups xmmword [rbp - 9], xmm0
mov qword [rbp + 7], r12
mov qword [rbp + 0xf], 0xf
mov byte [rbp - 9], 0
mov rdx, rsi
lea rcx, [rbp + 0x17]
call fcn.14009dfd0
mov rcx, qword [rbp + 7]
test rcx, rcx
je 0x1400a3db5
dec rcx
lea rax, [rbp - 9]
cmp qword [rbp + 0xf], 0x10
cmovae rax, qword [rbp - 9]
mov qword [rbp + 7], rcx
mov byte [rax + rcx], 0
mov rbx, qword [r14]
mov rax, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
je 0x1400a3dd5
lea rdx, [rbp - 9]
mov rcx, rax
call fcn.1400038d0
add qword [rbx + 8], 0x20
jmp 0x1400a3de5
lea r8, [rbp - 9]
mov rdx, rax
mov rcx, rbx
call fcn.1400a5020
nop
lea rcx, [rbp - 9]
call fcn.140003b00
sub rdi, 1
jne 0x1400a3d70
mov rax, rsi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1400b5770
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.140004a40
int3