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

Disassembly:
push rbp
sub rsp, 0xa0
movaps xmmword [rsp + 0x60], xmm6
mov rax, qword [0x1402a7d08]
xor rax, rsp
mov qword [rsp + 0x30], rax
cmp byte [rcx + 0xa0], 0
movaps xmm6, xmm1
mov rbp, rcx
jne 0x140066250
xor al, al
jmp 0x1400662b9
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0x90], rdi
call fcn.1400681b0
test al, al
je 0x1400662a0
mov rax, qword [rbp + 0x48]
mov rbx, qword [rax - 0x70]
lea rdi, [rax - 0x78]
test byte [rbx + 0x58], 0x20
jne 0x1400662d4
call fcn.140061a00
mov ecx, 0x1000
test word [rax + 0xe], cx
jne 0x14006629c
mov rax, qword [rax + 8]
movabs rcx, 0xffffffffffff
and rax, rcx
mov qword [rdi + 0x18], rax
mov byte [rbp + 0xa0], 0
xor al, al
mov rbx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.140140100
movaps xmm6, xmmword [rsp + 0x60]
add rsp, 0xa0
pop rbp
ret
cmp word [rbx + 0xde], 0
je 0x1400662f0
movaps xmm2, xmm6
mov rdx, rdi
mov rcx, rbx
call fcn.1400694d0
test al, al
je 0x1400662a0
cmp word [rbx + 0xee], 0
je 0x14006630c
movaps xmm2, xmm6
mov rdx, rdi
mov rcx, rbx
call fcn.140069340
test al, al
je 0x1400662a0
cmp word [rbx + 0xfe], 0
je 0x14006632c
movaps xmm2, xmm6
mov rdx, rdi
mov rcx, rbx
call fcn.140069240
test al, al
je 0x1400662a0
mov rdx, rdi
mov rcx, rbx
call fcn.140069a10
test al, al
je 0x1400662a0
mov rbx, qword [rbp + 0x40]
cmp rbx, qword [rbp + 0x48]
je 0x14006650f
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0x88], r12
movabs r12, 0x789e9b398d409406
mov qword [rsp + 0x80], r13
movabs r13, 0x8000000000000000
mov qword [rsp + 0x78], r14
xor r14d, r14d
mov qword [rsp + 0x70], r15
movabs r15, 0x100000001b3
movaps xmmword [rsp + 0x50], xmm7
movsd xmm7, qword [0x1402643f0]
movaps xmmword [rsp + 0x40], xmm8
xorps xmm8, xmm8
nop word [rax + rax]
mov rsi, qword [rbx + 0x20]
test rsi, rsi
je 0x14006645f
comisd xmm8, xmm6
jbe 0x1400663cb
cvttsd2si rax, xmm6
jmp 0x1400663eb
xor ecx, ecx
movaps xmm0, xmm6
comisd xmm6, xmm7
jb 0x1400663e3
subsd xmm0, xmm7
comisd xmm0, xmm7
jae 0x1400663e3
mov rcx, r13
cvttsd2si rax, xmm0
add rax, rcx
movsd qword [rsp + 0x28], xmm6
mov rdi, r12
mov qword [rsp + 0x20], rax
mov rcx, r14
nop dword [rax]
movzx eax, byte [rsp + rcx + 0x20]
xor rdi, rax
movzx eax, byte [rsp + rcx + 0x21]
imul rdi, r15
xor rdi, rax
movzx eax, byte [rsp + rcx + 0x22]
imul rdi, r15
xor rdi, rax
movzx eax, byte [rsp + rcx + 0x23]
imul rdi, r15
add rcx, 4
xor rdi, rax
imul rdi, r15
cmp rcx, 0x10
jb 0x140066400
mov rcx, qword [rsi + 0x18]
lea rax, [rcx + 8]
cmp rax, qword [rsi + 0x20]
jbe 0x140066454
mov rcx, rsi
call fcn.140070d30
mov rcx, qword [rsi + 0x18]
lea rax, [rcx + 8]
mov qword [rsi + 0x18], rax
mov qword [rcx], rdi
cmp qword [rbx + 0x30], r14
je 0x140066494
mov edi, r14d
cmp dword [rbx + 0x38], r14d
jbe 0x140066494
nop
mov rax, qword [rbx + 0x30]
movaps xmm1, xmm6
mov ecx, edi
mov rdx, qword [rax + rcx*8]
test rdx, rdx
lea rcx, [rdx - 8]
cmove rcx, r14
call fcn.140066220
inc edi
cmp edi, dword [rbx + 0x38]
jb 0x140066470
cmp qword [rbx + 0x40], r14
je 0x1400664d4
mov edi, r14d
cmp dword [rbx + 0x48], r14d
jbe 0x1400664d4
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbx + 0x40]
movaps xmm1, xmm6
mov ecx, edi
mov rdx, qword [rax + rcx*8]
test rdx, rdx
lea rcx, [rdx - 8]
cmove rcx, r14
call fcn.140066220
inc edi
cmp edi, dword [rbx + 0x48]
jb 0x1400664b0
add rbx, 0x78
cmp rbx, qword [rbp + 0x48]
jne 0x1400663b0
movaps xmm8, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x50]
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
mov r13, qword [rsp + 0x80]
mov r12, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x98]
mov rcx, rbp
call fcn.140067cd0
test al, al
setne al
mov byte [rbp + 0xa0], al
jmp 0x1400662a9