Function at 0x497647
Capabilities:
Encode data using xor

Disassembly:
xchg edx, eax
mov dword [0x2fe19b82], eax
invalid
adc ebp, ebp
ficomp dword [esi + 0x11202bfd]
and dword [ebp - 0x5bb7ebb4], edx
xchg edx, eax
mov edx, 0x4ae1b5aa
outsb dx, byte [esi]
imul ecx, dword [edx - 0x5f744153], 0xffffffcd
ror byte [ebp + 0x2b414a3a], 1
xor byte [ebx], cl
and byte [edx + 0x7bbf5daa], cl
sar dword [ecx + 0x5da0438e], 1
shr bh, cl
invalid
mov edi, 0x8eb9d17b
inc ebx
mov al, byte [0xc7efd25d]
rcl dword [edx - 0x39]
and al, 0x7c
aaa
and al, 0xb9
sbb cl, byte [ebx - 0x482162f8]
mov dword [ecx + 0x5760dc32], eax
mov ecx, 0x9d088b1a
fidiv word [edi - 0x23cd7e77]
pushal
push edi
pushal
mov bl, 0x9c
jne 0x4975cf
test eax, 0x86e4868e
adc eax, dword [esi]
mov es, word [esi + 0x61386e4]
xor al, 0x27
sbb al, 0x25
add al, 0x25
add dword [edx + 0x4c], edi
jp 0x497677
lodsb al, byte [esi]
dec esp
jp 0x49761c
jbe 0x497661
xor ah, byte [eax - 5]
cmp esp, edi
sub byte [ebx - 0x791e9816], ah
loope 0x4975c4
mov word [esi + eax*2 + 0x7bfaac5e], gs
adc cl, byte [edi]
lodsb al, byte [esi]
inc esi
pop esi
lodsb al, byte [esi]
cli
jnp 0x497658
invalid
out 0xed, eax
jbe 0x497607
out 0xfd, eax
lodsb al, byte [esi]
loopne 0x4975f7
loopne 0x497609
jge 0x49763b
jge 0x49767f
pop edx
pop esp
pop esp
dec ebx
shl esi, 1
std
je 0x49763f
movsd dword es:[edi], dword [esi]
rcr ch, 0x7c
out 0x7d, eax
fnstsw word [edi + 0x7d]
daa
xlatb
cmpsb byte [esi], byte es:[edi]
insb byte es:[edi], dx
cmp al, 0x67
std
cmpsd dword [esi], dword es:[edi]
sub dword [edx + 0x6a], edi
jae 0x4976ef
cdq
mov bh, 0x22
mov esi, 0xfde6ea40
popal
std
jp 0x4976c5
inc eax
ljmp 0x467a
popal
stc
ljmp 0xe7d8
neg al
out 0xfd, eax
cmp ch, 0x9a
test eax, 0x406cad6
out 0xc0, eax
jp 0x497629
das
pushal
invalid
pushfd
rol bl, cl
stosb byte es:[edi], al
std
cmpsd dword [esi], dword es:[edi]
in al, dx
xacquire xchg byte [edx - 0x5a], bl
jp 0x497649
invalid
inc eax
jb 0x49770e
mov esp, 0xfb21eeab
jp 0x4976f9
or ecx, dword [eax + ebp - 0x9e20b5a]
mov cl, 0xe9
jp 0x4976f0
sbb eax, 0x7ae9b1f6
push ss
mov ecx, 0xccaf1da1
ja 0x497685
movsb byte es:[edi], byte [esi]
fisub dword [edx + esi*8 - 0x26]
in eax, 0x69
daa
loopne 0x4976d4
loopne 0x4976b4
test al, 0x39
push 0x8320524
and al, 5
xor cl, byte [eax]
in al, 0xb8
cmp eax, 0xe5e29744
loop 0x4976e0
pop edx
xor ebx, dword [ecx]
sal byte [eax], cl
mov ebp, 0xa0f100ab
int1
je 0x4976fb
adc bl, byte [edx + 0x24]
scasb al, byte es:[edi]
ror byte [eax - 0x40478b34], cl
inc eax
mul dword [eax - 9]
mov ebp, 0xc03e1d8f
out 0xfd, al
jg 0x49773d
int3
sub byte [edi + 0x7d], bl
jecxz 0x497785
stc
push 0xffffffffffffffe5
outsb dx, byte [esi]
and ebp, esi
mov eax, dword [0xc650683f]
nop
test al, 0x41
or edx, dword [edi - 0xf891d9]
stc
je 0x49779f
bound ebp, qword [ebx + 0x7ece12a5]
sti
stosd dword es:[edi], eax
movsd dword es:[edi], dword [esi]
adc cl, dh
jle 0x49773e
invalid
adc eax, 0x22921be1
push ecx
xlatb
jb 0x49773c
mov bl, 0x7f
jae 0x4977e2
sbb byte [edi], bl
mov edi, 0x13d31f27
and esp, edi
xchg ecx, eax
insd dword es:[edi], dx
xchg edx, eax
loop 0x497801
popal
xchg esi, eax
mov dl, 0xb
mov edi, 0x2e6bd9bf
nop
pop ebx
not byte [eax + 0x57]
mov word [edx - 0x44], es
daa
push edx
shl byte [eax + 6], 7
push es
xor dword [edi], edx
fistp qword [eax - 0x51]
stosb byte es:[edi], al
pop ss
xchg esp, eax
mov edi, 0x5bf64a80
invalid
cmp eax, 0xf72a515
push eax
add byte [ebx + 0x63], 0xae
mul byte [edi - 0x71]
iretd
xor edx, dword [esi + 0x12e1182f]
lodsb al, byte [esi]
xchg esp, eax
mov edx, dword [esi - 0x769eafbf]
aad 0x26
std
fdivrp st(3)
xor edi, eax
ljmp 0x6c4f