Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x40877a38
sub ebx, 1
or ebx, ebx
popal
mov ebx, edi
dec edi
mov esi, 0
mov edi, eax
or ecx, ecx
or edx, edx
mov ecx, 0x73501f70
mov ebx, edi
mov ecx, edx
or edx, edx
sub ecx, 0xd3ec0de1
mov eax, ebx
sub edx, ecx
mov ecx, 0x1ecd5b50
mov ecx, 0x293e90c8
inc esi
inc ecx
or ecx, edx
not ecx
cmp esi, 0x1002a4a
jne 0x47afcf
and ecx, edx
sub edx, 0x7b60ac5a
dec ecx
cmp esi, 0x1002a4a
je 0x47b01e
mov ebx, 0
mov al, byte [ebx]
add edx, 0x3a67fa56
add edx, 0x92df3ae0
not ebx
add ebx, ebx
not ebx
mov ebx, 0x47ada2
not esi
not esi
add edx, 0xce3a55a0
mov ecx, 0x47af96
mov edx, 0x49e9a7eb
not esi
not edx
mov eax, dword [ebx]
and edx, esi
add edi, edi
and eax, 0xff
add edx, 0x7eab9523
dec edx
xor dword [ecx], eax
not edx
add edx, edi
inc ecx
mov edx, 0xa345e8
sub edi, 1
inc ebx
add edx, 0xf06da9c0
mov edx, esi
add edx, 0xe4f45ef5
cmp ecx, entry0
jl 0x47b04d
sub edi, edx
mov edi, 0x346a5108
or edi, esi
dec edx
mov esi, edi
sub esi, 0x3907d6a0
or esi, ecx
mov ebx, 0x47af9a
and edx, edi
sub edx, esi
mov edx, 0x7f869503
mov ebx, dword [ebx]
mov ecx, 0x9146cc01
not edi
add edx, esi
mov ebx, dword [ebx]
sub edi, 0xbc335f05
mov edx, ecx
sub edi, 0x78b4faa6
push ebx
mov ecx, 0xaa3bb78c
or edi, edx
add edx, 0x533a74eb
mov ebx, 0x47af96
add esi, esi
inc ecx
mov edi, 0x43ee345c
mov ebx, dword [ebx]
not edi
sub edi, 1
mov ebx, dword [ebx]
add edi, edi
mov ecx, esi
push 0x47af9e
add edi, esi
sub esi, 1
call ebx
inc edx
mov ecx, 0x360d0c75
mov ebx, dword [esp]
add esp, 4
not edx
or edx, ecx
and edx, ecx
sub esp, 4
mov dword [esp], 0x47afab
sub edi, edx
add esi, esi
add edx, 0xf9d069e2
push eax
mov edx, 0x465c1102
and ecx, ecx
and ecx, edi
call ebx
add edi, 0xc518cf9
mov ecx, edx
push 0x40
add edi, edx
add ecx, esi
add ecx, ecx
push 0x3000
sub edx, 1
add edi, 0x158d3b01
push 0x200008d6
dec edx
add ecx, edi
sub esp, 4
mov dword [esp], 0
mov edi, edx
add ecx, 0x4b915c87
add edi, esi
call eax
add ecx, edx
sub edx, esi
or ecx, esi
add eax, 0x20000825
add edi, 0x3e59851c
or ecx, esi
mov ecx, edi
mov ebx, 0xec0b5b84
and esi, edi
and edx, edx
mov dword [eax], ebx
mov edi, 0x48bb9610
add edi, 0x2604b541
or edi, esi
mov ebx, dword [eax]
dec ecx
dec esi
cmp ebx, 0xec0b5b84
je 0x47b1b9
mov ebx, 0
mov dword [ebx], edx
mov edx, 0x72be6589
sub edx, esi
and edx, ecx
sub ecx, edx
mov edi, ebx
or edi, edi
add edi, edi
mov edx, section.UPX1
or edi, ebx
dec edi
or ebx, edi
mov ecx, 0x47ada1
mov edi, 0x2d05e6e6
sub edi, 1
sub edi, ebx
mov eax, 0
dec edi
or ebx, edi
mov esi, 0x47ada2
dec ebx
sub ebx, 0xeab3e4d4
lea esi, [eax + esi]
mov edi, ebx
inc ebx
mov esi, dword [esi]
add ebx, 0xd2b9eea4
sub edi, 0xb0652ae0
mov edi, 0xaae9acc3
and esi, 0xff
add ebx, edi
sub ebx, 0xbef597cd
add edi, 1
inc eax
add ebx, 0x11d46e42
not ebx
mov ebx, edi
cmp eax, 0x1f4
jne 0x47b23f
mov eax, 0
sub ebx, edi
not ebx
dec edi
dec edi
xor dword [edx], esi
and edi, ebx
sub ebx, edi
add edx, 2
add ebx, 1
inc edi
or edi, edi
cmp edx, ecx
jl 0x47b1ee
inc edi
add edi, 0xb98571cd
mov ebx, edi
inc edi
add ebx, 0xfc7faee9
sub ebx, 0x16a86e19
mov ebx, section.UPX1
dec edi
dec eax
or edi, eax
mov ecx, section.UPX1
sub eax, 0xb20f3539
sub edi, eax
and edi, eax
mov esi, 0x47ada1
or eax, edi
mov edi, eax
and eax, eax
mov edx, 0
not edi
mov edi, eax
mov dl, byte [ecx]
sub edi, eax
sub edi, eax
mov byte [ebx], dl
sub eax, 1
mov edi, eax
inc ebx
or eax, eax
add eax, 0x8f3c7211
add ecx, 2
and eax, edi
sub eax, 0x99d0c063
cmp ecx, esi
jle 0x47b2a4
not edi
inc eax
add edi, 0xf3a62580
mov edi, ebx
sub edi, 0x60632ea5
push 0x45e6a0
sub edi, ebx
add ebx, edi
ret