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

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0xc8
mov rcx, qword [0x180177708]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x120]
call rdx
test al, al
je 0x18006df6a
mov rcx, qword [0x180177708]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x118]
call rdx
test al, al
je 0x18006df6a
mov rax, qword [0x180177d50]
shl rax, 5
add rax, qword [0x180176008]
cmp qword [rax + 0x10], 8
lea rcx, [rax + 0x18]
jbe 0x18006d8a2
mov rcx, qword [rcx]
cmp byte [rcx], 0
je 0x18006df6a
mov rax, qword [0x180177898]
xorps xmm0, xmm0
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xb8], rbp
mov qword [rsp + 0xb0], rsi
xor esi, esi
mov rcx, qword [rax + 0x58]
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0x98], r13
mov r13d, esi
mov qword [rsp + 0x90], r14
movsxd rbp, dword [rcx + 0x1510]
mov dword [rsp + 0x30], ebp
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0x60], rsi
movdqu xmmword [rsp + 0x50], xmm0
test ebp, ebp
je 0x18006d961
movabs rcx, 0xaaaaaaaaaaaaaaa
cmp rbp, rcx
ja 0x18006df78
lea rax, [rbp*2]
add rax, rbp
lea rbx, [rax*8]
mov rcx, rbx
call fcn.1800532f0
mov rdi, rax
mov qword [rsp + 0x50], rax
mov r14, rax
mov qword [rsp + 0x58], rax
lea r13, [rax + rbx]
mov qword [rsp + 0xe0], r13
mov qword [rsp + 0x60], r13
jmp 0x18006d96b
mov r14, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov ebx, dword [0x180176758]
mov qword [rsp + 0xa0], r12
mov r12d, 1
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0x88], r15
cmp ebp, r12d
jl 0x18006ddc5
mov rdi, qword gs:[0x58]
movabs r15, 0x100000001b3
mov qword [rsp + 0x40], rbx
movaps xmmword [rsp + 0x70], xmm6
nop word [rax + rax]
mov rax, qword [0x180177898]
mov edx, r12d
mov rcx, qword [rax + 0x58]
call fcn.180059330
mov qword [rsp + 0x48], rax
mov rbp, rax
test rax, rax
je 0x18006dd97
mov qword [rsp + 0x38], rsi
lea rdx, [rsp + 0x38]
mov r8, qword [rax]
mov rcx, rax
call qword [r8 + 0x130]
mov r9, qword [rsp + 0x38]
test r9, r9
je 0x18006dd97
mov r9, qword [r9 + 8]
movabs r8, 0xcbf29ce484222325
mov rcx, r9
cmp byte [r9], 0
je 0x18006da28
inc rcx
cmp byte [rcx], 0
jne 0x18006da20
mov rdx, rsi
sub rcx, r9
je 0x18006dd97
nop dword [rax]
nop dword [rax + rax]
movsx rax, byte [rdx + r9]
inc rdx
xor r8, rax
imul r8, r15
cmp rdx, rcx
jb 0x18006da40
movabs rax, 0xc106a596b87eca81
cmp r8, rax
jne 0x18006dd97
mov eax, 4
mov dword [rsp + 0xd8], esi
mov rsi, qword [rdi + rbx*8]
mov r15d, eax
mov eax, dword [rax + rsi]
cmp dword [0x18017787c], eax
jle 0x18006dabb
lea rcx, [0x18017787c]
call fcn.1800d716c
cmp dword [0x18017787c], 0xffffffff
jne 0x18006dabb
movabs rcx, 0x9241b8778dd136bd
call fcn.1800691d0
lea rcx, [0x18017787c]
mov dword [0x180177ab0], eax
call fcn.1800d710c
mov eax, dword [0x180177ab0]
mov edx, dword [rax + rbp]
cmp edx, 0xffffffff
je 0x18006dbe5
mov rax, qword [0x180177898]
and edx, 0x7fff
mov rcx, qword [rax + 0x58]
call fcn.180059330
mov rbx, rax
test rax, rax
je 0x18006dbe5
mov ecx, dword [0x180177cdc]
cmp ecx, dword [r15 + rsi]
jle 0x18006db3e
lea rcx, [0x180177cdc]
call fcn.1800d716c
mov ecx, dword [0x180177cdc]
movabs rdi, 0x9f4c773fb92eaba8
cmp ecx, 0xffffffff
jne 0x18006db48
mov rcx, rdi
call fcn.1800691d0
lea rcx, [0x180177cdc]
mov dword [0x180177cac], eax
call fcn.1800d710c
mov ecx, dword [0x180177cdc]
jmp 0x18006db48
movabs rdi, 0x9f4c773fb92eaba8
mov eax, dword [0x180177cac]
cmp qword [rax + rbx], 0
je 0x18006dbe5
cmp ecx, dword [r15 + rsi]
jle 0x18006db8e
lea rcx, [0x180177cdc]
call fcn.1800d716c
cmp dword [0x180177cdc], 0xffffffff
jne 0x18006db8e
mov rcx, rdi
call fcn.1800691d0
lea rcx, [0x180177cdc]
mov dword [0x180177cac], eax
call fcn.1800d710c
mov eax, dword [0x180177cac]
mov rbx, qword [rax + rbx]
mov eax, dword [r15 + rsi]
cmp dword [0x180177e78], eax
jle 0x18006dbda
lea rcx, [0x180177e78]
call fcn.1800d716c
cmp dword [0x180177e78], 0xffffffff
jne 0x18006dbda
movabs rcx, 0x89b727c10692e033
call fcn.1800691d0
lea rcx, [0x180177e78]
mov dword [0x180177e68], eax
call fcn.1800d710c
mov eax, dword [0x180177e68]
add rax, rbx
jmp 0x18006dbec
lea rax, [0x1801776e0]
movss xmm0, dword [0x180177930]
subss xmm0, dword [rax + 8]
movss xmm1, dword [0x180177928]
movss xmm2, dword [0x18017792c]
subss xmm2, dword [rax + 4]
subss xmm1, dword [rax]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x18006dc37
xorps xmm6, xmm6
sqrtss xmm6, xmm2
jmp 0x18006dc42
movaps xmm0, xmm2
call fcn.1800fbaa8
movaps xmm6, xmm0
mov eax, dword [r15 + rsi]
cmp dword [0x180177ca4], eax
movss dword [rsp + 0xe0], xmm6
jle 0x18006dc8d
lea rcx, [0x180177ca4]
call fcn.1800d716c
cmp dword [0x180177ca4], 0xffffffff
jne 0x18006dc8d
movabs rcx, 0x4c7c6391100b2438
call fcn.1800691d0
lea rcx, [0x180177ca4]
mov dword [0x180177cb8], eax
call fcn.1800d710c
mov eax, dword [0x180177cb8]
mov rdi, qword [rax + rbp]
test rdi, rdi
jne 0x18006dca3
mov ebx, 0xffffffff
jmp 0x18006dd15
mov eax, dword [r15 + rsi]
cmp dword [0x180177cbc], eax
mov ebx, dword [rdi + 0x10]
jle 0x18006dce8
lea rcx, [0x180177cbc]
call fcn.1800d716c
cmp dword [0x180177cbc], 0xffffffff
jne 0x18006dce8
movabs rcx, 0x51cee653ec562d63
call fcn.1800691d0
lea rcx, [0x180177cbc]
mov dword [0x180177ca8], eax
call fcn.1800d710c
mov eax, dword [0x180177ca8]
and ebx, 0xffff8000
mov ecx, dword [rax + rdi]
mov eax, dword [rdi + 0x10]
and ecx, 1
shl ecx, 0xf
and eax, 0x7fff
sub ebx, ecx
mov ecx, 0x7fff
cmp dword [rdi + 0x10], 0xffffffff
cmovne ecx, eax
or ebx, ecx
mov dword [rsp + 0xe8], ebx
cmp r14, r13
je 0x18006dd3f
mov qword [r14], rbp
xor esi, esi
mov dword [r14 + 8], ebx
movss dword [r14 + 0xc], xmm6
mov dword [r14 + 0x10], esi
add r14, 0x18
mov qword [rsp + 0x58], r14
jmp 0x18006dd7f
lea rax, [rsp + 0xd8]
mov rdx, r14
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0xe8]
lea rax, [rsp + 0xe0]
lea r8, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x50]
call fcn.18006ec30
mov r13, qword [rsp + 0x60]
xor esi, esi
mov r14, qword [rsp + 0x58]
mov rdi, qword gs:[0x58]
movabs r15, 0x100000001b3
mov rbx, qword [rsp + 0x40]
inc r12d
cmp r12d, dword [rsp + 0x30]
jle 0x18006d9c0
mov rdi, qword [rsp + 0x50]
mov ebx, dword [0x180176758]
movaps xmm6, xmmword [rsp + 0x70]
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], r13
mov rcx, r14
mov dword [rsp + 0x20], 0xc
sub rcx, rdi
movabs rsi, 0x2aaaaaaaaaaaaaab
mov rax, rsi
xor r9d, r9d
imul rcx
mov rcx, rdi
sar rdx, 2
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, r14
call fcn.18006efe0
cmp rdi, r14
je 0x18006dedd
mov r15, qword gs:[0x58]
mov r12, qword [rsp + 0xd0]
mov ebp, ebx
lea rbx, [rdi + 0x10]
movabs rdi, 0xdccf003ada4c08e3
mov r13d, 4
nop
mov edx, dword [rbx - 8]
cmp edx, 0xffffffff
je 0x18006deb2
cmp dword [rbx], 0
jne 0x18006deb2
mov rax, qword [0x180177898]
and edx, 0x7fff
mov rcx, qword [rax + 0x58]
call fcn.180059330
mov rsi, rax
test rax, rax
je 0x18006deb2
mov rcx, qword [r15 + rbp*8]
mov edx, dword [r13 + rcx]
cmp dword [0x180177c5c], edx
jle 0x18006de9b
lea rcx, [0x180177c5c]
call fcn.1800d716c
cmp dword [0x180177c5c], 0xffffffff
jne 0x18006de9b
mov rcx, rdi
call fcn.1800691d0
lea rcx, [0x180177c5c]
mov dword [0x180177c68], eax
call fcn.1800d710c
mov eax, dword [0x180177c68]
cmp byte [rax + rsi], 0
je 0x18006deb2
mov rdx, rsi
mov rcx, r12
call fcn.18006e590
add rbx, 0x18
lea rcx, [rbx - 0x10]
cmp rcx, r14
jne 0x18006de30
mov rdi, qword [rsp + 0xd8]
movabs rsi, 0x2aaaaaaaaaaaaaab
mov r13, qword [rsp + 0xe0]
mov r15, qword [rsp + 0x88]
mov r12, qword [rsp + 0xa0]
test rdi, rdi
je 0x18006df3a
sub r13, rdi
mov rax, rsi
imul r13
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, rdi
lea rdx, [rdx + rdx*2]
shl rdx, 3
cmp rdx, 0x1000
jb 0x18006df32
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006df72
mov rcx, rdi
call fcn.1800d700c
mov r13, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
mov r14, qword [rsp + 0x90]
add rsp, 0xc8
ret
call fcn.1800e3594
int3
call fcn.18006ec10
int3