Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xb21d8360
mov eax, ecx
inc ecx
popal
mov eax, ecx
mov eax, ecx
mov edi, 0
mov edx, ebx
inc eax
sub esi, eax
mov esi, 0x3eaaaa01
mov ecx, edx
sub eax, esi
sub esi, eax
not eax
mov ebx, ecx
and esi, eax
dec eax
inc edi
add esi, 0xe395f7bd
and eax, esi
cmp edi, 0x10090a2
jne 0x47afcb
add eax, esi
add esi, esi
mov eax, 0x4929db
cmp edi, 0x10090a2
je 0x47b00f
mov edx, 0
mov bl, byte [edx]
sub esi, 0xc76dbbc8
not eax
add esi, esi
sub eax, 0x71b7e942
dec eax
mov esi, 0x47ada2
sub edx, 1
mov edi, 0xfe3ca95a
mov edx, edi
mov ecx, 0x47af96
or ebx, edx
sub ebx, 1
mov eax, dword [esi]
mov ebx, 0xb65a5b27
add edx, ebx
sub edx, edi
and eax, 0xff
mov edx, 0xb6140af7
mov ebx, 0xd244f340
xor dword [ecx], eax
sub ebx, edi
dec edi
and edi, edx
inc ecx
sub edx, 1
sub ebx, edx
inc esi
not ebx
not edi
cmp ecx, entry0
jl 0x47b03f
add ebx, 1
sub ebx, 0xb4793e23
add edx, 1
or edi, ebx
inc edx
add ebx, 0x5b47bec0
or ecx, edx
add edx, 1
mov edi, 0x47af9a
sub ecx, 0x2bb6a7c5
add ecx, ebx
mov edi, dword [edi]
add ebx, edx
add esi, 0x1b62b4cf
sub ecx, esi
mov edi, dword [edi]
mov esi, 0xa1f57b23
or ecx, esi
mov edx, ebx
push edi
not esi
inc ebx
dec esi
mov edi, 0x47af96
not esi
mov edx, 0x98ec1cbb
mov edi, dword [edi]
add ebx, esi
mov ecx, esi
add ebx, esi
mov edi, dword [edi]
not edx
add ebx, ebx
push 0x47af9e
sub ecx, 0x85534c0e
not ebx
call edi
or esi, ecx
sub ebx, edx
pop edi
mov ecx, 0xa11507ed
sub esi, ecx
push 0x47afab
add edx, ebx
mov edx, ecx
push eax
inc ecx
sub esi, ebx
call edi
add ecx, ebx
dec ebx
mov ecx, 0xea85bb6d
push 0x40
mov ecx, edx
add ebx, ebx
push 0x3000
not esi
and esi, ecx
push 0x20000010
or edx, ecx
inc ecx
push 0
mov ecx, edx
not ebx
or ecx, esi
call eax
mov ecx, 0x789f1e6b
or ebx, esi
add eax, 0x1fffff55
add esi, esi
sub ebx, 0xc504f910
mov edi, 0x532a45aa
not ecx
dec edx
sub edx, 0xc3edceee
mov dword [eax], edi
add esi, esi
and edx, ecx
inc ebx
mov edi, dword [eax]
sub ebx, edx
mov ecx, 0x458563e7
cmp edi, 0x532a45aa
je 0x47b17c
mov ebx, 0
mov al, byte [ebx]
sub esi, 0x6c7bb99a
sub edx, 0xeb4e9413
add ebx, esi
or esi, ebx
inc ecx
sub ecx, eax
mov ebx, section.UPX1
mov ecx, 0xac9a9612
mov ecx, eax
add ecx, 0x862e500a
mov edi, 0x47ada1
and eax, eax
and eax, eax
add eax, eax
mov edx, 0
and ecx, ecx
mov eax, ecx
add ecx, ecx
mov esi, 0x47ada2
not ecx
add eax, ecx
inc eax
lea esi, [edx + esi]
and eax, ecx
add ecx, ecx
mov eax, ecx
mov esi, dword [esi]
not ecx
inc ecx
and eax, ecx
and esi, 0xff
and eax, eax
sub eax, ecx
inc edx
add ecx, 0x1f8e3737
add eax, 0xb957879d
cmp edx, 0x1f4
jne 0x47b1f5
mov edx, 0
not ecx
mov ecx, eax
and ecx, ecx
mov eax, ecx
and eax, eax
xor dword [ebx], esi
add eax, eax
mov ecx, 0x73df1c0d
add ebx, 2
add eax, 1
add eax, ecx
dec ecx
cmp ebx, edi
jl 0x47b1b7
sub eax, ecx
add ecx, 0xf81f674e
sub ecx, 0x4578d70d
dec ecx
mov ebx, section.UPX1
sub edi, 0xf54944ed
sub esi, edi
mov edx, section.UPX1
add esi, 0x1868b77c
sub esi, 1
mov ecx, 0x47ada1
dec edi
sub esi, edi
mov eax, 0
add edi, edi
mov edi, esi
inc esi
mov al, byte [edx]
add edi, esi
sub edi, 0x728f5c99
add esi, esi
mov byte [ebx], al
mov esi, 0xb39106d3
not edi
add edi, 0x7c0885ed
inc ebx
sub esi, 0x8997e9a
or edi, esi
add edx, 2
sub esi, 0xcb52c4d1
mov esi, edi
inc esi
cmp edx, ecx
jle 0x47b25e
mov esi, 0x930fb1ad
add edi, edi
sub esi, edi
not ecx
mov ecx, eax
push 0x45e6a0
add eax, 0x5d35f064
not eax
add ecx, 0x25e1e23e
ret