Function at 0x101896f0
Capabilities:
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x17c
push edi
lea edi, [ebp - 0x17c]
mov ecx, 0x5f
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov dword [ebp - 0x14], 0x5a827999
mov dword [ebp - 0x10], 0x6ed9eba1
mov dword [ebp - 0xc], 0x8f1bbcdc
mov dword [ebp - 8], 0xca62c1d6
mov dword [ebp - 0x1c], 0
jmp 0x1018973a
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x10
jge 0x101897c4
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx*4 + 0x1c]
shl eax, 0x18
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + ecx*4 - 0x164], eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx*4 + 0x1d]
shl ecx, 0x10
mov edx, dword [ebp - 0x1c]
or ecx, dword [ebp + edx*4 - 0x164]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x164], ecx
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx*4 + 0x1e]
shl eax, 8
mov ecx, dword [ebp - 0x1c]
or eax, dword [ebp + ecx*4 - 0x164]
mov edx, dword [ebp - 0x1c]
mov dword [ebp + edx*4 - 0x164], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax*4 + 0x1f]
mov eax, dword [ebp - 0x1c]
or edx, dword [ebp + eax*4 - 0x164]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + ecx*4 - 0x164], edx
jmp 0x10189731
mov dword [ebp - 0x1c], 0x10
jmp 0x101897d6
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x50
jge 0x1018983f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + eax*4 - 0x170]
xor edx, dword [ebp + ecx*4 - 0x184]
mov eax, dword [ebp - 0x1c]
xor edx, dword [ebp + eax*4 - 0x19c]
mov ecx, dword [ebp - 0x1c]
xor edx, dword [ebp + ecx*4 - 0x1a4]
shl edx, 1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x170]
xor eax, dword [ebp + ecx*4 - 0x184]
mov ecx, dword [ebp - 0x1c]
xor eax, dword [ebp + ecx*4 - 0x19c]
mov ecx, dword [ebp - 0x1c]
xor eax, dword [ebp + ecx*4 - 0x1a4]
shr eax, 0x1f
or edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x164], edx
jmp 0x101897cd
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x174], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x178], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0x1c], 0
jmp 0x1018988c
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x14
jge 0x10189930
mov eax, dword [ebp - 0x16c]
shl eax, 5
mov ecx, dword [ebp - 0x16c]
shr ecx, 0x1b
or eax, ecx
mov edx, dword [ebp - 0x170]
and edx, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x170]
not ecx
and ecx, dword [ebp - 0x178]
or edx, ecx
add eax, dword [ebp - 0x17c]
add edx, eax
mov eax, dword [ebp - 0x1c]
add edx, dword [ebp + eax*4 - 0x164]
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x17c], edx
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x170]
shl ecx, 0x1e
mov edx, dword [ebp - 0x170]
shr edx, 2
or ecx, edx
mov dword [ebp - 0x174], ecx
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x16c], ecx
jmp 0x10189883
mov dword [ebp - 0x1c], 0x14
jmp 0x10189942
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x28
jge 0x101899dc
mov eax, dword [ebp - 0x16c]
shl eax, 5
mov ecx, dword [ebp - 0x16c]
shr ecx, 0x1b
or eax, ecx
mov edx, dword [ebp - 0x170]
xor edx, dword [ebp - 0x174]
xor edx, dword [ebp - 0x178]
add eax, dword [ebp - 0x17c]
add edx, eax
mov eax, dword [ebp - 0x1c]
add edx, dword [ebp + eax*4 - 0x164]
add edx, dword [ebp - 0x10]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x17c], edx
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x170]
shl ecx, 0x1e
mov edx, dword [ebp - 0x170]
shr edx, 2
or ecx, edx
mov dword [ebp - 0x174], ecx
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x16c], ecx
jmp 0x10189939
mov dword [ebp - 0x1c], 0x28
jmp 0x101899ee
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x3c
jge 0x10189a9e
mov eax, dword [ebp - 0x16c]
shl eax, 5
mov ecx, dword [ebp - 0x16c]
shr ecx, 0x1b
or eax, ecx
mov edx, dword [ebp - 0x170]
and edx, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x170]
and ecx, dword [ebp - 0x178]
or edx, ecx
mov ecx, dword [ebp - 0x174]
and ecx, dword [ebp - 0x178]
or edx, ecx
add eax, dword [ebp - 0x17c]
add edx, eax
mov eax, dword [ebp - 0x1c]
add edx, dword [ebp + eax*4 - 0x164]
add edx, dword [ebp - 0xc]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x17c], edx
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x170]
shl ecx, 0x1e
mov edx, dword [ebp - 0x170]
shr edx, 2
or ecx, edx
mov dword [ebp - 0x174], ecx
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x16c], ecx
jmp 0x101899e5
mov dword [ebp - 0x1c], 0x3c
jmp 0x10189ab0
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x50
jge 0x10189b4a
mov eax, dword [ebp - 0x16c]
shl eax, 5
mov ecx, dword [ebp - 0x16c]
shr ecx, 0x1b
or eax, ecx
mov edx, dword [ebp - 0x170]
xor edx, dword [ebp - 0x174]
xor edx, dword [ebp - 0x178]
add eax, dword [ebp - 0x17c]
add edx, eax
mov eax, dword [ebp - 0x1c]
add edx, dword [ebp + eax*4 - 0x164]
add edx, dword [ebp - 8]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x17c], edx
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x170]
shl ecx, 0x1e
mov edx, dword [ebp - 0x170]
shr edx, 2
or ecx, edx
mov dword [ebp - 0x174], ecx
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x16c], ecx
jmp 0x10189aa7
mov edx, dword [ebp + 8]
mov eax, dword [edx]
add eax, dword [ebp - 0x16c]
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
add eax, dword [ebp - 0x170]
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, dword [ebp - 0x174]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xc]
add eax, dword [ebp - 0x178]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
add eax, dword [ebp - 0x17c]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov edx, dword [ebp + 8]
mov dword [edx + 0x5c], 0
push edx
mov ecx, ebp
push eax
lea edx, [0x10189bc4]
call fcn.10274c90
pop eax
pop edx
pop edi
mov esp, ebp
pop ebp
ret