Function at 0x14000f0f0
Capabilities:
Hash data using sha256

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push r14
sub rsp, 0x118
mov eax, dword [rcx]
mov r14, rcx
cmp eax, 0x3f
jne 0x14000f191
xor ebx, ebx
cmp dword [rcx + 4], ebx
mov edx, ebx
jbe 0x14000f135
lea r8, [rcx + 0x30]
nop
nop
movzx eax, byte [r8 - 0x28]
add edx, 1
add r8, 1
mov byte [r8 - 1], al
cmp edx, dword [rcx + 4]
jb 0x14000f120
cmp qword [rcx + 0x20], rbx
movsxd r8, edx
jbe 0x14000f166
nop
cmp edx, 0x20
jae 0x14000f166
mov rax, qword [r14 + 0x28]
mov ecx, ebx
add ebx, 1
movzx ecx, byte [rcx + rax]
mov eax, ebx
add r8, 1
mov byte [r8 + r14 + 0x2f], cl
add edx, 1
cmp rax, qword [r14 + 0x20]
jb 0x14000f140
cmp edx, 0x20
movsxd rax, edx
jae 0x14000f6b0
mov r8d, 0x20
lea rcx, [rax + r14 + 0x30]
sub r8d, edx
xor edx, edx
add rsp, 0x118
pop r14
pop rbx
jmp sub.msvcrt.dll_memset
xor ebx, ebx
mov qword [rsp + 0xe8], r15
movzx ecx, al
mov r15d, 1
mov dword [rsp + 0x20], 0x6a09e667
mov dword [rsp + 0x24], 0xbb67ae85
shl r15, cl
mov dword [rsp + 0x28], 0x3c6ef372
mov dword [rsp + 0x2c], 0xa54ff53a
test r15, r15
mov dword [rsp + 0x30], 0x510e527f
mov dword [rsp + 0x34], 0x9b05688c
mov dword [rsp + 0x38], 0x1f83d9ab
mov dword [rsp + 0x3c], 0x5be0cd19
mov qword [rsp + 0x40], rbx
mov byte [rsp + 0x138], bl
mov byte [rsp + 0x139], bl
mov byte [rsp + 0x13a], bl
mov byte [rsp + 0x13b], bl
mov byte [rsp + 0x13c], bl
mov byte [rsp + 0x13d], bl
mov byte [rsp + 0x13e], bl
mov byte [rsp + 0x13f], bl
je 0x14000f69a
mov eax, dword [r14 + 4]
mov rcx, qword [r14 + 0x20]
mov rdx, qword [r14 + 0x28]
mov qword [rsp + 0x110], rbp
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0x98], rax
lea rax, [r14 + 8]
mov r14, qword [rsp + 0x98]
mov qword [rsp + 0x100], rdi
mov qword [rsp + 0xf8], r12
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0xf0], r13
mov qword [rsp + 0x148], rdx
nop
mov edi, dword [rsp + 0x40]
mov r12, r14
mov r13, rax
mov esi, edi
and esi, 0x3f
test r14, r14
movsxd rbp, esi
je 0x14000f3d5
nop
nop
movzx eax, byte [r13]
add esi, 1
add rbp, 1
mov byte [rsp + rbp + 0x47], al
add qword [rsp + 0x40], 1
add r13, 1
sub r12, 1
cmp esi, 0x40
jne 0x14000f3b8
mov esi, ebx
mov rbp, rbx
mov rdx, rbx
mov r8d, 4
nop
nop
nop
movzx eax, byte [rsp + rdx + 0x49]
movzx ecx, byte [rsp + rdx + 0x48]
add rdx, 0x10
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x3a]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x3b]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x3d]
mov dword [rsp + rdx + 0x90], ecx
movzx ecx, byte [rsp + rdx + 0x3c]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x3e]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x3f]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x41]
mov dword [rsp + rdx + 0x94], ecx
movzx ecx, byte [rsp + rdx + 0x40]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x42]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x43]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x45]
mov dword [rsp + rdx + 0x98], ecx
movzx ecx, byte [rsp + rdx + 0x44]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x46]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x47]
shl ecx, 8
add ecx, eax
sub r8, 1
mov dword [rsp + rdx + 0x9c], ecx
jne 0x14000f2f0
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x20]
call fcn.14000e930
test r12, r12
jne 0x14000f2b0
mov edi, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x148]
mov esi, edi
mov r12, rcx
mov r13, rdx
and esi, 0x3f
test rcx, rcx
movsxd rbp, esi
je 0x14000f505
nop
movzx eax, byte [r13]
add esi, 1
add rbp, 1
mov byte [rsp + rbp + 0x47], al
add qword [rsp + 0x40], 1
add r13, 1
sub r12, 1
cmp esi, 0x40
jne 0x14000f4f8
mov esi, ebx
mov rbp, rbx
mov rdx, rbx
mov r8d, 4
nop
nop
nop
movzx eax, byte [rsp + rdx + 0x49]
movzx ecx, byte [rsp + rdx + 0x48]
add rdx, 0x10
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x3a]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x3b]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x3d]
mov dword [rsp + rdx + 0x90], ecx
movzx ecx, byte [rsp + rdx + 0x3c]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x3e]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x3f]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x41]
mov dword [rsp + rdx + 0x94], ecx
movzx ecx, byte [rsp + rdx + 0x40]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x42]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x43]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x45]
mov dword [rsp + rdx + 0x98], ecx
movzx ecx, byte [rsp + rdx + 0x44]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x46]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x47]
shl ecx, 8
add ecx, eax
sub r8, 1
mov dword [rsp + rdx + 0x9c], ecx
jne 0x14000f430
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x20]
call fcn.14000e930
test r12, r12
jne 0x14000f3f0
mov edi, dword [rsp + 0x40]
and edi, 0x3f
mov ebp, 8
lea r12, [rsp + 0x138]
movsxd rsi, edi
nop
nop
movzx eax, byte [r12]
add edi, 1
add rsi, 1
mov byte [rsp + rsi + 0x47], al
add qword [rsp + 0x40], 1
add r12, 1
sub rbp, 1
cmp edi, 0x40
jne 0x14000f628
mov edi, ebx
mov rsi, rbx
mov rdx, rbx
mov r8d, 4
nop
nop
nop
movzx eax, byte [rsp + rdx + 0x49]
movzx ecx, byte [rsp + rdx + 0x48]
add rdx, 0x10
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x3a]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x3b]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x3d]
mov dword [rsp + rdx + 0x90], ecx
movzx ecx, byte [rsp + rdx + 0x3c]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x3e]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x3f]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x41]
mov dword [rsp + rdx + 0x94], ecx
movzx ecx, byte [rsp + rdx + 0x40]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x42]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x43]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x45]
mov dword [rsp + rdx + 0x98], ecx
movzx ecx, byte [rsp + rdx + 0x44]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x46]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x47]
shl ecx, 8
add ecx, eax
sub r8, 1
mov dword [rsp + rdx + 0x9c], ecx
jne 0x14000f560
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x20]
call fcn.14000e930
test rbp, rbp
jne 0x14000f520
mov rax, rbx
add byte [rsp + rax + 0x138], 1
jne 0x14000f648
add rax, 1
cmp rax, 8
jl 0x14000f634
sub r15, 1
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x148]
jne 0x14000f290
mov r14, qword [rsp + 0x130]
mov r13, qword [rsp + 0xf0]
mov r12, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x108]
mov rbp, qword [rsp + 0x110]
lea rdx, [r14 + 0x30]
lea rcx, [rsp + 0x20]
call fcn.14000eca0
mov r15, qword [rsp + 0xe8]
add rsp, 0x118
pop r14
pop rbx
ret