Function at 0x8de1c0
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x8de1c6
pop ebp
sub ebp, 6
sub ebp, 0x4de1c0
jmp 0x8de224
jmp 0x8de22d
mov eax, 0x4de1c0
add eax, ebp
add eax, 0x93
mov ecx, 0x62c
mov edx, 0xcabcc656
xor byte [eax], dl
inc eax
dec ecx
jne 0x8de244
jmp 0x8de257
cmp al, 0x16
push esi
inc esi
push esi
push esi
push esi
lcall 0x7ad, 0xa6d7567a
mov bl, 0x22
xlatb
cmpsb byte [esi], byte es:[edi]
lodsd eax, dword [esi]
pop es
mov bl, 0x22
xchg esi, eax
push es
test eax, 0x12776ac3
push esi
push es
fstp qword [ebx + 0x566adfdd]
push esi
push esi
xlatb
xchg edi, eax
scasb al, byte es:[edi]
push esi
push esi
push esi
push ebp
wait
out dx, al
push eax
push esi
push esi
push esi
in al, dx
jle 0x8de2e7
push esi
push esi
mov eax, dword [0xdd9e55b4]
xlatb
pop edx
push esi
push esi
push esi
push ebp
xchg ebx, eax
push es
sub ah, byte ds:[eax + 0x5f]
push esi
pop ss
std
adc dl, byte [esi + 0x57]
jp 0x8de31f
push esi
push esi
push esi
push esi
mov esi, 0x56565653
mov edi, 0x5656567c
add ebx, ebx
cmp dh, byte [edx + 0x56]
fst st(3)
pop esi
push esi
push esi
push esi
ffree st(3)
pop edx
push esi
push esi
push esi
fstp st(3)
inc esi
push esi
push esi
push esi
xchg edi, eax
mov edi, 0xd5546754
xchg esp, eax
push edx
pop ds
pop ecx
shl dword [edx + 0xba9a9a9], cl
xchg esp, eax
pop edx
push esi
fstp st(2)
jb 0x8de33c
fidiv dword [edx + 0x52]
push esi
push esi
push esi
sub ah, byte ds:[eax + 0x5f]
push esi
pop ss
std
adc dl, byte [esi + 0x57]
jp 0x8de36c
pop es
mov esi, 0x56565653
mov edi, 0x56565469
add ebx, ebp
mov edx, 0xa95a23a9
and ebx, dword [esi - 0x42]
and al, 0x56
push esi
push esi
fucomp st(3)
pop esi
push esi
push esi
push esi
xlatb
cmpsd dword [esi], dword es:[edi]
adc al, 0x48
ret
xlatb
cmpsd dword [esi], dword es:[edi]
adc al, 0x48
ret
outsd dx, dword [esi]
salc
lodsd eax, dword [esi]
mov esi, 0x564cd259
push esi
push esi
salc
lodsd eax, dword [esi]
mov edi, 0x5647d259
push esi
push esi
xor bh, dl
lodsd eax, dword [esi]
test eax, 0x43d25973
push esi
push esi
push esi
pop ss
mov edi, 0xa9a9a99a
jg 0x8de37c
outsd dx, dword [esi]
push edi
aad 0x97
push ebx
aad 0xbe
push edx
mov edi, 0xa9a9a9eb
jg 0x8de373
test eax, 0x27fa9a9
outsd dx, dword [esi]
push esp
aad 0x97
push eax
aad 0xbc
push edx
aad 0xbe
push ebx
mov edi, 0xa9a9a9fd
or edx, dword [edx + ebx*2 - 0x4522fcaa]
add byte [ecx], al
add ebx, ebp
and ebx, dword [edx - 0x23]
sub ebx, dword [esi - 0x56]
in al, 0xd6
fcom qword [eax - 0x29]
nop
push edi
push esi
push esi
push esi
ficom word [ecx - 0x29]
xchg ecx, eax
push edi
push esi
push esi
push esi
in eax, dx
push esp
push esi
push esi
push esi
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ecx - 0x2b], bl
mov gs, word [ecx - 0x7bab5657]
pop ecx
rcl dword [ebx + 0x56], cl
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ecx - 0x2b], bl
cmp al, 0x56
push esi
push esi
xchg esi, eax
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ecx - 0x2b], bl
jl 0x8de439
push esi
push esi
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ebp - 0x6a], al
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ebp - 0x6a], al
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ebp - 0x6a], al
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ebp - 0x6a], al
pop ecx
rcl byte [eax + 0x56], cl
push esi
push esi
fisttp qword [ecx + 0x55dc8e7d]
ficom word [ecx + 0x11]
in eax, dx
push esp
push esi
push esi
push esi
mov edi, 0xa9a9a926
out dx, al
push edi
push esi
push esi
push esi
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ebp - 0x6a], al
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ecx - 0x2c], bl
mov byte [ecx - 0x6a825657], ch
in eax, dx
push edi
push esi
push esi
push esi
pop ecx
shl dword [edx + 0x56], cl
push esi
push esi
out dx, eax
push edi
push esi
push esi
push esi
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ebp - 0x61], al
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ecx - 0x2c], bl
mov byte [ecx - 0x22ff5657], ch
mov eax, dword [0xf2a5a37d]
or byte [edi - 0x565656a2], bh
push ds
xchg edi, eax
mov dh, 0x5e
fcom qword [eax + 0x10]
fnstsw word [esi + 0x565657ef]
push esi
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ebp - 0x61], al
push esp
test byte [ecx - 0x2d], bl
push ebx
push esi
push esi
push esi
fadd qword [eax + 0x10]
inc esp
test byte [ecx - 0x2c], bl
mov byte [ecx - 0x51285657], ch
push esi
sub edx, dword [esi + 0x56]
xlatb
invalid