Function at 0x4ae931
Capabilities:
Encode data using xor

Disassembly:
push es
pop ss
sahf
test eax, 0x86968e1d
xchg esi, eax
cmp eax, 0x50f0aa27
movsb byte es:[edi], byte [esi]
jmp 0x4ae96b
jg 0x4ae977
aas
cmp al, 0xc5
xor dword [ebp + 0x5dd43940], edi
inc eax
cmp esp, edx
pop ebp
shr dword [ebp + 0x65], 1
add edx, dword [esi + 0x37bed3cb]
call 0x840251b1
xor bh, ah
xchg byte [esi - 0x49], dh
mov edx, 0xfb34a476
js 0x4ae938
js 0x4ae9b7
mov ah, byte [ecx + 0x5ea5f5c2]
mul dword [ebx]
mov gs, word [ebx]
fsubr st(4)
mov bh, 0x4d
out dx, al
movsb byte es:[edi], byte [esi]
invalid
xor dh, 0x6f
in eax, dx
mov eax, dword [0x6f014709]
int1
fild qword [0x4efdfc07]
pop es
cld
std
dec esi
or byte [eax], dl
psubw mm7, qword [edx - 0x49]
inc edx
push es
jno 0x4ae91a
dec esi
adc eax, 0xf7cf5061
mov ebx, 0xd020d4f8
pop eax
mov al, 0xc6
invalid
enter 0x4a47, 0xffffffffffffffe7
sar byte [edi - 7], cl
inc edi
dec edx
out 0xd2, eax
jg 0x4ae994
push ds
bound ebp, qword [edi]
pop ecx
adc eax, 0xcd877be2
jb 0x4ae9e4
int 0x72
sti
sti
cmpsd dword [esi], dword es:[edi]
in al, dx
sub byte [ecx - 0x7e], ah
salc
rol dword [edi - 0x74], 0xc6
sbb eax, 0x77c31f07
outsb dx, byte [esi]
ja 0x4aea27
pop ds
mov bl, 0xf
jne 0x4aea38
mov dword [eax - 0x151f86e7], edi
sar edi, 1
mov ecx, 0xce76c9e9
adc al, byte [eax]
scasd eax, dword es:[edi]
jg 0x4ae9d3
jns 0x4ae9a3
ljmp 0x76c9:0xe9b9ffd1
js 0x4ae995
aaa
xchg ebp, eax
cmpsd dword [esi], dword es:[edi]
fild word [edi + 0x2abe76fe]
fistp word [esi + 0x6d]
dec esi
cmp edx, dword [edi + 0x647eb599]
inc ecx
inc ecx
loopne 0x4ae9c1
mov dh, 2
xor bh, byte [esi]
invalid
sub bh, byte [esi - 0x5a709101]
sub dword [esi + 0x1f83df5], esp
ljmp 0xb0e7
clc
add edx, ebp
popfd
invalid
pop es
ja 0x4aea9e
or dword [esi - 0x49a7b7ec], esi
mov bh, 0x39
push ebp
xchg byte [ecx + 0x68fbe4a3], dh
into
or eax, esp
scasd eax, dword es:[edi]
xchg esi, eax
movsb byte es:[edi], byte [esi]
mov esi, eax
cmp dword [esi], edx
jle 0x4aeabe
jbe 0x4aeaaa
mov dword [edx], edx
das
je 0x4aea1d
xor edx, dword gs:[esi + 0x78d09b2b]
pop esp
aas
cld
mov esi, 0xeadb92e9
or eax, 0x747354c4
or ecx, esi
xlatb
enter 0x2726, 0x26
sahf
mov ch, 0x1f
hlt
aad 0x6e
mov dh, 0xb9
std
cmpsb byte [esi], byte es:[edi]
popal
inc esi
out 0x34, eax
mov edi, 0x244d561f
adc eax, dword [edx + ecx + 0x5e]
xor bl, byte [edi]
mov ecx, dword [edi]
jbe 0x4aeb07
dec ecx
das
push edx
mov dword [0x6f9a5f90], eax
cmpsb byte [esi], byte es:[edi]
pop ds
aad 0x8f
or eax, 0xef4c41de
inc ecx
dec esp
out dx, eax
jg 0x4aeb0e
jne 0x4aea83
inc edi
push ss
cdq
scasd eax, dword es:[edi]
xchg ebp, eax
mov edi, 0x58a02df9
mov eax, dword [0xf11c0e]
xor byte [ecx - 0x44], ah
daa
jmp 0x138f788a
sbb al, 0xf1
add byte [eax], dh
popal
mov esp, 0x8dc0e927
inc esp
adc esi, esi
movsb byte es:[edi], byte [esi]
dec ebx
lea esi, [eax + 0x1f6316ec]
scasd eax, dword es:[edi]
or dword [eax], eax
jmp 0x2faf309b
inc ebp
xchg esp, eax
push cs
lahf
invalid
pop esi
cli
xchg esi, eax
push ebx
adc byte [edi + 0x56], cl
and eax, 0x82fc3a99
pop es
dec edx
les esi, [edx - 0x652cfb7c]
inc ebx
and eax, 0x4dbedf73
add byte [edi - 0x7b], ah
cld
salc
adc al, 0x2b
sbb eax, 0x8bf0d3f6
jb 0x4aeadf
and dword [esi + 0x6ff679d5], 0x60
imul byte [edi + 0x60]
mov ch, 0xf8
adc bl, byte [eax]
jp 0x4aeb6a
jne 0x4aeb68
sal ebp, 1
xchg ebp, eax
mov edi, 0x24933b77
dec ecx
mov dword [0xcb131688], eax
invalid
neg byte [edi - 0x5a]
cmpsb byte [esi], byte es:[edi]
mov edi, 0xa2f5dce1
mov word [ebp + 0x27], cs
test al, 0xee
insd dword es:[edi], dx
les ebp, [edi - 0x37]
js 0x4aeb34
jno 0x4aebb3
outsb dx, byte [esi]
add esi, dword [ecx]
sbb dword [ecx], 0xffffffb0
invalid
dec ebp
pop esp
ret 0xc39d
in al, 0x44
xchg dword [eax + ecx*8], esi
ja 0x4aeb84
hlt