Function at 0x4ea84c
Capabilities:
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd0
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
mov dword [eax + 4], 0x67452301
mov eax, dword [ebp - 4]
mov dword [eax + 8], 0xefcdab89
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], 0x98badcfe
mov eax, dword [ebp - 4]
mov dword [eax + 0x10], 0x10325476
mov eax, dword [ebp - 4]
mov dword [eax + 0x14], 0xc3d2e1f0
jmp 0x4ea911
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 4]
xor ecx, ecx
mov dword [edx + eax*4 + 0x18], ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x10
jne 0x4ea8a5
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
and eax, 3
mov edx, 3
sub edx, eax
mov eax, edx
shl eax, 3
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24]
shr eax, 2
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x18]
mov edx, dword [ebp - 8]
movzx eax, byte [edx + eax]
shl eax, cl
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 4]
add dword [ecx + edx*4 + 0x18], eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x40
jne 0x4ea8bf
mov eax, dword [ebp - 4]
call fcn.004ea714
add dword [ebp - 0x18], 0x40
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
cmp eax, 0x40
jae 0x4ea8a0
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
cmp eax, 0x37
ja 0x4ea9f6
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 4]
xor ecx, ecx
mov dword [edx + eax*4 + 0x18], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x10
jne 0x4ea930
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x10]
dec edx
sub edx, eax
jb 0x4ea9a5
inc edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18]
shr eax, 2
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18]
and eax, 3
mov edx, 3
sub edx, eax
mov eax, edx
shl eax, 3
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
movzx eax, byte [eax + edx]
shl eax, cl
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 4]
add dword [ecx + edx*4 + 0x18], eax
inc dword [ebp - 0x1c]
dec dword [ebp - 0x30]
jne 0x4ea957
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
shr eax, 2
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
and eax, 3
mov edx, 3
sub edx, eax
mov eax, edx
shl eax, 3
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov eax, 0x80
shl eax, cl
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 4]
add dword [ecx + edx*4 + 0x18], eax
mov eax, dword [ebp - 0x10]
shl eax, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
call fcn.004ea714
jmp 0x4eaad8
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 4]
xor ecx, ecx
mov dword [edx + eax*4 + 0x18], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x10
jne 0x4ea9fb
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x10]
dec edx
sub edx, eax
jb 0x4eaa6a
inc edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18]
shr eax, 2
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18]
and eax, 3
mov edx, 3
sub edx, eax
mov eax, edx
shl eax, 3
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 8]
movzx eax, byte [edx + eax]
shl eax, cl
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 4]
add dword [ecx + edx*4 + 0x18], eax
inc dword [ebp - 0x1c]
dec dword [ebp - 0x30]
jne 0x4eaa22
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
shr eax, 2
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
and eax, 3
mov edx, 3
sub edx, eax
mov eax, edx
shl eax, 3
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov eax, 0x80
shl eax, cl
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 4]
add dword [ecx + edx*4 + 0x18], eax
mov eax, dword [ebp - 4]
call fcn.004ea714
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 4]
xor ecx, ecx
mov dword [edx + eax*4 + 0x18], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x10
jne 0x4eaaaf
mov eax, dword [ebp - 0x10]
shl eax, 3
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
call fcn.004ea714
mov esp, ebp
pop ebp
ret 4