Function at 0x14000ec20
Capabilities:
Hash data using sha256

Disassembly:
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0x90
cmp dword [rcx], 0x3f
mov rdi, rcx
jne 0x14000ecbe
xor esi, esi
mov edx, esi
cmp dword [rcx + 4], edx
jbe 0x14000ec61
add rcx, 0x28
nop dword [rax]
movzx eax, byte [rcx - 0x20]
inc edx
inc rcx
mov byte [rcx - 1], al
cmp edx, dword [rdi + 4]
jb 0x14000ec50
movsxd r8, edx
cmp qword [rdi + 0x20], rsi
jbe 0x14000ec93
nop word [rax + rax]
cmp edx, 0x20
jae 0x14000ec93
mov rax, qword [rdi + 0x18]
mov ecx, esi
inc esi
movzx ecx, byte [rcx + rax]
mov eax, esi
inc r8
mov byte [rdi + r8 + 0x27], cl
inc edx
cmp rax, qword [rdi + 0x20]
jb 0x14000ec70
movsxd rax, edx
cmp edx, 0x20
jae 0x14000ee97
mov r8d, 0x20
lea rcx, [rax + rdi + 0x28]
sub r8d, edx
xor edx, edx
add rsp, 0x90
pop rdi
pop rsi
pop rbp
jmp sub.msvcrt.dll_memset
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], r12
mov qword [rsp + 0xc0], r13
mov r13d, dword [rcx + 4]
mov esi, 0
mov qword [rsp + 0xc8], r14
add r13d, 8
mov ebx, esi
add r13, qword [rcx + 0x20]
je 0x14000ecfe
mov rcx, r13
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov rbx, rax
mov r8d, dword [rdi + 4]
lea rdx, [rdi + 8]
mov rcx, rbx
call sub.msvcrt.dll_memcpy
mov ecx, dword [rdi + 4]
mov r8, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x18]
add rcx, rbx
call sub.msvcrt.dll_memcpy
mov r14d, dword [rdi + 4]
mov dword [rbp - 0x29], 0x6a09e667
add r14, qword [rdi + 0x20]
mov dword [rbp - 0x25], 0xbb67ae85
mov dword [rbp - 0x21], 0x3c6ef372
add r14, rbx
mov dword [rbp - 0x1d], 0xa54ff53a
mov dword [rbp - 0x19], 0x510e527f
mov dword [rbp - 0x15], 0x9b05688c
mov dword [rbp - 0x11], 0x1f83d9ab
mov dword [rbp - 0xd], 0x5be0cd19
mov qword [rbp - 9], rsi
mov qword [r14], rsi
mov ecx, dword [rdi]
mov r12d, 1
shl r12, cl
nop word [rax + rax]
lea rcx, [rbp - 0x29]
mov r8, r13
mov rdx, rbx
call fcn.14000e6e0
mov r11d, esi
mov rax, r14
inc byte [rax]
jne 0x14000eda5
inc r11d
inc rax
cmp r11d, 8
jb 0x14000ed95
dec r12
jne 0x14000ed80
mov r14, qword [rsp + 0xc8]
mov r13, qword [rsp + 0xc0]
lea r12, [rdi + 0x28]
mov edi, dword [rbp - 9]
and edi, 0x3f
mov byte [rbp + rdi - 1], 0x80
inc edi
cmp edi, 0x38
je 0x14000edea
and edi, 0x3f
jne 0x14000edde
lea rcx, [rbp - 0x29]
call fcn.14000e460
mov byte [rbp + rdi - 1], sil
inc edi
cmp edi, 0x38
jne 0x14000edd0
mov rax, qword [rbp - 9]
lea rcx, [rax*8]
mov rax, rcx
bswap ecx
shr rax, 0x20
mov dword [rbp + 0x3b], ecx
lea rcx, [rbp - 0x29]
bswap eax
mov dword [rbp + 0x37], eax
call fcn.14000e460
lea r11, [rbp - 0x25]
mov ecx, 4
nop dword [rax]
mov eax, dword [r11 - 4]
add r12, 8
add r11, 8
dec rcx
bswap eax
mov dword [r12 - 8], eax
mov eax, dword [r11 - 8]
bswap eax
mov dword [r12 - 4], eax
jne 0x14000ee20
mov rcx, rbx
mov dword [rbp - 0x29], 0x6a09e667
mov dword [rbp - 0x25], 0xbb67ae85
mov dword [rbp - 0x21], 0x3c6ef372
mov dword [rbp - 0x1d], 0xa54ff53a
mov dword [rbp - 0x19], 0x510e527f
mov dword [rbp - 0x15], 0x9b05688c
mov dword [rbp - 0x11], 0x1f83d9ab
mov dword [rbp - 0xd], 0x5be0cd19
mov qword [rbp - 9], rsi
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov r12, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xb0]
add rsp, 0x90
pop rdi
pop rsi
pop rbp
ret