Function at 0x497537
Capabilities:
Encode data using xor

Disassembly:
mov esp, edx
and eax, 0xc8103bd0
adc byte [esi + 0xc], cl
inc ebp
ret 0xd54e
sub bh, byte [edi]
nop
dec ecx
neg dword [edx - 6]
push ss
in al, 0x6a
adc byte [ebx + 0x19], ch
sbb cl, byte [esi - 0x6a]
sal esp, 1
lcall 0xd0fb, 0x35fb802b
fstp xword [eax - 0x58]
dec eax
mov dword [edi], ebp
sub eax, 0x2a59d4d7
add dword [edi - 0x26], 0x9453201f
loop 0x4974bb
sbb al, 0x57
and ebx, dword [0xf7c33f9b]
add esi, dword [edi + 0x131b13f7]
sti
ror byte [eax], 1
hlt
aas
ret
cli
push 0xffffffffffffffc4
inc byte [edx + 0x15d6cab4]
jecxz 0x497450
loopne 0x497483
sub ecx, dword [ebx + 0x49]
mov ebp, 0xd25ac9b3
jb 0x49740b
aam 0x4b
cmpsd dword [esi], dword es:[edi]
call 0x365ab484
fcomp st(5)
fcomp st(5)
adc edx, ecx
dec ebp
jmp 0x49741e
dec eax
jecxz 0x497509
imul dword [edi]
push ss
push esi
jno 0x49746f
cmp al, 0xb8
or byte [eax], ah
dec eax
mov dl, 0x99
mov bl, 0x19
loopne 0x497464
cmpsb byte [esi], byte es:[edi]
retf
sbb dword [ecx], 0xfffffff9
sbb ecx, edi
mov dh, byte [ebx + ecx*4 - 0x4e3bf21e]
aaa
jbe 0x4974c6
pop esi
sbb eax, 0x4836b2d9
add dword [ecx + 0x1fe9aa94], esi
xchg ebx, eax
sub al, 0x5d
sbb eax, 0x7ef39e2e
dec esi
add dword [ecx + 0x32], 0xdeab5645
int1
fdivrp st(1)
jp 0x497589
adc dword [ecx + 0x65], ecx
into
aas
add al, 0xae
dec ebx
sub ch, byte [eax - 0x1a099cbb]
cwde
cmp byte [0xc6d907], dh
cmp edi, dword [ebx + 0xcf01e36]
push eax
push ecx
jo 0x497599
invalid
jo 0x497506
lodsd eax, dword [esi]
xchg bl, al
jbe 0x49752e
loope 0x4975b4
push ecx
sub edx, edi
pop ebx
popal
leave
xor cl, byte [edx]
aad 0x1c
test dword [ebx], esi
adc edi, dword [ebx - 0x64]
ja 0x49755d
mov ebx, 0xf8f4955
xor dh, ch
pop ebp
stosb byte es:[edi], al
inc esp
jecxz 0x497507
aad 0x27
and eax, 0x11b66599
mov dh, 0x11
fstpnce st(1), st(0)
pop edx
movsd dword es:[edi], dword [esi]
clc
out dx, eax
xor byte [edi], dh
hlt
sti
jo 0x497564
scasd eax, dword es:[edi]
ror dword [ebx], 1
loopne 0x4975a3
sub dl, dl
invalid
rcr ch, cl
imul esp, dword [ebp - 0x17], 0xa0405a8d
fsubr dword [ecx + 0x51]
mov edx, 0xcff4463c
out 0xc8, eax
jbe 0x4975e6
add dword [ecx + 0x1c83793e], 0xd1a4f105
fistp dword [ecx + 0x61bb6d26]
xor al, 0xac
cmp byte [edx + 0x4c9523a6], al
js 0x497649
pop ebp
das
cmp dword [esp + ebx - 0x7f], ebx
invalid
sub dword [ebx + esi*4 + 0x25742b24], 0x269e597e
or dword [edx - 0x25db1381], ebp
or dword es:[edx - 0x25db1381], ebp
in al, dx
and al, 0xda
sub al, 0x52
lock sub dword [eax - 0x60c8b15e], esi
scasb al, byte es:[edi]
les eax, [ecx + 0x66]
xchg ebp, eax
push es
cld
into
salc
movsb byte es:[edi], byte [esi]
pop esi
mov al, byte [0x53a3710a]
ja 0x497645
cmp byte [eax + 0x29d3389c], ah
invalid
or esp, esp
pop edi
stosb byte es:[edi], al
ja 0x49766f
je 0x4975dc
stosb byte es:[edi], al
leave
je 0x4975ea
aaa
mov dword [esi + eax*4 - 4], esi
sub cl, byte [ebp - 0x4f773965]
cmp byte [edx + 0x3491e481], 0x99
cdq
out 3, eax
mov esi, 0x6978917e
mov byte [0x919c07fb], al
wait
mov cl, 0x38
mov al, 0x63
arpl dx, ax
rcr dword [ebp - 0x16], 0x57
loope 0x4976dd
xchg ecx, eax
xor eax, 0xd409b7d5
insb byte es:[edi], dx
jl 0x497662
in eax, 0x71
xor byte [eax - 0x7c465b13], al
adc byte [ecx + 0x64], ah
jae 0x4976b8
sbb al, 0x44
mov al, 0x1c
jg 0x497714
mov eax, es
cld
xchg edx, eax
push ebp
mov ebp, 0xcc020fe6
and dword [esi - 0x3d], edi
mov edx, 0x77133971
movsd dword es:[edi], dword [esi]
inc edx
notrack jmp 0x5d5d2896
hlt
xor al, 0x64
test eax, 0x31733402
and byte es:[0xc5f33db4], 0x15
fucompi st(4)
and edi, dword [edi]
xor ebx, ebx
out 0x14, al
sbb eax, 0xa811a6c9
sbb dh, ch
nop
sal byte [esp + edi*4 - 0xd0efb08], 1
sbb al, byte [edx + 0x49]
mov cl, 0x16
loopne 0x497709
push dword [ebp - 0xa4012a5]
pop ebx
mov ah, 0x72
push 0x2153fadb
sbb bl, ch
sbb ebx, dword [ecx + 0x55]
xchg edx, eax
test al, 0x43
leave
out dx, eax
ret
mov ch, 0x5b
in eax, dx
mov edi, 0xb45b3ef5
jb 0x49777c
invalid
mov ebp, dword [edx + 5]
int1
wait
sub al, 0xc1
call 0x19eff1c8
fist word [esi - 0x313fa78e]
enter 0x43ab, 0xffffffffffffffc6
jb 0x49777f
add dword [edi], 0xb9d099cd
xor dword [0x5d9e7982], edx
das
and eax, 0xa4dc91b0
push cs
adc ch, dl
stosb byte es:[edi], al
mov al, 0x57
salc
jnp 0x4977c4
push cs
jno 0x4977c9
xchg esi, ebx
adc byte [eax + 0x29686ca8], ch
mov ecx, esi
idiv dword [ecx + 0x20]
pop ecx
xor al, 0x35
xlatb
idiv dword [esi - 0x2dfc5b09]
mov esi, 0xd203a4f7
out 0x2a, al
pop es
bound edi, qword [esi + 0x57b83d14]
cld
loope 0x497825
sub edx, dword [edx - 0x45]
pop eax
rol dword [si - 0x22], 0x5d
xor esp, dword [ebx + 0x43]
cmc
push esi
leave
mov dl, 0x4b
cmp eax, 0xf66f9bf3
rol bl, 0x91
sub byte [edi], bl
inc esp
js 0x497864
invalid
insd dword es:[edi], dx
jg 0x49789f
cmp dl, byte [edi - 0x5d]
std
xlatb
pop ss
xor al, 0x13
push eax
shl dword [edx + 0x457c4375], cl
mov edx, 0xb914596a
mov dh, 0x2f
push ecx
pop es
add ecx, eax
xchg esi, eax
xor al, 0x94
insb byte es:[edi], dx
outsd dx, dword [esi]
dec edx
cmp al, 0x75
push esp
invalid
xchg byte [0x7333674f], ah
ffree st(4)
in al, 0xb4
lodsd eax, dword [esi]
popfd
xchg ebp, eax
jne 0x4978b7
dec ebx
jmp 0x497874
push 0x57aa870f
add ebx, dword [ebp + 0x10004c6]
sub eax, 0x9d7bfcd5
cmp al, 0x22
push ebp
jmp 0x497891
add bh, byte [ebx - 0x73564f79]
adc dword [ecx + 0x7cba8679], ebx
shr ah, 0x57
adc edx, dword [edi + 0x37]
xchg byte [edx + 7], cl
xchg edi, eax
push ebx
imul ecx, dword [edi], 0x9a2bd133
xchg byte [edi - 0x35], dl
pop ds
mov word [edi - 0x21], gs
sub byte [eax + ebp*2 + 0xc], al
sbb esp, dword [eax + 0x6ad1ee02]
out 0xee, al
pop esp
test al, 0x87
mov al, byte [0x4ad7efd5]
or dword [ebx - 0x37], edx
and byte [edx + 0x5e7f7c01], bl
and al, 7
mov ebp, 0xec7f167d
push es
mov esp, 0x4f322fa9
int 0x8f
or byte [edx + 0x5d], 0xf2
push edx
inc edx
pop ebx
fst qword [ecx]
movsd dword es:[edi], dword [esi]
aaa
sub eax, 0xde000c87
mov esi, 0xb2c6b51d
ljmp 0x6fcc