Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x6d4f0f3d
dec edi
and edi, edi
popal
inc esi
and esi, edi
mov esi, 0
mov eax, ecx
sub edi, 0x887a4171
mov edx, 0xd00073c5
or edx, edi
mov ebx, eax
sub edi, 0x7a0757ed
mov edx, 0x70e62c0e
mov ecx, ebx
or edi, edx
add edx, 1
inc esi
or edi, edi
mov edx, edi
mov edi, 0xc8d9e3b0
cmp esi, 0x10045de
jne 0x47afca
and edx, edx
add edx, edx
sub edi, 0xbff62947
cmp esi, 0x10045de
je 0x47b01f
mov ecx, 0
mov dword [ecx], edx
or edi, edx
not edx
and esi, edi
add edi, 0x2d7f16c1
mov edx, 0x47ada2
add ebx, 0xcc51bd4f
or ebx, eax
mov edi, 0x47af96
mov ebx, 0xeb9a9424
sub ebx, 0x29d51a5a
mov esi, dword [edx]
not ebx
or ecx, eax
and esi, 0xff
sub ebx, eax
and ecx, eax
add ebx, 1
xor dword [edi], esi
sub ebx, eax
inc ebx
sub ecx, 1
add edi, 1
add ebx, 1
and eax, ecx
not eax
inc edx
dec eax
mov ecx, eax
cmp edi, entry0
jl 0x47b048
sub ecx, ebx
sub ecx, 0xdc694657
dec ecx
mov ecx, eax
or edx, edx
or ecx, edx
mov ebx, 0x47af9a
or edx, edi
and esi, edi
mov ecx, edi
mov ebx, dword [ebx]
sub edx, ecx
add edi, edi
mov ebx, dword [ebx]
dec esi
sub esi, edi
push ebx
mov edi, 0x89c56019
sub edx, ecx
mov ebx, 0x47af96
mov ecx, 0x58d8e4ec
not ecx
mov ebx, dword [ebx]
mov edx, 0x1d290927
or esi, edi
or edi, edi
mov ebx, dword [ebx]
sub ecx, 0xa0c719e8
sub edx, esi
push 0x47af9e
mov edx, ecx
and edi, esi
call ebx
and esi, edi
mov esi, 0xe96b685c
mov ebx, dword [esp]
add esp, 4
and esi, ecx
and edi, ecx
push 0x47afab
mov esi, edx
add edx, edx
sub esp, 4
mov dword [esp], eax
mov esi, 0x2a3f7467
and edx, esi
call ebx
mov ecx, edi
or edi, esi
or edx, edx
sub esp, 4
mov dword [esp], 0x40
not esi
and esi, edi
mov esi, edx
push 0x3000
dec edi
add esi, 0x5b7e426
add ecx, 1
sub esp, 4
mov dword [esp], 0x20000320
and esi, edx
and edx, edi
push 0
dec ecx
add ecx, 0xa578450a
mov esi, 0xf0960d42
call eax
add edi, ecx
sub ecx, esi
add eax, 0x200002a0
add esi, ecx
mov esi, edx
and esi, esi
mov ebx, 0x2aa7dae7
and edi, esi
add ecx, 0x73d0f9ac
mov dword [eax], ebx
sub esi, 0x2304cad
not edi
mov ebx, dword [eax]
mov edi, 0x41eebef9
sub edi, 0x15bdb591
cmp ebx, 0x2aa7dae7
je 0x47b197
mov ebx, 0
mov byte [ebx], al
add ecx, edx
mov edi, 0x953e5a9a
sub esi, edi
or ecx, edx
sub esi, 0x426719a
add edi, edi
sub esi, edi
mov esi, 0x6af689c7
mov ebx, section.UPX1
dec edi
not edi
mov ecx, 0x47ada1
dec esi
not esi
and edi, edi
mov edx, 0
mov edi, esi
sub edi, esi
mov esi, 0x8ded35b7
mov eax, 0x47ada2
not edi
sub edi, esi
lea eax, [eax + edx]
or edi, edi
not esi
sub edi, 0x10118099
mov eax, dword [eax]
add edi, 1
and edi, esi
and eax, 0xff
or edi, edi
sub esi, edi
inc edx
and edi, edi
sub edi, 0x8ea65de4
mov edi, esi
cmp edx, 0x1f4
jne 0x47b213
mov edx, 0
mov esi, 0x4eadd896
add esi, edi
mov esi, 0x1370c20f
sub esi, edi
add edi, esi
xor dword [ebx], eax
mov esi, edi
and esi, edi
add ebx, 2
sub esi, 0xcd38330a
or edi, edi
sub edi, esi
cmp ebx, ecx
jl 0x47b1d1
or edi, esi
and edi, esi
mov edi, 0x1a06d32c
mov esi, edi
mov edx, section.UPX1
add ebx, 0x2103726c
add ecx, 0x948d3299
mov esi, section.UPX1
or ebx, ecx
and ecx, ecx
mov edi, 0x47ada1
add ecx, ebx
add ebx, ecx
mov eax, 0
inc ebx
add ecx, 0xadf39cf1
dec ebx
mov al, byte [esi]
mov ecx, 0x6c10fbc9
mov ecx, ebx
mov ecx, 0x8d40781d
mov byte [edx], al
add ecx, ecx
not ebx
add edx, 1
mov ecx, 0xc83f4fd0
mov ebx, 0xed154b26
add esi, 2
not ebx
not ecx
or ecx, ebx
cmp esi, edi
jle 0x47b27c
mov ecx, ebx
not ecx
dec edi
or edi, edi
push 0x45e6a0
add edi, 0x1008d061
or esi, esi
sub esi, edi
ret