Function at 0x49c9b8
Capabilities:
Encode data using xor

Disassembly:
mov dl, 0xc0
mov ah, 0x12
mov al, byte [0x41b160c6]
rol byte [ecx + 0x1b], cl
push eax
and esi, dword [edx + 0x42]
les ebx, [esi + 0x71]
and eax, 0xe97bf2da
mov bl, 0xe
rcl dword [edx], 0xcd
mov word [ecx + 0x78], gs
mov edx, esp
or al, 0x9f
aam 0xea
movsb byte es:[edi], byte [esi]
cli
fsubr dword [0xe57a128d]
jg 0x49ca22
push ss
clc
sub dword [eax + edx*2 + 0x38d3fe2a], 0x87da41ca
sbb al, 0x1f
call [0xa45c8e0c]
imul esp, dword [eax], 0x30
push eax
std
loopne 0x49ca17
inc ebp
fld qword [ebx]
xor al, 0
pushfd
pop edi
xchg byte [eax], ch
dec ebx
push edi
test dword [edi], edi
and al, byte [edx + 0x10]
mov fs, word [ebx - 0x10]
cmp al, 0xe4
or bh, byte [edi - 0x2a31e1db]
salc
clc
push edx
loope 0x49c9a0
jo 0x49c9b6
test al, 0xf9
jo 0x49c979
or bl, cl
and byte [ecx + 0x2add0130], al
pop ebx
fldenv [eax]
xor dword [eax], 0x5b2add01
or byte [ebx], 0xf
push ecx
bound esi, qword [edx - 0x764f1bf2]
ret 0x2a34
out dx, al
invalid
mov byte [eax + 0x13], ah
jle 0x49ca2a
add esp, eax
ret
loopne 0x49c9ec
mov bh, 0x1c
or byte [eax + 0x11], bl
mov dword [ecx], esi
insd dword es:[edi], dx
shr dword [edi - 0x3fb97a70], cl
sbb al, 8
pop eax
adc dword [ecx - 0x532c92cf], ecx
daa
nop
test dword [esi - 0x40], eax
jne 0x49ca62
mov cl, 0xa1
cmpsd dword [esi], dword es:[edi]
and al, 0xba
into
xor byte [eax - 0x4c], cl
cmpsb byte [esi], byte es:[edi]
add byte [esi - 0xff7abcf], 0xd4
jbe 0x49ca52
loop 0x49ca51
mov byte [0xa9f61ff7], al
inc ecx
xchg ebp, eax
in al, dx
loop 0x49caca
neg dword [edi]
pop ds
imul byte [ecx - 0x1d136abf]
jo 0x49ca26
retf
pop es
in al, 0xa0
rol dword [edx + 0x5a7b372], 1
mov byte [eax - 0x2f8e110a], dl
cmpsd dword [esi], dword es:[edi]
add eax, 0xeef69088
jno 0x49ca3a
and bl, byte [ebp - 0x353ca297]
mov esp, 0xfec95ec2
jns 0x49cae9
jne 0x49ca84
mov ebx, 0xaf5d3a31
cmpsd dword [esi], dword es:[edi]
insd dword es:[edi], dx
xchg edx, eax
cmp dh, byte [esi + 0x18]
loopne 0x49cac4
cmp esi, dword [eax + edx + 0x447f9e46]
in eax, dx
mov eax, 0xdb17dc74
pop esp
and dword [esp + esi*8 + 0x2c], 0xffffffb4
adc esp, dword [eax]
adc eax, 0x33e74da0
je 0x49cae8
push edx
and al, al
movsd dword es:[edi], dword [esi]
xchg esp, eax
add dword [ecx], esp
adc byte [edi], cl
shr byte [esi - 0x2c], 1
xor al, 0xb2
invalid
xor cl, byte [edi]
pop es
xor eax, 0xfee24077
loop 0x49caca
shr byte [ecx + 0x14], cl
invalid
jns 0x49cb4e
imul edx, dword fs:[edi], 0x61
imul edx, dword [edi], 0x61
mov cl, 0x83
jns 0x49caf4
mov edx, 0xf2a2e5d4
imul edx, dword [ecx + 0x52], 0x56daafd1
dec eax
invalid
mov byte [0x525169f2], al
shr dword [edi - 0x1b7a926], 1
pop ebx
adc esp, dword gs:[eax + 0x54]
and ah, byte [eax - 0x3c]
cmpsd dword [esi], dword es:[edi]
pop ds
cmp eax, 0x4077212e
push edi
pop es
das
invalid
inc edx
and dword [ebp - 0x215aa238], ecx
mov ebp, 0x8bb2731c
adc byte [ebp + 0x5122983b], bl
rol byte [edx - 0x6d], cl
and dl, byte [ecx - 0x2e]
inc edx
xchg ebx, eax
push esi
adc ah, byte [ecx - 0x19]
outsb dx, byte [esi]
loopne 0x49cbe2
insb byte es:[edi], dx
sub dh, dl
pop eax
and al, 0xb0
adc al, 0x95
or edx, 0x75
and byte [esi - 0xb], bh
add eax, 0xd7d49f80
sar dword [ebp + 0x1c214660], 0xc1
jecxz 0x49cb99
dec eax
or ch, byte [edx + 0x16]
add eax, 0xbc3a1413
or dl, byte [ecx + 0x35f35b8a]
jo 0x49cb8b
pop ds
lea ebp, [esi - 0x589db99a]
xor dh, byte [edi]
jle 0x49cc08
jge 0x49cc0a
inc esi
jg 0x49cb5e
invalid
bound edx, qword [bp + 0x7720]
and bl, byte [esi + edx]
pushfd
xor eax, 0x4d682553
pop ebp
mov ah, 0x79
mov esp, 0xb03008c6
and al, byte [ecx]
or dword [ebx + edx*4], edx
movsd dword es:[edi], dword [esi]
jne 0x49cba0
jl 0x49cc24
mov esi, 0x8757e004
movsb byte es:[edi], byte [esi]
push ds
lahf
push ebx
ljmp 0xb316
or dl, byte [ebp + 0x44]
mov ebx, 0x71e9b255
inc ebx
or eax, 0xc8b03f1d
sbb eax, 0x29c8b03f
fadd dword [edx - 0x1d196d20]
mov bl, 0x86
std
int 0xe1
rcl byte [ebp - 0x69dc7e93], 0x95
sbb dword [ecx], 0
jp 0x49cc4b
invalid
lds ebx, [esi - 0x2887ffb7]
sar byte [eax + edx*2 - 0x3bbfe66a], cl
les eax, [ebp - 0x1f8b4b1d]
push esp
mov cl, 0xb8
inc edi
dec ecx
jae 0x49cc79
and ebx, eax
imul esp, dword [bx + si], 0xfffffffc
pop ecx
sub dh, byte [ebx]
push edi
xor dh, byte [edi + 0x4f]
mov byte [0x9076c386], al
and al, 0x9b
inc esp
mov byte [0x9ca5ed50], al
adc edi, edi
mov ebp, 0xb176857b
out 0xb2, eax
sahf
pop edi
push edx
xchg edx, eax
aas
enter 0x21d9, 0xffffffffffffff9e
call 0xf3449e4b
xchg edx, eax
push ss
sub al, 0xd8
invalid