Function at 0x496a09
Capabilities:
Encode data using xor

Disassembly:
mov ebp, 0xb8c91cf5
mov ch, 0x4c
pop esi
cmp esi, dword [edi + 0xe]
jb 0x496a8f
mov esp, 0x1bddf130
int3
mov edi, 0x2e77e3cb
jg 0x496a58
jg 0x496a58
push ebx
cmpsd dword [esi], dword es:[edi]
jnp 0x496a74
cdq
push ecx
cmp esi, dword [esi]
or al, byte [ebx - 9]
fst qword [ebp + 0x41]
adc eax, 0x48fd79ed
fdiv qword [esp + ebp]
xor al, 0x2c
mov ah, byte [ecx]
cmp edi, dword [esi - 0xa]
push cs
mov dl, byte [edx - 0x7a]
add eax, 0xdc57d1f0
daa
mov ch, 0x45
xor byte [esp + esi*2 + 0x63], dl
loopne 0x496ad1
sub al, 0x41
push cs
dec edx
popal
dec edx
add byte [edx - 0x4f], ch
add cl, byte [edx + ecx*2]
or al, 0x4a
insb byte es:[edi], dx
jp 0x496afb
lcall 0x4fec, 0x9a573a2c
or al, 0xad
xchg edx, eax
scasb al, byte es:[edi]
add dh, ah
in al, dx
in al, dx
add byte [edx + 0x20], ch
cmpsb byte [esi], byte es:[edi]
outsb dx, byte [esi]
stosb byte es:[edi], al
loopne 0x496a5d
or al, 0x4c
pushfd
push 0xc
mov al, byte es:[0xe6660c2a]
push 0xc
push 0xffffffffffffffec
arpl word [esi - 0x608a4c74], di
xor esp, ebx
rcl bl, 1
invalid
jae 0x496a9a
lds eax, [edx - 0x55]
jb 0x496aaa
sar byte [ebx - 0x2b], 0xfc
xor esp, dword [eax + 0x5c]
jae 0x496a97
pop ebx
lahf
lahf
nop
das
test dl, cl
mov dword [0xf95e7205], eax
mov dword [0x2a3f4097], eax
xchg edx, eax
outsd dx, dword [esi]
mov ch, 0xff
mov cl, 0x13
adc al, 0xee
dec esi
imul edx, dword [eax], 0x72798bae
jnp 0x496b52
mov edi, 0x6545474d
push ds
das
retf
inc edi
mov ecx, dword [edi - 0x5b]
adc dword [eax - 0x15422b], 0x4e
ror dword [edx - 0x39], 1
mov dword [edi + 0x58], ebp
lcall 0x3f82, 0x87594193
add bl, bh
push ecx
in eax, dx
fist word [ecx - 0x13]
lahf
cmp dword [ecx - 0x24], 0x774e4026
wait
push ebx
out dx, eax
add al, byte [eax - 0x72]
mov edi, 0xb3434f50
dec edi
push esi
add byte [ebx - 0x3ef843ef], 0xf3
xor eax, dword [edi - 0x7161bdcc]
fcomp qword [eax]
pushfd
sti
adc edx, dword [ebx + 0x1c1fa302]
lock xchg dword [ecx - 0x6b], ebp
push ecx
pushfd
mov al, byte [0xce47d28f]
add dword [edi + 1], ebx
jecxz 0x496b6b
dec edi
xor ebx, esi
jae 0x496c0c
mov bh, 0x81
mov ebp, 0x9e8eb833
sub al, 0xf4
add edi, dword [esi + 0x44be3f96]
ret
jno 0x496c1e
dec edi
ucomiss xmm1, dword [edi + ecx*2]
movsb byte es:[edi], byte [esi]
aas
ret 0x9e02
popfd
into
and bl, 0x96
fadd st(7)
pop esi
inc eax
test dword [ebx], eax
xlatb
or dword [eax + edi*2 + 0x5f], eax
push ecx
test dword [0x21204695], esi
xor eax, 0x21204695
add dword [esi], ebp
outsd dx, dword [esi]
dec esp
adc dword [ebx], ebx
jp 0x496bf1
ror dl, 1
adc al, 0x84
jne 0x496ca8
inc eax
add bh, byte [edi + edx*4 - 0x74]
sahf
loop 0x496c5c
cmc
aam 0xa4
mov edx, 0x80b02144
pushal
sub eax, 0xd60030dc
or esi, dword [esi - 0x714a7557]
stosd dword es:[edi], eax
mov ebx, edi
inc esi
fld qword [ecx]
aad 0x86
mov bh, 0x99
in eax, 0x11
mov cl, 0xc5
test ebp, esp
dec esp
in eax, 0x4c
fdiv st(1), st(0)
loopne 0x496c55
inc esi
adc al, 6
idiv dword [esi - 0x50]
test eax, esi
push ebx
test al, 0x3a
and edi, 0x92de5d41
aaa
enter 0xffffffffffffb2f4, 0xffffffffffffffd9
mov ebx, dword [esi - 0x7c8dfa7c]
jle 0x496c98
add eax, 0x187e8372
xchg edi, eax
adc al, 2
xchg ebp, eax
ret
jae 0x496c63
loope 0x496c7b
test bl, cl
stosb byte es:[edi], al
xchg esi, eax
and dword [eax + edx], 0x6ee6d4ef
invalid