Function at 0x4dc210
Capabilities:
Encode data using xor

Disassembly:
std
push edx
jne 0x4b5f20
cmpsd dword [esi], dword es:[edi]
push es
xchg esi, eax
cmp esp, eax
jnp 0x4b5efd
inc ebx
or al, 0x92
xor al, 0x46
and eax, 0x4d43c8bc
add cl, ah
imul eax
sub edx, edx
adc dword [eax], 0x4f
outsb dx, byte [esi]
insb byte es:[edi], dx
jns 0x4b5eb9
xor eax, 0x37228cdb
cmpsd dword [esi], dword es:[edi]
invalid
mov edx, 0x3f70ba59
jno 0x4b5f4c
in eax, 0x2d
adc dl, cl
inc ebx
or eax, 0x822c424c
test dword [ebx], edx
enter 0x74ec, 0x58
cmp ebp, ecx
pop ecx
add bh, ch
jno 0x4b5eae
jmp 0x4b5f69
insd dword es:[edi], dx
rol byte [ecx + 0x6c], cl
jo 0x4b5f30
aaa
inc ecx
xor bh, byte [ecx + ecx*8]
call 0xa085807a
jbe 0x4b5f10
adc eax, 0x2a772250
jbe 0x4b5eb3
xchg edi, eax
add dh, byte [ebp + 0x28]
loopne 0x4b5f31
das
xchg ebp, eax
popal
arpl word [edx + esi], ax
fadd st(0), st(0)
push cs
dec ebx
fisttp qword [edx]
das
push ss
jl 0x4b5fb3
popal
add al, 0x1b
popal
aas
ret 0x536b
shl dword [ebx], cl
or eax, 0x12ddab0c
inc ebx
or eax, 0x1a6aaa53
xor dword [ebp + edi*4 - 0x30], esi
dec ebx
add dl, bh
push ss
xor dword [eax], edx
mov bh, 0x3c
insd dword es:[edi], dx
mov byte [esi + 0x36fe6768], cl
int3
invalid
mov esp, 0xed3da844
add bl, byte [ecx]
pop edx
sbb byte [ebx], 0x5d
sbb edi, dword [ebx]
pop ss
insd dword es:[edi], dx
inc esp
sal byte [eax], 1
mov eax, 0xe1c7951
add edx, esi
salc
mov edx, cs
shl dword [edx - 0x58], cl
sbb eax, 0xa40d7514
jb 0x4b5f9b
cmc
aas
push ds
pop ds
and eax, dword [ebx + 0xc9116dd]
xor al, 0x42
sub byte [ebx], bl
sbb al, 0x32
jecxz 0x4b6010
mov byte [edi], bl
leave
lds ebp, [eax]
cwde
push esp
retf 0x2033
out dx, al
aad 0x91
xchg ecx, eax
xchg ecx, eax
inc ebx
push esp
sbb byte [eax], bl
inc esp
mov byte [ebx - 0x62], cl
and al, 0x10
add al, 0x4f
dec esp
test byte [eax], cl
ror dword [edi + eax], 0x53
push cs
imul ebx, dword [edx + 0x465d5308], 0x580c336e
xor ecx, dword [ebp + ecx - 0x37]
je 0x4b605e
xor dword [edx + eax*4], edx
ljmp 0x8628
and al, 0xa4
adc byte [ebx], cl
adc dword [edx], ecx
mov ecx, 0x2370458b
sub eax, 0x9859b52c
xchg esi, eax
or byte [esi + 0x31b53033], bh
xor al, 0xa9
pushal
pop edx
sub byte [ebp + 0x55b53835], dh
pop esi
adc byte [eax + 0x39], dh
jnp 0x4b60c2
push edx
and esp, ecx
xchg edx, eax
fdiv dword [ecx]
push esp
outsd dx, dword [esi]
xor dword [edi + 0x190e252], esp
lahf
movsd dword es:[edi], dword [esi]
add byte [eax], dh
dec esp
and eax, 0x3404d4f0
lfs esi, es:[edi + 0x702f276e]
and al, byte [ecx - 0x45996f8e]
xor esi, esp
nop
mov dx, 0xf433
xor dword [ebp + 0x5c961525], eax
cmc
and dl, byte [edx]
and ch, byte [ecx + 0xfa38e19]
inc edx
js 0x4b60a9
push ebp
clc
mov dword [0xfc65ab8c], eax
add bl, byte [esi - 0x6b]
cmp esi, ebx
push eax
retf
pushal
mov esi, section.UPX1
lea edi, [esi - 0xa5000]
lea eax, [edi + 0xb6c14]
push dword [eax]
mov dword [eax], 0xce4217f8
push eax
push edi
or ebp, 0xffffffff
jmp 0x4dc242
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x4dc249
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x4dc238
mov eax, 1
add ebx, ebx
jne 0x4dc25b
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x4dc26c
jne 0x4dc28b
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x4dc28b
dec eax
add ebx, ebx
jne 0x4dc278
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x4dc250
add ebx, ebx
jne 0x4dc287
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jmp 0x4dc2dd
xor ecx, ecx
sub eax, 3
jb 0x4dc2a3
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x4dc312
sar eax, 1
mov ebp, eax
jmp 0x4dc2ae
add ebx, ebx
jne 0x4dc2ae
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x4dc27c
inc ecx
add ebx, ebx
jne 0x4dc2bc
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x4dc27c
add ebx, ebx
jne 0x4dc2c9
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x4dc2be
jne 0x4dc2da
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x4dc2be
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 2
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x4dc2fc
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x4dc2ee
jmp 0x4dc23e
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x4dc2fc
add edi, ecx
jmp 0x4dc23e
pop esi
pop edi
pop eax
mov dword [edi], eax
mov edi, esi
mov ecx, 0x2ed5
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x4dc31e
cmp byte [edi], 0x16
jne 0x4dc31e
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 0x4dc323
lea edi, [esi + 0xda000]
mov eax, dword [edi]
or eax, eax
je 0x4dc392
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0xed930]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0xed9e0]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x4dc350
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0xed9e8]
or eax, eax
je 0x4dc38c
mov dword [ebx], eax
add ebx, 4
jmp 0x4dc36d
call dword [esi + 0xed9e4]
mov ebp, dword [esi + 0xed9ec]
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 0x4dc3c6
sub esp, 0xffffff80
jmp 0x4b5eec