Function at 0x18000f91c
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], rdi
mov qword [rax + 8], rcx
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x140
movaps xmmword [rax - 0x38], xmm6
xor r13d, r13d
movaps xmmword [rax - 0x48], xmm7
mov r12, r9
movaps xmmword [rax - 0x58], xmm8
mov rbx, r8
movaps xmmword [rax - 0x68], xmm9
mov r14, rdx
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
mov rax, qword [0x180042df8]
test rax, rax
jne 0x18000fa2f
mov rcx, qword [r8]
test rcx, rcx
je 0x18000f9de
mov rdx, qword [r8 + 0x10]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x18000f9ce
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800101b4
mov rcx, r8
call fcn.180025d04
mov qword [rbx], r13
mov qword [rbx + 8], r13
mov qword [rbx + 0x10], r13
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
movss xmm9, dword [0x180040c00]
lea r8, [rsp + 0x40]
movss xmm12, dword [rax + 8]
movaps xmm0, xmm9
mulss xmm0, dword [0x18003cd28]
movaps xmm10, xmm9
mulss xmm9, dword [0x18003cd18]
xorps xmm3, xmm3
movss xmm13, dword [rax + 0x10]
subss xmm12, xmm0
movups xmm0, xmmword [0x18003c9d8]
movss xmm14, dword [0x18003cd04]
movaps xmm1, xmm13
movdqa xmmword [rsp + 0x40], xmm0
mulss xmm10, xmm14
movaps xmm0, xmm12
unpcklps xmm0, xmm9
movq rdx, xmm0
addss xmm10, dword [rax + 0x14]
unpcklps xmm1, xmm10
movq rcx, xmm1
call qword [0x180042d48]
movaps xmm0, xmmword [0x18003ce20]
lea r8, [rsp + 0x30]
movq qword [rsp + 0x30], xmm0
movaps xmm1, xmm13
psrldq xmm0, 8
xorps xmm3, xmm3
movq qword [rsp + 0x38], xmm0
movaps xmm0, xmm12
unpcklps xmm0, xmm9
unpcklps xmm1, xmm10
movq rdx, xmm0
movq rcx, xmm1
call qword [0x180042d40]
cmp qword [0x180042dd8], r13
mov rdi, qword [0x180042dd0]
jne 0x18000fb02
mov cl, 1
test rdi, rdi
je 0x18000fb05
mov cl, r13b
movss xmm4, dword [0x180040c00]
movaps xmm5, xmm13
mov rsi, qword [0x180042df8]
movaps xmm8, xmm12
movss xmm11, dword [0x18003ccfc]
movaps xmm7, xmm9
movss xmm6, dword [0x180042d10]
movss xmm3, dword [0x180042d14]
addss xmm5, dword [rsi]
mulss xmm4, xmm14
comiss xmm6, xmm5
addss xmm4, xmm11
addss xmm8, xmm5
movaps xmm2, xmm4
addss xmm2, dword [rsi + 4]
addss xmm2, xmm10
addss xmm7, xmm2
jb 0x18000fb74
comiss xmm3, xmm2
jb 0x18000fb74
comiss xmm6, xmm8
ja 0x18000fb74
comiss xmm3, xmm7
mov al, 1
jbe 0x18000fb77
mov al, r13b
movaps xmm0, xmmword [0x18003cec0]
mov r10b, byte [0x180042d21]
mov r11b, byte [0x180042d20]
movups xmmword [rsp + 0x30], xmm0
test al, al
je 0x18000fbfc
movups xmm0, xmmword [0x18003c9e8]
movups xmmword [rsp + 0x30], xmm0
test r11b, r11b
je 0x18000fbfc
test r10b, r10b
jne 0x18000fbfc
test cl, cl
je 0x18000fbfc
mov rdx, r13
cmp byte [r14], r13b
je 0x18000fbc0
inc rdx
cmp byte [rdx + r14], r13b
jne 0x18000fbb7
movabs rcx, 0xcbf29ce484222325
mov r8, r13
test rdx, rdx
je 0x18000fbf0
movabs r9, 0x100000001b3
movsx rax, byte [r8 + r14]
inc r8
imul rcx, r9
xor rcx, rax
cmp r8, rdx
jb 0x18000fbdc
mov qword [0x180042dd0], rcx
jmp 0x18001007d
mov rdx, r13
cmp byte [r14], r13b
je 0x18000fc0d
inc rdx
cmp byte [rdx + r14], r13b
jne 0x18000fc04
movabs rcx, 0xcbf29ce484222325
mov r8, r13
test rdx, rdx
je 0x18000fc3d
movabs r9, 0x100000001b3
movsx rax, byte [r8 + r14]
inc r8
imul rcx, r9
xor rcx, rax
cmp r8, rdx
jb 0x18000fc29
cmp rdi, rcx
jne 0x18001007d
movups xmm0, xmmword [0x180041010]
mov rcx, qword [rbx + 8]
sub rcx, qword [rbx]
sar rcx, 3
movups xmmword [rsp + 0x30], xmm0
xorps xmm0, xmm0
test rcx, rcx
js 0x18000fc6c
cvtsi2ss xmm0, rcx
jmp 0x18000fc81
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
comiss xmm6, xmm5
mulss xmm0, xmm9
addss xmm0, xmm7
jb 0x18000fc9f
comiss xmm3, xmm2
jb 0x18000fc9f
comiss xmm6, xmm8
ja 0x18000fc9f
comiss xmm3, xmm0
jbe 0x18000fcb0
test r11b, r11b
je 0x18000fcb0
test r10b, r10b
jne 0x18000fcb0
mov qword [0x180042dd0], r13
mov rcx, qword [rbx + 8]
xorps xmm3, xmm3
sub rcx, qword [rbx]
sar rcx, 3
test rcx, rcx
js 0x18000fcca
cvtsi2ss xmm3, rcx
jmp 0x18000fcdf
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm3, rax
addss xmm3, xmm3
movups xmm0, xmmword [0x18003c9d8]
lea r9, [rsp + 0x40]
addss xmm4, dword [rsi + 4]
movaps xmm1, xmm13
movdqa xmmword [rsp + 0x40], xmm0
addss xmm1, dword [rsi]
movaps xmm2, xmm9
mulss xmm3, xmm9
lea rcx, [0x180042d88]
addss xmm2, xmm10
movaps xmm0, xmm12
xorps xmm6, xmm6
unpcklps xmm0, xmm3
movq r8, xmm0
movss dword [rsp + 0x20], xmm6
addss xmm2, xmm4
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.180014dbc
mov rdx, qword [rbx + 8]
mov r15d, r13d
mov r8, qword [rbx]
mov rax, rdx
sub rax, r8
sar rax, 3
test rax, rax
je 0x18000ffd7
movss xmm8, dword [0x18003cca8]
mov rsi, r13
movss xmm5, dword [0x180040c00]
xorps xmm4, xmm4
mov rax, qword [0x180042df8]
movss xmm7, dword [0x180042d10]
cvtsi2ss xmm4, r15d
movss xmm2, dword [rax]
addss xmm4, xmm8
mulss xmm5, xmm14
addss xmm2, xmm13
movaps xmm1, xmm5
addss xmm1, dword [rax + 4]
movaps xmm3, xmm4
mulss xmm4, xmm9
comiss xmm7, xmm2
addss xmm3, xmm8
addss xmm1, xmm11
mulss xmm3, xmm9
subss xmm3, dword [0x18003ccc0]
jb 0x18000fe8a
movss xmm6, dword [0x180042d14]
addss xmm1, xmm10
movaps xmm0, xmm4
addss xmm0, xmm1
comiss xmm6, xmm0
jb 0x18000fe87
addss xmm2, xmm12
comiss xmm7, xmm2
ja 0x18000fe87
addss xmm1, xmm3
comiss xmm6, xmm1
ja 0x18000fe87
cmp byte [0x180042d20], r13b
mov dil, 1
je 0x18000fe23
cmp byte [0x180042d21], r13b
jne 0x18000fe23
mov dword [r12], r15d
mov rax, qword [0x180042df8]
mov qword [0x180042dd0], r13
addss xmm5, dword [rax + 4]
movaps xmm0, xmmword [0x18003ce60]
lea r9, [rsp + 0x40]
movq qword [rsp + 0x40], xmm0
lea rcx, [0x180042d88]
psrldq xmm0, 8
movaps xmm1, xmm13
addss xmm1, dword [rax]
addss xmm5, xmm11
movq qword [rsp + 0x48], xmm0
movaps xmm0, xmm12
xorps xmm6, xmm6
unpcklps xmm0, xmm9
movq r8, xmm0
movss dword [rsp + 0x20], xmm6
addss xmm5, xmm10
addss xmm5, xmm4
unpcklps xmm1, xmm5
movq rdx, xmm1
call fcn.180014dbc
jmp 0x18000fe8d
xorps xmm6, xmm6
mov dil, r13b
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
sub rax, rcx
sar rax, 3
cmp rax, rsi
jbe 0x1800101c0
mov rax, qword [0x180042790]
mov rcx, qword [rcx + rsi*8]
call rax
mov rdx, rax
lea rcx, [rbp + 0x70]
call qword [0x180042d58]
cmp dword [r12], r15d
jne 0x18000fed7
movups xmm0, xmmword [0x180040f70]
lea rcx, [rsp + 0x70]
movups xmmword [rsp + 0x70], xmm0
jmp 0x18000ff08
test dil, dil
je 0x18000feed
movaps xmm0, xmmword [0x18003cee0]
lea rax, [rbp - 0x80]
movups xmmword [rbp - 0x80], xmm0
jmp 0x18000fefc
movaps xmm0, xmmword [0x18003cea0]
lea rax, [rbp - 0x70]
movups xmmword [rbp - 0x70], xmm0
movups xmm0, xmmword [rax]
lea rcx, [rbp - 0x60]
movdqu xmmword [rbp - 0x60], xmm0
mov r8, qword [rbx]
mov rax, qword [rbx + 8]
sub rax, r8
sar rax, 3
cmp rax, rsi
jbe 0x1800101c0
movss xmm0, dword [rbp + 0x74]
lea r9, [rsp + 0x50]
mulss xmm0, dword [0x18003cca0]
movaps xmm3, xmm13
mov rax, qword [0x180042df8]
mov r8, qword [r8 + rsi*8]
movaps xmm2, xmm9
mulss xmm2, dword [0x18003cca0]
mov dword [rsp + 0x20], r13d
addss xmm3, dword [rax]
movd xmm1, r15d
subss xmm2, xmm0
movss xmm0, dword [0x180040c00]
mulss xmm0, xmm14
addss xmm3, dword [0x18003ccdc]
cvtdq2ps xmm1, xmm1
addss xmm0, dword [rax + 4]
addss xmm1, xmm8
addss xmm0, xmm11
mulss xmm1, xmm9
addss xmm0, xmm10
addss xmm2, xmm1
addss xmm2, xmm0
movups xmm0, xmmword [rcx]
lea rcx, [0x180042d88]
movdqu xmmword [rsp + 0x50], xmm0
unpcklps xmm3, xmm2
movq rdx, xmm3
call fcn.180014c54
mov rdx, qword [rbx + 8]
inc r15d
mov r8, qword [rbx]
mov rcx, rdx
sub rcx, r8
movsxd rax, r15d
sar rcx, 3
inc rsi
cmp rax, rcx
jb 0x18000fd62
movaps xmm4, xmmword [0x18003ce20]
sub rdx, r8
sar rdx, 3
xorps xmm3, xmm3
test rdx, rdx
js 0x18000fff4
cvtsi2ss xmm3, rdx
jmp 0x180010009
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 + 0x40]
movss xmm2, dword [0x180040c00]
lea rcx, [0x180042d88]
movaps xmm0, xmm9
mulss xmm2, xmm14
addss xmm0, xmm10
mulss xmm3, xmm9
movaps xmm1, xmm13
movq qword [rsp + 0x40], xmm4
addss xmm2, dword [rax + 4]
addss xmm1, dword [rax]
addss xmm0, xmm11
psrldq xmm4, 8
movss dword [rsp + 0x20], xmm6
movq qword [rsp + 0x48], xmm4
addss xmm2, xmm0
movaps xmm0, xmm12
unpcklps xmm0, xmm3
movq r8, xmm0
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.180014d08
mov rdx, qword [rbx]
mov rax, qword [rbx + 8]
movsxd rcx, dword [r12]
sub rax, rdx
sar rax, 3
cmp rax, rcx
jbe 0x1800101ba
mov rax, qword [0x180042790]
mov rcx, qword [rdx + rcx*8]
call rax
mov rdx, rax
lea rcx, [rsp + 0x60]
call qword [0x180042d58]
mov rax, qword [0x180042790]
mov rcx, r14
call rax
mov rdx, rax
lea rcx, [rsp + 0x68]
call qword [0x180042d58]
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
movsxd rdx, dword [r12]
sub rax, rcx
mov r10, qword [0x180042d50]
movups xmm6, xmmword [rsp + 0x30]
sar rax, 3
cmp rax, rdx
jbe 0x1800101ba
movss xmm2, dword [0x180040c00]
lea r8, [rsp + 0x50]
mulss xmm2, dword [0x18003ccdc]
movaps xmm1, xmm9
xor r9d, r9d
mov rdx, qword [rcx + rdx*8]
mulss xmm1, dword [0x18003cca0]
movss xmm0, dword [rsp + 0x64]
addss xmm2, xmm13
mulss xmm0, dword [0x18003cca0]
movdqa xmmword [rsp + 0x50], xmm6
subss xmm1, xmm0
addss xmm1, xmm10
unpcklps xmm2, xmm1
movq rcx, xmm2
call r10
subss xmm10, dword [rsp + 0x6c]
movaps xmm0, xmm13
lea r8, [rsp + 0x50]
xor r9d, r9d
mov rdx, r14
movups xmmword [rsp + 0x50], xmm6
unpcklps xmm0, xmm10
movq rcx, xmm0
call qword [0x180042d50]
mov rax, qword [0x180042df8]
movss xmm0, dword [0x180040c00]
mulss xmm0, dword [0x18003ccdc]
addss xmm0, xmm9
addss xmm9, dword [rax + 0x14]
addss xmm0, xmm9
movss dword [rax + 0x14], xmm0
mov rcx, qword [rbx]
test rcx, rcx
je 0x18000f9de
mov rdx, qword [rbx + 0x10]
jmp 0x18000f9a2
call fcn.18002a11c
int3
call fcn.180010e74
int3
call fcn.180010e74
int3