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

Disassembly:
mov qword [rsp + 8], rcx
push r12
sub rsp, 0x90
mov r12, rcx
mov rcx, qword [0x18017b730]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x108]
call rdx
test al, al
je 0x18007060a
mov rcx, qword [0x18017b730]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x100]
call rdx
test al, al
je 0x18007060a
mov rax, qword [0x18017bd50]
shl rax, 5
add rax, qword [0x18017a078]
cmp qword [rax + 0x10], 8
lea rcx, [rax + 0x18]
jbe 0x18006ffd7
mov rcx, qword [rcx]
cmp byte [rcx], 0
je 0x18007060a
mov rax, qword [0x18017b8b8]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x68], r13
xor r13d, r13d
mov qword [rsp + 0x60], r14
mov edi, r13d
mov rcx, qword [rax + 0x58]
mov qword [rsp + 0x58], r15
mov r15d, r13d
mov qword [rsp + 0x88], rbx
movsxd r14, dword [rcx + 0x1510]
movabs rcx, 0xaaaaaaaaaaaaaaa
mov dword [rsp + 0xb0], r14d
test r14d, r14d
je 0x180070052
cmp r14, rcx
ja 0x180070620
lea rax, [r14 + r14*2]
lea rbx, [rax*8]
mov rcx, rbx
call fcn.180055320
mov rdi, rax
lea r15, [rbx + rax]
mov qword [rsp + 0x80], rbp
mov ecx, 1
mov qword [rsp + 0x78], rsi
mov rbp, rdi
movaps xmmword [rsp + 0x40], xmm6
movabs rbx, 0x2aaaaaaaaaaaaaab
mov dword [rsp + 0xa8], ecx
cmp r14d, ecx
jl 0x1800704c3
movabs rbx, 0x100000001b3
lea rsi, [0x18017b700]
movabs r12, 0x9f4c773fb92eaba8
mov rax, qword [0x18017b8b8]
mov edx, ecx
mov rcx, qword [rax + 0x58]
call fcn.18005b590
mov qword [rsp + 0x30], rax
mov r14, rax
test rax, rax
je 0x180070494
mov qword [rsp + 0xb8], r13
lea rdx, [rsp + 0xb8]
mov r8, qword [rax]
mov rcx, rax
call qword [r8 + 0x120]
mov r9, qword [rsp + 0xb8]
test r9, r9
je 0x180070494
mov r9, qword [r9 + 8]
movabs r8, 0xcbf29ce484222325
mov rcx, r9
cmp byte [r9], 0
je 0x180070118
nop dword [rax]
inc rcx
cmp byte [rcx], 0
jne 0x180070110
mov rdx, r13
sub rcx, r9
je 0x180070494
nop dword [rax]
nop dword [rax + rax]
movsx rax, byte [rdx + r9]
inc rdx
xor r8, rax
imul r8, rbx
cmp rdx, rcx
jb 0x180070130
movabs rax, 0xc106a596b87eca81
cmp r8, rax
jne 0x180070494
mov eax, dword [0x18017b8a8]
test al, 1
jne 0x180070181
or eax, 1
movabs rcx, 0x9241b8778dd136bd
mov dword [0x18017b8a8], eax
call fcn.18006b920
mov dword [0x18017ba90], eax
jmp 0x180070187
mov eax, dword [0x18017ba90]
mov edx, eax
mov edx, dword [rdx + r14]
cmp edx, 0xffffffff
je 0x180070253
mov rax, qword [0x18017b8b8]
and edx, 0x7fff
mov rcx, qword [rax + 0x58]
call fcn.18005b590
mov rbx, rax
test rax, rax
je 0x180070253
mov ecx, dword [0x18017bca0]
test cl, 1
jne 0x1800701e4
or ecx, 1
mov dword [0x18017bca0], ecx
mov rcx, r12
call fcn.18006b920
mov ecx, dword [0x18017bca0]
mov edx, eax
mov dword [0x18017bc98], eax
jmp 0x1800701ea
mov edx, dword [0x18017bc98]
mov eax, edx
cmp qword [rax + rbx], 0
je 0x180070253
test cl, 1
jne 0x180070211
or ecx, 1
mov dword [0x18017bca0], ecx
mov rcx, r12
call fcn.18006b920
mov edx, eax
mov dword [0x18017bc98], eax
mov eax, edx
mov rbx, qword [rax + rbx]
mov eax, dword [0x18017be5c]
test al, 1
jne 0x180070246
or eax, 1
movabs rcx, 0x89b727c10692e033
mov dword [0x18017be5c], eax
call fcn.18006b920
mov dword [0x18017be4c], eax
mov eax, eax
add rax, rbx
jmp 0x180070256
mov eax, dword [0x18017be4c]
mov eax, eax
add rax, rbx
jmp 0x180070256
mov rax, rsi
movss xmm0, dword [0x18017b940]
subss xmm0, dword [rax + 8]
movss xmm1, dword [0x18017b938]
movss xmm2, dword [0x18017b93c]
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 0x1800702a1
xorps xmm6, xmm6
sqrtss xmm6, xmm2
jmp 0x1800702ac
movaps xmm0, xmm2
call fcn.1800ff7f8
movaps xmm6, xmm0
mov eax, dword [0x18017bc8c]
test al, 1
jne 0x1800702d6
or eax, 1
movabs rcx, 0x4c7c6391100b2438
mov dword [0x18017bc8c], eax
call fcn.18006b920
mov dword [0x18017bca4], eax
jmp 0x1800702dc
mov eax, dword [0x18017bca4]
mov eax, eax
mov rsi, qword [rax + r14]
test rsi, rsi
jne 0x1800702ee
mov ebx, 0xffffffff
jmp 0x18007034a
mov eax, dword [0x18017bcac]
mov ebx, dword [rsi + 0x10]
test al, 1
jne 0x18007031b
or eax, 1
movabs rcx, 0x51cee653ec562d63
mov dword [0x18017bcac], eax
call fcn.18006b920
mov dword [0x18017bc90], eax
jmp 0x180070321
mov eax, dword [0x18017bc90]
mov eax, eax
and ebx, 0xffff8000
mov ecx, dword [rax + rsi]
mov eax, dword [rsi + 0x10]
and ecx, 1
shl ecx, 0xf
and eax, 0x7fff
sub ebx, ecx
mov ecx, 0x7fff
cmp dword [rsi + 0x10], 0xffffffff
cmovne ecx, eax
or ebx, ecx
cmp rdi, r15
je 0x180070367
movss dword [rdi + 0xc], xmm6
mov qword [rdi], r14
mov dword [rdi + 8], ebx
mov dword [rdi + 0x10], r13d
add rdi, 0x18
jmp 0x180070483
sub rdi, rbp
movabs rcx, 0x2aaaaaaaaaaaaaab
mov rax, rcx
movabs r8, 0xaaaaaaaaaaaaaaa
imul rdi
mov r14, rdx
sar r14, 2
mov rax, r14
shr rax, 0x3f
add r14, rax
cmp r14, r8
je 0x180070614
sub r15, rbp
lea r12, [r14 + 1]
mov rax, rcx
imul r15
mov r15, rdx
sar r15, 2
mov rax, r15
shr rax, 0x3f
add r15, rax
mov rax, r8
mov rcx, r15
shr rcx, 1
sub rax, rcx
cmp r15, rax
jbe 0x1800703d2
mov rcx, r8
jmp 0x1800703e9
lea rax, [rcx + r15]
mov rcx, r12
cmp rax, r12
cmovae rcx, rax
cmp rcx, r8
ja 0x18007062c
lea rax, [rcx + rcx*2]
lea r13, [rax*8]
mov rcx, r13
call fcn.180055320
mov rsi, rax
lea rcx, [r14 + r14*2]
mov rax, qword [rsp + 0x30]
mov r8, rdi
mov rdx, rbp
movss dword [rsi + rcx*8 + 0xc], xmm6
mov qword [rsi + rcx*8], rax
mov dword [rsi + rcx*8 + 8], ebx
mov dword [rsi + rcx*8 + 0x10], 0
mov rcx, rsi
call fcn.180100780
test rbp, rbp
je 0x180070467
lea rdx, [r15 + r15*2]
shl rdx, 3
cmp rdx, 0x1000
jb 0x18007045f
mov rcx, qword [rbp - 8]
add rdx, 0x27
sub rbp, rcx
lea rax, [rbp - 8]
cmp rax, 0x1f
ja 0x180070626
mov rbp, rcx
mov rcx, rbp
call fcn.1800da7cc
lea rax, [r12 + r12*2]
mov rbp, rsi
lea r15, [rsi + r13]
movabs r12, 0x9f4c773fb92eaba8
lea rdi, [rsi + rax*8]
xor r13d, r13d
movabs rbx, 0x100000001b3
lea rsi, [0x18017b700]
mov ecx, dword [rsp + 0xa8]
inc ecx
mov dword [rsp + 0xa8], ecx
cmp ecx, dword [rsp + 0xb0]
jle 0x1800700a1
mov r12, qword [rsp + 0xa0]
movabs rbx, 0x2aaaaaaaaaaaaaab
mov rcx, rdi
mov dword [rsp + 0x20], 0xc
sub rcx, rbp
mov rax, rbx
imul rcx
xor r9d, r9d
mov rcx, rbp
sar rdx, 2
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, rdi
call fcn.1800711c0
cmp rbp, rdi
je 0x18007058f
lea rbx, [rbp + 0x10]
movabs r14, 0xdccf003ada4c08e3
nop word [rax + rax]
mov edx, dword [rbx - 8]
cmp edx, 0xffffffff
je 0x180070578
cmp dword [rbx], 0
jne 0x180070578
mov rax, qword [0x18017b8b8]
and edx, 0x7fff
mov rcx, qword [rax + 0x58]
call fcn.18005b590
mov rsi, rax
test rax, rax
je 0x180070578
mov ecx, dword [0x18017bc60]
test cl, 1
jne 0x18007055f
or ecx, 1
mov dword [0x18017bc60], ecx
mov rcx, r14
call fcn.18006b920
mov dword [0x18017bc68], eax
jmp 0x180070565
mov eax, dword [0x18017bc68]
mov eax, eax
cmp byte [rax + rsi], 0
je 0x180070578
mov rdx, rsi
mov rcx, r12
call fcn.180070ba0
add rbx, 0x18
lea rcx, [rbx - 0x10]
cmp rcx, rdi
jne 0x180070510
movabs rbx, 0x2aaaaaaaaaaaaaab
test rbp, rbp
je 0x1800705dc
sub r15, rbp
mov rax, rbx
imul r15
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
cmp rdx, 0x1000
jb 0x1800705d4
mov rcx, qword [rbp - 8]
add rdx, 0x27
sub rbp, rcx
lea rax, [rbp - 8]
cmp rax, 0x1f
ja 0x18007061a
mov rbp, rcx
mov rcx, rbp
call fcn.1800da7cc
mov rsi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x40]
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x70]
mov r13, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x58]
add rsp, 0x90
pop r12
ret
call fcn.1800711a0
int3
call fcn.1800e7138
int3
call fcn.1800711a0
int3
call fcn.1800e7138
int3
call fcn.180051800
int3