Function at 0x1801278ac
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 dword [rax + 0x18], r8d
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
mov r14, qword [0x18028e880]
mov rbx, r9
movaps xmmword [rax - 0x38], xmm6
mov r12b, dl
movaps xmmword [rax - 0x48], xmm7
mov r13, rcx
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
mov rax, qword [r14 + 0x3eb8]
movaps xmmword [rsp + 0x70], xmm12
mov byte [rax + 0x98], 1
mov rsi, qword [r14 + 0x3eb8]
cmp byte [rsi + 0x9b], 0
jne 0x180127dc8
mov rdx, rcx
mov rcx, rsi
call fcn.1801006ac
movss xmm0, dword [0x1800a1490]
lea rcx, [rbp - 0x71]
mov r9b, 1
movss dword [rsp + 0x20], xmm0
xor r8d, r8d
mov dword [rbp - 0x75], eax
mov rdx, r13
mov edi, eax
call fcn.1801043b0
movss xmm7, dword [rbx + 4]
xorps xmm8, xmm8
ucomiss xmm7, xmm8
movss xmm12, dword [rbp - 0x6d]
jne 0x180127973
movaps xmm7, xmm12
movss xmm6, dword [rbx]
ucomiss xmm6, xmm8
jne 0x180127982
movss xmm6, dword [rbp - 0x71]
movss xmm9, dword [rsi + 0xe8]
lea rcx, [rbp - 0x61]
addss xmm9, dword [rsi + 0x11c]
movss xmm10, dword [rsi + 0xe4]
xorps xmm1, xmm1
movss dword [rbp - 0x61], xmm6
movss dword [rbp - 0x5d], xmm7
call fcn.18010a8e8
ucomiss xmm8, dword [rbx]
jne 0x1801279cb
movss xmm6, dword [rsi + 0x220]
subss xmm6, xmm10
maxss xmm6, dword [rbp - 0x71]
movss xmm4, dword [r14 + 0x3834]
addss xmm6, xmm10
movss xmm5, dword [r14 + 0x3838]
addss xmm7, xmm9
movss xmm11, dword [0x1800a117c]
lea rcx, [rbp - 0x71]
movaps xmm0, xmm4
movaps xmm1, xmm10
mulss xmm0, xmm11
xor r9d, r9d
xor r8d, r8d
mov edx, edi
cvttss2si eax, xmm0
movaps xmm0, xmm5
mulss xmm0, xmm11
movd xmm2, eax
cvttss2si eax, xmm0
cvtdq2ps xmm2, xmm2
movd xmm3, eax
movaps xmm0, xmm9
cvtdq2ps xmm3, xmm3
subss xmm4, xmm2
subss xmm5, xmm3
subss xmm1, xmm2
subss xmm0, xmm3
addss xmm6, xmm4
addss xmm5, xmm7
movss dword [rbp - 0x71], xmm1
movss dword [rbp - 0x6d], xmm0
movss dword [rbp - 0x69], xmm6
movss dword [rbp - 0x65], xmm5
call fcn.18010aa44
xor ebx, ebx
test al, al
je 0x180127dc8
lea r9, [rbp - 0x79]
mov dword [rsp + 0x20], ebx
lea r8, [rbp + 0x77]
mov edx, edi
lea rcx, [rbp - 0x71]
call fcn.18011c480
movss xmm6, dword [rbp - 0x65]
mov r15b, al
movss xmm10, dword [rbp - 0x6d]
movss xmm9, dword [rbp - 0x71]
test al, al
je 0x180127b67
mov rdx, qword [0x18028e880]
cmp byte [r14 + 0x410f], bl
jne 0x180127b57
cmp qword [r14 + 0x40c8], rsi
jne 0x180127b57
movsxd rcx, dword [rsi + 0x14c]
cmp dword [r14 + 0x4108], ecx
jne 0x180127b57
movss xmm0, dword [rsi + 0xf8]
movaps xmm4, xmm6
movss xmm3, dword [rsi + 0xf4]
subss xmm4, xmm0
mov eax, dword [r14 + 0x3f64]
movaps xmm1, xmm10
movss xmm2, dword [rbp - 0x69]
subss xmm1, xmm0
mov dword [rdx + 0x40d4], eax
subss xmm2, xmm3
mov rax, qword [rdx + 0x40c8]
movaps xmm0, xmm9
mov dword [rdx + 0x4108], ecx
subss xmm0, xmm3
mov dword [rdx + 0x40d0], edi
movss dword [rbp - 0x5d], xmm1
mov dword [rax + rcx*4 + 0x3a0], edi
add rcx, rcx
mov rax, qword [rdx + 0x40c8]
movss dword [rbp - 0x61], xmm0
movss dword [rbp - 0x59], xmm2
movss dword [rbp - 0x55], xmm4
movups xmm0, xmmword [rbp - 0x61]
movdqu xmmword [rax + rcx*8 + 0x3a8], xmm0
mov byte [r14 + 0x410e], 1
or dword [rdx + 0x3f8c], 4
mov word [rdx + 0x3f14], 0x101
mov r8d, 0xa
lea rcx, [rbp - 0x71]
mov edx, edi
call fcn.1800ffd3c
mov ecx, dword [0x18028de40]
mov rax, qword gs:[0x58]
movss xmm7, dword [0x1800a11d4]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov eax, dword [rdx + rax]
cmp dword [0x1802c54e8], eax
jg 0x180127e0e
movabs rbx, 0xcbf29ce484222325
xor ecx, ecx
mov rdx, rbx
movabs r8, 0x100000001b3
movzx eax, byte [rbp + rcx - 0x75]
inc rcx
xor rdx, rax
imul rdx, r8
cmp rcx, 4
jb 0x180127bc0
and rdx, qword [0x1802c5530]
mov rax, qword [0x1802c5518]
add rdx, rdx
mov r8, qword [0x1802c5508]
mov rcx, qword [rax + rdx*8 + 8]
cmp rcx, r8
je 0x180127c0d
mov r9, qword [rax + rdx*8]
jmp 0x180127c06
cmp rcx, r9
je 0x180127c0d
mov rcx, qword [rcx + 8]
cmp edi, dword [rcx + 0x10]
jne 0x180127bfd
jmp 0x180127c0f
xor ecx, ecx
test rcx, rcx
mov rax, r8
cmovne rax, rcx
cmp rax, r8
jne 0x180127c94
and dword [rbp - 0x5d], 0
lea r8, [rbp - 0x61]
lea rdx, [rbp - 0x51]
mov dword [rbp - 0x61], edi
call fcn.1801287cc
xor ecx, ecx
movabs rdx, 0x100000001b3
movzx eax, byte [rbp + rcx - 0x75]
inc rcx
xor rbx, rax
imul rbx, rdx
cmp rcx, 4
jb 0x180127c3e
and rbx, qword [0x1802c5530]
mov rdx, qword [0x1802c5518]
add rbx, rbx
mov rax, qword [0x1802c5508]
mov rcx, qword [rdx + rbx*8 + 8]
cmp rcx, rax
je 0x180127c8b
mov r8, qword [rdx + rbx*8]
jmp 0x180127c84
cmp rcx, r8
je 0x180127c8b
mov rcx, qword [rcx + 8]
cmp edi, dword [rcx + 0x10]
jne 0x180127c7b
jmp 0x180127c8d
xor ecx, ecx
test rcx, rcx
cmovne rax, rcx
mov bl, byte [rbp + 0x77]
test r12b, r12b
je 0x180127ca2
movaps xmm8, xmm7
jmp 0x180127caa
test bl, bl
je 0x180127caa
movaps xmm8, xmm11
subss xmm8, dword [rax + 0x14]
lea rcx, [rbp - 0x61]
mov dword [rbp - 0x61], 0x3f800000
mov dword [rbp - 0x5d], 0x3f800000
mov dword [rbp - 0x59], 0x3f800000
mulss xmm8, dword [0x1800a1114]
addss xmm8, dword [rax + 0x14]
movss dword [rax + 0x14], xmm8
mulss xmm8, dword [0x1800a1128]
movss dword [rbp - 0x55], xmm8
call fcn.1800feea4
movss xmm0, dword [0x1800a12d0]
mov r8d, eax
mov rdx, qword [rbp - 0x69]
xor r9d, r9d
movss dword [rsp + 0x20], xmm0
movaps xmm0, xmm9
unpcklps xmm0, xmm10
movq rcx, xmm0
call fcn.1800ffa70
test r12b, r12b
jne 0x180127d25
test bl, bl
je 0x180127d36
mov rcx, qword [0x18028e460]
call fcn.180109838
test r12b, r12b
jne 0x180127d3a
movaps xmm7, xmm11
lea rdx, [rbp - 0x61]
movss dword [rbp - 0x55], xmm7
xor ecx, ecx
mov dword [rbp - 0x61], 0x3f800000
mov dword [rbp - 0x5d], 0x3f800000
mov dword [rbp - 0x59], 0x3f800000
call fcn.1800ff3d8
addss xmm9, dword [0x1800a12fc]
addss xmm6, xmm10
mulss xmm12, xmm11
mov r9b, 1
xor r8d, r8d
mov rdx, r13
mulss xmm6, xmm11
subss xmm6, xmm12
unpcklps xmm9, xmm6
movq rcx, xmm9
call fcn.1800ff608
call fcn.1800ff434
test r12b, r12b
jne 0x180127da1
test bl, bl
je 0x180127da6
call fcn.1801098b0
test r15b, r15b
je 0x180127dc3
test dword [rsi + 0xc], 0x4000000
je 0x180127dc3
test byte [r14 + 0x3f88], 0x20
jne 0x180127dc3
call fcn.18010be84
mov al, r15b
jmp 0x180127dca
xor al, al
lea r11, [rsp + 0xe0]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, [0x1802c54e8]
call fcn.18012d574
cmp dword [0x1802c54e8], 0xffffffff
jne 0x180127ba7
mov ecx, 0x18
call fcn.18012d490
xorps xmm0, xmm0
lea rcx, [0x1802c5518]
mov r8, rax
mov edx, 0x10
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x1802c5508], rax
mov qword [0x1802c5518], rbx
movdqa xmmword [0x1802c5520], xmm0
mov qword [0x1802c5530], 7
mov qword [0x1802c5538], 8
mov dword [0x1802c5500], 0x3f800000
call fcn.1800ab518
lea rcx, [0x180199c98]
call fcn.18012d944
lea rcx, [0x1802c54e8]
call fcn.18012d508
jmp 0x180127ba7