Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x1494428
sub eax, 1
and eax, eax
popal
sub ebx, 0xd4cdccd4
mov eax, ebx
mov ebx, 0
mov ecx, edx
sub esi, 0xf932db8a
add esi, 0xea808168
add eax, 0x97659c9a
mov edi, ecx
not esi
sub esi, eax
add eax, eax
mov edx, edi
sub esi, 1
sub eax, 1
inc ebx
add eax, 0xe8c839b0
inc eax
cmp ebx, 0x100f1d2
jne 0x47afd4
sub eax, 1
not esi
or esi, esi
cmp ebx, 0x100f1d2
je 0x47b02b
mov ecx, 0
mov byte [ecx], bl
not esi
mov esi, eax
not eax
mov ebx, eax
mov ecx, 0x47ada2
sub edi, eax
mov edi, edx
sub edi, 1
mov esi, 0x47af96
sub eax, edi
mov edx, 0xf6b71d52
and eax, edx
mov ebx, dword [ecx]
or edi, edi
sub edi, eax
and ebx, 0xff
sub edx, 0x27456f1e
and edx, edx
xor dword [esi], ebx
add edx, 1
sub eax, edi
sub edx, 0xafc940cf
add esi, 1
sub eax, 1
and edi, edx
inc ecx
not edx
add edi, edi
cmp esi, entry0
jl 0x47b050
mov edi, 0xaafce5cd
not eax
add edx, edi
add edi, 0xe0180a7f
add edi, eax
mov edx, edi
add edx, edi
add ecx, 0xd87dd44d
add edi, 0x524757ca
mov esi, 0x47af9a
add ecx, 0xf98586d5
add edx, 0xbb3dd873
mov esi, dword [esi]
or ecx, edi
not ecx
mov esi, dword [esi]
not ecx
not ebx
push esi
or ebx, edi
dec ecx
mov ecx, edx
mov esi, 0x47af96
mov edi, ebx
sub edi, 0x14e77e6a
mov esi, dword [esi]
and edi, ecx
add edx, ecx
inc ecx
mov esi, dword [esi]
not ecx
dec edi
mov ecx, 0x6310955d
push 0x47af9e
sub edx, ebx
sub edx, 0xd99c71b9
not ecx
call esi
sub edx, edi
and ebx, edi
pop esi
mov edi, ecx
not edi
push 0x47afab
and ebx, edi
dec edx
or edx, ebx
push eax
add edi, ecx
sub ebx, 0xde45ae9d
or ebx, edi
call esi
dec edi
mov edi, 0x4403edd9
sub edi, 1
push 0x40
and ebx, ecx
mov ebx, 0xeb5ec998
sub ebx, 0xdc6f4818
sub esp, 4
mov dword [esp], 0x3000
add ecx, 0x25db32ce
mov edx, 0xcf603b22
sub esp, 4
mov dword [esp], 0x200005d3
mov ecx, 0x165bf6f4
sub ebx, 0x54aaf9d8
sub ebx, edx
push 0
and edx, edi
or edi, edx
inc edi
call eax
and ecx, ebx
or edx, edi
add eax, 0x20000539
sub ecx, edx
add ecx, edx
inc ebx
mov esi, 0x1498d3b0
dec ecx
add edi, 1
sub ecx, 0xde289cbd
mov dword [eax], esi
add ebx, 0xe641a0d0
inc edx
mov esi, dword [eax]
not ecx
add ecx, ecx
and ebx, ecx
cmp esi, 0x1498d3b0
je 0x47b1bd
mov ebx, 0
mov dword [ebx], eax
or edi, edx
add edx, 0x4cd1c51
add edx, ebx
add ecx, 0x5fb7d90d
and ecx, edx
dec ebx
dec eax
add ebx, 1
mov edi, section.UPX1
sub ebx, 1
add eax, 0xf79a68cd
mov esi, 0x47ada1
inc eax
add ebx, eax
mov edx, 0
or ebx, ebx
add ebx, 1
mov ecx, 0x47ada2
not ebx
and eax, ebx
lea ecx, [edx + ecx]
and ebx, eax
and ebx, ebx
mov ecx, dword [ecx]
mov eax, ebx
and eax, eax
and ecx, 0xff
add eax, 0xc5054a18
and ebx, ebx
add ebx, eax
inc edx
sub eax, ebx
add ebx, ebx
and eax, eax
cmp edx, 0x1f4
jne 0x47b237
mov edx, 0
add ebx, 0x5636f976
or eax, eax
sub ebx, 0x8f8c14ee
inc eax
mov eax, 0xa880c5d0
and ebx, eax
xor dword [edi], ecx
and eax, ebx
sub eax, 0x4c5abc1f
not ebx
add edi, 2
dec eax
add ebx, 0x32eede08
add ebx, ebx
cmp edi, esi
jl 0x47b1fd
add ebx, 0x26aaf6ce
sub eax, ebx
sub ebx, 0x83309f38
mov eax, ebx
add ebx, 0x116a83f3
mov eax, section.UPX1
not ebx
add esi, 1
add ebx, 0xbe786dd
mov edi, section.UPX1
add esi, 0x751471a6
sub ebx, esi
mov ecx, 0x47ada1
add ebx, esi
add esi, 0x209ba220
dec ebx
mov edx, 0
sub esi, 0xf94d9db5
or esi, ebx
sub esi, ebx
mov dl, byte [edi]
add ebx, 0x19166c52
and ebx, esi
add ebx, 0x98ce8908
mov byte [eax], dl
sub ebx, 0x25f149c4
and esi, ebx
sub esi, 0x5fab1a56
inc eax
sub esi, 0x931ce699
inc esi
mov esi, 0xe3888654
add edi, 2
inc esi
or ebx, esi
sub ebx, 1
cmp edi, ecx
jle 0x47b2c3
add esi, 0xa29bee3f
add esi, esi
sub esi, ebx
and eax, eax
or eax, eax
push 0x45e6a0
or eax, ebx
mov ebx, eax
ret