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

Disassembly:
sub rsp, 0xa8
movaps xmmword [rsp + 0x50], xmm10
movaps xmmword [rsp + 0x40], xmm11
movaps xmmword [rsp + 0x30], xmm12
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
cmp r9d, 1
jne 0x1401461a3
movdqa xmm12, xmmword [0x140314ed0]
jmp 0x1401461ac
movdqa xmm12, xmmword [0x140316aa0]
pshufd xmm0, xmm0, 0xb1
pshufd xmm11, xmm1, 0x1b
movdqa xmm10, xmm0
palignr xmm10, xmm11, 8
pblendw xmm11, xmm0, 0xf0
cmp r8, 0x40
jb 0x140146555
movaps xmmword [rsp + 0x90], xmm6
add rdx, 0x20
movaps xmmword [rsp + 0x80], xmm7
movaps xmmword [rsp + 0x70], xmm8
movaps xmmword [rsp + 0x60], xmm9
movaps xmmword [rsp + 0x20], xmm13
movdqa xmm13, xmmword [0x140316ba0]
movaps xmmword [rsp + 0x10], xmm14
movdqa xmm14, xmmword [0x140316b50]
movaps xmmword [rsp], xmm15
movdqa xmm15, xmmword [0x140316b00]
shr r8, 6
nop dword [rax]
nop dword [rax + rax]
movdqu xmm1, xmmword [rdx - 0x20]
movdqu xmm2, xmmword [rdx - 0x10]
movdqu xmm3, xmmword [rdx]
movdqu xmm4, xmmword [rdx + 0x10]
pshufb xmm2, xmm12
movdqa xmm9, xmm10
movdqa xmm0, xmm13
pshufb xmm3, xmm12
pshufb xmm4, xmm12
pshufb xmm1, xmm12
movdqa xmm5, xmm4
movdqa xmm8, xmm11
paddd xmm0, xmm1
palignr xmm5, xmm3, 4
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
sha256msg1 xmm1, xmm2
paddd xmm5, xmm1
movdqa xmm0, xmm14
paddd xmm0, xmm2
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
sha256msg1 xmm2, xmm3
sha256msg2 xmm5, xmm4
movdqa xmm6, xmm5
movdqa xmm0, xmm15
paddd xmm0, xmm3
palignr xmm6, xmm4, 4
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
paddd xmm6, xmm2
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140316b70]
paddd xmm0, xmm4
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140316ad0]
paddd xmm0, xmm5
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140316b20]
sha256msg2 xmm6, xmm5
paddd xmm0, xmm6
movdqa xmm2, xmm6
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140316b60]
sha256msg1 xmm3, xmm4
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 [0x140316ac0]
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 [0x140316af0]
sha256msg2 xmm7, xmm3
paddd xmm0, xmm7
movdqa xmm1, xmm7
sha256msg1 xmm6, xmm2
sha256rnds2 xmm8, xmm10, xmm0
sha256msg1 xmm2, xmm3
pshufd xmm0, xmm0, 0xe
lea rdx, [rdx + 0x40]
palignr xmm1, xmm3, 4
paddd xmm1, xmm6
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140316b40]
sha256msg2 xmm1, xmm7
paddd xmm0, xmm1
movdqa xmm4, xmm1
palignr xmm4, xmm7, 4
paddd xmm4, xmm2
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140316b90]
sha256msg2 xmm4, xmm1
paddd xmm0, xmm4
movdqa xmm5, xmm4
palignr xmm5, xmm1, 4
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140316ab0]
sha256msg1 xmm3, xmm7
paddd xmm5, xmm3
sha256msg2 xmm5, xmm4
paddd xmm0, xmm5
movdqa xmm3, xmm5
palignr xmm3, xmm4, 4
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140316ae0]
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, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
sha256rnds2 xmm10, xmm8, xmm0
movdqa xmm0, xmmword [0x140316b10]
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 [0x140316b30]
sha256msg1 xmm4, xmm5
paddd xmm1, xmm4
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 xmm5, xmm3
paddd xmm0, xmm5
sha256msg2 xmm0, xmm1
paddd xmm0, xmmword [0x140316b80]
sha256rnds2 xmm8, xmm10, xmm0
pshufd xmm0, xmm0, 0xe
paddd xmm11, xmm8
sha256rnds2 xmm10, xmm8, xmm0
paddd xmm10, xmm9
sub r8, 1
jne 0x140146230
movaps xmm15, xmmword [rsp]
movaps xmm14, xmmword [rsp + 0x10]
movaps xmm13, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm8, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm12, xmmword [rsp + 0x30]
pshufd xmm1, xmm10, 0x1b
movaps xmm10, xmmword [rsp + 0x50]
movdqa xmm0, xmm1
pshufd xmm2, xmm11, 0xb1
movaps xmm11, xmmword [rsp + 0x40]
pblendw xmm0, xmm2, 0xf0
palignr xmm2, xmm1, 8
movdqu xmmword [rcx], xmm0
movdqu xmmword [rcx + 0x10], xmm2
add rsp, 0xa8
ret