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

Disassembly:
sub rsp, 0x88
mov eax, dword [rcx]
xorps xmm4, xmm4
movd xmm0, dword [rcx + 0x20]
mov dword [rsp], eax
mov eax, dword [rcx + 8]
mov dword [rsp + 4], eax
mov eax, dword [rcx + 0x10]
mov dword [rsp + 8], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0xc], eax
xor eax, eax
movaps xmmword [rsp + 0x30], xmm10
movaps xmmword [rsp + 0x20], xmm11
movdqa xmm11, xmmword [0x1400f89b0]
movd xmm1, eax
punpckldq xmm1, xmm0
punpckldq xmm4, xmm1
movdqu xmm0, xmmword [rsp]
pshufd xmm10, xmm0, 0x1b
cmp r8, 0x40
jb 0x140039763
movaps xmmword [rsp + 0x70], xmm6
add rdx, 0x20
movaps xmmword [rsp + 0x60], xmm7
movaps xmmword [rsp + 0x50], xmm8
movaps xmmword [rsp + 0x40], xmm9
shr r8, 6
nop
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
pxor 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
pxor xmm2, xmm3
sha1rnds4 xmm10, xmm1, 0
sha1msg2 xmm4, xmm6
sha1nexte xmm0, xmm4
movdqa xmm1, xmm10
pxor 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
pxor 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
pxor xmm5, xmm2
pxor xmm3, xmm4
sha1msg2 xmm3, xmm6
sha1nexte xmm0, xmm3
sha1rnds4 xmm10, xmm0, 1
sha1msg2 xmm5, xmm3
sha1nexte xmm1, xmm5
movdqa xmm0, xmm10
pxor xmm7, xmm3
sha1msg2 xmm7, xmm5
sha1rnds4 xmm10, xmm1, 1
sha1msg1 xmm6, xmm3
sha1nexte xmm0, xmm7
movdqa xmm1, xmm10
pxor xmm6, xmm5
sha1msg2 xmm6, xmm7
sha1msg1 xmm3, xmm5
movdqa xmm2, xmm7
sha1rnds4 xmm10, xmm0, 2
sha1nexte xmm1, xmm6
pxor 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
pxor xmm7, xmm2
movdqa xmm4, xmm6
pxor 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
pxor 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
pxor xmm3, xmm2
movdqa xmm2, xmm6
sha1msg1 xmm4, xmm7
pxor xmm2, xmm4
sha1msg2 xmm3, xmm6
sha1msg1 xmm7, xmm6
pxor 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
pxor 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 0x1400394f0
movaps xmm9, xmmword [rsp + 0x40]
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm11, xmmword [rsp + 0x20]
pshufd xmm1, xmm10, 0x1b
movaps xmm10, xmmword [rsp + 0x30]
movdqa xmm0, xmm1
movd edx, xmm1
psrldq xmm0, 4
pextrd eax, xmm4, 3
mov qword [rcx], rdx
movd edx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
psrldq xmm1, 0xc
mov qword [rcx + 8], rdx
movd edx, xmm0
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x10], rdx
movd edx, xmm1
mov qword [rcx + 0x18], rdx
add rsp, 0x88
ret