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

Disassembly:
push rbp
sub rsp, 0xa0
movaps xmmword [rsp + 0x60], xmm6
mov rax, qword [0x140103a28]
xor rax, rsp
mov qword [rsp + 0x30], rax
cmp byte [rcx + 0x98], 0
movaps xmm6, xmm1
mov rbp, rcx
jne 0x1400584b0
xor al, al
jmp 0x140058519
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0x90], rdi
call fcn.140056110
test al, al
je 0x140058500
mov rax, qword [rbp + 0x50]
mov rbx, qword [rax - 0x70]
lea rdi, [rax - 0x78]
test byte [rbx + 0x50], 0x20
jne 0x140058534
call fcn.14005ccb0
mov ecx, 0x1000
test word [rax + 0xe], cx
jne 0x1400584fc
mov rax, qword [rax + 8]
movabs rcx, 0xffffffffffff
and rax, rcx
mov qword [rdi + 0x18], rax
mov byte [rbp + 0x98], 0
xor al, al
mov rbx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.140069d50
movaps xmm6, xmmword [rsp + 0x60]
add rsp, 0xa0
pop rbp
ret
cmp word [rbx + 0xd6], 0
je 0x140058550
movaps xmm2, xmm6
mov rdx, rdi
mov rcx, rbx
call fcn.140056a20
test al, al
je 0x140058500
cmp word [rbx + 0xe6], 0
je 0x14005856c
movaps xmm2, xmm6
mov rdx, rdi
mov rcx, rbx
call fcn.140056990
test al, al
je 0x140058500
cmp word [rbx + 0xf6], 0
je 0x14005858c
movaps xmm2, xmm6
mov rdx, rdi
mov rcx, rbx
call fcn.140056ab0
test al, al
je 0x140058500
mov rdx, rdi
mov rcx, rbx
call fcn.140057760
test al, al
je 0x140058500
mov rbx, qword [rbp + 0x48]
cmp rbx, qword [rbp + 0x50]
je 0x14005877f
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 [0x1400de1d8]
movaps xmmword [rsp + 0x40], xmm8
xorps xmm8, xmm8
nop word [rax + rax]
mov rsi, qword [rbx + 0x20]
test rsi, rsi
je 0x1400586c4
comisd xmm8, xmm6
jbe 0x14005862b
cvttsd2si rax, xmm6
jmp 0x14005864b
xor ecx, ecx
movaps xmm0, xmm6
comisd xmm6, xmm7
jb 0x140058643
subsd xmm0, xmm7
comisd xmm0, xmm7
jae 0x140058643
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 0x140058660
mov rcx, qword [rsi + 0x18]
lea rax, [rcx + 8]
cmp rax, qword [rsi + 0x20]
jbe 0x1400586b9
mov edx, 1
mov rcx, rsi
call fcn.140042020
mov rcx, qword [rsi + 0x18]
lea rax, [rcx + 8]
mov qword [rsi + 0x18], rax
mov qword [rcx], rdi
cmp qword [rbx + 0x30], r14
je 0x140058704
mov edi, r14d
cmp dword [rbx + 0x38], r14d
jbe 0x140058704
nop dword [rax]
nop word [rax + rax]
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.140058480
inc edi
cmp edi, dword [rbx + 0x38]
jb 0x1400586e0
cmp qword [rbx + 0x40], r14
je 0x140058744
mov edi, r14d
cmp dword [rbx + 0x48], r14d
jbe 0x140058744
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.140058480
inc edi
cmp edi, dword [rbx + 0x48]
jb 0x140058720
add rbx, 0x78
cmp rbx, qword [rbp + 0x50]
jne 0x140058610
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.1400596e0
test al, al
setne al
mov byte [rbp + 0x98], al
jmp 0x140058509