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

Disassembly:
push rbp
sub rsp, 0xa0
movaps xmmword [rsp + 0x60], xmm6
mov rax, qword [0x140106b98]
xor rax, rsp
mov qword [rsp + 0x30], rax
cmp byte [rcx + 0x98], 0
movaps xmm6, xmm1
mov rbp, rcx
jne 0x140058f20
xor al, al
jmp 0x140058f89
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0x90], rdi
call fcn.140056b80
test al, al
je 0x140058f70
mov rax, qword [rbp + 0x50]
mov rbx, qword [rax - 0x70]
lea rdi, [rax - 0x78]
test byte [rbx + 0x50], 0x20
jne 0x140058fa4
call fcn.14005d720
mov ecx, 0x1000
test word [rax + 0xe], cx
jne 0x140058f6c
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.14006b950
movaps xmm6, xmmword [rsp + 0x60]
add rsp, 0xa0
pop rbp
ret
cmp word [rbx + 0xd6], 0
je 0x140058fc0
movaps xmm2, xmm6
mov rdx, rdi
mov rcx, rbx
call fcn.140057490
test al, al
je 0x140058f70
cmp word [rbx + 0xe6], 0
je 0x140058fdc
movaps xmm2, xmm6
mov rdx, rdi
mov rcx, rbx
call fcn.140057400
test al, al
je 0x140058f70
cmp word [rbx + 0xf6], 0
je 0x140058ffc
movaps xmm2, xmm6
mov rdx, rdi
mov rcx, rbx
call fcn.140057520
test al, al
je 0x140058f70
mov rdx, rdi
mov rcx, rbx
call fcn.1400581d0
test al, al
je 0x140058f70
mov rbx, qword [rbp + 0x48]
cmp rbx, qword [rbp + 0x50]
je 0x1400591ef
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 [0x1400e0228]
movaps xmmword [rsp + 0x40], xmm8
xorps xmm8, xmm8
nop word [rax + rax]
mov rsi, qword [rbx + 0x20]
test rsi, rsi
je 0x140059134
comisd xmm8, xmm6
jbe 0x14005909b
cvttsd2si rax, xmm6
jmp 0x1400590bb
xor ecx, ecx
movaps xmm0, xmm6
comisd xmm6, xmm7
jb 0x1400590b3
subsd xmm0, xmm7
comisd xmm0, xmm7
jae 0x1400590b3
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 0x1400590d0
mov rcx, qword [rsi + 0x18]
lea rax, [rcx + 8]
cmp rax, qword [rsi + 0x20]
jbe 0x140059129
mov edx, 1
mov rcx, rsi
call fcn.140042a90
mov rcx, qword [rsi + 0x18]
lea rax, [rcx + 8]
mov qword [rsi + 0x18], rax
mov qword [rcx], rdi
cmp qword [rbx + 0x30], r14
je 0x140059174
mov edi, r14d
cmp dword [rbx + 0x38], r14d
jbe 0x140059174
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.140058ef0
inc edi
cmp edi, dword [rbx + 0x38]
jb 0x140059150
cmp qword [rbx + 0x40], r14
je 0x1400591b4
mov edi, r14d
cmp dword [rbx + 0x48], r14d
jbe 0x1400591b4
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.140058ef0
inc edi
cmp edi, dword [rbx + 0x48]
jb 0x140059190
add rbx, 0x78
cmp rbx, qword [rbp + 0x50]
jne 0x140059080
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.14005a150
test al, al
setne al
mov byte [rbp + 0x98], al
jmp 0x140058f79