Function at 0x6193de90
Capabilities:
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8fc
cmp byte [ebp + 0xc], 0
push ebx
push esi
mov esi, eax
mov ebx, ecx
jne 0x6193deb7
push esi
call fcn.6193d800
test al, al
jne 0x6193deb7
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea eax, [ebp - 0x58]
push edi
push eax
call fcn.619380c0
mov edi, eax
call fcn.61938490
push eax
mov eax, 0x40
call fcn.6193bed0
lea ecx, [ebp - 4]
push ecx
lea edx, [ebp - 0xbc]
push edx
push eax
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 4], 0x40
call fcn.6193a4b0
mov ecx, dword [ebp - 4]
add esp, 0x10
xor eax, eax
push 4
lea edx, [ebp - 4]
push edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x78], eax
mov byte [ebp - 0x7c], al
push 0x10
mov eax, esi
mov byte [ebp + ecx - 0xbc], 0
mov dword [ebp - 0x2c], 0x67452301
mov dword [ebp - 0x28], 0xefcdab89
mov dword [ebp - 0x24], 0x98badcfe
mov dword [ebp - 0x20], 0x10325476
mov dword [ebp - 0x1c], 0xc3d2e1f0
call fcn.6193a220
test al, al
je 0x6193df46
mov edi, dword [ebp - 4]
jmp 0x6193df49
or edi, 0xffffffff
push 4
lea eax, [ebp - 4]
push eax
push 0xc
mov eax, esi
call fcn.6193a220
test al, al
je 0x6193df61
mov eax, dword [ebp - 4]
jmp 0x6193df64
or eax, 0xffffffff
push edi
push eax
push esi
lea esi, [ebp - 0x7c]
call fcn.6193a730
cmp byte [ebp - 0x7c], 0
jne 0x6193df7a
call fcn.6193ac80
mov ecx, dword [ebp - 0x2c]
movzx eax, word [ebp - 0x2c]
shr ecx, 0x10
rol cx, 8
rol ax, 8
movzx edx, cx
movzx ecx, ax
shl ecx, 0x10
or edx, ecx
movzx ecx, word [ebp - 0x28]
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x28]
shr edx, 0x10
rol dx, 8
rol cx, 8
movzx eax, dx
movzx edx, cx
shl edx, 0x10
or eax, edx
mov dx, word [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x24]
shr eax, 0x10
rol ax, 8
rol dx, 8
movzx ecx, ax
movzx eax, dx
shl eax, 0x10
or ecx, eax
movzx eax, word [ebp - 0x20]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x20]
shr ecx, 0x10
rol cx, 8
rol ax, 8
movzx edx, cx
movzx ecx, ax
shl ecx, 0x10
or edx, ecx
movzx ecx, word [ebp - 0x1c]
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x1c]
shr edx, 0x10
rol dx, 8
movzx eax, dx
rol cx, 8
movzx edx, cx
shl edx, 0x10
or eax, edx
mov dword [ebp - 8], eax
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0xfc]
push ecx
lea edx, [ebp - 0x18]
push 0x14
push edx
mov dword [ebp - 4], 0x40
call fcn.6193a4b0
mov eax, dword [ebp - 4]
add esp, 0x10
cmp byte [ebp + 0xc], 0
mov byte [ebp + eax - 0xfc], 0
mov eax, 0x619553dc
jne 0x6193e055
mov eax, 0x619553f4
push 0
push eax
mov edi, ebx
call fcn.6193dd10
mov ecx, dword [ebp + 8]
push 1
push ecx
call fcn.6193dd10
push 0
push 0x6195540c
call fcn.6193dd10
push 1
lea edx, [ebp - 0xbc]
push edx
call fcn.6193dd10
push 0
push 0x61955414
call fcn.6193dd10
push 1
lea eax, [ebp - 0xfc]
push eax
call fcn.6193dd10
cmp byte [ebp + 0xc], 0
pop edi
je 0x6193e0f6
lea esi, [ebx + 4]
push esi
lea ecx, [ebp - 0x8fc]
push 0x800
push ecx
call fcn.61945a4c
lea eax, [ebp - 0x8fc]
add esp, 0xc
mov dword [ebp + 0xc], 0x800
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x6193e0d0
sub eax, edx
lea edx, [ebp + 0xc]
push edx
push esi
push eax
lea eax, [ebp - 0x8fc]
push eax
call fcn.6193a4b0
mov ecx, dword [ebp + 0xc]
add esp, 0x10
mov byte [ecx + ebx + 4], 0
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 8