Function at 0x10042430
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
mov eax, dword [0x100e3008]
xor eax, esp
mov dword [esp + 0x90], eax
push ebx
mov ebx, ecx
xor edx, edx
push esi
push edi
mov dword [esp + 0xc], ebx
mov eax, dword [ebx]
cmp eax, 0x3f
jne 0x100424ca
cmp dword [ebx + 4], edx
jbe 0x1004246f
mov al, byte [ebx + edx + 8]
mov byte [ebx + edx + 0x28], al
inc edx
cmp edx, dword [ebx + 4]
jb 0x10042461
xor ecx, ecx
cmp dword [ebx + 0x1c], ecx
jbe 0x10042490
cmp edx, 0x20
jae 0x100426a6
mov eax, dword [ebx + 0x20]
mov al, byte [ecx + eax]
inc ecx
mov byte [ebx + edx + 0x28], al
inc edx
cmp ecx, dword [ebx + 0x1c]
jb 0x10042476
cmp edx, 0x20
jae 0x100426a6
mov ecx, 0x20
lea edi, [ebx + 0x28]
sub ecx, edx
add edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x90]
xor ecx, esp
call fcn.1009bd8a
mov esp, ebp
pop ebp
ret
xor ecx, ecx
mov dword [esp + 0x28], 0x6a09e667
bts ecx, eax
mov dword [esp + 0x2c], 0xbb67ae85
cmp eax, 0x20
mov dword [esp + 0x30], 0x3c6ef372
xorps xmm0, xmm0
mov dword [esp + 0x34], 0xa54ff53a
cmovae edx, ecx
mov dword [esp + 0x38], 0x510e527f
xor ecx, edx
mov dword [esp + 0x3c], 0x9b05688c
cmp eax, 0x40
mov dword [esp + 0x40], 0x1f83d9ab
mov dword [esp + 0x44], 0x5be0cd19
cmovae edx, ecx
movlpd qword [esp + 0x48], xmm0
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
movlpd qword [esp + 0x10], xmm0
test edx, edx
jb 0x1004269a
ja 0x1004255c
test ecx, ecx
je 0x1004269a
mov eax, dword [esp + 0x14]
lea ecx, [ebx + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
nop
mov esi, dword [esp + 0x48]
mov edi, dword [ebx + 4]
and esi, 0x3f
mov ebx, ecx
test edi, edi
je 0x100425b3
mov al, byte [ebx]
lea ebx, [ebx + 1]
mov byte [esp + esi + 0x50], al
add dword [esp + 0x48], 1
adc dword [esp + 0x4c], 0
dec edi
cmp esi, 0x3f
jne 0x100425a2
lea ecx, [esp + 0x28]
call fcn.100903a0
xor eax, eax
lea ecx, [esi + 1]
cmp esi, 0x3f
cmovne eax, ecx
mov esi, eax
test edi, edi
jne 0x10042580
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 0x48]
and esi, 0x3f
mov edi, dword [ebx + 0x1c]
mov ebx, dword [ebx + 0x20]
test edi, edi
je 0x10042603
nop dword [eax + eax]
mov al, byte [ebx]
lea ebx, [ebx + 1]
mov byte [esp + esi + 0x50], al
add dword [esp + 0x48], 1
adc dword [esp + 0x4c], 0
dec edi
cmp esi, 0x3f
jne 0x100425f2
lea ecx, [esp + 0x28]
call fcn.100903a0
xor eax, eax
lea ecx, [esi + 1]
cmp esi, 0x3f
cmovne eax, ecx
mov esi, eax
test edi, edi
jne 0x100425d0
mov esi, dword [esp + 0x48]
lea ebx, [esp + 0x94]
mov edi, 8
and esi, 0x3f
mov al, byte [ebx]
lea ebx, [ebx + 1]
mov byte [esp + esi + 0x50], al
add dword [esp + 0x48], 1
adc dword [esp + 0x4c], 0
dec edi
cmp esi, 0x3f
jne 0x10042638
lea ecx, [esp + 0x28]
call fcn.100903a0
xor eax, eax
lea ecx, [esi + 1]
cmp esi, 0x3f
cmovne eax, ecx
mov esi, eax
test edi, edi
jne 0x10042616
xor eax, eax
nop dword [eax + eax]
add byte [esp + eax + 0x94], 1
jne 0x10042660
inc eax
cmp eax, 8
jl 0x10042650
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add eax, 1
mov ebx, dword [esp + 0xc]
adc ecx, 0
mov dword [esp + 0x10], eax
cmp ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
lea ecx, [ebx + 8]
jb 0x10042570
ja 0x10042696
lea ecx, [ebx + 8]
cmp eax, dword [esp + 0x24]
jb 0x10042570
mov ebx, dword [esp + 0xc]
lea edx, [ebx + 0x28]
lea ecx, [esp + 0x28]
call fcn.10090410
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1009bd8a
mov esp, ebp
pop ebp
ret