Function at 0x49ffe9
Capabilities:
Encode data using xor

Disassembly:
popal
and ah, dl
outsd dx, dword [esi]
push es
xchg esi, eax
invalid
invalid
outsb dx, byte [esi]
fild dword [ebp + ecx*4 - 0x6de87ea0]
imul edx, dword [0x5b1b73ba], 0xfc69fd64
cmpsb byte [esi], byte es:[edi]
pop edx
lodsb al, byte [esi]
xchg ebx, eax
pop ss
mov ch, 0x1c
adc bh, byte [edx + 0x7d]
xchg ebp, eax
mov cl, 0x77
push es
cmp ch, byte [edi - 0x396403ef]
xchg ebx, eax
or eax, 0x2a254180
jo 0x49ff0a
out dx, al
and eax, 0x954aeb79
dec edx
xchg ebp, eax
jp 0x49ff29
dec ebx
js 0x49feb9
mov dword [edx], esp
pushfd
call 0x5cddd3b3
and bl, byte [eax + ebp*8 + 0x5c93d47c]
inc esp
insb byte es:[edi], dx
xchg byte [edx + ebp*4], ch
sub eax, 0x7c17ee73
sub esp, dword [edx]
mov eax, dword [0xf15a7100]
jnp 0x49fedb
nop
adc dword [edx - 0x2a080226], eax
xchg ebp, eax
xchg byte [ebx + 0x24da927c], dl
js 0x49fedb
loope 0x49fef7
retf 0x1404
jno 0x49ff6d
test eax, esp
clc
loop 0x49ff2f
pop ecx
shr bh, 0x7e
inc esi
mov ah, 0x94
push ebp
pop edi
shr esi, 1
aad 0xd8
jb 0x49ffdb
cmp edx, esp
dec eax
pop esp
pop edx
jo 0x49ff38
jnp 0x49ffd7
loope 0x49ffd0
invalid
add byte [ebx - 0x7d], ah
rcr byte [ebp + 0x6e7a9cd9], 1
out dx, al
inc esp
xchg ecx, eax
jbe 0x49ff69
pop esp
sar dword [ebp + 0x3e], 1
nop
cli
jb 0x49ff9a
jg 0x4a0049
iretd
out dx, eax
std
adc eax, 0x427a2019
sbb edi, esi
insb byte es:[edi], dx
test dword [ebx + eax + 0x3147e0e0], edx
outsb dx, byte [esi]
jae 0x4a002b
xchg esp, eax
add esp, eax
loopne 0x4a0027
loopne 0x49ffbf
inc edi
xor dword [esi + 0x73], ebp
inc edi
sbb eax, 0xd5517690
pop ebp
fadd dword [edi - 0x1b]
inc esi
in eax, 0x46
in al, dx
jle 0x4a006e
mov byte [0x70e13a18], al
sbb byte [esi + 0x7aff57f4], cl
sbb ch, cl
call 0xd738a086
xchg ecx, eax
sbb dword [esi + eax*2 + 0x3a], eax
inc edx
push ss
cld
push esp
mov edi, 0xb138edd4
inc ebx
or dword [ebx - 0x122c69], ebx
call 0x7851f326
jae 0x4a008d
sbb eax, 0x65bdd080
cmp eax, 0x275f13fb
sti
adc ebx, dword [edi + 0x27]
scasb al, byte es:[edi]
push 0x24b01905
js 0x49ffdd
out dx, eax
mov bl, 0x33
mov dl, 0x5d
xor dword [ecx - 3], 0x54
xor esi, dword [edx - 0x28e7ca3]
push esp
xchg byte [esi + 0x7b], dl
sub eax, 0x880f426d
and al, 0x96
cli
mov eax, dword [0xb29b149d]
and eax, 0xbfcb6d03
jne 0x4a0035
adc al, 0x9b
mov dl, 0x25
add ebp, dword [ebp - 0x35]
mov edi, 0x55d5e275
aad 0x55
jnp 0x4a009a
xchg ebx, eax
mov esp, 0x77c20666
loopne 0x49ffec
cmp ebp, 0x917f554c
sub cl, byte [esi]
test dword [ebp - 0xbe1ea52], 0xe29e5eb4
and al, 0x3a
dec eax
insb byte es:[edi], dx
mov ah, 0x5e
sahf
loop 0x4a0097
cmp cl, byte [eax + 0x6c]
sub byte [edi - 0x5cecf8e8], dh
inc edx
std
mov edi, 0xb34d7594
pop ebp
inc ecx
mov dword [ebx], esi
push ebx
aaa
in eax, dx
sbb dword [esi], esp
jnp 0x4a008c
jnp 0x4a008c
lcall 0x57f2, 0x7c335185
push edi
or ebx, edi
out 0xfe, eax
cmp byte [esi - 0x3a51306d], ah
nop
invalid
jno 0x4a00ff
cmpsb byte [esi], byte es:[edi]
arpl word [edi - 0x6fbecd2d], cx
in al, 0x5d
xchg edx, eax
inc edi
adc eax, 0x77c74a49
popal
and ebx, edi
std
push cs
mov ebx, 0x7bae7091
jnp 0x4a0096
salc
add al, 0x91
loopne 0x4a004b
sbb al, 0x51
jge 0x4a00ba
add edi, eax
invalid
jo 0x4a00be
mov ebx, dword [0xb7116f9d]
jno 0x4a0118
adc dword [edi + 0x779f0f71], esi
mov bl, 0x2e
push dword [edi]
lahf
ja 0x4a00bf
push dword cs:[edi]
jne 0x4a011d
ja 0x4a00a2
mov bh, 0x7a
cwde
jge 0x4a0126
jl 0x4a0174
adc eax, dword [eax - 0x7983fe0e]
insd dword es:[edi], dx
add dword [esi + eax*4 + 0x6d], edi
invalid
imul edi, dword [edx - 0x13], 0x6b11af49
stosb byte es:[edi], al
scasb al, byte es:[edi]
hlt
pop edx
shl dword [ecx + edx*4], cl
loope 0x4a01b1
call [edx - 0x3e]
ror esi, 1
sti
jg 0x4a0105
pop eax
rol dword [eax], 1
mov dword [0xaf2b8366], eax
pop ebp
xchg edx, eax
int 0x6b
and ch, bl
adc ch, bh
out 9, al
dec esp
and al, 8
mov dword [esp + 0x18], edx
mov ecx, dword [eax + 0xc]
mov edx, dword [ebx + 0xc]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x1c], edx
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
and al, 0x4c
xor ecx, ecx
movq mm5, qword [esp + 0x54]
movq mm4, qword [esp + 0x5c]
cvtpi2ps xmm6, mm5
cvtpi2ps xmm7, mm4
movd mm6, dword [esp + 0x3c]
movd mm7, dword [esp + 0x40]
movss xmm0, dword [ebp]
movss xmm1, dword [edx]
unpcklps xmm0, xmm1
add edx, 4
cvtps2pi mm0, xmm0
add ebp, 4
movaps xmm2, xmm0
movlhps xmm2, xmm7
movlhps xmm6, xmm0
cmpltps xmm2, xmm6
movmskps eax, xmm2
cmp eax, 0
jne 0x4a0252
movq mm1, mm0
psrlq mm0, 0x20
pmuludq mm0, mm7
movd esi, mm0
movd ebx, mm1
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], edx
add ebx, esi
mov edi, dword [esp + 0x10]
mov esi, dword [esp]
mov ebp, dword [esp + 4]
mov al, byte [esp + ecx*8]
int3
aas
ret 0x5234