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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x15c
mov eax, dword [0x4cf500]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x15c], esi
xor ecx, ecx
lea eax, [esi + 0x15]
movzx edx, byte [eax - 1]
movzx edi, byte [eax]
shl edx, 8
or edx, edi
movzx edi, byte [eax + 1]
shl edx, 8
or edx, edi
movzx edi, byte [eax + 2]
shl edx, 8
or edx, edi
movzx edi, byte [eax + 4]
mov dword [ebp + ecx*4 - 0x144], edx
movzx edx, byte [eax + 3]
shl edx, 8
or edx, edi
movzx edi, byte [eax + 5]
shl edx, 8
or edx, edi
movzx edi, byte [eax + 6]
shl edx, 8
or edx, edi
movzx edi, byte [eax + 8]
mov dword [ebp + ecx*4 - 0x140], edx
movzx edx, byte [eax + 7]
shl edx, 8
or edx, edi
movzx edi, byte [eax + 9]
shl edx, 8
or edx, edi
movzx edi, byte [eax + 0xa]
shl edx, 8
or edx, edi
movzx edi, byte [eax + 0xc]
mov dword [ebp + ecx*4 - 0x13c], edx
movzx edx, byte [eax + 0xb]
shl edx, 8
or edx, edi
movzx edi, byte [eax + 0xd]
shl edx, 8
or edx, edi
movzx edi, byte [eax + 0xe]
shl edx, 8
or edx, edi
mov dword [ebp + ecx*4 - 0x138], edx
add ecx, 4
add eax, 0x10
cmp ecx, 0x10
jb 0x4308b3
lea eax, [ebp - 0x124]
mov dword [ebp - 0x154], 0x10
lea esp, [esp]
mov ecx, dword [eax - 0x20]
xor ecx, dword [eax + 0x14]
mov edx, dword [eax - 0x18]
xor ecx, dword [eax]
add eax, 0x10
xor ecx, edx
mov edi, ecx
add ecx, ecx
shr edi, 0x1f
xor edi, ecx
mov ecx, dword [eax - 0x2c]
xor ecx, dword [eax + 8]
mov dword [eax + 0x10], edi
xor ecx, dword [eax - 0xc]
mov edi, dword [eax - 0x24]
xor ecx, edi
mov ebx, ecx
add ecx, ecx
shr ebx, 0x1f
xor ebx, ecx
mov ecx, dword [eax + 0xc]
xor ecx, dword [eax - 0x20]
mov dword [eax + 0x14], ebx
xor ecx, dword [eax - 8]
xor ecx, edx
mov edx, ecx
add ecx, ecx
shr edx, 0x1f
xor edx, ecx
mov ecx, dword [eax - 0x1c]
xor ecx, dword [eax - 4]
mov dword [eax + 0x18], edx
xor ecx, edi
xor ecx, dword [eax + 0x10]
mov edx, ecx
shr edx, 0x1f
add ecx, ecx
xor edx, ecx
dec dword [ebp - 0x154]
mov dword [eax + 0x1c], edx
jne 0x430970
mov ecx, dword [esi + 0x10]
mov edi, dword [esi]
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0x14c], ecx
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x150], edi
mov dword [ebp - 0x158], 2
mov dword [ebp - 0x154], ecx
lea esp, [esp]
mov ecx, dword [ebp - 0x158]
add ecx, 0xfffffffe
cmp ecx, 0x14
jae 0x430a36
mov esi, edx
not esi
mov ecx, eax
and esi, ebx
and ecx, edx
or esi, ecx
mov dword [ebp - 0x148], 0x5a827999
jmp 0x430a74
cmp ecx, 0x28
jae 0x430a47
mov dword [ebp - 0x148], 0x6ed9eba1
jmp 0x430a6e
cmp ecx, 0x3c
jae 0x430a64
mov esi, eax
or esi, edx
mov ecx, eax
and esi, ebx
and ecx, edx
or esi, ecx
mov dword [ebp - 0x148], 0x8f1bbcdc
jmp 0x430a74
mov dword [ebp - 0x148], 0xca62c1d6
mov esi, ebx
xor esi, eax
xor esi, edx
mov ecx, edi
shr ecx, 0x1b
shl edi, 5
xor ecx, edi
mov edi, dword [ebp - 0x154]
add ecx, dword [edi - 4]
mov edi, dword [ebp - 0x150]
add ecx, dword [ebp - 0x148]
add ecx, esi
add ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x14c], ebx
mov esi, eax
mov eax, dword [ebp - 0x158]
mov ebx, edx
shl ebx, 0x1e
shr edx, 2
dec eax
xor ebx, edx
mov dword [ebp - 0x150], ecx
cmp eax, 0x14
jae 0x430ad7
mov edx, edi
not edx
mov eax, ebx
and edx, esi
and eax, edi
or edx, eax
mov dword [ebp - 0x148], 0x5a827999
jmp 0x430b15
cmp eax, 0x28
jae 0x430ae8
mov dword [ebp - 0x148], 0x6ed9eba1
jmp 0x430b0f
cmp eax, 0x3c
jae 0x430b05
mov edx, ebx
or edx, edi
mov eax, ebx
and edx, esi
and eax, edi
or edx, eax
mov dword [ebp - 0x148], 0x8f1bbcdc
jmp 0x430b15
mov dword [ebp - 0x148], 0xca62c1d6
mov edx, esi
xor edx, ebx
xor edx, edi
mov eax, ecx
shr eax, 0x1b
shl ecx, 5
xor eax, ecx
mov ecx, dword [ebp - 0x154]
add eax, dword [ecx]
mov ecx, ebx
add eax, dword [ebp - 0x148]
mov ebx, edi
add eax, edx
add eax, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x158]
shl ebx, 0x1e
shr edi, 2
mov dword [ebp - 0x14c], esi
mov esi, dword [ebp - 0x150]
xor ebx, edi
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x150], eax
cmp edx, 0x14
jae 0x430b77
mov edx, esi
not edx
and edx, ecx
mov ecx, ebx
and ecx, esi
or edx, ecx
mov edi, 0x5a827999
jmp 0x430ba6
cmp edx, 0x28
jae 0x430b83
mov edi, 0x6ed9eba1
jmp 0x430ba0
cmp edx, 0x3c
jae 0x430b9b
mov edx, ebx
or edx, esi
and edx, ecx
mov ecx, ebx
and ecx, esi
or edx, ecx
mov edi, 0x8f1bbcdc
jmp 0x430ba6
mov edi, 0xca62c1d6
mov edx, ecx
xor edx, ebx
xor edx, esi
mov ecx, eax
shr ecx, 0x1b
shl eax, 5
xor ecx, eax
mov eax, dword [ebp - 0x154]
add ecx, dword [eax + 4]
mov eax, ebx
add ecx, edi
mov edi, dword [ebp - 0x150]
add ecx, edx
mov edx, dword [ebp - 0x148]
add ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x14c], edx
mov edx, dword [ebp - 0x158]
mov ebx, esi
shl ebx, 0x1e
shr esi, 2
inc edx
xor ebx, esi
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x150], ecx
cmp edx, 0x14
jae 0x430c0c
mov edx, edi
not edx
and edx, eax
mov eax, ebx
and eax, edi
or edx, eax
mov esi, 0x5a827999
jmp 0x430c3b
cmp edx, 0x28
jae 0x430c18
mov esi, 0x6ed9eba1
jmp 0x430c35
cmp edx, 0x3c
jae 0x430c30
mov edx, ebx
or edx, edi
and edx, eax
mov eax, ebx
and eax, edi
or edx, eax
mov esi, 0x8f1bbcdc
jmp 0x430c3b
mov esi, 0xca62c1d6
mov edx, eax
xor edx, ebx
xor edx, edi
mov eax, ecx
shr eax, 0x1b
shl ecx, 5
xor eax, ecx
mov ecx, dword [ebp - 0x154]
add eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x158]
add eax, esi
mov esi, dword [ebp - 0x150]
add eax, edx
add eax, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0x14c], edx
mov edx, edi
shl edx, 0x1e
shr edi, 2
add ecx, 2
xor edx, edi
mov dword [ebp - 0x150], eax
cmp ecx, 0x14
jae 0x430ca0
mov edi, esi
not edi
mov ecx, edx
and edi, ebx
and ecx, esi
or edi, ecx
mov dword [ebp - 0x148], 0x5a827999
jmp 0x430cde
cmp ecx, 0x28
jae 0x430cb1
mov dword [ebp - 0x148], 0x6ed9eba1
jmp 0x430cd8
cmp ecx, 0x3c
jae 0x430cce
mov edi, edx
or edi, esi
mov ecx, edx
and edi, ebx
and ecx, esi
or edi, ecx
mov dword [ebp - 0x148], 0x8f1bbcdc
jmp 0x430cde
mov dword [ebp - 0x148], 0xca62c1d6
mov edi, ebx
xor edi, edx
xor edi, esi
add dword [ebp - 0x158], 5
mov ecx, eax
shr ecx, 0x1b
shl eax, 5
xor ecx, eax
mov eax, dword [ebp - 0x154]
add ecx, dword [eax + 0xc]
add dword [ebp - 0x154], 0x14
add ecx, dword [ebp - 0x148]
mov eax, esi
shr esi, 2
add ecx, edi
add ecx, dword [ebp - 0x14c]
shl eax, 0x1e
xor eax, esi
mov esi, dword [ebp - 0x158]
mov dword [ebp - 0x14c], ebx
add esi, 0xfffffffe
mov ebx, edx
mov edx, dword [ebp - 0x150]
mov edi, ecx
mov dword [ebp - 0x150], edi
cmp esi, 0x50
jb 0x430a10
mov esi, dword [ebp - 0x15c]
mov esi, dword [esi]
add esi, ecx
mov ecx, dword [ebp - 0x15c]
mov dword [ecx], esi
mov esi, dword [ecx + 4]
add esi, edx
mov edx, dword [ecx + 8]
add edx, eax
mov eax, dword [ecx + 0xc]
add eax, ebx
mov dword [ecx + 0xc], eax
mov eax, dword [ecx + 0x10]
add eax, dword [ebp - 0x14c]
mov dword [ecx + 4], esi
mov dword [ecx + 8], edx
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00472ba1
mov esp, ebp
pop ebp
ret