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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
mov rax, qword [0x14023ab58]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov rdi, r9
mov r14, rdx
mov rsi, rcx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x58], r9
mov rdx, r8
lea rcx, [rbp - 0x30]
call fcn.1401c5b68
nop
lea r8, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae r8, qword [rbp - 0x30]
movabs rcx, 0xcbf29ce484222325
mov rax, qword [rbp - 0x20]
lea r9, [rax + rax]
xor r15d, r15d
mov edx, r15d
test r9, r9
je 0x1401c5944
movzx eax, byte [rdx + r8]
xor rcx, rax
movabs r10, 0x100000001b3
imul rcx, r10
inc rdx
cmp rdx, r9
jb 0x1401c5926
mov rax, qword [rsi + 0x30]
and rax, rcx
add rax, rax
mov rcx, qword [rsi + 0x18]
mov rbx, qword [rcx + rax*8 + 8]
cmp rbx, qword [rsi + 8]
je 0x1401c5a74
mov r11, qword [rcx + rax*8]
jmp 0x1401c5974
cmp rbx, r11
je 0x1401c5a74
mov rbx, qword [rbx + 8]
lea rdx, [rbx + 0x10]
lea rcx, [rbp - 0x30]
call fcn.140026d34
test al, al
je 0x1401c5967
test rbx, rbx
je 0x1401c5a74
cmp rbx, qword [rsi + 8]
je 0x1401c5a74
lea rax, [rsp + 0x40]
mov qword [rsp + 0x60], rax
mov rax, qword [rdi]
mov qword [rdi], r15
mov qword [rsp + 0x40], rax
lea rdx, [rbp - 0x10]
lea rax, [0x140249290]
cmp byte [rbp + 0x10], r15b
cmove rdx, rax
lea rcx, [rsp + 0x68]
call fcn.14000edb4
mov rax, qword [rbp + 0x18]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x38], rax
mov qword [rbp + 0x18], r15
mov qword [rbp + 0x20], r15
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x30]
lea rcx, [rbx + 0x30]
call fcn.1401c64f0
mov byte [r14 + 0x30], r15b
lea rcx, [rbp + 0x18]
call fcn.14000ec94
cmp byte [rbp + 0x10], r15b
je 0x1401c5a18
lea rcx, [rbp - 0x10]
call fcn.1400282fc
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x1401c5a33
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
call fcn.1400131d4
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], r15w
mov rcx, qword [rdi]
test rcx, rcx
je 0x1401c5b48
mov rax, qword [rcx]
movabs r10, 0xec159f0414d17a70
mov edx, 1
mov rax, qword [rax + 0xc0]
call qword [case.0x14003356e.0]
jmp 0x1401c5b48
mov byte [rsp + 0x20], r15b
lea rax, [rsp + 0x20]
mov qword [rsp + 0x48], rax
lea rax, [0x1401c7fd0]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x30], 0x22
lea rax, [0x140234038]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov dl, 1
lea rcx, [rbp - 0x68]
call fcn.14001f854
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x68]
call fcn.14001fa60
mov rdx, rax
mov rcx, r14
call fcn.14001f5a4
nop
lea rcx, [rbp + 0x18]
call fcn.14000ec94
cmp byte [rbp + 0x10], r15b
je 0x1401c5af5
lea rcx, [rbp - 0x10]
call fcn.1400282fc
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x1401c5b10
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
call fcn.1400131d4
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], r15w
mov rcx, qword [rdi]
test rcx, rcx
je 0x1401c5b48
mov rdx, qword [rcx]
mov rax, qword [rdx + 0xc0]
movabs r10, 0xec159f0414d17a70
mov edx, 1
call qword [case.0x14003356e.0]
mov rax, r14
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.1401d2140
add rsp, 0x148
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret