Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x3fd64390
add edx, 1
and edx, esi
sub esi, edx
popal
dec edx
inc edx
mov esi, edx
mov edx, 0
mov eax, esi
add ebx, 0x168c414d
inc ebx
mov edi, eax
dec ecx
sub ecx, ebx
mov esi, edi
not ecx
sub ecx, ebx
or ebx, ebx
add edx, 1
mov ecx, 0x21c96caf
mov ebx, 0x64daa073
cmp edx, 0x100b509
jne 0x47afd2
not ebx
sub ebx, 0x45170828
or ecx, ebx
cmp edx, 0x100b509
je 0x47b01d
mov ecx, 0
mov bl, byte [ecx]
or ecx, ebx
sub ebx, ecx
add ebx, 0x7cfcb58e
mov edx, esi
and edx, esi
or esi, edx
mov ecx, 0x47ada2
add ebx, 1
add ebx, 0x3cb6767e
mov eax, 0x47af96
add esi, esi
mov ebx, edx
add edx, ebx
mov edi, dword [ecx]
add edx, 0x20b0a5d4
sub esi, edx
and edi, 0xff
dec ebx
sub edx, 0x99305392
xor dword [eax], edi
sub esi, ebx
mov ebx, 0x6fcab620
inc eax
mov esi, 0xb82d8ba5
dec esi
inc ecx
or ebx, edx
and edx, edx
sub edx, 0xe9934aeb
cmp eax, entry0
jl 0x47b049
mov edx, esi
add ebx, 0x4702feee
dec ebx
or edx, ebx
add esi, esi
add edx, ecx
or edx, edx
mov ebx, 0x47af9a
not edx
inc ecx
mov ebx, dword [ebx]
add edi, edi
sub ecx, 1
mov ebx, dword [ebx]
sub edx, edi
not esi
sub esp, 4
mov dword [esp], ebx
and edx, edi
sub ecx, edi
mov ebx, 0x47af96
or ecx, ecx
not edx
mov ebx, dword [ebx]
sub edx, ecx
mov edx, edi
mov ebx, dword [ebx]
mov edx, edi
sub edi, 0x481461df
add esi, edi
sub esp, 4
mov dword [esp], 0x47af9e
or esi, edi
and edi, esi
call ebx
add edi, edi
sub ecx, edx
pop ebx
and esi, edi
sub ecx, 0x352771ab
not edi
push 0x47afab
add edx, 1
mov ecx, 0x1f36e335
add esi, edx
push eax
sub edi, esi
or esi, edi
call ebx
add esi, edi
not esi
sub esp, 4
mov dword [esp], 0x40
mov edi, edx
add ecx, 0x6bbf7614
push 0x3000
add edi, esi
add esi, 0xd94d99d7
push 0x20000319
and esi, esi
dec ecx
add edi, 0xf6204366
sub esp, 4
mov dword [esp], 0
sub edi, edx
sub ecx, edx
sub esi, 0xe34c9fd0
call eax
add edx, 0x68607d2b
inc esi
sub ecx, edi
add eax, 0x20000263
and edx, esi
add esi, edi
mov edi, ecx
mov ebx, 0x40b5dbb5
inc edi
mov ecx, esi
add edx, 0x404dbbef
mov dword [eax], ebx
add edx, 0x89d4896
mov edi, 0x7e6b561
mov ebx, dword [eax]
dec edx
sub edx, 0x434d07ee
cmp ebx, 0x40b5dbb5
je 0x47b19c
mov edx, 0
mov dword [edx], ebx
and esi, ecx
add esi, esi
add edi, ecx
mov edx, esi
not edx
sub esi, 0xe2b45516
add esi, edx
add edx, 0x41a5a425
and esi, edx
mov edi, section.UPX1
sub edx, 0x75251b73
and esi, edx
add esi, edx
mov ecx, 0x47ada1
add edx, esi
add edx, 0xef80273c
add edx, 0x83391c5a
mov eax, 0
mov edx, 0x8809c403
inc edx
sub esi, 1
mov ebx, 0x47ada2
inc edx
add edx, 0x1376cea9
lea ebx, [eax + ebx]
dec esi
sub edx, 0x7eebdc86
mov ebx, dword [ebx]
add esi, 0xaa269581
mov esi, 0x680abf94
and ebx, 0xff
or edx, edx
and esi, edx
inc eax
sub esi, 1
sub esi, 1
cmp eax, 0x1f4
jne 0x47b230
mov eax, 0
add edx, 0x629dc53b
mov esi, 0x6a4f4e4d
add edx, esi
mov esi, 0x48b54508
inc edx
xor dword [edi], ebx
sub esi, 0x85ac87e5
dec esi
inc edx
add edi, 2
sub esi, edx
dec edx
cmp edi, ecx
jl 0x47b1e9
and edx, edx
add esi, esi
or esi, edx
inc esi
mov ecx, section.UPX1
or ebx, esi
inc esi
not ebx
mov edx, section.UPX1
add ebx, 0xdb5961e3
sub ebx, 0x1d8c40e7
mov edi, 0x47ada1
sub esi, 0x1386b480
sub esi, 0x898ea237
sub esi, 0xe52c39b9
mov eax, 0
inc esi
mov ebx, 0x3a5de519
add ebx, 0x24608203
mov al, byte [edx]
sub esi, ebx
add ebx, 0x6f2de3e5
not esi
mov byte [ecx], al
or ebx, esi
mov ebx, esi
sub esi, 1
inc ecx
dec esi
and esi, esi
add edx, 2
and esi, esi
inc ebx
cmp edx, edi
jle 0x47b2a8
dec esi
sub ebx, esi
mov esi, 0x2c68bbf1
sub esi, edx
mov edx, esi
push 0x45e6a0
sub edx, esi
sub edx, 0x3db51e48
ret