Function at 0x4ce8cd
Capabilities:
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c4
push esi
push edi
mov dword [ebp - 8], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x17c]
xor edx, edx
mov ecx, 0x40
div ecx
test edx, edx
je 0x4ce902
xor eax, eax
jmp 0x4cec56
mov dword [ebp - 0x178], 0x67452301
mov dword [ebp - 0x174], 0xefcdab89
mov dword [ebp - 0x170], 0x98badcfe
mov dword [ebp - 0x16c], 0x10325476
mov dword [ebp - 0x168], 0xc3d2e1f0
mov dword [ebp - 0x24], 0
jmp 0x4ce946
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x17c]
shr eax, 6
cmp dword [ebp - 0x24], eax
jae 0x4cec3b
mov ecx, 0x10
mov esi, dword [ebp + 8]
lea edi, [ebp - 0x164]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 8]
add ecx, 0x40
mov dword [ebp + 8], ecx
mov dword [ebp - 0x180], 0x10
jmp 0x4ce98c
mov edx, dword [ebp - 0x180]
add edx, 1
mov dword [ebp - 0x180], edx
cmp dword [ebp - 0x180], 0x50
jge 0x4ce9da
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp + eax*4 - 0x170]
xor edx, dword [ebp + ecx*4 - 0x184]
mov eax, dword [ebp - 0x180]
xor edx, dword [ebp + eax*4 - 0x19c]
mov ecx, dword [ebp - 0x180]
xor edx, dword [ebp + ecx*4 - 0x1a4]
rol edx, 1
mov eax, dword [ebp - 0x180]
mov dword [ebp + eax*4 - 0x164], edx
jmp 0x4ce97d
mov ecx, dword [ebp - 0x178]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x174]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x168]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x180], 0
jmp 0x4cea22
mov eax, dword [ebp - 0x180]
add eax, 1
mov dword [ebp - 0x180], eax
cmp dword [ebp - 0x180], 0x14
jge 0x4cea82
mov ecx, dword [ebp - 4]
rol ecx, 5
mov edx, dword [ebp - 0x10]
and edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
not eax
and eax, dword [ebp - 0x1c]
or edx, eax
mov eax, dword [ebp - 0x20]
add eax, ecx
add edx, eax
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp + ecx*4 - 0x164]
lea ecx, [edx + eax + 0x5a827999]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x10]
rol ecx, 0x1e
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 4]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], eax
jmp 0x4cea13
mov dword [ebp - 0x180], 0x14
jmp 0x4cea9d
mov ecx, dword [ebp - 0x180]
add ecx, 1
mov dword [ebp - 0x180], ecx
cmp dword [ebp - 0x180], 0x28
jge 0x4ceaf6
mov edx, dword [ebp - 4]
rol edx, 5
mov eax, dword [ebp - 0x10]
xor eax, dword [ebp - 0x14]
xor eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
add ecx, edx
add eax, ecx
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp + edx*4 - 0x164]
lea edx, [eax + ecx + 0x6ed9eba1]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x10]
rol edx, 0x1e
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
jmp 0x4cea8e
mov dword [ebp - 0x180], 0x28
jmp 0x4ceb11
mov edx, dword [ebp - 0x180]
add edx, 1
mov dword [ebp - 0x180], edx
cmp dword [ebp - 0x180], 0x3c
jge 0x4ceb77
mov eax, dword [ebp - 4]
rol eax, 5
mov ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
and edx, dword [ebp - 0x1c]
or ecx, edx
mov edx, dword [ebp - 0x14]
and edx, dword [ebp - 0x1c]
or ecx, edx
mov edx, dword [ebp - 0x20]
add edx, eax
add ecx, edx
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp + eax*4 - 0x164]
lea eax, [ecx + edx - 0x70e44324]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x10]
rol eax, 0x1e
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 4], edx
jmp 0x4ceb02
mov dword [ebp - 0x180], 0x3c
jmp 0x4ceb92
mov eax, dword [ebp - 0x180]
add eax, 1
mov dword [ebp - 0x180], eax
cmp dword [ebp - 0x180], 0x50
jge 0x4cebeb
mov ecx, dword [ebp - 4]
rol ecx, 5
mov edx, dword [ebp - 0x10]
xor edx, dword [ebp - 0x14]
xor edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
add eax, ecx
add edx, eax
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp + ecx*4 - 0x164]
lea ecx, [edx + eax - 0x359d3e2a]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x10]
rol ecx, 0x1e
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 4]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], eax
jmp 0x4ceb83
mov ecx, dword [ebp - 0x178]
add ecx, dword [ebp - 4]
mov dword [ebp - 0x178], ecx
mov edx, dword [ebp - 0x174]
add edx, dword [ebp - 0x10]
mov dword [ebp - 0x174], edx
mov eax, dword [ebp - 0x170]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x16c]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 0x168]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x168], edx
jmp 0x4ce93d
lea eax, [ebp - 0x178]
mov dword [ebp - 0xc], eax
mov ecx, 5
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp + 0x10]
rep movsd dword es:[edi], dword [esi]
mov eax, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret