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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 0x18], r8
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1e0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov r15, r9
mov rbx, r8
mov rsi, rdx
mov rax, qword [0x1800cea98]
xor r13d, r13d
test rax, rax
jne 0x180097df7
mov rcx, qword [r8]
test rcx, rcx
je 0x180098667
mov rdx, qword [r8 + 0x10]
mov edi, 0x1000
jmp 0x180098633
movss xmm8, dword [rax + 0x14]
addss xmm8, dword [0x1800ba0d0]
movss xmm7, dword [rax + 0x10]
addss xmm7, dword [0x1800ba0d0]
movss xmm6, dword [rax + 8]
subss xmm6, dword [0x1800ba42c]
movss xmm9, dword [0x1800b96a4]
mov rcx, r13
cmp byte [rdx], r13b
je 0x180097e3a
inc rcx
cmp byte [rcx + rdx], r13b
jne 0x180097e31
movabs rdi, 0xcbf29ce484222325
mov rdx, rdi
mov r8, r13
movabs r14, 0x100000001b3
test rcx, rcx
je 0x180097e6d
movsx rax, byte [r8 + rsi]
imul rdx, r14
xor rdx, rax
inc r8
cmp r8, rcx
jb 0x180097e59
cmp qword [0x1800cea88], rdx
jne 0x180097f00
movaps xmm1, xmm8
addss xmm1, xmm9
movaps xmm2, xmm7
addss xmm2, xmm6
mov rcx, qword [rbx + 8]
sub rcx, qword [rbx]
sar rcx, 3
xorps xmm0, xmm0
test rcx, rcx
js 0x180097ea4
cvtsi2ss xmm0, rcx
jmp 0x180097eb9
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mulss xmm0, xmm9
addss xmm1, xmm0
movss xmm3, dword [0x1800ce9d8]
comiss xmm3, xmm7
jb 0x180097ee7
movss xmm0, dword [0x1800ce9dc]
comiss xmm0, xmm8
jb 0x180097ee7
comiss xmm3, xmm2
ja 0x180097ee7
comiss xmm0, xmm1
jbe 0x180097f00
cmp byte [0x1800ce9e0], r13b
je 0x180097f00
cmp byte [0x1800ce9e1], r13b
jne 0x180097f00
mov qword [0x1800cea88], r13
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], r13b
mov r12d, r13d
mov rcx, qword [r9 + 0x18]
test rcx, rcx
je 0x180097fc8
mov r14, r13
mov rax, r13
cmp rcx, rax
jbe 0x1800986d2
mov r8, rax
shr r8, 5
mov rdx, qword [r15]
and al, 0x1f
movzx ecx, al
mov eax, dword [rdx + r8*4]
bt eax, ecx
jae 0x180097fac
cmp qword [rsp + 0x40], r13
jbe 0x180097f7a
mov r8d, 2
lea rdx, [0x1800b7ca4]
lea rcx, [rsp + 0x30]
call fcn.1800457c4
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
sub rax, rcx
sar rax, 3
cmp rax, r14
jbe 0x1800986cc
mov rdx, qword [rcx + r14*8]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], r13b
jne 0x180097f99
lea rcx, [rsp + 0x30]
call fcn.1800457c4
inc r12d
inc r14
movsxd rax, r12d
mov rcx, qword [r15 + 0x18]
cmp rcx, rax
ja 0x180097f44
movabs r14, 0x100000001b3
cmp qword [rsp + 0x40], r13
jne 0x180097fe6
mov r8d, 1
lea rdx, [0x1800ba4b4]
lea rcx, [rsp + 0x30]
call fcn.1800457c4
movups xmm0, xmmword [0x1800cebf8]
movups xmm1, xmmword [0x1800cec08]
movaps xmmword [rbp], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp + 0x20], xmm1
movaps xmmword [rbp + 0x30], xmm1
lea r8, [rbp]
movaps xmm11, xmm6
unpcklps xmm11, xmm9
movaps xmmword [rbp - 0x10], xmm11
movq rdx, xmm11
movaps xmm13, xmm7
unpcklps xmm13, xmm8
movaps xmmword [rsp + 0x50], xmm13
movq rcx, xmm13
call qword [0x1800cea28]
mov r8, qword [0x1800cea88]
cmp qword [0x1800cea90], r13
jne 0x18009804a
test r8, r8
mov cl, 1
je 0x18009804d
mov cl, r13b
movaps xmm15, xmm8
addss xmm15, xmm9
movaps xmm14, xmm7
addss xmm14, xmm6
movss xmm1, dword [0x1800ce9d8]
comiss xmm1, xmm7
jb 0x180098088
movss xmm0, dword [0x1800ce9dc]
comiss xmm0, xmm8
jb 0x180098088
comiss xmm1, xmm14
ja 0x180098088
comiss xmm0, xmm15
mov al, 1
jbe 0x18009808b
mov al, r13b
movaps xmm0, xmmword [0x1800ba940]
movups xmmword [rsp + 0x60], xmm0
movss xmm10, dword [0x1800b9764]
test al, al
je 0x18009810b
mov dword [rsp + 0x60], 0x3f20a0a1
mov dword [rsp + 0x64], 0x3f20a0a1
mov dword [rsp + 0x68], 0x3f20a0a1
cmp byte [0x1800ce9e0], r13b
je 0x18009810b
cmp byte [0x1800ce9e1], r13b
jne 0x18009810b
test cl, cl
je 0x18009810b
mov rcx, r13
cmp byte [rsi], r13b
je 0x1800980e3
inc rcx
cmp byte [rcx + rsi], r13b
jne 0x1800980da
mov rdx, r13
test rcx, rcx
je 0x1800980ff
movsx rax, byte [rdx + rsi]
imul rdi, r14
xor rdi, rax
inc rdx
cmp rdx, rcx
jb 0x1800980eb
mov qword [0x1800cea88], rdi
jmp 0x1800984a9
mov rcx, r13
cmp byte [rsi], r13b
je 0x18009811c
inc rcx
cmp byte [rcx + rsi], r13b
jne 0x180098113
mov rdx, r13
test rcx, rcx
je 0x180098138
movsx rax, byte [rdx + rsi]
imul rdi, r14
xor rdi, rax
inc rdx
cmp rdx, rcx
jb 0x180098124
cmp r8, rdi
jne 0x1800984a9
movups xmm0, xmmword [0x1800ce2a0]
movups xmmword [rsp + 0x60], xmm0
mov rcx, qword [rbx + 8]
sub rcx, qword [rbx]
sar rcx, 3
xorps xmm1, xmm1
test rcx, rcx
js 0x180098167
cvtsi2ss xmm1, rcx
jmp 0x18009817c
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
mulss xmm1, xmm9
movaps xmm2, xmm8
addss xmm2, xmm9
movaps xmm12, xmm8
addss xmm12, xmm9
movups xmm0, xmmword [0x1800cec18]
movdqa xmmword [rsp + 0x70], xmm0
xorps xmm10, xmm10
movss dword [rsp + 0x20], xmm10
lea r9, [rsp + 0x70]
movaps xmm0, xmm6
unpcklps xmm0, xmm1
movq r8, xmm0
movaps xmm1, xmm7
unpcklps xmm1, xmm2
movq rdx, xmm1
lea rcx, [0x1800cea48]
call fcn.180096204
mov r14d, r13d
mov rdx, qword [rbx + 8]
mov r8, qword [rbx]
mov rax, rdx
sub rax, r8
sar rax, 3
test rax, rax
je 0x180098434
mov rdi, r13
movaps xmm11, xmm7
addss xmm11, xmm6
movss xmm13, dword [0x1800b90e4]
xorps xmm10, xmm10
cvtsi2ss xmm10, r14d
addss xmm10, xmm13
movaps xmm0, xmm10
addss xmm0, xmm13
mulss xmm0, xmm9
subss xmm0, dword [0x1800b9760]
movaps xmm1, xmm8
addss xmm1, xmm0
mulss xmm10, xmm9
movaps xmm2, xmm8
addss xmm2, xmm10
movss xmm3, dword [0x1800ce9d8]
comiss xmm3, xmm7
jb 0x180098306
movss xmm0, dword [0x1800ce9dc]
comiss xmm0, xmm2
jb 0x180098306
comiss xmm3, xmm11
ja 0x180098306
comiss xmm0, xmm1
ja 0x180098306
mov r12b, 1
cmp byte [0x1800ce9e0], r13b
je 0x1800982bb
cmp byte [0x1800ce9e1], r13b
jne 0x1800982bb
movsxd rcx, r14d
cmp qword [r15 + 0x18], rcx
jbe 0x1800986d8
mov rdx, rcx
shr rdx, 5
mov r8, qword [r15]
and cl, 0x1f
mov eax, 1
shl eax, cl
test dword [r8 + rdx*4], eax
jne 0x1800982b5
or dword [r8 + rdx*4], eax
jmp 0x1800982bb
not eax
and dword [r8 + rdx*4], eax
movaps xmm0, xmmword [0x1800ba8f0]
movq qword [rsp + 0x70], xmm0
psrldq xmm0, 8
movq qword [rsp + 0x78], xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
lea r9, [rsp + 0x70]
movaps xmm0, xmm6
unpcklps xmm0, xmm9
movq r8, xmm0
movaps xmm1, xmm7
unpcklps xmm1, xmm2
movq rdx, xmm1
lea rcx, [0x1800cea48]
call fcn.180096204
jmp 0x180098309
mov r12b, r13b
mov rdx, qword [rbx]
mov rax, qword [rbx + 8]
sub rax, rdx
sar rax, 3
cmp rax, rdi
jbe 0x1800986de
mov rdx, qword [rdx + rdi*8]
lea rcx, [rbp - 0x80]
call qword [0x1800cea18]
movsxd rax, r14d
cmp qword [r15 + 0x18], rax
jbe 0x1800986d8
mov r8, rax
shr r8, 5
mov rdx, qword [r15]
and al, 0x1f
movzx ecx, al
mov eax, dword [rdx + r8*4]
bt eax, ecx
jae 0x180098364
movups xmm0, xmmword [0x1800ceb78]
movups xmmword [rbp - 0x68], xmm0
lea rcx, [rbp - 0x68]
jmp 0x180098395
test r12b, r12b
je 0x18009837a
movaps xmm0, xmmword [0x1800ba980]
movups xmmword [rbp - 0x58], xmm0
lea rax, [rbp - 0x58]
jmp 0x180098389
movaps xmm0, xmmword [0x1800ba940]
movups xmmword [rbp - 0x48], xmm0
lea rax, [rbp - 0x48]
movups xmm0, xmmword [rax]
movdqu xmmword [rbp - 0x38], xmm0
lea rcx, [rbp - 0x38]
mov r8, qword [rbx]
mov rax, qword [rbx + 8]
sub rax, r8
sar rax, 3
cmp rax, rdi
jbe 0x1800986de
movss xmm0, dword [rbp - 0x7c]
mulss xmm0, dword [0x1800b90e0]
addss xmm0, xmm10
subss xmm0, dword [0x1800ba0c4]
movaps xmm2, xmm8
addss xmm2, xmm0
movaps xmm1, xmm7
addss xmm1, dword [0x1800b9764]
movups xmm0, xmmword [rcx]
movdqu xmmword [rbp - 0x20], xmm0
mov dword [rsp + 0x20], r13d
lea r9, [rbp - 0x20]
mov r8, qword [r8 + rdi*8]
unpcklps xmm1, xmm2
movq rdx, xmm1
lea rcx, [0x1800cea48]
call fcn.180099aec
inc r14d
inc rdi
mov rdx, qword [rbx + 8]
mov r8, qword [rbx]
mov rcx, rdx
sub rcx, r8
sar rcx, 3
movsxd rax, r14d
cmp rax, rcx
jb 0x180098204
xorps xmm10, xmm10
movaps xmm11, xmmword [rbp - 0x10]
movaps xmm13, xmmword [rsp + 0x50]
sub rdx, r8
sar rdx, 3
xorps xmm1, xmm1
test rdx, rdx
js 0x18009844a
cvtsi2ss xmm1, rdx
jmp 0x18009845f
mov rax, rdx
shr rax, 1
and edx, 1
or rax, rdx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
mulss xmm1, xmm9
movups xmm0, xmmword [0x1800ce290]
movdqa xmmword [rsp + 0x50], xmm0
movss dword [rsp + 0x20], xmm10
lea r9, [rsp + 0x50]
movaps xmm0, xmm6
unpcklps xmm0, xmm1
movq r8, xmm0
movaps xmm1, xmm7
unpcklps xmm1, xmm12
movq rdx, xmm1
lea rcx, [0x1800cea48]
call fcn.1800988b0
movss xmm10, dword [0x1800b9764]
mov rax, qword [0x1800cea18]
lea rdx, [rsp + 0x30]
mov r14d, 0xf
cmp qword [rsp + 0x48], r14
cmova rdx, qword [rsp + 0x30]
lea rcx, [rbp - 0x78]
call rax
mov rdx, rsi
lea rcx, [rbp - 0x70]
call qword [0x1800cea18]
subss xmm14, xmm10
mov r8b, 1
unpcklps xmm14, xmm15
movq rdx, xmm14
movaps xmm1, xmm7
unpcklps xmm1, xmm8
movq rcx, xmm1
call qword [0x1800cea30]
call qword [0x1800cea38]
movups xmm0, xmmword [0x1800ce290]
movdqa xmmword [rsp + 0x50], xmm0
xorps xmm3, xmm3
lea r8, [rsp + 0x50]
movq rdx, xmm11
movq rcx, xmm13
call qword [0x1800cea00]
mov rax, qword [0x1800cea10]
movups xmm6, xmmword [rsp + 0x60]
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], r14
cmova rdx, qword [rsp + 0x30]
movss xmm0, dword [rbp - 0x74]
mulss xmm0, dword [0x1800b90e0]
movss xmm1, dword [0x1800b8ff8]
subss xmm1, xmm0
movaps xmm2, xmm8
addss xmm2, xmm1
movaps xmm0, xmm7
addss xmm0, xmm10
movdqa xmmword [rsp + 0x50], xmm6
xor r9d, r9d
lea r8, [rsp + 0x50]
unpcklps xmm0, xmm2
movq rcx, xmm0
call rax
movss xmm0, dword [rbp - 0x6c]
mulss xmm0, dword [0x1800b90e0]
subss xmm9, xmm0
addss xmm9, xmm10
subss xmm8, xmm9
movups xmmword [rsp + 0x50], xmm6
xor r9d, r9d
lea r8, [rsp + 0x50]
mov rdx, rsi
movaps xmm0, xmm7
unpcklps xmm0, xmm8
movq rcx, xmm0
call qword [0x1800cea10]
mov rax, qword [0x1800cea98]
movss xmm0, dword [rax + 0x14]
addss xmm0, dword [0x1800ba0e0]
movss dword [rax + 0x14], xmm0
mov edi, 0x1000
mov rdx, qword [rsp + 0x48]
cmp rdx, r14
jbe 0x180098618
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, rdi
jb 0x180098613
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800986c0
call fcn.18004bc94
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r14
mov byte [rsp + 0x30], r13b
mov rcx, qword [rbx]
test rcx, rcx
je 0x180098667
mov rdx, qword [rbx + 0x10]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, rdi
jb 0x180098657
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800986c6
mov rcx, r8
call fcn.18004bc94
mov qword [rbx], r13
mov qword [rbx + 8], r13
mov qword [rbx + 0x10], r13
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1800449bc
nop
call fcn.1800449bc
nop
call fcn.180093008
int3
call fcn.180092ff4
int3
call fcn.180092ff4
int3
call fcn.180093008
int3