Function at 0x67b158
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb4
push ebx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
mov dword [eax], 0x6a09e667
mov eax, dword [ebp - 8]
mov dword [eax + 4], 0xbb67ae85
mov eax, dword [ebp - 8]
mov dword [eax + 8], 0x3c6ef372
mov eax, dword [ebp - 8]
mov dword [eax + 0xc], 0xa54ff53a
mov eax, dword [ebp - 8]
mov dword [eax + 0x10], 0x510e527f
mov eax, dword [ebp - 8]
mov dword [eax + 0x14], 0x9b05688c
mov eax, dword [ebp - 8]
mov dword [eax + 0x18], 0x1f83d9ab
mov eax, dword [ebp - 8]
mov dword [eax + 0x1c], 0x5be0cd19
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov eax, 0x80
call fcn.004068d8
mov dword [ebp - 0x24], eax
xor eax, eax
push ebp
push 0x67b34e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov edx, 0x80
call fcn.00406f00
mov edx, dword [ebp - 0x24]
mov ecx, 0x40
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x40
jne 0x67b269
lea ecx, [ebp - 0x4c]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
call fcn.0067af68
xor eax, eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp + ecx*4 - 0x4c]
add dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 8
jne 0x67b21e
mov eax, dword [ebp - 0xc]
cdq
add dword [ebp - 0x20], eax
adc dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov edx, 0x80
call fcn.00406f00
mov edx, dword [ebp - 0x24]
mov ecx, 0x40
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x40
je 0x67b20b
mov eax, dword [ebp - 0xc]
cdq
add dword [ebp - 0x20], eax
adc dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0xc]
mov byte [eax + edx], 0x80
mov eax, dword [ebp - 0xc]
add eax, 9
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x8000003f
jns 0x67b295
dec eax
or eax, 0xffffffc0
inc eax
test eax, eax
jle 0x67b2b2
mov eax, dword [ebp - 0x10]
and eax, 0x8000003f
jns 0x67b2a8
dec eax
or eax, 0xffffffc0
inc eax
mov edx, 0x40
sub edx, eax
add dword [ebp - 0x10], edx
push 0
push 8
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
call fcn.0040ab4c
push edx
push eax
call fcn.0067ae54
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x10]
lea edx, [eax + edx - 8]
lea eax, [ebp - 0x20]
mov ecx, 8
call fcn.00406b0c
mov eax, dword [ebp - 0x10]
test eax, eax
jns 0x67b2ef
add eax, 0x3f
sar eax, 6
test eax, eax
jle 0x67b338
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xc], 1
lea ecx, [ebp - 0x4c]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
call fcn.0067af68
xor eax, eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp + ecx*4 - 0x4c]
add dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 8
jne 0x67b313
add dword [ebp - 0x28], 0x40
inc dword [ebp - 0xc]
dec dword [ebp - 0x2c]
jne 0x67b300
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x67b355
mov eax, dword [ebp - 0x24]
call fcn.004068f4
ret