Function at 0x4085e8
Capabilities:
Encode data using xor

Disassembly:
clc
pop ebx
invalid
fst st(0)
xchg esi, eax
add bl, al
push 0xffffffffffffffba
vmaxpd xmm2, xmm4, xmmword [esi]
test eax, 0x14a76fa4
movsb byte es:[edi], byte [esi]
outsd dx, dword [esi]
cmpsd dword [esi], dword es:[edi]
adc al, 0xd1
js 0x408632
movsb byte es:[edi], byte [esi]
outsd dx, dword [esi]
cmpsd dword [esi], dword es:[edi]
adc al, 0xd1
js 0x408632
inc edi
push ecx
dec eax
shufps xmm4, xmmword [ebx + 0x1a], 0x49
adc ebx, esp
mov word [esi], es
sbb eax, 0xd7cf29c5
cmc
pop edx
pop es
mov eax, 0x9388a053
and byte [ecx + ebp*8 + 0xd5d40c3], bh
in eax, 0x8e
jae 0x4085b1
jge 0x408619
pop ss
or dword [edi + 0x58], esp
pop eax
pop eax
dec esi
xor dword [ebx + 0x576a272b], esi
sar dword [edi], 1
adc al, 0x43
inc ebx
push edx
push ds
xchg eax, edx
mov word [ecx + 0x7d713917], ds
mov byte [0x34909e91], al
cmc
xchg ecx, eax
sahf
nop
xor al, 0xf5
and eax, 0xa6f989ac
or ebp, dword [0x250f8b9f]
sub dh, bl
js 0x40861a
loop 0x4085fc
mov ebp, 0x8ff3160e
sahf
mov byte [edx], 0xd7
movsb byte es:[edi], byte [esi]
call 0x66d0a8b4
or eax, eax
jae 0x4085dc
imul ebx, ecx, 2
call 0x7c6237e6
lodsd eax, dword [esi]
rcr ebx, 1
sub dword [ebp + 0x3d], ecx
jno 0x4086b1
popfd
invalid
jecxz 0x408648
sub al, 0x99
push edi
inc edi
out 0x12, al
xor al, 0xd0
int 0x6a
sbb esp, 0xffffffa2
sbb eax, 0xdf05581c
and ebp, dword [ebx - 0x2f1d7e81]
stosb byte es:[edi], al
fsubr qword [ebx + 0x47]
adc ecx, ebx
push esp
lcall 0x5cce, 0x60a2430a
cmp ah, 0xaa
inc esp
cmp ch, byte [esi - 0x45dcbadc]
xchg ebx, eax
in al, 0xa1
jo 0x408757
push 0x38
cmp ebx, edi
push 0xffffffffffffffac
stosd dword es:[edi], eax
insd dword es:[edi], dx
pop esi
clc
pop edx
jmp 0x408757
les esi, [edi + edi*4 - 0x124d43e4]
neg dword [ebp - 0x3921752]
fadd dword [0xd7b35608]
sbb al, 0x24
push ebx
or al, dh
cld
xchg esi, eax
sal byte [edi - 0x2b], cl
aam 0xbf
sbb edi, dword [ebx + 0x70]
outsd dx, dword [esi]
int1
inc ebx
and dword [esi], esp
not ebp
adc ch, byte [esi + 0x6f6a03d9]
mov cl, 0x46
push ebp
retf
fiadd word [ebx + 0x60]
fsub st(4)
rcl dword [0x5605285c], 0x4b
cmp esp, dword [0x2ad7db14]
daa
pop esp
sub byte [0x253b4b56], al
add eax, 0x253b4b56
adc al, 0xdb
xlatb
sub ah, byte [edi]
xchg esi, eax
div esi
jecxz 0x408791
jne 0x408770
call [esi]
push ds
inc ecx
mov dword [edi + 0x28], eax
lds edx, [ebx + 0x4352362f]
jno 0x408706
in al, 0xd9
or eax, 0xba0a7b63
pop ecx
sbb al, 0x1d
cmpsb byte [esi], byte es:[edi]
ja 0x4087e4
leave
salc
dec ebx
xor byte [eax - 0x22ee25ed], al
jbe 0x4087c2
ficom dword [ecx]
fnsave dword [esi + 0x2c]
push ss
aad 0xa7
js 0x40875e
mov byte [0x48522586], al
test al, 0x4b
add esi, ebp
mov ah, 0x26
inc byte [ecx - 0xf851c66]
outsd dx, dword [esi]
inc edx
xchg ecx, eax
push cs
push ss
add byte [eax + ebx + 0x75400fb3], dh
xchg edi, eax
pop esp
jg 0x408757
pop eax
jns 0x4087f6
xor dword [ebx + 0x6a6b9f3a], 0x63f0617d
jns 0x408760
lahf
imul ebp, dword [edx + 0x7d], 0x61
invalid
inc eax
das
jae 0x4087e8
cmp eax, 0x39c22028
lodsb al, byte [esi]
or byte [ebx + 0x49196ae8], 0x79
nop
sar dword [edx - 0x66e43aa6], 0x5a
pop edx
int1
into
scasb al, byte es:[edi]
lea ebx, [edx]
hlt
cmp al, byte [edi - 0x70]
lahf
inc ebx
insb byte es:[edi], dx
adc al, 0x47
mov ebx, 0x8fb7b650
setl byte [ebx - 0x29f3e4c2]
or al, 0xd6
imul ebp, dword [ecx + edx*8], 0xb0421788
push esp
sbb eax, 0x4a53a0f7
insb byte es:[edi], dx
loopne 0x408888
pop esp
imul edi, dword [0x4fad7b6e], 0xffffffb3
inc edi
push es
mov eax, 0x54fe176c
loopne 0x408810
cmc
mov esp, 0x87561c7
sub dword [ebx], esp
jnp 0x4087ee
outsb dx, byte [esi]
push eax
or eax, 0xdab0ef53
sbb ebx, eax
jge 0x4088a4
mov bl, 0x8e
out 0x11, al
pushfd
js 0x408884
mov edi, 0x9bfb0fef
xchg edi, eax
mov byte [0xd1dbc8ab], al
in eax, 0xe0
cmp cl, byte [ecx - 0x4854a5bb]
call 0x3fadd915
les ebx, [esi - 0x1895f788]
mov cl, 0x3e
pop ebp
wait
insb byte es:[edi], dx
mov ah, byte [ebx + ebp*4]
mov esi, ecx
fcompi st(7)
jo 0x4088ba
stosb byte es:[edi], al
pop esp
fmul qword [eax]
jg 0x408800
or byte [edx + 0x314395ec], dh
cmpsd dword [esi], dword es:[edi]
cmp byte [esi], ch
retf
aas
mov cl, 0x33
pop edx
out 0xb5, al
nop
dec esp
jg 0x4088ca
invalid
retf 0x97d6
mov cl, 7
sti
aaa
pop esp
mov al, byte [0xc858caf3]
xchg edx, eax
test al, 0x32
push es
fidivr dword [edx + ebx*2 - 0x89d08e8]
shr byte [ebx], cl
xchg ecx, eax
loope 0x40894b
pop edx
sbb bh, dh
invalid
sal dword [edi + 0x5c], cl
dec edx
cdq
xchg ebp, eax
sbb al, byte [ebx + 0x77]
retf
adc eax, 0x81c17640
inc ecx
pop eax
mov bh, 0x5a
pop ebp
mov cl, 0x24
mov cl, 0x4e
adc byte [ebp - 0x495c58cc], ch
jle 0x4089a6
mov ebp, 0x17fa5dba
or ch, bh
mov edx, 0xa17fa5d
out dx, eax
int 0x97
xlatb
movsb byte es:[edi], byte [esi]
add dword [ecx + ebx*4 - 0x3e], esi
push ebx
lahf
dec ecx
adc eax, 0x218eac37
cmp al, 0x40
and dword [ebx], edi
pushfd
idiv ecx
push 0xffffffffffffffa9
inc ebx
arpl word [0xc5b8d49e], cx
push ss
int 0x87
call 0xac32b8ef
xchg esi, eax
je 0x408963
movsd dword es:[edi], dword [esi]
shr al, 1
push esi
push eax
mov ebp, 0xcc055521
xor al, 0xcf
cmp eax, 0xdfa07000
dec edi
salc
aaa
sbb byte [ecx], ch
xor byte fs:[ebx - 0x3c], 0x5a
dec esi
stosd dword es:[edi], eax
or eax, dword [ebx - 0x20]
inc esi
imul esp, dword [esi + eax*4], 0x3d7e1198
int1
push edx
movsb byte es:[edi], byte [esi]
mov al, 0xa7
cmpsd dword [esi], dword es:[edi]
jo 0x40897e
mov ebp, edx
inc ecx
dec edi
je 0x4089c1
mov bh, bh
push ds
add ebx, dword [edx]
inc ebx
or bl, ah
mov eax, dword [0x956f76b]
push eax
add al, 0x9c
mov bh, 0xb5
sub eax, 0xcb5bce22
ret