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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x138]
sub rsp, 0x200
movaps xmmword [rax - 0x48], xmm6
mov r15, rcx
movaps xmmword [rax - 0x58], xmm7
lea rcx, [rsp + 0x48]
movaps xmmword [rax - 0x68], xmm8
mov r12, r9
movaps xmmword [rax - 0x78], xmm9
mov r13, r8
movaps xmmword [rax - 0x88], xmm10
mov r14, rdx
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
call fcn.18002e0d4
movabs rax, 0xa4edff494469c0f
lea rcx, [rbp - 0x20]
mov qword [rbp - 0x20], rax
movabs r9, 0x6f22bab9f135fd4d
movabs rax, 0x39f96b0cccb3fe63
mov qword [rbp + 0x20], r9
mov qword [rbp - 0x18], rax
movabs r10, 0x39f96b0cccb3fe06
mov qword [rbp + 0x28], r10
movabs rbx, 0xcbf29ce484222325
movdqa xmm0, xmmword [rbp + 0x20]
mov rdi, rbx
xorps xmm0, xmmword [rbp - 0x20]
movabs r8, 0x100000001b3
movq rax, xmm0
movdqa xmmword [rbp - 0x20], xmm0
test al, al
je 0x18002c402
inc rcx
movsx rax, al
xor rdi, rax
imul rdi, r8
mov al, byte [rcx]
cmp al, 0
jne 0x18002c3ee
mov rax, qword [r14]
mov rcx, rbx
mov rdx, qword [rax + 0x10]
jmp 0x18002c41c
movsx rax, al
xor rcx, rax
imul rcx, r8
inc rdx
mov al, byte [rdx]
test al, al
jne 0x18002c40e
cmp rcx, rdi
jne 0x18002c4f5
movabs rcx, 0x4a2b06402ec1876a
mov qword [rbp + 0x30], r9
mov qword [rbp + 0x18], rcx
movabs rax, 0x3f46d5f49c508904
mov qword [rbp - 0x10], rax
movabs rax, 0x55901f6fa9d99174
mov qword [rbp - 8], rax
movabs rax, 0x8390f6bc04850942
movdqa xmm0, xmmword [rbp - 0x10]
mov qword [rbp], rax
movabs rax, 0x298c6e81a590f40a
mov qword [rbp + 8], rax
movabs rax, 0x1bfcccdd56727373
movdqa xmm1, xmmword [rbp]
mov qword [rbp + 0x10], rax
movabs rax, 0xeef585cf45a52527
mov qword [rbp + 0x40], rax
movabs rax, 0x48e43dc288e99868
mov qword [rbp + 0x48], rax
movabs rax, 0x1bfcccdd56720301
xorps xmm1, xmmword [rbp + 0x40]
mov qword [rbp + 0x58], rcx
mov rcx, r14
mov qword [rbp + 0x38], r10
xorps xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp - 0x10], xmm0
movdqa xmm0, xmmword [rbp + 0x10]
mov qword [rbp + 0x50], rax
xorps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rbp + 0x10], xmm0
movdqa xmmword [rbp], xmm1
call fcn.18001a41c
lea rdx, [rbp - 0x10]
mov rcx, rax
call fcn.1800158c4
jmp 0x18002c4fd
mov rcx, r14
call fcn.180011534
mov rsi, rax
mov rcx, rbx
mov rax, qword [r14]
mov rdx, qword [rax + 0x10]
mov al, byte [rdx]
test al, al
je 0x18002c52e
movabs r8, 0x100000001b3
inc rdx
movsx rax, al
xor rcx, rax
imul rcx, r8
mov al, byte [rdx]
test al, al
jne 0x18002c51a
cmp rcx, rdi
mov rcx, rsi
je 0x18002c53e
call fcn.1800107ec
mov rcx, rax
call fcn.180010314
mov rax, qword [r14]
mov rcx, rbx
mov rdx, qword [rax + 0x10]
mov al, byte [rdx]
test al, al
je 0x18002c578
movabs r15, 0x100000001b3
inc rdx
movsx rax, al
xor rcx, rax
imul rcx, r15
mov al, byte [rdx]
test al, al
jne 0x18002c55d
mov r15, qword [rbp + 0x140]
cmp rcx, rdi
je 0x18002c588
mov rcx, rsi
call fcn.1800107ec
mov rsi, rax
mov rcx, rsi
call fcn.1800103f8
mov rcx, r14
movss xmm15, dword [rax]
call fcn.18001162c
mov rcx, rsi
movss xmm6, dword [rax]
call fcn.180010314
mov rcx, rax
mov rsi, rax
call fcn.180027e20
mov rcx, rsi
movss xmm0, dword [rax]
movss dword [rsp + 0x5c], xmm0
call fcn.180027f0c
mov rcx, qword [r14]
xor r14d, r14d
movss xmm0, dword [rax]
mov rdx, qword [rcx + 0x10]
movss dword [rbp - 0x64], xmm0
mov cl, byte [rdx]
test cl, cl
je 0x18002c604
movabs r15, 0x100000001b3
inc rdx
movsx rax, cl
xor rbx, rax
imul rbx, r15
mov cl, byte [rdx]
test cl, cl
jne 0x18002c5e9
mov r15, qword [rbp + 0x140]
cmp rbx, rdi
je 0x18002c612
mulss xmm6, xmm15
movaps xmm15, xmm6
movss xmm12, dword [0x1800a2538]
movaps xmm10, xmm0
mov eax, dword [r13 + 8]
movaps xmm11, xmm0
movsd xmm0, qword [r13]
xorps xmm9, xmm9
mulss xmm11, dword [0x1800a33f8]
mov rdi, r14
mov dword [rsp + 0x40], eax
movss xmm2, dword [rsp + 0x40]
movss xmm6, dword [0x1800a2764]
movsd qword [rsp + 0x38], xmm0
movss xmm1, dword [rsp + 0x3c]
movss xmm0, dword [rsp + 0x38]
mulss xmm10, xmm9
mulss xmm11, xmm12
mulss xmm10, xmm12
movss dword [rbp - 0x80], xmm11
movss dword [rsp + 0x34], xmm2
movss dword [rsp + 0x7c], xmm10
movss dword [rsp + 0x30], xmm1
movss dword [rsp + 0x2c], xmm0
subss xmm0, dword [rsp + 0x48]
subss xmm1, dword [rsp + 0x4c]
subss xmm2, dword [rsp + 0x50]
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x48]
movss dword [rbp - 0x48], xmm0
movss dword [rbp - 0x44], xmm1
movss dword [rbp - 0x40], xmm2
call fcn.18002e1cc
movss xmm0, dword [rbp - 0x30]
mov rcx, rsi
movss xmm1, dword [rsp + 0x48]
movaps xmm13, xmm9
movss xmm5, dword [rsp + 0x4c]
mov eax, dword [r13 + 8]
movss xmm7, dword [rbp - 0x38]
movss xmm8, dword [rbp - 0x34]
mulss xmm0, xmm15
mov dword [rbp - 0x50], eax
mulss xmm7, xmm15
movss dword [rbp + 0x148], xmm0
movss xmm0, dword [rsp + 0x50]
mulss xmm8, xmm15
movss dword [rsp + 0x20], xmm0
movsd xmm0, qword [r13]
movsd qword [rbp - 0x58], xmm0
movss dword [rsp + 0x58], xmm7
movss dword [rsp + 0x24], xmm8
movss dword [rsp + 0x28], xmm1
movss dword [rbp + 0x150], xmm5
movss dword [rsp + 0x70], xmm9
movss dword [rsp + 0x74], xmm9
movss dword [rsp + 0x78], xmm9
movss dword [rsp + 0x64], xmm6
movss dword [rsp + 0x68], xmm6
movss dword [rsp + 0x6c], xmm6
movss dword [rsp + 0x60], xmm9
call fcn.180027540
cmp byte [0x1800a83e3], r14b
movss xmm14, dword [rax]
je 0x18002c823
call fcn.180015b48
mov rcx, qword [0x1800a83e8]
movaps xmm6, xmm0
call fcn.18000de60
subss xmm6, xmm0
movss xmm0, dword [0x1800a25b0]
comiss xmm0, xmm6
jbe 0x18002c7b4
call fcn.180015b48
mov rcx, qword [0x1800a83e8]
movaps xmm6, xmm0
call fcn.18000de60
subss xmm6, xmm0
jmp 0x18002c7b7
movaps xmm6, xmm0
movss xmm0, dword [rbp - 0x64]
mulss xmm0, xmm12
subss xmm6, xmm0
movss xmm0, dword [0x1800a33cc]
comiss xmm6, xmm0
ja 0x18002c7d5
movaps xmm6, xmm0
movaps xmm2, xmm8
movaps xmm0, xmm7
mulss xmm2, xmm8
mulss xmm0, xmm7
addss xmm2, xmm0
movss xmm0, dword [rbp + 0x148]
movaps xmm1, xmm0
mulss xmm1, xmm0
addss xmm2, xmm1
movaps xmm0, xmm2
call fcn.18002e330
mov rcx, rsi
movaps xmm14, xmm0
call fcn.180027540
mulss xmm14, xmm6
addss xmm14, dword [rax]
movss dword [0x1800a83f4], xmm14
movss xmm6, dword [rbp - 0x50]
mov rbx, r14
movss xmm7, dword [rbp - 0x54]
movss xmm8, dword [rbp - 0x58]
jmp 0x18002c83f
movss xmm13, dword [rsp + 0x60]
movss xmm5, dword [rsp + 0x28]
movss xmm1, dword [rsp + 0x20]
movaps xmm2, xmm5
movss xmm0, dword [rbp + 0x150]
movaps xmm4, xmm1
addss xmm11, dword [rsp + 0x24]
movaps xmm3, xmm0
movss dword [rbp - 0x6c], xmm0
movss dword [rbp - 0x78], xmm0
movss dword [rbp - 0x68], xmm1
movss dword [rbp - 0x74], xmm1
movss xmm1, dword [rsp + 0x58]
movaps xmm0, xmm1
movss dword [rbp - 0x70], xmm5
mulss xmm0, xmm12
movss dword [rbp - 0x7c], xmm5
addss xmm0, xmm5
movss dword [rsp + 0x28], xmm0
movss xmm0, dword [rsp + 0x24]
mulss xmm0, xmm12
addss xmm0, xmm3
movss dword [rbp + 0x150], xmm0
movss xmm0, dword [rbp + 0x148]
mulss xmm0, xmm12
addss xmm0, xmm4
movss dword [rsp + 0x20], xmm0
movaps xmm0, xmm10
addss xmm0, xmm1
movaps xmm5, xmm0
movaps xmm0, xmm10
addss xmm0, dword [rbp + 0x148]
movaps xmm1, xmm5
mulss xmm1, dword [rsp + 0x5c]
movaps xmm10, xmm0
movaps xmm0, xmm11
mulss xmm0, dword [rsp + 0x5c]
mulss xmm1, xmm12
mulss xmm0, xmm12
subss xmm5, xmm1
movaps xmm1, xmm10
mulss xmm1, dword [rsp + 0x5c]
subss xmm11, xmm0
mulss xmm1, xmm12
movss dword [rsp + 0x58], xmm5
movss xmm5, dword [rbp + 0x150]
subss xmm10, xmm1
movss dword [rsp + 0x24], xmm11
movss xmm1, dword [rsp + 0x28]
movaps xmm11, xmm1
subss xmm11, xmm2
movss xmm2, dword [rsp + 0x48]
subss xmm2, xmm1
movss xmm1, dword [rsp + 0x50]
movss dword [rbp + 0x148], xmm10
movaps xmm10, xmm5
subss xmm10, xmm3
movss xmm3, dword [rsp + 0x20]
movaps xmm0, xmm3
subss xmm1, xmm3
subss xmm0, xmm4
movss dword [rsp + 0x38], xmm11
mulss xmm2, xmm2
movss dword [rsp + 0x3c], xmm10
mulss xmm1, xmm1
movss dword [rbp - 0x60], xmm0
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rsp + 0x4c]
subss xmm0, xmm5
mulss xmm0, xmm0
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.18002e330
comiss xmm0, xmm14
ja 0x18002c9c5
movss xmm0, dword [0x1800a83f4]
ucomiss xmm0, xmm9
jp 0x18002ca03
jne 0x18002ca03
addss xmm13, xmm12
movaps xmm8, xmm13
movss dword [rsp + 0x60], xmm13
mulss xmm8, dword [r12]
movaps xmm7, xmm13
mulss xmm7, dword [r12 + 4]
movaps xmm6, xmm13
mulss xmm6, dword [r12 + 8]
addss xmm8, dword [r13]
addss xmm7, dword [r13 + 4]
addss xmm6, dword [r13 + 8]
movss xmm0, dword [rbp - 0x60]
mulss xmm10, xmm10
mulss xmm0, xmm0
mulss xmm11, xmm11
addss xmm10, xmm11
addss xmm10, xmm0
movaps xmm0, xmm10
call fcn.18002e330
lea rdx, [rbp + 0x20]
movaps xmm13, xmm0
lea rcx, [rsp + 0x38]
call fcn.18002e424
movss xmm10, dword [rsp + 0x38]
movaps xmm2, xmm8
subss xmm2, dword [rbp - 0x7c]
movss xmm11, dword [rsp + 0x3c]
movaps xmm1, xmm7
subss xmm1, dword [rbp - 0x78]
movss xmm12, dword [rsp + 0x40]
movaps xmm0, xmm6
subss xmm0, dword [rbp - 0x74]
mulss xmm2, xmm10
mulss xmm1, xmm11
mulss xmm0, xmm12
addss xmm2, xmm1
addss xmm2, xmm0
comiss xmm9, xmm2
jbe 0x18002ca8c
movaps xmm13, xmm9
jmp 0x18002ca91
minss xmm13, xmm2
mulss xmm10, xmm13
mulss xmm11, xmm13
addss xmm10, dword [rbp - 0x70]
mulss xmm12, xmm13
addss xmm11, dword [rbp - 0x6c]
addss xmm12, dword [rbp - 0x68]
movaps xmm0, xmm10
subss xmm0, xmm8
movaps xmm1, xmm11
subss xmm1, xmm7
movaps xmm2, xmm12
subss xmm2, xmm6
mulss xmm0, xmm0
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm0, xmm1
addss xmm0, xmm2
call fcn.18002e330
movaps xmm13, xmm0
movss xmm0, dword [0x1800a2e80]
comiss xmm0, xmm13
ja 0x18002cc03
movss xmm2, dword [rsp + 0x64]
movss xmm0, dword [rsp + 0x68]
subss xmm2, xmm8
movss xmm1, dword [rsp + 0x6c]
subss xmm0, xmm7
subss xmm1, xmm6
mulss xmm2, xmm2
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.18002e330
comiss xmm0, xmm13
jbe 0x18002cb7b
movaps xmm13, xmm8
movss dword [rsp + 0x64], xmm10
movaps xmm2, xmm7
movss dword [rsp + 0x68], xmm11
movaps xmm3, xmm6
movss dword [rsp + 0x6c], xmm12
subss xmm13, xmm10
subss xmm2, xmm11
subss xmm3, xmm12
movss dword [rsp + 0x70], xmm13
movss dword [rsp + 0x74], xmm2
movss dword [rsp + 0x78], xmm3
jmp 0x18002cb8e
movss xmm13, dword [rsp + 0x70]
movss xmm2, dword [rsp + 0x74]
movss xmm3, dword [rsp + 0x78]
movss xmm10, dword [rsp + 0x7c]
inc rbx
movss xmm11, dword [rbp - 0x80]
movss xmm12, dword [0x1800a2538]
cmp rbx, 0x100
jb 0x18002c838
movss xmm1, dword [rsp + 0x30]
inc rdi
movss xmm0, dword [rsp + 0x2c]
addss xmm1, xmm2
movss xmm2, dword [rsp + 0x34]
addss xmm0, xmm13
movss xmm6, dword [0x1800a2764]
addss xmm2, xmm3
movss dword [rsp + 0x30], xmm1
movss dword [rsp + 0x2c], xmm0
movss dword [rsp + 0x34], xmm2
cmp rdi, 0x1e
jb 0x18002c68f
mov qword [r15 + 4], r14
mov dword [r15], r14d
jmp 0x18002cc23
movss xmm0, dword [rsp + 0x2c]
movss xmm1, dword [rsp + 0x30]
movss xmm2, dword [rsp + 0x34]
unpcklps xmm0, xmm1
movsd qword [r15], xmm0
movss dword [r15 + 8], xmm2
lea r11, [rsp + 0x200]
mov rax, r15
mov rbx, qword [r11 + 0x58]
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 rdi
pop rsi
pop rbp
ret