Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xf5c49071
dec ebx
and edi, ebx
popal
not ebx
inc ebx
mov edi, 0x7c8d360d
mov esi, 0
mov edx, eax
add ecx, ebx
mov ecx, 0xd6277ee9
mov ebx, 0x92f87212
mov edi, edx
sub ecx, 0xcf94d3d6
add ebx, ecx
add ecx, ebx
mov eax, edi
sub ebx, ecx
inc ebx
inc esi
add ebx, 0xe7cdc9cd
or ecx, ebx
cmp esi, 0x10089e9
jne 0x47afcf
inc ebx
add ecx, 0x50072f9c
cmp esi, 0x10089e9
je 0x47b019
mov ecx, 0
mov edx, dword [ecx]
mov ebx, 0xca1daacf
add ebx, ecx
add ebx, 0x4a479cfc
not edi
mov edi, 0x47ada2
not ebx
sub ecx, ebx
mov edx, 0x47af96
inc eax
add ebx, 0x922bc63
mov esi, dword [edi]
mov ebx, ecx
dec eax
mov eax, ecx
and esi, 0xff
not ebx
mov ebx, 0x1573141
xor dword [edx], esi
add ecx, ecx
add ecx, ecx
mov ebx, 0x156d56ab
inc edx
mov eax, 0xcd4efd7e
inc ecx
sub ebx, 0x29d8ef6d
inc edi
dec ebx
and ecx, ebx
cmp edx, entry0
jl 0x47b03d
add ebx, 0x4ef83388
and ecx, ecx
sub ebx, ecx
add ebx, 0xe3498be6
add ecx, ebx
mov ecx, 0x61b125f1
mov ebx, esi
inc ecx
mov edi, 0x47af9a
not ebx
mov esi, 0xf45069e9
not edx
mov edi, dword [edi]
inc esi
mov edx, ebx
mov edi, dword [edi]
not ecx
sub esi, ecx
push edi
add edx, 0x31dd34d2
sub ebx, 0x35c32582
mov ebx, ecx
mov edi, 0x47af96
add edx, 0xad145f93
sub edx, ebx
inc ecx
mov edi, dword [edi]
and esi, esi
add esi, esi
sub ecx, 0x9c6c8fbf
mov edi, dword [edi]
dec esi
add ebx, edx
sub ebx, 0x6811d423
push 0x47af9e
not edx
or ecx, esi
or ebx, ecx
call edi
add ecx, 1
sub esi, 0x51c23835
pop edi
inc ebx
sub esi, ecx
push 0x47afab
sub ebx, edx
not edx
inc edx
push eax
not ecx
dec ebx
add edx, ebx
call edi
mov esi, edx
sub ebx, 0xbc34fc81
push 0x40
mov esi, ebx
not ebx
sub esp, 4
mov dword [esp], 0x3000
dec ecx
mov ebx, edx
push 0x20000c0e
mov edx, ebx
add ecx, ebx
push 0
sub edx, 0x3e110540
add ebx, esi
mov ecx, 0x2273d213
call eax
inc edx
sub edx, ebx
add eax, 0x20000b6b
not esi
and ecx, esi
mov edi, 0x246b9fb9
or edx, ecx
add esi, 0xf92d23ae
mov dword [eax], edi
inc edx
inc esi
mov edi, dword [eax]
and edx, edx
sub ebx, edx
cmp edi, 0x246b9fb9
je 0x47b17d
mov edx, 0
mov eax, dword [edx]
mov ebx, ecx
sub ecx, 1
sub esi, 0x5cce7a99
add esi, esi
dec ecx
sub ebx, 0x79c625c5
sub edi, 0x837f5da1
or ebx, edi
mov edx, section.UPX1
not edi
sub ebx, edi
mov eax, 0x47ada1
add ebx, edi
mov ebx, edi
mov edi, 0x1e3ab04a
mov ecx, 0
add ebx, ebx
sub edi, ebx
mov esi, 0x47ada2
inc ebx
not edi
lea esi, [esi + ecx]
or ebx, edi
add ebx, edi
mov esi, dword [esi]
not ebx
inc ebx
and esi, 0xff
add ebx, 1
sub ebx, 0x85f60dc7
not ebx
inc ecx
dec ebx
mov edi, ebx
sub ebx, edi
cmp ecx, 0x1f4
jne 0x47b1f7
mov ecx, 0
sub edi, 1
not edi
sub ebx, 0xb6b0b83
or edi, ebx
sub edi, ebx
xor dword [edx], esi
sub edi, ebx
add edi, edi
add edx, 2
or ebx, edi
not edi
cmp edx, eax
jl 0x47b1bc
mov ebx, edi
and edi, edi
inc ebx
and ebx, edi
mov ecx, section.UPX1
or edx, edi
sub edx, edi
mov ebx, section.UPX1
and edi, edi
sub edx, edi
sub edx, 1
mov esi, 0x47ada1
add edx, edi
or edx, edi
mov edx, edi
mov eax, 0
sub edi, 0x15c92d96
inc edi
and edx, edx
mov al, byte [ebx]
sub edx, 0x8535c049
mov edx, edi
mov byte [ecx], al
mov edi, 0x41e94381
mov edi, 0x64a6f949
or edx, edx
inc ecx
not edx
mov edx, 0xea95816f
add ebx, 2
dec edx
inc edi
add edx, 0xd96538b0
cmp ebx, esi
jle 0x47b259
not edi
sub edi, 0xef0fca01
sub ebx, 1
add ebx, ebx
or edi, edi
sub esp, 4
mov dword [esp], 0x45e6a0
or ebx, edi
add ebx, ebx
or ebx, ebx
ret