Function at 0x140051238
Capabilities:
Encode data using xor
Hash data using sha1 via x86 extensions

Disassembly:
mov rax, rsp
sub rsp, 0x68
movd xmm0, dword [rcx + 0x10]
xorps xmm4, xmm4
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
xor eax, eax
movaps xmmword [rsp], xmm11
movd xmm1, eax
punpckldq xmm1, xmm0
punpckldq xmm4, xmm1
movdqu xmm0, xmmword [rcx]
pshufd xmm10, xmm0, 0x1b
cmp r9d, 1
jne 0x14005128c
movdqa xmm11, xmmword [0x14005ea10]
jmp 0x140051295
movdqa xmm11, xmmword [0x14005ea20]
cmp r8, 0x40
jb 0x1400514f4
add rdx, 0x20
shr r8, 6
movdqu xmm2, xmmword [rdx - 0x20]
movdqu xmm3, xmmword [rdx - 0x10]
movdqu xmm7, xmmword [rdx]
movdqu xmm6, xmmword [rdx + 0x10]
movdqa xmm1, xmm10
movdqa xmm9, xmm10
pshufb xmm7, xmm11
pshufb xmm6, xmm11
pshufb xmm2, xmm11
pshufb xmm3, xmm11
movdqa xmm0, xmm2
movdqa xmm8, xmm4
paddd xmm0, xmm4
movdqa xmm4, xmm7
sha1rnds4 xmm10, xmm0, 0
sha1nexte xmm1, xmm3
sha1msg1 xmm2, xmm3
movdqa xmm0, xmm10
xorps xmm4, xmm2
sha1rnds4 xmm10, xmm1, 0
sha1nexte xmm0, xmm7
sha1msg1 xmm3, xmm7
sha1msg1 xmm7, xmm6
movdqa xmm1, xmm10
movdqa xmm2, xmm6
sha1rnds4 xmm10, xmm0, 0
sha1nexte xmm1, xmm6
movdqa xmm0, xmm10
xorps xmm2, xmm3
sha1rnds4 xmm10, xmm1, 0
sha1msg2 xmm4, xmm6
sha1nexte xmm0, xmm4
movdqa xmm1, xmm10
xorps xmm7, xmm4
sha1rnds4 xmm10, xmm0, 0
sha1msg2 xmm2, xmm4
sha1nexte xmm1, xmm2
sha1msg2 xmm7, xmm2
movdqa xmm0, xmm10
movdqa xmm3, xmm7
sha1rnds4 xmm10, xmm1, 1
sha1nexte xmm0, xmm7
movdqa xmm1, xmm10
sha1rnds4 xmm10, xmm0, 1
sha1msg1 xmm6, xmm4
xorps xmm6, xmm2
movdqa xmm0, xmm10
sha1msg2 xmm6, xmm7
sha1nexte xmm1, xmm6
sha1rnds4 xmm10, xmm1, 1
sha1msg1 xmm4, xmm2
sha1msg1 xmm2, xmm7
sha1msg1 xmm7, xmm6
movdqa xmm1, xmm10
movdqa xmm5, xmm6
xorps xmm5, xmm2
xorps xmm3, xmm4
sha1msg2 xmm3, xmm6
sha1nexte xmm0, xmm3
sha1rnds4 xmm10, xmm0, 1
sha1msg2 xmm5, xmm3
sha1nexte xmm1, xmm5
movdqa xmm0, xmm10
xorps xmm7, xmm3
sha1msg2 xmm7, xmm5
sha1rnds4 xmm10, xmm1, 1
sha1msg1 xmm6, xmm3
sha1nexte xmm0, xmm7
movdqa xmm1, xmm10
xorps xmm6, xmm5
sha1msg2 xmm6, xmm7
sha1msg1 xmm3, xmm5
movdqa xmm2, xmm7
sha1rnds4 xmm10, xmm0, 2
sha1nexte xmm1, xmm6
xorps xmm2, xmm3
movdqa xmm0, xmm10
sha1msg1 xmm5, xmm7
sha1rnds4 xmm10, xmm1, 2
sha1msg2 xmm2, xmm6
sha1msg1 xmm7, xmm6
lea rdx, [rdx + 0x40]
movdqa xmm1, xmm10
xorps xmm7, xmm2
movdqa xmm4, xmm6
xorps xmm4, xmm5
sha1nexte xmm0, xmm2
sha1rnds4 xmm10, xmm0, 2
movdqa xmm0, xmm10
sha1msg2 xmm4, xmm2
sha1nexte xmm1, xmm4
sha1rnds4 xmm10, xmm1, 2
movdqa xmm1, xmm10
sha1msg1 xmm6, xmm2
xorps xmm6, xmm4
sha1msg2 xmm7, xmm4
movdqa xmm3, xmm7
sha1msg2 xmm6, xmm7
sha1nexte xmm0, xmm7
sha1rnds4 xmm10, xmm0, 2
movdqa xmm0, xmm10
sha1nexte xmm1, xmm6
sha1rnds4 xmm10, xmm1, 3
movdqa xmm1, xmm10
sha1msg1 xmm2, xmm4
xorps xmm3, xmm2
movdqa xmm2, xmm6
sha1msg1 xmm4, xmm7
xorps xmm2, xmm4
sha1msg2 xmm3, xmm6
sha1msg1 xmm7, xmm6
xorps xmm7, xmm3
sha1nexte xmm0, xmm3
sha1rnds4 xmm10, xmm0, 3
movdqa xmm0, xmm10
sha1msg2 xmm2, xmm3
sha1nexte xmm1, xmm2
sha1rnds4 xmm10, xmm1, 3
movdqa xmm1, xmm10
sha1msg1 xmm6, xmm3
xorps xmm6, xmm2
sha1msg2 xmm7, xmm2
sha1nexte xmm0, xmm7
sha1rnds4 xmm10, xmm0, 3
movdqa xmm4, xmm10
sha1msg2 xmm6, xmm7
sha1nexte xmm1, xmm6
sha1rnds4 xmm10, xmm1, 3
paddd xmm10, xmm9
sha1nexte xmm4, xmm8
sub r8, 1
jne 0x1400512a7
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm8, xmmword [rsp + 0x30]
movaps xmm9, xmmword [rsp + 0x20]
movaps xmm11, xmmword [rsp]
pshufd xmm0, xmm10, 0x1b
movaps xmm10, xmmword [rsp + 0x10]
movdqu xmmword [rcx], xmm0
pextrd dword [rcx + 0x10], xmm4, 3
add rsp, 0x68
ret