Function at 0x8de080
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x8de086
pop ebp
sub ebp, 6
sub ebp, 0x4de080
jmp 0x8de0e4
add byte [eax], dl
add byte [eax + eax], al
dec edi
adc byte [si], bh
enter 0xffffffffffff96fd, 0xffffffffffffff80
push es
adc edi, dword [ebp - 0x25da63b]
mov dh, 0x4a
shl ch, 1
add byte [eax], al
add byte [edx + 0x6b], dh
sub ah, byte [edx + 0x200f4e81]
fist dword [ebp + 0x6a56d85a]
mov ebx, dword [esi + 0x486ebe51]
fisub word [edx]
mov ebp, 0x77e2a302
loop 0x8de156
mov byte [esi - 0x10], bh
shl dword [edi - 0x17], 1
add al, 0
add byte [eax], al
adc al, dl
push esi
stc
jmp 0x8de0ed
mov eax, 0x4de080
add eax, ebp
add eax, 0x93
mov ecx, 0x627
add byte [eax], al
add byte [ecx + 0x627], bh
add byte [edx + 0x3d536fe0], bh
mov edx, 0x3d536fe0
xor byte [eax], dl
inc eax
dec ecx
adc byte [eax + 0x49], al
jne 0x8de104
invalid
jmp 0x8de117
mov ebx, 0x88a08aa3
mov ah, byte [eax - 0x1f0f1f78]
loopne 0x8de0a7
loopne 0x8de10c
loopne 0x8de0fe
mov al, ah
sub al, 0xcc
loopne 0x8de14d
int3
loopne 0x8de0f7
and byte [eax - 0x3e238ae1], dh
movsb byte es:[edi], byte [esi]
loopne 0x8de0dd
pop ds
jne 0x8de105
shl dword [eax + 0x6b2d6bb0], 0x69
mov al, 0x6b
sub eax, 0xe0dc696b
imul ebp, dword [0xe0dc696b], 0xffffffe0
loopne 0x8de197
imul ebx, esp, 0x61e0e0e0
fsubr st(0), st(0)
loopne 0x8de115
popal
and dword [eax], ebx
loopne 0x8de11a
loopne 0x8de11f
sub eax, 0xe0e0e658
loopne 0x8de19d
loopne 0x8de122
pop edx
enter 0xffffffffffffe0e0, 0xffffffffffffffe0
pop ss
add ah, bl
sub byte [ebx + 0x61], ch
imul esp, dword [ecx - 0x14], 0xffffffe0
in al, dx
loopne 0x8de130
loopne 0x8de131
loopne 0x8de135
jecxz 0x8de178
and eax, 0xd5cc88b0
jmp 0x4c3f6a3c
mov al, 0x88
int3
aad 0xe9
loopne 0x8de0e2
mov byte [ecx - 0x1e1f5bb5], dh
mov cl, 0x4b
movsb byte es:[edi], byte [esi]
loopne 0x8de140
loope 0x8de12c
int3
les ecx, [eax - 0x1f1f1f20]
or ch, ah
loopne 0x8de16f
in eax, 0xe0
loopne 0x8de14b
loopne 0x8de14a
loopne 0x8de175
or eax, ecx
loopne 0x8de14f
enter 0xffffffffffffe0e0, 0xffffffffffffffe0
mov ch, 0xb4
mov ebp, 0xe0e8656b
loopne 0x8de126
mov ah, 0xbd
imul esp, dword [ebp - 0x18], 0xffffffe0
call 0x6c6ec25a
loopne 0x8de159
loopne 0x8de1e5
imul esi, dword [ebp - 0x14], 0xffffffe0
loopne 0x8de15f
jne 0x8de168
loopne 0x8de15e
loopne 0x8de1eb
imul ebp, dword [ebp - 0x10], 0xffffffe0
loopne 0x8de165
insd dword es:[edi], dx
invalid
and dword [ecx], ecx
loop 0x8de15a
loop 0x8de1ee
and ah, ah
test eax, 0x1f1465ef
pop ds
pop ds
mov ebp, 0x6be0ec22
loopne 0x8de204
insb byte es:[edi], dx
invalid
loopne 0x8de17f
mov ah, cl
aad 0xe9
loopne 0x8de12d
mov cl, 0x4b
movsb byte es:[edi], byte [esi]
loopne 0x8de18b
int3
xchg edx, eax
popal
adc ebx, ebx
int 0x90
xchg edx, eax
shr dword [ecx], cl
popal
adc al, byte [ecx]
scasb al, byte es:[edi]
pop edx
movsb byte es:[edi], byte [esi]
popal
adc al, byte [ecx]
scasb al, byte es:[edi]
add dword [esi + 0x32d3a45a], ebp
pop edx
movsb byte es:[edi], byte [esi]
sal dword [edx], cl
arpl word [eax], cx
in eax, 0xa8
out dx, eax
scasb al, byte es:[edi]
loopne 0x8de1d0
loopne 0x8de1e1
push 0xe0e0e0a8
xchg byte [ebx - 4], ch
cld
fldenv [eax + 0x1b]
or bh, ch
cli
loopne 0x8de1e3
loopne 0x8de265
pushal
sbb ecx, dword [ecx]
out dx, eax
int1
loopne 0x8de1ec
loopne 0x8de194
popal
sbb ebx, dword [edi]
invalid
or ch, ah
or dword [ebx + 0x1f], ecx
pop ds
pop ds
mov ebp, 0xb5e0ec22
in al, dx
loopne 0x8de1f9
imul ecx, dword [esi + esi*4], 0xffffffb7
mov ch, 0x6b
xchg ebp, eax
in al, dx
imul ebx, dword [ebp + 0x60521ce8], 0x6a
or al, 0xb6
mov bh, 0xb5
imul edx, dword [ebp - 0x17629414], 0x1c
push edx
call 0x6aee346f
sbb al, 0x52
pushal
push 0xffffffffffffffe6
popal
out 0x61, al
loope 0x8de238
loopne 0x8de23a
push 0xe12761e7
loopne 0x8de241
loopne 0x8de2be
pop ebx
loop 0x8de245
loopne 0x8de247
loop 0x8de29b
out dx, eax
in eax, 0xe0
loopne 0x8de24e
loopne 0x8de24f
loopne 0x8de2da
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
arpl word [eax], di
mul byte [esi + 0x63ef32f2]
cmp byte [edi], bl
pop ds
pop ds
pop ds
loop 0x8de2ae
out dx, eax
in eax, 0xe0
loopne 0x8de262
loopne 0x8de2ed
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
mul byte [esi + 0x63ef32f2]
mov ah, al
loopne 0x8de26d
xor ch, bh
arpl word [edx - 0x2c1f1f20], cx
loopne 0x8de26c
loopne 0x8de261
shl dword [eax], cl
loop 0x8de2c3
and dl, ah
xor ch, bh
out dx, eax
in eax, 0xe0
loopne 0x8de277
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
xor ch, bh
arpl dx, cx
loope 0x8de281
loopne 0x8de285
xor ch, bh
in eax, 0xe0
loopne 0x8de28a
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
xor dh, bl
and dl, ah
xor ch, bh
in eax, 0xe0
loopne 0x8de299
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
and dl, ah
and dl, ah
xor ch, bh
in eax, 0xe0
in eax, 0xe0
loopne 0x8de2a8
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
and dl, ah
xor ch, bh
out dx, eax
in eax, 0xe0
loopne 0x8de2b7
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
and bh, ch
and bh, ch
out 0xe0, al
loopne 0x8de2c4
imul edi, dword [edi], 0xffffffcb
cmp byte [edx - 0x1d], ch
push 0xe25ba7e7
loopne 0x8de2d1
pop ebx
loop 0x8de2d0
loopne 0x8de2d2
loopne 0x8de2fc
or dword [eax + 0x581f1f1f], edx
nop
pop ds
pop ds
pop ds
pop eax
loope 0x8de2da
loopne 0x8de2dc
loop 0x8de330
out dx, eax
in eax, 0xe0
loopne 0x8de2e4
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
and dl, ah
xor ch, bh
loop 0x8de33f
out dx, eax
in eax, 0xe0
loopne 0x8de2f3
loopne 0x8de2f2
loopne 0x8de37e
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
mul byte [esi + 0x62ef32f2]
pop ds
out dx, eax
bound edi, qword [esi]
pop ds
pop ds
pop ds
retf
aam 0xe0
loopne 0x8de30b
pop ecx
loope 0x8de30e
loopne 0x8de310
loop 0x8de364
out dx, eax
in eax, 0xe0
loopne 0x8de318
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
sub edx, esp
xor ch, bh
loop 0x8de373
out dx, eax
in eax, 0xe0
loopne 0x8de327
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
xor ch, bh
bound edi, qword [esi]
pop ds
pop ds
pop ds
mov dh, 0x6b
pop ss
retf
out 0xa6, al
imul ecx, dword [eax], 0x59
loope 0x8de34b
loopne 0x8de34d
loop 0x8de3a1
out dx, eax
in eax, 0xe0
loopne 0x8de355
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
sub edx, esp
xor ch, bh
mul byte [esi + 0x29f332f2]
loop 0x8de3b0
out dx, eax
in eax, 0xe0
loopne 0x8de364
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
bound edi, qword [esi]
pop ds
pop ds
pop ds
popal
sbb al, ah
popfd
loopne 0x8de375
popal
cmp dword [edi], ebx
pop ds
pop ds
pop ds
popal
sbb al, ah
in eax, 0xe0
loopne 0x8de403
popal
cmp dword [edi], ebx
pop ds
pop ds
pop ds
popal
sbb byte [eax - 0x20], ah
loopne 0x8de38d
popal
xor eax, esp
loopne 0x8de392
loopne 0x8de415
sbb byte [eax - 0x20], ah
loopne 0x8de399
popal
xor eax, esp
loopne 0x8de39e
loopne 0x8de376
mov dh, 0x6b
pop ss
imul edx, dword [edi], 0xffffffcb
adc byte [ebx], dl
inc esp
mov esi, 0x1f1e7b09
retf
adc eax, dword [esi + edi*4 + 9]
jnp 0x8de3e8
pop ds
pop ds
push 0xffffffffffffffe6
cmpsb byte [esi], byte es:[edi]
out 0xa6, al
shr dword [ecx], cl
and byte [eax], cl
loope 0x8de3c4
cli
loopne 0x8de3b9
loopne 0x8de43c
xor edx, esp
loopne 0x8de3bf
loopne 0x8de44c
or byte [esi + 0x10cb176b], dh
adc eax, dword [esi + edi*4 + 0x5b]
loope 0x8de3cd
inc esp
mov esi, 0xe0e0e15b
loopne 0x8de3f9
loopne 0x8de3cf
or dword [ebx - 0x42e0e0e2], edx
retf
xchg ebx, eax
push ds
pop ds
pop ds
mov ebp, 0x6be89dcb
daa
mov edi, 0xbd056bbe
and ch, al
loopne 0x8de3c2
mov esi, 0xe0e0e409
loopne 0x8de3ed
aam 0x29
out dx, al
pop eax
pushal
add byte [ebp + 0x6125e3e0], ch
jecxz 0x8de439
popal
and byte [ebx - 0x1d], dl
loopne 0x8de3fa
pop ecx
out 0xe3, eax
loopne 0x8de3ff
pop edx
mov eax, ebx
sbb dword [edi - 0x30], 0xfffffff0
mov al, byte [0x1665efa9]
pop ds
pop ds
pop ds
or esp, esp
loopne 0x8de412
loopne 0x8de3d1
popfd
imul eax, dword [ecx - 0x21], 0x49badede
fidivr word [edx - 0x26f8fdb7]
mov byte [ecx - 0x749fb777], cl
jnp 0x8de469
add al, byte [edi]
invalid
salc
add al, byte [edi]
fisttp qword [eax + 0x60488989]
mov edi, dword [ebx + 0x2c]
salc
mov dword [ecx + 0x7b8b6048], ecx
sub al, 0xd6
xlatb
add dl, byte [edi]
mov ch, 0x89
mov dword [ecx - 0x2ac97926], ecx
mov edx, 0x4b08d38f
jno 0x8de3ef
mov dword [ecx + 0x72085f8a], ecx
mov dword [ecx + 0xd868989], ecx
xchg edx, eax
pop edi
or byte [edx - 0x77], dh
mov dword [ecx - 0x6df27977], ecx
mov dword [ecx + 0x2dedf89], ecx
ret