Function at 0x1402f4040
Capabilities:
Hash data using sha256 via x86 extensions

Disassembly:
mov rax, rsp
sub rsp, 0x78
movaps xmmword [rax - 0x18], xmm6
mov r10, rdx
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rsp], xmm12
movdqu xmm2, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqa xmm0, xmm2
punpcklqdq xmm0, xmm1
punpckhqdq xmm2, xmm1
pshufd xmm11, xmm0, 0x1b
pshufd xmm12, xmm2, 0x1b
cmp r8, 0x40
jb 0x1402f43c8
mov rdx, r8
shr rdx, 6
imul rax, rdx, 0xffffffffffffffc0
add r8, rax
movdqu xmm1, xmmword [r10]
movdqu xmm3, xmmword [r10 + 0x10]
pshufb xmm1, xmmword [0x1403bc7e0]
pshufb xmm3, xmmword [0x1403bc7e0]
movdqu xmm4, xmmword [r10 + 0x20]
movdqu xmm5, xmmword [r10 + 0x30]
lea r10, [r10 + 0x40]
pshufb xmm4, xmmword [0x1403bc7e0]
pshufb xmm5, xmmword [0x1403bc7e0]
movdqa xmm0, xmmword [0x1403b8500]
movdqa xmm10, xmm11
paddd xmm0, xmm1
movdqa xmm7, xmm5
sha256msg1 xmm1, xmm3
palignr xmm7, xmm4, 4
movdqa xmm9, xmm12
sha256rnds2 xmm9, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
paddd xmm7, xmm1
sha256rnds2 xmm11, xmm9, xmm0
movdqa xmm0, xmmword [0x1403b8510]
paddd xmm0, xmm3
sha256rnds2 xmm9, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm9, xmm0
movdqa xmm0, xmmword [0x1403b8520]
paddd xmm0, xmm4
sha256rnds2 xmm9, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm9, xmm0
movdqa xmm0, xmmword [0x1403b8530]
paddd xmm0, xmm5
sha256rnds2 xmm9, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm9, xmm0
movdqa xmm0, xmmword [0x1403b8540]
sha256msg1 xmm3, xmm4
sha256msg2 xmm7, xmm5
paddd xmm0, xmm7
movdqa xmm2, xmm7
sha256rnds2 xmm9, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm9, xmm0
movdqa xmm0, xmmword [0x1403b8550]
palignr xmm2, xmm5, 4
paddd xmm2, xmm3
sha256msg2 xmm2, xmm7
paddd xmm0, xmm2
movdqa xmm3, xmm2
sha256rnds2 xmm9, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm1, xmm2
sha256rnds2 xmm11, xmm9, xmm0
movdqa xmm0, xmmword [0x1403b8560]
palignr xmm3, xmm7, 4
sha256msg1 xmm4, xmm5
paddd xmm3, xmm4
sha256msg2 xmm3, xmm2
paddd xmm0, xmm3
movdqa xmm8, xmm3
sha256rnds2 xmm9, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm9, xmm0
movdqa xmm0, xmmword [0x1403b8570]
palignr xmm8, xmm2, 4
sha256msg1 xmm5, xmm7
paddd xmm8, xmm5
sha256msg2 xmm8, xmm3
paddd xmm0, xmm8
movdqa xmm6, xmm8
sha256rnds2 xmm9, xmm11, xmm0
palignr xmm6, xmm3, 4
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm9, xmm0
movdqa xmm0, xmmword [0x1403b8580]
sha256msg1 xmm7, xmm2
paddd xmm6, xmm7
sha256msg2 xmm6, xmm8
sha256msg1 xmm1, xmm3
paddd xmm0, xmm6
sha256msg1 xmm3, xmm8
movdqa xmm5, xmm6
palignr xmm5, xmm8, 4
paddd xmm5, xmm1
sha256rnds2 xmm9, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm9, xmm0
movdqa xmm0, xmmword [0x1403b8590]
sha256msg2 xmm5, xmm6
paddd xmm0, xmm5
movdqa xmm4, xmm5
palignr xmm4, xmm6, 4
paddd xmm4, xmm3
sha256rnds2 xmm9, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm9, xmm0
movdqa xmm0, xmmword [0x1403b85a0]
sha256msg2 xmm4, xmm5
paddd xmm0, xmm4
movdqa xmm7, xmm4
palignr xmm7, xmm5, 4
sha256rnds2 xmm9, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm9, xmm0
movdqa xmm0, xmmword [0x1403b85b0]
sha256msg1 xmm8, xmm6
paddd xmm7, xmm8
sha256msg2 xmm7, xmm4
paddd xmm0, xmm7
movdqa xmm3, xmm7
palignr xmm3, xmm4, 4
sha256rnds2 xmm9, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm9, xmm0
movdqa xmm0, xmmword [0x1403b85c0]
sha256msg1 xmm6, xmm5
paddd xmm3, xmm6
sha256msg2 xmm3, xmm7
paddd xmm0, xmm3
movdqa xmm2, xmm3
palignr xmm2, xmm7, 4
sha256rnds2 xmm9, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm9, xmm0
movdqa xmm0, xmmword [0x1403b85d0]
sha256msg1 xmm5, xmm4
paddd xmm2, xmm5
sha256msg1 xmm4, xmm7
sha256msg2 xmm2, xmm3
paddd xmm0, xmm2
movdqa xmm1, xmm2
palignr xmm1, xmm3, 4
paddd xmm1, xmm4
sha256rnds2 xmm9, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm9, xmm0
movdqa xmm0, xmmword [0x1403b85e0]
sha256msg2 xmm1, xmm2
paddd xmm0, xmm1
sha256rnds2 xmm9, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm9, xmm0
movdqa xmm0, xmm1
palignr xmm0, xmm2, 4
sha256msg1 xmm7, xmm3
paddd xmm7, xmm0
sha256msg2 xmm7, xmm1
paddd xmm7, xmmword [0x1403b85f0]
movdqa xmm0, xmm7
sha256rnds2 xmm9, xmm11, xmm0
pshufd xmm0, xmm7, 0xe
paddd xmm12, xmm9
sha256rnds2 xmm11, xmm9, xmm0
paddd xmm11, xmm10
sub rdx, 1
jne 0x1402f40a4
movaps xmm6, xmmword [rsp + 0x60]
lea r11, [rsp + 0x78]
movaps xmm7, xmmword [rsp + 0x50]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
pshufd xmm2, xmm11, 0x1b
movaps xmm11, xmmword [r11 - 0x68]
movdqa xmm0, xmm2
pshufd xmm1, xmm12, 0x1b
movaps xmm12, xmmword [r11 - 0x78]
punpcklqdq xmm0, xmm1
movdqu xmmword [rcx], xmm0
punpckhqdq xmm2, xmm1
movdqu xmmword [rcx + 0x10], xmm2
mov qword [r9], r8
mov rsp, r11
ret