Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x2a1d0817
add edi, edx
inc edi
popal
dec edx
or edx, edi
sub edi, edx
mov ebx, 0
mov ecx, edi
sub edx, 0xbe9ef3cd
mov edx, eax
mov esi, ecx
sub edx, eax
not edx
inc eax
mov edi, esi
add eax, edx
and eax, edx
add edx, 1
inc ebx
add edx, edx
and edx, edx
sub eax, 0x43226ee9
cmp ebx, 0x100ff1b
jne 0x47afcc
sub eax, 0xe9aa1c76
mov eax, edx
sub eax, 1
cmp ebx, 0x100ff1b
je 0x47b01d
mov ebx, 0
mov dword [ebx], edx
inc edx
add eax, 0xd5e35a4
not edx
sub edi, 0x51b7bf2d
sub edi, 0xfa11484
mov ecx, 0x47ada2
dec eax
and ebx, eax
mov eax, 0x64835afc
mov edx, 0x47af96
dec esi
dec esi
add ebx, ebx
mov edi, dword [ecx]
mov esi, eax
mov esi, 0x7158a31c
add ebx, 0x70acac57
and edi, 0xff
sub ebx, 0x4d63bf72
mov ebx, 0xbc4869c8
xor dword [edx], edi
or ebx, ebx
or esi, ebx
inc edx
add eax, esi
add ebx, ebx
and esi, eax
inc ecx
sub eax, esi
and eax, eax
sub eax, 0x6addd8b
cmp edx, entry0
jl 0x47b048
not ebx
add eax, 0x21e5c4cb
and esi, ebx
add esi, 1
add ecx, esi
mov ecx, 0x93c10007
sub edi, 0x1d3ebfa0
mov edx, 0x47af9a
and ebx, ebx
dec esi
mov edx, dword [edx]
sub ebx, ecx
mov esi, ebx
mov edx, dword [edx]
add ecx, ebx
add ebx, esi
not ebx
push edx
mov ebx, 0x87661cf0
sub edi, ecx
add edi, 0x7152ae23
mov edx, 0x47af96
mov edi, ebx
and esi, edi
mov edx, dword [edx]
or esi, ecx
not ecx
mov edx, dword [edx]
not ebx
inc ebx
push 0x47af9e
and ecx, esi
sub ecx, 0x543505a8
not ecx
call edx
or esi, edi
add ecx, 0x643174a4
pop edx
or esi, edi
add esi, 0x58a97f7a
push 0x47afab
or edi, esi
sub edi, 1
mov edi, 0x80bada31
sub esp, 4
mov dword [esp], eax
not ecx
not esi
add ebx, 0xae1bc442
call edx
mov esi, 0x62266c3f
add ecx, ecx
push 0x40
and ebx, esi
add esi, 0x4be2c6a4
push 0x3000
add edi, 0x80fb0a9e
mov esi, ecx
inc edi
push 0x2000018d
add edi, ecx
sub esi, ecx
mov edi, ebx
push 0
dec edi
dec ebx
add edi, ecx
call eax
sub esi, ebx
sub ecx, 0xaee3c6df
add ecx, ecx
add eax, 0x2000010e
mov esi, 0x5ea3d88a
mov esi, 0x4c6485d0
mov esi, edi
mov edx, 0xf57aab85
add ecx, ecx
dec ebx
mov dword [eax], edx
sub ecx, 0xb6c001d2
sub ebx, ecx
mov edx, dword [eax]
add ebx, 0xf5c9aad0
inc ecx
cmp edx, 0xf57aab85
je 0x47b1a5
mov ebx, 0
mov byte [ebx], dl
and edi, esi
mov ebx, 0xaf165971
not ecx
or ebx, ebx
inc ecx
mov edi, 0xa53b68f2
inc edx
add edi, 0x4a34a290
sub edi, 0x22124d7b
mov ebx, section.UPX1
sub edx, edi
dec edx
sub edx, edi
mov ecx, 0x47ada1
dec edi
add edi, edx
mov esi, 0
add edi, 0xdcfe7e12
mov edi, edx
mov eax, 0x47ada2
sub edi, 0xbbbe96bb
add edx, edx
inc edx
lea eax, [eax + esi]
mov edi, edx
add edx, 0x609f3256
mov eax, dword [eax]
not edx
inc edx
and eax, 0xff
not edx
sub edx, edi
sub edi, 0xc47940a8
inc esi
or edi, edi
and edi, edx
cmp esi, 0x1f4
jne 0x47b222
mov esi, 0
mov edx, edi
add edx, edi
sub edx, 0xfd63e8d
sub edi, 0x70669a2e
or edi, edx
xor dword [ebx], eax
dec edi
not edi
dec edi
add ebx, 2
add edx, 0x98af8614
or edx, edx
cmp ebx, ecx
jl 0x47b1e2
or edi, edi
mov edx, edi
not edi
or edi, edi
inc edx
mov ebx, section.UPX1
mov edx, eax
sub eax, 0xbf7c5e3d
mov esi, section.UPX1
mov eax, 0x34f1b237
mov eax, edx
mov edi, 0x47ada1
add edx, edx
not eax
sub eax, 0x79ceccea
mov ecx, 0
mov eax, edx
not eax
mov cl, byte [esi]
or edx, edx
sub edx, 0xb4b132f3
sub eax, 0xe0ef90ab
mov byte [ebx], cl
dec eax
or eax, eax
inc ebx
sub edx, 0x3c3c72da
mov edx, eax
add esi, 2
dec edx
add edx, 0x3775a71c
inc eax
cmp esi, edi
jle 0x47b28a
and edx, edx
mov eax, edx
sub eax, 0x15699470
or edi, edi
add edi, 1
push 0x45e6a0
add edx, 0xee8c2779
and edx, edi
mov edi, edx
ret