Function at 0x4aeec0
Capabilities:
Encode data using xor

Disassembly:
add al, byte [ebp]
xchg ecx, eax
test dword [esi], ecx
push es
add eax, dword [ecx]
add dword [ecx], ecx
add ecx, dword [edi + 0x31]
salc
add al, byte [ebp]
xchg ebp, eax
sub ecx, dword [esi]
push es
add eax, dword [ecx]
add dword [ecx], ecx
add ecx, dword [edi + 0x31]
fiadd dword [edx]
inc ebp
add byte [ecx + 0x3060eb4], dl
add dword [ecx], eax
or dword [ebx], eax
dec edi
xor ebx, ebx
add al, byte [ebp]
xchg esp, eax
or dword [esi], ecx
push es
add eax, dword [ecx]
add dword [ecx], ecx
add ecx, dword [edi + 0x31]
fadd qword [edx]
inc ebp
add byte [esp + edi*8 + 0x103060e], dl
add dword [ecx], ecx
add ecx, dword [edi + 0x31]
loop 0x4aef0e
inc ebp
add byte [ebp + 0x3060e63], dl
add dword [ecx], eax
or dword [ebx], eax
dec edi
xor esp, esp
add al, byte [ebp]
xchg ebx, eax
invalid
xchg ebp, eax
arpl word [esi], cx
push es
add eax, dword [ecx]
add dword [ecx], ecx
add ecx, dword [edi + 0x31]
in al, 2
inc ebp
add byte [ebx + 0x3060e8f], dl
add dword [ecx], eax
or dword [ebx], eax
dec edi
xor esi, esp
add al, byte [ebp]
xchg ebp, eax
imul ecx, dword [esi], 0x1010306
or dword [ebx], eax
dec edi
xor ebx, ebp
add al, byte [ebp]
xchg edx, eax
jle 0x4aef4c
push es
add eax, dword [ecx]
add dword [ecx], ecx
add ecx, dword [edi + 0x31]
in al, dx
add al, byte [ebp]
xchg esp, eax
fmul dword [esi]
push cs
push es
add eax, dword [ecx]
add dword [ecx], ecx
add ecx, dword [edi + 0x31]
out dx, al
add al, byte [ebp]
xchg ecx, eax
fisttp word [esi]
push es
add eax, dword [ecx]
add dword [ecx], ecx
add ecx, dword [edi + 0x31]
out dx, eax
add al, byte [ebp]
xchg ebx, eax
cmc
push cs
push es
add eax, dword [ecx]
add dword [ecx], ecx
add ecx, dword [edi + 0x31]
test dword [edx], 0xc9930045
push cs
push es
add eax, dword [ecx]
add dword [ecx], ecx
add ecx, dword [edi + 0x31]
clc
add al, byte [ebp]
xchg edx, eax
push 0x103060e
add dword [ecx], ecx
add ecx, dword [edi + 0x31]
stc
add al, byte [ebp]
xchg ecx, eax
fisttp qword [esi]
push es
add eax, dword [ecx]
add dword [ecx], ecx
add ecx, dword [edi + 0x31]
cli
add al, byte [ebp]
xchg ebx, eax
aad 0xe
push es
add eax, dword [ecx]
add dword [ecx], ecx
add ecx, dword [edi + 0x31]
std
add al, byte [ebp]
xchg edx, eax
add eax, 0x103060e
add dword [ecx], ecx
add ecx, dword [edi + 0x31]
inc byte [edx]
inc ebp
add byte [ebx + 0x3060e22], dl
add dword [ecx], eax
or dword [ebx], eax
dec edi
xor edi, edi
add al, byte [ebp]
xchg ebx, eax
insb byte es:[edi], dx
push cs
push es
add eax, dword [ecx]
add dword [ecx], ecx
add ecx, dword [edi + 0x32]
add dword [edx], eax
inc esi
add byte [ebp + 0x3060ede], dl
add dword [ecx], eax
or dword [ebx], eax
dec edi
xor al, byte [edx]
add al, byte [ebp]
xchg ebx, eax
mov ebx, 0x103060e
add dword [ecx], ecx
add ecx, dword [edi + 0x32]
add eax, 0x93004502
xor al, byte [0x93004502]
add al, 0xd
add byte [eax], al
add byte [ecx], dl
add byte [ebx], al
add ecx, ebx
add edx, dword [edx + 0x36036303]
add eax, dword [edi]
add bl, al
add bl, byte [ebx + 0x1d025c02]
add esi, ebx
add dword [ecx + 0x27016401], esp
add dl, ch
add byte [ebp + 0x43007000], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx], ch
mov eax, dword [0x1031334]
add dword [ecx], ecx
or byte [ebx], al
add eax, dword [ecx]
or byte [eax], cl
add dword [edx], eax
or byte [eax], cl
sbb eax, 0x4e0d0d0d
mov dword [ebx], esp
add ah, byte [esi]
push cs
adc eax, 0x23894e6a
pop es
add eax, dword [ecx]
sub dword [eax], eax
dec esi
ja 0x4aeff9
xor dword [ebp + 0x27], edx
push esp
cmp ah, byte [ecx + 0x1031333]
add dword [ecx], ecx
or byte [ebx], al
add eax, dword [ecx]
or byte [eax], cl
add dword [edx], eax
or byte [eax], cl
cmp eax, 0x4d0d0d0d
in al, 0xb3
add ah, byte [esi]
push cs
pop ss
and byte [ebp - 0x1c], cl
mov bl, 7
add eax, dword [ecx]
sub byte [edx], dh
add byte [eax], dh
add byte [ecx], dh
add byte [ebx], dh
add byte [esi + ecx*2], bl
mov ecx, 0xc6536b65
mov eax, ebp
lea esi, [esi + ebx*2 + 0x5a]
sbb cl, byte [edi + 0x3a]
mov eax, dword [0x1031332]
add dword [ecx], ecx
or byte [ebx], al
add eax, dword [ecx]
or byte [eax], cl
add dword [edx], eax
or byte [eax], cl
cmp eax, 0x4d0d0d0d
in al, 0xb4
add ah, byte [esi]
push cs
pop ss
and ecx, dword [ebp - 0x1c]
mov ah, 7
add eax, dword [ecx]
daa
xor al, byte [eax]
xor byte [eax], al
xor dword [eax], eax
xor eax, dword [eax]
pop edi
insb byte es:[edi], dx
iretd