Function at 0x18001f0e0
Capabilities:
Hash data using sha256

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov ebx, dword [rcx + 0x20]
mov rsi, qword [rcx + 0x20]
mov rbp, rdx
and ebx, 0x3f
shl rsi, 3
mov rdi, rcx
mov byte [rbx + rcx + 0x28], 0x80
inc ebx
cmp ebx, 0x38
je 0x18001f12d
and ebx, 0x3f
jne 0x18001f121
mov rcx, rdi
call fcn.18001f000
mov byte [rbx + rdi + 0x28], 0
inc ebx
cmp ebx, 0x38
jne 0x18001f114
movsxd rcx, ebx
mov rax, rsi
shl rsi, 8
shr rax, 0x38
mov byte [rcx + rdi + 0x28], al
mov rax, rsi
shl rsi, 8
shr rax, 0x38
mov byte [rcx + rdi + 0x29], al
mov rax, rsi
shl rsi, 8
shr rax, 0x38
mov byte [rcx + rdi + 0x2a], al
mov rax, rsi
shl rsi, 8
shr rax, 0x38
mov byte [rcx + rdi + 0x2b], al
mov rax, rsi
shl rsi, 8
shr rax, 0x38
mov byte [rcx + rdi + 0x2c], al
mov rax, rsi
shl rsi, 8
shr rax, 0x38
mov byte [rcx + rdi + 0x2d], al
mov rax, rsi
shr rsi, 0x30
shr rax, 0x38
mov byte [rcx + rdi + 0x2f], sil
mov byte [rcx + rdi + 0x2e], al
mov rcx, rdi
call fcn.18001f000
mov r11d, dword [rdi]
mov ecx, dword [rdi + 4]
mov eax, r11d
shr eax, 0x18
mov byte [rbp], al
mov eax, r11d
shr r11d, 8
shr eax, 0x10
mov byte [rbp + 1], al
movzx eax, byte [rdi]
mov byte [rbp + 2], r11b
mov byte [rbp + 3], al
mov eax, ecx
shr eax, 0x18
mov byte [rbp + 4], al
mov eax, ecx
shr ecx, 8
shr eax, 0x10
mov byte [rbp + 5], al
movzx eax, byte [rdi + 4]
mov byte [rbp + 6], cl
mov ecx, dword [rdi + 8]
mov byte [rbp + 7], al
mov eax, ecx
shr eax, 0x18
mov byte [rbp + 8], al
mov eax, ecx
shr ecx, 8
shr eax, 0x10
mov byte [rbp + 9], al
movzx eax, byte [rdi + 8]
mov byte [rbp + 0xa], cl
mov ecx, dword [rdi + 0xc]
mov byte [rbp + 0xb], al
mov eax, ecx
shr eax, 0x18
mov byte [rbp + 0xc], al
mov eax, ecx
shr ecx, 8
shr eax, 0x10
mov byte [rbp + 0xd], al
movzx eax, byte [rdi + 0xc]
mov byte [rbp + 0xe], cl
mov ecx, dword [rdi + 0x10]
mov byte [rbp + 0xf], al
mov eax, ecx
shr eax, 0x18
mov byte [rbp + 0x10], al
mov eax, ecx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
shr eax, 0x10
mov byte [rbp + 0x11], al
movzx eax, byte [rdi + 0x10]
shr ecx, 8
mov byte [rbp + 0x12], cl
mov ecx, dword [rdi + 0x14]
mov byte [rbp + 0x13], al
mov eax, ecx
shr eax, 0x18
mov byte [rbp + 0x14], al
mov eax, ecx
shr ecx, 8
shr eax, 0x10
mov byte [rbp + 0x15], al
movzx eax, byte [rdi + 0x14]
mov byte [rbp + 0x16], cl
mov ecx, dword [rdi + 0x18]
mov byte [rbp + 0x17], al
mov eax, ecx
shr eax, 0x18
mov byte [rbp + 0x18], al
mov eax, ecx
shr ecx, 8
shr eax, 0x10
mov byte [rbp + 0x19], al
movzx eax, byte [rdi + 0x18]
mov byte [rbp + 0x1a], cl
mov ecx, dword [rdi + 0x1c]
mov byte [rbp + 0x1b], al
mov eax, ecx
shr eax, 0x18
mov byte [rbp + 0x1c], al
mov eax, ecx
shr eax, 0x10
shr ecx, 8
mov byte [rbp + 0x1d], al
movzx eax, byte [rdi + 0x1c]
mov byte [rbp + 0x1e], cl
mov byte [rbp + 0x1f], al
mov rbp, qword [rsp + 0x38]
mov dword [rdi], 0x6a09e667
mov dword [rdi + 4], 0xbb67ae85
mov dword [rdi + 8], 0x3c6ef372
mov dword [rdi + 0xc], 0xa54ff53a
mov dword [rdi + 0x10], 0x510e527f
mov dword [rdi + 0x14], 0x9b05688c
mov dword [rdi + 0x18], 0x1f83d9ab
mov dword [rdi + 0x1c], 0x5be0cd19
mov qword [rdi + 0x20], 0
add rsp, 0x20
pop rdi
ret