Function at 0x1027808
Capabilities:
Encode data using xor

Disassembly:
insb byte es:[edi], dx
xchg ebx, eax
wait
xchg esp, eax
nop
sub al, 0x48
pop ds
xor ebp, dword [esi + 0x6516ff02]
push ss
loopne 0x102780c
sbb byte [0xc90160d2], dl
fidivr word [ecx - 0xbf00278]
mov ch, bh
pmuludq mm1, qword [esi - 0x6f42c94b]
shl bl, 0xff
aaa
inc edi
movsb byte es:[edi], byte [esi]
fisubr dword [eax - 0xc]
inc esi
popfd
mov ch, 0xd5
aad 0x1f
inc esp
add edx, ebx
fsub st(2), st(0)
push esi
jnp 0x1027843
fcmovu st(0), st(4)
ljmp 0xd870
ljmp 0x7efe:0x201bd870
cmp ah, byte [edi - 0x60e7b291]
pop ecx
sbb dl, bh
or dword [esi + 0x45727bc3], 0xffffffe8
sbb eax, 0xf356ba16
mov edi, dword [edi + 0x5ea84c75]
cmpsd dword [esi], dword es:[edi]
outsd dx, dword [esi]
dec ebp
sbb byte [edi - 0x7c05e7a7], bl
mov es, ebx
jnp 0x10278c3
inc ebp
call 0x57bc8e74
mov edi, dword [edi + 0x5ea84c75]
jecxz 0x10278a5
sub dword [esi + 0x26165d67], edi
in al, 0xed
call 0x30e43c4d
mov eax, dword [0x214a81bb]
xor al, byte [ecx + edi*8 + 0x19]
clc
lodsd eax, dword [esi]
pop ss
inc ebp
push ebx
cmp ch, ah
pop ebx
insb byte es:[edi], dx
sbb ebp, dword [edx + 0x22]
shr dword [edi - 0x29], 1
pop edi
dec esi
stosd dword es:[edi], eax
xlatb
jno 0x1027882
cdq
push 0xffffffffffffffa4
lodsb al, byte [esi]
out dx, eax
adc dl, byte [ecx + ebx*8]
leave
pushal
sbb al, 0xb
mov dl, 0xee
test byte [ecx + 9], dl
stosd dword es:[edi], eax
xor al, 0xd3
and eax, 0x40ad2a0a
inc eax
adc eax, 0x7475baa5
sar byte [ebp + eax*8 - 0x30], 1
sbb eax, 0x398f4984
daa
jp 0x1027844
sbb eax, 0xee99a6e9
dec esi
aam 0x6b
adc byte [ecx], ch
xor byte [edi + 0x7c], 0xd
lahf
lodsb al, byte [esi]
pop ecx
invalid
ja 0x1027941
or eax, 0xc459ac9f
fst dword [ebp + 0x708578a7]
test dword [ecx - 0x60], esi
sub byte [ecx + 0x68], al
leave
pop dword [edx + 0x4a1bca9c]
inc ebx
sub al, 0xb2
neg al
adc bl, byte [eax + 0x26]
xor edi, dword [ebp - 0x210d8d31]
adc dl, bl
pop esi
sub al, 0xd2
mov dl, 0xce
rol dword [esi + 0x57], cl
fsub dword [edx + esi*8]
xchg edi, eax
mov al, 0x1f
enter 0xffffffffffff8a15, 0xffffffffffffffe8
xor ebx, dword [edx]
aad 0x30
mov al, 0xa4
jo 0x10278e2
xchg edi, eax
loop 0x10278bd
push esp
dec ebp
push esp
ret
xchg esp, eax
mov ss, ebp
or bh, byte [esp + 0x32]
call 0x6eb408b2
add al, 0xe0
push esi
leave
outsd dx, dword [esi]
lodsb al, byte [esi]
sub byte [ebx + 0x34], dh
jno 0x10278ed
dec edi
pop ds
movsd dword es:[edi], dword [esi]
int1
iretd
fld dword [esi]
pop edi
fdivr dword [ebx - 0x320be4b6]
salc
dec esp
push edi
out dx, eax
imul dh
or eax, edx
sbb dword [ebx + 0x5a], edi
std
pop ds
dec ecx
mov gs, word [ebx + 0x42]
mov al, 0xcc
add al, 0x7c
mov cl, 0xab
jl 0x1027911
stosd dword es:[edi], eax
wait
popal
jb 0x1027985
mov al, byte [0xb0c3a504]
push cs
mov al, 0x81
iretd
pop es
fldcw word [edi - 0x70]
lds edi, [edx - 0x4f]
xor edx, ebx
mov dword [edi - 0x45], esp
das
jae 0x10279e3
push ds
lds ecx, [ecx - 0x45]
xlatb
adc dword [edi + 0x6460fa87], ebx
push 0xb
push ss
ja 0x1027a04
sub dword [edi], 0xb
pop ss
jo 0x102795e
jb 0x10279a1
jge 0x1027964
stc
dec ebp
invalid
xchg esi, eax
cmp dword [esi], edx
test byte [edx], cl
or dl, byte [esi]
adc al, 0xf3
sbb dword gs:[ecx], 0x27ae3d5
mov dword [0x6c0664c0], eax
mov edx, 0x5f7ade9
and eax, 0xed860ca6
sbb edx, dword [ecx]
retf
adc ebx, ecx
dec eax
sbb eax, ecx
and dword [esi + 0x17441e45], 0x35
jmp 0x44c302a7