Function at 0x429e10
Capabilities:
Hash data using sha256

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 4
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
mov eax, esi
shr eax, 3
and eax, 0x3c
add eax, ecx
mov edx, dword [eax + 0x28]
shl edx, 8
or dl, 0x80
mov dword [eax + 0x28], edx
lea eax, [esi + 8]
test eax, eax
mov dword [ecx], eax
jne 0x429e78
lea eax, [edi + 1]
mov dword [ecx + 4], eax
jmp 0x429e49
add dword [ebx + 4], 1
mov ecx, ebx
call fcn.004276e0
mov eax, dword [ebx]
mov edx, eax
and edx, 0x1ff
cmp edx, 0x1c0
mov edx, eax
je 0x429e81
shr edx, 3
add eax, 8
and edx, 0x3c
shl dword [ebx + edx + 0x28], 8
test eax, eax
mov dword [ebx], eax
je 0x429e45
test eax, 0x1ff
jne 0x429e52
jmp 0x429e49
shr edx, 3
mov ebp, edi
add eax, 8
and edx, 0x3c
shr ebp, 0x18
add edx, ebx
mov ecx, dword [edx + 0x28]
shl ecx, 8
or ecx, ebp
test eax, 0x1ff
mov dword [edx + 0x28], ecx
mov dword [ebx], eax
jne 0x429eae
mov ecx, ebx
call fcn.004276e0
mov eax, dword [ebx]
mov edx, eax
mov ebp, edi
add eax, 8
shr edx, 3
shr ebp, 0x10
and edx, 0x3c
add edx, ebx
mov ecx, dword [edx + 0x28]
shl ecx, 8
mov dword [esp], ecx
mov ecx, ebp
movzx ebp, cl
mov ecx, dword [esp]
or ecx, ebp
test eax, eax
mov dword [edx + 0x28], ecx
mov dword [ebx], eax
jne 0x42a215
add dword [ebx + 4], 1
mov ecx, ebx
call fcn.004276e0
mov eax, dword [ebx]
mov edx, eax
add eax, 8
shr edx, 3
and edx, 0x3c
add edx, ebx
mov ecx, dword [edx + 0x28]
shl ecx, 8
mov dword [esp], ecx
mov ecx, edi
movzx ebp, ch
mov ecx, dword [esp]
or ecx, ebp
test eax, eax
mov dword [edx + 0x28], ecx
mov dword [ebx], eax
jne 0x42a205
add dword [ebx + 4], 1
mov ecx, ebx
call fcn.004276e0
mov eax, dword [ebx]
mov edx, eax
add eax, 8
shr edx, 3
and edx, 0x3c
add edx, ebx
mov ecx, dword [edx + 0x28]
shl ecx, 8
mov ebp, ecx
mov ecx, edi
movzx edi, cl
or edi, ebp
test eax, eax
mov dword [edx + 0x28], edi
mov dword [ebx], eax
jne 0x42a1f5
add dword [ebx + 4], 1
mov ecx, ebx
call fcn.004276e0
mov eax, dword [ebx]
mov edx, eax
mov edi, esi
add eax, 8
shr edx, 3
shr edi, 0x18
and edx, 0x3c
add edx, ebx
mov ecx, dword [edx + 0x28]
shl ecx, 8
or ecx, edi
test eax, eax
mov dword [edx + 0x28], ecx
mov dword [ebx], eax
jne 0x42a1e5
add dword [ebx + 4], 1
mov ecx, ebx
call fcn.004276e0
mov eax, dword [ebx]
mov edx, eax
mov edi, esi
add eax, 8
shr edx, 3
shr edi, 0x10
and edx, 0x3c
add edx, ebx
mov ecx, dword [edx + 0x28]
shl ecx, 8
mov ebp, ecx
mov ecx, edi
movzx edi, cl
mov ecx, ebp
or ecx, edi
test eax, eax
mov dword [edx + 0x28], ecx
mov dword [ebx], eax
jne 0x42a1c5
add dword [ebx + 4], 1
mov ecx, ebx
call fcn.004276e0
mov eax, dword [ebx]
mov edx, eax
add eax, 8
shr edx, 3
and edx, 0x3c
add edx, ebx
mov ecx, dword [edx + 0x28]
shl ecx, 8
mov ebp, ecx
mov ecx, esi
movzx edi, ch
mov ecx, ebp
or ecx, edi
test eax, eax
mov dword [edx + 0x28], ecx
mov dword [ebx], eax
jne 0x42a1b5
add dword [ebx + 4], 1
mov ecx, ebx
call fcn.004276e0
mov eax, dword [ebx]
mov edx, eax
add eax, 8
shr edx, 3
and edx, 0x3c
add edx, ebx
mov ecx, dword [edx + 0x28]
shl ecx, 8
mov edi, ecx
mov ecx, esi
movzx esi, cl
or esi, edi
test eax, eax
mov dword [edx + 0x28], esi
mov dword [ebx], eax
jne 0x42a1d5
add dword [ebx + 4], 1
mov ecx, ebx
call fcn.004276e0
mov eax, dword [ebx + 8]
lea edi, [ebx + 0x2c]
lea ecx, [ebx + 0x28]
and edi, 0xfffffffc
mov edx, eax
mov byte [ebx + 0x6b], al
sub ecx, edi
shr edx, 0x18
add ecx, 0x40
mov byte [ebx + 0x68], dl
mov edx, eax
shr ecx, 2
shr edx, 0x10
mov byte [ebx + 0x69], dl
mov edx, eax
mov eax, dword [ebx + 0xc]
shr edx, 8
mov byte [ebx + 0x6a], dl
mov edx, eax
mov byte [ebx + 0x6f], al
shr edx, 0x18
mov byte [ebx + 0x6c], dl
mov edx, eax
shr edx, 0x10
mov byte [ebx + 0x6d], dl
mov edx, eax
mov eax, dword [ebx + 0x10]
shr edx, 8
mov byte [ebx + 0x6e], dl
mov edx, eax
mov byte [ebx + 0x73], al
shr edx, 0x18
mov byte [ebx + 0x70], dl
mov edx, eax
shr edx, 0x10
mov byte [ebx + 0x71], dl
mov edx, eax
mov eax, dword [ebx + 0x14]
shr edx, 8
mov byte [ebx + 0x72], dl
mov edx, eax
mov byte [ebx + 0x77], al
shr edx, 0x18
mov byte [ebx + 0x74], dl
mov edx, eax
shr edx, 0x10
mov byte [ebx + 0x75], dl
mov edx, eax
mov eax, dword [ebx + 0x18]
shr edx, 8
mov byte [ebx + 0x76], dl
mov edx, eax
mov byte [ebx + 0x7b], al
shr edx, 0x18
mov byte [ebx + 0x78], dl
mov edx, eax
shr edx, 0x10
mov byte [ebx + 0x79], dl
mov edx, eax
mov eax, dword [ebx + 0x1c]
shr edx, 8
mov byte [ebx + 0x7a], dl
mov edx, eax
mov byte [ebx + 0x7f], al
shr edx, 0x18
mov byte [ebx + 0x7c], dl
mov edx, eax
shr edx, 0x10
mov byte [ebx + 0x7d], dl
mov edx, eax
mov eax, dword [ebx + 0x20]
shr edx, 8
mov byte [ebx + 0x7e], dl
mov edx, eax
shr edx, 0x18
mov byte [ebx + 0x80], dl
mov edx, eax
shr edx, 0x10
mov byte [ebx + 0x81], dl
mov byte [ebx + 0x83], al
mov edx, eax
mov eax, dword [ebx + 0x24]
shr edx, 8
mov dword [ebx + 4], 0
mov byte [ebx + 0x82], dl
mov dword [ebx], 0
mov dword [ebx + 8], 0x6a09e667
mov dword [ebx + 0xc], 0xbb67ae85
mov edx, eax
mov byte [ebx + 0x87], al
mov dword [ebx + 0x10], 0x3c6ef372
shr edx, 0x18
mov dword [ebx + 0x14], 0xa54ff53a
mov dword [ebx + 0x18], 0x510e527f
mov byte [ebx + 0x84], dl
mov edx, eax
mov dword [ebx + 0x1c], 0x9b05688c
shr edx, 0x10
mov dword [ebx + 0x20], 0x1f83d9ab
mov dword [ebx + 0x24], 0x5be0cd19
mov byte [ebx + 0x85], dl
mov edx, eax
xor eax, eax
shr edx, 8
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x64], 0
mov byte [ebx + 0x86], dl
rep stosd dword es:[edi], eax
add esp, 4
lea eax, [ebx + 0x68]
pop ebx
pop esi
pop edi
pop ebp
ret
test eax, 0x1ff
jne 0x42a006
jmp 0x429ffd
test eax, 0x1ff
jne 0x429fce
jmp 0x429fc5
test eax, 0x1ff
jne 0x42a03a
jmp 0x42a033
test eax, 0x1ff
jne 0x429f91
jmp 0x429f88
test eax, 0x1ff
jne 0x429f5d
jmp 0x429f54
test eax, 0x1ff
jne 0x429f27
jmp 0x429f1e
test eax, 0x1ff
jne 0x429eed
jmp 0x429ee4