Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x7704746
sub edi, edx
inc edx
popal
inc edx
and edx, edi
mov edx, 0x5df64971
mov edx, 0
mov ebx, edi
add eax, 0x1b648827
inc eax
mov ecx, ebx
or eax, eax
add esi, 0x2244bed6
mov edi, ecx
and esi, esi
not esi
inc edx
not esi
add esi, 0xd57419cf
cmp edx, 0x100d49f
jne 0x47afcf
add esi, eax
inc eax
cmp edx, 0x100d49f
je 0x47b00f
mov ebx, 0
mov ecx, dword [ebx]
add esi, 1
add esi, eax
and eax, esi
add edi, 0xc4092081
add edx, 1
mov ecx, 0x47ada2
dec ebx
or edi, edx
mov eax, 0x47af96
add edx, 0x79db4d6d
add edx, ebx
not edi
mov esi, dword [ecx]
sub edx, 0x4fcffe1b
add edi, 0xbf428a94
and esi, 0xff
mov edi, 0x95b80d72
sub edx, ebx
add edi, 1
xor dword [eax], esi
not edx
mov edi, 0x84aaa850
inc eax
or edi, edx
sub ebx, 1
inc ecx
sub ebx, 1
add ebx, edx
inc edi
cmp eax, entry0
jl 0x47b03c
sub edi, 0x69149b9a
and edx, edx
add edx, 0x5f6e89ff
dec edi
add edx, edi
or edx, edx
mov ebx, 0x47af9a
mov edi, 0x4b428be0
sub ecx, 0x90f5a7c7
mov ebx, dword [ebx]
mov esi, edi
add edi, 0xf6d38f43
sub edx, 0xc52d4249
mov ebx, dword [ebx]
mov esi, 0x335c7a14
or ecx, esi
mov edi, esi
push ebx
add edi, edi
add edx, 0xf3492445
mov ebx, 0x47af96
and edx, edx
mov edx, 0x9f2be133
sub esi, 0x4d64eeda
mov ebx, dword [ebx]
or edx, ecx
dec esi
not ecx
mov ebx, dword [ebx]
dec ecx
add edi, 1
mov edi, esi
sub esp, 4
mov dword [esp], 0x47af9e
mov edi, ecx
not edi
inc esi
call ebx
sub edx, esi
add edi, 0x91d3eb33
add edx, 0xbfc4017d
pop ebx
mov edx, ecx
or ecx, edi
mov ecx, edx
push 0x47afab
sub edx, ecx
mov edx, edi
add edi, 0x3d353c63
push eax
sub ecx, 0x35c114ad
sub ecx, edx
sub esi, 0x875c0e7a
call ebx
sub edx, 0xb9c0aee
mov esi, edi
or esi, ecx
sub esp, 4
mov dword [esp], 0x40
sub edx, 0x30e6b9f0
mov edx, esi
sub esi, edi
push 0x3000
sub edi, 0x24ed706e
add esi, esi
push 0x200009a9
add ecx, 1
sub edi, 0x4bbb012
push 0
add ecx, ecx
add edx, 0xf76f7b52
add edx, ecx
call eax
mov edx, esi
mov edx, esi
add edi, 1
add eax, 0x20000906
or esi, edx
mov esi, ecx
not ecx
mov ebx, 0x180f6e10
sub edx, 0x87eb532e
mov edi, edx
sub esi, 0xc35aac7d
mov dword [eax], ebx
not edx
mov edx, edi
mov ebx, dword [eax]
dec edi
sub ecx, edx
cmp ebx, 0x180f6e10
je 0x47b1c6
mov eax, 0
mov dword [eax], ecx
sub edi, esi
add esi, edi
mov ecx, 0x253f7fc
sub ecx, 0x2e880d8d
add edi, 0xcfbbbd82
mov edi, edx
and edx, edx
mov ebx, section.UPX1
dec edi
sub edx, edi
mov eax, 0x47ada1
not edi
inc edi
mov ecx, 0
sub edi, edx
add edx, edx
sub edx, edi
mov esi, 0x47ada2
add edx, 0xb98dbd2b
mov edi, 0x3dc4d6e6
lea esi, [esi + ecx]
add edi, 1
inc edx
dec edx
mov esi, dword [esi]
add edx, edx
sub edi, edx
dec edx
and esi, 0xff
or edi, edi
dec edx
add edi, 0x2ae792ad
inc ecx
sub edi, 0xb5323d8b
or edi, edx
cmp ecx, 0x1f4
jne 0x47b241
mov ecx, 0
sub edx, edi
and edx, edx
not edx
dec edi
inc edi
xor dword [ebx], esi
sub edx, 1
sub edi, edx
sub edx, edi
add ebx, 2
add edx, edi
mov edi, 0xb9562e22
cmp ebx, eax
jl 0x47b1fa
and edx, edi
add edx, 1
sub edi, edx
not edi
dec edi
mov ebx, section.UPX1
mov edi, 0xfc16377b
mov eax, 0x15e2e155
mov esi, section.UPX1
not eax
not edi
mov edx, 0x47ada1
or eax, eax
not eax
mov ecx, 0
sub edi, eax
mov edi, eax
mov cl, byte [esi]
not edi
not eax
mov byte [ebx], cl
add eax, eax
add eax, 0xc2483721
inc ebx
add eax, 1
sub eax, 0x15f0f150
add esi, 2
sub edi, eax
sub edi, 1
cmp esi, edx
jle 0x47b2a1
add edi, 0x781ba75b
or edi, edi
add eax, 0x3ebad911
mov edx, edi
add edx, 0xc3c184c2
sub edx, edi
sub esp, 4
mov dword [esp], 0x45e6a0
not edx
add edi, 0xb7a7c12a
and edx, edx
ret