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

Disassembly:
mov rax, rsp
sub rsp, 0x68
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 [rsp], xmm11
movdqu xmm2, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqa xmm0, xmm2
punpcklqdq xmm0, xmm1
punpckhqdq xmm2, xmm1
pshufd xmm10, xmm0, 0x1b
pshufd xmm11, xmm2, 0x1b
cmp r8, 0x40
jb 0x1402cebb0
mov rdx, r8
shr rdx, 6
imul rax, rdx, 0xffffffffffffffc0
add r8, rax
movdqu xmm1, xmmword [r10]
movdqu xmm2, xmmword [r10 + 0x10]
pshufb xmm1, xmmword [0x14038acb0]
pshufb xmm2, xmmword [0x14038acb0]
movdqu xmm3, xmmword [r10 + 0x20]
movdqu xmm4, xmmword [r10 + 0x30]
lea r10, [r10 + 0x40]
pshufb xmm3, xmmword [0x14038acb0]
pshufb xmm4, xmmword [0x14038acb0]
movdqa xmm0, xmmword [0x140386a00]
movdqa xmm9, xmm10
paddd xmm0, xmm1
movdqa xmm5, xmm4
palignr xmm5, xmm3, 4
movdqa xmm8, xmm11
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140386a10]
paddd xmm0, xmm2
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140386a20]
paddd xmm0, xmm3
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140386a30]
paddd xmm0, xmm4
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140386a40]
sha256msg1 xmm1, xmm2
sha256msg1 xmm2, xmm3
sha256msg1 xmm3, xmm4
paddd xmm5, xmm1
sha256msg2 xmm5, xmm4
paddd xmm0, xmm5
movdqa xmm6, xmm5
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140386a50]
palignr xmm6, xmm4, 4
paddd xmm6, xmm2
sha256msg2 xmm6, xmm5
paddd xmm0, xmm6
movdqa xmm2, xmm6
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140386a60]
palignr xmm2, xmm5, 4
paddd xmm2, xmm3
sha256msg2 xmm2, xmm6
paddd xmm0, xmm2
movdqa xmm3, xmm2
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140386a70]
palignr xmm3, xmm6, 4
sha256msg1 xmm4, xmm5
sha256msg1 xmm5, xmm6
paddd xmm3, xmm4
sha256msg2 xmm3, xmm2
paddd xmm0, xmm3
movdqa xmm7, xmm3
sha256rnds2 xmm8, xmm10, xmm0
palignr xmm7, xmm2, 4
pshufd xmm0, xmm0, 0xe
paddd xmm7, xmm5
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140386a80]
sha256msg2 xmm7, xmm3
paddd xmm0, xmm7
sha256msg1 xmm6, xmm2
sha256rnds2 xmm8, xmm10, xmm0
sha256msg1 xmm2, xmm3
pshufd xmm0, xmm0, 0xe
movdqa xmm1, xmm7
palignr xmm1, xmm3, 4
paddd xmm1, xmm6
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140386a90]
sha256msg2 xmm1, xmm7
paddd xmm0, xmm1
movdqa xmm5, xmm1
palignr xmm5, xmm7, 4
paddd xmm5, xmm2
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140386aa0]
sha256msg2 xmm5, xmm1
paddd xmm0, xmm5
movdqa xmm4, xmm5
palignr xmm4, xmm1, 4
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140386ab0]
sha256msg1 xmm3, xmm7
paddd xmm4, xmm3
sha256msg2 xmm4, xmm5
paddd xmm0, xmm4
movdqa xmm3, xmm4
palignr xmm3, xmm5, 4
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140386ac0]
sha256msg1 xmm7, xmm1
paddd xmm3, xmm7
sha256msg1 xmm1, xmm5
sha256msg2 xmm3, xmm4
paddd xmm0, xmm3
movdqa xmm2, xmm3
palignr xmm2, xmm4, 4
paddd xmm2, xmm1
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140386ad0]
sha256msg2 xmm2, xmm3
paddd xmm0, xmm2
movdqa xmm1, xmm2
palignr xmm1, xmm3, 4
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140386ae0]
sha256msg1 xmm5, xmm4
paddd xmm1, xmm5
sha256msg2 xmm1, xmm2
paddd xmm0, xmm1
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmm1
palignr xmm0, xmm2, 4
sha256msg1 xmm4, xmm3
paddd xmm0, xmm4
sha256msg2 xmm0, xmm1
paddd xmm0, xmmword [0x140386af0]
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
paddd xmm11, xmm8
sha256rnds2 xmm10, xmm8, xmm0
paddd xmm10, xmm9
sub rdx, 1
jne 0x1402ce89f
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm8, xmmword [rsp + 0x30]
movaps xmm9, xmmword [rsp + 0x20]
pshufd xmm2, xmm10, 0x1b
movaps xmm10, xmmword [rsp + 0x10]
movdqa xmm0, xmm2
pshufd xmm1, xmm11, 0x1b
movaps xmm11, xmmword [rsp]
punpcklqdq xmm0, xmm1
movdqu xmmword [rcx], xmm0
punpckhqdq xmm2, xmm1
movdqu xmmword [rcx + 0x10], xmm2
mov qword [r9], r8
add rsp, 0x68
ret