Function at 0xdecc74
Capabilities:
Encode data using xor

Disassembly:
jmp 0xdecc7e
pushal
call 0xdecc84
pop ebp
sub ebp, 0x10
sub ebp, 0x9ecc74
jmp 0xdecc9a
mov eax, 0x9ecc74
add eax, ebp
add eax, 0x4c
mov ecx, 0x5c4
mov edx, 0xa3564d7d
xor byte [eax], dl
inc eax
dec ecx
jne 0xdeccb1
jmp 0xdeccc4
div byte [eax + 0x7d41f4f6]
jge 0xdecd49
cld
mov esp, 0x7d7d7d85
jle 0xdecc84
lds edi, [esi + 0x7d]
jge 0xdecd56
invalid
jge 0xdecdc8
adc eax, 0x7d5f5039
adc eax, 0x7d01e24d
jl 0xdecda8
push ecx
pop ecx
lock sbb dword [ecx - 0x7f], ebx
hlt
jge 0xdece27
std
xchg byte [edx + esi*2 + 0x7d7d6cf9], dl
jge 0xdecdcf
cld
xchg byte [edx + 0x68f97258], al
jge 0xdece3a
jge 0xdecdfb
xchg esp, eax
mov cl, 0x82
add byte [edx + 0x7c443154], 0xfe
mov esp, 0x7995fe78
xchg esp, eax
invalid
rol byte [edx + 0x29548282], 0x44
jg 0xdecdd6
mov esp, 0x7997fe7b
invalid
or edi, 0xfc7bf7fd
mov ebx, 0x7d7d7d7c
cmc
iretd
jge 0xdecdfc
jp 0xdece05
mov edx, 0x7d7d7d7c
invalid
movsd dword es:[edi], dword [esi]
add byte [edx + 0x72af7f82], 0xf8
scasd eax, dword es:[edi]
jb 0xdece22
js 0xdecea9
jge 0xdeceab
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
jb 0xdece33
pop ss
jge 0xdeceb5
jge 0xdece88
mov ebp, 0xf872af7f
js 0xdecebe
jge 0xdecec0
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
jb 0xdece48
push edi
jl 0xdececa
jge 0xdecece
scasd eax, dword es:[edi]
jb 0xdece4a
js 0xdeced1
jge 0xdeced3
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ebp, 0xf872af7f
js 0xdecee0
jge 0xdecee2
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ebp, 0xf872af7f
js 0xdeceef
jge 0xdecef1
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ebp, 0xf872af7f
js 0xdecefe
jge 0xdecf00
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ebp, 0x7d7bf972
stc
jnp 0xdecf0b
jge 0xdecf0c
jge 0xdecf0d
jge 0xdece87
mul byte [edx + 0x7ef7a556]
mov byte [0x7ef7a556], al
cmc
jp 0xdeced3
invalid
jge 0xdecf1b
xchg esp, eax
or eax, 0xc5828282
jl 0xdecf23
jge 0xdecf25
jg 0xdece59
scasd eax, dword es:[edi]
jb 0xdecea4
clc
js 0xdecf2b
jge 0xdecf2d
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ebp, 0xf872af7f
jg 0xdece68
jb 0xdeceb3
js 0xdecf3a
jge 0xdecf3c
jge 0xdeceb7
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
imul edi, dword [ebx], 0x6f
scasd eax, dword es:[edi]
jb 0xdecec5
jmp dword [ebx + 0x56828282]
mov dword [0x56828282], eax
push esi
mov esi, 0x7d7d7cc6
jge 0xdecf4d
jge 0xdecf44
jb 0xdececb
clc
dec ecx
jge 0xdecf53
jge 0xdece9c
jl 0xdecf57
jge 0xdecf58
jge 0xdecf59
jge 0xdecf5c
jg 0xdece8d
scasd eax, dword es:[edi]
jb 0xdeced8
js 0xdecf5f
jge 0xdecf61
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ah, 0x7f
scasd eax, dword es:[edi]
jb 0xdecee7
js 0xdecf6e
jge 0xdecf70
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
jb 0xdecef9
jmp dword [ebx + 0x2b828282]
mov dword [0x2b828282], eax
test byte [edx - 0x267177aa], 0x23
xchg esp, eax
sub esi, esi
mov dl, byte [esi - 0x78]
mov ds, ecx
and edx, dword [ebp + esi*2 + 0x35828282]
jne 0xdece8b
add byte [edx + 0x759dbc35], 0xf7
xor eax, 0xf7759dbc
mov esp, 0x7bf7759d
cmp esi, esi
xchg ebp, eax
les edi, [ebp + edi*2 + 0x7d]
popfd
jne 0xdecf07
jnp 0xdecf4d
not byte [ebp + 0x7d7d7cc4]
jl 0xdecf94
jge 0xdecf96
jge 0xdecf99
jg 0xdececa
scasd eax, dword es:[edi]
jb 0xdecf15
js 0xdecf9c
jge 0xdecf9e
imul dword [ebx + 0x3b]
cmp ebp, dword [edi - 0x51]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ah, 0x7f
scasd eax, dword es:[edi]
jg 0xdeced9
jb 0xdecf24
clc
js 0xdecfab
jge 0xdecfac
jge 0xdecfad
jge 0xdecf28
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
imul edi, dword [ebx], 0x6f
scasd eax, dword es:[edi]
jb 0xdecf36
jmp dword [ebx - 0x37d7d7e]
mov dword [0xfc828282], eax
cmp ah, 0x85
jge 0xdecf3f
test dword [ebp], edi
jge 0xdecfbe
cld
movsb byte es:[edi], byte [esi]
add byte [edx - 0x7a037d7e], 0x7d
add byte [edx + 0x7d85fc82], 0x78
jge 0xdecfca
js 0xdecfc9
jge 0xdecf4a
cld
movsb byte es:[edi], byte [esi]
add byte [edx - 0x7a037d7e], 0xfd
cld
test ebp, edi
jge 0xdecfd5
jge 0xdecfd6
jge 0xdecf56
cld
lodsb al, byte [esi]
jge 0xdecfda
jge 0xdecfdb
jge 0xdecfdc
jge 0xdecf5c
cld
test ebp, edi
std
jge 0xdecfe1
jge 0xdecf62
lodsb al, byte [esi]
jge 0xdecfe6
jge 0xdecfe8
sub esi, esi
mov dl, byte [esi - 0x73]
push esi
lea ecx, [esi - 0x196bdc27]
add dword [edx + 0x3b7bf782], 0x4e
mov ds, ecx
and edx, dword [esi - 0x87d7d7d]
jnp 0xdecfb6
idiv dword [ebx + 0x3b]
dec esi
mov ah, 0xbd
xchg ebp, eax
jl 0xdecff3
stc
jge 0xded002
jge 0xded002
jge 0xdecf83
lodsb al, byte [esi]
jg 0xded007
jge 0xded009
not byte [ebp + 0x568af62b]
lea ecx, [esi + 0x7cc623d9]
jge 0xded017
mov ds, ecx
and eax, esi
jl 0xded016
fldenv [ebx]
invalid
jge 0xded018
jge 0xdecf30
xchg esp, eax
push cs
add dword [edx + 0x562082], 0x75
idiv byte [edx - 0x6709dcde]
add byte [edx + 0x75005620], 0xf6
mov edx, 0x98f62322
and byte [edi + 0x23227d75], bh
mov edi, 0x23227d75
jne 0xded02b
jge 0xdecfd1
and ah, byte [ebx]
and edx, dword [ecx + edi*2 - 0x4e828283]
xchg esp, eax
jns 0xded030
jge 0xded032
jge 0xdecf67
mov cl, 0xc5
sub eax, dword [eax - 0x1c4ef63b]
lds ebp, [ebx]
add ch, 9
mov cl, 0xe3
jge 0xded03d
jle 0xdecf78
mov eax, 0x7e16bdfc
jge 0xded043
cld
mov ebp, 0x7d7d7e16
invalid
jge 0xded048
jge 0xdecf93
invalid
ja 0xdecfb3
cmp al, 0x82
dec ebp
insd dword es:[edi], dx
cmp eax, 0x8bf87234
add byte [edx + 0x7d799482], 0x7d
clc
mov eax, dword [edx + 0x79948282]
xchg esp, eax
jns 0xded05a
jge 0xded05b
jge 0xded05c
jge 0xded056
jbe 0xded008
daa
adc al, 0xaf
invalid
cld
or dword [ebx - 4], ecx
cld
retf
cld
xor dword [ebx - 4], ecx
inc edi
inc ebx
ja 0xded073
ja 0xded05a
scasd eax, dword es:[edi]
cld
and byte [edi - 4], dh
cld
cmp byte [ebx - 0xa], dh
lea esi, [edi + 0x77]
ja 0xded080
ja 0xded081
ja 0xded082
ja 0xded084
js 0xded000
xor dword [edi + 0x77], esi
xor dword [edi + 0x77], esi
ja 0xded088
ja 0xded086
je 0xdecfb4
mov eax, dword [0x777fb0f6]
div byte [eax + 0x7777777f]
mov al, 0x7f
ja 0xded08f
ja 0xded090
ja 0xded010
neg byte [esi + 0x7777777f]
sahf
jg 0xded094
ja 0xded096
test byte [esi + 0x77777777], 0x78
mov dword [0x11888888], eax
cld
adc esp, edi
jo 0xdecfe5
mov dh, 0x9f
lahf
jnp 0xded026
xchg edi, eax
js 0xded02b
invalid
js 0xded02e
jp 0xded0b5
ja 0xded0b6
ja 0xded0b7
ja 0xded052
adc esp, edi
cld
jo 0xded03a
not byte [edi + 0x77777888]
je 0xded000
xchg edi, eax
mov byte [eax + 0x77], bh
ja 0xded0be
mov ch, 0x76
outsd dx, dword [esi]
jbe 0xded0bc
hlt
sahf
mov edi, 0x9e888888
jae 0xded0d1
mov byte [esi + 0x77777773], bl
ja 0xded0d3
ja 0xded00f
mov dl, 3
add al, 0xfc
add eax, dword [esp + edi*8]
iretd
jbe 0xded0e8
ja 0xded040
sub al, 0xac
fmul st(5), st(0)
inc edi
aaa
js 0xded06f
or dword [eax + 0x739e8888], 0xf2777777
jae 0xded014
mov byte [esi + 0x77777773], bl
sahf
jae 0xded0fb
ja 0xded0fd
bnd jae 0xded014
mov edi, dword [ebx]
cmpsd dword [esi], dword es:[edi]
push edx
adc byte [edi + 0x2cac1b90], ah
sub al, 0x2c
cmp esp, dword [edi - 0x6f58efae]
sbb ebp, dword [esp + ebp - 0x2dd0d3d4]
lodsb al, byte [esi]
sub al, 0x2c
sub al, 0x2f
das
shr byte [edi + 0x232c2053], cl
scasd eax, dword es:[edi]
push ebx
and byte [ebx], ch
test al, 0x90
sub al, 0x2c
sub al, 0xa7
imul esp, dword [eax], 0x2f
ljmp 0x28a5
or bl, dl
mov ecx, 0x2c50b1d8
lodsd eax, dword [esi]
aam 0x2c
sub al, 0x2c
sub al, 0x2c
and ebp, dword [ecx + 0x2c2c2c20]
sub al, 0x23
test eax, 0x2c2c2c20
sub al, 0x2c
cmpsd dword [esi], dword es:[edi]
imul esp, dword [eax], 0x2f
ljmp 0x50b2
sub al, 0x2c
sub al, 0xaf
scasd eax, dword es:[edi]
push ebx
sub al, 0x2c
and ebp, dword [ecx + 0x2c2c2c26]
scasd eax, dword es:[edi]
push ebx
cmp al, 0x2c
and ebp, dword [eax + 0x2c2c2c44]
sub al, 0xa1
dec eax
or al, dl
movsd dword es:[edi], dword [esi]
mov eax, dword [0xa5d00848]
add byte [eax], cl
mov eax, dword [0x43a72c79]
cmp al, 0x2f
ret 0x51af
and ebp, dword [eax + 0x2c2c2c63]
stosd dword es:[edi], eax
arpl word [esp + ebp], bp
sub al, 0xab
lds esp, [edi - 0x3a54d3bb]
jl 0xded0ab
dec eax
or al, dl
movsd dword es:[edi], dword [esi]
cmp byte [eax], cl
daa
in eax, 0x23
movsd dword es:[edi], dword [esi]
and byte [esp + ebp], ch
sub al, 0xa1
dec eax
or al, dl
movsd dword es:[edi], dword [esi]
and byte [eax], cl
lds esp, [ebx]
sub al, 0x2c
sub al, 0x2f
loop 0xded0d4
in eax, dx
sub al, 0x2c
sub al, 0xa1
dec eax
or al, dl
movsd dword es:[edi], dword [esi]
and byte [eax], cl
mov eax, dword [0xa5d00848]
sub byte [eax], cl
sar dword [esi + 0x2c50b1d4], cl
jbe 0xded0e7
imul ebp, dword [esp + esi*2], 0x2c28e9ad
sub al, 0x2c
lds ecx, [ebx + 0x71d3d3d3]
lodsd eax, dword [esi]
jmp 0xded18c
inc edx
inc ebp
dec ebx
inc ecx
dec ebp
or al, 0x7c
pop esi
inc ebx
pop eax
dec ecx
dec edi
pop eax
inc ebx
pop esi
or al, 0x5a
dec ecx
pop esi
pop edi
inc ebp
inc ebx
inc edx
or al, 0x1d
add bl, byte [edi]
sbb eax, 0x49682621
pop edx
dec ecx
inc eax
inc ebx
pop esp
dec ecx
pop esi
push ss
or al, 0x7a
inc eax
dec ebp
dec eax
inc ebp
inc ecx
inc ebp
pop esi
or al, 0x7f
pop ecx
inc edi
inc esp
inc ebx
pop edx
and dword [esi], esp
jg 0xded20d
pop eax
dec ecx
or al, 0x16
or al, 0x44
pop eax
pop eax
pop esp
pop edi
push ss
add eax, dword [ebx]
dec ecx
inc edx
inc ebp
dec ebx
inc ecx
dec ebp
pop esp
pop esi
inc ebx
pop eax
dec ecx
dec edi
pop eax
inc ebx
pop esi
add cl, byte [edi + 0x43]
inc ecx
add esp, dword [ecx]
imul eax, dword es:[ecx], 0x40454d41
or al, 0x16
or al, 0x5f
pop ecx
pop esp
pop esp
inc ebx
pop esi
pop eax
insb byte es:[edi], dx
dec ecx
inc edx
inc ebp
dec ebx
inc ecx
dec ebp
pop esp
pop esi
inc ebx
pop eax
dec ecx
dec edi
pop eax
inc ebx
pop esi
add cl, byte [edi + 0x43]
inc ebx
inc ecx
and dword [esi], esp
js 0xded257
inc ebp
pop edi
or al, 0x5c
pop esi
inc ebx
dec ebx
pop esi
dec ebp
inc ecx
or al, 0x45
pop edi
or al, 0x5c
pop esi
inc ebx
pop eax
dec ecx
dec edi
pop eax
dec ecx
dec eax
or al, 0x5b
inc ebp
pop eax
inc esp
or al, 0x7e
imul ebp, dword [ebx + 0x65], 0x7e69787f
imul ebp, dword [eax + 0xc], 0x7f7e697a
arpl word gs:[edx + 0xc], sp
inc ebx
dec edx
or al, 0x78
inc esp
dec ecx
or al, 0x69
inc edx
inc ebp
dec ebx
inc ecx
dec ebp
or al, 0x7c
pop esi
inc ebx
pop eax
dec ecx
dec edi
pop eax
dec ecx
dec eax
and dword [esi], esp
insd dword es:[edi], dx
inc eax
inc eax
or al, 0x5e
inc ebp
dec ebx
inc esp
pop eax
pop edi
or al, 0x5e
dec ecx
pop edi
dec ecx
pop esi
pop edx
dec ecx
dec eax
or eax, 0x45602621
pushal
inc ebp
pop edi
dec ecx
inc edx
dec edi
dec ecx
or al, 0x44
inc ebx
inc eax
dec eax
dec ecx
pop esi
push ss
or al, 9
pop edi
sub al, 2
add byte [eax], al
add byte [0x4000010], bl
test dword [eax], 0x769dc500
mov bl, 0xf0
adc edi, ecx
push cs
mov eax, dword [esp + eax*8 + 0x7a]
dec ebx
push ebx
push edx
sbb eax, 0xfad69e40
dec edi
jge 0xded272
insb byte es:[edi], dx
jmp 0xb80c7bcd