Function at 0x8de0a8
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x8de0ae
pop ebp
sub ebp, 6
sub ebp, 0x4de0a8
jmp 0x8de10c
sahf
push ecx
mov esi, 0x22de486e
mov ebp, 0x77e2a302
mov byte [esi - 0x10], bh
shl dword [edi - 0x17], 1
add al, 0
add byte [eax], al
push cs
ljmp 0x4de0
jmp 0x8de115
mov eax, 0x4de0a8
add eax, ebp
add eax, 0x93
mov ecx, 0x61f
test al, 0xe0
dec ebp
add byte [ebx], al
lds eax, [ecx + 0x93c0]
add byte [ecx + 0x61f], bh
pop ds
push es
add byte [eax], al
mov edx, 0x899cb77c
xor byte [eax], dl
inc eax
dec ecx
jne 0x8de12c
invalid
jmp 0x8de13f
push ss
cmp al, 0x14
jl 0x8de1b0
jl 0x8de1c2
adc al, 0x7c
mov al, 0x50
jl 0x8de19b
mov esp, 0x40e9832c
pop ebp
cmp byte [esp + ebp - 9], bh
mov cl, 0xf7
cmc
inc eax
jl 0x8de1d8
jl 0x8de1d9
jl 0x8de15b
std
mov ebp, 0x7c7c7c84
jg 0x8de116
les edi, [edx + 0x7c]
jl 0x8de1e6
invalid
push esp
jl 0x8de1ea
jl 0x8de0fb
sahf
jg 0x8de127
idiv ebp
jo 0x8de1f3
jl 0x8de1f5
jg 0x8de134
sub al, 0x14
and ecx, dword [ecx + 0x75]
jl 0x8de196
xor eax, 0x7d7c38d7
push eax
pop eax
adc al, 0x7c
jl 0x8de209
jl 0x8de123
jns 0x8de20d
jl 0x8de20f
xchg ebp, eax
push esp
jl 0x8de213
jl 0x8de214
jl 0x8de1c2
sub edi, esi
nop
not dword [eax + 0x7c74f9f7]
idiv ecx
je 0x8de21b
jl 0x8de21d
imul ecx
jo 0x8de221
jl 0x8de223
div ecx
insb byte es:[edi], dx
jl 0x8de228
jl 0x8de16b
xchg ebp, eax
jle 0x8de1fe
dec ebp
jle 0x8de1b2
invalid
mov esi, 0xf9733578
mov byte [ebx - 0x41de7c7d], al
jo 0x8de23c
div eax
pop eax
js 0x8de241
jl 0x8de243
adc al, 0x23
dec ecx
jne 0x8de248
adc al, 0x35
xlatb
cmp byte [ebp + edi*2 + 0x50], bh
pop eax
sub eax, 0x7c7c7994
jl 0x8de256
jl 0x8de170
xchg ebp, eax
dec ecx
jle 0x8de25a
jl 0x8de209
int1
adc byte [eax + 0x7c], bl
or dword [ecx], 0x70
pop eax
jl 0x8de168
or dword [eax - 0x7d], esi
jo 0x8de16b
or dword [ecx], 0x74
or dword [esp + edx*4 + 0x1a], esi
jl 0x8de26a
xchg esp, eax
sbb bh, byte [esp + edi*2 + 0x7c]
test ecx, 0x7c7c7c74
jl 0x8de1e7
sal dword [esp + edi*2 + 0x7c], 0x7c
jl 0x8de271
dec edi
mov ch, 0x4f
scasb al, byte es:[edi]
call dword [ecx + edi*2 + 0x32f87334]
jl 0x8de27e
clc
xor bh, byte [esp + edi*2 + 0x7c]
jae 0x8de1f9
jl 0x8de277
hlt
xor al, 0x7c
jl 0x8de285
sbb dh, bh
pushal
inc ebp
mul dword [eax + 0x45]
cld
xchg dword [ebx + esi*2 + 0x7c7c66f8], edx
xchg esp, eax
jae 0x8de20a
jl 0x8de291
jl 0x8de291
jl 0x8de292
jl 0x8de213
cld
xchg dword [ebp + 0x7c6df873], edx
insd dword es:[edi], dx
jl 0x8de29a
jl 0x8de29b
jl 0x8de23a
sbb bh, ch
std
xchg dword [ebx + 0x69f87359], eax
jl 0x8de2a5
pop ecx
jae 0x8de21e
imul edi, dword [esp + edi*2 + 0x7c], 0x83b0953d
jl 0x8de2a6
jl 0x8de268
cmp eax, 0x8383b095
adc dword [ebp + 0x30], 0x45
jge 0x8de234
xchg ebp, eax
mov al, 0x83
add dword [ebx + 0x7d453055], 0xffffffff
invalid
mov ebp, 0x7894ff79
xchg ebp, eax
rol dword [ebx + 0x28558383], 0x45
add dword [ebx + 0x45285583], 0x7e
inc ebp
jle 0x8de243
invalid
mov ebp, 0x7896ff7a
js 0x8de249
call dword [ecx + edi*2 - 0x7c7c286b]
and dword [ecx], 0xffffffbe
jo 0x8de2d1
xchg esp, eax
jns 0x8de1e2
xlatb
add dword [ebx + 0x70be2183], 0x7c
sub edi, esi
nop
sub ch, byte [ebx]
not dword [eax - 0x8d6d4d6]
sub edi, esi
or dword [eax - 9], esi
add dword [eax + eax*4 - 0x32], esi
cld
idiv byte [edx - 3]
mov edx, 0x7c7c7c7d
jge 0x8de2e6
jl 0x8de2e8
hlt
jl 0x8de2ef
jl 0x8de23c
jle 0x8de2f3
jl 0x8de2f4
jl 0x8de2f5
jl 0x8de2f8
jle 0x8de229
scasb al, byte es:[edi]
jae 0x8de276
jns 0x8de2fb
jl 0x8de2fc
jl 0x8de2fd
jl 0x8de278
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
jae 0x8de287
jmp dword [ebx + eax*4 - 0x51817c7d]
movsb byte es:[edi], byte [esi]
add dword [ebx + 0x73ae7e83], 0xfffffff9
cmp dword [esi - 0x52], 0x73
stc
jns 0x8de30e
jl 0x8de30f
jl 0x8de310
jl 0x8de28b
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
jae 0x8de29a
call dword [esi]
push ss
jl 0x8de31a
jl 0x8de2ef
mov esp, 0xf973ae7e
jns 0x8de323
jl 0x8de324
jl 0x8de325
jl 0x8de2a0
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
jae 0x8de2af
call dword [esi + 0x7d]
jl 0x8de330
push esi
jge 0x8de32f
jl 0x8de333
jle 0x8de264
scasb al, byte es:[edi]
jae 0x8de2b1
jns 0x8de336
jl 0x8de338
imul byte [edx + 0x3a]
outsb dx, byte [esi]
scasb al, byte es:[edi]
cmp ch, byte [esi - 0x52]
outsd dx, dword [esi]
mov esp, 0xf973ae7e
jns 0x8de345
jl 0x8de347
imul byte [edx + 0x3a]
outsb dx, byte [esi]
scasb al, byte es:[edi]
outsd dx, dword [esi]
mov esp, 0xf973ae7e
jns 0x8de354
jl 0x8de356
imul byte [edx + 0x3a]
outsb dx, byte [esi]
scasb al, byte es:[edi]
outsd dx, dword [esi]
mov esp, 0xf973ae7e
jns 0x8de363
jl 0x8de364
jl 0x8de365
jl 0x8de2e0
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
outsd dx, dword [esi]
mov esp, 0x7c7af873
clc
jp 0x8de370
jl 0x8de371
jl 0x8de372
jl 0x8de2ee
mul dword [ebx + 0x7ff6a457]
mov dword [0x7ff6a457], eax
push edi
movsb byte es:[edi], byte [esi]
idiv byte [edi - 0xc]
jg 0x8de2f1
hlt
jnp 0x8de33a
invalid
jl 0x8de29a
or al, 0x83
add dword [ebx + 0x7c7c7dc4], 0x7c
jl 0x8de389
jl 0x8de38d
jle 0x8de2be
scasb al, byte es:[edi]
jae 0x8de30b
jns 0x8de390
jl 0x8de392
imul byte [edx + 0x3a]
outsb dx, byte [esi]
scasb al, byte es:[edi]
outsd dx, dword [esi]
mov esp, 0xf973ae7e
jns 0x8de39f
jl 0x8de3a1
jl 0x8de31c
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
jae 0x8de32a
mov byte [0x57838383], al
adc dword [edi - 0x41], 0xffffffc7
push edi
mov edi, 0x7c7c7dc7
invalid
jge 0x8de3b1
jl 0x8de3b3
jl 0x8de3ab
jae 0x8de332
stc
dec eax
jl 0x8de3b8
jl 0x8de303
jge 0x8de3bc
jl 0x8de3bd
jl 0x8de3be
jl 0x8de3c1
jle 0x8de2f2
scasb al, byte es:[edi]
jae 0x8de33f
stc
jns 0x8de3c4
jl 0x8de3c5
jl 0x8de3c6
jl 0x8de341
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
outsd dx, dword [esi]
mov ch, 0x7e
scasb al, byte es:[edi]
jae 0x8de34e
stc
jns 0x8de3d3
jl 0x8de3d4
jl 0x8de3d5
jl 0x8de350
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
jae 0x8de35e
mov byte [0x2a838383], al
sub dword [edx], 0xfffffff7
sub dh, bh
test dword [ebx - 0x277076a9], 0x83749522
mov edx, dword [edi - 0x77]
invalid
xchg ebp, eax
je 0x8de2f2
add dword [ebx + 0x749cbd34], 0xfffffff6
xor dword [edi*4 + 0x7af6749c], 0x3a
xor al, 0xbd
pushfd
je 0x8de36c
mov ebp, 0x7af6749c
cmp dh, bh
xchg esp, eax
lds edi, [ebp + 0x7c]
jl 0x8de3fb
jp 0x8de3b2
not dword [ebp + eax*8 + 0x7c7c7c7d]
jl 0x8de3fa
jl 0x8de3fe
jle 0x8de32f
scasb al, byte es:[edi]
jae 0x8de37c
jns 0x8de401
jl 0x8de403
imul byte [edx + 0x3a]
outsb dx, byte [esi]
cmp ch, byte [esi - 0x52]
scasb al, byte es:[edi]
outsd dx, dword [esi]
mov ch, 0x7e
scasb al, byte es:[edi]
jae 0x8de38b
jns 0x8de410
jl 0x8de412
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
jae 0x8de39b
mov byte [0xfd838383], al
add dword [ebx + 0x17c84fd], 0x7c
std
test byte [ecx + eax + 0x7c], bh
jl 0x8de423
jl 0x8de3a5
std
movsd dword es:[edi], dword [esi]
add dword [ebx - 0x7b027c7d], 0x7c
jns 0x8de42e
add dword [ebx + 0x797c84fd], 0x7c
jl 0x8de42f
jl 0x8de3b1
std
movsd dword es:[edi], dword [esi]
add dword [ebx - 0x7b027c7d], 0xfffffffc
cmp ebp, 0xffffff84
cld
jl 0x8de43a
jl 0x8de43b
jl 0x8de3bd
std
lodsd eax, dword [esi]
jl 0x8de43f
jl 0x8de441
jl 0x8de3c3
std
test ah, bh
jl 0x8de446
jl 0x8de447
jl 0x8de3c9
std
lodsd eax, dword [esi]
jl 0x8de44b
jl 0x8de44d
sub dh, bh
mov edx, dword [edi - 0x74]
invalid
push edi
mov word [edi - 0x186add28], cs
add byte [ebx + 0x3a7af683], 0x4f
mov ch, 0xbc
xchg esp, eax
jge 0x8de45a
fsub dword [edx]
xchg ebp, eax
out 0x82, eax
add dword [ebx + 0x4f3a7af6], 0xffffffb5
mov esp, 0xf8737d94
clc
jl 0x8de467
jl 0x8de468
jl 0x8de3ea
std
lodsd eax, dword [esi]
jle 0x8de46c
jl 0x8de46e
not dword [edx + ebp - 0x73a87409]
invalid
mov word [edi + 0x7dc722d8], cs
fsub dword [edx]
invalid
and al, bh
jge 0x8de47b
jl 0x8de47c
jl 0x8de47d
jl 0x8de397
xchg ebp, eax
jb 0x57af678b
add byte [ebx + 0x1572183], 0x74
idiv dword [ebx - 0x6608dddd]
add dword [edi + esi*8 - 0x45], esi
and esp, dword [edx]
neg dword [ecx + 0x7c74be21]
cdq
and dword [esi + 0x22237c74], edi
je 0x8de490
and esp, dword [edx]
xchg ebp, eax
js 0x8de495
jl 0x8de497
sal dword [ebx + ebp*8 - 0x632b3b68], cl
xor dword [edi + edi*2 - 0x47], edi
std
mov esp, 0x7c7c7fe1
jl 0x8de4a4
mov ecx, 0x7fe1bcfd
jl 0x8de4a8
lds ebp, [ecx + 0x7f]
jg 0x8de4ac
jl 0x8de4ad
jl 0x8de3f8
invalid
dec ecx
loope 0x8de40f
or dword [esp + ebp*2 + 0x3c], 0x35
jae 0x8de435
stc
mov al, byte [ebx + 0x78958383]
jl 0x8de4c0
adc dword [ebp + 0x7c7c7c78], 0x39
js 0x8de4bf
jl 0x8de4c1
jl 0x8de47f
cmp edx, esp
loop 0x8de400
mov eax, 0x1e1e1f36
pop ds
push ds
push ds
jp 0x8de3d7
mov edx, eax
invalid
ret 0x19c7
ret 0x1dc7
ret 0x75d7
xlatb
jne 0x8de4b4
dec ecx
dec ecx
sbb al, byte [esi - 0xa]
adc eax, 0xc8134f7a
inc esi
not byte [0xc8134f7a]
mov esi, dword [ecx + 0x4a494949]
lahf
enter 0x49b2, 0x49
mov dl, 0x49
dec ecx
dec ecx
dec ecx
inc esi
int 0x56
dec ecx
dec ecx
dec ecx
pop ds
push ds
into
cwde
ret 0x5918
cwde
dec edx
xor eax, dword [ebp + 0x4a]
cmp ebx, dword [ebp - 0x45]
in eax, dx
push ss
pop ss
enter 0x618b, 0x49
mov ebx, 0xc81716ed
mov esp, dword [ecx + 0x49]
dec ecx
dec ecx
add ah, byte [eax - 0x49494964]
and dword [ecx + 9], ecx
dec ecx
dec ecx
mov dh, 0xb6
mov dh, 0x21
dec ecx
or dword [ecx + 0x49], ecx
and dword [ecx - 0x7b], ecx
dec ecx
dec ecx
test dword [ebp + 0x49], esp
pop ds
mov dh, 0xdc
or dword [eax + 0xd], ebp
dec ecx
into
mov bh, 0xce
mov esi, 0xce753ec2
into
mov esi, 0xe97ef5c2
dec ecx
dec ecx
dec ecx
dec edx
mov bh, 0x1f
adc cl, al
mov byte [0x49094949], al
ret 0x491e
ret 0x7ef5