Function at 0x4cd520
Capabilities:
Encode data using xor

Disassembly:
outsb dx, byte [esi]
pop edi
je 0x48abb1
mov byte [eax], cl
mov byte [eax + 0x60], 0xd2
and cl, cl
xchg dword [eax], eax
ja 0x48abe4
cmpsb byte [esi], byte es:[edi]
test eax, 0x606b4681
add byte [esi], al
push esi
insb byte es:[edi], dx
push 0xdc59b4eb
xor dword [ebx + edi], eax
xor edi, 0x62
or byte [ebx + 0x2c2d1037], 0x79
mov al, 0xc
mov ebx, esp
push cs
dec eax
daa
add bh, byte [eax]
daa
push 0x2aa7b328
add al, 0x78
push es
or ah, byte [esi + ebp*8 + 0xfa31e95]
mov al, byte [eax + 0x3f01341a]
sbb dh, byte [ecx + eax]
aas
mov dl, 0x17
mov eax, 0x340e8a82
daa
mov cl, byte [esi]
xor al, 0x27
pop ecx
je 0x48ac0d
mov byte [eax], cl
dec ebx
add eax, 0xa6364601
mov byte [0xa0f24f06], al
aam 0xe
aas
or byte [edx], bh
nop
cdq
sbb dword [ebx], ebx
bnd jge 0x48abe8
sbb ecx, dword [eax + 0x8bc60f]
mov eax, dword [eax]
dec ecx
and al, byte [esi - 0x70]
mov dword [0x742b3bbd], eax
and byte [eax + 0x69239b0f], cl
mov al, 0x82
fcompi st(6)
cmp edx, dword [eax + 0x70]
mov dl, 0x89
or byte [esi], dl
pop edx
pushfd
adc al, 0x24
sbb dword [0x5a5a5a2e], ecx
xchg edx, eax
and ebp, dword [ecx + 0x6046095a]
leave
xchg ecx, eax
push esp
pushal
cmp eax, 0x1e40d866
mov ah, 0x8e
js 0x48abe0
fidivr dword [eax + 0xf]
ud1
cmp dword [edi + 0x4616ee43], 0x1ad83bac
out 0x34, al
inc eax
cmp byte [esi], ch
aaa
ja 0x48ac8c
cmp eax, 0x1dd70939
inc esi
aam 0x26
rol edi, cl
pop ebx
mov byte [0xee566011], al
sub byte [edx + ebx], bl
add eax, 0x671fce84
add al, byte [ebx + 0x7c]
cmpsb byte [esi], byte es:[edi]
stc
insb byte es:[edi], dx
mov eax, dword [eax + 0x55dedc98]
inc ebx
sub eax, 0x309c5b75
mov edi, dword [edx + 0x5aa39027]
mov edx, 0x5aa39027
add al, 0x7b
scasd eax, dword es:[edi]
push ss
sub ebp, 0xb1817130
add dword [edi + 0x37128c08], ecx
adc dh, byte [edi]
sti
push eax
jne 0x48ad08
add al, byte [0xfb7c54c4]
shl ebx, 1
test byte [edx], 0x69
invalid
ret
add dword [ebp - 0x37], 0xffffff86
adc esi, dword [edx + 0x9706688]
jmp 0x48ad25
and eax, dword [ecx - 0x47]
mov dh, al
adc ah, dh
loopne 0x48aca0
neg esp
clc
mov al, byte [esi]
jb 0x48ac8c
lea ecx, [ebx - 0x6e3f4748]
cmp byte [ebp - 0xf7dea88], ch
outsd dx, dword [esi]
mov edi, dword [eax + 0x3891c0b8]
lodsd eax, dword [esi]
js 0x48ad20
xor al, 0x6f
dec edx
wait
jle 0x48ad60
dec esi
invalid
push ds
mov dword [0x329259aa], eax
jb 0x48ad02
stosb byte es:[edi], al
pop ecx
xchg edx, eax
xor dh, byte [edx - 0x24]
fdivr qword [ebx - 0x5c]
jnp 0x48accc
mov esp, ebx
rcl dh, 1
fsubr st(3), st(0)
dec ebx
adc ebx, dword [ebx + 0x1a]
dec esp
out dx, eax
pop ds
pop ebx
sbb byte [ecx + 0x327c0f17], cl
jg 0x48acf1
jne 0x48acce
scasd eax, dword es:[edi]
xor byte [edi + ebp*2], dh
mov byte [ebp - 0x15], cl
movsb byte es:[edi], byte [esi]
mov cl, 0x24
loope 0x48adc4
xor byte [ecx + 4], 0xfe
shr dword cs:[ecx + 0x11], 1
push ecx
add al, 0x75
xor al, 0xb8
inc ecx
cmp ebx, 0xffffffff
push edi
adc byte [edx - 0x53], dl
push edx
lodsd eax, dword [esi]
dec eax
push esi
cmc
sub dword [ebx], 2
in al, dx
and al, byte [0x16eb7d80]
pop ss
aas
xchg eax, esi
or al, byte [edx + 0x76]
jne 0x48ad83
bound edx, qword [eax + 0x78e74242]
shr ch, 0x28
insb byte es:[edi], dx
clts
push es
lds ecx, [ebx + 0x5c4a5ca3]
pop ss
les esi, [edi + 0x6f]
or al, byte [edx]
or esi, eax
jno 0x48ad1e
push eax
push edi
and edi, eax
clc
pop esi
les ecx, [edx + 0x47]
adc dword [ebx], 0xf74de3b
xor byte [edi], dh
cmp cl, dh
inc esp
cmp al, 0xc9
leave
jg 0x48adc2
movsb byte es:[edi], byte [esi]
jmp 0x48add5
or dl, byte [edi + 0x184c283d]
cmpsd dword [esi], dword es:[edi]
cmp eax, 0xa7184c28
push ebp
xor al, 0x16
insb byte es:[edi], dx
jo 0x48ae4b
mov byte [0xf0e71a75], al
mov esi, 0xefb9d2e0
loopne 0x48ada9
mov ecx, 0xc6850fef
sbb dword [eax], esp
js 0x48ae06
jne 0x7868c7a5
jne 0x48add9
jne 0x48add9
ja 0x48ade3
dec dword [ecx + 0x18]
dec esp
ficomp dword [eax - 0x5a]
dec ecx
sbb byte [edx + ebx*8 + 0x58], cl
cmpsb byte [esi], byte es:[edi]
outsd dx, dword [esi]
adc eax, 0x6b7056b0
mov bl, 0x9f
mov dword [eax - 0x479353dd], eax
add byte fs:[ebx], bl
popal
insd dword es:[edi], dx
div edi
cmp esi, esp
and byte [edx + edi + 0x5d], al
pop ebp
cld
add ecx, dword [ebx + 0x4c]
push ecx
popal
inc eax
mov ecx, eax
sbb eax, 0xf594a1b2
dec eax
push ecx
push edx
sub dword [edx*4 - 0x79f9f5c4], eax
das
or al, 0xba
ja 0x48ae6a
add eax, 0x4d9837c5
fxch st(1)
or eax, 0xe343209d
xor dword [ecx - 0x1f], ebx
and byte [ebx + 8], bh
psubsw mm1, qword [edi - 0x28]
rol eax, 0x6b
mov edx, dword ds:[0x620d7a23]
inc ecx
sbb cl, byte [edx - 0x55d0a061]
add byte [ebx - 0xe], dl
add dword [eax + ecx + 0x6e], esi
push ebx
add dword [eax + ecx + 0x6e], esi
pop edi
rol dword [ebp - 0x7c], cl
xor eax, 0x7a337230
sbb byte [edi], bl
les ecx, [edi - 0x60]
and dl, byte [ecx]
mov dl, byte [edx - 0x66]
jnp 0x48ae89
dec eax
cmp ecx, dword [eax - 0x7c7a0261]
sbb dword [edx], esp
jb 0x48aecd
lahf
std
test dword [ebx + 0x5b722219], eax
and byte [ebp + 0x719ec154], dl
mov esi, 0xd2bb50bc
js 0x48ae04
daa
loopne 0x48aed3
or dword [ecx], edx
lcall 0x6575, 0xff3c2475
jne 0x48aef0
add edx, dword [esp + edx*2 + 0x6d]
ret 0xd858
outsb dx, byte [esi]
frstor dword [ecx - 0x14]
adc al, 0xb7
rol dh, 6
add byte [edi - 0x45996a98], ch
pop ds
sbb byte [ecx], al
or byte [ebp + 0x10], 0x51
mov dh, dl
lodsb al, byte [esi]
imul esp, eax, 0x4d
or al, 0x51
retf 0xf4d8
mov dl, 0x47
dec ecx
cmpsb byte [esi], byte es:[edi]
invalid
pushal
mov esi, section.UPX1
lea edi, [esi - 0x72000]
mov dword [edi + 0x8a09c], 0x44c8203c
push edi
or ebp, 0xffffffff
jmp 0x4cd54a
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x4cd551
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x4cd540
mov eax, 1
add ebx, ebx
jne 0x4cd563
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x4cd574
jne 0x4cd593
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x4cd593
dec eax
add ebx, ebx
jne 0x4cd580
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x4cd558
add ebx, ebx
jne 0x4cd58f
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jmp 0x4cd5e5
xor ecx, ecx
sub eax, 3
jb 0x4cd5ab
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x4cd61a
sar eax, 1
mov ebp, eax
jmp 0x4cd5b6
add ebx, ebx
jne 0x4cd5b6
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x4cd584
inc ecx
add ebx, ebx
jne 0x4cd5c4
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x4cd584
add ebx, ebx
jne 0x4cd5d1
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x4cd5c6
jne 0x4cd5e2
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x4cd5c6
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 2
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x4cd604
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x4cd5f6
jmp 0x4cd546
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x4cd604
add edi, ecx
jmp 0x4cd546
pop esi
mov edi, esi
mov ecx, 0x4515
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x4cd622
cmp byte [edi], 0x19
jne 0x4cd622
mov eax, dword [edi]
mov bl, byte [edi + 4]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
sub bl, 0xe8
add eax, esi
mov dword [edi], eax
add edi, 5
mov al, bl
loop 0x4cd627
lea edi, [esi + 0xca000]
mov eax, dword [edi]
or eax, eax
je 0x4cd696
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0xd252c]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0xd2608]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x4cd654
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0xd260c]
or eax, eax
je 0x4cd690
mov dword [ebx], eax
add ebx, 4
jmp 0x4cd671
call dword [esi + 0xd261c]
mov ebp, dword [esi + 0xd2610]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x21f]
and byte [eax], 0x7f
and byte [eax + 0x28], 0x7f
pop eax
push eax
push esp
push eax
push ebx
push edi
call ebp
pop eax
popal
lea eax, [esp - 0x80]
push 0
cmp esp, eax
jne 0x4cd6ca
sub esp, 0xffffff80
jmp 0x48ab98