Function at 0xdcdf8c
Capabilities:
Encode data using xor

Disassembly:
int1
lodsd eax, dword [esi]
cli
push esp
push 0x915ddbd1
in eax, dx
xor byte [0x95c06dc7], bl
cmp byte [ebx], cl
dec edx
test dword [ecx], 0xb6eeca89
mov byte [eax], al
add byte [eax], al
jmp 0xdcdf96
pushal
call 0xdcdf9c
pop ebp
sub ebp, 0x10
sub ebp, 0x9cdf8c
jmp 0xdcdfb2
mov eax, 0x9cdf8c
add eax, ebp
add eax, 0x4c
mov ecx, 0x5c4
mov edx, 0x11656b87
imul esp, dword [ebp + 0x11], 0x30
adc byte [eax + 0x49], al
xor byte [eax], dl
inc eax
dec ecx
jne 0xdcdfc9
jmp 0xdcdfdc
or al, 0x4a
or al, 0xe
mov ebx, 0x6878787
inc esi
jg 0xdcdf6f
xchg dword [edi - 0x7fc0b57c], eax
xchg dword [edi - 0x7850c279], eax
xchg dword [edi + 0x4f846570], eax
or al, 6
mov eax, dword [edi + 0x42848787]
xlatb
xlatb
out dx, eax
aas
wait
cmpsd dword [esi], dword es:[edi]
xchg edi, ebp
push esi
inc ebp
sti
xchg dword [esi + 0x30efa3ab], eax
mov dl, 0x31
movq mm0, qword [edx + 0x6e878787]
test eax, 0xa878787
jecxz 0xdcdfc6
jnp 0xdce033
stosd dword es:[edi], eax
mov dword [0x20cdad3], eax
pop dword [edi + 0x120c8787]
mov eax, dword [edi + 0xa0c8787]
xchg dword [edi - 0x7868f5f4], eax
xchg dword [edi - 0x497a91ba], eax
test dword [eax*2 + 0x288ce83], eax
or al, 0xa
xchg edi, eax
xchg dword [edi - 0x7a91b979], eax
mov dh, 0x85
add al, 0x45
or esi, 0xffffff88
add dh, byte [ebx + 0x78]
inc esi
outsb dx, byte [esi]
test dword [esi - 0x7cbafb7b], esi
into
mov byte [edx], al
jae 0xdce0c0
js 0xdce0c2
fiadd dword [ebp - 0x75]
xchg dword [ebx + ecx], ecx
mov dword [0x87878783], eax
out dx, eax
aas
wait
cmpsd dword [esi], dword es:[edi]
xchg edi, ebp
push esi
inc ebp
sti
xchg dword [esi + 0x6fd6a3ab], eax
add byte [edi - 0x3d917879], 0x85
xchg dword [edi + 0x7ba3e30a], eax
push cs
stosd dword es:[edi], eax
mov dword [0xf278dad3], eax
mov edi, dword [eax - 0xe]
invalid
cmc
xchg dword [edi - 0x70c5f379], eax
xchg dword [edi + 0x32760687], eax
jecxz 0xdce035
jle 0xdce094
jbe 0xdce0c2
jecxz 0xdce03b
jle 0xdce048
dec esi
mov ah, 0x55
add al, 0x6f
or bh, 0x88
add ecx, ecx
xchg dword [edi - 0x30f07779], eax
xchg dword [edi - 0x64f31e79], eax
mov esi, 0x886f7c07
add ebx, dword [ebp + 0x7878787]
jl 0xdce125
popfd
xchg dword [edi + 0x6e7c0787], eax
mov byte [ebx], al
xchg esi, eax
xchg dword [edi + 0x7c06e187], eax
js 0xdce064
mov byte [ebx], al
xchg edx, eax
xchg dword [edi + 0x4b6ec687], eax
js 0xdce145
js 0xdce07d
retf
add al, 0x5f
js 0xdce1a1
js 0xdce0b0
push ebp
mov byte [edx], al
add byte [edi - 0x6ef27879], 0xc1
xchg ebp, eax
push ebp
mov byte [ebp*8 - 0x4b787879], al
inc edi
test dword [ebp - 0x78], edx
add al, byte [edx + 0xd878787]
xchg ecx, eax
rcl dword [ebp - 0x52fb77ab], 0x86
xchg dword [edi + 0x2885585], eax
xchg dword [edi - 0x6a3e6ef3], eax
push ebp
mov byte [ebp*4 - 0x7a78787a], al
push ebp
mov byte [edx], al
add byte [edi - 0x6ef27879], 0xc1
xchg ebp, eax
push ebp
xchg esp, eax
inc edi
test dword [ebp - 0x78], edx
add al, byte [edx + 0xd878787]
xchg ecx, eax
rcl dword [ebp - 0x7ab86bab], 0x55
mov byte [edx], al
add byte [edi - 0x6ef27879], 0xc1
xchg ebp, eax
push ebp
xchg esp, eax
inc edi
test dword [ebp - 0x78], edx
add al, byte [edx + 0xd878787]
xchg ecx, eax
rcl dword [ebp - 0x77b86bab], 3
add dword [edi + 0x580c8787], 0x840d5fac
jo 0x88621e60
xchg dword [edi + 0x7878f76e], eax
xchg dword [esi - 9], ebp
js 0xdce21e
js 0xdce1e7
xchg byte [edi + 0x55858787], al
mov byte [edx], al
add byte [edi - 0x6ef27879], 0xc1
xchg ebp, eax
push ebp
xchg esp, eax
inc edi
test dword [ebp - 0x78], edx
add al, byte [edx + 0xd878787]
xchg ecx, eax
rcl dword [ebp + 0x59058855], 0x78
js 0xdce246
add eax, 0x78787859
lodsb al, byte [esi]
inc esp
cmp al, 0x86
xchg dword [edi - 0x4cfd7779], eax
xchg dword [edi - 0x7879c179], eax
xchg dword [edi + 0x2885585], eax
add byte [edi - 0x6ef27879], 0xc1
mov byte [edx], al
mov bl, 0x87
xchg dword [edi - 0x787879c2], eax
xchg dword [ebp - 0x7dfd77ab], eax
xchg dword [edi - 0x3e6ef279], eax
xchg dword [0x5595c191], ecx
xchg ebp, eax
push ebp
xchg esp, eax
dec esi
test dword [ebp - 0x78], edx
add al, byte [edx + 0xd878787]
xchg ecx, eax
rcl dword [ebp + 0x59058855], 0x78
js 0xdce27a
ror dword [eax + esi*2], 1
lodsb al, byte [esi]
jb 0xdce27c
and ebx, ecx
outsb dx, byte [esi]
invalid
push ebp
mov byte [edx], al
add byte [edi - 0x6ef27879], 0xc1
xchg ebp, eax
push ebp
xchg esp, eax
dec esi
test dword [ebp - 0x78], edx
add al, byte [edx + 0xd878787]
xchg ecx, eax
rcl dword [ebp + 0x59058855], 0x78
js 0xdce2b7
push es
jg 0xdce1c9
cli
xchg dword [edi + 0x78785e06], eax
pop esi
js 0xdce2c1
js 0xdce2c3
push es
jg 0xdce1d5
add byte [edi + 0x785e0687], 0x78
js 0xdce2cf
push es
jg 0xdce261
xchg dword [edi - 0x78a9f979], eax
xchg dword [edi + 0x77f0687], eax
xchg dword [edi - 0x78a9f979], eax
xchg dword [edi + 0x700cd187], eax
lodsb al, byte [esi]
xchg dword [edi - 0x7878a9fa], eax
xchg dword [edi - 0x78f880fa], eax
xchg dword [edi - 0x7878a9fa], eax
xchg dword [edi - 0x538ff32f], eax
ja 0xdce2e9
and ebx, ecx
outsb dx, byte [esi]
sbb al, 0x79
js 0xdce2f4
or eax, 0x4eb4c181
inc edi
outsd dx, dword [esi]
xchg byte [eax - 0x787862fd], cl
xchg dword [esi], eax
push esi
test dword [edi + 0x6f0c8787], eax
ror dword [eax + esi*2], 1
lodsb al, byte [esi]
ja 0xdce30c
and ebx, ecx
cmp al, 0x86
xchg dword [edi + 0x79f46e87], eax
js 0xdce31c
fisubr dword [edx + edi*8 - 0x27bff371]
invalid
inc ebp
pop dword [edi + 0xaa3bb0c]
jecxz 0xdce25b
mov dword [0x836ed983], eax
xchg dword [edi + 0x2d146987], eax
sbb ecx, 0x6e
add dword [edi + 0x14698787], 0x2d
sub eax, 0x580b3f8b
sbb eax, dword [edi + 0x47064284]
fiadd dword [edi + eax*4 - 0x7acbc179]
mov edi, dword [edi]
aas
or ebx, dword [eax + 0x1b]
xchg dword [edx + eax*2 - 0x7b25b8fa], eax
xchg dword [edi - 0x787acbc2], eax
xchg dword [0xb29ec9db], edi
mov bh, 0x97
xchg dword [esi], edi
xor al, 0x85
xchg dword [edi - 0x613624c3], eax
fcmovne st(0), st(1)
sahf
mov dl, 0xb7
xchg edi, eax
invalid
jo 0xdce2af
iretd
pop esp
sub al, 0x50
in al, dx
jnp 0xdce2d6
fcmovnu st(0), st(3)
fcmovnu st(0), st(0)
and eax, 0x4ddb8556
fcmovnu st(0), st(3)
fsub dword [0x4ddb8556]
push eax
stosd dword es:[edi], eax
out 0x4d, eax
push eax
pop edi
jmp 0xdce2fa
fcmovnu st(0), st(3)
lock add edx, dword [eax - 0x74]
fist dword [eax - 0x6c]
fistp word [edx + 0x21]
fcmovnu st(0), st(3)
fcmovnu st(0), st(3)
aam 0x5f
popfd
fcmovnu st(0), st(3)
fcmovnu st(0), st(0)
or eax, 0xdbd31c5a
fcmovnu st(0), st(3)
pop edx
xor dl, bl
fcmovnu st(0), st(3)
fistp dword [edx + 0x22]
fcmovnu st(0), st(3)
fcmovnu st(0), st(3)
aam 0x5f
invalid