Function at 0x1401879f0
Capabilities:
Hash data using sha256

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x188
mov rsi, rcx
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x130], xmm0
movdqa xmmword [rsp + 0x120], xmm0
movdqa xmmword [rsp + 0x110], xmm0
movdqa xmmword [rsp + 0x100], xmm0
cmp r8, 0x41
jae 0x140187a3f
lea rcx, [rsp + 0x100]
call sub.VCRUNTIME140.dll_memcpy
jmp 0x140187c9a
lea rdi, [rsp + 0x48]
movdqu xmmword [rsp + 0x78], xmm0
movdqu xmmword [rsp + 0x68], xmm0
movdqu xmmword [rsp + 0x58], xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov byte [rsp + 0x88], 0
movups xmm0, xmmword [0x140272e58]
movaps xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x140272e68]
movaps xmmword [rsp + 0x30], xmm0
mov rbx, r8
and rbx, 0xffffffffffffffc0
mov r14d, r8d
and r14d, 0x3f
add rbx, rdx
shr r8, 6
mov qword [rsp + 0x40], r8
lea rcx, [rsp + 0x20]
call fcn.1401a5d10
mov rcx, rdi
mov rdx, rbx
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + 0x88], r14b
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xf0], rax
movzx eax, byte [rsp + 0x88]
mov byte [rsp + 0xf8], al
mov eax, dword [rsp + 0x89]
mov dword [rsp + 0xf9], eax
movzx eax, word [rsp + 0x8d]
mov word [rsp + 0xfd], ax
movzx eax, byte [rsp + 0x8f]
mov byte [rsp + 0xff], al
movdqa xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movaps xmm2, xmmword [rsp + 0x40]
movaps xmm3, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0xb0], xmm2
movaps xmm2, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0xe0], xmm2
movaps xmm2, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0xd0], xmm2
movaps xmmword [rsp + 0xc0], xmm3
movaps xmmword [rsp + 0xa0], xmm1
movdqa xmmword [rsp + 0x90], xmm0
lea rdi, [rsp + 0xb8]
movzx ebx, byte [rsp + 0xf8]
mov rax, qword [rsp + 0xb0]
shl rax, 9
lea r14d, [rbx*8]
or r14, rax
bswap r14
mov byte [rsp + rbx + 0xb8], 0x80
cmp ebx, 0x3f
je 0x140187bad
lea rcx, [rsp + rbx]
add rcx, 0xb8
inc rcx
mov r8, rbx
xor r8, 0x3f
xor edx, edx
call sub.VCRUNTIME140.dll_memset
xor ebx, 0x38
cmp ebx, 7
ja 0x140187c0c
lea rbx, [rsp + 0x90]
mov r8d, 1
mov rcx, rbx
mov rdx, rdi
call fcn.1401a5d10
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x160], xmm0
movdqa xmmword [rsp + 0x150], xmm0
movdqa xmmword [rsp + 0x140], xmm0
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], r14
lea rdx, [rsp + 0x140]
mov r8d, 1
mov rcx, rbx
jmp 0x140187c25
mov qword [rsp + 0xf0], r14
lea rcx, [rsp + 0x90]
mov r8d, 1
mov rdx, rdi
call fcn.1401a5d10
pxor xmm0, xmm0
movdqa xmm1, xmmword [rsp + 0x90]
movdqa xmm2, xmmword [rsp + 0xa0]
movdqa xmm3, xmm1
punpckhbw xmm3, xmm0
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm3, xmm3, 0x1b
punpcklbw xmm1, xmm0
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm3
movdqa xmm3, xmm2
punpckhbw xmm3, xmm0
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm3, xmm3, 0x1b
punpcklbw xmm2, xmm0
pshuflw xmm0, xmm2, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm3
movdqa xmmword [rsp + 0x100], xmm1
movdqa xmmword [rsp + 0x110], xmm0
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmm2, xmmword [rsp + 0x120]
movaps xmm3, xmmword [rsp + 0x130]
movups xmmword [rsi + 0x30], xmm3
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov rax, rsi
add rsp, 0x188
pop rbx
pop rdi
pop rsi
pop r14
ret