Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x8daaef57
mov ecx, edx
add edx, ecx
mov edx, ecx
popal
dec ecx
or edx, edx
add ecx, 0x8a154487
mov ebx, 0
mov edi, edx
or eax, esi
and esi, esi
or esi, eax
mov ecx, edi
mov esi, eax
add eax, 0x4f2087f8
mov edx, ecx
inc esi
dec esi
mov esi, eax
inc ebx
add esi, eax
not esi
add esi, 0x1ba94f89
cmp ebx, 0x10066b5
jne 0x47afd3
add eax, esi
mov esi, 0x6bf3998
cmp ebx, 0x10066b5
je 0x47b018
mov ebx, 0
mov byte [ebx], al
inc eax
dec eax
and ecx, edx
sub edx, 1
mov esi, 0x47ada2
add eax, edx
dec eax
inc ecx
mov ebx, 0x47af96
add ecx, ecx
add eax, 0xee1eb693
mov edi, dword [esi]
add eax, 0x9f6f3f6e
sub edx, 0xbd4b3b9b
sub ecx, 0xb86ed807
and edi, 0xff
add edx, 0x6306db1d
and eax, edx
add ecx, edx
xor dword [ebx], edi
or edx, eax
or ecx, eax
add eax, ecx
inc ebx
sub ecx, eax
mov eax, ecx
sub edx, eax
add esi, 1
sub eax, 1
or eax, eax
cmp ebx, entry0
jl 0x47b038
mov edx, 0x7cb320ff
mov edx, 0xda322fe3
sub edx, ecx
add ecx, 0x4e7e9095
mov eax, 0x50efb327
add ecx, ecx
add edx, 0xcc36c1ca
sub edi, ebx
mov esi, 0x47af9a
inc edi
mov edi, ebx
sub edx, ebx
mov esi, dword [esi]
sub edx, ecx
mov ebx, 0xa941a031
mov esi, dword [esi]
mov ebx, edx
and edi, edi
inc edi
push esi
mov edx, edi
mov ebx, 0x729422f5
add edi, edx
mov esi, 0x47af96
and edx, ecx
mov ecx, edx
add edi, 0x29d90096
mov esi, dword [esi]
mov ebx, ecx
or ebx, edi
mov esi, dword [esi]
or edx, ecx
sub edx, ebx
sub ecx, ebx
push 0x47af9e
sub ebx, 0x86de384
dec edi
call esi
and edi, edx
sub edi, 0x36f0c704
add ebx, 0xb6650731
pop esi
sub ecx, edx
inc ebx
add ebx, edi
push 0x47afab
or edi, ebx
or ebx, ebx
sub ebx, 0xd1cf1eb3
push eax
not ebx
add ecx, 0xf03c8e41
call esi
sub edi, 0x2da2b563
not ecx
push 0x40
mov edx, ecx
add ecx, 0x73d8a720
mov edi, 0xc5bc8da9
push 0x3000
add ecx, ecx
add edi, 0x2411bcae
not ebx
push 0x20000d00
not edi
add edx, 1
push 0
and edi, edx
or edi, ebx
add edi, edx
call eax
mov edi, ecx
sub edi, ecx
add eax, 0x20000c88
or edi, ecx
and edi, edi
mov edx, 0xab421a8e
mov esi, 0x46e3f3af
inc ecx
add ebx, 1
mov dword [eax], esi
sub edx, 0x50d9311e
inc edx
mov esi, dword [eax]
inc edi
sub edi, 0x3cb5119a
and edi, edi
cmp esi, 0x46e3f3af
je 0x47b1a8
mov edx, 0
mov dword [edx], eax
mov edx, ecx
or edx, ecx
and ecx, edi
not edx
and edx, ebx
not edi
or ecx, edx
sub ecx, 0xc903ed48
mov edi, section.UPX1
sub edx, ecx
sub ecx, edx
or ecx, edx
mov eax, 0x47ada1
sub edx, ecx
add ecx, edx
add ecx, ecx
mov ebx, 0
mov edx, 0x94fa78bd
sub edx, 0x9542a56d
mov ecx, edx
mov esi, 0x47ada2
add ecx, 0xc4cbbf56
add edx, 1
lea esi, [ebx + esi]
add edx, 0xda165ade
mov ecx, edx
sub ecx, 0x3d693f16
mov esi, dword [esi]
not ecx
and edx, ecx
add ecx, edx
and esi, 0xff
mov edx, ecx
mov edx, 0xef46d893
and ecx, ecx
inc ebx
or edx, edx
and edx, ecx
cmp ebx, 0x1f4
jne 0x47b22f
mov ebx, 0
mov ecx, edx
or ecx, ecx
dec edx
and ecx, ecx
sub ecx, edx
sub ecx, edx
xor dword [edi], esi
sub edx, 0xacfa4fc1
add ecx, 0xcc55449
add edi, 2
sub edx, ecx
mov ecx, edx
not edx
cmp edi, eax
jl 0x47b1e4
not ecx
and edx, edx
add edx, edx
mov edx, 0x80ce838d
mov edx, section.UPX1
mov ebx, 0x10053294
add ebx, ebx
mov edi, section.UPX1
mov ebx, 0x56b35458
mov esi, 0x5850fb5e
inc ebx
mov ecx, 0x47ada1
mov esi, ebx
inc ebx
mov eax, 0
add esi, ebx
not esi
mov al, byte [edi]
mov ebx, esi
dec ebx
mov byte [edx], al
mov esi, ebx
inc ebx
not esi
inc edx
mov esi, ebx
not ebx
add edi, 2
not esi
or ebx, esi
sub ebx, esi
cmp edi, ecx
jle 0x47b294
mov esi, 0x48198105
mov ebx, 0xa7b4ad13
add esi, 0xb0b05a14
sub edx, ecx
inc ecx
sub edx, ecx
push 0x45e6a0
mov ecx, edx
sub edx, 0xd279d513
mov ecx, edx
ret