Function at 0x414ac0
Capabilities:
Encode data using xor

Disassembly:
mov dword [0x60d023d3], eax
sal dword [esi + 0x59], cl
jbe 0x414abb
test dword [eax + 0x66], ebx
fsubr st(3)
xchg esi, eax
das
pop ebx
xor eax, 0xa0eda3c3
and byte [edx - 0x30], 0x60
cmpsb byte [esi], byte es:[edi]
push ebx
cwde
rcl byte [ecx - 0x6e], cl
jecxz 0x414ab7
and ah, byte [esp + ebp*2 + 0x14d1cb50]
shl byte [eax + 0x3ca76138], 0x3b
push ecx
cmp eax, dword [ebx - 0x34d36073]
sbb eax, dword [esi]
sub al, 0xdc
cmp eax, dword [ebp + 0x3b]
daa
mov dl, 0x9f
sub al, 0x9b
shl byte [eax - 0x2d], 1
and bh, byte [eax]
dec edx
mov esp, ds
das
mov eax, edi
fsubr st(5), st(0)
xor byte [edx - 0x11772f9e], cl
in al, 0x2e
lahf
push esi
jecxz 0x414a5a
cmp edx, edi
cmp edx, edi
invalid
sub al, 0xea
adc ch, byte [ebx + edx*8 + 0x76]
jbe 0x414b1b
jbe 0x414b1b
test dword [0x92310026], edx
and edx, ecx
or byte [ebx], al
loope 0x414a60
pushal
mov ecx, 0x161a38d5
invalid
rcr esp, cl
das
lahf
sub al, 0x23
shl byte [eax - 0x2d], 1
and edx, eax
pushal
shl dword [ebx], cl
shl byte [eax - 0x2d], 1
and edx, eax
jecxz 0x414b6b
daa
pop ss
test edi, 0x2ad32278
sub ebp, dword [edi]
mov ebx, 0xd321a023
insd dword es:[edi], dx
xchg edi, eax
fmul dword [ebx]
mov eax, dword [0xec68e6ea]
add dword [eax], 0x262f0a96
push 0x23
shl byte [eax], 0xd3
mov byte [0x23d36117], al
shl cl, 1
cmp eax, 0x3168a6ca
mov byte [0x23d3613e], al
rcr dl, 1
push 0xcc526091
jb 0x414b17
out 7, eax
rcr dword [edi + 0x60d0083b], 1
rcr dword [eax - 0x19f7f206], cl
mov dword [ecx + 0x25], ecx
test al, 0xc4
inc esp
push eax
out 0xd4, eax
loope 0x414b98
mov dword [0xcb9357e0], eax
ret 0xd360
das
ror byte [ecx + 0x25], 1
sub ah, byte [edi]
sub esp, edx
and ch, byte [esi - 0x61]
sar cl, 0x13
loope 0x414bba
daa
shl byte [eax - 0x2d], 1
add ch, byte [ebx]
aaa
mov byte [edx - 0x34a57ec1], ah
scasb al, byte es:[edi]
pop ecx
add dl, byte [esi + 0x35]
loope 0x414bf8
and dl, al
pushal
shl dword [edx + 0x23d36113], cl
shl byte [ebx - 0x4311bae], 1
push ebx
aam 0x6e
push ss
outsd dx, dword [esi]
push eax
fisub dword [eax - 0x2d]
and edx, eax
pushal
shl dword [ebx], cl
shl byte [eax - 0x2d], 1
and edx, eax
pushal
shl dword [ebx], cl
shl byte [eax - 0x2d], 1
and edx, eax
pushal
shl dword [ebx], cl
shl byte [eax - 0x2d], 1
and edx, eax
pushal
shl dword [ebx], cl
shl byte [eax - 0x2d], 1
and edx, eax
pushal
shl dword [ebx], cl
shl byte [eax - 0x2d], 1
and edx, eax
pushal
shr dword [ebx - 7], cl
invalid
and edx, eax
pushal
shl dword [ebx], cl
shl byte [eax - 0x2d], 1
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul edi, ecx, 0xffffff8f
dec edx
imul eax, dword [ecx - 0x780f181c], 0xffffffe4
in al, dx
sti
mov ebp, ebp
xor dword [eax - 0x2c], ecx
ja 0x414cda
invalid
cmp byte [eax + ebx], 0xf0
movsb byte es:[edi], byte [esi]
pop ecx
outsb dx, byte [esi]
xor dword [eax - 0x2c], ecx
cmp dword [esi - 0x5497480], eax
add al, 0xd5
mov eax, 0xbedb09fe
stc
invalid