Function at 0x8de1ec
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x8de1f2
pop ebp
sub ebp, 6
sub ebp, 0x4de1ec
jmp 0x8de250
jmp 0x8de259
mov eax, 0x4de1ec
add eax, ebp
add eax, 0x93
mov ecx, 0x62d
mov edx, 0xe4488855
xor byte [eax], dl
inc eax
dec ecx
jne 0x8de270
jmp 0x8de283
aas
adc eax, 0x5545553d
push ebp
cmp eax, 0x55799955
aam 0xa5
out 0xec, al
xchg eax, esi
aam 0xa5
out 0xec, al
xchg eax, esi
xchg bp, ax
add eax, 0x7469c0aa
adc dword [ebp + 5], edx
ficomp word [eax + 0x5569dcde]
push ebp
push ebp
aam 0x94
lodsd eax, dword [esi]
push ebp
push ebp
push ebp
push esi
cwde
in eax, dx
push ebx
push ebp
push ebp
push ebp
out dx, eax
jge 0x8de312
push ebp
push ebp
mov byte [0xde9d56b7], al
aam 0x59
push ebp
push ebp
push ebp
push esi
nop
add eax, 0x5c63f63d
push ebp
cmp eax, 0x5511fe1d
push esp
jns 0x8de34a
cmp eax, 0x55555555
mov ebp, 0x55555550
mov esp, 0x5555557d
add byte [ecx], al
or dh, bl
rcr byte [ebp + 0x55], 1
push ebp
push ebp
faddp st(0)
pop ecx
push ebp
push ebp
push ebp
invalid
jno 0x8de365
push ebp
push ebp
push ebp
cmp eax, 0x555c63f6
cmp eax, 0x5511fe1d
push esp
jns 0x8de395
add al, 0xbd
push eax
push ebp
push ebp
push ebp
mov esp, 0x55555760
add al, bl
cmp dword [ecx + 0x55], esi
stosb byte es:[edi], al
and byte [ecx - 0x56], bl
and byte [ebp - 0x43], bl
xor edx, dword [ebp + 0x55]
push ebp
fsubp st(0)
pop ebp
push ebp
push ebp
push ebp
pushf
xchg si, dx
mov ebp, 0xd15a1d50
sbb edx, dword [ebp + 0x55]
push ebp
pop edx
fstp qword [0x33555555]
fimul word [ecx + 0x6c]
aad 0xae
mov ebp, 0x554fd15a
push ebp
push ebp
aad 0xae
mov esp, 0x5544d15a
push ebp
push ebp
xor edx, esp
scasb al, byte es:[edi]
stosb byte es:[edi], al
jo 0x8de3cf
rol dword [eax + 0x55], 1
push ebp
push ebp
adc al, 0xbc
cdq
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
jl 0x8de39b
insb byte es:[edi], dx
push esp
salc
xchg esp, eax
push eax
salc
mov ebp, 0xaae8bc51
stosb byte es:[edi], al
stosb byte es:[edi], al
jl 0x8de392
insb byte es:[edi], dx
push edi
salc
xchg esp, eax
push ebx
salc
mov edi, 0x50bdd651
push eax
mov esp, 0xaaaaaafe
or byte [edi - 0x21ffaaa7], dl
mov ecx, 0xde000203
and byte [ecx - 0x22], bl
sub byte [ebp - 0x57], bl
out 0xd5, eax
fist word [ebx - 0x2c]
xchg ebx, eax
push esp
push ebp
push ebp
push ebp
fst qword [edx - 0x2c]
xchg edx, eax
push esp
push ebp
push ebp
push ebp
out dx, al
push edi
push ebp
push ebp
push ebp
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [edx - 0x2a], ebx
lea ebp, [edx - 0x78a85556]
pop edx
rcl byte [eax + 0x55]
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [edx - 0x2a], ebx
aas
push ebp
push ebp
push ebp
xchg bp, ax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [edx - 0x2a], ebx
jg 0x8de456
push ebp
push ebp
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x6b], eax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x6b], eax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x6b], eax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x6b], eax
pop edx
rcl dword [ebx + 0x55]
push ebp
push ebp
fimul word [edx + 0x56df8d7e]
fst qword [edx + 0x12]
out dx, al
push edi
push ebp
push ebp
push ebp
mov esp, 0xaaaaaa25
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
in eax, dx
push esp
push ebp
push ebp
push ebp
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x6b], eax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [edx - 0x29], ebx
mov ebp, dword [edx - 0x69815556]
out dx, al
push esp
push ebp
push ebp
push ebp
pop edx
shl byte [ecx + 0x55], 1
push ebp
push ebp
in al, dx
push esp
push ebp
push ebp
push ebp
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x64], eax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [edx - 0x29], ebx
mov ebp, dword [edx - 0x21fc5556]
mov byte [0xf1a6a07e], al
or edi, dword [ebp + ebx*2 + 0x1daaaaaa]
xchg esp, eax
mov ch, 0x5d
fist word [ebx + 0x13]
fidivr word [ebp + 0x555554ec]
push ebp
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [esi - 0x64], eax
push edi
xchg dword [edx - 0x30], ebx
push eax
push ebp
push ebp
push ebp
fild word [ebx + 0x13]
inc edi
xchg dword [edx - 0x29], ebx
mov ebp, dword [edx - 0x522b5556]
push ebp
sub byte [ebp + 0x55], dl
aam 0x8c
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
aam 0xad
push ebp
push eax
push ebp
push ebp
aam 0x8c
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
aam 0xad
aad 0x55
push ebp
push ebp
aam 0x84
push ebp
push ebp
push ebp
push ebp
aam 0xad
aad 0x55
push ebp
push ebp
aam 0x84
push ebp
push ebp
push ebp
push ebp
add ebx, esi
mov byte [0xf1a6a57e], al
or edi, dword [esi + ecx*8 - 0x20555555]
push ebx
adc esp, dword [esi - 0x64]
xchg ebp, eax
mov ebp, 0x4fd15a54
push ebp
push ebp
push ebp
aam 0x84
push edi
push ebp
push ebp
push ebp
fidivr word [ebp + 0x7ea2de03]
movsd dword es:[edi], dword [esi]
cmpsb byte [esi], byte es:[edi]
int1
or ebp, esi
push esp
push ebp
push ebp
push ebp
mov esp, 0xaaaaab26
or byte [esi + 0x28], bh
pop ebp
ficom word [edx - 0x4f21f4f6]
or byte [edi + 0xb0a555d], dl
mov esp, 0x55555551
adc esi, eax
sal byte [esi - 0x13], cl
mov ecx, 0x565518b4
nop
aam 0x95
cld
push esi
push ebp
push ebp
in al, dx
inc edx
push esi
push ebp
push ebp
out dx, eax
xchg edi, eax
clc
aam 0xb8
inc ebp
adc eax, 0xa3d05a1c
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
mov esp, 0x55555551
into
jecxz 0x8de5c2
int3
xchg ecx, eax
int 0x16
push ebp
outsd dx, dword [esi]
xchg edi, eax
xchg edi, eax
xchg edi, eax
xchg esp, eax
inc ecx
push ss
insb byte es:[edi], dx
xchg edi, eax
xchg edi, eax
xchg edi, eax
xchg edi, eax
cwde
adc ecx, dword [edi + edx*4 - 0x3f3e6869]
sbb al, 0xdd
xchg dword [ebp + ebp*8 - 0x7c1a6b65], edx
xor ecx, eax
leave
push ss
push ebp
mov edi, 0xdc979797
jle 0x8de63e
push 0x97ff6868
xchg edi, eax
xlatb
xchg edi, eax
xchg edi, eax
call dword [edi - 0x3e6844a5]
push 0xd3b6d702
xchg edi, eax
adc byte [ecx + 0x10], ch
pushal
sbb al, 0xe0
stosd dword es:[edi], eax
adc byte [eax + 0x1c], ah
sub esp, dword [eax - 0x686868c9]
xchg esp, eax
imul ebx, dword [edx], 0x7c1697c9
xchg edi, eax
xchg edi, eax
xlatb
xchg edi, eax
adc byte [ebp + 0x1c], ch
in eax, dx
xchg edi, eax
adc byte [ebp + 0x10], ch
outsb dx, byte [esi]
sbb al, 0xee
xchg ebx, eax
adc byte [esi + 0x16], ch
insd dword es:[edi], dx
xchg edi, eax
xchg edi, eax
xchg edi, eax
xchg edi, eax
cwde
adc edx, ecx
xchg edi, eax
xchg edi, eax
xchg edi, eax
xchg esp, eax
inc ecx
push ss
push eax
lahf
xchg edi, eax
xchg edi, eax
xchg edi, eax
push ss
jle 0x8de5e3
xchg edi, eax
xchg edi, eax
xchg edi, eax
push ss
outsb dx, byte [esi]
xchg edi, eax
xchg edi, eax
xchg edi, eax
xchg edi, eax
cwde
adc ebx, dword [ebx + 0x68]
push 0x901cf168
push esi
jg 0x8de5f4
adc al, 0x77
cwde
push ss
outsd dx, dword [esi]
xchg esp, eax
xchg edi, eax
xchg edi, eax
xchg edi, eax
cwde
adc bl, byte [edx - 0xe686869]
sbb al, 0x90
push ss
ja 0x8de6d6
cwde
xchg edi, eax
xchg edi, eax
xchg esp, eax
push ebp
xchg esi, eax
invalid
mov al, byte [0xe41c65e4]
in al, 0xe4
in al, 0xeb
popal
ljmp 0x9c6f