Function at 0x806190
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x806196
pop ebp
sub ebp, 6
sub ebp, 0x406190
jmp 0x8061f4
jmp 0x8061fd
mov eax, 0x406190
add eax, ebp
add eax, 0x93
mov ecx, 0x631
lds eax, [ecx + 0x93c0]
add byte [ecx + 0x631], bh
mov edx, 0x52e4b010
xor byte [eax], dl
inc eax
dec ecx
jne 0x806214
jmp 0x806227
jp 0x806279
js 0x80623b
add byte [eax], dl
adc byte [eax + 0x10], bh
fdivr qword [eax + edx]
xchg ecx, eax
loopne 0x806203
or al, 0x84
adc byte [ecx - 0x7bf33220], 0x80
and edx, eax
inc eax
out dx, eax
int 0xc
test byte [eax - 0x10bf2fdd], al
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 [ecx], dl
cmp al, 0x34
js 0x80628f
adc byte [eax], dl
adc al, bh
adc eax, 0xf9101010
cmp byte [eax], dl
adc byte [eax], dl
inc ebp
wait
cld
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 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 - 0x31], bh
sub dword [ecx], ebx
adc byte [eax - 0x60], bh
aaa
daa
adc byte [ecx], dl
cmp al, 0x34
inc ecx
clc
adc eax, 0xf9101010
das
adc dl, byte [eax]
adc byte [ebp - 0x65], al
cld
out dx, eax
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 0x806336
cmpsd dword [esi], dword es:[edi]
push edi
test dword [ecx + 0x57a74ce1], edx
test dword [ebx], esp
fldenv [ebx]
ret 0xf893
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 0x8063ab
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