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

Disassembly:
mov rax, rsp
sub rsp, 0x78
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
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rsp], xmm12
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
cmp r9d, 1
jne 0x14016f082
movdqa xmm12, xmmword [0x1401a38a0]
jmp 0x14016f08b
movdqa xmm12, xmmword [0x1401a38b0]
pshufd xmm0, xmm0, 0xb1
pshufd xmm10, xmm1, 0x1b
movdqa xmm11, xmm0
palignr xmm11, xmm10, 8
pblendw xmm10, xmm0, 0xf0
cmp r8, 0x40
jb 0x14016f3bc
add rdx, 0x20
shr r8, 6
movdqu xmm1, xmmword [rdx - 0x20]
movdqa xmm0, xmmword [0x1401a39b0]
movdqa xmm9, xmm11
movdqu xmm2, xmmword [rdx - 0x10]
movdqu xmm3, xmmword [rdx]
movdqu xmm4, xmmword [rdx + 0x10]
pshufb xmm2, xmm12
pshufb xmm3, xmm12
pshufb xmm4, xmm12
pshufb xmm1, xmm12
movdqa xmm5, xmm4
movdqa xmm8, xmm10
paddd xmm0, xmm1
palignr xmm5, xmm3, 4
sha256rnds2 xmm8, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm8, xmm0
movdqa xmm0, xmmword [0x1401a3960]
paddd xmm0, xmm2
sha256rnds2 xmm8, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm8, xmm0
movdqa xmm0, xmmword [0x1401a3910]
paddd xmm0, xmm3
sha256rnds2 xmm8, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm8, xmm0
movdqa xmm0, xmmword [0x1401a3980]
paddd xmm0, xmm4
sha256rnds2 xmm8, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm8, xmm0
movdqa xmm0, xmmword [0x1401a38e0]
sha256msg1 xmm1, xmm2
sha256msg1 xmm2, xmm3
sha256msg1 xmm3, xmm4
paddd xmm5, xmm1
sha256msg2 xmm5, xmm4
paddd xmm0, xmm5
movdqa xmm6, xmm5
sha256rnds2 xmm8, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm8, xmm0
movdqa xmm0, xmmword [0x1401a3930]
palignr xmm6, xmm4, 4
paddd xmm6, xmm2
sha256msg2 xmm6, xmm5
paddd xmm0, xmm6
movdqa xmm2, xmm6
sha256rnds2 xmm8, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm8, xmm0
movdqa xmm0, xmmword [0x1401a3970]
palignr xmm2, xmm5, 4
paddd xmm2, xmm3
sha256msg2 xmm2, xmm6
paddd xmm0, xmm2
movdqa xmm3, xmm2
sha256rnds2 xmm8, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm8, xmm0
movdqa xmm0, xmmword [0x1401a38d0]
palignr xmm3, xmm6, 4
sha256msg1 xmm4, xmm5
sha256msg1 xmm5, xmm6
paddd xmm3, xmm4
sha256msg2 xmm3, xmm2
paddd xmm0, xmm3
movdqa xmm7, xmm3
sha256rnds2 xmm8, xmm11, xmm0
palignr xmm7, xmm2, 4
pshufd xmm0, xmm0, 0xe
paddd xmm7, xmm5
sha256rnds2 xmm11, xmm8, xmm0
movdqa xmm0, xmmword [0x1401a3900]
sha256msg2 xmm7, xmm3
paddd xmm0, xmm7
movdqa xmm1, xmm7
sha256msg1 xmm6, xmm2
sha256rnds2 xmm8, xmm11, xmm0
sha256msg1 xmm2, xmm3
pshufd xmm0, xmm0, 0xe
lea rdx, [rdx + 0x40]
palignr xmm1, xmm3, 4
paddd xmm1, xmm6
sha256rnds2 xmm11, xmm8, xmm0
movdqa xmm0, xmmword [0x1401a3950]
sha256msg2 xmm1, xmm7
paddd xmm0, xmm1
movdqa xmm4, xmm1
palignr xmm4, xmm7, 4
paddd xmm4, xmm2
sha256rnds2 xmm8, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm8, xmm0
movdqa xmm0, xmmword [0x1401a39a0]
sha256msg2 xmm4, xmm1
paddd xmm0, xmm4
movdqa xmm5, xmm4
palignr xmm5, xmm1, 4
sha256rnds2 xmm8, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm8, xmm0
movdqa xmm0, xmmword [0x1401a38c0]
sha256msg1 xmm3, xmm7
paddd xmm5, xmm3
sha256msg2 xmm5, xmm4
paddd xmm0, xmm5
movdqa xmm3, xmm5
palignr xmm3, xmm4, 4
sha256rnds2 xmm8, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm8, xmm0
movdqa xmm0, xmmword [0x1401a38f0]
sha256msg1 xmm7, xmm1
paddd xmm3, xmm7
sha256msg1 xmm1, xmm4
sha256msg2 xmm3, xmm5
paddd xmm0, xmm3
movdqa xmm2, xmm3
palignr xmm2, xmm5, 4
paddd xmm2, xmm1
sha256rnds2 xmm8, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm8, xmm0
movdqa xmm0, xmmword [0x1401a3920]
sha256msg2 xmm2, xmm3
paddd xmm0, xmm2
movdqa xmm1, xmm2
palignr xmm1, xmm3, 4
sha256rnds2 xmm8, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm8, xmm0
movdqa xmm0, xmmword [0x1401a3940]
sha256msg1 xmm4, xmm5
paddd xmm1, xmm4
sha256msg2 xmm1, xmm2
paddd xmm0, xmm1
sha256rnds2 xmm8, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm11, xmm8, xmm0
movdqa xmm0, xmm1
palignr xmm0, xmm2, 4
sha256msg1 xmm5, xmm3
paddd xmm0, xmm5
sha256msg2 xmm0, xmm1
paddd xmm0, xmmword [0x1401a3990]
sha256rnds2 xmm8, xmm11, xmm0
pshufd xmm0, xmm0, 0xe
paddd xmm10, xmm8
sha256rnds2 xmm11, xmm8, xmm0
paddd xmm11, xmm9
sub r8, 1
jne 0x14016f0bb
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 xmm12, xmmword [r11 - 0x78]
pshufd xmm1, xmm11, 0x1b
movaps xmm11, xmmword [r11 - 0x68]
movdqa xmm0, xmm1
pshufd xmm2, xmm10, 0xb1
movaps xmm10, xmmword [r11 - 0x58]
pblendw xmm0, xmm2, 0xf0
palignr xmm2, xmm1, 8
movdqu xmmword [rcx], xmm0
movdqu xmmword [rcx + 0x10], xmm2
mov rsp, r11
ret