Function at 0x4c2038
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x802c28
push eax
push dword fs:[0]
mov dword fs:[0], esp
xor eax, eax
mov dword [eax], ecx
push eax
inc ebp
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x4c20b8
arpl word [edx + esi], si
sub ebx, edx
mov cl, 0xf1
xlatb
push es
sbb edi, dword [ecx - 0x3f]
invalid
ljmp 0x6b38:0x609486aa
jmp 0x4c2107
mov eax, 0xbd40cc6d
mov dl, 0xe3
adc esi, dword [ecx + eax*4 - 0x69]
ja 0x4c2157
push cs
jmp 0x4c20ff
sbb eax, 0x1957bac
leave
pop esp
pop edi
rcl byte [ecx + 0x2c], cl
xchg ecx, eax
into
cli
adc al, byte [esp + esi*8 - 0x5f49d614]
fisub word [ebx]
retf
push eax
out 0xad, eax
jne 0x4c2085
lds eax, [edi + 0x12]
loop 0x4c2121
sbb byte [ebx + 1], bh
jnp 0x4c210c
pop ebx
test esi, esp
int1
push esp
push ebx
inc edx
sbb esi, ebx
mov al, 0xd8
jmp 0x4c2173
arpl word [edx], cx
and al, 0xb8
jg 0x4c20dc
xchg esp, eax
mov ch, 0x30
dec eax
insb byte es:[edi], dx
sub dword [edi - 0x30], 0xffffffcc
out dx, al
xchg esi, eax
jns 0x4c2130
int3
inc esi
mov byte [0xddb6addb], al
outsd dx, dword [esi]
jbe 0x4c20cb
mov esi, 0x93639b4d
sbb al, 0x4f
lodsd eax, dword [esi]
mov dh, 7
push cs
mov dword [0xdbf16f09], eax
xchg ebp, eax
jnp 0x4c2187
sal byte [eax - 0x7fc44b88], 1
jg 0x4c21c2
push 0xffffffffffffffb4
std
je 0x4c2108
daa
xchg ecx, eax
lodsb al, byte [esi]
wait
cmpsb byte [esi], byte es:[edi]
loope 0x4c218a
or bh, byte [edi]
add dword [eax + 0x53], esi
jmp 0xecb9c965
mov dl, 0x14
aas
push 0xe360832e
cmp eax, 0xfb02c1f6
cmp al, 1
or dword [edx], ebx
std
fcmovnbe st(0), st(0)
mov ebp, dword [edx - 0x5d0f13f2]
adc edi, dword [edx + 0x7a51da97]
into
ror byte [ebx - 0xf13f156], 1
mov byte [0xda97ba13], al
push ecx
jp 0x4c2163
stosb byte es:[edi], al
push cs
in al, dx
invalid
pop edi
and esi, esp
and esi, dword [eax]
xlatb
fsubr st(0)
les esp, [ecx]
movsb byte es:[edi], byte [esi]
cdq
jb 0x4c2189
mov byte [0x92e56eb7], al
pop esi
sbb ecx, dword [ecx - 0xe23b27c]
fimul dword [ebp + 0x6d9db7b3]
inc esi
push eax
daa
cmp dword [eax + 0x79], edx
jmp 0xac551d7b
push ecx
movsd dword es:[edi], dword [esi]
lahf
push 0x43
jns 0x4c2182
arpl word [edi], bx
loope 0x4c220b
inc edx
sbb ebx, dword [ecx]
scasb al, byte es:[edi]
cmp eax, 0x3627654
in al, 0x39
mov esp, 0xd54881ef
cli
add esp, esp
cmp dword [edi + ebp*8 - 0x52ab77f], edi
or eax, dword [edx + esi*2 - 0x5078010a]
xchg ebx, eax
movsb byte es:[edi], byte [esi]
scasd eax, dword es:[edi]
or eax, 0xa04a4a3
cli
in eax, 0x29
test eax, 0x72a3e32d
nop
bound ecx, qword [edi + 0x39ec9b0b]
das
nop
inc eax
sub dword [ebx + 0x702de0a0], ebx
enter 0xffffffffffffbaed, 0xffffffffffffffd7
xlatb
sbb al, 0xc6
movsd dword es:[edi], dword [esi]
aas
cli
push ss
inc esi
xchg edi, eax
mov eax, 0xce44e01b
nop
xor eax, 0xe810c96d
push edx
leave
test eax, 0x5b6df97f
push edi
sbb eax, 0x25ec5134
pop ecx
test al, 0x83
out 0xa1, eax
mov ch, al
std
mov al, 0xee
je 0x4c21d6
scasd eax, dword es:[edi]
dec eax
lodsb al, byte [esi]
mov byte [0x15929bc], al
pop ds
sbb dword [esi + esi*8 - 0x6c], eax
pop esp
pop ecx
mov al, byte [0xb72a968]
and al, 0x2b
cmc
dec esi
inc esp
mov al, byte [0xef1bd5b3]
mov ebp, 0x84565422
mov dword [0xa6cbe511], eax
outsb dx, byte [esi]
push ecx
les ecx, [ecx + 0x1b]
sbb al, 0xce
xor eax, eax
pop es
pop ecx
movsb byte es:[edi], byte [esi]
sbb byte [edi + 0x6f1c5746], cl
sbb al, 0xab
rol dword [edx], 1
loop 0x4c22c3
inc ebx
and eax, 0x78976ac8
add eax, 0x88f2a5d5
or al, 0x35
sbb esi, 0xacc8f8f3
invalid
stc
dec edi
call 0xf0ab9e60
or edi, ecx
xor cl, byte [ebp + 0x5c7a06f4]
adc eax, 0x363e111
arpl word [ebx], ax
sar byte [edx + 0x46], 1
inc esi
push esp
or ah, 0xaf
les ebp, [ebx + 0x4f35cc85]
cmp dword fs:[ecx + esi], 0xffffff99
xchg byte [esi - 4], dl
mov ebx, 0xb70bc1a2
add ecx, dword [eax - 0x6f]
add al, 0x75
jg 0x4c22d5
imul ecx, dword [eax], 0x5a
idiv byte [edi + 0x71fa71b2]
js 0x4c22d9
dec edx
imul ecx, eax, 0x124bc730
or al, 0xe9
push ebx
test eax, 0x8074dbf9
pop esp
outsd dx, dword [esi]
cmp eax, 0xeae9626b
aam 0xbb
or esi, eax
sal byte [ebp + 0x2cfc3719], 1
wait
iretd