Function at 0x4a1d9a
Capabilities:
Encode data using xor

Disassembly:
pop ebp
add al, 0
add byte [ebp + 0x5c80059f], dl
sub eax, dword [eax]
add byte [esi + 0x80059f], dl
add byte [ecx], al
xchg esi, eax
lahf
add eax, 0x1000080
add byte [eax], cl
add byte [0x4101af00], dl
outsb dx, byte gs:[si]
je 0x4a1e02
jae 0x4a1e1d
popal
push ebx
dec ecx
dec ecx
push ebx
and dword [ebp + 0x54], ecx
inc edx
add byte [eax], al
add dword [eax + 5], eax
xor byte [eax], 4
add bh, ah
push eax
add byte [eax], al
add byte [eax], al
dec esp
add byte [edi], dl
aas
cld
jae 0x4a1d8e
ljmp 0xbcc2:0xbc80e68f
invalid
xchg esi, eax
lahf
add eax, 0x2b5c80
add byte [edi + 0x80059f], dl
add byte [ecx], al
add byte [eax], cl
add byte [0x4101af00], dl
outsb dx, byte gs:[si]
je 0x4a1e8d
jae 0x4a1ea8
popal
inc ecx
push ebx
inc ebx
dec edi
and dword [ebp + 0x54], ecx
inc edx
add byte [eax], al
add al, byte [eax + 5]
xor byte [eax], 4
add byte [edi + 0x16], ah
add byte [eax], al
lodsd eax, dword [esi]
scasb al, byte es:[edi]
cmp al, 0x67
ja 0x4a1eb7
xchg ecx, eax
xor byte [edx + 0xad164e], bl
or cl, byte [esi]
add byte [ecx], al
and byte [edi + 0x788d6ecb], bh
pop esp
add byte [eax], al
add al, byte [eax]
add al, byte [eax]
add al, byte [eax]
add byte [ecx], al
add byte [ebx], dh
add edx, dword [ecx]
push es
mov gs, word [ecx + 0x17]
ficom dword [ebx]
pop ds
push ss
adc esp, dword [eax]
sub ebx, dword [edx]
adc dword [edi], eax
adc dword [esi], eax
adc dword [eax], esp
lcall 0x101, 0x9028101f
pop ds
adc byte [eax], ch
nop
add dword [ecx], eax
add byte [eax], al
or ch, byte [edi - 0x70]
add dword [ecx], eax
add byte [eax], al
or al, byte [eax]
adc dword [eax], esp
pop ss
salc
adc esp, dword [eax]
adc dword [eax], esp
adc dword [edi], ebx
xor eax, esp
nop
add byte [ecx], al
add byte [edi], dl
add dword [ecx], 0x616e6946
insb byte es:[edi], dx
pop edi
push eax
jb 0x4a1f29
push 0x65
arpl word [esi + ebp + 0x52], si
jae 0x4a1f32
jne 0x4a1f37
arpl word [ebp + 0x73], sp
add byte [eax], al
pop ebp
add al, 0
add byte [edi + 0x5c80059f], dl
sub byte [eax], al
add byte [eax + 0x80059f], bl
add byte [ecx], al
add byte [eax], cl
add byte [edx], dl
add byte [edi + 0x79705301], ch
outsb dx, byte [esi]
outsd dx, dword [esi]
outsd dx, dword [esi]
outsb dx, byte [esi]
inc ecx
push ebx
inc ebx
dec edi
and dword [ebp + 0x54], ecx
inc edx
add byte [eax], al
add dword [eax + 5], eax
xor byte [eax], 4
add byte [eax + 0x67], bh
add byte [eax], al
add al, byte [eax]
add al, byte [eax]
add al, byte [eax]
add byte [ecx], al
add byte [eax], dh
add ecx, dword [ebx]
push ss
or ch, byte [ebx]
sbb dword [edi], eax
push es
or byte [esi], al
sbb byte [edx + 0x18], bl
outsd dx, dword [esi]
nop
add dword [ecx], eax
add byte [eax], al
or bl, byte [edi]
adc byte [eax], ch
nop
add dword [ecx], eax
add byte [eax], al
or dl, dl
pushfd
push es
pop ss
pop eax
or al, byte [esi]
rcr byte [esi + eax + 0x60a5817], cl
pop es
mov gs, word [ecx - 2]
add al, 0x13
pop es
imul edi, esi, 0x11071304
pop es
adc dword [edi], eax
sub eax, 0x10090db
add byte [0x75510181], ah
popal
outsb dx, byte [esi]
pop edi
dec esp
jns 0x4a1fa9
push esp
push 0x69565f75
outsb dx, byte gs:[esi]
push eax
jb 0x4a1fc5
jo 0x4a1fbd
jb 0x4a1fce
imul esp, dword [ebp + 0x73], 0x7365522e
outsd dx, dword [esi]
jne 0x4a1fd6
arpl word [ebp + 0x73], sp
add byte [eax], al
pop ebp
add al, 0
add byte [eax + 0x5c80059f], bl
sub byte [eax], al
add byte [ecx + 0x80059f], bl
add byte [ecx], al
add byte [eax], cl
add byte [edx], dl
add byte [ecx + 0x6d726f46], ch
inc edx
outsd dx, dword [esi]
outsd dx, dword [esi]
imul ebp, dword [esi], 0x41
inc esi
dec ebx
and dword [ebp + 0x54], ecx
inc edx
add byte [eax], al
or dword [eax + 5], eax
xor byte [eax], 4
add byte [edi + 0x16], ah
add byte [eax], al
cmp byte [edi], cl
lock add byte [edx + edi*8 - 0x360c0b42], dl
leave
enter 0xf4, 0x52
or al, byte [eax]
add dword [eax], esp
mov dh, 0xd8
cmp dword [edi + 0x16], edx
add byte [eax], al
and al, 0x81
adc dword [eax], ebx
jns 0x4a1f8f
add byte [ebx], ah
jb 0x4a2042
jp 0x4a1f9f
add byte [eax], ah
add eax, dword [eax]
add dword [eax], esp
add dword [ecx + ebx*2 + 0x166718], eax
add byte [ebx], bl
test byte [ecx + 0x18], bl
push ss
add byte [eax], al
sbb esi, dword [ebx]
invalid
xor eax, edi
sub eax, ebp
lcall 0x91ee, 0xf53bd6d2
add byte [esi], dh
add eax, dword [eax]
add dword [eax], esp
adc dl, byte [edi + ecx*2 - 0x6f]
push ss
add byte [eax], al
cli
aam 0x15
inc esp
cmp edi, dword [edi + 0x527c0738]
jae 0x4a200e
pushal
scasb al, byte es:[edi]
or al, byte [eax]
add dword [eax], esp
sti
and dword [edi + 0x16674f], 0xbd9c7800
imul eax, ecx, 0x5ae1bc95
call 0x444ad5e4
xchg ebp, eax
mov esp, 0xcde85ae1
mov ch, 0
inc esp
add eax, dword [eax]
add dword [eax], esp
aam 0x62
push esp
sub ah, byte [edi + 0x16]
add byte [eax], al
xor ch, ah
sub ecx, eax
mov esp, 0x1a41dae3
cmp eax, dword [edi*4 + 0x9ea00]
add dword [eax], esp
aas
inc ebx
dec ebp
xchg dword [edi + 0x16], esp
add byte [eax], al
invalid
retf 0x28ec