Function at 0x18000df58
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 + 8], rcx
push rbp
push rdi
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
movaps xmmword [rax - 0x38], xmm6
mov r15, r9
movaps xmmword [rax - 0x48], xmm7
mov rsi, r8
movaps xmmword [rax - 0x58], xmm8
mov rdi, rdx
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x180042df8]
movaps xmmword [rsp + 0x70], xmm11
movaps xmmword [rsp + 0x60], xmm12
test rax, rax
je 0x18000e57a
movss xmm10, dword [0x180040c00]
mov rcx, rdx
movss xmm7, dword [rax + 0x10]
movaps xmm6, xmm10
mulss xmm6, dword [0x18003ccc0]
mulss xmm10, dword [0x18003ccec]
addss xmm6, dword [rax + 0x14]
mov rax, qword [0x180042790]
call rax
mov rdx, rax
lea rcx, [rbp - 0x69]
call qword [0x180042d58]
cmp qword [0x180042dd8], 0
mov ebx, 1
mov r11, qword [0x180042dd0]
jne 0x18000e017
test r11, r11
jne 0x18000e017
mov r10b, bl
jmp 0x18000e01a
xor r10b, r10b
xor ecx, ecx
cmp byte [rdi], cl
je 0x18000e029
add rcx, rbx
cmp byte [rcx + rdi], 0
jne 0x18000e020
xor r9d, r9d
movabs r8, 0xcbf29ce484222325
mov rdx, r8
movabs r13, 0x100000001b3
test rcx, rcx
je 0x18000e05c
movsx rax, byte [r9 + rdi]
add r9, rbx
imul rdx, r13
xor rdx, rax
cmp r9, rcx
jb 0x18000e048
mov rax, qword [0x180042df8]
movaps xmm1, xmm7
movss xmm0, dword [0x180040c00]
movaps xmm2, xmm6
mulss xmm0, dword [0x18003cd04]
cmp r11, rdx
addss xmm1, dword [rax]
addss xmm2, dword [rax + 4]
addss xmm0, dword [0x18003ccfc]
movss xmm5, dword [0x180042d10]
sete cl
comiss xmm5, xmm1
movaps xmm4, xmm2
movaps xmm3, xmm1
addss xmm3, xmm10
addss xmm4, xmm10
addss xmm2, xmm0
addss xmm3, dword [rbp - 0x69]
addss xmm4, xmm0
jb 0x18000e11e
movss xmm0, dword [0x180042d14]
comiss xmm0, xmm2
jb 0x18000e11e
comiss xmm5, xmm3
ja 0x18000e11e
comiss xmm0, xmm4
ja 0x18000e11e
mov r14b, bl
test cl, cl
jne 0x18000e125
test r10b, r10b
je 0x18000e142
mov ecx, 0x143
call fcn.1800142cc
test al, al
je 0x18000e142
xor ecx, ecx
cmp byte [rdi], cl
je 0x18000e0fa
add rcx, rbx
cmp byte [rcx + rdi], 0
jne 0x18000e0f1
xor edx, edx
test rcx, rcx
je 0x18000e115
movsx rax, byte [rdx + rdi]
add rdx, rbx
imul r8, r13
xor r8, rax
cmp rdx, rcx
jb 0x18000e101
mov qword [0x180042dd0], r8
jmp 0x18000e142
xor r14b, r14b
test cl, cl
je 0x18000e142
mov ecx, 0x143
call fcn.1800142cc
test al, al
jne 0x18000e142
and qword [0x180042dd0], 0
cmp byte [rsi], al
sete al
mov byte [rsi], al
movaps xmm0, xmmword [0x18003ce70]
lea r8, [rbp - 0x59]
movq qword [rbp - 0x59], xmm0
movaps xmm1, xmm7
psrldq xmm0, 8
xorps xmm3, xmm3
movq qword [rbp - 0x51], xmm0
movaps xmm0, xmm10
unpcklps xmm0, xmm10
unpcklps xmm1, xmm6
movq rdx, xmm0
movq rcx, xmm1
call qword [0x180042d48]
cmp byte [rsi], 0
movaps xmm8, xmm7
movaps xmm9, xmm10
unpcklps xmm8, xmm6
unpcklps xmm9, xmm10
je 0x18000e1b5
movups xmm0, xmmword [0x180040f70]
lea r8, [rbp - 0x49]
xorps xmm3, xmm3
movq rdx, xmm9
movq rcx, xmm8
movdqa xmmword [rbp - 0x49], xmm0
call qword [0x180042d48]
movups xmm0, xmmword [0x180041020]
lea r8, [rbp - 0x49]
xorps xmm3, xmm3
movq rdx, xmm9
movq rcx, xmm8
movdqa xmmword [rbp - 0x49], xmm0
call qword [0x180042d40]
cmp byte [rsi], 0
mov r10, qword [0x180042d50]
je 0x18000e1ed
lea rax, [0x180041010]
jmp 0x18000e202
test r14b, r14b
lea rax, [0x180040e88]
lea rcx, [0x180040e98]
cmove rax, rcx
movss xmm0, dword [rbp - 0x65]
lea r8, [rbp - 0x49]
movaps xmm11, xmm10
movaps xmm12, xmm10
addss xmm11, xmm7
xor r9d, r9d
movss xmm7, dword [0x18003cca0]
mov rdx, rdi
mulss xmm0, xmm7
mulss xmm12, xmm7
movaps xmm2, xmm11
addss xmm2, dword [0x18003cce8]
movaps xmm1, xmm12
subss xmm1, xmm0
movups xmm0, xmmword [rax]
movdqu xmmword [rbp - 0x49], xmm0
addss xmm1, xmm6
unpcklps xmm2, xmm1
movq rcx, xmm2
call r10
cmp byte [r15 + 8], 0
je 0x18000e555
mov rax, qword [0x180042790]
lea rcx, [rbp - 0x59]
movabs rdi, 0xceefa38721fd3c80
movabs rsi, 0xe250bf0209ac6643
mov qword [rbp - 0x59], rsi
movabs r14, 0xe250bf020985596b
mov qword [rbp - 0x51], rdi
movdqa xmm0, xmmword [rbp - 0x59]
mov qword [rbp - 0x49], r14
mov qword [rbp - 0x41], rdi
xorps xmm0, xmmword [rbp - 0x49]
movdqa xmmword [rbp - 0x59], xmm0
call rax
mov rdx, rax
lea rcx, [rbp + 0x67]
call qword [0x180042d58]
addss xmm11, dword [rbp - 0x69]
mov rax, qword [0x180042df8]
movss xmm0, dword [rbp + 0x6b]
movss xmm5, dword [0x180042d10]
mulss xmm0, xmm7
addss xmm11, dword [0x18003ccf4]
subss xmm12, xmm0
movaps xmm1, xmm11
addss xmm1, dword [rax]
addss xmm12, xmm6
comiss xmm5, xmm1
movaps xmm2, xmm12
movaps xmm4, xmm1
addss xmm2, dword [rax + 4]
addss xmm4, dword [rbp + 0x67]
movaps xmm3, xmm2
addss xmm3, dword [rbp + 0x6b]
addss xmm2, dword [0x18003cd34]
addss xmm3, dword [0x18003cd34]
jb 0x18000e339
movss xmm0, dword [0x180042d14]
comiss xmm0, xmm2
jb 0x18000e339
comiss xmm5, xmm4
ja 0x18000e339
comiss xmm0, xmm3
jbe 0x18000e33b
xor bl, bl
mov qword [rbp - 0x51], rdi
lea rcx, [0x180040e78]
mov qword [rbp - 0x41], rdi
lea rax, [0x180040ea8]
mov qword [rbp - 0x59], rsi
lea r8, [rbp - 0x49]
movdqa xmm0, xmmword [rbp - 0x59]
lea rdx, [rbp - 0x59]
mov qword [rbp - 0x49], r14
test bl, bl
xorps xmm0, xmmword [rbp - 0x49]
mov edi, 4
movdqa xmmword [rbp - 0x59], xmm0
cmove rax, rcx
mov r9d, edi
movups xmm0, xmmword [rax]
movdqu xmmword [rbp - 0x49], xmm0
movaps xmm0, xmm11
unpcklps xmm0, xmm12
movq rcx, xmm0
call qword [0x180042d50]
test bl, bl
je 0x18000e555
cmp qword [0x180042dd0], 0
jne 0x18000e555
mov rax, qword [0x180042790]
mov rcx, qword [r15]
call rax
mov rcx, qword [0x180042df8]
movaps xmm0, xmm10
addss xmm0, xmm10
mov rdx, rax
mov rax, qword [0x180042d58]
addss xmm11, dword [rcx]
addss xmm12, dword [rcx + 4]
lea rcx, [rbp - 0x59]
addss xmm11, dword [rbp + 0x67]
addss xmm12, dword [rbp + 0x6b]
addss xmm11, dword [0x18003ccd8]
addss xmm12, xmm0
call rax
movss xmm9, dword [0x180040c00]
lea rbx, [0x180042d88]
mulss xmm9, dword [0x18003ccec]
lea r9, [rbp - 0x49]
mov rcx, rbx
movaps xmm0, xmmword [0x18003ce40]
movaps xmm1, xmm11
movss xmm7, dword [0x18003ccd0]
movaps xmm8, xmm9
movq qword [rbp - 0x49], xmm0
addss xmm8, dword [rax]
addss xmm9, dword [rax + 4]
psrldq xmm0, 8
movq qword [rbp - 0x41], xmm0
unpcklps xmm1, xmm12
movaps xmm0, xmm8
movss dword [rsp + 0x20], xmm7
unpcklps xmm0, xmm9
movq rdx, xmm1
movq r8, xmm0
call fcn.180014dbc
movss xmm2, dword [0x180040c00]
lea r9, [rbp - 0x49]
mulss xmm2, dword [0x18003ccd8]
mov rcx, rbx
mov r8, qword [r15]
movups xmm0, xmmword [0x180041010]
mov dword [rsp + 0x20], edi
movaps xmm1, xmm2
addss xmm2, xmm12
addss xmm1, xmm11
movdqa xmmword [rbp - 0x49], xmm0
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.180014c54
movaps xmm1, xmmword [0x18003ce70]
lea r9, [rbp - 0x49]
movaps xmm5, xmm8
movq qword [rbp - 0x49], xmm1
subss xmm5, dword [0x18003ccc0]
movaps xmm3, xmm11
psrldq xmm1, 8
addss xmm3, dword [0x18003cca8]
movaps xmm4, xmm9
movss dword [rsp + 0x20], xmm7
subss xmm4, dword [0x18003ccc0]
movaps xmm2, xmm12
movq qword [rbp - 0x41], xmm1
addss xmm2, dword [0x18003cca8]
mov rcx, rbx
unpcklps xmm5, xmm4
movq r8, xmm5
unpcklps xmm3, xmm2
movq rdx, xmm3
call fcn.180014d08
movups xmm0, xmmword [0x180041020]
lea r9, [rbp - 0x49]
movaps xmm1, xmm11
movss dword [rsp + 0x20], xmm7
movdqa xmmword [rbp - 0x49], xmm0
movaps xmm0, xmm8
unpcklps xmm0, xmm9
unpcklps xmm1, xmm12
movq r8, xmm0
movq rdx, xmm1
mov rcx, rbx
call fcn.180014d08
mulss xmm10, dword [0x180040c00]
mov rax, qword [0x180042df8]
addss xmm10, dword [0x18003ccc0]
addss xmm10, dword [rax + 0x14]
movss dword [rax + 0x14], xmm10
lea r11, [rsp + 0xd0]
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 xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rbp
ret