Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xb383f7da
not ebx
add edx, 0x888e088f
mov ebx, edx
popal
and edx, ebx
or ebx, ebx
add edx, 0x68c1ea9d
mov eax, 0
mov esi, edx
add ecx, ecx
inc ecx
mov ebx, esi
sub ecx, 0xd4c498f6
and ecx, edi
mov edx, ebx
sub edi, ecx
add ecx, 0xd8315886
not edi
inc eax
add ecx, 0xbc5357a7
add edi, ecx
add edi, edi
cmp eax, 0x100a01c
jne 0x47afd8
add ecx, edi
and ecx, edi
or edi, ecx
cmp eax, 0x100a01c
je 0x47b01f
mov ebx, 0
mov dl, byte [ebx]
or ecx, ecx
sub edi, 0xdb716e1c
and ebx, edx
sub ebx, 1
mov edx, 0x1e52435c
mov ebx, 0x47ada2
or ecx, esi
or esi, edx
mov eax, 0x47af96
sub ecx, 0x69e67432
or edx, ecx
dec esi
mov edi, dword [ebx]
and ecx, ecx
mov ecx, 0xd4ea67b5
not ecx
and edi, 0xff
or edx, esi
sub ecx, 0xcc35ed0d
xor dword [eax], edi
not ecx
or ecx, esi
inc eax
and edx, esi
sub edx, esi
inc esi
inc ebx
or ecx, edx
sub ecx, 1
cmp eax, entry0
jl 0x47b04b
add edx, esi
dec esi
add ecx, edx
add esi, 0x3f36ea07
mov ecx, 0x5feebec1
add edx, esi
add ecx, 0x5704c9ae
or esi, ecx
mov edi, 0x47af9a
and edx, ecx
inc ebx
sub ecx, 0xc8b92be6
mov edi, dword [edi]
inc ecx
sub esi, 1
mov edi, dword [edi]
sub ecx, 0x12b9031d
add esi, 0x92da3df5
sub esp, 4
mov dword [esp], edi
or ecx, edx
sub esi, ebx
add edx, 0xa0285351
mov edi, 0x47af96
add ecx, 0x3f6a39f3
mov edx, 0x4ddc564
mov ebx, 0x7d33524b
mov edi, dword [edi]
sub ebx, ecx
not edx
sub ecx, 0xed555f53
mov edi, dword [edi]
add edx, edx
sub edx, 0xa1a5697d
push 0x47af9e
add esi, 0xc4550159
sub esi, ebx
call edi
inc ebx
or ecx, ebx
dec esi
pop edi
dec ebx
not ecx
push 0x47afab
add edx, edx
sub edx, esi
push eax
mov ecx, 0x92c55ed4
mov edx, 0xbad9ce6c
call edi
mov ebx, 0xef731bee
mov ecx, edx
sub esp, 4
mov dword [esp], 0x40
mov ebx, esi
add esi, esi
not ecx
sub esp, 4
mov dword [esp], 0x3000
dec ecx
mov edx, 0xed57a3f7
push 0x2000043f
dec esi
not ecx
push 0
mov ecx, ebx
mov edx, 0xde3e56ab
call eax
sub ebx, 1
add ebx, ebx
sub ecx, ebx
add eax, 0x200003a7
mov ebx, 0x86545ae2
add edx, ebx
dec esi
mov edi, 0x551f826a
sub edx, esi
not esi
mov dword [eax], edi
sub esi, 0x402b180c
add esi, 1
not ebx
mov edi, dword [eax]
not ecx
not ebx
cmp edi, 0x551f826a
je 0x47b1af
mov edx, 0
mov al, byte [edx]
add ebx, edx
mov ebx, edx
inc edx
add ebx, 0x1fc3190c
dec edx
not edx
sub edx, ebx
mov edi, section.UPX1
dec edx
add ebx, ebx
not ebx
mov esi, 0x47ada1
or ebx, edx
and edx, ebx
mov ecx, 0
sub edx, 0x850d7962
not edx
mov eax, 0x47ada2
sub edx, ebx
mov edx, 0x51a96c2
lea eax, [eax + ecx]
add edx, ebx
mov edx, 0x7452af1f
mov eax, dword [eax]
not edx
sub edx, ebx
and eax, 0xff
and ebx, ebx
inc ebx
and edx, ebx
inc ecx
sub ebx, 0x85b66b19
dec edx
cmp ecx, 0x1f4
jne 0x47b21b
mov ecx, 0
add edx, ebx
or ebx, edx
or ebx, ebx
sub edx, ebx
inc ebx
xor dword [edi], eax
sub ebx, 0xe5cd7b0a
add edx, 1
mov ebx, 0x77716744
add edi, 2
sub edx, ebx
inc ebx
cmp edi, esi
jl 0x47b1df
not edx
and ebx, ebx
mov ebx, 0x262811ec
mov edx, ebx
mov edx, section.UPX1
sub ebx, 0xc3e0d0ff
mov ebx, esi
add esi, esi
mov ecx, section.UPX1
mov ebx, esi
mov esi, ebx
inc esi
mov edi, 0x47ada1
sub ebx, esi
sub esi, ebx
mov eax, 0
or esi, ebx
not ebx
sub ebx, esi
mov al, byte [ecx]
not ebx
inc ebx
inc esi
mov byte [edx], al
mov esi, 0x7fbfb01f
mov esi, 0x68337df4
and esi, esi
add edx, 1
sub esi, 0x1cd2bfb1
dec esi
add ecx, 2
sub esi, 0xc83f927
add esi, ebx
cmp ecx, edi
jle 0x47b280
dec ebx
inc esi
add esi, 1
not edx
add ebx, edx
push 0x45e6a0
dec edx
sub edx, 0xc4d415db
or edx, edx
ret