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

Disassembly:
push rbx
mov r10, qword [r8 + 8]
mov rbx, r8
movd xmm3, ecx
mov rcx, qword [r8]
sub r10, rcx
movd xmm4, edx
sar r10, 2
mov edx, 1
dec r10
cvtdq2pd xmm3, xmm3
cvtdq2pd xmm4, xmm4
cmp r10, rdx
jbe 0x140038e7c
movsd xmm5, qword [0x14007d6f0]
lea rax, [r10 - 1]
cmp rax, 4
jb 0x140038dc3
lea rcx, [r10 - 2]
xorps xmm2, xmm2
test rcx, rcx
js 0x140038bcd
cvtsi2sd xmm2, rcx
jmp 0x140038be1
mov rax, rcx
and ecx, edx
shr rax, 1
or rax, rcx
cvtsi2sd xmm2, rax
addsd xmm2, xmm2
lea r11, [r10 - 3]
nop word [rax + rax]
mov r9, r10
lea r8, [rdx + 1]
sub r9, rdx
lea rcx, [r8 - 2]
xorps xmm0, xmm0
test rcx, rcx
js 0x140038c0d
cvtsi2sd xmm0, rcx
jmp 0x140038c22
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
lea rcx, [r9 - 1]
mulsd xmm0, xmm4
xorps xmm1, xmm1
test rcx, rcx
js 0x140038c39
cvtsi2sd xmm1, rcx
jmp 0x140038c4e
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm1, rax
addsd xmm1, xmm1
mov rax, qword [rbx]
mulsd xmm1, xmm3
addsd xmm0, xmm1
divsd xmm0, xmm2
addsd xmm0, xmm5
cvttsd2si ecx, xmm0
xorps xmm0, xmm0
mov dword [rax + rdx*4], ecx
lea rcx, [r9 - 2]
test rcx, rcx
js 0x140038c7b
cvtsi2sd xmm0, rcx
jmp 0x140038c90
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
mulsd xmm0, xmm3
xorps xmm1, xmm1
test rdx, rdx
js 0x140038ca3
cvtsi2sd xmm1, rdx
jmp 0x140038cbb
mov rax, rdx
mov rcx, rdx
shr rcx, 1
and eax, 1
or rcx, rax
cvtsi2sd xmm1, rcx
addsd xmm1, xmm1
mov rax, qword [rbx]
mulsd xmm1, xmm4
addsd xmm0, xmm1
divsd xmm0, xmm2
addsd xmm0, xmm5
cvttsd2si ecx, xmm0
xorps xmm0, xmm0
mov dword [rax + rdx*4 + 4], ecx
lea rcx, [r9 - 3]
test rcx, rcx
js 0x140038ce9
cvtsi2sd xmm0, rcx
jmp 0x140038cfe
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
mulsd xmm0, xmm3
xorps xmm1, xmm1
test r8, r8
js 0x140038d11
cvtsi2sd xmm1, r8
jmp 0x140038d29
mov rax, r8
mov rcx, r8
shr rcx, 1
and eax, 1
or rcx, rax
cvtsi2sd xmm1, rcx
addsd xmm1, xmm1
mov rax, qword [rbx]
mulsd xmm1, xmm4
addsd xmm0, xmm1
divsd xmm0, xmm2
addsd xmm0, xmm5
cvttsd2si ecx, xmm0
xorps xmm0, xmm0
mov dword [rax + rdx*4 + 8], ecx
lea rcx, [r8 + 1]
test rcx, rcx
js 0x140038d57
cvtsi2sd xmm0, rcx
jmp 0x140038d6c
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
lea rcx, [r9 - 4]
mulsd xmm0, xmm4
xorps xmm1, xmm1
test rcx, rcx
js 0x140038d83
cvtsi2sd xmm1, rcx
jmp 0x140038d98
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm1, rax
addsd xmm1, xmm1
mov rax, qword [rbx]
mulsd xmm1, xmm3
addsd xmm0, xmm1
divsd xmm0, xmm2
addsd xmm0, xmm5
cvttsd2si ecx, xmm0
mov dword [rax + rdx*4 + 0xc], ecx
add rdx, 4
cmp rdx, r11
jb 0x140038bf0
mov rcx, qword [rbx]
cmp rdx, r10
jae 0x140038e7c
lea rcx, [r10 - 2]
xorps xmm2, xmm2
test rcx, rcx
js 0x140038ddf
cvtsi2sd xmm2, rcx
jmp 0x140038e00
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm2, rax
addsd xmm2, xmm2
nop dword [rax]
nop dword [rax + rax]
mov rcx, r10
xorps xmm0, xmm0
sub rcx, rdx
sub rcx, 1
js 0x140038e16
cvtsi2sd xmm0, rcx
jmp 0x140038e2b
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
lea rcx, [rdx - 1]
mulsd xmm0, xmm3
xorps xmm1, xmm1
test rcx, rcx
js 0x140038e42
cvtsi2sd xmm1, rcx
jmp 0x140038e57
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm1, rax
addsd xmm1, xmm1
mov rax, qword [rbx]
mulsd xmm1, xmm4
addsd xmm0, xmm1
divsd xmm0, xmm2
addsd xmm0, xmm5
cvttsd2si ecx, xmm0
mov dword [rax + rdx*4], ecx
inc rdx
cmp rdx, r10
jb 0x140038e00
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
xor r9d, r9d
sub rax, rcx
sar rax, 2
mov dword [rcx + rax*4 - 4], 0x7fffffff
mov r11, qword [rbx]
mov r8, qword [rbx + 8]
sub r8, r11
sar r8, 2
test r8, r8
jne 0x140038eab
mov dword [rbx + 0x18], r9d
pop rbx
ret
lea r10, [r8*4]
test r10, r10
je 0x140038ef1
mov qword [rsp + 0x10], rdi
lea rdi, [0x14007cbf0]
nop dword [rax]
nop dword [rax + rax]
movzx edx, byte [r9 + r11]
inc r9
movzx ecx, r8b
xor rdx, rcx
shr r8d, 8
xor r8d, dword [rdi + rdx*4]
cmp r9, r10
jb 0x140038ed0
mov rdi, qword [rsp + 0x10]
mov dword [rbx + 0x18], r8d
pop rbx
ret