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

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x47]
sub rsp, 0x100
mov qword [rbp - 0x59], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rax, qword [0x1401cd010]
xor rax, rsp
mov qword [rbp + 7], rax
mov r14, r9
mov rsi, r8
mov r15, rdx
xor r13d, r13d
mov dword [rsp + 0x40], r13d
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
nop dword [rax + rax]
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
lea rax, [rbx + 1]
mov r12, qword [rbp + 0x77]
cmp rax, qword [r12]
jge 0x140088a06
lea rdx, [rbp - 0x51]
mov rcx, qword [r14 + 8]
call fcn.14009e500
lea rdx, [0x140154b24]
lea rcx, [rbp - 0x51]
call fcn.140017a4c
mov rdx, qword [r14 + 0x10]
lea rcx, [rbp - 0x51]
call fcn.140017a4c
nop
lea rax, [0x14013cda0]
mov qword [rbp - 0x31], rax
lea rax, [0x140146ba0]
mov qword [rbp - 0x29], rax
movups xmm0, xmmword [rbp - 0x51]
movups xmmword [rbp - 0x21], xmm0
movups xmm1, xmmword [rbp - 0x41]
movups xmmword [rbp - 0x11], xmm1
movdqa xmm0, xmmword [0x140186820]
movdqu xmmword [rbp - 0x41], xmm0
mov byte [rbp - 0x51], r13b
mov word [rbp - 1], r13w
lea rcx, [0x14013c2b0]
mov qword [rsp + 0x58], rcx
lea rax, [0x140154ad8]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rbx
mov word [rsp + 0x70], r13w
mov rax, qword [r12]
mov qword [rbp - 0x79], rcx
lea rcx, str.Start
mov qword [rbp - 0x71], rcx
mov qword [rbp - 0x69], rax
mov word [rbp - 0x61], r13w
lea rax, [rbp - 0x31]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x79]
mov qword [rsp + 0x28], rax
call fcn.14008a394
mov ebx, 0x1000
mov rax, qword [rbp - 9]
cmp rax, 0x10
jb 0x140088992
inc rax
mov rcx, qword [rbp - 0x21]
mov rdx, rcx
cmp rax, rbx
jb 0x14008898b
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
jbe 0x14008898b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
movdqa xmm0, xmmword [0x140186820]
movdqu xmmword [rbp - 0x11], xmm0
mov byte [rbp - 0x21], r13b
mov rax, qword [rbp - 0x39]
cmp rax, 0x10
jb 0x1400889db
inc rax
mov rcx, qword [rbp - 0x51]
mov rdx, rcx
cmp rax, rbx
jb 0x1400889d4
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
jbe 0x1400889d4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
movdqa xmm0, xmmword [0x140186820]
movdqu xmmword [rbp - 0x41], xmm0
mov byte [rbp - 0x51], r13b
mov rcx, qword [0x1401cd740]
mov rax, qword [rcx]
mov edx, 0x26823c6
mov rax, qword [rax + 8]
call qword [case.0x1400ee2b6.0]
nop
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax + 0x20]
call qword [case.0x1400ee2b6.0]
movzx edi, byte [rbp + 0x6f]
mov ecx, 3
test al, al
cmovne edi, ecx
cmp dil, cl
sete r8b
test dil, dil
je 0x140088a4c
mov byte [rsp + 0x20], r8b
mov r9, r14
mov r8, rsi
lea rdx, [rsp + 0x48]
call 0x140088b40
mov ebx, 1
jmp 0x140088a5e
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.14008c08c
mov ebx, 2
mov rcx, rax
mov rax, qword [rax]
mov qword [rcx], r13
mov qword [rsp + 0x50], rax
test bl, 2
je 0x140088a91
and ebx, 0xfffffffd
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140088a91
mov qword [rsp + 0x40], r13
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ee2b6.0]
nop
test bl, 1
je 0x140088ab3
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140088ab3
mov qword [rsp + 0x48], r13
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ee2b6.0]
nop
mov ecx, 0x228
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rcx, rax
test rax, rax
je 0x140088b33
mov rax, qword [rbp + 0x7f]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
mov r9b, dil
lea r8, [rsp + 0x50]
mov rdx, r14
call fcn.14008b868
mov qword [r15], rax
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140088aff
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x10]
call qword [case.0x1400ee2b6.0]
nop
mov rax, r15
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.14012aa20
mov rbx, qword [rsp + 0x140]
nop word [rax + rax]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140129d58
nop
jmp 0x140088b3c
nop
nop
nop
nop
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x57]
sub rsp, 0xd0
mov qword [rbp - 0x39], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rax, qword [0x1401cd010]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov rdi, r9
mov r15, r8
mov qword [rbp - 0x51], r8
mov rbx, rdx
mov qword [rbp - 0x41], rdx
mov sil, byte [rbp + 0x7f]
mov byte [rsp + 0x30], sil
lea rcx, [0x1401d5e08]
mov qword [rbp - 0x79], rcx
xor r14d, r14d
mov qword [rbp - 0x71], r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [r14 + 1]
lock xadd dword [rbp - 0x71], eax
test eax, eax
jne 0x140088bc5
cmp dword [rbp - 0x6d], r14d
jne 0x140089032
call qword [sym.imp.MSVCP140.dll__Thrd_id]
mov dword [rbp - 0x6d], eax
cmp qword [0x1401d5de0], r14
jne 0x140088bf0
mov r8b, sil
mov rdx, r15
mov rcx, rbx
call fcn.14008c08c
jmp 0x140088ff6
mov r9d, 0x10
lea r8d, [r9 + 4]
lea rdx, [rbp - 9]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ui64toa_s]
lea rsi, [0x1401d5de8]
mov rax, rsi
cmp qword [0x1401d5e00], 0x10
cmovae rax, qword [0x1401d5de8]
xor r15d, r15d
mov qword [0x1401d5df8], r15
mov byte [rax], r15b
lea rdx, [rbp - 9]
mov rcx, rsi
call fcn.140017a4c
mov ebx, r15d
mov rax, qword [rdi + 8]
cmp qword [rax + 0x10], r15
jbe 0x140088c68
mov rax, qword [rax + 8]
mov rdx, qword [rax + rbx*8]
lea rcx, [0x1401d5de8]
call fcn.140017a4c
inc rbx
mov rax, qword [rdi + 8]
cmp rbx, qword [rax + 0x10]
jb 0x140088c47
mov rdx, qword [rdi + 0x10]
mov rcx, rsi
call fcn.140017a4c
mov rdx, rsi
cmp qword [0x1401d5e00], 0x10
cmovae rdx, qword [0x1401d5de8]
movabs r14, 0xcbf29ce484222325
mov rdi, r14
mov rcx, r15
movabs r8, 0x100000001b3
mov r12, qword [0x1401d5df8]
test r12, r12
je 0x140088cc0
movzx eax, byte [rcx + rdx]
xor rdi, rax
imul rdi, r8
inc rcx
cmp rcx, r12
jb 0x140088cad
and rdi, qword [0x1401d5d90]
add rdi, rdi
mov r13, qword [0x1401d5d78]
mov rbx, qword [r13 + rdi*8]
mov rsi, qword [0x1401d5d68]
cmp qword [r13 + rdi*8], rsi
jne 0x140088ce9
mov rax, rsi
jmp 0x140088cf1
mov rax, qword [r13 + rdi*8 + 8]
mov rax, qword [rax]
cmp rbx, rax
je 0x140088d8e
lea r15, [rbx + 0x10]
lea rdx, [0x1401d5de8]
cmp qword [0x1401d5e00], 0x10
cmovae rdx, qword [0x1401d5de8]
mov rax, qword [r15 + 0x10]
mov qword [rbp - 0x69], rax
mov rcx, r15
cmp qword [r15 + 0x18], 0x10
jb 0x140088d2a
mov rcx, qword [r15]
cmp rax, r12
jne 0x140088d40
mov r8, rax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140088d45
nop dword [rax + rax]
mov rbx, qword [rbx]
jmp 0x140088cdd
cmp qword [r15 + 0x18], 0x10
jb 0x140088d4f
mov r15, qword [r15]
lea rdi, [0x1401d5de8]
mov rcx, rdi
cmp qword [0x1401d5e00], 0x10
cmovae rcx, qword [0x1401d5de8]
cmp r12, qword [rbp - 0x69]
jne 0x140088d83
mov r8, r12
mov rdx, r15
call sub.VCRUNTIME140.dll_memcmp
xor r15d, r15d
test eax, eax
jne 0x140088d86
jmp 0x140088d89
xor r15d, r15d
mov rbx, rsi
mov rax, rbx
jmp 0x140088d9e
mov rbx, rsi
mov rax, rsi
xor r15d, r15d
lea rdi, [0x1401d5de8]
cmp rax, rsi
jne 0x140088e20
mov qword [rbp - 0x69], rdi
mov rbx, qword [rsi]
mov rdi, qword [rbx + 8]
lea rax, [rbp - 0x69]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov rdx, rbx
call fcn.14008a8ec
movabs rcx, 0x492492492492491
mov rdx, qword [0x1401d5d70]
sub rcx, rdx
cmp rcx, 1
jae 0x140088dea
lea rcx, str.list_T__too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
nop
inc rdx
mov qword [0x1401d5d70], rdx
mov qword [rbx + 8], rax
mov qword [rdi], rax
mov r9, qword [0x1401d5d68]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
lea rdx, [rbp - 0x29]
lea rcx, [0x1401d5d60]
call fcn.14008a670
mov rbx, qword [rbp - 0x29]
nop dword [rax]
lea rdi, [rbx + 0x30]
mov rax, qword [rdi]
test rax, rax
jne 0x140088fd3
lea ecx, [rax + 0x28]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x140089029
mov qword [rax + 0x20], r15
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r15
mov rbx, rax
lea rcx, [rbp - 0x31]
cmp rdi, rcx
je 0x140088e77
mov rbx, r15
mov rdx, qword [rdi]
mov qword [rdi], rax
test rdx, rdx
je 0x140088e85
call fcn.140089c14
mov rax, r15
test rax, rax
je 0x140088e85
mov rdx, rbx
call fcn.140089c14
nop
mov r8b, byte [rsp + 0x30]
mov rdx, qword [rbp - 0x51]
lea rcx, [rbp - 0x61]
call fcn.14008c08c
mov r8, qword [rdi]
mov rdx, qword [rax]
mov qword [rax], r15
mov rcx, qword [r8]
mov qword [r8], rdx
test rcx, rcx
je 0x140088eb9
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ee2b6.0]
nop
mov rcx, qword [rbp - 0x61]
test rcx, rcx
je 0x140088ed4
mov qword [rbp - 0x61], r15
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ee2b6.0]
nop
mov r15, qword [rdi]
mov r8, qword [r15]
mov qword [rbp - 0x59], r8
xor ecx, ecx
movabs rdx, 0x100000001b3
movzx eax, byte [rbp + rcx - 0x59]
xor r14, rax
imul r14, rdx
inc rcx
cmp rcx, 8
jb 0x140088eea
and r14, qword [0x1401d5dd0]
add r14, r14
mov r9, qword [0x1401d5db8]
mov rax, qword [r9 + r14*8]
mov rdx, qword [0x1401d5da8]
cmp qword [r9 + r14*8], rdx
jne 0x140088f26
mov rcx, rdx
jmp 0x140088f2e
mov rcx, qword [r9 + r14*8 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x140088f43
cmp qword [rax + 0x10], r8
je 0x140088f3e
mov rax, qword [rax]
jmp 0x140088f1b
mov rcx, rax
jmp 0x140088f49
mov rax, rdx
mov rcx, rdx
cmp rcx, rdx
jne 0x140088fcc
lea rax, [rbp - 0x59]
mov qword [rbp - 0x49], rax
mov rbx, qword [rdx]
mov rsi, qword [rbx + 8]
lea rax, [rbp - 0x49]
mov qword [rsp + 0x20], rax
mov r8, rsi
mov rdx, rbx
call fcn.14008a8c8
movabs rcx, 0x7fffffffffffffe
mov rdx, qword [0x1401d5db0]
sub rcx, rdx
cmp rcx, 1
jae 0x140088f99
lea rcx, str.list_T__too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
nop
inc rdx
mov qword [0x1401d5db0], rdx
mov qword [rbx + 8], rax
mov qword [rsi], rax
mov r9, qword [0x1401d5da8]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
lea rdx, [rbp - 0x19]
lea rcx, [0x1401d5da0]
call fcn.14000c404
mov rax, qword [rbp - 0x19]
mov qword [rax + 0x18], r15
mov rax, qword [rdi]
inc dword [rax + 0x20]
mov rax, qword [rdi]
mov rcx, qword [rax]
mov rbx, qword [rbp - 0x41]
mov qword [rbx], rcx
test rcx, rcx
je 0x140088ff6
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400ee2b6.0]
nop
lea rcx, [rbp - 0x79]
call fcn.14000ba40
mov rax, rbx
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.14012aa20
mov rbx, qword [rsp + 0x110]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140129d58
nop
jmp 0x140089031
nop
xor edx, edx
mov ecx, 0x131f4c4
call fcn.14000ad28
nop
jmp 0x140089042
nop
nop