Function at 0x45c130
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
xor eax, eax
push edi
jmp 0x45c140
movzx ecx, byte [eax + 0x4e0aa8]
mov edi, ecx
and edi, 3
movzx esi, byte [edi + 0x4b36f8]
movzx edi, byte [edi + 0x4b36fc]
mov edx, ecx
shr edx, 2
xor esi, edx
mov edx, ecx
shr edx, 1
xor edx, ecx
shr edx, 1
xor edx, edi
xor edx, ecx
xor esi, ecx
mov edi, edx
imul edx, edx, 0x1000100
imul edi, edi, 0x10100
add edi, esi
shl edi, 8
add edi, ecx
add edx, esi
shl ecx, 0x10
add ecx, edx
movzx edx, byte [eax + 0x4e09a8]
mov dword [eax*4 + 0x4df9a8], edi
mov dword [eax*4 + 0x4e01a8], ecx
mov edi, edx
and edi, 3
movzx esi, byte [edi + 0x4b36f8]
movzx edi, byte [edi + 0x4b36fc]
mov ecx, edx
shr ecx, 2
xor esi, ecx
mov ecx, edx
shr ecx, 1
xor ecx, edx
xor esi, edx
shr ecx, 1
xor ecx, edi
xor ecx, edx
mov edi, edx
shl edi, 8
add edi, esi
imul esi, esi, 0x1000001
mov ebx, ecx
shl ecx, 8
imul ebx, ebx, 0x101
add ecx, edx
shl edi, 0x10
add edi, ebx
shl ecx, 8
add ecx, esi
mov dword [eax*4 + 0x4dfda8], edi
mov dword [eax*4 + 0x4e05a8], ecx
movzx ecx, byte [eax + 0x4e0aa9]
mov edi, ecx
and edi, 3
movzx esi, byte [edi + 0x4b36f8]
movzx edi, byte [edi + 0x4b36fc]
mov edx, ecx
shr edx, 2
xor esi, edx
mov edx, ecx
shr edx, 1
xor edx, ecx
shr edx, 1
xor edx, edi
xor edx, ecx
mov edi, edx
imul edx, edx, 0x1000100
imul edi, edi, 0x10100
xor esi, ecx
add edi, esi
shl edi, 8
add edi, ecx
shl ecx, 0x10
add edx, esi
add ecx, edx
mov dword [eax*4 + 0x4df9ac], edi
mov dword [eax*4 + 0x4e01ac], ecx
movzx edx, byte [eax + 0x4e09a9]
mov edi, edx
and edi, 3
movzx esi, byte [edi + 0x4b36f8]
movzx edi, byte [edi + 0x4b36fc]
mov ecx, edx
shr ecx, 2
xor esi, ecx
mov ecx, edx
shr ecx, 1
xor ecx, edx
shr ecx, 1
xor ecx, edi
xor ecx, edx
xor esi, edx
mov edi, edx
shl edi, 8
add edi, esi
imul esi, esi, 0x1000001
mov ebx, ecx
shl ecx, 8
imul ebx, ebx, 0x101
add ecx, edx
shl ecx, 8
add ecx, esi
shl edi, 0x10
add edi, ebx
mov dword [eax*4 + 0x4e05ac], ecx
movzx ecx, byte [eax + 0x4e0aaa]
mov dword [eax*4 + 0x4dfdac], edi
mov edi, ecx
and edi, 3
movzx esi, byte [edi + 0x4b36f8]
movzx edi, byte [edi + 0x4b36fc]
mov edx, ecx
shr edx, 2
xor esi, edx
mov edx, ecx
shr edx, 1
xor edx, ecx
shr edx, 1
xor edx, edi
xor edx, ecx
xor esi, ecx
mov edi, edx
imul edx, edx, 0x1000100
imul edi, edi, 0x10100
add edi, esi
shl edi, 8
add edi, ecx
shl ecx, 0x10
add edx, esi
add ecx, edx
movzx edx, byte [eax + 0x4e09aa]
mov dword [eax*4 + 0x4df9b0], edi
mov dword [eax*4 + 0x4e01b0], ecx
mov edi, edx
and edi, 3
movzx esi, byte [edi + 0x4b36f8]
movzx edi, byte [edi + 0x4b36fc]
mov ecx, edx
shr ecx, 2
xor esi, ecx
mov ecx, edx
shr ecx, 1
xor ecx, edx
shr ecx, 1
xor ecx, edi
xor ecx, edx
mov ebx, ecx
imul ebx, ebx, 0x101
mov edi, edx
shl edi, 8
xor esi, edx
add edi, esi
shl edi, 0x10
shl ecx, 8
add edi, ebx
add ecx, edx
mov dword [eax*4 + 0x4dfdb0], edi
shl ecx, 8
imul esi, esi, 0x1000001
add ecx, esi
mov dword [eax*4 + 0x4e05b0], ecx
movzx ecx, byte [eax + 0x4e0aab]
mov edi, ecx
and edi, 3
movzx esi, byte [edi + 0x4b36f8]
movzx edi, byte [edi + 0x4b36fc]
mov edx, ecx
shr edx, 2
xor esi, edx
mov edx, ecx
shr edx, 1
xor edx, ecx
shr edx, 1
xor edx, edi
xor edx, ecx
xor esi, ecx
mov edi, edx
imul edx, edx, 0x1000100
imul edi, edi, 0x10100
add edi, esi
shl edi, 8
add edi, ecx
shl ecx, 0x10
add edx, esi
add ecx, edx
movzx edx, byte [eax + 0x4e09ab]
mov dword [eax*4 + 0x4df9b4], edi
mov dword [eax*4 + 0x4e01b4], ecx
mov edi, edx
and edi, 3
movzx esi, byte [edi + 0x4b36f8]
movzx edi, byte [edi + 0x4b36fc]
mov ecx, edx
shr ecx, 2
xor esi, ecx
mov ecx, edx
shr ecx, 1
xor ecx, edx
shr ecx, 1
xor ecx, edi
xor ecx, edx
mov ebx, ecx
xor esi, edx
imul ebx, ebx, 0x101
mov edi, edx
shl edi, 8
add edi, esi
imul esi, esi, 0x1000001
shl ecx, 8
add ecx, edx
shl edi, 0x10
shl ecx, 8
add edi, ebx
add ecx, esi
mov dword [eax*4 + 0x4dfdb4], edi
mov dword [eax*4 + 0x4e05b4], ecx
add eax, 4
cmp eax, 0x100
jb 0x45c140
pop edi
pop esi
pop ebx