Function at 0x100d7270
Capabilities:
Hash data using sha256

Disassembly:
sub esp, 8
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 4]
lea ebp, [esi + 4]
mov dword [esp + 0x10], eax
mov eax, dword [esi]
mov dword [esp + 0x14], eax
shr eax, 5
and eax, 0xf
lea ecx, [esi + eax*4]
mov eax, dword [ecx + 0x28]
shl eax, 8
or eax, 0x80
mov dword [ecx + 0x28], eax
mov eax, dword [esi]
add eax, 8
mov dword [esi], eax
jne 0x100d72ae
inc dword [esi + 4]
jmp 0x100d72b8
lea ebx, [esi + 4]
test eax, 0x1ff
jne 0x100d72c1
mov ecx, esi
call fcn.100d4df0
mov ebx, ebp
mov edx, dword [esi]
mov eax, edx
and eax, 0x1ff
cmp eax, 0x1c0
je 0x100d730b
shr edx, 5
and edx, 0xf
shl dword [esi + edx*4 + 0x28], 8
mov eax, dword [esi]
add eax, 8
mov dword [esi], eax
jne 0x100d72ea
inc dword [esi + 4]
jmp 0x100d72f1
test eax, 0x1ff
jne 0x100d72f8
mov ecx, esi
call fcn.100d4df0
mov edx, dword [esi]
mov eax, edx
and eax, 0x1ff
cmp eax, 0x1c0
jne 0x100d72d1
lea ebx, [esi + 4]
mov ebp, dword [esp + 0x10]
mov eax, ebp
shr edx, 5
and edx, 0xf
shr eax, 0x18
mov ecx, dword [esi + edx*4 + 0x28]
shl ecx, 8
or ecx, eax
mov dword [esi + edx*4 + 0x28], ecx
mov eax, dword [esi]
add eax, 8
mov dword [esi], eax
jne 0x100d7337
inc dword [ebx]
lea edi, [esi + 4]
jmp 0x100d7340
mov edi, ebx
test eax, 0x1ff
jne 0x100d7347
mov ecx, esi
call fcn.100d4df0
mov eax, dword [esi]
shr eax, 5
and eax, 0xf
lea edx, [esi + eax*4]
mov eax, ebp
shr eax, 0x10
movzx ecx, al
mov eax, dword [edx + 0x28]
shl eax, 8
or ecx, eax
mov dword [edx + 0x28], ecx
mov eax, dword [esi]
add eax, 8
mov dword [esi], eax
jne 0x100d7375
inc dword [ebx]
lea ebx, [esi + 4]
jmp 0x100d737e
mov ebx, edi
test eax, 0x1ff
jne 0x100d7387
mov ecx, esi
call fcn.100d4df0
mov edi, ebx
mov eax, dword [esi]
shr eax, 5
and eax, 0xf
lea edx, [esi + eax*4]
mov eax, ebp
shr eax, 8
movzx ecx, al
mov eax, dword [edx + 0x28]
shl eax, 8
or ecx, eax
mov dword [edx + 0x28], ecx
mov eax, dword [esi]
add eax, 8
mov dword [esi], eax
jne 0x100d73b5
inc dword [edi]
lea ebx, [esi + 4]
jmp 0x100d73be
mov ebx, edi
test eax, 0x1ff
jne 0x100d73c5
mov ecx, esi
call fcn.100d4df0
mov eax, dword [esi]
shr eax, 5
and eax, 0xf
mov ecx, dword [esi + eax*4 + 0x28]
lea edx, [esi + eax*4]
mov eax, dword [esp + 0x10]
movzx eax, al
shl ecx, 8
or ecx, eax
mov dword [edx + 0x28], ecx
mov eax, dword [esi]
add eax, 8
mov dword [esi], eax
jne 0x100d73f3
inc dword [edi]
lea edi, [esi + 4]
jmp 0x100d73fc
mov edi, ebx
test eax, 0x1ff
jne 0x100d7405
mov ecx, esi
call fcn.100d4df0
mov ebx, edi
mov eax, dword [esi]
mov ebp, dword [esp + 0x14]
shr eax, 5
and eax, 0xf
mov ecx, dword [esi + eax*4 + 0x28]
lea edx, [esi + eax*4]
mov eax, ebp
shl ecx, 8
shr eax, 0x18
or ecx, eax
mov dword [edx + 0x28], ecx
mov eax, dword [esi]
add eax, 8
mov dword [esi], eax
jne 0x100d7435
inc dword [ebx]
lea edi, [esi + 4]
jmp 0x100d743e
mov edi, ebx
test eax, 0x1ff
jne 0x100d7445
mov ecx, esi
call fcn.100d4df0
mov eax, dword [esi]
shr eax, 5
and eax, 0xf
lea edx, [esi + eax*4]
mov eax, ebp
shr eax, 0x10
movzx ecx, al
mov eax, dword [edx + 0x28]
shl eax, 8
or ecx, eax
mov dword [edx + 0x28], ecx
mov eax, dword [esi]
add eax, 8
mov dword [esi], eax
jne 0x100d7473
inc dword [ebx]
lea ebx, [esi + 4]
jmp 0x100d747c
mov ebx, edi
test eax, 0x1ff
jne 0x100d7485
mov ecx, esi
call fcn.100d4df0
mov edi, ebx
mov eax, dword [esi]
mov ebx, dword [esp + 0x14]
shr eax, 5
and eax, 0xf
lea edx, [esi + eax*4]
mov eax, ebx
shr eax, 8
movzx ecx, al
mov eax, dword [edx + 0x28]
shl eax, 8
or ecx, eax
mov dword [edx + 0x28], ecx
mov eax, dword [esi]
add eax, 8
mov dword [esi], eax
jne 0x100d74b7
inc dword [edi]
lea ebp, [esi + 4]
jmp 0x100d74c0
mov ebp, edi
test eax, 0x1ff
jne 0x100d74c7
mov ecx, esi
call fcn.100d4df0
mov eax, dword [esi]
shr eax, 5
and eax, 0xf
movzx ecx, bl
lea edx, [esi + eax*4]
mov eax, dword [edx + 0x28]
shl eax, 8
or ecx, eax
mov dword [edx + 0x28], ecx
mov eax, dword [esi]
add eax, 8
mov dword [esi], eax
jne 0x100d74ed
inc dword [edi]
jmp 0x100d74f4
test eax, 0x1ff
jne 0x100d74fb
mov ecx, esi
call fcn.100d4df0
mov ecx, dword [esi + 8]
lea edi, [esi + 0x68]
mov eax, ecx
mov byte [esi + 0x6b], cl
shr eax, 0x18
mov byte [edi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 0x69], al
mov eax, ecx
shr eax, 8
mov byte [esi + 0x6a], al
mov ecx, dword [esi + 0xc]
mov eax, ecx
shr eax, 0x18
mov byte [esi + 0x6c], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 0x6d], al
mov eax, ecx
shr eax, 8
mov byte [esi + 0x6e], al
mov byte [esi + 0x6f], cl
mov ecx, dword [esi + 0x10]
mov eax, ecx
shr eax, 0x18
mov byte [esi + 0x70], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 0x71], al
mov eax, ecx
shr eax, 8
mov byte [esi + 0x72], al
mov byte [esi + 0x73], cl
mov ecx, dword [esi + 0x14]
mov eax, ecx
shr eax, 0x18
mov byte [esi + 0x74], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 0x75], al
mov eax, ecx
shr eax, 8
mov byte [esi + 0x76], al
mov byte [esi + 0x77], cl
mov ecx, dword [esi + 0x18]
mov eax, ecx
shr eax, 0x18
mov byte [esi + 0x78], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 0x79], al
mov eax, ecx
shr eax, 8
mov byte [esi + 0x7a], al
mov byte [esi + 0x7b], cl
mov ecx, dword [esi + 0x1c]
mov eax, ecx
shr eax, 0x18
mov byte [esi + 0x7c], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 0x7d], al
mov eax, ecx
shr eax, 8
mov byte [esi + 0x7e], al
mov byte [esi + 0x7f], cl
mov ecx, dword [esi + 0x20]
mov eax, ecx
shr eax, 0x18
mov byte [esi + 0x80], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 0x81], al
mov eax, ecx
shr eax, 8
mov byte [esi + 0x82], al
mov byte [esi + 0x83], cl
mov ecx, dword [esi + 0x24]
mov eax, ecx
shr eax, 0x18
mov byte [esi + 0x84], al
mov eax, ecx
mov byte [esi + 0x87], cl
shr eax, 0x10
mov byte [esi + 0x85], al
mov eax, ecx
shr eax, 8
mov byte [esi + 0x86], al
push 0x40
mov dword [esi], 0
mov dword [esi + 8], 0x6a09e667
mov dword [esi + 0xc], 0xbb67ae85
mov dword [esi + 0x10], 0x3c6ef372
mov dword [esi + 0x14], 0xa54ff53a
mov dword [esi + 0x18], 0x510e527f
mov dword [esi + 0x1c], 0x9b05688c
mov dword [esi + 0x20], 0x1f83d9ab
mov dword [esi + 0x24], 0x5be0cd19
add esi, 0x28
push 0
push esi
mov dword [ebp], 0
call fcn.10152e30
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret