Function at 0x4c472c
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xe97f2cd0
or ebx, edx
sub ebx, 1
mov edx, ebx
popal
sub ebx, 0x2560934d
mov edx, ebx
mov eax, 0
mov esi, edi
mov ebx, 0x587a8b5e
or ebx, edx
mov ecx, esi
mov edx, 0x846c54af
or ebx, ebx
or ebx, ebx
mov edi, ecx
dec edx
add ebx, 0x17824fea
sub ebx, edx
add eax, 1
and edx, edx
add ebx, edx
mov ebx, 0x6eb835f
cmp eax, 0x1000591
jne 0x4c474a
not ebx
add edx, 0xbc3027cc
add edx, 0xbac7f1cf
sub edx, ebx
sub edx, 0xfbdf014
sub ebx, 1
mov ebx, 0x4c4516
dec edi
sub edx, 0x721644c
mov esi, 0x4c470a
mov edx, edi
sub eax, edx
mov edx, edi
mov ecx, dword [ebx]
add edx, 0xd44be865
inc edx
add edi, edx
and ecx, 0xff
not eax
sub edx, eax
xor dword [esi], ecx
and edi, eax
dec eax
inc esi
sub edi, 0x57289d
not eax
add edi, 0xc0c16e80
inc ebx
dec edx
mov eax, 0x3a572ed1
cmp esi, entry0
jl 0x4c47b7
add edx, eax
and eax, edi
mov edi, 0x7104ccf7
sub edx, 0xf810cf8f
sub edi, 0xe803fce
sub ebx, 1
mov ecx, 0x4c470e
sub edx, 0xf7fc7de8
mov esi, 0x187711d8
mov ebx, esi
mov ecx, dword [ecx]
sub ebx, 0x21793bf2
add edx, 0xf13c0cd5
mov ecx, dword [ecx]
not edx
add esi, esi
push ecx
mov ebx, 0xf3f0d2bb
mov edx, ebx
sub edi, ebx
mov ecx, 0x4c470a
or esi, esi
add edx, 0xd146b62b
dec edx
mov ecx, dword [ecx]
inc edi
add edx, esi
mov ecx, dword [ecx]
sub esi, 0x684b3ca9
add edx, esi
push 0x4c4712
add esi, 0x315ff3c4
mov ebx, edx
call ecx
mov edi, 0xfcb64a3e
inc ebx
pop ecx
mov ebx, edi
add edi, 0xc7c17ef5
add esi, edx
sub esp, 4
mov dword [esp], 0x4c471f
dec edi
sub esi, 0xdef4b7f8
add esi, edx
push eax
and edi, edi
sub ebx, 0xe3f32cb2
or esi, edx
call ecx
not esi
add ebx, edx
sub esi, ebx
push 0x40
add edi, edx
sub ebx, 0x86bd5e83
sub ebx, esi
sub esp, 4
mov dword [esp], 0x3000
not edi
and edi, edx
sub esp, 4
mov dword [esp], 0x20000664
not esi
add esi, edi
sub esp, 4
mov dword [esp], 0
add esi, 0x23a39add
add esi, edi
sub ebx, esi
call eax
dec edx
not edi
mov edi, esi
add eax, 0x2000059d
inc edi
inc edi
dec esi
mov ecx, 0x473ec50a
not edx
sub edx, 0x490c6004
mov dword [eax], ecx
add ebx, edx
dec edx
sub edx, esi
mov ecx, dword [eax]
not edx
or edi, ebx
cmp ecx, 0x473ec50a
je 0x4c4919
mov ecx, 0
mov dword [ecx], edx
inc esi
sub esi, ebx
mov edi, 0x6619f9a1
and esi, edi
add edi, 0x8a4bc254
not ebx
sub ebx, 0x5ca86cbf
dec ebx
mov edi, section.UPX1
dec edx
mov ebx, 0xce0dc2a8
sub edx, 1
mov eax, 0x4c4515
mov ebx, edx
inc ebx
mov esi, 0
and ebx, edx
sub ebx, edx
mov ecx, 0x4c4516
mov edx, ebx
add ebx, edx
lea ecx, [esi + ecx]
mov ebx, 0x6ac46544
sub edx, 0x1e77c6a5
or edx, ebx
mov ecx, dword [ecx]
sub edx, ebx
mov edx, 0x8832f4e3
and ecx, 0xff
mov ebx, 0x22188bf4
mov ebx, 0xc6e3dcad
sub edx, ebx
inc esi
sub edx, 1
add ebx, ebx
cmp esi, 0x1f4
jne 0x4c499e
mov esi, 0
mov ebx, edx
inc ebx
not edx
sub ebx, 0x2c3c5fb9
dec ebx
inc edx
xor dword [edi], ecx
not edx
and ebx, ebx
or edx, ebx
add edi, 2
sub ebx, edx
sub edx, ebx
dec edx
cmp edi, eax
jl 0x4c4954
not edx
add edx, 0x963e01e4
add edx, ebx
sub edx, ebx
sub ebx, edx
not edx
mov ebx, section.UPX1
inc esi
mov esi, 0x11ae1254
mov ecx, section.UPX1
add eax, 0x61f9bbd2
mov eax, esi
sub eax, 0xe0acb72e
mov edi, 0x4c4515
not esi
mov esi, eax
not esi
mov edx, 0
mov eax, 0x49f139e9
and esi, esi
mov dl, byte [ecx]
add eax, 0x6e0d210f
not eax
mov byte [ebx], dl
sub eax, 0x87b755d9
add eax, 0xc2b67294
inc ebx
sub esi, eax
sub eax, 1
inc eax
add ecx, 2
mov eax, 0x3dfa5784
add eax, esi
cmp ecx, edi
jle 0x4c4a0b
inc eax
and esi, eax
mov esi, eax
add ebx, edx
mov ebx, 0x1facc038
push 0x4956a0
mov ebx, edx
and edx, ebx
add ebx, 0x76031806
ret