Function at 0x805fec
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x805ff2
pop ebp
sub ebp, 6
sub ebp, 0x405fec
jmp 0x806050
adc bh, al
add dword [eax], eax
add byte [eax], al
jb 0x80609d
sub ah, byte [edx + 0x200f4e81]
fist dword [ebp + 0x6a56d85a]
mov ebx, dword [esi + 0x486ebe51]
fisub word [edx]
mov ebp, 0x77e2a302
mov byte [esi - 0x10], bh
shl dword [edi - 0x17], 1
add al, 0
add byte [eax], al
sub dword [ecx + 0x7f], esi
and bh, byte [eax + 0x405fec]
jmp 0x806059
mov eax, 0x405fec
add eax, ebp
add eax, 0x93
mov ecx, 0x63e
mov edx, 0xbdbb211f
xor byte [eax], dl
inc eax
dec ecx
jne 0x806070
jmp 0x806083
jne 0x8060e4
ja 0x8060a6
nop dword [edi]
pop ds
ja 0x8060ab
sal dword [ebx], cl
pop ds
sahf
out dx, eax
clc
daa
xor dword [0x27f8ef9e], 0xdf2c3581
dec edi
loopne 0x80602a
pop ds
into
sub dword [edi], ebx
dec edi
xchg esp, eax
rcl byte [esi + edx*4 + 0x1f1f1f23], cl
pop ds
pop ds
sahf
fsubrp st(7)
pop ds
pop ds
pop ds
sbb al, 0xd2
cmpsd dword [esi], dword es:[edi]
sbb dword [edi], ebx
pop ds
pop ds
movsd dword es:[edi], dword [esi]
aaa
pop ds
pop ds
pop ds
call 0x95577dc1
sahf
adc ebx, dword [edi]
pop ds
pop ds
sbb al, 0xda
dec edi
ja 0x80612a
daa
push ss
pop ds
ja 0x806089
cmp byte [eax], ch
pop ds
sub byte [edi], bl
push ds
xor edi, dword [ebx]
ja 0x8060fa
pop ds
pop ds
pop ds
neg dword [edx]
pop ds
pop ds
pop ds
div byte [edi]
aaa
pop ds
pop ds
pop ds
dec edx
dec ebx
inc edx
xchg esp, eax
lcall 0x8a94, 0x1f1f1f17
adc ebx, dword [edi]
pop ds
pop ds
xchg esp, eax
xchg edx, eax
nop dword [edi]
pop ds
pop ds
pop ds
fdivrp st(6)
sbb eax, 0xdd9c1d2e
sbb edx, dword [esi + 0x10]
lcall 0xdd42, 0xe0e0e0eb
adc ebx, dword [edi]
push esi
adc byte [edx - 0x1f1f1f15], bl
inc edx
fst qword [ebx]
pop ds
xchg esp, eax
xchg ebx, eax
cmp ebx, dword [ebx]
pop ds
pop ds
pop ds
ja 0x806175
daa
push ss
pop ds
ja 0x8060d4
cmp byte [eax], ch
pop ds
push ds
xor edi, dword [ebx]
dec esi
neg dword [edx]
pop ds
pop ds
pop ds
not byte [ebp + ebx + 0x1f]
pop ds
dec edx
xchg esp, eax
loopne 0x80619e
adc esp, eax
push 0x17
mul dword [ecx + 0x1f]
pop ds
pop ds
xchg esp, eax
mov byte [0x1f1f1f17], al
sahf
out dx, al
loope 0x8061b7
inc eax
push 0x70e1ee9e
inc eax
push 0xed9ed62c
push esp
push 0xffffffffffffffea
sahf
in eax, dx
push esp
push 0xffffffffffffffea
sub al, 0xcd
pushfd
neg dword [edx]
push edi
adc byte [ebx + 0x1f1f1f51], bl
adc byte [edi + 0x1f1f1f57], dl
jns 0x806105
add esp, dword [esi]
lahf
in al, 0xf7
not dword [eax]
wait
add eax, 0x9f1f1f1f
adc byte [ebx + 0x1f1f1f05], bl
lahf
in al, 0xf6
adc byte [ebx + 0x1f1f1f0e], bl
jns 0x806125
in al, 0xe0
cmp dl, byte [eax]
wait
or bl, byte [edi]
pop ds
pop ds
pop esi
not bl
loopne 0x806175
loopne 0x8061cd
push ebx
push ds
pushfd
ficomp word [edx]
pushfd
neg dword [ebx]
mul byte [edx + 0x36e0e0e0]
dec ebx
sbb eax, 0x9c19de9c
cmc
sbb ebx, dword [edi + esi*8 - 0x1f4b09e6]
loopne 0x806197
inc edx
fst qword [ebx]
pop ds
dec edx
xchg esp, eax
dec ecx
dec eax
dec edx
xchg esp, eax
push 0x13
xchg esp, eax
bound edx, qword [edi]
jecxz 0x806176
lahf
xchg ebp, eax
sbb dword [esi + 0x1f1f1ed9], ebx
fstp dword [esi]
pop ds
pop ds
pop ds
xchg edi, eax
sbb byte [esi + 0x1f1f1ed8], bl
pop ds
movsb byte es:[edi], byte [esi]
sbb eax, 0x1d1f1f1f
int 0x10
lcall 0x995, 0x1f1f1f1a
pop ecx
or eax, 0xc79c10cd
loopne 0x8061d1
loopne 0x806210
int 0x10
lcall 0x995, 0x1f1f1f1a
pop ecx
or eax, 0x759c10cd
pop ds
pop ds
pop ds
sub al, 0xdf
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0x10
pushfd
xor eax, 0x1d1f1f1e
int 0x10
lcall 0x995, 0x1f1f1f1a
pop ecx
or eax, 0x1ddf0ccd
int 0x10
lcall 0x995, 0x1f1f1f1a
pop ecx
or eax, 0x1ddf0ccd
int 0x10
lcall 0x995, 0x1f1f1f1a
pop ecx
or eax, 0x1ddf0ccd
int 0x10
lcall 0x995, 0x1f1f1f1a
pop ecx
or eax, 0x10df0ccd
push ds
pop ds
pop ds
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
fistp word [0x1a9a10cd]
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
fistp word [0x1a9a10cd]
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
fistp word [0x1a9a10cd]
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
fist word [eax]
wait
sbb dword [edi], ebx
pop ds
pop ds
xchg esp, eax
sal byte [edi + eax*8], 0x95
sbb al, 0x97
sbb byte [eax - 0x5c], bl
sbb eax, 0xf61f1f1f
outsd dx, dword [esi]
loopne 0x80624e
loopne 0x806217
push ds
pop ds
pop ds
pop ds
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
fistp word [0x1a9a10cd]
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0x10
popfd
shl eax, 0xe0
loopne 0x8062cb
fsub qword [esi + ebx + 0x101f1f1f]
lcall 0x1ea6, 0x1f1f1f2b
pop ds
pop ds
pop ds
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
salc
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0x10
popfd
shl eax, 0xe0
loopne 0x806314
xchg esp, eax
call 0xbc6d4d05
inc ecx
not byte [edi]
loopne 0x8062b6
loopne 0x80632f
fdivp st(7)
pop ss
xchg ebp, eax
sbb dword [ecx - 0x6c], ebx
mul dword [esi + 0x1f1f1f1e]
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
salc
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0x10
popfd
shl eax, 0xe0
loopne 0x8062a6
out 0x1f, eax
bound ebx, qword [edi]
pop ds
sahf
invalid
out 0x1f, eax
sbb bl, byte [edi]
pop ds
sahf
invalid
pop ds
pop ds
sahf
into
pop ds
pop ds
pop ds
pop ds
dec ecx
xchg esp, eax
call 0xbc6d5272
inc ecx
test byte [ecx + 0x1995e0e0], 0x59
sub al, 0xd6
fcompi st(7)
push ds
adc byte [ebx + 0x1f1f1f05], bl
sahf
into
sbb eax, 0x941f1f1f
test dword [ecx - 0x6c], 0xecef34e8
mov ebx, 0x1f1ea441
pop ds
pop ds
imul byte [ecx - 0x20]
loopne 0x8063af
xor al, 0x62
pop ss
xchg esp, eax
fadd dword [eax + 0x41]
xchg esp, eax
cli
inc edx
fst qword [edi]
pop ds
inc eax
inc ecx
neg byte [ebx]
pop ds
pop ds
pop ds
cmp ecx, ecx
invalid
popfd
pushfd
pushfd
clc
or eax, dword [eax + 0x45]
wait
retf 0xcbcb