Function at 0x40ea00
Capabilities:
Encode data using xor

Disassembly:
push ebx
xchg al, al
mov al, 0xe4
in al, 0x52
sub al, 0xae
stc
dec eax
push cs
rol dword [esi + 0x43], 0x5a
cmp eax, 0x8f11e213
wait
fcmovu st(0), st(0)
in al, 0x24
xchg dword [edx + 0x6275afb2], ecx
salc
aas
invalid
int 0x57
popfd
push ebx
dec edx
push ebx
insd dword es:[edi], dx
add edx, dword [edi]
scasd eax, dword es:[edi]
jp 0x40e8e7
cmc
mov fs, word [ecx + 0x1253bb95]
shr dword [edx], cl
inc esi
std
scasd eax, dword es:[edi]
xchg ebx, eax
hlt
sahf
mov bh, 0x3d
mov al, 0xe
push ebx
jmp 0xa49fd2af
add eax, 0xc3d389c5
fld dword [ecx]
add al, bh
mov esi, 0x17b0d8d9
mov edi, 0x72706dfb
pop esi
xchg ch, dl
xchg byte [ebp + 0x13d93071], bl
fbstp tbyte [edi]
js 0x40e9b4
pop ecx
test dl, ah
add al, 0x6c
jecxz 0x40e938
mov bl, 0xf1
int1
push cs
lock adc byte cs:[edx + 0x43aeadf8], al
outsd dx, dword [esi]
mov al, byte [0x7a459f53]
adc al, 0x73
xor dword [ebp - 0x15], esp
jnp 0x40e9fa
aam 0x88
sbb al, 0x38
ja 0x40e954
mov dl, 0x6c
inc byte [ebp + 0x64]
jg 0x40ea01
sbb byte [ebx], ch
sbb dh, byte [ecx]
aas
in eax, dx
and edi, ebp
salc
stc
cmpsb byte [esi], byte es:[edi]
pop ebx
xor cl, al
jmp 0x40e98b
std
dec edx
int3
add esi, ecx
add esi, ecx
sbb bh, byte [ebx - 0x604beecd]
not eax
sub byte [esi + eax*8 + 0x1f94135b], ch
sbb ebx, edi
add esp, dword [esi]
sti
shr byte [eax], 1
lodsb al, byte [esi]
invalid
fild word [ebx]
sti
jo 0x40e9dc
jne 0x40ea0a
jo 0x40ea6b
jnp 0x40ea13
mov edx, 0xbddd214
ja 0x40e9be
push 0x93a2fc7f
and dword [edx + 0x17], edi
test dword [ecx - 0x53], esi
stc
mov ebx, 0x8075f0bb
adc byte [edi + 0x53], ch
inc edx
adc ebp, dword [ecx - 0x7f378880]
xlatb
sbb al, 0xc1
cmp dh, byte [ecx + 0x20]
pop ss
rol dword [ebx - 0x22], 1
div byte [ebx - 3]
popal
jge 0x40eaa5
and byte [bx], bh
pop ss
ror dword [esi + 0x19a68524], 0x43
test byte [eax - 0x4a94312a], 0xf6
xor ebx, dword [edx + 0x55c16ace]
dec esp
jg 0x40ea7a
sbb dword [ebx - 0xa], eax
adc dh, 0xce
imul esi, dword [ebp - 0x3165cc0a], 0x6a
rcl dword [ebp + 0x4c], 0x7f
push cs
ja 0x40ea81
adc edi, dword [eax]
jns 0x40eaaa
cmp byte [ecx + 0x39], bh
jb 0x40ea5a
inc ebp
invalid
je 0x40eaba
or eax, 0xad23f1bf
lodsd eax, dword [esi]
and byte [ebx], dh
in eax, dx
inc esp
mov byte [0xb27db974], al
push ebx
clc
mov al, byte [0x172747f4]
jo 0x40ea74
xor byte [edi], bl
sub byte [esi], al
dec ebx
rcr dword [ebx], 0x18
mov dword [edi], ecx
in eax, 0x3f
insd dword es:[edi], dx
jp 0x40eaed
mov ch, byte [edi + 0x4b]
dec ebx
sub ah, byte gs:[ecx + 0x1b]
mov edi, 0x33e29b9e
adc dh, ah
adc byte [eax + 0x4a], bh
and dword [esi + esi*4], ebx
add ebx, dword [edi]
or cl, al
adc al, 0xfb
adc byte [edx - 0x5e], al
movsb byte es:[edi], byte [esi]
sar byte [edx + 0x209a5b3f], 0x2b
rcl dword [ebx + edi*8], 0x10
inc edx
mov byte [0x3fbac0a4], al
pop ebx
lcall 0xca0d, 0xed472b20
sub edx, dword [ebx + ebp*4 - 0x6ecedbcb]
invalid
inc edi
in eax, dx
or eax, 0xab942bca
xor eax, 0xc5913124
salc
sub eax, 0x3e683ac3
fimul word [ecx + 0x41]
push ebx
mov dh, 0x48
sbb edx, ebx
jns 0x40ea6d
ret
dec esp
invalid
sub ah, byte [edx - 0x44]
push ds
fild qword [edx]
loope 0x40ead6
push eax
int 0xda
jnp 0x40eb69
add dword [ebp - 0xa], 0xffffff86
pop ebx
mov dword [esi], ebx
mov edi, dword [ebx + 0x2b1976d3]
fcomi st(3)
sbb dl, byte [ebp + 0x1fe668c2]
add dh, 0x20
or eax, dword [ecx + 0x611a2b5b]
wait
jp 0x40eb69
or esp, dword [edi*2 - 0x22198c45]
pop esp
mov ebx, 0x5cdde673
dec ebp
pop ebp
jae 0x40eac8
sti
xchg edx, eax
xor ch, byte [ebx - 0x2b]
or dword [ecx + 9], 0xcd1bcb9d
stosb byte es:[edi], al
or edx, dword [ecx + ebx*8]
pushal
inc ecx
mov edx, dword ds:[eax]
and dword [edx - 0x24272686], eax
push 0xffffffffffffffa3
aam 0xab
dec eax
pop esp
fld xword [edx]
cmp al, 0xaf
sub al, 0x1a
or byte [eax], cl
cmp eax, 0x3de2f52
out 0x2b, al
stc
out dx, al
loope 0x40ebda
mov al, 0x4b
pop ebx
push esi
pop edx
mov ebp, dword [edx]
jmp 0x40eb1e
pop ebp
test cl, al
dec edx
pop ecx
fdiv st(1), st(0)
invalid
add edi, dword [edx]
or byte [0xd49f19ae], ah
push ss
dec ebp
sub edi, dword [edi - 0x32]
salc
pop esi
lcall 0x14e8, 0x1aca065e
test byte [ecx], dh
sti
xor al, 0xfc
push ebx
pop eax
pop ss
adc byte [ebx + 0x2f292a1c], bh
jmp 0x67cf32a2