Function at 0x1400a8140
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 + 0x2f], rax
mov r14, rdx
mov r15, rcx
xor r12d, r12d
mov dword [rbp + 0x1f], r12d
lea rdx, [rbp + 0x1f]
mov rcx, r14
call fcn.14009d6b0
mov ebx, dword [rbp + 0x1f]
test ebx, ebx
jns 0x1400a844b
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
lea r8d, [r12 + 5]
lea rdx, str.Utils
lea rcx, [rsp + 0x20]
call fcn.140004240
nop
mov dword [rbp - 0x19], 2
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x11]
call fcn.1400038d0
nop
mov rsi, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov qword [rbp + 0xf], rsi
cmp dword [rbp - 0x19], 4
jg 0x1400a82fe
mov rdi, qword [rbp - 1]
test rdi, rdi
je 0x1400a8257
cmp qword [0x140137680], r12
je 0x1400a8252
lea rdx, [rbp - 0x11]
cmp qword [rbp + 7], 0x10
cmovae rdx, qword [rbp - 0x11]
movabs r9, 0xcbf29ce484222325
mov ecx, r12d
test rdi, rdi
je 0x1400a8233
movabs r8, 0x100000001b3
nop
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r8
inc rcx
cmp rcx, rdi
jb 0x1400a8220
lea r8, [rbp - 0x11]
lea rdx, [rbp + 0x1f]
lea rcx, [0x140137670]
call fcn.140016da0
cmp qword [rax + 8], 0
je 0x1400a82fe
test rdi, rdi
jne 0x1400a8294
lea rdx, [rbp - 0x79]
lea rcx, [rbp - 0x19]
call fcn.1400b4880
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400a8273
mov rax, qword [rax]
mov rdx, rax
mov rcx, rsi
call fcn.140004f80
mov rcx, rax
lea rdx, [0x1400bbc98]
call fcn.140003f20
nop
lea rcx, [rbp - 0x79]
jmp 0x1400a82f8
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x19]
call fcn.1400b4880
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400a82b0
mov rax, qword [rax]
mov rdx, rax
mov rcx, rsi
call fcn.140004f80
lea rdx, [0x140101238]
mov rcx, rax
call fcn.140003f20
lea rdx, [rbp - 0x11]
cmp qword [rbp + 7], 0x10
cmovae rdx, qword [rbp - 0x11]
mov r8, qword [rbp - 1]
mov rcx, rax
call fcn.140004f80
mov rcx, rax
lea rdx, [0x1400bc2a0]
call fcn.140003f20
nop
lea rcx, [rbp - 0x59]
call fcn.140003b00
nop
lea rcx, [rbp - 0x19]
call fcn.1400b4ac0
test al, al
je 0x1400a831b
lea rdx, str.Assertion__
mov rcx, qword [rbp + 0xf]
call fcn.140003f20
lea rcx, [rbp - 0x19]
call fcn.1400b4ac0
test al, al
je 0x1400a8338
lea rdx, str.size___0
mov rcx, qword [rbp + 0xf]
call fcn.140003f20
lea rcx, [rbp - 0x19]
call fcn.1400b4ac0
test al, al
je 0x1400a8355
lea rdx, str.__failed_at
mov rcx, qword [rbp + 0xf]
call fcn.140003f20
lea rcx, [rbp - 0x19]
call fcn.1400b4ac0
test al, al
je 0x1400a8372
lea rdx, str.C:Userso2f4p0r9m0g4k2r1_source_reposl2mapconv2l2mapconv2utilsincutilsExtractionHelpers.h
mov rcx, qword [rbp + 0xf]
call fcn.140003f20
lea rcx, [rbp - 0x19]
call fcn.1400b4ac0
test al, al
je 0x1400a838f
lea rdx, [0x1400bc210]
mov rcx, qword [rbp + 0xf]
call fcn.140003f20
lea rcx, [rbp - 0x19]
call fcn.1400b4ac0
test al, al
je 0x1400a83ab
mov edx, 0x39
mov rcx, qword [rbp + 0xf]
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, [rbp - 0x19]
call fcn.1400b4ac0
test al, al
je 0x1400a83c8
lea rdx, [0x1400bc2a0]
mov rcx, qword [rbp + 0xf]
call fcn.140003f20
lea rcx, [rbp - 0x19]
call fcn.1400b4ac0
test al, al
je 0x1400a83e5
lea rdx, str.Size_cant_be_negative
mov rcx, qword [rbp + 0xf]
call fcn.140003f20
lea rcx, [rbp - 0x19]
call fcn.1400b4ac0
test al, al
je 0x1400a8437
mov rdi, qword [rbp + 0xf]
xor r8d, r8d
lea rdx, [rbp - 0x39]
call fcn.1400b4b50
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400a8411
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 - 0x39]
call fcn.140003b00
nop
lea rcx, [rbp - 0x11]
call fcn.140003b00
nop
lea rcx, [rsp + 0x20]
call fcn.140003b00
mov r9, qword [r15]
movsxd r8, ebx
mov rcx, qword [r9 + 0x10]
sub rcx, qword [r9]
movabs rax, 0x4924924924924925
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jbe 0x1400a8496
movabs rax, 0x492492492492492
cmp r8, rax
ja 0x1400a856b
mov rdx, r8
mov rcx, r9
call fcn.1400a85a0
test ebx, ebx
jle 0x1400a8540
mov rsi, rbx
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
mov qword [rbp - 9], r12
mov qword [rbp - 1], 0xf
mov byte [rbp - 0x19], 0
movdqu xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], r12
lea rdx, [rbp - 0x19]
mov rcx, r14
call fcn.14009d780
lea rcx, [rbp + 7]
mov qword [rbp + 0x1f], rcx
mov rdx, rax
lea rcx, [rbp + 0x1f]
call fcn.1400a3a10
mov rdi, qword [r15]
mov rbx, qword [rdi + 8]
cmp rbx, qword [rdi + 0x10]
je 0x1400a8514
mov qword [rbp + 0x1f], rbx
lea rdx, [rbp - 0x19]
mov rcx, rbx
call fcn.1400038d0
nop
lea rcx, [rbx + 0x20]
lea rdx, [rbp + 7]
call fcn.140003630
nop
add qword [rdi + 8], 0x38
jmp 0x1400a8524
lea r8, [rbp - 0x19]
mov rdx, rbx
mov rcx, rdi
call fcn.1400a8800
nop
lea rcx, [rbp + 7]
call fcn.140003a70
lea rcx, [rbp - 0x19]
call fcn.140003b00
sub rsi, 1
jne 0x1400a84a1
mov rax, r14
mov rcx, qword [rbp + 0x2f]
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