Function at 0x101a22e0
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc0
mov eax, dword [0x1029912c]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, edx
mov dword [ebp - 0xc0], eax
mov esi, 0x40
mov dword [ebp - 0xbc], ecx
cmp edi, esi
mov dword [ebp - 0x2c], 0x6a09e667
lea eax, [ebp - 0xac]
mov dword [ebp - 0x28], 0xbb67ae85
cmovb esi, edi
mov dword [ebp - 0x24], 0x3c6ef372
push esi
push ecx
push eax
mov dword [ebp - 0x20], 0xa54ff53a
mov dword [ebp - 0x1c], 0x510e527f
mov dword [ebp - 0x18], 0x9b05688c
mov dword [ebp - 0x14], 0x1f83d9ab
mov dword [ebp - 0x10], 0x5be0cd19
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xb4], 0
call fcn.101ec960
mov ebx, dword [ebp - 0xb0]
add esp, 0xc
add ebx, edi
mov dword [ebp - 0xb8], ebx
cmp ebx, 0x40
jae 0x101a2389
mov ecx, dword [ebp - 0xb4]
jmp 0x101a23ea
mov ebx, edi
lea edx, [ebp - 0xac]
sub ebx, esi
lea ecx, [ebp - 0xb4]
add esi, dword [ebp - 0xbc]
mov edi, ebx
push 1
shr edi, 6
call fcn.101a20d0
push edi
mov edx, esi
lea ecx, [ebp - 0xb4]
call fcn.101a20d0
shl edi, 6
and ebx, 0x3f
push ebx
mov dword [ebp - 0xb8], ebx
lea eax, [edi + esi]
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.101ec960
mov ecx, dword [ebp - 0xb4]
add esp, 0x14
add ecx, 0x40
add ecx, edi
mov dword [ebp - 0xb4], ecx
mov eax, ebx
mov dword [ebp - 0xb0], ebx
and eax, 0x3f
mov dl, 0x37
cmp dl, al
sbb edi, edi
add ebx, ecx
neg edi
shl ebx, 3
inc edi
mov esi, edi
shl esi, 6
mov eax, esi
sub eax, dword [ebp - 0xb8]
push eax
lea eax, [ebp - 0xac]
add eax, dword [ebp - 0xb8]
push 0
push eax
call fcn.101ee530
mov eax, dword [ebp - 0xb0]
lea edx, [ebp - 0xac]
push edi
lea ecx, [ebp - 0xb4]
mov byte [ebp + eax - 0xac], 0x80
mov eax, ebx
mov byte [ebp + esi - 0xad], bl
shr eax, 8
mov byte [ebp + esi - 0xae], al
mov eax, ebx
shr eax, 0x10
mov byte [ebp + esi - 0xaf], al
shr ebx, 0x18
mov byte [ebp + esi - 0xb0], bl
call fcn.101a20d0
mov edx, dword [ebp - 0xc0]
add esp, 0x10
mov ecx, dword [ebp - 0x2c]
mov eax, ecx
shr eax, 8
mov byte [edx + 3], cl
mov byte [edx + 2], al
mov eax, ecx
shr eax, 0x10
mov byte [edx + 1], al
shr ecx, 0x18
mov byte [edx], cl
mov ecx, dword [ebp - 0x28]
mov eax, ecx
mov byte [edx + 7], cl
shr eax, 8
mov byte [edx + 6], al
mov eax, ecx
shr eax, 0x10
mov byte [edx + 5], al
shr ecx, 0x18
mov byte [edx + 4], cl
mov ecx, dword [ebp - 0x24]
mov eax, ecx
mov byte [edx + 0xb], cl
shr eax, 8
mov byte [edx + 0xa], al
mov eax, ecx
shr eax, 0x10
mov byte [edx + 9], al
shr ecx, 0x18
mov byte [edx + 8], cl
mov ecx, dword [ebp - 0x20]
mov eax, ecx
mov byte [edx + 0xf], cl
shr eax, 8
mov byte [edx + 0xe], al
mov eax, ecx
shr eax, 0x10
mov byte [edx + 0xd], al
shr ecx, 0x18
mov byte [edx + 0xc], cl
mov ecx, dword [ebp - 0x1c]
mov eax, ecx
mov byte [edx + 0x13], cl
shr eax, 8
mov byte [edx + 0x12], al
mov eax, ecx
shr eax, 0x10
mov byte [edx + 0x11], al
shr ecx, 0x18
mov byte [edx + 0x10], cl
mov ecx, dword [ebp - 0x18]
mov eax, ecx
mov byte [edx + 0x17], cl
shr eax, 8
mov byte [edx + 0x16], al
mov eax, ecx
shr eax, 0x10
mov byte [edx + 0x15], al
shr ecx, 0x18
mov byte [edx + 0x14], cl
mov ecx, dword [ebp - 0x14]
mov eax, ecx
mov byte [edx + 0x1b], cl
shr eax, 8
mov byte [edx + 0x1a], al
mov eax, ecx
shr eax, 0x10
mov byte [edx + 0x19], al
shr ecx, 0x18
mov byte [edx + 0x18], cl
mov ecx, dword [ebp - 0x10]
mov eax, ecx
mov byte [edx + 0x1f], cl
shr eax, 8
mov byte [edx + 0x1e], al
mov eax, ecx
shr ecx, 0x18
shr eax, 0x10
mov byte [edx + 0x1d], al
mov byte [edx + 0x1c], cl
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.101d506b
mov esp, ebp
pop ebp
ret