Function at 0x14005bde0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xf0
vmovapd xmmword [rsp + 0xe0], xmm15
vmovdqa xmmword [rsp + 0xd0], xmm14
vmovapd xmmword [rsp + 0xc0], xmm13
vmovapd xmmword [rsp + 0xb0], xmm12
vmovdqa xmmword [rsp + 0xa0], xmm11
vmovdqa xmmword [rsp + 0x90], xmm10
vmovdqa xmmword [rsp + 0x80], xmm9
vmovdqa xmmword [rsp + 0x70], xmm8
vmovapd xmmword [rsp + 0x60], xmm7
vmovapd xmmword [rsp + 0x50], xmm6
mov rbx, rcx
mov ecx, 0x20
call fcn.1400910bc
mov rsi, rax
mov r15, qword [rbx + 0x28]
vxorpd xmm0, xmm0, xmm0
vmovupd xmmword [rax], xmm0
mov qword [rax + 0x10], 0
inc r15
je 0x14005bea6
mov rax, r15
shr rax, 0x3e
jne 0x14005c1a6
lea r14, [r15*4]
mov rcx, r14
call fcn.1400910bc
mov rdi, rax
mov qword [rsi], rax
lea r15, [rax + r15*4]
mov qword [rsi + 0x10], r15
mov rcx, rax
xor edx, edx
mov r8, r14
call fcn.1400c3300
mov qword [rsi + 8], r15
jmp 0x14005beab
xor edi, edi
xor r15d, r15d
mov dword [rsi + 0x1c], 0
mov rax, r15
sub rax, rdi
mov rcx, rax
sar rcx, 2
lea rdx, [rcx - 1]
cmp rdx, 2
jb 0x14005c099
vcvtsi2sd xmm6, xmm1, dword [rbx + 0x1c]
vcvtsi2sd xmm7, xmm1, dword [rbx + 0x20]
lea r10, [rcx - 3]
vmovq xmm2, r10
vpunpckldq xmm2, xmm2, xmmword [0x1400f54d0]
vsubpd xmm2, xmm2, xmmword [0x1400f54e0]
vhaddpd xmm2, xmm2, xmm2
cmp rcx, 1
mov r8, rcx
adc r8, 0
lea r9, [r8 - 1]
cmp r9, r10
cmovb r10, r9
cmp r10, 1
jbe 0x14005c174
inc r10
mov r9d, r10d
and r9d, 1
mov r11d, 2
cmovne r11, r9
sub r10, r11
lea r9, [r10 + 1]
vmovq xmm3, rdx
vpshufd xmm3, xmm3, 0x44
vmovapd xmmword [rsp + 0x40], xmm6
vmovddup xmm4, xmm6
vmovapd xmmword [rsp + 0x30], xmm7
vmovddup xmm5, xmm7
vmovapd xmmword [rsp + 0x20], xmm2
vmovddup xmm6, xmm2
vmovdqa xmm7, xmmword [0x1400fc490]
xor r11d, r11d
vpcmpeqd xmm8, xmm8, xmm8
vpxor xmm9, xmm9, xmm9
vmovddup xmm10, qword [0x1400fc4a8]
vmovddup xmm11, qword [0x1400fc4b0]
vmovddup xmm12, qword [0x1400fc4b8]
vmovddup xmm13, qword [0x1400fc4a0]
vmovddup xmm14, qword [0x1400fc4c0]
nop word cs:[rax + rax]
vpxor xmm15, xmm8, xmm7
vpaddq xmm15, xmm15, xmm3
vpblendw xmm0, xmm15, xmm9, 0xcc
vpor xmm0, xmm10, xmm0
vpsrlq xmm15, xmm15, 0x20
vpor xmm15, xmm15, xmm11
vsubpd xmm15, xmm15, xmm12
vpaddq xmm1, xmm8, xmm7
vpblendw xmm2, xmm1, xmm9, 0xcc
vaddpd xmm0, xmm15, xmm0
vpor xmm2, xmm10, xmm2
vpsrlq xmm1, xmm1, 0x20
vpor xmm1, xmm11, xmm1
vmulpd xmm0, xmm4, xmm0
vsubpd xmm1, xmm1, xmm12
vaddpd xmm1, xmm2, xmm1
vmulpd xmm1, xmm5, xmm1
vaddpd xmm0, xmm0, xmm1
vdivpd xmm0, xmm0, xmm6
vaddpd xmm0, xmm13, xmm0
vcvttpd2dq xmm0, xmm0
vmovlpd qword [rdi + r11*4 + 4], xmm0
add r11, 2
vpaddq xmm7, xmm14, xmm7
cmp r10, r11
jne 0x14005bfa0
vmovapd xmm6, xmmword [rsp + 0x40]
vmovapd xmm7, xmmword [rsp + 0x30]
vmovapd xmm2, xmmword [rsp + 0x20]
sub rcx, r9
add rcx, 0xfffffffffffffffe
vmovdqa xmm3, xmmword [0x1400f54d0]
vmovapd xmm4, xmmword [0x1400f54e0]
vmovsd xmm5, qword [0x1400fc4a0]
cmp r8, r9
je 0x14005c19d
vmovq xmm0, rcx
vpunpckldq xmm0, xmm0, xmm3
vsubpd xmm0, xmm0, xmm4
vhaddpd xmm0, xmm0, xmm0
lea r10, [r9 - 1]
vmovq xmm1, r10
vpunpckldq xmm1, xmm1, xmm3
vsubpd xmm1, xmm1, xmm4
vhaddpd xmm1, xmm1, xmm1
vmulsd xmm0, xmm6, xmm0
vmulsd xmm1, xmm7, xmm1
vaddsd xmm0, xmm0, xmm1
vdivsd xmm0, xmm0, xmm2
vaddsd xmm0, xmm0, xmm5
vcvttsd2si r10d, xmm0
mov dword [rdi + r9*4], r10d
dec rcx
inc r9
cmp r9, rdx
jne 0x14005c043
cmp r15, rdi
je 0x14005c1a0
mov dword [rdi + rax - 4], 0x7fffffff
test rax, rax
js 0x14005c1a3
mov rcx, rax
shr rcx, 2
test al, 1
jne 0x14005c17f
mov rax, rdi
lea rdx, [r15 - 1]
cmp rdx, rdi
je 0x14005c10e
lea rdx, [0x1400fd550]
nop word cs:[rax + rax]
movzx r8d, byte [rax]
movzx r9d, cl
xor r9d, r8d
shr ecx, 8
xor ecx, dword [rdx + r9*4]
movzx r8d, byte [rax + 1]
movzx r9d, cl
xor r9d, r8d
shr ecx, 8
xor ecx, dword [rdx + r9*4]
add rax, 2
cmp rax, r15
jne 0x14005c0e0
mov dword [rsi + 0x18], ecx
mov rax, rsi
vmovaps xmm6, xmmword [rsp + 0x50]
vmovaps xmm7, xmmword [rsp + 0x60]
vmovaps xmm8, xmmword [rsp + 0x70]
vmovaps xmm9, xmmword [rsp + 0x80]
vmovaps xmm10, xmmword [rsp + 0x90]
vmovaps xmm11, xmmword [rsp + 0xa0]
vmovaps xmm12, xmmword [rsp + 0xb0]
vmovaps xmm13, xmmword [rsp + 0xc0]
vmovaps xmm14, xmmword [rsp + 0xd0]
vmovaps xmm15, xmmword [rsp + 0xe0]
add rsp, 0xf0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov r9d, 1
jmp 0x14005c024
movzx eax, byte [rdi]
movzx edx, cl
xor edx, eax
lea rax, [0x1400fd550]
shr ecx, 8
xor ecx, dword [rax + rdx*4]
lea rax, [rdi + 1]
jmp 0x14005c0c5
int3
int3
int3
int3