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

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
cmp byte [0x1400e6451], 0
mov rdi, r8
mov rbx, rdx
je 0x14001949d
cmp qword [rdx + 0x18], 0x10
mov rcx, rdx
jb 0x140019456
mov rcx, qword [rdx]
call fcn.14008aaa0
mov ecx, 0x2000
test al, al
je 0x14001947e
call fcn.140039d70
test al, al
je 0x14001954b
mov rdx, rbx
call 0x140019570
jmp 0x14001954b
call fcn.140039d70
test al, al
je 0x14001955b
mov rdx, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x140019570
cmp byte [0x1400e6450], 0
je 0x140019535
mov rax, qword gs:[0x58]
mov edx, 4
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400e6710], eax
jle 0x1400194f5
lea rcx, [0x1400e6710]
call fcn.14009e780
cmp dword [0x1400e6710], 0xffffffff
jne 0x1400194f5
lea rax, [0x1400e64e0]
lea rcx, [0x1400e6710]
mov qword [0x1400e66e8], rax
call fcn.14009e720
mov rcx, qword [0x1400e66e8]
mov rdx, rbx
call fcn.14000f4d0
test al, al
je 0x140019526
mov rcx, qword [0x1400e66e8]
mov rdx, rbx
call fcn.14000cda0
cmp qword [rax + 0x18], 0x10
jb 0x140019521
mov rax, qword [rax]
mov rcx, rax
jmp 0x140019542
cmp qword [rbx + 0x18], 0x10
mov rcx, rbx
jb 0x140019542
mov rcx, qword [rbx]
jmp 0x140019542
cmp qword [rdx + 0x18], 0x10
mov rcx, rbx
jb 0x140019542
mov rcx, qword [rdx]
call fcn.14008aaa0
test al, al
je 0x14001955b
mov r8, rbx
mov rdx, rdi
call fcn.140019810
call fcn.14008ba40
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
push rbx
sub rsp, 0xb0
mov rbx, rdx
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400e66b8], eax
jle 0x1400195c7
lea rcx, [0x1400e66b8]
call fcn.14009e780
cmp dword [0x1400e66b8], 0xffffffff
jne 0x1400195c7
lea rax, [0x1400e64e0]
mov qword [0x1400e66a8], rax
lea rcx, [0x1400e66b8]
call fcn.14009e720
mov r8, qword [rbx + 0x10]
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x1400195d8
mov rdx, qword [rbx]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r8, r8
je 0x140019613
movabs r10, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x140019600
mov r8, rbx
lea rdx, [rsp + 0x40]
mov rcx, qword [0x1400e66a8]
call fcn.140013280
cmp qword [rax + 8], 0
je 0x140019801
mov ecx, 0x8000
call fcn.140039d70
test al, al
je 0x140019801
xor ecx, ecx
call fcn.140049150
test al, al
je 0x140019801
mov rax, qword [0x1400e6460]
movss xmm0, dword [rax + 0x3e80]
mulss xmm0, dword [0x1400d2188]
call fcn.1400450c0
mov rdx, rbx
mov rcx, qword [0x1400e66a8]
call fcn.14000cda0
mov rdx, qword [rax + 0x10]
movabs rcx, 0x7fffffffffffffff
sub rcx, rdx
cmp rcx, 3
jb 0x14001980a
cmp qword [rax + 0x18], 0x10
jb 0x1400196a3
mov rax, qword [rax]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 3
lea r9, [0x1400c7840]
lea rcx, [rsp + 0x88]
call fcn.14001c200
nop
mov r8d, 3
lea rdx, [0x1400c783c]
lea rcx, [rsp + 0x88]
call fcn.14000e7c0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movdqu xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
movq rcx, xmm1
psrldq xmm1, 8
movq rdx, xmm1
cmp rcx, rdx
jae 0x14001973e
lea rax, [rcx + 1]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x40]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x40]
mov word [rax + rcx], 0x20
jmp 0x14001974b
mov r9b, 0x20
lea rcx, [rsp + 0x40]
call fcn.140013f30
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x68], xmm1
movups xmm2, xmmword [rsp + 0x50]
movups xmmword [rsp + 0x78], xmm2
movdqa xmm0, xmmword [0x1400d2280]
movdqu xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x40], 0
lea rcx, [rsp + 0x68]
movq rdx, xmm1
psrldq xmm2, 8
movq rax, xmm2
cmp rax, 0x10
cmovae rcx, rdx
xor edx, edx
lea r8d, [rdx + 1]
call fcn.140079da0
nop
lea rcx, [rsp + 0x68]
call fcn.14000e600
nop
lea rcx, [rsp + 0x40]
call fcn.14000e600
nop
lea rcx, [rsp + 0x88]
call fcn.14000e600
mov rcx, qword [0x1400e6460]
mov rax, qword [rcx + 0x4148]
mov byte [rax + 0xf5], 1
mov r8, qword [rcx + 0x4148]
movsxd rdx, dword [r8 + 0x218]
mov rax, qword [r8 + 0x220]
mov ecx, dword [rax + rdx*4 - 4]
mov dword [r8 + 0x200], ecx
lea eax, [rdx - 1]
mov dword [r8 + 0x218], eax
call fcn.140044640
add rsp, 0xb0
pop rbx
ret
call fcn.1400013c0
int3