Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xa46c87d
add edx, 1
dec edx
mov ecx, edx
popal
mov ecx, edx
mov ecx, 0x3cc2c082
mov edx, 0xc56f3da9
mov ecx, 0
mov edi, ebx
sub esi, edx
sub edx, 0xe93a6f27
add esi, 0x95c7da98
mov eax, edi
or edx, edx
mov edx, esi
mov ebx, eax
dec esi
mov esi, edx
inc ecx
and esi, edx
and edx, edx
sub edx, 0xf2177d4c
cmp ecx, 0x1005019
jne 0x47afd9
mov esi, edx
sub esi, 0x990bf4fb
not esi
cmp ecx, 0x1005019
je 0x47b024
mov ebx, 0
mov byte [ebx], cl
not esi
inc esi
not edx
sub edx, ecx
mov ecx, edx
mov ebx, 0x47ada2
inc ecx
mov ecx, edx
mov edx, edi
mov eax, 0x47af96
and ecx, ecx
inc edi
and edi, edi
mov esi, dword [ebx]
sub edx, 0x4a718c1c
not edx
and esi, 0xff
or edx, edi
sub edi, 0x51cef534
mov edx, 0x9e260547
xor dword [eax], esi
and edi, ecx
and edx, edx
inc eax
add edx, 1
dec ecx
inc ebx
mov edi, edx
dec edi
cmp eax, entry0
jl 0x47b041
add edi, 0x5f022cf7
or edx, edi
mov ecx, edx
and edi, edi
sub edx, 0x846f8969
sub edi, ecx
add ecx, ebx
mov esi, 0x47af9a
add ebx, 0x195ec499
or edi, edi
add ebx, ebx
mov esi, dword [esi]
sub ebx, 0xb3003f81
add edi, ebx
and edi, ebx
mov esi, dword [esi]
dec edx
mov edi, 0xd1686609
sub ebx, 1
sub esp, 4
mov dword [esp], esi
dec edi
add edx, ebx
mov esi, 0x47af96
or ebx, edx
add edx, 0x2779a58c
mov esi, dword [esi]
sub edi, 1
add edi, 0xded99561
inc edx
mov esi, dword [esi]
sub ecx, 0x20dda9cc
sub edi, ebx
push 0x47af9e
sub edx, edi
inc edi
dec edi
call esi
sub ecx, 0x383b1afa
and edi, edx
sub edi, 0x45bfd3a6
pop esi
add edi, 0x470b75f5
sub ebx, 0xa54d1b9d
push 0x47afab
and edi, edx
not ecx
mov edx, 0x86678122
push eax
sub ecx, ebx
mov edx, ecx
mov edx, ebx
call esi
sub edi, 0xc71cf90b
dec ecx
and edi, edx
sub esp, 4
mov dword [esp], 0x40
add ecx, 0xf77f5af
add edi, 0xa94a9fa9
not edi
push 0x3000
sub edi, ebx
or edi, edx
push 0x2000087b
inc edi
sub ebx, ecx
push 0
sub ebx, 0x5662a7c5
not edi
mov edx, 0x4e6d8c1c
call eax
add ebx, 0x6d41fb33
and ebx, edi
inc edi
add eax, 0x200007df
mov edx, ecx
mov edi, 0xef5567fa
mov esi, 0x4a8b8c4
mov ebx, edx
not ecx
sub ebx, 0xed50533d
mov dword [eax], esi
mov edi, 0xb136130d
add edi, 0x26a72a38
mov esi, dword [eax]
add edi, edx
and ecx, ecx
cmp esi, 0x4a8b8c4
je 0x47b1b4
mov edx, 0
mov dword [edx], ecx
mov ebx, 0xe12e0f8
and ebx, edx
inc ecx
add edx, ecx
and edx, edi
sub edx, ecx
inc ecx
mov ebx, section.UPX1
add edx, ecx
sub edx, ecx
add ecx, 0x60586736
mov edi, 0x47ada1
sub edx, ecx
and ecx, ecx
sub edx, ecx
mov eax, 0
add edx, ecx
not edx
sub edx, ecx
mov esi, 0x47ada2
and edx, ecx
mov edx, ecx
lea esi, [esi + eax]
mov edx, ecx
or edx, ecx
mov edx, ecx
mov esi, dword [esi]
add ecx, edx
or edx, edx
and esi, 0xff
add edx, ecx
sub ecx, edx
inc eax
sub edx, ecx
dec ecx
add edx, 0x1b32d571
cmp eax, 0x1f4
jne 0x47b221
mov eax, 0
sub edx, 0x1f180029
dec ecx
mov edx, 0xcb9f7f0a
sub ecx, 0xe6868b15
xor dword [ebx], esi
dec ecx
add edx, 0x6dced7e0
add edx, 0xeb05d057
add ebx, 2
sub ecx, 0x54019313
sub edx, 0x8bf9a6e3
dec ecx
cmp ebx, edi
jl 0x47b1e8
mov ecx, edx
and edx, edx
mov ecx, 0x86656918
add edx, edx
or ecx, ecx
mov eax, section.UPX1
inc ecx
not ebx
mov ebx, ecx
mov edi, section.UPX1
mov ecx, ebx
dec ebx
mov ebx, ecx
mov esi, 0x47ada1
mov ebx, ecx
not ecx
mov edx, 0
mov ecx, 0x205465ba
add ecx, 0xeef711f1
mov ebx, ecx
mov dl, byte [edi]
dec ecx
add ebx, 0x36aa1580
mov byte [eax], dl
mov ecx, ebx
add ecx, ebx
inc eax
mov ebx, 0xea09fed1
mov ecx, ebx
add edi, 2
mov ebx, ecx
not ebx
add ecx, ecx
cmp edi, esi
jle 0x47b299
sub ecx, ebx
not ebx
sub edx, ecx
add ecx, 0x4920efa3
not edx
sub esp, 4
mov dword [esp], 0x45e6a0
sub ecx, 0x47748550
sub edx, ecx
inc edx
ret