Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xe611c8c2
mov edi, 0x1d627308
not edi
popal
mov edx, edi
or edi, edx
mov edi, edx
mov edi, 0
mov ebx, eax
add edx, 0xde7b2b65
sub edx, ecx
sub ecx, edx
mov esi, ebx
and edx, ecx
and edx, ecx
mov eax, esi
mov ecx, 0x2c512fec
mov edx, ecx
add edi, 1
or edx, ecx
sub edx, ecx
cmp edi, 0x100c671
jne 0x47afd1
mov edx, 0x48cb2dec
sub ecx, 0x331e60c5
add edx, 0x1d900d07
cmp edi, 0x100c671
je 0x47b022
mov ecx, 0
mov byte [ecx], al
mov edx, ecx
not ecx
and edx, edx
sub edi, edx
add edx, edi
not edx
mov ecx, 0x47ada2
add eax, 1
add ebx, eax
sub ebx, eax
mov edx, 0x47af96
add eax, esi
or esi, esi
mov eax, ebx
mov edi, dword [ecx]
sub esi, eax
sub eax, 0x240344ac
and edi, 0xff
add eax, 0xd107365d
sub esi, 0xbaf346b7
xor dword [edx], edi
or eax, esi
and esi, esi
inc edx
and ebx, eax
not esi
and esi, eax
inc ecx
add eax, 0x5d47ca6c
inc eax
cmp edx, entry0
jl 0x47b048
mov eax, 0x3e6d5a25
or eax, eax
or esi, ebx
or ebx, esi
mov esi, eax
add esi, 0x3f0231d6
mov esi, 0x40b6bb1a
mov edx, 0x47af9a
mov edi, esi
not edi
or ecx, esi
mov edx, dword [edx]
sub edi, esi
dec esi
and edi, esi
mov edx, dword [edx]
inc esi
sub edi, ecx
push edx
mov edi, 0x43c834f9
or edi, esi
sub ebx, 0x4617af00
mov edx, 0x47af96
add ecx, edi
inc ebx
inc edi
mov edx, dword [edx]
or ecx, ebx
inc esi
mov edx, dword [edx]
add ecx, 0xb9d83f18
add edi, 0xa8a1528c
add esi, ecx
push 0x47af9e
and esi, edi
mov esi, edi
call edx
mov esi, ebx
not edi
pop edx
mov ebx, esi
sub ecx, 0xb005aea8
sub esp, 4
mov dword [esp], 0x47afab
mov edi, 0x285a8c5e
and esi, esi
add ecx, 0xe770158a
push eax
mov edi, ebx
and ecx, esi
call edx
sub ecx, ebx
add ecx, 0x42823049
sub esp, 4
mov dword [esp], 0x40
mov edi, esi
add ecx, 1
mov esi, edi
push 0x3000
inc edi
sub esi, edi
and ecx, ecx
sub esp, 4
mov dword [esp], 0x200009a4
add ebx, esi
and edi, edi
push 0
dec esi
add esi, 0x8c728258
and ebx, ebx
call eax
sub ebx, edi
mov esi, edi
sub ecx, 0xe19dc773
add eax, 0x20000940
dec ecx
sub edi, esi
mov edx, 0x8957dc69
dec ecx
or edi, esi
dec ebx
mov dword [eax], edx
sub esi, ecx
mov esi, ebx
mov edx, dword [eax]
add ebx, edi
and ebx, edi
sub esi, 1
cmp edx, 0x8957dc69
je 0x47b197
mov eax, 0
mov ebx, dword [eax]
sub ecx, esi
add esi, ebx
sub edi, ecx
add ecx, ebx
and edi, edi
or edi, edx
mov edi, edx
sub edx, edi
mov ebx, section.UPX1
mov edx, 0xfde62f0
add edx, edi
mov esi, 0x47ada1
mov edx, edi
sub edi, edx
mov ecx, 0
not edx
mov edi, 0x4fef23b7
mov eax, 0x47ada2
sub edx, 0xff258760
or edi, edi
lea eax, [ecx + eax]
not edi
mov edi, 0xe7f21d3
mov eax, dword [eax]
not edi
or edx, edx
or edi, edx
and eax, 0xff
or edx, edi
sub edi, 1
inc edx
inc ecx
inc edi
mov edi, edx
inc edi
cmp ecx, 0x1f4
jne 0x47b208
mov ecx, 0
not edx
add edx, 0x8022b6eb
add edx, 0x5df5f771
add edx, 0x7ccab086
add edi, edx
xor dword [ebx], eax
sub edx, edi
and edi, edx
add edi, edi
add ebx, 2
mov edx, edi
not edi
cmp ebx, esi
jl 0x47b1c8
dec edx
sub edi, 0x6c43a5e3
add edx, edi
and edx, edx
sub edx, edi
mov ecx, section.UPX1
add esi, 1
mov edi, 0x55824c9e
mov ebx, section.UPX1
add edi, 0x5c802848
sub esi, 1
mov eax, 0x47ada1
dec edi
and esi, esi
mov edi, esi
mov edx, 0
add edi, 0xaf1e9655
or esi, edi
add esi, edi
mov dl, byte [ebx]
or esi, esi
or esi, esi
mov byte [ecx], dl
and esi, edi
add esi, edi
sub esi, edi
inc ecx
mov edi, 0x879d00bf
not edi
inc esi
add ebx, 2
mov esi, 0xbbb9f148
dec esi
cmp ebx, eax
jle 0x47b27f
or edi, edi
add esi, edi
not edi
mov edx, 0xd597905e
dec edi
sub esp, 4
mov dword [esp], 0x45e6a0
add edi, edx
dec edi
and edi, edx
ret