Function at 0x496209
Capabilities:
Encode data using xor

Disassembly:
adc ebp, dword [edx + 0x6c133227]
lahf
dec edx
ror byte [edi + 0x5f4b4c33], cl
jp 0x4961d6
sbb eax, 0x2169d29e
test byte [edx], dl
push edx
invalid
mov dword [0xaf5a7209], eax
xor esi, esi
jge 0x4961c8
add dl, byte [edx]
xchg ecx, eax
cwde
adc eax, 0x906b1fb9
mov dword [ecx - 0x76c40948], ecx
in eax, dx
add ch, bh
mov ah, 0xa8
dec ecx
movsd dword es:[edi], dword [esi]
sbb al, al
aaa
sbb al, 0x91
cld
pop ebx
enter 0xffffffffffff9b1c, 0xffffffffffffff90
je 0x49626f
test al, 0x78
invalid
dec eax
wait
sbb ecx, dword [edi + 0x3298125a]
xor dword [ebp + 0x12], ebx
and dl, byte [esi]
and eax, 0xd9787ada
mov bl, 0xd6
movsb byte es:[edi], byte [esi]
push 0xbb21515b
xchg edx, eax
dec eax
jnp 0x49629f
imul edi, dword [eax], 0x33482d12
stosd dword es:[edi], eax
mov byte [eax - 0x42], cl
cli
ret
inc ecx
sbb dword [ecx - 0x16d889c8], ebx
bound esi, qword [edx]
jns 0x4962db
xor bh, byte [ecx + 0x31]
push edx
cmp eax, 0x9ce37a3b
ror dword [edx + 0x527b9fba], 1
lahf
jnp 0x496308
jne 0x4962a7
push 0xada32932
mov byte [0xda0e9b49], al
and esi, dword [edx + 0x1f181a05]
jns 0x4962b3
retf
mov dword [0x799d18ed], eax
in al, 0x52
push esi
jno 0x496362
inc esp
lahf
xor byte [edi], ch
jo 0x4962bf
jo 0x4962fc
or cl, byte [edx]
stc
pop ebx
retf
jnp 0x49631b
dec ecx
cmp byte [ebx - 0x44], 0xc
fmul dword [edx - 0x77107180]
jnp 0x4962e7
or byte [esi - 0x26847711], 0x4e
dec esi
neg byte [edx]
cmc
push ebx
jnp 0x49636f
ret 0x9d91
push ds
dec dword [ecx]
push 0xfc7b080d
mov byte [esi - 0x41], dl
pop ebx
mov edi, 0xf5801e8a
inc edi
aad 3
or eax, 0x2c710ef3
test al, 0x9d
bound ebx, qword [ecx - 0x5b8559e1]
pop esp
cmpsb byte [esi], byte es:[edi]
pushal
outsd dx, dword [esi]
pop ebp
add eax, 0xd9fdebb8
pushal
loop 0x496341
lea edx, [ecx - 0x7f]
jae 0x4963b8
rcl dword [edx]
clc
sbb byte [esi + ebx*4], 7
pushfd
jae 0x496308
cmc
mov cl, 0xf7
mov cl, 1
lodsb al, byte [esi]
mov dh, 0xe
loopne 0x4962ff
inc ebp
push dword [ecx]
jl 0x4963ca
pop ebx
invalid
rcr dword [esi - 0x5d8e9067], 0x9e
fmul dword [esi - 0x5bdf2a07]
or byte gs:[ebx - 0x3b], dh
loop 0x496351
frstor dword [ebx - 0x5ace1070]
movsd dword es:[edi], dword [esi]
cwde
push esp
and dword [ebp + 0x70d4f5f0], ebp
invalid
stosd dword es:[edi], eax
lea eax, [eax + edx]
xchg dword [eax - 0x24], esi
lcall 0x17, 0xbb942489
sub byte [0xf092c753], 0xee
sub eax, 0xf092c753
out dx, al
jo 0x496387
add eax, 0x3b6680bd
imul esi, dword [eax - 0x30], 0x8d976cc0
in eax, dx
jno 0xa107115c
lodsd eax, dword [esi]
mov ebp, 0xed60c0a0
jl 0x496425
shl byte [eax - 0x13], 0x7c
push ebx
inc ebx
call 0xbaee7357
cwde
test esi, esi
jb 0x49638a
jb 0x49636f
jl 0x496366
sti
and edi, dword [ebp - 0x2bd692f]
invalid
popfd
or al, 0xe1
iretd
fcom dword [eax - 0x80]
jae 0x4963a3
push eax
xor byte [ebx - 0x7d], 0xf3
cli
cli
push ds
test al, 0x14
mov dword [esi + esi + 0x71], esi
lodsb al, byte [esi]
push ebx
test eax, 0xc94d4852
mov cl, byte [ecx - 0x12]
test byte gs:[ecx + 0x15e53098], 0x35
cmpsb byte [esi], byte es:[edi]
jl 0x496456
sub byte [ebx + ebx*2 + 0x60e09d85], bh
mov ds, word [ebp + 0x3d]
arpl si, si
rcr dword [ebx + 0x2d39d5], cl
inc ebx
lodsb al, byte [esi]
stosb byte es:[edi], al
leave
out dx, al
add eax, 0xcd74e627
arpl word [ebp + 0x5797760], bx
jb 0x496405
xor dl, ah
cwde
adc dword [edx], edx
push ebp
scasb al, byte es:[edi]
xchg ecx, eax
and byte [ebp + 0x70], al
push esp
fnsave dword [ebp - 0x4f95bc6e]
test al, 0xbd
jno 0x49641c
cwde
or byte [edx], ch
shr byte [eax], 1
cmp eax, 0x8d9e1450
jbe 0x4964d8
out dx, al
test al, 0x53
stosb byte es:[edi], al
jge 0x49641b
test dword [eax - 0x42], edi
scasb al, byte es:[edi]
mov edi, 0xa96badf3
xchg byte [edi + 0x7c4daf6a], bh
push esp
lodsd eax, dword [esi]
retf 0xe90d
mov byte [0x31ad7f09], al
lea esi, [eax - 0x61]
or ebx, 0x76
sal dword [edx - 0x44], cl
adc al, 0xe8
fild dword [edx - 0x47]
push eax
xchg edi, eax
jae 0x49647d
xor al, 0x3e
inc ebp
int3