Function at 0x45cb80
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
mov eax, dword [0x63ae80]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor ebx, ebx
push edi
mov dword [ebp - 0x70], 0x6a09e667
mov dword [ebp - 0x6c], 0xbb67ae85
mov dword [ebp - 0x68], 0x3c6ef372
mov dword [ebp - 0x64], 0xa54ff53a
mov dword [ebp - 0x60], 0x510e527f
mov dword [ebp - 0x5c], 0x9b05688c
mov dword [ebp - 0x58], 0x1f83d9ab
mov dword [ebp - 0x54], 0x5be0cd19
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x74]
push 4
push eax
lea eax, [ebp - 0x70]
call fcn.0046b390
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], eax
push 4
push ecx
lea eax, [ebp - 0x70]
call fcn.0046b390
add esp, 8
mov dword [ebp - 0x78], 0x3e8
lea edx, [ebp - 0x80]
push edx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x45cc30
lea eax, [ebp - 0x80]
push 8
push eax
lea eax, [ebp - 0x70]
call fcn.0046b390
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], eax
push 4
push ecx
lea eax, [ebp - 0x70]
call fcn.0046b390
add esp, 8
mov dword [ebp - 0x74], 0x64
mov esi, dword [ebp - 0x50]
and esi, 0x3f
mov byte [ebp + esi - 0x48], 0x80
inc esi
mov edi, 0x63cb64
cmp esi, 0x38
je 0x45cc82
and esi, 0x3f
jne 0x45cc78
lea edx, [ebp - 0x70]
push edx
call fcn.0046a960
add esp, 4
mov byte [ebp + esi - 0x48], bl
inc esi
cmp esi, 0x38
jne 0x45cc67
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
shld ecx, eax, 3
add eax, eax
add eax, eax
add eax, eax
bswap eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x70]
bswap ecx
push eax
mov dword [ebp - 0x10], ecx
call fcn.0046a960
add esp, 4
xor eax, eax
lea ebx, [ebx]
mov ecx, dword [ebp + eax*4 - 0x70]
mov edx, dword [ebp + eax*4 - 0x6c]
bswap ecx
bswap edx
mov dword [edi], ecx
mov dword [edi + 4], edx
add eax, 2
add edi, 8
cmp eax, 8
jb 0x45ccb0
push 0x20
push 0x63cb64
lea eax, [ebp - 0x70]
mov dword [ebp - 0x70], 0x6a09e667
mov dword [ebp - 0x6c], 0xbb67ae85
mov dword [ebp - 0x68], 0x3c6ef372
mov dword [ebp - 0x64], 0xa54ff53a
mov dword [ebp - 0x60], 0x510e527f
mov dword [ebp - 0x5c], 0x9b05688c
mov dword [ebp - 0x58], 0x1f83d9ab
mov dword [ebp - 0x54], 0x5be0cd19
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
call fcn.0046b390
add esp, 8
dec dword [ebp - 0x74]
jne 0x45cc51
dec dword [ebp - 0x78]
jne 0x45cc11
mov esi, dword [ebp - 0x50]
and esi, 0x3f
mov byte [ebp + esi - 0x48], 0x80
inc esi
mov edi, 0x63cb64
cmp esi, 0x38
je 0x45cd5f
and esi, 0x3f
jne 0x45cd55
lea eax, [ebp - 0x70]
push eax
call fcn.0046a960
add esp, 4
mov byte [ebp + esi - 0x48], bl
inc esi
cmp esi, 0x38
jne 0x45cd44
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
shld ecx, eax, 3
add eax, eax
add eax, eax
bswap ecx
add eax, eax
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x70]
bswap eax
push ecx
mov dword [ebp - 0xc], eax
call fcn.0046a960
add esp, 4
xor eax, eax
jmp 0x45cd90
mov edx, dword [ebp + eax*4 - 0x70]
mov ecx, dword [ebp + eax*4 - 0x6c]
bswap edx
bswap ecx
mov dword [edi], edx
mov dword [edi + 4], ecx
add eax, 2
add edi, 8
cmp eax, 8
jb 0x45cd90
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov byte [0x63cb84], bl
xor ecx, ebp
pop ebx
call fcn.005a6d8e
mov esp, ebp
pop ebp
ret