Function at 0x49e9e2
Capabilities:
Encode data using xor

Disassembly:
add byte [edx + edx*4], ah
inc esi
add al, dl
in al, 0x41
add byte [esi + ecx*4 + 0x46], ah
add byte [eax - 0x53ffb972], ah
pop dword [esi]
push 0x40004500
imul eax, dword [edx], 0x469834
and byte [esi + 0x42], ah
add ah, bl
rol dword [esi], cl
cld
mov byte [esi], al
pushal
jno 0x49e8d8
add byte [esi + esi*2 + 0x45], bh
add al, cl
jne 0x49e8e0
add ah, al
cmc
inc esp
add ah, bl
imul eax, dword [ebp], 0x14
xchg ebp, eax
inc esi
add byte [ecx + ebp*2], dl
inc ebp
add byte [esi*8 - 0xaefffbc], cl
inc esp
add byte [eax], cl
xchg esi, eax
inc esi
add byte [eax + 0x50004525], al
add byte [ebp], al
mov dh, dh
inc esp
add ah, bl
add dword [ebp], eax
cld
xchg edi, eax
inc esi
add al, cl
xchg esi, eax
inc esi
add byte [ebx + eax], dl
inc ebp
add byte [eax + ebx*4 + 0x46], dh
add byte [esi], al
add al, 0x26
inc ebp
add byte [eax + 0x69], ch
inc ebp
add byte [edx + ebp*2], ah
and al, 0x6a
inc ebp
add byte [eax], ah
inc ebp
add byte [eax], cl
push 0x45
add ah, bh
xchg dword [esi], eax
sbb byte [edi + 0x3f500046], bl
inc ebp
add ah, bl
stosd dword es:[edi], eax
inc esi
add byte [edi + ebp*4], bh
inc esi
add al, bh
lodsd eax, dword [esi]
inc esi
add al, ch
aas
inc ebp
add ah, ch
aas
inc ebp
add byte [eax + esi*4 + 0x46], dh
add byte [esi + edi + 0x45], cl
add byte [eax + 0x6b], cl
inc ebp
add byte [eax - 0x49], dh
inc esi
add byte [edi*2 + 0x67c40045], bh
inc ebp
add byte [esp + ecx*8 - 0x7e0fffba], al
inc esi
add byte [eax + 0x64004684], ah
mov ebp, 0x8d880046
inc esi
add byte [esi + ecx*4], al
inc esi
add byte [eax + edx*8 + 0x46], ah
add al, al
mov al, byte [esi]
push 0x400046cb
mov dl, 0x46
add byte [ecx*8 - 0x6807ffba], bl
inc esi
add byte [esi], cl
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add ah, cl
out dx, al
dec eax
add byte [eax], bl
add eax, dword [eax]
add byte [edi], al
add byte [ecx - 0x16], ah
dec ecx
add al, bh
add al, byte [eax]
add byte [eax], al
add byte [ecx], cl
inc edi
jb 0x49e9e5
jne 0x49e9e8
inc edx
outsd dx, dword [esi]
js 0x49e9ad
cld
add al, byte [eax]
add byte [ecx], al
add byte [eax*2 + 0x746964], al
add eax, dword [eax]
add byte [edx], al
add byte [ecx], cl
inc ecx
inc edx
jne 0x49ea08
je 0x49ea05
outsb dx, byte [esi]
add al, 3
add byte [eax], al
add al, byte [eax]
or al, 0x52
insd dword es:[edi], dx
outsd dx, dword [esi]
jbe 0x49ea09
inc edx
jne 0x49ea1b
je 0x49ea18
outsb dx, byte [esi]
or byte [ebx], al
add byte [eax], al
add al, byte [eax]
rsqrtps xmm4, xmmword [ebp + 0x6d]
add byte [edx], al
add byte [edi], cl
push edx
insd dword es:[edi], dx
outsd dx, dword [esi]
jbe 0x49ea1c
inc ecx
insb byte es:[edi], dx
insb byte es:[edi], dx
inc edx
jne 0x49ea31
je 0x49ea2e
outsb dx, byte [esi]
or al, 3
add byte [eax], al
add al, byte [eax]
or byte [edi + 0x4b], cl
inc edx
jne 0x49ea40
je 0x49ea3d
outsb dx, byte [esi]
adc byte [ebx], al
add byte [eax], al
add al, byte [eax]
or al, 0x43
popal
outsb dx, byte [esi]
arpl word [ebp + 0x6c], sp
inc edx
jne 0x49ea53
je 0x49ea50
outsb dx, byte [esi]
add eax, 0x10001100
add byte [eax], dl
jmp 0x49ea32
dec ecx
add byte [edx], cl
inc ebp
imul esi, dword fs:[ebx + eax*2 + 0x68], 0x65676e61
adc eax, 0x49eb9800
add byte [esi], cl
inc ecx
inc edx
jne 0x49ea76
je 0x49ea73
outsb dx, byte [esi]
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0xec100018
arpl word [ebx + 0x18], bp
add byte [eax], dl
in al, dx
imul ebx, dword [eax], 0
adc ah, ch
dec ecx
add byte [ecx], dl
push edx
insd dword es:[edi], dx
outsd dx, dword [esi]
jbe 0x49ea7c
inc edx
jne 0x49ea8e
je 0x49ea8b
outsd dx, dword [esi]
outsb dx, byte [esi]
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0xec80001b
dec ecx
add byte [edx + edx*2], dl
insd dword es:[edi], dx
outsd dx, dword [esi]
jbe 0x49ea94
inc ecx
inc ecx
insb byte es:[edi], dx
insb byte es:[edi], dx
inc edx
jne 0x49eaa9
je 0x49eaa6
outsb dx, byte [esi]
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0xeca00014
adc al, 0
mov al, byte [0xd0049ec]
dec edi
dec ebx
inc edx
jne 0x49eabd
in al, dx
dec ecx
add byte [0x75424b4f], cl
je 0x49eabe
je 0x49eaba
outsd dx, dword [esi]
outsb dx, byte [esi]
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0x6150540f
imul ecx, dword [edi], 0x54
push eax
popal
jae 0x49eaca
ja 0x49eac8
jb 0x49eabf
inc esp
imul esp, dword [ecx + 0x6c], 0x3676f
xor byte [esp + eax*2], cl
add byte [eax - 0x2fffbbe3], cl
xor byte [eax + eax - 0x70], al
je 0x49ea5c
dec ecx
add byte [edi], al
andps xmm2, xmmword [eax + 0x61]
push esp
push eax
popal
jae 0x49eaee
ja 0x49eaec
outsd dx, dword [esi]
jb 0x49eae3
inc esp
imul esp, dword [ecx + 0x6c], 0xe860676f
dec ecx
add byte [eax + 0x5e00465f], al
inc esi
add byte [esi], bl
pop es
add byte [edi], al
inc esp
inc edx
push eax
push edi
inc esp
insb byte es:[edi], dx
add byte [bx + si], al
lea eax, [eax]
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
mov ebx, eax
mov ecx, dword [0x4cfe94]
or eax, 0x4cfe94
dec esp
add byte [ebx - 0x5efe4df7], cl
adc al, 0xe8
dec ecx
add al, ch
inc ebx
sahf
cld
dec dword [ecx - 0x3fcc07bb]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x49e814]
call fcn.004688fc
mov dword [ebp - 8], eax
inc ebp
clc
xor eax, eax
rcl byte [ebp + 0x68], 0xff
ljmp 0x6430
push ebp
push 0x49eaff
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [eax], esp
mov eax, dword [ebp - 8]
add eax, 0x318
mov edx, ebx
call fcn.00406434
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xec]
dec eax
sete byte [ebp - 1]
xor eax, eax
pop edx
add byte [eax + 0xf], cl
xchg esp, eax
inc ebp
push dword [ebx]
rcr byte [edx + 0x59], 0x59
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49eb06
mov eax, dword [ebp - 8]
call fcn.00403710
ret