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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], r9
mov qword [rax + 8], rcx
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rcx, qword [0x180042df8]
xor r12d, r12d
movaps xmmword [rax - 0x38], xmm6
mov rbx, r8
movaps xmmword [rax - 0x48], xmm7
mov rsi, rdx
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
movaps xmmword [rax - 0xb8], xmm15
test rcx, rcx
jne 0x180010255
mov rcx, qword [r8]
test rcx, rcx
je 0x180010c0b
mov rdx, qword [r8 + 0x10]
mov edi, 0x1000
jmp 0x180010bd7
mov rdx, r12
movss xmm7, dword [0x180040c00]
movaps xmm2, xmm7
movss xmm15, dword [0x18003cd04]
movaps xmm0, xmm7
movss xmm9, dword [rcx + 8]
mulss xmm0, dword [0x18003cd28]
movss xmm11, dword [rcx + 0x10]
mulss xmm7, dword [0x18003cd18]
subss xmm9, xmm0
mulss xmm2, xmm15
movaps xmm8, xmm2
addss xmm8, dword [rcx + 0x14]
cmp byte [rsi], r12b
je 0x1800102ad
inc rdx
cmp byte [rdx + rsi], r12b
jne 0x1800102a4
movabs rdi, 0xcbf29ce484222325
mov r9, r12
mov r8, rdi
movabs r10, 0x100000001b3
test rdx, rdx
je 0x1800102e0
movsx rax, byte [r9 + rsi]
inc r9
imul r8, r10
xor r8, rax
cmp r9, rdx
jb 0x1800102cc
cmp qword [0x180042dd0], r8
movaps xmm4, xmm11
addss xmm4, dword [rcx]
movss xmm13, dword [0x18003ccfc]
sete dl
movaps xmm3, xmm8
addss xmm2, xmm13
addss xmm3, dword [rcx + 4]
mov rcx, qword [rbx + 8]
xorps xmm1, xmm1
sub rcx, qword [rbx]
movaps xmm5, xmm4
sar rcx, 3
addss xmm5, xmm9
test rcx, rcx
js 0x18001032b
cvtsi2ss xmm1, rcx
jmp 0x180010340
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
mulss xmm1, xmm7
movaps xmm0, xmm3
addss xmm0, xmm7
addss xmm1, xmm2
addss xmm2, xmm3
movss xmm3, dword [0x180042d10]
comiss xmm3, xmm4
addss xmm1, xmm0
jb 0x18001037d
movss xmm0, dword [0x180042d14]
comiss xmm0, xmm2
jb 0x18001037d
comiss xmm3, xmm5
ja 0x18001037d
comiss xmm0, xmm1
mov al, 1
jbe 0x180010380
mov al, r12b
test dl, dl
je 0x1800103a1
test al, al
jne 0x1800103a1
cmp byte [0x180042d20], r12b
je 0x1800103a1
cmp byte [0x180042d21], r12b
jne 0x1800103a1
mov qword [0x180042dd0], r12
mov r10, qword [0x180042c28]
xorps xmm0, xmm0
mov qword [rsp + 0x50], r12
mov r9, r12
mov qword [rsp + 0x58], 0xf
mov r15d, r12d
movups xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x40], r12b
test r10, r10
je 0x180010457
mov rax, r12
mov r14, r12
cmp r10, rax
jbe 0x180010c69
mov rdx, qword [0x180042c10]
mov r8, rax
and al, 0x1f
shr r8, 5
movzx ecx, al
mov eax, dword [rdx + r8*4]
bt eax, ecx
jae 0x180010444
test r9, r9
je 0x180010413
lea rdx, [0x18003c988]
lea rcx, [rsp + 0x40]
call fcn.180010c78
mov rdx, qword [rbx]
mov rax, qword [rbx + 8]
sub rax, rdx
sar rax, 3
cmp rax, r14
jbe 0x180010c63
mov rdx, qword [rdx + r14*8]
lea rcx, [rsp + 0x40]
call fcn.180010c78
mov r9, qword [rsp + 0x50]
mov r10, qword [0x180042c28]
inc r15d
inc r14
movsxd rax, r15d
cmp r10, rax
ja 0x1800103e1
test r9, r9
jne 0x180010468
lea rdx, [0x18003c98c]
lea rcx, [rsp + 0x40]
call fcn.180010c78
movups xmm0, xmmword [0x18003c9d8]
lea r8, [rsp + 0x70]
movaps xmm1, xmm11
xorps xmm3, xmm3
movdqa xmmword [rsp + 0x70], xmm0
xorps xmm14, xmm14
unpcklps xmm1, xmm8
movaps xmm0, xmm9
unpcklps xmm0, xmm7
movq rcx, xmm1
movq rdx, xmm0
movsd qword [rbp - 0x80], xmm0
movsd qword [rbp - 0x78], xmm1
call qword [0x180042d48]
cmp qword [0x180042dd8], r12
mov r9, qword [0x180042dd0]
jne 0x1800104c1
mov dl, 1
test r9, r9
je 0x1800104c4
mov dl, r12b
mov rax, qword [0x180042df8]
movaps xmm4, xmm11
movss xmm3, dword [0x180040c00]
movss xmm6, dword [0x180042d10]
mulss xmm3, xmm15
movss xmm0, dword [rax + 4]
addss xmm4, dword [rax]
addss xmm0, xmm8
addss xmm3, xmm13
comiss xmm6, xmm4
movaps xmm1, xmm0
movaps xmm5, xmm4
addss xmm1, xmm7
movaps xmm2, xmm3
addss xmm5, xmm9
addss xmm2, xmm0
addss xmm1, xmm3
jb 0x18001052f
movss xmm0, dword [0x180042d14]
comiss xmm0, xmm2
jb 0x18001052f
comiss xmm6, xmm5
ja 0x18001052f
comiss xmm0, xmm1
mov cl, 1
jbe 0x180010532
mov cl, r12b
movaps xmm0, xmmword [0x18003cea0]
movss xmm10, dword [0x18003cca0]
movups xmmword [rsp + 0x60], xmm0
test cl, cl
je 0x1800105bc
cmp byte [0x180042d20], r12b
mov dword [rsp + 0x60], 0x3f20a0a1
mov dword [rsp + 0x64], 0x3f20a0a1
mov dword [rsp + 0x68], 0x3f20a0a1
je 0x1800105bc
cmp byte [0x180042d21], r12b
jne 0x1800105bc
test dl, dl
je 0x1800105bc
mov rcx, r12
cmp byte [rsi], r12b
je 0x18001058a
inc rcx
cmp byte [rsi + rcx], r12b
jne 0x180010581
mov rdx, r12
test rcx, rcx
je 0x1800105b0
movabs r10, 0x100000001b3
movsx rax, byte [rdx + rsi]
inc rdx
imul rdi, r10
xor rdi, rax
cmp rdx, rcx
jb 0x18001059c
mov qword [0x180042dd0], rdi
jmp 0x180010a1b
mov rdx, r12
cmp byte [rsi], r12b
je 0x1800105cd
inc rdx
cmp byte [rdx + rsi], r12b
jne 0x1800105c4
mov r8, r12
test rdx, rdx
je 0x1800105f3
movabs r10, 0x100000001b3
movsx rcx, byte [r8 + rsi]
inc r8
imul rdi, r10
xor rdi, rcx
cmp r8, rdx
jb 0x1800105df
cmp r9, rdi
jne 0x180010a1b
mov rdx, qword [rbx + 8]
xorps xmm1, xmm1
sub rdx, qword [rbx]
movups xmm0, xmmword [0x180041010]
sar rdx, 3
movups xmmword [rsp + 0x60], xmm0
test rdx, rdx
js 0x180010622
cvtsi2ss xmm1, rdx
jmp 0x180010637
mov rcx, rdx
and edx, 1
shr rcx, 1
or rcx, rdx
cvtsi2ss xmm1, rcx
addss xmm1, xmm1
movups xmm0, xmmword [0x18003c9d8]
lea r9, [rsp + 0x70]
addss xmm3, dword [rax + 4]
mulss xmm1, xmm7
lea rcx, [0x180042d88]
movdqa xmmword [rsp + 0x70], xmm0
movaps xmm2, xmm7
addss xmm2, xmm8
movss dword [rsp + 0x20], xmm14
movaps xmm0, xmm9
unpcklps xmm0, xmm1
movaps xmm1, xmm4
movq r8, xmm0
addss xmm2, xmm3
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.180014dbc
mov rdx, qword [rbx + 8]
mov r14d, r12d
mov r8, qword [rbx]
mov rax, rdx
sub rax, r8
sar rax, 3
test rax, rax
je 0x180010981
mov rdi, r12
mov rax, qword [0x180042df8]
xorps xmm6, xmm6
movss xmm2, dword [0x180040c00]
movaps xmm3, xmm11
movss xmm10, dword [0x180042d10]
movaps xmm0, xmm2
mulss xmm0, dword [0x18003ccc0]
movaps xmm4, xmm8
addss xmm3, dword [rax]
addss xmm4, dword [rax + 4]
cvtsi2ss xmm6, r14d
comiss xmm10, xmm3
addss xmm6, dword [0x18003cca8]
mulss xmm2, xmm15
movaps xmm1, xmm6
addss xmm2, xmm13
addss xmm1, dword [0x18003cca8]
mulss xmm6, xmm7
mulss xmm1, xmm7
subss xmm1, xmm0
jb 0x180010813
movss xmm5, dword [0x180042d14]
movaps xmm0, xmm6
addss xmm0, xmm4
addss xmm0, xmm2
comiss xmm5, xmm0
jb 0x180010813
addss xmm3, xmm9
comiss xmm10, xmm3
ja 0x180010813
addss xmm1, xmm4
addss xmm1, xmm2
comiss xmm5, xmm1
ja 0x180010813
cmp byte [0x180042d20], r12b
mov r15b, 1
je 0x1800107b7
cmp byte [0x180042d21], r12b
jne 0x1800107b7
mov rax, qword [0x180042c28]
movsxd rcx, r14d
cmp rax, rcx
jbe 0x180010c6f
mov r9, qword [0x180042c10]
mov r8, rcx
shr r8, 5
cmp rax, rcx
jbe 0x180010c6f
mov edx, dword [r9 + r8*4]
and ecx, 0x1f
mov eax, 1
shl eax, cl
test edx, eax
jne 0x1800107a9
bts edx, ecx
jmp 0x1800107ac
btr edx, ecx
mov dword [r9 + r8*4], edx
mov rax, qword [0x180042df8]
addss xmm2, dword [rax + 4]
movaps xmm0, xmmword [0x18003ce60]
lea r9, [rsp + 0x70]
movq qword [rsp + 0x70], xmm0
lea rcx, [0x180042d88]
psrldq xmm0, 8
movaps xmm1, xmm11
addss xmm1, dword [rax]
movq qword [rsp + 0x78], xmm0
addss xmm2, xmm8
movaps xmm0, xmm9
movss dword [rsp + 0x20], xmm14
unpcklps xmm0, xmm7
movq r8, xmm0
addss xmm2, xmm6
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.180014dbc
jmp 0x180010816
mov r15b, r12b
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
sub rax, rcx
sar rax, 3
cmp rax, rdi
jbe 0x180010c57
mov rax, qword [0x180042790]
mov rcx, qword [rcx + rdi*8]
call rax
mov rdx, rax
lea rcx, [rbp + 0xb8]
call qword [0x180042d58]
movsxd rax, r14d
cmp qword [0x180042c28], rax
jbe 0x180010c6f
mov rdx, qword [0x180042c10]
mov r8, rax
and al, 0x1f
shr r8, 5
movzx ecx, al
mov eax, dword [rdx + r8*4]
bt eax, ecx
jae 0x180010887
movups xmm0, xmmword [0x180040f70]
lea rcx, [rbp - 0x68]
movups xmmword [rbp - 0x68], xmm0
jmp 0x1800108b8
test r15b, r15b
je 0x18001089d
movaps xmm0, xmmword [0x18003cee0]
lea rax, [rbp - 0x58]
movups xmmword [rbp - 0x58], xmm0
jmp 0x1800108ac
movaps xmm0, xmmword [0x18003cea0]
lea rax, [rbp - 0x48]
movups xmmword [rbp - 0x48], xmm0
movups xmm0, xmmword [rax]
lea rcx, [rbp - 0x38]
movdqu xmmword [rbp - 0x38], xmm0
mov r8, qword [rbx]
mov rax, qword [rbx + 8]
sub rax, r8
sar rax, 3
cmp rax, rdi
jbe 0x180010c57
mov rax, qword [0x180042df8]
lea r9, [rsp + 0x30]
movss xmm2, dword [0x180040c00]
movaps xmm3, xmm11
movss xmm10, dword [0x18003cca0]
movaps xmm0, xmm2
mulss xmm0, dword [0x18003ccdc]
movaps xmm1, xmm7
mov r8, qword [r8 + rdi*8]
addss xmm3, dword [rax]
mulss xmm2, xmm15
mov dword [rsp + 0x20], r12d
mulss xmm1, xmm10
addss xmm2, dword [rax + 4]
addss xmm3, xmm0
movss xmm0, dword [rbp + 0xbc]
mulss xmm0, xmm10
addss xmm2, xmm13
subss xmm1, xmm0
movups xmm0, xmmword [rcx]
lea rcx, [0x180042d88]
addss xmm2, xmm8
addss xmm1, xmm6
movdqu xmmword [rsp + 0x30], xmm0
addss xmm2, xmm1
unpcklps xmm3, xmm2
movq rdx, xmm3
call fcn.180014c54
mov rdx, qword [rbx + 8]
inc r14d
mov r8, qword [rbx]
mov rcx, rdx
sub rcx, r8
movsxd rax, r14d
sar rcx, 3
inc rdi
cmp rax, rcx
jb 0x1800106a8
sub rdx, r8
xorps xmm3, xmm3
sar rdx, 3
test rdx, rdx
js 0x180010997
cvtsi2ss xmm3, rdx
jmp 0x1800109ac
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm3, rax
addss xmm3, xmm3
mov rax, qword [0x180042df8]
lea r9, [rsp + 0x30]
movss xmm2, dword [0x180040c00]
lea rcx, [0x180042d88]
movaps xmm0, xmm7
mulss xmm2, xmm15
addss xmm0, xmm8
mulss xmm3, xmm7
movaps xmm1, xmm11
movss dword [rsp + 0x20], xmm14
addss xmm2, dword [rax + 4]
addss xmm1, dword [rax]
addss xmm0, xmm13
addss xmm2, xmm0
movups xmm0, xmmword [0x180041020]
movdqa xmmword [rsp + 0x30], xmm0
movaps xmm0, xmm9
unpcklps xmm0, xmm3
unpcklps xmm1, xmm2
movq r8, xmm0
movq rdx, xmm1
call fcn.180014d08
mov rax, qword [0x180042790]
lea rcx, [rsp + 0x40]
mov r14d, 0xf
cmp qword [rsp + 0x58], r14
cmova rcx, qword [rsp + 0x40]
call rax
mov rdx, rax
lea rcx, [rbp + 0xa0]
call qword [0x180042d58]
mov rax, qword [0x180042790]
mov rcx, rsi
call rax
mov rdx, rax
lea rcx, [rbp - 0x70]
call qword [0x180042d58]
movss xmm0, dword [0x180040c00]
movaps xmm2, xmm11
mulss xmm0, dword [0x18003ccdc]
addss xmm2, xmm9
mov r8b, 1
movaps xmm1, xmm7
addss xmm1, xmm8
subss xmm2, xmm0
unpcklps xmm2, xmm1
movaps xmm1, xmm11
unpcklps xmm1, xmm8
movq rdx, xmm2
movq rcx, xmm1
call qword [0x180042d70]
movss xmm2, dword [0x180040c00]
lea rdx, [rsp + 0x40]
mulss xmm2, dword [0x18003ccdc]
lea r8, [rsp + 0x30]
cmp qword [rsp + 0x58], r14
movss xmm0, dword [rbp + 0xa4]
movaps xmm1, xmm7
cmova rdx, qword [rsp + 0x40]
xor r9d, r9d
movups xmm6, xmmword [rsp + 0x60]
mov rax, qword [0x180042d50]
mulss xmm1, xmm10
mulss xmm0, xmm10
movdqa xmmword [rsp + 0x30], xmm6
subss xmm1, xmm0
unpcklps xmm2, xmm1
movq rcx, xmm2
call rax
call qword [0x180042d78]
movups xmm0, xmmword [0x180041020]
mov rdx, qword [rbp - 0x80]
lea r8, [rsp + 0x30]
mov rcx, qword [rbp - 0x78]
movaps xmm3, xmm14
movdqa xmmword [rsp + 0x30], xmm0
call qword [0x180042d40]
subss xmm8, dword [rbp - 0x6c]
movaps xmm0, xmm11
lea r8, [rsp + 0x30]
xor r9d, r9d
mov rdx, rsi
movups xmmword [rsp + 0x30], xmm6
unpcklps xmm0, xmm8
movq rcx, xmm0
call qword [0x180042d50]
mov rax, qword [0x180042df8]
mov edi, 0x1000
movss xmm0, dword [0x180040c00]
mulss xmm0, dword [0x18003ccdc]
addss xmm0, xmm7
addss xmm7, dword [rax + 0x14]
addss xmm0, xmm7
movss dword [rax + 0x14], xmm0
mov rdx, qword [rsp + 0x58]
cmp rdx, r14
jbe 0x180010bbc
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x180010bb7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180010c5d
call fcn.180025d04
mov rcx, qword [rbx]
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], r14
mov byte [rsp + 0x40], r12b
test rcx, rcx
je 0x180010c0b
mov rdx, qword [rbx + 0x10]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, rdi
jb 0x180010bfb
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180010c5d
mov rcx, r8
call fcn.180025d04
mov qword [rbx], r12
mov qword [rbx + 8], r12
mov qword [rbx + 0x10], r12
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
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 xmm13, xmmword [r11 - 0x70]
movaps xmm14, xmmword [r11 - 0x80]
movaps xmm15, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.180010e74
int3
call fcn.18002a11c
int3
call fcn.180010e74
int3
call fcn.180010e3c
int3
call fcn.180010e3c
int3