Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xa8d7c3cd
and ebx, ecx
add ebx, 0x50fb99cc
mov ecx, ebx
popal
sub ecx, ebx
sub ecx, ebx
or ecx, ecx
mov edx, 0
mov ebx, eax
mov edi, 0xf14d95f2
add ecx, edi
sub ecx, 0x55e1115b
mov esi, ebx
mov edi, ecx
or edi, edi
and edi, ecx
mov eax, esi
sub edi, ecx
sub ecx, 0xc2938420
inc edx
dec ecx
inc edi
cmp edx, 0x100b0b1
jne 0x47afd4
sub edi, 0x191dcb21
mov edi, ecx
mov ecx, 0x32fc0985
cmp edx, 0x100b0b1
je 0x47b020
mov eax, 0
mov ebx, dword [eax]
dec edi
mov ecx, 0x65a60cc7
dec ecx
mov ebx, ecx
mov edi, 0x47ada2
or ecx, ecx
mov ecx, 0xc06f3eb0
not ebx
mov eax, 0x47af96
dec ebx
inc ecx
not ebx
mov edx, dword [edi]
sub ecx, esi
add esi, 0xcdac45d
and edx, 0xff
dec esi
sub esi, 0x71464d8f
add ecx, ecx
xor dword [eax], edx
and ecx, esi
dec ebx
inc eax
mov esi, 0xfaa9fa59
add ebx, ecx
add edi, 1
add ecx, esi
or esi, esi
cmp eax, entry0
jl 0x47b040
not ebx
inc ecx
sub ecx, 0x6c2cc399
mov ebx, 0xcbf1904
mov ebx, 0xe5c02c0c
mov edx, 0xc1d07ff6
inc ecx
not edx
mov esi, 0x47af9a
not edi
not edx
mov esi, dword [esi]
or edx, ecx
add edx, edx
not edx
mov esi, dword [esi]
not ebx
dec ebx
or edi, edi
push esi
dec edx
or edx, edi
add edi, edx
mov esi, 0x47af96
mov edx, ebx
or edx, edi
add ebx, 1
mov esi, dword [esi]
mov ecx, edi
and ecx, edx
mov esi, dword [esi]
not edx
and edx, edi
push 0x47af9e
sub ebx, ecx
add edx, 1
not ecx
call esi
not edi
or edx, ecx
or ebx, ebx
pop esi
not ebx
mov ecx, 0x90969ae4
push 0x47afab
sub ebx, 0xc8f778f9
mov edx, ecx
push eax
add ebx, edx
inc ecx
inc edi
call esi
inc ecx
or edi, ecx
mov ecx, edi
push 0x40
and edx, edx
mov ebx, edx
and edx, edx
push 0x3000
add ecx, ecx
not ebx
push 0x200007c9
not edx
inc ecx
add ebx, ebx
sub esp, 4
mov dword [esp], 0
not ecx
not edi
call eax
mov ebx, 0x12079edd
mov edx, 0x591d028
and edx, ecx
add eax, 0x2000075b
or edi, ebx
add edx, edi
mov esi, 0x754f0e2b
sub ebx, 1
add edx, ebx
mov dword [eax], esi
not ebx
add ecx, edi
mov esi, dword [eax]
and ebx, edx
add edi, edx
cmp esi, 0x754f0e2b
je 0x47b174
mov ecx, 0
mov bl, byte [ecx]
mov edx, ecx
or edi, ebx
or ebx, edi
mov ebx, 0x9b64efec
and ecx, edi
mov ecx, 0x3688b562
sub ecx, ebx
add ebx, 0x62746d16
add ebx, 0xb777aa6e
mov edx, section.UPX1
sub ecx, ebx
or ebx, ecx
mov esi, 0x47ada1
dec ecx
sub ebx, ecx
mov ecx, ebx
mov eax, 0
mov ecx, 0x9991a855
sub ebx, 0x8cd59b83
mov edi, 0x47ada2
sub ecx, ebx
and ebx, ecx
inc ebx
lea edi, [eax + edi]
mov ebx, 0x2bb1ccec
dec ebx
mov edi, dword [edi]
mov ebx, 0x515e2ef3
and ecx, ecx
sub ebx, 0x78017595
and edi, 0xff
mov ebx, 0x41e224d7
sub ecx, 1
sub ecx, 0x4e5ac04f
add eax, 1
and ecx, ebx
mov ebx, 0xcd03e81
cmp eax, 0x1f4
jne 0x47b20a
mov eax, 0
not ecx
sub ecx, 0x67d650bb
not ecx
mov ebx, ecx
xor dword [edx], edi
sub ecx, 0xd8814171
sub ebx, ecx
add edx, 2
mov ebx, ecx
not ecx
cmp edx, esi
jl 0x47b1b7
add ecx, ecx
add ebx, 0xd2a5691b
mov ecx, 0x4a87fb20
sub ebx, 0x52ddbbe
sub ebx, 0xce9efd7e
add ebx, 0x9c25deae
mov ecx, section.UPX1
sub edi, ebx
mov edi, ebx
mov edx, section.UPX1
sub edi, 0xcc0c1f9
add ebx, ebx
mov esi, 0x47ada1
add edi, edi
sub edi, 1
inc ebx
mov eax, 0
and ebx, ebx
not edi
mov al, byte [edx]
add edi, 1
or edi, edi
mov edi, ebx
mov byte [ecx], al
add ebx, 1
mov ebx, 0x40055f60
inc ecx
inc ebx
and ebx, edi
add ebx, 0xa5a148d8
add edx, 2
add edi, 0x8097b97e
or edi, ebx
mov ebx, 0xa425df36
cmp edx, esi
jle 0x47b27e
add ebx, ebx
or edi, ebx
sub edi, 0xf628860
mov ebx, ecx
dec ebx
add ebx, 1
push 0x45e6a0
and ebx, ecx
inc ecx
add ebx, 0x4d68c223
ret