Function at 0x4c472c
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xcaad4a44
not esi
mov esi, ecx
inc esi
popal
dec esi
sub esi, 0xc78e3368
mov edx, 0
mov ebx, ecx
dec edi
sub esi, edi
mov eax, ebx
add esi, edi
sub edi, 0x656b2d71
mov ecx, eax
or edi, esi
mov edi, esi
not edi
add edx, 1
mov esi, 0xe5960fb9
inc esi
cmp edx, 0x100b1c0
jne 0x4c4744
not edi
sub edi, esi
and esi, edi
add ecx, 0x754c4ae6
mov ecx, esi
mov esi, 0x45cbbd68
mov ebx, 0x4c4516
not edx
and edx, esi
mov edi, 0x4c470a
inc edx
sub ecx, 0xfa5e2c61
mov eax, dword [ebx]
sub esi, edx
dec esi
and eax, 0xff
and edx, ecx
mov esi, 0x7516aefc
add esi, edx
xor dword [edi], eax
add edx, edx
inc ecx
inc edi
add esi, ecx
sub esi, 0xb654fdec
inc esi
inc ebx
add edx, 1
and ecx, esi
add ecx, 0x86cafd7e
cmp edi, entry0
jl 0x4c479b
inc edx
and edx, esi
sub ecx, esi
mov ecx, esi
or ecx, edx
sub ecx, esi
add edi, 1
add esi, 1
add edi, edi
mov ecx, 0x4c470e
sub esi, 0x8c5776eb
not edi
or edi, edi
mov ecx, dword [ecx]
and esi, ebx
add edx, edx
not ebx
mov ecx, dword [ecx]
mov edi, ebx
and esi, edx
add ebx, edi
sub esp, 4
mov dword [esp], ecx
sub esi, edi
sub ebx, 0xd0c64dee
mov ecx, 0x4c470a
and esi, edx
not edx
mov ecx, dword [ecx]
not edx
add edi, edx
mov ecx, dword [ecx]
and edi, edx
dec esi
push 0x4c4712
not ebx
mov esi, ebx
call ecx
mov edx, 0xe4eb8c8
not edx
mov ecx, dword [esp]
add esp, 4
mov esi, edi
sub ebx, 1
push 0x4c471f
sub ebx, 1
mov ebx, 0xa228a9de
push eax
add esi, 0x5aaea728
add edx, esi
sub ebx, 0x38d440a5
call ecx
add edi, 0xaf2f0acf
add esi, 0x6f15fa01
mov ebx, 0xc10a27e8
push 0x40
inc edi
not esi
push 0x3000
add edx, ebx
not edx
sub esp, 4
mov dword [esp], 0x20000bc0
and ebx, edx
add ebx, edx
or esi, edx
push 0
dec ebx
sub ebx, edi
call eax
or ebx, esi
sub ebx, esi
sub edi, 1
add eax, 0x20000b4b
add edx, edi
add ebx, 0xbf3f58a
mov edi, ebx
mov ecx, 0xbb4733e8
add edx, esi
sub esi, 0xd40ae618
mov dword [eax], ecx
sub edx, 0x7dcc1b56
mov edx, esi
mov ecx, dword [eax]
and esi, ebx
sub ebx, 1
cmp ecx, 0xbb4733e8
je 0x4c48fa
mov ecx, 0
mov dl, byte [ecx]
add edx, ebx
mov ebx, edi
not edi
or edi, ebx
mov esi, 0xaa0c6ef6
and ecx, ecx
mov ebx, section.UPX1
mov esi, ecx
or esi, esi
mov eax, 0x4c4515
mov ecx, esi
sub esi, ecx
mov esi, ecx
mov edi, 0
not esi
sub ecx, esi
mov edx, 0x4c4516
add ecx, ecx
add ecx, esi
lea edx, [edi + edx]
dec ecx
dec esi
or ecx, ecx
mov edx, dword [edx]
and ecx, ecx
add esi, 1
not esi
and edx, 0xff
add ecx, esi
mov ecx, esi
inc edi
sub ecx, 1
add ecx, 1
cmp edi, 0x1f4
jne 0x4c4966
mov edi, 0
and ecx, esi
dec esi
add esi, ecx
and ecx, esi
sub ecx, esi
not ecx
xor dword [ebx], edx
add ecx, 0x75df53de
or esi, ecx
dec esi
add ebx, 2
add ecx, 0x86596397
inc ecx
cmp ebx, eax
jl 0x4c4926
add ecx, 1
mov esi, ecx
and ecx, ecx
sub esi, ecx
and ecx, ecx
mov ecx, section.UPX1
and edi, edi
and eax, edi
add edi, edi
mov esi, section.UPX1
not edi
sub eax, 1
dec eax
mov ebx, 0x4c4515
add eax, eax
mov eax, edi
sub edi, 1
mov edx, 0
and edi, eax
or edi, edi
and edi, edi
mov dl, byte [esi]
add eax, 1
add eax, eax
sub eax, edi
mov byte [ecx], dl
add edi, edi
add edi, 0x995e1c19
and eax, eax
add ecx, 1
mov eax, edi
mov eax, edi
add esi, 2
sub eax, 1
mov eax, edi
cmp esi, ebx
jle 0x4c49d2
mov edi, eax
and edi, edi
mov esi, ecx
mov ecx, esi
push 0x4956a0
dec ecx
add esi, 0x1525b456
mov ecx, esi
ret