Function at 0x45cdd0
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
mov eax, dword [0x63ae80]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 0x647188
mov dword [ebp - 0x94], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor ebx, ebx
cmp byte [0x63cb84], bl
je 0x45ce09
call fcn.0045cb80
cmp dword [ebp + 0xc], ebx
je 0x45d025
push 0x20
push 0x63cb64
lea eax, [ebp - 0x90]
mov dword [ebp - 0x90], 0x6a09e667
mov dword [ebp - 0x8c], 0xbb67ae85
mov dword [ebp - 0x88], 0x3c6ef372
mov dword [ebp - 0x84], 0xa54ff53a
mov dword [ebp - 0x80], 0x510e527f
mov dword [ebp - 0x7c], 0x9b05688c
mov dword [ebp - 0x78], 0x1f83d9ab
mov dword [ebp - 0x74], 0x5be0cd19
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
call fcn.0046b390
mov esi, dword [ebp - 0x70]
and esi, 0x3f
mov byte [ebp + esi - 0x68], 0x80
inc esi
add esp, 8
mov edi, 0x63cb64
cmp esi, 0x38
je 0x45cea5
and esi, 0x3f
jne 0x45ce9b
lea ecx, [ebp - 0x90]
push ecx
call fcn.0046a960
add esp, 4
mov byte [ebp + esi - 0x68], bl
inc esi
cmp esi, 0x38
jne 0x45ce87
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
shld ecx, eax, 3
add eax, eax
add eax, eax
add eax, eax
lea edx, [ebp - 0x90]
bswap ecx
bswap eax
push edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
call fcn.0046a960
add esp, 4
xor eax, eax
mov ecx, dword [ebp + eax*4 - 0x90]
mov edx, dword [ebp + eax*4 - 0x8c]
bswap ecx
bswap edx
mov dword [edi], ecx
mov dword [edi + 4], edx
add eax, 2
add edi, 8
cmp eax, 8
jb 0x45ced0
lea eax, [ebp - 0x98]
push 4
push eax
lea eax, [ebp - 0x90]
mov dword [ebp - 0x90], 0x6a09e667
mov dword [ebp - 0x8c], 0xbb67ae85
mov dword [ebp - 0x88], 0x3c6ef372
mov dword [ebp - 0x84], 0xa54ff53a
mov dword [ebp - 0x80], 0x510e527f
mov dword [ebp - 0x7c], 0x9b05688c
mov dword [ebp - 0x78], 0x1f83d9ab
mov dword [ebp - 0x74], 0x5be0cd19
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x98], 0xf672abd1
call fcn.0046b390
push 0x20
push 0x63cb64
lea eax, [ebp - 0x90]
call fcn.0046b390
mov esi, dword [ebp - 0x70]
and esi, 0x3f
mov byte [ebp + esi - 0x68], 0x80
inc esi
add esp, 0x10
lea edi, [ebp - 0x24]
cmp esi, 0x38
je 0x45cfa1
and esi, 0x3f
jne 0x45cf97
lea ecx, [ebp - 0x90]
push ecx
call fcn.0046a960
add esp, 4
mov byte [ebp + esi - 0x68], bl
inc esi
cmp esi, 0x38
jne 0x45cf83
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
shld ecx, eax, 3
add eax, eax
add eax, eax
add eax, eax
lea edx, [ebp - 0x90]
bswap ecx
bswap eax
push edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
call fcn.0046a960
add esp, 4
xor eax, eax
lea esp, [esp]
mov ecx, dword [ebp + eax*4 - 0x90]
mov edx, dword [ebp + eax*4 - 0x8c]
bswap ecx
bswap edx
mov dword [edi], ecx
mov dword [edi + 4], edx
add eax, 2
add edi, 8
cmp eax, 8
jb 0x45cfd0
mov esi, dword [ebp - 0x94]
lea edi, [ebp - 0x24]
xor eax, eax
sub edi, esi
nop
mov ecx, dword [ebp + 0xc]
cmp ecx, ebx
je 0x45d025
mov dl, byte [edi + esi]
mov byte [esi], dl
inc esi
inc eax
dec ecx
mov dword [ebp - 0x94], esi
mov dword [ebp + 0xc], ecx
cmp eax, 0x20
jb 0x45d000
cmp ecx, ebx
jne 0x45ce12
push 0x647188
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005a6d8e
mov esp, ebp
pop ebp
ret 8