Function at 0x4f8b64
Capabilities:
Encode data using xor
Hash data using sha1

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffeac
mov ebx, ecx
mov dword [esp], eax
lea esi, [esp + 0xc]
mov dword [esp + 8], edx
lea eax, [esp + 0x14]
mov dword [esi], eax
mov dword [esp + 0x10], 0x10
mov eax, dword [esp + 8]
mov eax, dword [eax]
call fcn.004f83e8
mov edx, dword [esi]
mov dword [edx], eax
add dword [esp + 8], 4
add dword [esi], 4
dec dword [esp + 0x10]
jne 0x4f8b89
mov dword [esp + 0x10], 0x40
mov eax, dword [esi]
mov dword [esp + 8], eax
sub dword [esp + 8], 0x40
mov eax, dword [esp + 8]
mov eax, dword [eax]
add dword [esp + 8], 8
mov edx, dword [esp + 8]
xor eax, dword [edx]
add dword [esp + 8], 0x18
mov edx, dword [esp + 8]
xor eax, dword [edx]
add dword [esp + 8], 0x14
mov edx, dword [esp + 8]
xor eax, dword [edx]
test bl, bl
je 0x4f8beb
mov dl, 1
call fcn.004f8414
mov edx, dword [esi]
mov dword [edx], eax
add dword [esi], 4
dec dword [esp + 0x10]
jne 0x4f8bae
mov eax, dword [esp]
mov eax, dword [eax]
mov edx, dword [esp]
mov edx, dword [edx + 4]
mov ecx, dword [esp]
mov ecx, dword [ecx + 8]
mov ebx, dword [esp]
mov ebx, dword [ebx + 0xc]
mov esi, dword [esp]
mov esi, dword [esi + 0x10]
mov dword [esp + 4], esi
lea esi, [esp + 0x14]
mov dword [esp + 8], esi
mov dword [esp + 0x10], 4
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, ebx
xor edi, ecx
and edi, edx
xor edi, ebx
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0x5a827999
add dword [esp + 4], esi
mov esi, edx
shr esi, 2
shl edx, 0x1e
or esi, edx
mov edx, esi
add dword [esp + 8], 4
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, ecx
xor edi, edx
and edi, eax
xor edi, ecx
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0x5a827999
add ebx, esi
mov esi, eax
shr esi, 2
shl eax, 0x1e
or esi, eax
mov eax, esi
add dword [esp + 8], 4
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, edx
xor edi, eax
and edi, dword [esp + 4]
xor edi, edx
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0x5a827999
add ecx, esi
mov esi, dword [esp + 4]
shr esi, 2
mov edi, dword [esp + 4]
shl edi, 0x1e
or esi, edi
mov dword [esp + 4], esi
add dword [esp + 8], 4
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
xor edi, eax
and edi, ebx
xor edi, eax
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0x5a827999
add edx, esi
mov esi, ebx
shr esi, 2
shl ebx, 0x1e
or esi, ebx
mov ebx, esi
add dword [esp + 8], 4
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
xor edi, ebx
and edi, ecx
xor edi, dword [esp + 4]
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0x5a827999
add eax, esi
mov esi, ecx
shr esi, 2
shl ecx, 0x1e
or esi, ecx
mov ecx, esi
add dword [esp + 8], 4
dec dword [esp + 0x10]
jne 0x4f8c29
mov dword [esp + 0x10], 4
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, edx
xor edi, ebx
xor edi, ecx
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0x6ed9eba1
add dword [esp + 4], esi
mov esi, edx
shr esi, 2
shl edx, 0x1e
or esi, edx
mov edx, esi
add dword [esp + 8], 4
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, eax
xor edi, ecx
xor edi, edx
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0x6ed9eba1
add ebx, esi
mov esi, eax
shr esi, 2
shl eax, 0x1e
or esi, eax
mov eax, esi
add dword [esp + 8], 4
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
xor edi, edx
xor edi, eax
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0x6ed9eba1
add ecx, esi
mov esi, dword [esp + 4]
shr esi, 2
mov edi, dword [esp + 4]
shl edi, 0x1e
or esi, edi
mov dword [esp + 4], esi
add dword [esp + 8], 4
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, ebx
xor edi, eax
xor edi, dword [esp + 4]
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0x6ed9eba1
add edx, esi
mov esi, ebx
shr esi, 2
shl ebx, 0x1e
or esi, ebx
mov ebx, esi
add dword [esp + 8], 4
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
xor edi, ecx
xor edi, ebx
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0x6ed9eba1
add eax, esi
mov esi, ecx
shr esi, 2
shl ecx, 0x1e
or esi, ecx
mov ecx, esi
add dword [esp + 8], 4
dec dword [esp + 0x10]
jne 0x4f8d5a
mov dword [esp + 0x10], 4
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, ecx
and edi, edx
mov ebp, ecx
or ebp, edx
and ebp, ebx
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0x8f1bbcdc
add dword [esp + 4], esi
mov esi, edx
shr esi, 2
shl edx, 0x1e
or esi, edx
mov edx, esi
add dword [esp + 8], 4
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, edx
and edi, eax
mov ebp, edx
or ebp, eax
and ebp, ecx
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0x8f1bbcdc
add ebx, esi
mov esi, eax
shr esi, 2
shl eax, 0x1e
or esi, eax
mov eax, esi
add dword [esp + 8], 4
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
and edi, eax
mov ebp, dword [esp + 4]
or ebp, eax
and ebp, edx
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0x8f1bbcdc
add ecx, esi
mov esi, dword [esp + 4]
shr esi, 2
mov edi, dword [esp + 4]
shl edi, 0x1e
or esi, edi
mov dword [esp + 4], esi
add dword [esp + 8], 4
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
and edi, ebx
mov ebp, dword [esp + 4]
or ebp, ebx
and ebp, eax
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0x8f1bbcdc
add edx, esi
mov esi, ebx
shr esi, 2
shl ebx, 0x1e
or esi, ebx
mov ebx, esi
add dword [esp + 8], 4
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, ebx
and edi, ecx
mov ebp, ebx
or ebp, ecx
and ebp, dword [esp + 4]
or edi, ebp
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0x8f1bbcdc
add eax, esi
mov esi, ecx
shr esi, 2
shl ecx, 0x1e
or esi, ecx
mov ecx, esi
add dword [esp + 8], 4
dec dword [esp + 0x10]
jne 0x4f8e7f
mov dword [esp + 0x10], 4
mov esi, eax
shl esi, 5
mov edi, eax
shr edi, 0x1b
or esi, edi
mov edi, edx
xor edi, ebx
xor edi, ecx
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0xca62c1d6
add dword [esp + 4], esi
mov esi, edx
shr esi, 2
shl edx, 0x1e
or esi, edx
mov edx, esi
add dword [esp + 8], 4
mov esi, dword [esp + 4]
shl esi, 5
mov edi, dword [esp + 4]
shr edi, 0x1b
or esi, edi
mov edi, eax
xor edi, ecx
xor edi, edx
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0xca62c1d6
add ebx, esi
mov esi, eax
shr esi, 2
shl eax, 0x1e
or esi, eax
mov eax, esi
add dword [esp + 8], 4
mov esi, ebx
shl esi, 5
mov edi, ebx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
xor edi, edx
xor edi, eax
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0xca62c1d6
add ecx, esi
mov esi, dword [esp + 4]
shr esi, 2
mov edi, dword [esp + 4]
shl edi, 0x1e
or esi, edi
mov dword [esp + 4], esi
add dword [esp + 8], 4
mov esi, ecx
shl esi, 5
mov edi, ecx
shr edi, 0x1b
or esi, edi
mov edi, ebx
xor edi, eax
xor edi, dword [esp + 4]
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0xca62c1d6
add edx, esi
mov esi, ebx
shr esi, 2
shl ebx, 0x1e
or esi, ebx
mov ebx, esi
add dword [esp + 8], 4
mov esi, edx
shl esi, 5
mov edi, edx
shr edi, 0x1b
or esi, edi
mov edi, dword [esp + 4]
xor edi, ecx
xor edi, ebx
add esi, edi
mov edi, dword [esp + 8]
add esi, dword [edi]
add esi, 0xca62c1d6
add eax, esi
mov esi, ecx
shr esi, 2
shl ecx, 0x1e
or esi, ecx
mov ecx, esi
add dword [esp + 8], 4
dec dword [esp + 0x10]
jne 0x4f8fc6
mov esi, dword [esp]
add dword [esi], eax
mov eax, dword [esp]
add dword [eax + 4], edx
mov eax, dword [esp]
add dword [eax + 8], ecx
mov eax, dword [esp]
add dword [eax + 0xc], ebx
mov eax, dword [esp]
mov edx, dword [esp + 4]
add dword [eax + 0x10], edx
add esp, 0x154
pop ebp
pop edi
pop esi
pop ebx
ret