Function at 0x805fa4
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x805faa
pop ebp
sub ebp, 6
sub ebp, 0x405fa4
jmp 0x806008
jmp 0x806011
mov eax, 0x405fa4
add eax, ebp
add eax, 0x93
mov ecx, 0x639
lds eax, [ecx + 0x93c0]
add byte [ecx + 0x639], bh
mov edx, 0xa8d2f810
xor byte [eax], dl
inc eax
dec ecx
jne 0x806028
jmp 0x80603b
jp 0x80608d
js 0x80604f
add byte [eax], dl
adc byte [eax + 0x10], bh
fdivr qword [eax + edx]
xchg ecx, eax
loopne 0x806017
xchg esp, eax
jo 0x80607f
xchg ecx, eax
loopne 0x80601d
int 0x94
xchg esp, eax
jo 0x806085
and edx, eax
inc eax
out dx, eax
test dword [eax], edx
shl dword [esi], 0x10
inc eax
wait
fstp qword [ebx + 0x10102c99]
adc byte [ecx + 0x1010e8d1], dl
adc byte [ebx], dl
invalid
adc byte [eax], dl
adc edx, ebp
inc eax
js 0x80606c
out 0x27, al
daa
sbb dword [eax], edx
js 0x806047
aaa
daa
adc byte [ecx], dl
cmp al, 0x34
js 0x8060a3
adc byte [eax], dl
adc al, bh
adc byte [eax], dl
clc
adc eax, 0xf9101010
cmp dl, byte [eax]
adc byte [eax], dl
inc ebp
popfd
jl 0x8060d8
xor al, 0x10
wait
xchg ebp, eax
sbb byte [eax], dl
adc byte [eax], dl
wait
test dword [eax + edx], ebx
adc byte [eax], dl
wait
popfd
add byte [eax], dl
adc byte [eax], dl
sar ecx, 1
adc byte [ebx + 0x10101895], bl
adc byte [ebx + 0x10101c85], bl
adc byte [ebx + 0x1010009d], bl
adc cl, dl
stc
adc ah, byte [ecx]
adc dl, byte [ebx + 0x1f5914d2]
xchg ebp, eax
in al, 0xef
out dx, eax
out dx, eax
dec ebp
rcr byte [eax + edx], cl
wait
pushfd
xor al, 0x14
adc byte [eax], dl
adc byte [eax - 0x1a], bh
daa
sbb dword [eax], edx
js 0x806094
aaa
daa
adc byte [ecx], dl
cmp al, 0x34
inc ecx
clc
adc eax, 0xf9101010
push ecx
adc dl, byte [eax]
adc byte [ebp - 0x63], al
jl 0x806121
adc bh, ch
sbb al, 0xef
sbb al, bh
bound edx, qword [eax]
adc byte [eax], dl
wait
lodsd eax, dword [esi]
sbb byte [eax], dl
adc byte [eax], dl
xchg ecx, eax
loope 0x80614e
outsd dx, dword [esi]
pop ebp
xchg dword [ecx + 0x5d6f4ce1], edx
xchg dword [ebx], esp
fldenv [ebx]
ret 0xf893
adc byte [esi - 0x65], dh
or al, 0x29
nop
jmp 0x80611e
clc
adc al, 0xf9
lodsd eax, dword [esi]
out dx, eax
out dx, eax
out dx, eax
cmp dword [ecx + ebp + 0x12], eax
xchg ebx, eax
rcl dword [esi]
xchg ebx, eax
cli
adc al, 0x93
clc
adc eax, 0xefefbbf9
out dx, eax
dec ebp
rcr byte [eax + edx], cl
inc ebp
wait
cld
inc esi
inc edi
inc ebp
wait
sbb al, 0x9b
insd dword es:[edi], dx
sbb ah, ch
mov byte [0x91169a90], al
salc
adc dword [eax], edx
adc byte [eax], dl
cwde
pop ss
xchg ecx, eax
xlatb
adc dword [eax], edx
adc byte [eax], dl
stosd dword es:[edi], eax
adc dl, byte [eax]
adc byte [eax], dl
adc al, dl
pop ds
xchg ebp, eax
adc eax, 0x9a101010
push es
push esi
add al, dl
pop ds
xchg ebx, eax
enter 0xffffffffffffefef, 0xffffffffffffffef
adc al, dl
pop ds
xchg ebp, eax
adc eax, 0x9a101010
push es
push esi
add al, dl
pop ds
xchg ebx, eax
jp 0x8061c3
adc byte [eax], dl
and edx, eax
adc al, dl
pop ds
xchg ebp, eax
adc eax, 0x9a101010
push es
push esi
add al, dl
pop ds
xchg ebx, eax
cmp dl, byte [ecx]
adc byte [eax], dl
adc al, dl
pop ds
xchg ebp, eax
adc eax, 0x9a101010
push es
push esi
add al, dl
add edx, eax
adc al, dl
pop ds
xchg ebp, eax
adc eax, 0x9a101010
push es
push esi
add al, dl
add edx, eax
adc al, dl
pop ds
xchg ebp, eax
adc eax, 0x9a101010
push es
push esi
add al, dl
add edx, eax
adc al, dl
pop ds
xchg ebp, eax
adc eax, 0x9a101010
push es
push esi
add al, dl
add edx, eax
pop ds
xchg esp, eax
push ss
adc byte [eax], dl
adc byte [ebx - 0x6537c431], bl
adc ebx, dword [eax + 0x12ab5717]
adc byte [eax], dl
adc cl, bh
pushal
out dx, eax
out dx, eax
out dx, eax
test al, 0x11
adc byte [eax], dl
adc byte [edx], dl
ret 0x951f
ret 0x931f