Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x6e2dea59
mov edi, ecx
inc edi
popal
or edi, edi
add ecx, 1
sub edi, ecx
mov edx, 0
mov esi, eax
mov ecx, 0xc542220d
dec edi
or ecx, ecx
mov ebx, esi
sub edi, 0x54168e52
mov ecx, 0x76b57a98
add edi, 0x15d87e09
mov eax, ebx
sub edi, 0x3602a541
dec ecx
not edi
inc edx
sub ecx, 0x36413f35
add ecx, 0x4e9f6dcb
cmp edx, 0x1006456
jne 0x47afd1
mov ecx, 0xb272a444
mov ecx, 0x4f8da830
or edi, edi
cmp edx, 0x1006456
je 0x47b02d
mov ecx, 0
mov dword [ecx], eax
sub ecx, 0x589e4905
mov edi, ecx
dec ecx
inc ecx
mov edi, 0xbfe610a
mov ebx, 0x47ada2
sub edx, 0x12ceff16
sub esi, eax
mov esi, 0xfe9e54da
mov edi, 0x47af96
or edx, esi
sub edx, eax
mov ecx, dword [ebx]
add eax, 0x49c3fd8b
sub esi, 0x53e88723
and ecx, 0xff
add eax, 0x36f62846
or eax, esi
xor dword [edi], ecx
inc esi
not edx
inc edi
mov edx, 0x77bcb89e
mov esi, eax
inc ebx
inc esi
and eax, esi
cmp edi, entry0
jl 0x47b057
mov eax, esi
sub eax, 0x7d3d9e68
not eax
sub eax, esi
sub ebx, edi
or ebx, edi
mov ecx, 0x47af9a
add ebx, ebx
sub esi, 0xc1ad92c2
mov ebx, edi
mov ecx, dword [ecx]
add ebx, 0x594163ce
and edx, edi
mov ecx, dword [ecx]
mov edx, 0x9ef16f1a
mov edi, 0x9a98ed4f
sub edi, edx
sub esp, 4
mov dword [esp], ecx
and edx, edx
not edi
sub esi, edx
mov ecx, 0x47af96
inc ebx
add ebx, 0xb160f401
dec edx
mov ecx, dword [ecx]
add ebx, ebx
or edx, esi
mov ecx, dword [ecx]
and edi, ebx
and esi, ebx
and edi, edx
push 0x47af9e
inc esi
sub edi, 0xc2e146a
call ecx
and edi, edi
and esi, esi
mov edx, esi
pop ecx
sub esi, 0x28cb7232
mov edx, 0x30e3ddc
sub ebx, edx
push 0x47afab
inc edi
inc ebx
not edi
push eax
mov esi, 0x51c4baa8
not edi
call ecx
sub edi, edx
sub esi, edx
push 0x40
mov edx, 0x639ca1cf
not esi
add ebx, 0x8270a2ee
push 0x3000
dec edi
add edi, 0x1ddfa2a
push 0x20000771
and edx, edx
inc esi
push 0
add ebx, 1
mov ebx, esi
call eax
mov edx, esi
or edi, edi
not edx
add eax, 0x200006fd
add esi, ebx
add edx, 0x7ec973f7
mov ecx, 0x479bc087
mov esi, edi
or ebx, edi
mov dword [eax], ecx
add edx, ebx
inc esi
mov ecx, dword [eax]
or edx, edi
and ebx, ebx
mov edi, ebx
cmp ecx, 0x479bc087
je 0x47b195
mov edx, 0
mov byte [edx], al
add ebx, esi
add edi, 1
sub edx, ebx
add ebx, 0xcdcbe099
not ebx
mov ecx, 0x9cf72ffb
inc ecx
add edi, 1
mov eax, section.UPX1
not edi
sub ecx, 0x99b4b1bd
mov edx, 0x47ada1
and edi, ecx
and edi, ecx
mov edi, ecx
mov esi, 0
sub edi, 0x25a29299
not ecx
sub ecx, 1
mov ebx, 0x47ada2
not ecx
add edi, ecx
mov edi, 0x270c2365
lea ebx, [ebx + esi]
mov ecx, 0x6779cc66
inc edi
mov ebx, dword [ebx]
or edi, ecx
add edi, ecx
and ebx, 0xff
dec edi
sub edi, ecx
add ecx, edi
inc esi
add ecx, 0xe686817d
sub ecx, edi
cmp esi, 0x1f4
jne 0x47b21c
mov esi, 0
and edi, edi
or ecx, ecx
add edi, edi
mov edi, 0xabbd6107
sub edi, ecx
xor dword [eax], ebx
and edi, edi
and ecx, ecx
add eax, 2
or ecx, edi
dec ecx
or edi, edi
cmp eax, edx
jl 0x47b1de
not edi
inc edi
sub edi, 0x9826d2d4
or edi, ecx
inc ecx
inc ecx
mov eax, section.UPX1
sub edi, esi
inc esi
mov edi, esi
mov ebx, section.UPX1
dec edi
not edi
mov edx, 0x47ada1
add esi, esi
dec edi
sub edi, 0xc1caa805
mov ecx, 0
mov esi, 0xf4fdcd7e
mov edi, esi
mov esi, edi
mov cl, byte [ebx]
mov edi, 0xf337047e
add edi, 0x484971c
not esi
mov byte [eax], cl
and edi, edi
not edi
dec edi
inc eax
inc esi
add esi, 1
add ebx, 2
add edi, 0x80a063d0
add esi, 0x15d213c2
not edi
cmp ebx, edx
jle 0x47b27d
add esi, 1
sub edi, esi
or edi, ecx
inc edi
mov edi, ecx
push 0x45e6a0
add ecx, ecx
dec ecx
ret