Function at 0x140070fd0
Capabilities:
Hash data using sha256

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x38
movdqa xmmword [rsp + 0x20], xmm6
mov eax, 0xffffff53
test rcx, rcx
je 0x14007127d
test rdx, rdx
je 0x14007127d
mov rsi, rcx
mov ecx, dword [rcx + 0x60]
mov eax, 0xffffff40
cmp rcx, 0x3f
ja 0x14007127d
mov rbx, rdx
lea rdi, [rsi + 0x20]
lea eax, [rcx + 1]
mov dword [rsi + 0x60], eax
mov byte [rsi + rcx + 0x20], 0x80
mov r14d, dword [rsi + 0x60]
cmp r14, 0x39
jb 0x140071119
mov rcx, r14
add rcx, rdi
mov r8d, 0x40
sub r8d, r14d
xor r14d, r14d
xor edx, edx
call fcn.1400d0da0
mov dword [rsi + 0x60], 0x40
movdqu xmm2, xmmword [rsi + 0x20]
movdqu xmm3, xmmword [rsi + 0x30]
movdqu xmm4, xmmword [rsi + 0x40]
movdqu xmm0, xmmword [rsi + 0x50]
pxor xmm1, xmm1
movdqa xmm5, xmm2
punpckhbw xmm5, xmm1
pshuflw xmm5, xmm5, 0x1b
pshufhw xmm5, xmm5, 0x1b
punpcklbw xmm2, xmm1
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm2, xmm5
movdqu xmmword [rsi + 0x20], xmm2
movdqa xmm2, xmm3
punpckhbw xmm2, xmm1
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm3, xmm1
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm3, xmm3, 0x1b
packuswb xmm3, xmm2
movdqu xmmword [rsi + 0x30], xmm3
movdqa xmm2, xmm4
punpckhbw xmm2, xmm1
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm4, xmm1
pshuflw xmm3, xmm4, 0x1b
pshufhw xmm3, xmm3, 0x1b
packuswb xmm3, xmm2
movdqu xmmword [rsi + 0x40], xmm3
movdqa xmm2, xmm0
punpckhbw xmm2, xmm1
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm0, xmm1
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm2
movdqu xmmword [rsi + 0x50], xmm0
mov rcx, rsi
mov rdx, rdi
call fcn.140071290
mov dword [rsi + 0x60], 0
mov ecx, r14d
add rcx, rdi
mov r8d, 0x38
sub r8d, r14d
xor edx, edx
call fcn.1400d0da0
mov eax, dword [rsi + 0x64]
mov ecx, dword [rsi + 0x68]
shld ecx, eax, 3
mov dword [rsi + 0x68], ecx
shl eax, 3
mov dword [rsi + 0x64], eax
movdqu xmm0, xmmword [rsi + 0x20]
movdqu xmm1, xmmword [rsi + 0x30]
movdqu xmm2, xmmword [rsi + 0x40]
pxor xmm6, xmm6
movdqa xmm3, xmm0
punpckhbw xmm3, xmm6
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm3, xmm3, 0x1b
punpcklbw xmm0, xmm6
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm3
movdqu xmmword [rsi + 0x20], xmm0
movdqa xmm0, xmm1
punpckhbw xmm0, xmm6
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
punpcklbw xmm1, xmm6
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm0
movdqu xmmword [rsi + 0x30], xmm1
movdqa xmm0, xmm2
punpckhbw xmm0, xmm6
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
punpcklbw xmm2, xmm6
pshuflw xmm1, xmm2, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm0
movdqu xmmword [rsi + 0x40], xmm1
mov edx, dword [rsi + 0x50]
bswap edx
mov dword [rsi + 0x50], edx
mov edx, dword [rsi + 0x54]
bswap edx
mov dword [rsi + 0x54], edx
mov dword [rsi + 0x58], ecx
mov dword [rsi + 0x5c], eax
mov rcx, rsi
mov rdx, rdi
call fcn.140071290
xor eax, eax
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsi + 0x10]
movdqa xmm2, xmm0
punpckhbw xmm2, xmm6
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm0, xmm6
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm2
movdqu xmmword [rsi], xmm0
movdqa xmm2, xmm1
punpckhbw xmm2, xmm6
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm1, xmm6
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm2
movdqu xmmword [rsi + 0x10], xmm1
movdqu xmmword [rbx], xmm0
movups xmm0, xmmword [rsi + 0x10]
movups xmmword [rbx + 0x10], xmm0
movaps xmm0, xmmword [0x1400e0aa0]
movups xmmword [rsi], xmm0
movaps xmm0, xmmword [0x1400e0ab0]
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x60], 0
mov dword [rsi + 0x68], 0
movaps xmm6, xmmword [rsp + 0x20]
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r14
ret