Function at 0x1400c7608
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 [0x1401d3050]
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 word [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 0x1400c74de
lea rdx, [rbp - 0x51]
mov rcx, qword [r14 + 8]
call fcn.140051650
lea r8d, [r13 + 1]
lea rdx, [0x14015a430]
lea rcx, [rbp - 0x51]
call fcn.140005c30
mov rdx, qword [r14 + 0x10]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], r13b
jne 0x1400c7387
lea rcx, [rbp - 0x51]
call fcn.140005c30
nop
lea rax, [0x14012d938]
mov qword [rbp - 0x31], rax
lea rax, [0x140137338]
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 [0x14017f2d0]
movdqu xmmword [rbp - 0x41], xmm0
mov byte [rbp - 0x51], r13b
mov word [rbp - 1], r13w
lea rcx, [0x14012d318]
mov qword [rsp + 0x58], rcx
lea rax, [0x1401680e0]
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.1400c8bac
mov ebx, 0x1000
mov rax, qword [rbp - 9]
cmp rax, 0x10
jb 0x1400c7477
inc rax
mov rcx, qword [rbp - 0x21]
mov rdx, rcx
cmp rax, rbx
jb 0x1400c7470
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
jbe 0x1400c7470
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
nop dword [rax]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
movdqa xmm0, xmmword [0x14017f2d0]
movdqu xmmword [rbp - 0x11], xmm0
mov byte [rbp - 0x21], r13b
mov rax, qword [rbp - 0x39]
cmp rax, 0x10
jb 0x1400c74c0
inc rax
mov rcx, qword [rbp - 0x51]
mov rdx, rcx
cmp rax, rbx
jb 0x1400c74b9
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
jbe 0x1400c74b9
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
mov rax, qword [0x1401d3d78]
mov edx, 0x26823c6
lea rcx, [0x1401d3d78]
mov rax, qword [rax + 8]
call qword [case.0x140007d11.0]
nop
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax + 0x20]
call qword [case.0x140007d11.0]
mov cl, al
neg al
sbb dil, dil
and dil, 3
test cl, cl
setne r8b
test cl, cl
je 0x1400c751f
mov byte [rsp + 0x20], r8b
mov r9, r14
mov r8, rsi
lea rdx, [rsp + 0x48]
call 0x1400c7608
mov ebx, 1
jmp 0x1400c7531
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.1400ca36c
mov ebx, 2
mov rcx, rax
mov rax, qword [rax]
mov qword [rcx], r13
mov qword [rsp + 0x50], rax
test bl, 2
je 0x1400c7564
and ebx, 0xfffffffd
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400c7564
mov qword [rsp + 0x40], r13
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140007d11.0]
nop
test bl, 1
je 0x1400c7586
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1400c7586
mov qword [rsp + 0x48], r13
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140007d11.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 0x1400c75fc
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.1400c9c28
mov qword [r15], rax
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400c75d2
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x10]
call qword [case.0x140007d11.0]
nop
mov rax, r15
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.140118d00
mov rbx, qword [rsp + 0x140]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400ecb00
nop
jmp 0x1400c7604
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 [0x1401d3050]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov rsi, r9
mov r15, r8
mov qword [rbp - 0x51], r8
mov r13, rdx
mov qword [rbp - 0x41], rdx
mov bl, byte [rbp + 0x7f]
mov byte [rsp + 0x30], bl
lea rcx, [0x1401e3808]
mov qword [rbp - 0x79], rcx
xor edi, edi
mov qword [rbp - 0x71], rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [rdi + 1]
lock xadd dword [rbp - 0x71], eax
test eax, eax
jne 0x1400c7688
cmp dword [rbp - 0x6d], edi
jne 0x1400c7b15
call qword [sym.imp.MSVCP140.dll__Thrd_id]
mov dword [rbp - 0x6d], eax
cmp qword [0x1401e37e0], rdi
jne 0x1400c76a4
mov r8b, bl
mov rdx, r15
mov rcx, r13
call fcn.1400ca36c
jmp 0x1400c7ad9
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
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 r15, [0x1401e37e8]
mov rax, r15
cmp qword [0x1401e3800], 0x10
cmovae rax, qword [0x1401e37e8]
xor r13d, r13d
mov qword [0x1401e37f8], r13
mov byte [rax], r13b
lea rax, [rbp - 9]
or rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], r13b
jne 0x1400c76ed
lea rdx, [rbp - 9]
mov rcx, r15
call fcn.140005c30
mov rax, qword [rsi + 8]
cmp qword [rax + 0x10], r13
jbe 0x1400c7739
mov rax, qword [rax + 8]
mov rdx, qword [rax + rdi*8]
mov r8, rbx
inc r8
cmp byte [rdx + r8], r13b
jne 0x1400c7717
lea rcx, [0x1401e37e8]
call fcn.140005c30
inc rdi
mov rax, qword [rsi + 8]
cmp rdi, qword [rax + 0x10]
jb 0x1400c770c
mov rdx, qword [rsi + 0x10]
inc rbx
cmp byte [rdx + rbx], r13b
jne 0x1400c773d
mov r8, rbx
mov rcx, r15
call fcn.140005c30
mov rdx, r15
cmp qword [0x1401e3800], 0x10
cmovae rdx, qword [0x1401e37e8]
movabs r14, 0xcbf29ce484222325
mov rdi, r14
mov rcx, r13
movabs r8, 0x100000001b3
cmp qword [0x1401e37f8], r13
jbe 0x1400c779e
movzx eax, byte [rcx + rdx]
xor rdi, rax
imul rdi, r8
inc rcx
cmp rcx, qword [0x1401e37f8]
jb 0x1400c7787
and rdi, qword [0x1401e3790]
add rdi, rdi
mov r12, qword [0x1401e3778]
mov rbx, qword [r12 + rdi*8]
mov rsi, qword [0x1401e3768]
cmp qword [r12 + rdi*8], rsi
jne 0x1400c77c5
mov rax, rsi
jmp 0x1400c77cd
mov rax, qword [r12 + rdi*8 + 8]
mov rax, qword [rax]
cmp rbx, rax
je 0x1400c7868
lea r15, [rbx + 0x10]
lea rdx, [0x1401e37e8]
cmp qword [0x1401e3800], 0x10
cmovae rdx, qword [0x1401e37e8]
mov r13, qword [r15 + 0x10]
mov rcx, r15
cmp qword [r15 + 0x18], 0x10
jb 0x1400c7802
mov rcx, qword [r15]
cmp r13, qword [0x1401e37f8]
jne 0x1400c7817
mov r8, r13
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400c781c
mov rbx, qword [rbx]
jmp 0x1400c77ba
cmp qword [r15 + 0x18], 0x10
jb 0x1400c7826
mov r15, qword [r15]
lea rdi, [0x1401e37e8]
mov rcx, rdi
cmp qword [0x1401e3800], 0x10
cmovae rcx, qword [0x1401e37e8]
mov r8, qword [0x1401e37f8]
cmp r8, r13
jne 0x1400c785d
mov rdx, r15
call sub.VCRUNTIME140.dll_memcmp
xor r13d, r13d
test eax, eax
jne 0x1400c7860
jmp 0x1400c7863
xor r13d, r13d
mov rbx, rsi
mov rax, rbx
jmp 0x1400c7878
mov rbx, rsi
mov rax, rsi
xor r13d, r13d
lea rdi, [0x1401e37e8]
cmp rax, rsi
jne 0x1400c7901
mov qword [rbp - 0x59], rdi
mov rbx, qword [rsi]
mov rdi, qword [rbx + 8]
lea rax, [rbp - 0x59]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov rdx, rbx
call fcn.1400c9098
movabs rcx, 0x492492492492491
mov rdx, qword [0x1401e3770]
sub rcx, rdx
cmp rcx, 1
jae 0x1400c78ce
nop word [rax + rax]
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 [0x1401e3770], rdx
mov qword [rbx + 8], rax
mov qword [rdi], rax
mov r9, qword [0x1401e3768]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
lea rdx, [rbp - 0x29]
lea rcx, [0x1401e3760]
call fcn.1400c8e30
mov rbx, qword [rbp - 0x29]
lea rdi, [rbx + 0x30]
mov rax, qword [rdi]
test rax, rax
jne 0x1400c7ab5
lea ecx, [rax + 0x28]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x1400c7b0c
mov qword [rax + 0x20], r13
mov qword [rax], r13
mov qword [rax + 8], r13
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], r13
mov rbx, rax
lea rcx, [rbp - 0x31]
cmp rdi, rcx
je 0x1400c7958
mov rbx, r13
mov rdx, qword [rdi]
mov qword [rdi], rax
test rdx, rdx
je 0x1400c7966
call fcn.1400c83b8
mov rax, r13
test rax, rax
je 0x1400c7966
mov rdx, rbx
call fcn.1400c83b8
nop
mov r8b, byte [rsp + 0x30]
mov rdx, qword [rbp - 0x51]
lea rcx, [rbp - 0x69]
call fcn.1400ca36c
mov r8, qword [rdi]
mov rdx, qword [rax]
mov qword [rax], r13
mov rcx, qword [r8]
mov qword [r8], rdx
test rcx, rcx
je 0x1400c799a
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140007d11.0]
nop
mov rcx, qword [rbp - 0x69]
test rcx, rcx
je 0x1400c79b5
mov qword [rbp - 0x69], r13
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140007d11.0]
nop
mov r15, qword [rdi]
mov r8, qword [r15]
mov qword [rbp - 0x61], r8
mov rcx, r13
movabs rdx, 0x100000001b3
movzx eax, byte [rbp + rcx - 0x61]
xor r14, rax
imul r14, rdx
inc rcx
cmp rcx, 8
jb 0x1400c79cc
and r14, qword [0x1401e37d0]
add r14, r14
mov r9, qword [0x1401e37b8]
mov rax, qword [r9 + r14*8]
mov rdx, qword [0x1401e37a8]
cmp qword [r9 + r14*8], rdx
jne 0x1400c7a08
mov rcx, rdx
jmp 0x1400c7a10
mov rcx, qword [r9 + r14*8 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x1400c7a25
cmp qword [rax + 0x10], r8
je 0x1400c7a20
mov rax, qword [rax]
jmp 0x1400c79fd
mov rcx, rax
jmp 0x1400c7a2b
mov rax, rdx
mov rcx, rdx
cmp rcx, rdx
jne 0x1400c7aae
lea rax, [rbp - 0x61]
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.140022d3c
movabs rcx, 0x7fffffffffffffe
mov rdx, qword [0x1401e37b0]
sub rcx, rdx
cmp rcx, 1
jae 0x1400c7a7b
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 [0x1401e37b0], rdx
mov qword [rbx + 8], rax
mov qword [rsi], rax
mov r9, qword [0x1401e37a8]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
lea rdx, [rbp - 0x19]
lea rcx, [0x1401e37a0]
call fcn.140022af8
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 r13, qword [rbp - 0x41]
mov qword [r13], rcx
test rcx, rcx
je 0x1400c7ad9
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140007d11.0]
nop
lea rcx, [rbp - 0x79]
call fcn.1400087d8
mov rax, r13
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.140118d00
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.1400ecb00
nop
jmp 0x1400c7b14
nop
xor edx, edx
mov ecx, 0x131f4c4
call fcn.140007884
nop
jmp 0x1400c7b24
nop
nop
nop
nop