Function at 0x1402c5050
Capabilities:
Hash data using sha256

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov rax, qword [0x1403531c0]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov eax, dword [rcx + 0x4c]
mov r10d, 0x6a09e667
mov r13d, dword [rcx + 0x68]
mov ebx, 0xe07c2654
mov esi, dword [rcx + 0x48]
xor r13d, 0x510e527f
mov edi, dword [rcx + 0x54]
mov r14d, dword [rcx + 0x58]
mov r15d, dword [rcx + 0x5c]
mov dword [rbp - 0x50], eax
mov eax, dword [rcx + 0x50]
mov dword [rbp - 0x4c], eax
mov eax, dword [rcx + 0x60]
mov dword [rbp - 0x44], eax
mov eax, dword [rcx + 0x64]
mov dword [rbp - 0x38], eax
mov eax, dword [rcx + 0x6c]
xor eax, 0x9b05688c
mov qword [rbp - 8], rcx
mov dword [rsp + 0x10], 0x3020100
mov dword [rsp + 0x14], 0x7060504
mov dword [rsp + 0x18], 0xb0a0908
mov dword [rsp + 0x1c], 0xf0e0d0c
mov dword [rsp + 0x20], 0x8040a0e
mov dword [rsp + 0x24], 0x60d0f09
mov dword [rsp + 0x28], 0x2000c01
mov dword [rsp + 0x2c], 0x305070b
mov dword [rsp + 0x30], 0xc080b
mov dword [rsp + 0x34], 0xd0f0205
mov dword [rsp + 0x38], 0x6030e0a
mov dword [rsp + 0x3c], 0x4090107
mov dword [rsp + 0x40], 0x1030907
mov dword [rsp + 0x44], 0xe0b0c0d
mov dword [rsp + 0x48], 0xa050602
mov dword [rsp + 0x4c], 0x80f0004
mov dword [rsp + 0x50], 0x7050009
mov dword [rsp + 0x54], 0xf0a0402
mov dword [rsp + 0x58], 0xc0b010e
mov dword [rsp + 0x5c], 0xd030806
mov dword [rsp + 0x60], 0xa060c02
mov dword [rsp + 0x64], 0x3080b00
mov dword [rsp + 0x68], 0x5070d04
mov dword [rsp + 0x6c], 0x9010e0f
mov dword [rsp + 0x70], 0xf01050c
mov dword [rsp + 0x74], 0xa040d0e
mov dword [rsp + 0x78], 0x3060700
mov dword [rsp + 0x7c], 0xb080209
mov dword [rbp - 0x80], 0xe070b0d
mov dword [rbp - 0x7c], 0x903010c
mov dword [rbp - 0x78], 0x40f0005
mov dword [rbp - 0x74], 0xa020608
mov dword [rbp - 0x70], 0x90e0f06
mov dword [rbp - 0x6c], 0x800030b
mov dword [rbp - 0x68], 0x70d020c
mov dword [rbp - 0x64], 0x50a0401
mov dword [rbp - 0x60], 0x408020a
mov dword [rbp - 0x5c], 0x5010607
mov dword [rbp - 0x58], 0xe090b0f
mov dword [rbp - 0x54], 0xd0c03
mov dword [rsp + 4], 0xbb67ae85
mov dword [rbp - 0x48], 0xa54ff53a
mov dword [rbp - 0x40], 0x5be0cd19
mov dword [rsp], eax
test dl, dl
jne 0x1402c5220
mov ebx, 0x1f83d9ab
movups xmm0, xmmword [rcx + 8]
lea rax, [rsp + 0x11]
mov qword [rbp - 0x10], 0xa
mov qword [rbp - 0x30], rax
movaps xmmword [rbp], xmm0
movups xmm1, xmmword [rcx + 0x18]
movaps xmmword [rbp + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x28]
movaps xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x38]
mov ecx, 0x3c6ef372
movaps xmmword [rbp + 0x30], xmm1
jmp 0x1402c5263
mov r15d, r12d
movzx eax, byte [rax - 1]
mov r9d, dword [rbp + rax*4]
add r9d, r14d
add r9d, esi
xor r13d, r9d
mov r8d, r13d
shl r13d, 0x10
shr r8d, 0x10
or r8d, r13d
add r10d, r8d
xor r14d, r10d
mov r11d, r14d
shr r14d, 0xc
shl r11d, 0x14
or r11d, r14d
mov r14, qword [rbp - 0x30]
movzx eax, byte [r14]
mov r12d, dword [rbp + rax*4]
add r12d, r9d
add r12d, r11d
mov eax, r12d
xor eax, r8d
mov edx, eax
shr eax, 8
shl edx, 0x18
or edx, eax
mov dword [rsp + 8], edx
lea eax, [rdx + r10]
mov r10d, dword [rsp + 4]
xor r11d, eax
mov dword [rbp - 0x24], eax
mov eax, r11d
shr r11d, 7
shl eax, 0x19
or eax, r11d
mov dword [rbp - 0x1c], eax
movzx eax, byte [r14 + 1]
mov r9d, dword [rbp + rax*4]
mov eax, dword [rsp]
add r9d, r15d
add r9d, dword [rbp - 0x50]
xor eax, r9d
mov r8d, eax
shl eax, 0x10
shr r8d, 0x10
or r8d, eax
movzx eax, byte [r14 + 2]
add r10d, r8d
xor r15d, r10d
mov r11d, r15d
shr r15d, 0xc
mov r13d, dword [rbp + rax*4]
add r13d, r9d
shl r11d, 0x14
or r11d, r15d
add r13d, r11d
mov eax, r13d
xor eax, r8d
mov edx, eax
shr eax, 8
shl edx, 0x18
or edx, eax
mov dword [rsp], edx
lea eax, [rdx + r10]
xor r11d, eax
mov dword [rbp - 0x3c], eax
movzx eax, byte [r14 + 3]
mov esi, r11d
shl esi, 0x19
shr r11d, 7
or esi, r11d
mov r9d, dword [rbp + rax*4]
mov eax, dword [rbp - 0x44]
add r9d, eax
add r9d, dword [rbp - 0x4c]
xor ebx, r9d
mov r8d, ebx
shl ebx, 0x10
shr r8d, 0x10
or r8d, ebx
lea r10d, [rcx + r8]
mov rcx, qword [rbp - 0x30]
xor eax, r10d
mov r11d, eax
shr eax, 0xc
shl r11d, 0x14
or r11d, eax
movzx eax, byte [r14 + 4]
mov eax, dword [rbp + rax*4]
add eax, r9d
add eax, r11d
mov dword [rsp + 4], eax
xor eax, r8d
mov edx, eax
shr eax, 8
shl edx, 0x18
or edx, eax
movzx eax, byte [rcx + 5]
mov dword [rbp - 0x18], edx
mov r9d, dword [rbp + rax*4]
lea ebx, [rdx + r10]
mov r10d, dword [rbp - 0x48]
add r9d, edi
add r9d, dword [rbp - 0x38]
xor r11d, ebx
mov eax, r9d
mov r14d, r11d
xor eax, dword [rbp - 0x40]
mov r8d, eax
shr r11d, 7
shl eax, 0x10
shr r8d, 0x10
or r8d, eax
shl r14d, 0x19
add r10d, r8d
or r14d, r11d
mov eax, r10d
xor eax, dword [rbp - 0x38]
mov r11d, eax
shr eax, 0xc
shl r11d, 0x14
or r11d, eax
movzx eax, byte [rcx + 6]
mov eax, dword [rbp + rax*4]
add eax, r9d
add eax, r11d
mov dword [rbp - 0x20], eax
xor eax, r8d
mov r9d, eax
shr eax, 8
shl r9d, 0x18
or r9d, eax
movzx eax, byte [rcx + 7]
mov r8d, dword [rbp + rax*4]
lea edi, [r9 + r10]
add r8d, r12d
xor r11d, edi
add r8d, esi
mov r15d, r11d
xor r9d, r8d
shl r15d, 0x19
mov r10d, r9d
shr r11d, 7
shr r10d, 0x10
or r15d, r11d
shl r9d, 0x10
or r10d, r9d
lea r9d, [r10 + rbx]
mov rbx, rcx
mov eax, r9d
xor eax, esi
mov r12d, eax
shr eax, 0xc
shl r12d, 0x14
or r12d, eax
movzx eax, byte [rcx + 8]
mov esi, dword [rbp + rax*4]
add esi, r12d
add esi, r8d
xor r10d, esi
mov eax, r10d
shl eax, 0x18
mov edx, dword [rbp - 0x1c]
shr r10d, 8
or eax, r10d
mov dword [rbp - 0x40], eax
lea ecx, [rax + r9]
movzx eax, byte [rbx + 9]
xor r12d, ecx
ror r12d, 7
mov r8d, dword [rbp + rax*4]
mov eax, dword [rsp + 8]
add r8d, r13d
add r8d, r14d
xor eax, r8d
mov r11d, eax
shl eax, 0x10
shr r11d, 0x10
or r11d, eax
lea r9d, [r11 + rdi]
mov eax, r9d
xor eax, r14d
mov r10d, eax
shr eax, 0xc
shl r10d, 0x14
or r10d, eax
movzx eax, byte [rbx + 0xa]
mov eax, dword [rbp + rax*4]
add eax, r10d
add eax, r8d
xor r11d, eax
mov dword [rbp - 0x50], eax
mov r13d, r11d
shr r11d, 8
shl r13d, 0x18
or r13d, r11d
lea eax, [r9 + r13]
mov r9d, dword [rbp - 0x24]
mov dword [rbp - 0x48], eax
xor eax, r10d
ror eax, 7
mov dword [rbp - 0x44], eax
movzx eax, byte [rbx + 0xb]
mov r8d, dword [rbp + rax*4]
add r8d, dword [rsp + 4]
mov eax, dword [rsp]
add r8d, r15d
xor eax, r8d
mov r11d, eax
shl eax, 0x10
shr r11d, 0x10
or r11d, eax
add r9d, r11d
mov eax, r9d
xor eax, r15d
mov r10d, eax
shr eax, 0xc
shl r10d, 0x14
or r10d, eax
movzx eax, byte [rbx + 0xc]
mov eax, dword [rbp + rax*4]
add eax, r10d
add eax, r8d
xor r11d, eax
mov dword [rbp - 0x4c], eax
mov r15d, r11d
shr r11d, 8
shl r15d, 0x18
or r15d, r11d
mov dword [rsp], r15d
lea eax, [r9 + r15]
mov r11d, eax
mov dword [rsp + 8], eax
movzx eax, byte [rbx + 0xd]
xor r11d, r10d
ror r11d, 7
mov dword [rbp - 0x38], r11d
mov r8d, dword [rbp + rax*4]
add r8d, dword [rbp - 0x20]
mov eax, dword [rbp - 0x18]
add r8d, edx
xor eax, r8d
mov r10d, eax
mov r9d, dword [rbp - 0x3c]
shr r10d, 0x10
shl eax, 0x10
or r10d, eax
movzx eax, byte [rbx + 0xe]
add r9d, r10d
xor edx, r9d
mov r14d, edx
shr edx, 0xc
mov edi, dword [rbp + rax*4]
mov rax, qword [rbp - 0x30]
shl r14d, 0x14
add rax, 0x10
or r14d, edx
mov qword [rbp - 0x30], rax
add edi, r14d
add edi, r8d
xor r10d, edi
mov ebx, r10d
shr r10d, 8
shl ebx, 0x18
or ebx, r10d
mov r10d, dword [rsp + 8]
lea edx, [rbx + r9]
xor r14d, edx
mov dword [rsp + 4], edx
ror r14d, 7
sub qword [rbp - 0x10], 1
jne 0x1402c5260
mov eax, dword [rbp - 0x50]
xor r14d, r13d
xor eax, edx
mov dword [rbp - 0x3c], ecx
mov rcx, qword [rbp - 8]
xor r12d, r15d
xor esi, dword [rcx + 0x48]
xor esi, r10d
mov dword [rcx + 0x48], esi
xor dword [rcx + 0x4c], eax
mov eax, dword [rbp - 0x3c]
xor eax, dword [rcx + 0x50]
xor eax, dword [rbp - 0x4c]
mov dword [rcx + 0x50], eax
xor edi, dword [rcx + 0x54]
xor edi, dword [rbp - 0x48]
mov eax, dword [rbp - 0x40]
mov dword [rcx + 0x54], edi
xor eax, r11d
xor dword [rcx + 0x58], r14d
xor dword [rcx + 0x5c], r12d
xor ebx, dword [rcx + 0x60]
xor ebx, dword [rbp - 0x44]
mov dword [rcx + 0x60], ebx
xor dword [rcx + 0x64], eax
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.1402d55d0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret