Function at 0x49b6b8
Capabilities:
Encode data using xor

Disassembly:
add byte [esi], al
sub byte [edx + 0x2a0a0000], ch
add byte [ebx], dl
xor byte [ebx], al
add byte [ebx], ch
add byte [eax], al
adc byte [eax], al
add byte [ecx], dl
sub byte [ebx + 0x730a0000], ch
or dh, byte [ebx - 0x54]
or dh, byte [ebx - 0x54]
add byte [eax], al
or cl, byte [edx]
add cl, byte [ebx]
push ss
or al, 0x2b
push edx
pop es
or byte [edx + 0x1d74], bl
add dword [0x9041314], ecx
outsd dx, dword [esi]
lodsd eax, dword [esi]
add byte [eax], al
or dh, byte [ebp + 0x4e]
add byte [eax], al
add dword [ebx], edx
add eax, 0xb2c0511
adc dword [0xae73], eax
or dl, byte [ebx]
add al, 0x2b
or byte [ecx], cl
jae 0x49b69f
add byte [eax], al
or dl, byte [ebx]
add al, 6
adc dword [edi + ebp*2], eax
mov al, 0
add byte [edx], cl
outsd dx, dword [esi]
mov cl, 0
add byte [edx], cl
sub eax, 0x411060f
outsd dx, dword [esi]
mov al, 0
add byte [edx], cl
adc dword [edi + ebp*2], eax
mov dl, 0
add byte [edx], cl
or byte [edi], dl
pop eax
or al, 8
pop es
mov gs, word [ecx + 0x32]
test al, 6
sub al, byte [eax]
adc esi, dword [eax]
add al, byte [eax]
push ebp
add byte [eax], al
add byte [ecx], dl
add byte [eax], al
adc dword [ebx - 0x4d], esi
add byte [eax], al
or cl, byte [edx]
add cl, byte [ebx]
push ss
or al, 0x2b
inc ecx
pop es
or byte [edx + 0x1d74], bl
add dword [0xad6f09], ecx
add byte [edx], cl
jne 0x49b79a
add byte [eax], al
add dword [ebx], edx
add al, 0x11
add al, 0x2c
clts
adc dword [ebx + esi*2], eax
mov ah, 0
add byte [edx], cl
outsd dx, dword [esi]
mov ch, 0
add byte [edx], cl
sub edx, dword [ecx + ecx]
adc eax, dword [0xd2c0511]
push es
adc dword [0xb673], eax
or ch, byte [edi - 0x4b]
add byte [eax], al
or cl, byte [eax]
pop ss
pop eax
or al, 8
pop es
mov gs, word [ecx + 0x32]
mov ecx, 0x2a06
add byte [ebx], dl
xor byte [ecx], al
add byte [eax], bl
add byte [eax], al
add byte [edx], dl
add byte [eax], al
adc dword [edx], eax
jne 0x49b7c4
push es
sub al, byte [eax]
add byte [eax], al
adc esi, dword [eax]
add dword [eax], eax
sbb byte [eax], al
add byte [eax], al
adc al, byte [eax]
add byte [ecx], dl
add dh, byte [ebp + 0x31]
add byte [eax], al
sbb ecx, dword [edx]
push es
sub eax, 0x4674020c
add byte [eax], al
add dword [edi - 0x49], ebp
add byte [eax], al
or cl, byte [edx]
push es
add dh, byte [esi + eax*2]
add byte [ecx], al
outsd dx, dword [esi]
mov bh, 0
add byte [edx], cl
or al, byte [esi]
sub dl, byte [ebx]
xor byte [ebx], al
add byte [ebp + 0x13000000], bh
add byte [eax], al
adc dword [ebx + 0x54], esi
pop es
add byte [esi], al
or al, byte [esi]
add eax, 0x2167d
add al, 6
push cs
add al, 0x7d
pop ss
jge 0x49b7dd
add al, byte [eax]
add al, 6
push cs
add eax, 0x2187d
add al, 0x14
or eax, dword [edx]
outsd dx, dword [esi]
xchg ebx, eax
add byte [eax], al
push es
sub al, 0x1a
add ch, byte [edi - 0x6d]
xchg ebx, eax
add byte [eax], al
push es
adc al, 0x6f
int1
add byte [eax], al
push es
add dl, byte [edi + ebp*2]
xchg esp, eax
add byte [eax], al
push es
add ch, byte [edi - 0x6f]
add byte [eax], al
push es
or eax, dword [ebx]
add al, 2
outsd dx, dword [esi]
nop
add byte [eax], al
push es
jae 0x49b77f
add byte [eax], al
push es
or al, 7
sub byte [edi], cl
add byte [edx], cl
sub eax, 0x6f070807
xchg edx, eax
add byte [eax], al
push es
push es
jnp 0x49b82b
add al, byte [eax]
add al, 0x2c
or byte [esi], al
jnp 0x49b834
add al, byte [eax]
add al, 0x2d
add cl, byte [eax]
sub cl, byte [eax]
outsd dx, dword [esi]
xchg edi, eax
add byte [eax], al
push es
push es
inc byte [esi]
push ebp
pop es
add byte [esi], al
jae 0x49b7eb
add byte [eax], al
or ch, byte [edi - 0x47]
add byte [eax], al
or cl, byte [0x8022d09]
sub cl, byte [eax]
add byte [edx], cl
outsd dx, dword [esi]
mov ecx, 0xd0a0000
or dword [0x82a0802], ebp
or dword [edi - 0x6c], ebp
add byte [eax], al
push es
or dword [edi - 0x12], ebp
add byte [eax], al
push es
push es
inc byte [esi]
push esi
pop es
add byte [esi], al
jae 0x49b811
add byte [eax], al
or ch, byte [edi - 0x45]
add byte [eax], al
or dl, byte [ebx]
add al, 0x11
add al, 0x2d
add cl, byte [eax]
sub cl, byte [ecx]
adc dword [edi + ebp*2], eax
int1
add byte [eax], al
push es
or byte [edx], ch
mov ch, byte [eax]
jl 0x49b875
add byte [edx], cl
sub byte [edx], ah
add al, byte [eax]
push es
sbb dword [ebp + 0x100001c], ecx
and eax, 0x25a20216
pop ss
add esp, dword [edx - 0x5dfbe7db]
sub byte [ebp], dh
add byte [edx], cl
sub al, byte [edx + 0x7e072d02]
add byte cs:[eax], al
or dl, byte [eax]
add byte [edx - 0x63], dh
cmp al, 0
jo 0x49b8a7
sub byte [eax + eax - 0x628df600], bh
add byte [eax], al
or dh, byte [edx - 0x63]
cmp al, 0
jo 0x49b8d8
mov ebp, 0x2a0a0000
add byte [eax], al
add byte [ebx], bl
xor byte [edx], al
add byte [esi], dh
add byte [eax], al
add byte [eax + eax], dl
add byte [ecx], dl
add ch, byte [edi - 0x42]
add byte [eax], al
or ch, byte [edi - 0x41]
add byte [eax], al
or ch, byte [edi - 0x40]
add byte [eax], al
or dh, byte [edx - 0x5f]
cmp al, 0
jo 0x49b949
rol dword [eax], 0
or cl, byte [edx]
push es
sub eax, 0x2a1402
push es
outsd dx, dword [esi]
ret 0
or ebx, esi
or ah, byte [esi]
adc al, 0xb
fiadd word [0xde0b1426]
add byte [edi], al
sub al, byte [ecx]
inc eax
add byte [eax], al
add byte [eax], al
adc eax, 0x251000
add eax, 0x1000057
add byte [eax], al
adc eax, 0x2a1000
add eax, 0x1000058
add byte [eax], al
adc eax, 0x2f1000
add eax, 0x1000059
add byte [eax], al
adc eax, 0x341000
add eax, 0x100005a
add byte [eax], al
adc eax, 0x391000
add eax, 0x100005b
sbb esi, dword [eax]
add al, 0
inc ebx
add byte [eax], al
add byte [esi], dl
add byte [eax], al
adc dword [edx], eax
add al, 0xe
add al, 0x6f
ret