Function at 0x1400aa6f0
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 - 0x57]
sub rsp, 0xd0
mov qword [rbp - 0x39], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rax, qword [0x1403bf028]
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, [0x1403d9908]
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 0x1400aa76f
cmp dword [rbp - 0x6d], edi
jne 0x1400aabf3
call sub.KERNEL32.dll_GetCurrentThreadId
mov dword [rbp - 0x6d], eax
cmp qword [0x1403d98e0], rdi
jne 0x1400aa78b
mov r8b, bl
mov rdx, r15
mov rcx, r13
call fcn.1400adbd8
jmp 0x1400aabb0
mov r9d, 0x10
lea r8d, [r9 + 4]
lea rdx, [rbp - 9]
mov rcx, r15
call fcn.140261fd0
lea r15, [0x1403d98e8]
mov rax, r15
cmp qword [0x1403d9900], 0x10
cmovae rax, qword [0x1403d98e8]
xor r13d, r13d
mov qword [0x1403d98f8], r13
mov byte [rax], r13b
lea rax, [rbp - 9]
or rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], r13b
jne 0x1400aa7d3
lea rdx, [rbp - 9]
mov rcx, r15
call fcn.140017fb4
mov rax, qword [rsi + 8]
cmp qword [rax + 0x10], r13
jbe 0x1400aa81f
mov rax, qword [rax + 8]
mov rdx, qword [rax + rdi*8]
mov r8, rbx
inc r8
cmp byte [rdx + r8], r13b
jne 0x1400aa7fd
lea rcx, [0x1403d98e8]
call fcn.140017fb4
inc rdi
mov rax, qword [rsi + 8]
cmp rdi, qword [rax + 0x10]
jb 0x1400aa7f2
mov rdx, qword [rsi + 0x10]
inc rbx
cmp byte [rdx + rbx], r13b
jne 0x1400aa823
mov r8, rbx
mov rcx, r15
call fcn.140017fb4
mov rdx, r15
cmp qword [0x1403d9900], 0x10
cmovae rdx, qword [0x1403d98e8]
movabs r14, 0xcbf29ce484222325
mov rdi, r14
mov rcx, r13
movabs r8, 0x100000001b3
cmp qword [0x1403d98f8], r13
jbe 0x1400aa884
movzx eax, byte [rcx + rdx]
xor rdi, rax
imul rdi, r8
inc rcx
cmp rcx, qword [0x1403d98f8]
jb 0x1400aa86d
and rdi, qword [0x1403d9890]
add rdi, rdi
mov r12, qword [0x1403d9878]
mov rbx, qword [r12 + rdi*8]
mov rsi, qword [0x1403d9868]
cmp qword [r12 + rdi*8], rsi
jne 0x1400aa8ab
mov rax, rsi
jmp 0x1400aa8b3
mov rax, qword [r12 + rdi*8 + 8]
mov rax, qword [rax]
cmp rbx, rax
je 0x1400aa94e
lea r15, [rbx + 0x10]
lea rdx, [0x1403d98e8]
cmp qword [0x1403d9900], 0x10
cmovae rdx, qword [0x1403d98e8]
mov r13, qword [r15 + 0x10]
mov rcx, r15
cmp qword [r15 + 0x18], 0x10
jb 0x1400aa8e8
mov rcx, qword [r15]
cmp r13, qword [0x1403d98f8]
jne 0x1400aa8fd
mov r8, r13
call fcn.140239710
test eax, eax
je 0x1400aa902
mov rbx, qword [rbx]
jmp 0x1400aa8a0
cmp qword [r15 + 0x18], 0x10
jb 0x1400aa90c
mov r15, qword [r15]
lea rdi, [0x1403d98e8]
mov rcx, rdi
cmp qword [0x1403d9900], 0x10
cmovae rcx, qword [0x1403d98e8]
mov r8, qword [0x1403d98f8]
cmp r8, r13
jne 0x1400aa943
mov rdx, r15
call fcn.140239710
xor r13d, r13d
test eax, eax
jne 0x1400aa946
jmp 0x1400aa949
xor r13d, r13d
mov rbx, rsi
mov rax, rbx
jmp 0x1400aa95e
mov rbx, rsi
mov rax, rsi
xor r13d, r13d
lea rdi, [0x1403d98e8]
cmp rax, rsi
jne 0x1400aa9d3
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.1400ac41c
movabs rcx, 0x492492492492491
mov rdx, qword [0x1403d9870]
sub rcx, rdx
cmp rcx, 1
jb 0x1400aac03
inc rdx
mov qword [0x1403d9870], rdx
mov qword [rbx + 8], rax
mov qword [rdi], rax
mov r9, qword [0x1403d9868]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
lea rdx, [rbp - 0x29]
lea rcx, [0x1403d9860]
call fcn.1400ac1a0
mov rbx, qword [rbp - 0x29]
lea rdi, [rbx + 0x30]
mov rax, qword [rdi]
test rax, rax
jne 0x1400aab88
lea ecx, [rax + 0x28]
call fcn.140261ad4
test rax, rax
je 0x1400aac13
nop dword [rax]
nop dword [rax + rax]
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 0x1400aaa35
mov rbx, r13
mov rdx, qword [rdi]
mov qword [rdi], rax
test rdx, rdx
je 0x1400aaa43
call fcn.1400ab7c0
mov rax, r13
test rax, rax
je 0x1400aaa43
mov rdx, rbx
call fcn.1400ab7c0
nop
mov r8b, byte [rsp + 0x30]
mov rdx, qword [rbp - 0x51]
lea rcx, [rbp - 0x69]
call fcn.1400adbd8
mov r8, qword [rdi]
mov rdx, qword [rax]
mov qword [rax], r13
mov rcx, qword [r8]
mov qword [r8], rdx
test rcx, rcx
je 0x1400aaa77
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140118f85.0]
nop
mov rcx, qword [rbp - 0x69]
test rcx, rcx
je 0x1400aaa92
mov qword [rbp - 0x69], r13
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140118f85.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 0x1400aaaa9
and r14, qword [0x1403d98d0]
add r14, r14
mov r9, qword [0x1403d98b8]
mov rax, qword [r9 + r14*8]
mov rdx, qword [0x1403d98a8]
cmp qword [r9 + r14*8], rdx
jne 0x1400aaae5
mov rcx, rdx
jmp 0x1400aaaed
mov rcx, qword [r9 + r14*8 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x1400aab02
cmp qword [rax + 0x10], r8
je 0x1400aaafd
mov rax, qword [rax]
jmp 0x1400aaada
mov rcx, rax
jmp 0x1400aab08
mov rax, rdx
mov rcx, rdx
cmp rcx, rdx
jne 0x1400aab81
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.1400ac3f8
movabs rcx, 0x7fffffffffffffe
mov rdx, qword [0x1403d98b0]
sub rcx, rdx
cmp rcx, 1
jb 0x1400aabe3
inc rdx
mov qword [0x1403d98b0], rdx
mov qword [rbx + 8], rax
mov qword [rsi], rax
mov r9, qword [0x1403d98a8]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
lea rdx, [rbp - 0x19]
lea rcx, [0x1403d98a0]
call fcn.140085720
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 0x1400aabb0
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140118f85.0]
nop
nop dword [rax]
lea rcx, [rbp - 0x79]
call fcn.1400261e0
mov rax, r13
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.1402361b0
mov rbx, qword [rsp + 0x110]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.list_T__too_long
call fcn.1402328c4
nop
jmp 0x1400aabf2
nop
xor edx, edx
mov ecx, 0x131f4c4
call fcn.140025d34
nop
jmp 0x1400aac02
nop
lea rcx, str.list_T__too_long
call fcn.1402328c4
nop
jmp 0x1400aac12
nop
call fcn.140147a48
nop
jmp 0x1400aac1b
nop