Function at 0x8f5250
Capabilities:
Encode data using xor

Disassembly:
or eax, eax
dec di
neg di
ror al, 0xc1
xor si, di
dec eax
and eax, eax
ja 0x8eb06a
dec eax
adc edi, esp
dec eax
neg eax
mov eax, dword [edi + eax*2 + 0xf1839ca]
jbe 0xcd89b7
pushal
mov ebx, 0x9ac1e05a
mov bh, 0xd
and al, 0x7f
bound ebx, qword [eax - 0x5f]
not dx
not ax
and dx, ax
mov word [esi], dx
call fcn.00824db6
mov eax, 0xf19ccb0
rol eax, 0x9e
dec ebp
lea edi, [edi + eax - 0x3c6732e]
movzx edi, al
add edi, eax
inc ecx
movzx edi, word [edi + eax*4 - 0xf19ccb0]
dec eax
add eax, eax
jno 0xd48d19
ja 0x8f52dd
inc ecx
ja 0x8f52ca
lcall 0x72ce, 0x103e65a2
rol cl, 0x9f
lahf
outsd dx, dword [esi]
pop eax
jecxz 0x8f522d
or esi, dword [ecx + ebp*2 + 0x57]
jle 0x8f5305
inc ebx
scasb al, byte es:[edi]
jmp 0x8f5311
invalid
mul byte [ecx - 0x6f]
lodsd eax, dword [esi]
das
sub dword [edx + 0xf28d147], esi
sub byte [edi], cl
mov eax, 0x9c6a1073
pop ds
cli
sbb bh, byte [0xc59f3957]
pop ss
mov byte [0xe16cbe29], al
popal
insb byte es:[edi], dx
loope 0x8f5341
xor edx, 0x1e5d608a
js 0x8f52c1
in eax, dx
dec esi
jge 0x8f52ec
or byte [eax + 0x49], bh
jg 0x8f52af
xchg esp, eax
mov bh, 0xfa
das
mov eax, dword [0xe6ead7b3]
xor dword [ebx - 0x16], ebx
inc ecx
ret
invalid
sti
iretd
push ecx
and dword [ebp - 0x1a], esi
add bl, byte [eax - 0x2f7b1152]
xchg bh, al
and ch, dl
int3
call fcn.00926646
add byte [eax], al
push ecx
jne 0xcd8a26
jb 0xcd8a3c
push eax
jb 0xcd8a2d
outsd dx, dword [esi]
jb 0xcd8a37
popal
outsb dx, byte [esi]
arpl word [ebp + 0x46], sp
jb 0xcd8a36
jno 0xcd8a48
outsb dx, byte gs:[esi]
arpl word [ecx], di
xchg ecx, eax
std
neg dword [esi - 0x17f0318f]
loope 0xcd8a52
call 0x1236ad13
sbb al, byte [edx + 0x62]
dec eax
imul edx, dword [ecx], 0x4862421a
outsb dx, byte [esi]
and ebp, dword [eax + 0x32a0461b]
inc edx
add byte [esi - 0x67], dl
xor al, byte [edx]
push esi
cdq
cmp byte [edi], bl
cmp bh, 0xd2
add eax, 0x4166b2c9
mov dl, 0x66
inc ecx
mov byte [esi - 0x41], ah
mov ebx, dword [ebp + 0x7a]
xor byte [esi + 0x2d], cl
pushal
lcall 0xc59e, 0x6e164548
js 0xcd8ad6
dec esi
sub eax, 0x45489a60
push ss
outsb dx, byte [esi]
sahf
lds edi, [eax + 0x78]
sahf
invalid
dec ebp
jecxz 0xcd8b23
push edx
mov esp, 0x54e194fc
xchg esp, eax
loope 0xcd8b2d
cwde
jecxz 0xcd8b2b
push cs
aas
adc cl, dl
push 0x7d
adc al, 0xf2
and al, 0x13
xor eax, 0x3ddfe145
inc esi
push esp
xchg esp, eax
test cl, al
or dword [ebp - 0x50], esp
je 0xcd8b20
mov ax, 0xced6
mov bh, 0x61
and eax, dword [eax - 0x61]
or dword [ebx], ebp
popal
jae 0xcd8b32
ror dword [si - 0x4c37], 1
inc ebx
push esi
mov byte [esi + 0x14], bh
dec ebx
sub byte [edx - 0x716d2d12], cl
test byte [0x689f429], al
invalid
sbb eax, 0xe8a7fdd6
enter 0xffffffffffffc4e2, 0xffffffffffffffe8
cmpsd dword [esi], dword es:[edi]
call 0xe9926df1
movsd dword es:[edi], dword [esi]
jb 0xcd8ad0
movsb byte es:[edi], byte [esi]
inc bh
mov bh, 0x4f
inc edx
xchg esp, eax
invalid
jp 0xcd8b0a
mov ch, 0x17
pop ebp
adc byte [eax + edi], 0x43
mov ax, 0xb009
sub esi, ebx
loopne 0xcd8b67
push eax
pop es
xor eax, 0x93e02440
invalid
add ecx, edi
inc esi
sbb dword [ebp - 0x6d], ecx
push ss
dec edx
adc dh, byte [edx]
xchg ebp, eax
fsub st(6), st(0)
sbb byte [ebx - 0x50c6441f], bh
js 0xcd8bdf
push ds
fadd qword [edx + 0x16]
pop edi
adc byte [edx], bl
jmp 0xcd8b9c
leave
daa
or ebp, edi
xchg byte [eax - 0x597388f3], ah
jecxz 0xcd8b9b
cmpsd dword [esi], dword es:[edi]
inc ebx
inc edx
push ss
cmp ebx, ecx
fyl2xp1
stc
popal
mov eax, dword [0xd0497b0d]
jnp 0xcd8bad
movsd dword es:[edi], dword [esi]
jo 0xcd8bf8
add eax, 0x8ffe1693
lds edx, [ebp + 0x7bc1b8dc]
jmp 0x434b0eb8
loopne 0xcd8bac
scasd eax, dword es:[edi]
leave
jne 0xcd8be5
pop esi
mov eax, dword [0x420d1693]
or byte [ebx - 0x78], al
das
xlatb
fisubr dword [edx]
inc esp
cmp cl, bh
sub al, byte [eax + edi - 7]
aam 0x78
cmp eax, 0x123bff5
dec ebx
xchg bh, ah
xchg esp, eax
test eax, 0x4f45af59
dec edi
into
loop 0xcd8bd3
mov cl, 0x66
cmp al, byte [ebx]
push cs
dec ebp
sub dl, cl
pop ebp
push ds
scasb al, byte es:[edi]
inc edi
clc
lcall 0x30e, 0xd5450378
sbb al, 0x3f
adc cl, byte [esi + 0x429777b9]
adc ebx, dword [eax + edx*8]
jle 0xcd8c3f
add eax, 0xf883dba6
out 0xf8, eax
and edx, dword [edx]
ret
add cl, ch
push ss
scasb al, byte es:[edi]
invalid
xor di, si
ror di, 1
shr ax, 0xa3
xor di, 0x227
jmp 0x8a30d9