Function at 0x4eb550
Capabilities:
Hash data using sha224
Hash data using sha256

Disassembly:
mov eax, 0x3f7c
call fcn.0065b730
mov eax, dword [0x9c48d0]
xor eax, esp
mov dword [esp + 0x3f74], eax
mov eax, dword [esp + 0x3f80]
push ebx
mov ebx, dword [esp + 0x3f90]
push ebp
mov ebp, dword [esp + 0x3f90]
push esi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3f90]
push edi
mov dword [esp + 0x24], eax
xor esi, esi
push eax
mov eax, ebp
lea edi, [esp + 0x34]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x14], 0x20
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x34], 0x6a09e667
mov dword [esp + 0x38], 0xbb67ae85
mov dword [esp + 0x3c], 0x3c6ef372
mov dword [esp + 0x40], 0xa54ff53a
mov dword [esp + 0x44], 0x510e527f
mov dword [esp + 0x48], 0x9b05688c
mov dword [esp + 0x4c], 0x1f83d9ab
mov dword [esp + 0x50], 0x5be0cd19
call fcn.004afeb0
add esp, 4
push ebx
lea eax, [esi + 8]
call fcn.004afeb0
mov eax, dword [esp + 0x1c]
add esp, 4
cmp eax, esi
je 0x4eb61d
push eax
lea eax, [esi + 0x30]
call fcn.004afeb0
add esp, 4
lea eax, [esp + 0x340]
push eax
lea ebx, [esp + 0x34]
call fcn.004aff10
add esp, 4
xor eax, eax
mov dword [esp + 0x1c], eax
cmp eax, 0x40
jl 0x4eb652
shl esi, 6
movzx ecx, byte [esp + esi + 0x37f]
add ecx, 0x20
cmp eax, ecx
jge 0x4eba0d
mov edx, dword [esp + 0x24]
push ebp
push edx
lea eax, [esp + 0x388]
push eax
call fcn.0065b3c0
mov ebx, dword [esp + 0x1c]
add esp, 0xc
push ebx
lea ecx, [esp + 0x344]
push ecx
lea esi, [esp + ebp + 0x388]
push esi
call fcn.0065b3c0
mov eax, dword [esp + 0x24]
add esp, 0xc
test eax, eax
je 0x4eb699
lea edi, [esi + ebx]
mov ecx, 0xc
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, eax
neg esi
sbb esi, esi
and esi, 0x30
add esi, ebp
add esi, ebx
lea edi, [esp + esi + 0x380]
mov ebx, 0x3f
push esi
lea edx, [esp + 0x384]
push edx
push edi
call fcn.0065b3c0
add esp, 0xc
add edi, esi
dec ebx
jne 0x4eb6b2
lea eax, [esp + 0x340]
push eax
mov eax, 0x80
lea ecx, [esp + 0x22c]
call fcn.005324a0
add esp, 4
test eax, eax
jne 0x4eba38
lea ecx, [esp + 0x380]
push ecx
mov ebx, esi
lea edx, [esp + 0x22c]
push 1
shl ebx, 6
push edx
mov eax, ecx
lea edi, [esp + 0x35c]
mov edx, ebx
call fcn.00533690
xor edx, edx
add esp, 0xc
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edx
movzx edi, byte [esp + eax + 0x380]
add ecx, edi
movzx edi, byte [esp + eax + 0x381]
add edx, edi
movzx edi, byte [esp + eax + 0x382]
add dword [esp + 0x14], edi
movzx edi, byte [esp + eax + 0x383]
add dword [esp + 0x10], edi
add eax, 4
cmp eax, 0x10
jl 0x4eb725
add edx, dword [esp + 0x14]
mov eax, 0x55555556
add edx, dword [esp + 0x10]
add ecx, edx
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
sub ecx, edx
add ecx, 2
shl ecx, 4
mov dword [esp + 0x10], ecx
cmp ecx, 0x20
je 0x4eb98d
cmp ecx, 0x30
je 0x4eb894
cmp ecx, 0x40
jne 0x4eb9ff
xor eax, eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a0], eax
lea eax, [esp + 0x380]
push eax
mov eax, ebx
lea edi, [esp + 0x164]
mov dword [esp + 0x164], 0xf3bcc908
mov dword [esp + 0x168], 0x6a09e667
mov dword [esp + 0x16c], 0x84caa73b
mov dword [esp + 0x170], 0xbb67ae85
mov dword [esp + 0x174], 0xfe94f82b
mov dword [esp + 0x178], 0x3c6ef372
mov dword [esp + 0x17c], 0x5f1d36f1
mov dword [esp + 0x180], 0xa54ff53a
mov dword [esp + 0x184], 0xade682d1
mov dword [esp + 0x188], 0x510e527f
mov dword [esp + 0x18c], 0x2b3e6c1f
mov dword [esp + 0x190], 0x9b05688c
mov dword [esp + 0x194], 0xfb41bd6b
mov dword [esp + 0x198], 0x1f83d9ab
mov dword [esp + 0x19c], 0x137e2179
mov dword [esp + 0x1a0], 0x5be0cd19
call fcn.004b2430
lea ecx, [esp + 0x344]
add esp, 4
push ecx
mov ebx, edi
call fcn.004b2490
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x2c]
add esp, 4
inc eax
jmp 0x4eb633
xor eax, eax
lea edx, [esp + 0x380]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd8], eax
push edx
mov eax, ebx
lea edi, [esp + 0x9c]
mov dword [esp + 0x9c], 0xc1059ed8
mov dword [esp + 0xa0], 0xcbbb9d5d
mov dword [esp + 0xa4], 0x367cd507
mov dword [esp + 0xa8], 0x629a292a
mov dword [esp + 0xac], 0x3070dd17
mov dword [esp + 0xb0], 0x9159015a
mov dword [esp + 0xb4], 0xf70e5939
mov dword [esp + 0xb8], 0x152fecd8
mov dword [esp + 0xbc], 0xffc00b31
mov dword [esp + 0xc0], 0x67332667
mov dword [esp + 0xc4], 0x68581511
mov dword [esp + 0xc8], 0x8eb44a87
mov dword [esp + 0xcc], 0x64f98fa7
mov dword [esp + 0xd0], 0xdb0c2e0d
mov dword [esp + 0xd4], 0xbefa4fa4
mov dword [esp + 0xd8], 0x47b5481d
call fcn.004b2430
lea eax, [esp + 0x344]
add esp, 4
push eax
mov ebx, edi
call fcn.004b2490
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x2c]
add esp, 4
inc eax
jmp 0x4eb633
xor eax, eax
lea ecx, [esp + 0x380]
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], eax
push ecx
mov eax, ebx
lea edi, [esp + 0x34]
mov dword [esp + 0x34], 0x6a09e667
mov dword [esp + 0x38], 0xbb67ae85
mov dword [esp + 0x3c], 0x3c6ef372
mov dword [esp + 0x40], 0xa54ff53a
mov dword [esp + 0x44], 0x510e527f
mov dword [esp + 0x48], 0x9b05688c
mov dword [esp + 0x4c], 0x1f83d9ab
mov dword [esp + 0x50], 0x5be0cd19
call fcn.004afeb0
lea edx, [esp + 0x344]
add esp, 4
push edx
mov ebx, edi
call fcn.004aff10
add esp, 4
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x28]
inc eax
jmp 0x4eb633
mov edi, dword [esp + 0x20]
mov ecx, 8
lea esi, [esp + 0x340]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x3f84]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0065865c
add esp, 0x3f7c
ret
mov eax, dword [esp + 0x2c]
push 0x80
push str.AES_key_init_failed__keylen_d_
push 1
push 0x1ed
push str..mupdf_sourcepdfpdf_crypt.c
push eax
call fcn.004b35a0
int3