Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x123b36f2
and ecx, edx
and edx, ecx
popal
mov ecx, edx
mov ecx, 0x6c74ebe6
mov edx, 0
mov edi, ebx
or esi, esi
add esi, esi
and esi, eax
mov ecx, edi
sub eax, 0x726c1e0e
or esi, eax
mov ebx, ecx
dec esi
dec esi
or esi, esi
inc edx
sub esi, 0x8ffb4cd0
add eax, 0x3cc15087
cmp edx, 0x1000ef4
jne 0x47afcf
dec esi
add eax, 0xbc5125a6
sub esi, eax
cmp edx, 0x1000ef4
je 0x47b018
mov edx, 0
mov cl, byte [edx]
add esi, 1
sub eax, esi
add esi, 1
inc edx
not edx
mov ebx, 0x47ada2
sub esi, 1
and edi, edx
mov ecx, 0x47af96
add edi, 1
sub edx, esi
mov eax, dword [ebx]
dec edi
mov edx, 0x64993f12
and eax, 0xff
mov edx, 0x510a5203
sub esi, 1
not edi
xor dword [ecx], eax
not esi
inc edi
inc ecx
sub edx, 0x24431039
and edi, edi
inc ebx
mov esi, edi
mov esi, edx
mov esi, edi
cmp ecx, entry0
jl 0x47b043
sub edi, 1
add edi, 1
sub esi, 0x95af4380
mov edx, 0xbdfe29bb
add edx, esi
dec esi
and ecx, edx
sub esi, 0x27b6a543
mov ebx, 0x47af9a
and edx, ecx
or edi, ecx
mov ebx, dword [ebx]
or edi, edi
sub edi, 1
mov ecx, esi
mov ebx, dword [ebx]
dec esi
add ecx, 0x79534c60
not ecx
push ebx
inc edx
mov edi, 0x4c1cd501
mov ebx, 0x47af96
add ecx, 1
and ecx, edi
sub edi, esi
mov ebx, dword [ebx]
mov ecx, edi
mov edx, ecx
mov ebx, dword [ebx]
mov esi, edx
add edx, 1
push 0x47af9e
not edi
not edx
call ebx
sub esi, 0x7c36ee04
or esi, ecx
add esi, ecx
mov ebx, dword [esp]
add esp, 4
inc ecx
add esi, ecx
push 0x47afab
and edx, ecx
sub edi, 0xe80dcb3d
add esi, 1
push eax
inc esi
mov ecx, edi
mov ecx, 0xbb29eb13
call ebx
dec edx
mov ecx, 0xaf64236a
push 0x40
mov edx, ecx
dec esi
push 0x3000
mov edx, 0x5c2e9957
add ecx, 0xb9d54a6f
add ecx, 1
push 0x200000f8
add ecx, 0x74f97cf8
sub esi, edx
sub esp, 4
mov dword [esp], 0
sub ecx, 1
add edi, 0x629de1f0
call eax
not edi
dec ecx
add eax, 0x20000072
or esi, edx
add esi, edx
add edi, edi
mov ebx, 0x2c341062
sub ecx, 0x787e3e7f
sub esi, 0x4c155592
and edx, ecx
mov dword [eax], ebx
add edi, 0xa86853
not edi
sub ecx, edx
mov ebx, dword [eax]
and edi, ecx
and edx, edx
not esi
cmp ebx, 0x2c341062
je 0x47b1b1
mov edx, 0
mov dword [edx], eax
mov ecx, esi
sub esi, edi
and ecx, edx
mov ecx, esi
inc ecx
add ecx, 0x3cdc8459
sub ecx, edx
mov eax, section.UPX1
not edx
sub edx, 0xb32e3a43
mov edi, 0x47ada1
sub edx, ecx
sub edx, 0x1339fd7
dec ecx
mov ebx, 0
or edx, ecx
add edx, ecx
mov esi, 0x47ada2
or ecx, edx
or ecx, ecx
add edx, 0x6bff7022
lea esi, [esi + ebx]
sub ecx, edx
add ecx, 0x16599e6
mov esi, dword [esi]
mov edx, 0x1fa58c3
and edx, ecx
and esi, 0xff
sub ecx, 0xc8c2c3ab
and ecx, edx
not edx
inc ebx
and ecx, edx
mov edx, 0x875640f4
cmp ebx, 0x1f4
jne 0x47b22e
mov ebx, 0
or edx, edx
sub edx, ecx
not ecx
add ecx, 0x1036b627
xor dword [eax], esi
sub edx, ecx
mov ecx, edx
add eax, 2
dec edx
not edx
sub edx, ecx
cmp eax, edi
jl 0x47b1e6
and edx, edx
add edx, edx
not ecx
mov ecx, 0xa62da9ed
mov ecx, edx
add ecx, ecx
mov ebx, section.UPX1
add ecx, edi
mov edi, 0xc4b9177f
mov eax, section.UPX1
dec ecx
not ecx
mov esi, 0x47ada1
add edi, ecx
or edi, ecx
and ecx, edi
mov edx, 0
or ecx, edi
and ecx, ecx
add ecx, 0x54d78174
mov dl, byte [eax]
mov ecx, edi
dec edi
mov byte [ebx], dl
or edi, edi
mov edi, 0x3c164dc0
mov ecx, 0xdc2b3e33
add ebx, 1
mov edi, ecx
mov edi, ecx
sub edi, ecx
add eax, 2
sub ecx, 0xf91a60cd
dec ecx
add ecx, ecx
cmp eax, esi
jle 0x47b290
sub ecx, 0xacbaaf6
or edi, ecx
add edx, edx
mov ecx, edx
mov ecx, 0x2a6884b5
push 0x45e6a0
sub ecx, edx
sub edx, ecx
ret