Function at 0x8ddfdc
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x8ddfe2
pop ebp
sub ebp, 6
sub ebp, 0x4ddfdc
jmp 0x8de040
jmp 0x8de049
mov eax, 0x4ddfdc
add eax, ebp
add eax, 0x93
mov ecx, 0x628
mov edx, 0xc55a6053
xor byte [eax], dl
inc eax
dec ecx
jne 0x8de060
jmp 0x8de073
cmp dword [ebx], edx
cmp edx, dword [ebx + 0x43]
push ebx
push ebx
cmp edx, dword [ebx - 0x61]
jg 0x8de0d2
pushal
xchg ebx, eax
add ebp, dword [esi + eax*8 + 0x5317726f]
add ebx, eax
sahf
fcomp st(2)
outsd dx, dword [esi]
push ebx
push ebx
push ebx
rcl byte [edx + 0x535353ab], cl
push eax
sahf
jmp 0x8de0f0
push ebx
push ebx
push ebx
fadd st(6)
pop edi
push ebx
push ebx
push ebx
fcomp st(6)
inc ebx
push ebx
push ebx
push ebx
xchg edx, eax
mov edx, 0xd0516251
xchg ecx, eax
push edi
sbb bl, byte [esi + edx*8 - 0x59]
lodsb al, byte [esi]
lodsb al, byte [esi]
lodsb al, byte [esi]
push cs
xchg ecx, eax
pop edi
push ebx
fcomp st(7)
ja 0x8de14f
push ebx
push ebx
push ebx
cmp eax, edi
pop edx
push ebx
cmp edx, dword [esi]
clc
pop ss
push ebx
push edx
jg 0x8de17f
add bh, byte [ebx + 0x53535356]
mov edx, 0x53535112
push es
fidivr word [edi]
ja 0x8de16b
lodsb al, byte [esi]
pop edi
lodsb al, byte [esi]
pop ebx
mov ebx, 0x53535321
fsubr st(6)
pop ebx
push ebx
push ebx
push ebx
pushal
lcall 0x6b51, 0x76e3a1d2
shl byte [ecx + 0x6b5176e3], cl
pushal
adc eax, 0x5c1b56bb
xlatb
sbb eax, 0x5c535353
fistp dword [ebx]
push ebx
push ebx
push ebx
xor eax, 0xd36a4fd8
test al, 0xbb
pop esp
xlatb
dec ecx
push ebx
mov ebx, 0x5349d75c
push ebx
push ebx
shr dword [eax + 0x42d75cba], cl
push ebx
push ebx
push ebx
xor eax, 0x76aca8d2
pop esp
xlatb
inc esi
push ebx
push ebx
push ebx
adc bh, byte [edx - 0x53535361]
mov edx, 0xacacac9f
jp 0x8de191
push 0x52
rcl byte [edx + 0x57bbd056]
mov edx, 0xacacacee
sar byte [ebx - 0x531145a9], 1
lodsb al, byte [esi]
lodsb al, byte [esi]
jp 0x8de188
push 0x51
rcl byte [edx + 0x57b9d055]
push edi
sar byte [ebx - 0x530745aa], 1
lodsb al, byte [esi]
lodsb al, byte [esi]
push cs
xchg ecx, eax
pop edi
push ebx
push es
fdivr dword [edi - 0x27f9fbfb]
pop edi
fsubr dword [esi]
pop ebx
scasd eax, dword es:[edi]
loope 0x8de177
fst dword [ebp - 0x2e]
xchg ebp, eax
push edx
push ebx
push ebx
push ebx
fist dword [edx + edx*8 - 0x6c]
push edx
push ebx
push ebx
push ebx
call 0x53e1350a
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0xd05c8141
mov ebp, dword [esp + ebp*4 + 0x5c8151ac]
salc
push esi
push ebx
push ebx
push ebx
fld dword [ebp + 0x15]
inc ecx
sbb dword [eax + edx*8 + 0x39], 0x60535353
xchg ebx, eax
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0xd05c8141
jns 0x8de244
push ebx
push ebx
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0x93408141
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0x93408141
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0x93408141
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0x93408141
pop esp
xlatb
push ebp
push ebx
push ebx
push ebx
fmul dword [eax + edi*2 - 0x24af2675]
push esp
adc al, 0xe8
push ecx
push ebx
push ebx
push ebx
mov edx, 0xacacac23
jmp 0x8de29d
sbb dword [ecx + edx*8 - 0x73], 0x5acacac
fsub dword [eax + edi*2 + 0xdf7a0a6]
mov edx, 0xacacac5b
sbb edx, dword [edx + 0x55d95bb3]
adc eax, 0x52eabbd8
push ebx
push ebx
push ebx
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0x9a408141
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0xd15c8141
lea ebp, [esp + ebp*4 + 0x53abd2ac]
push ebx
push ebx
ror byte [edx - 0x53535354], cl
shr byte [ebx + 0x53535653], cl
ror byte [edx - 0x53535354], cl
shr byte [ebx + 0x535353d3], cl
rol byte [edx + 0x53535353], cl
shr byte [ebx + 0x535353d3], cl
rol byte [edx + 0x53535353], cl
push ebx
push ebx
push ebx
add eax, 0xa378a4d8
mov al, byte [0xc8ba0df7]
lodsd eax, dword [esi]
lodsb al, byte [esi]
lodsb al, byte [esi]
mov edx, 0xacacadc8
fst dword [ebp + 0x15]
pushal
lcall 0x49d7, 0x5c52bb93
push ebx
push ebx
push ebx
rol byte [edx + 0x53535351], cl
fdivr dword [ebx + 0x78a4d805]
mov dword [0xe80df7a0], eax
push edx
push ebx
push ebx
push ebx
mov edx, 0xacacad20
push cs
js 0x8de377
pop ebx
fcom dword [esp + ecx + 0xeb6d80d]
xchg ecx, eax
pop ebx
push ebx
xchg esp, eax
or al, 0xd
fdiv dword [esi + 0x535b910e]
or al, 0xd
mov edx, 0x53535357
pop ecx
je 0x8de30e
loope 0x8de34b
invalid
inc ebx
adc ebx, dword [edx]
pop esp
salc
movsd dword es:[edi], dword [esi]
lodsb al, byte [esi]
lodsb al, byte [esi]
lodsb al, byte [esi]
mov edx, 0x53535357
jl 0x8de3ab
mov byte [0x1c1c1d65], al
js 0x8de319
rol ch, 0x1b
dec edx
dec ebx
dec ebx
mov ah, byte [edx + 0x14e0b949]
rol ch, 0x1f
dec edx
dec ebx
dec ebx
mov ah, byte [edx + 0x14eeb949]
adc eax, 0x4b77d5c0
dec ebx
dec ebx
sbb byte [esp + esi*8 + 0x17], al
js 0x8de400
adc edx, ecx
mov dword [ebx + 0x484b4b4b], esi
popfd
retf 0x4bb0
jmp 0x8de44d
dec eax
dec ebx
dec ebx
dec ebx
inc esp
into
inc esi
dec ebx
dec ebx
dec ebx
sub eax, 0xabca4cc0
mov ah, 0x44
dec ebx
dec ebx
dec eax
mov dword [edx + 0x53], ecx
add al, byte [edx]
enter 0x498c, 0xffffffffffffffa2
xor dword [esp + esi*4 + 0x4b4fa2b4], 0x4b
dec ebx
adc byte [ebp - 0x680c2f20], bl
xchg esp, eax
push es
dec ebx
dec eax
mov cs, edx
mov ecx, dword [edx - 0xdb4b4b1]
mov cl, 0x4a
dec ebx
dec ebx
int1
dec edx
cwde
rcr dword [ebx + edi*2 + 0x44020b5b], 1
into
mov ebp, 0xa2b4b4b4
dec edi
dec ebx
dec ebx
dec ebx
xchg ch, dl
mov byte [ebp - 0x33], bh
mov ebp, 0xcd763dc1
mov ebp, 0xca7df6c1
dec edx
dec edx
dec edx
dec ecx
mov ah, 0xc9
xor eax, 0xce454a46
ror byte [edx + 0x4a], cl
dec edx
ror dword [0x1a8c4946], 0xb5
fisttp word [esi]
imul ecx, dword [esi], 0x4a
retf