Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xe679479a
mov ecx, edx
sub edx, 1
popal
mov ecx, edx
and edx, edx
mov ecx, 0
mov edx, ebx
inc esi
sub eax, esi
not eax
mov edi, edx
inc eax
or eax, esi
add esi, 0x3bfcabb4
mov ebx, edi
dec esi
mov esi, 0x9d76b45f
add eax, 0xdcde26dd
inc ecx
add eax, 0x32de49b3
sub eax, esi
or eax, eax
cmp ecx, 0x1006e61
jne 0x47afd0
not esi
inc eax
cmp ecx, 0x1006e61
je 0x47b019
mov eax, 0
mov dword [eax], edx
sub esi, eax
mov esi, 0xcc23f91b
not ecx
add edx, ecx
mov ecx, 0xdf1404a7
mov ecx, 0x47ada2
sub ebx, edx
and esi, edx
mov edi, 0x47af96
mov esi, ebx
sub edx, esi
add edx, 0x697f49a5
mov eax, dword [ecx]
and ebx, ebx
sub edx, 0x47e52af7
not esi
and eax, 0xff
mov ebx, edx
and esi, ebx
xor dword [edi], eax
sub ebx, 0x77e7f5d1
mov ebx, 0x965d4aab
sub edx, 0x8a886f54
add edi, 1
not edx
dec esi
inc ecx
or ebx, esi
dec esi
cmp edi, entry0
jl 0x47b041
inc edx
dec edx
inc ebx
mov esi, 0x495c30c3
sub esi, 1
sub edx, 1
mov ecx, 0x316de3e2
mov ecx, 0xd1d5ff56
sub edx, ecx
mov edi, 0x47af9a
add edx, edx
mov ecx, ebx
mov edi, dword [edi]
add esi, edx
not ecx
mov edi, dword [edi]
mov edx, ecx
not ecx
not esi
sub esp, 4
mov dword [esp], edi
sub edx, ebx
mov ecx, 0x9a70afe8
sub ebx, 0x1cf5b07c
mov edi, 0x47af96
add ebx, 1
not ecx
inc ecx
mov edi, dword [edi]
sub esi, edx
sub ecx, 0x23eff861
add ecx, 0x7e211283
mov edi, dword [edi]
dec ebx
add ecx, 0xa932e73f
push 0x47af9e
mov esi, ecx
mov edx, esi
dec ebx
call edi
and esi, esi
sub ebx, 1
add esi, 0x633e7415
pop edi
mov esi, 0xb9513e4b
inc ecx
add ebx, 0x2111be38
sub esp, 4
mov dword [esp], 0x47afab
dec ecx
mov edx, 0x1b9fbe91
add ecx, edx
push eax
add esi, 0x8b879813
sub ebx, ecx
call edi
mov ebx, 0x6e98eaed
and ecx, edx
push 0x40
inc esi
and ebx, ebx
mov esi, 0x6f6d427d
push 0x3000
dec ecx
inc ecx
sub esp, 4
mov dword [esp], 0x20000449
add ecx, 1
add ecx, esi
dec esi
push 0
sub ebx, esi
add ebx, edx
call eax
sub edx, 0xfd0ce962
sub ecx, esi
add eax, 0x200003de
or ecx, ecx
dec ebx
add edx, 0x35806a8b
mov edi, 0xf2ddce0c
add ebx, 1
sub ecx, 0x2765a1c6
sub ecx, 0xc828b95d
mov dword [eax], edi
mov ebx, 0x34de3091
mov ecx, 0x4c782472
mov edi, dword [eax]
sub edx, esi
sub ecx, 0x14ecb85c
mov ecx, edx
cmp edi, 0xf2ddce0c
je 0x47b1c6
mov ebx, 0
mov byte [ebx], al
add edx, edx
add ebx, ebx
sub ebx, esi
add ecx, 0x9cfeeac8
or edx, edx
sub ecx, 0xb8894ad5
mov ebx, section.UPX1
add ecx, ecx
sub edx, ecx
mov ecx, edx
mov esi, 0x47ada1
and ecx, ecx
dec ecx
mov eax, 0
sub ecx, edx
inc edx
mov edi, 0x47ada2
add edx, ecx
inc edx
lea edi, [edi + eax]
inc edx
inc ecx
dec edx
mov edi, dword [edi]
dec ecx
mov ecx, edx
mov ecx, edx
and edi, 0xff
inc edx
or edx, ecx
sub edx, 1
inc eax
not edx
mov edx, 0xb7579f7a
sub edx, 0xcfde6807
cmp eax, 0x1f4
jne 0x47b234
mov eax, 0
add edx, 1
sub ecx, 0x743a1fb9
and ecx, ecx
and ecx, edx
inc ecx
xor dword [ebx], edi
dec ecx
mov ecx, edx
add ebx, 2
add ecx, 0xb614083c
not ecx
sub edx, 0x349d8f24
cmp ebx, esi
jl 0x47b1f5
inc edx
inc edx
or ecx, edx
sub edx, 1
mov ecx, edx
mov edx, 0xd7679b2a
mov ebx, section.UPX1
inc esi
add edi, 0xa6f6561b
mov edx, section.UPX1
add edi, esi
or esi, edi
mov esi, edi
mov ecx, 0x47ada1
add edi, 0x80ea1c4
mov edi, 0xdd4e7280
mov eax, 0
mov esi, 0xc008cb4e
sub esi, edi
mov al, byte [edx]
add edi, 1
add edi, 1
mov edi, 0xc7db647c
mov byte [ebx], al
sub edi, esi
sub edi, esi
mov edi, 0xd2f5c067
inc ebx
or esi, edi
dec edi
sub edi, esi
add edx, 2
mov edi, esi
sub esi, edi
mov esi, 0xdc6372ef
cmp edx, ecx
jle 0x47b2aa
mov esi, edi
dec edi
sub ecx, 0x4550fbd5
mov ecx, 0xb1bc4534
push 0x45e6a0
dec ecx
sub ecx, 0xfe4e2dd7
ret