Function at 0x14006a750
Capabilities:
Hash data using sha256

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
movdqa xmmword [rsp + 0x20], xmm6
mov ebp, 0xffffff53
test rcx, rcx
je 0x14006a9fe
mov rdi, rdx
test rdx, rdx
je 0x14006a9fe
mov rsi, rcx
mov eax, dword [rcx + 0x60]
mov ebp, 0xffffff40
cmp rax, 0x3f
ja 0x14006a9fe
lea rbx, [rsi + 0x20]
lea ecx, [rax + 1]
mov dword [rsi + 0x60], ecx
mov byte [rsi + rax + 0x20], 0x80
mov r14d, dword [rsi + 0x60]
cmp r14, 0x39
jb 0x14006a89a
mov rcx, r14
add rcx, rbx
mov r8d, 0x40
sub r8d, r14d
xor r14d, r14d
xor edx, edx
call fcn.1400cae90
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, rbx
call fcn.14006aa10
mov dword [rsi + 0x60], 0
mov ecx, r14d
add rcx, rbx
mov r8d, 0x38
sub r8d, r14d
xor ebp, ebp
xor edx, edx
call fcn.1400cae90
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, rbx
call fcn.14006aa10
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 [rdi], xmm0
movups xmm0, xmmword [rsi + 0x10]
movups xmmword [rdi + 0x10], xmm0
movaps xmm0, xmmword [0x1400d98e0]
movups xmmword [rsi], xmm0
movaps xmm0, xmmword [0x1400d98f0]
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x60], 0
mov dword [rsi + 0x68], 0
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x20]
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret