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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf]
sub rsp, 0xa0
mov r12, r9
mov r14, r8
mov rsi, rdx
mov r13, rcx
mov r9, qword [r8 + 0x10]
cmp qword [r8 + 0x18], 8
jb 0x14006b35e
mov r8, qword [r8]
movabs rcx, 0xcbf29ce484222325
xor edx, edx
add r9, r9
je 0x14006b38d
movzx eax, byte [rdx + r8]
xor rcx, rax
movabs r10, 0x100000001b3
imul rcx, r10
inc rdx
cmp rdx, r9
jb 0x14006b36f
mov rax, qword [r12]
shl rax, 6
mov rdx, qword [r12]
shr rdx, 2
add rcx, rax
mov eax, 0x9e3779b9
add rdx, rax
add rdx, rcx
xor rdx, qword [r12]
mov qword [rbp + 0x4f], rdx
lea rcx, [r13 + 0x308]
mov r9b, 1
lea r8, [rbp + 0x4f]
lea rdx, [rbp - 0x41]
call fcn.14006b7ec
nop
mov rdi, qword [rbp - 0x41]
test rdi, rdi
je 0x14006b6dc
lea r15, [rdi + 0x70]
mov rax, qword [r15]
mov rbx, qword [rbp + 0x6f]
test rax, rax
jne 0x14006b599
xor r12d, r12d
mov rax, qword [rbx]
cmp qword [rax + 0x70], r12
jne 0x14006b3fd
call fcn.14007e73c
mov rax, qword [rbx]
mov rcx, qword [rax + 0x78]
test rcx, rcx
je 0x14006b415
lock inc dword [rcx + 8]
mov rcx, qword [rax + 0x78]
mov rdi, qword [rbp - 0x41]
mov rax, qword [rax + 0x70]
mov qword [rbp - 0x31], rax
mov qword [rbp - 0x29], rcx
mov rcx, qword [r13 + 0x448]
test rcx, rcx
je 0x14006b43c
lock inc dword [rcx + 8]
mov rcx, qword [r13 + 0x448]
mov rdi, qword [rbp - 0x41]
mov rax, qword [r13 + 0x440]
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x19], rcx
mov rax, qword [rbx]
mov rax, qword [rax + 0x70]
mov rcx, qword [rax + 0x180]
test rcx, rcx
je 0x14006b46d
lock inc dword [rcx + 8]
mov rcx, qword [rax + 0x180]
mov rdi, qword [rbp - 0x41]
mov rax, qword [rax + 0x178]
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], rcx
mov byte [rsp + 0x38], r12b
mov byte [rsp + 0x30], r12b
lea rax, [rbp - 0x31]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x21]
mov qword [rsp + 0x20], rax
mov r9b, 2
lea r8, [rbp - 0x11]
mov rdx, r14
lea rcx, [rbp - 1]
call fcn.14006b9f0
mov r8, qword [rbx]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov qword [rax], r12
mov qword [rax + 8], r12
mov qword [r8 + 0x80], rcx
mov rcx, qword [r8 + 0x88]
mov qword [r8 + 0x88], rdx
test rcx, rcx
jne 0x14006b731
mov rcx, qword [rbp + 7]
test rcx, rcx
jne 0x14006b73b
mov rcx, qword [rbx]
sub rcx, 0xffffffffffffff80
mov rax, qword [rcx]
test byte [rax + 0x16c], 1
jne 0x14006b6fb
mov rax, qword [rdi + 0x80]
mov dl, byte [rax + 0x1a4]
mov rax, qword [rbx]
mov rcx, qword [rax + 0x80]
mov byte [rcx + 0x1a4], dl
mov rax, qword [rbx]
mov rcx, qword [rax + 0x80]
cmp byte [rcx + 0x1a4], 1
ja 0x14006b757
cmp byte [rbp + 0x77], r12b
jne 0x14006b632
mov rax, qword [rbx]
cmp qword [rax + 0xa8], r12
je 0x14006b61e
mov rax, qword [rbx]
mov qword [rsi], rax
mov rax, qword [rbx + 8]
mov qword [rsi + 8], rax
mov qword [rbx], r12
mov qword [rbx + 8], r12
mov rcx, r12
mov rax, qword [rbp - 0x39]
test rax, rax
jne 0x14006b60d
test rcx, rcx
jne 0x14006b603
mov rax, rsi
mov rbx, qword [rsp + 0xe8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rax + 0x50]
cmp qword [r12], rax
jne 0x14006b74f
mov rdx, qword [rdi + 0x80]
add rdx, 0xc0
xor r12d, r12d
mov r8, qword [rdx + 0x10]
cmp qword [r14 + 0x10], r12
je 0x14006b71c
cmp qword [r14 + 0x10], r8
jne 0x14006b5f7
cmp qword [rdx + 0x18], 8
jb 0x14006b5d6
mov rdx, qword [rdx]
mov rcx, r14
cmp qword [r14 + 0x18], 8
jb 0x14006b5e3
mov rcx, qword [r14]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
nop dword [rax + rax]
test eax, eax
je 0x14006b690
mov qword [rsi], r12
mov qword [rsi + 8], r12
jmp 0x14006b6e5
call fcn.14007e3e0
jmp 0x14006b57a
mov rcx, rax
call fcn.14007e3e0
mov rcx, qword [rbx + 8]
jmp 0x14006b571
mov rax, qword [rax + 0x80]
bts dword [rax + 0x16c], 0xb
jmp 0x14006b54c
mov rax, qword [rbx]
mov rcx, qword [rax + 0x80]
mov r8d, dword [rcx + 0x1e8]
mov rdx, qword [r13 + 0x460]
mov rcx, rdx
mov rax, qword [rdx + 8]
cmp byte [rax + 0x19], r12b
jne 0x14006b678
cmp dword [rax + 0x1c], r8d
jb 0x14006b7db
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r12b
je 0x14006b657
cmp rcx, rdx
je 0x14006b678
cmp r8d, dword [rcx + 0x1c]
jae 0x14006b67b
mov rcx, rdx
cmp rcx, rdx
je 0x14006b53c
mov rax, qword [rbp + 0x7f]
mov byte [rax], 1
jmp 0x14006b53c
mov eax, 4
cmp ax, word [rdi + 0x90]
jne 0x14006b745
mov r8, qword [rbx]
mov rdx, qword [r15 + 8]
test rdx, rdx
je 0x14006b6ba
lock inc dword [rdx + 8]
mov rdx, qword [r15 + 8]
mov rdi, qword [rbp - 0x41]
mov rax, qword [r15]
mov qword [r8 + 0x70], rax
mov rcx, qword [r8 + 0x78]
mov qword [r8 + 0x78], rdx
test rcx, rcx
je 0x14006b3ef
call fcn.14007e3e0
jmp 0x14006b3ef
and qword [rsi], 0
and qword [rsi + 8], 0
mov rcx, qword [rbp - 0x39]
test rcx, rcx
jne 0x14006b72a
mov rax, qword [rbp + 0x6f]
mov rcx, qword [rax + 8]
jmp 0x14006b571
lea rdx, [rdi + 0x80]
mov rax, qword [rdx]
test byte [rax + 0x16c], 1
jne 0x14006b4fe
call fcn.14009486c
jmp 0x14006b4fe
test r8, r8
jne 0x14006b5c6
jmp 0x14006b690
call fcn.14007e3e0
jmp 0x14006b6ee
call fcn.14007e3e0
jmp 0x14006b4da
call fcn.14007e3e0
jmp 0x14006b4e7
call fcn.14007e73c
jmp 0x14006b6a2
xor r12d, r12d
jmp 0x14006b5f7
mov rdx, qword [rdi + 0x80]
add rdx, 0x1a8
add rcx, 0x1a8
call fcn.14007d520
mov rax, qword [rdi + 0x80]
mov edx, dword [rax + 0x1c8]
mov rax, qword [rbx]
mov rcx, qword [rax + 0x80]
mov dword [rcx + 0x1c8], edx
mov rdx, qword [rdi + 0x80]
add rdx, 0x1d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x80]
add rcx, 0x1d0
call fcn.1400ce19c
mov rdx, qword [rdi + 0x80]
add rdx, 0x1f0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x80]
add rcx, 0x1f0
call fcn.14009486c
jmp 0x14006b532
mov rax, qword [rax + 0x10]
jmp 0x14006b667