Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x43a51288
sub eax, edx
not eax
sub eax, edx
popal
add eax, eax
dec eax
add eax, eax
mov edx, 0
mov esi, ecx
sub edi, ebx
or edi, edi
and ebx, edi
mov eax, esi
inc edi
mov ebx, 0x19ae342e
mov ecx, eax
mov edi, 0xc8619067
sub edi, 1
add edx, 1
mov ebx, 0xc60bcf0f
add ebx, edi
cmp edx, 0x1009c44
jne 0x47afcf
and ebx, edi
not ebx
mov edi, ebx
cmp edx, 0x1009c44
je 0x47b01a
mov edx, 0
mov byte [edx], al
not ebx
mov edi, 0xebb50077
add edi, 0x56b8e277
sub edx, 0xe7aa5390
not eax
and edx, eax
mov eax, 0x47ada2
mov ebx, 0xef27ed4f
mov ecx, 0x566c1855
mov edx, 0x47af96
inc esi
add ecx, ebx
add esi, 0x46bcac03
mov edi, dword [eax]
mov ebx, 0x456d3244
add ecx, esi
and edi, 0xff
not esi
sub ebx, 1
xor dword [edx], edi
sub esi, ecx
sub ebx, ecx
mov esi, ebx
inc edx
and esi, ebx
or ecx, ebx
mov ebx, ecx
inc eax
inc esi
sub esi, 0xfd8f193d
dec ebx
cmp edx, entry0
jl 0x47b04e
sub ebx, 0x8fb6b5c1
add ecx, 0x3b0cb46c
inc ebx
inc esi
sub ebx, ecx
mov ecx, 0xc2e9d892
and ecx, esi
not ecx
mov ebx, 0x47af9a
sub edx, 1
add esi, ecx
mov ebx, dword [ebx]
sub edx, 0x843d2608
and esi, edx
or edi, ecx
mov ebx, dword [ebx]
mov edi, ecx
sub edi, 0x8a16294b
add ecx, 0x680acff0
push ebx
sub edx, 0x95c2d62f
and ecx, edx
mov ebx, 0x47af96
mov esi, 0x6cfacabc
sub edi, 1
mov ebx, dword [ebx]
mov edi, 0xc28b445a
mov edx, edi
mov ebx, dword [ebx]
or edi, edx
sub esi, 0x5a3d8f26
push 0x47af9e
mov ecx, edx
mov edx, ecx
and edx, ecx
call ebx
dec edx
not edi
pop ebx
and esi, edi
mov esi, edx
push 0x47afab
add esi, edi
sub ecx, 1
sub esp, 4
mov dword [esp], eax
not ecx
or ecx, edi
mov edi, 0xbd164c54
call ebx
or edx, edi
not esi
and edi, edx
push 0x40
sub edi, 0xf4029009
mov edi, esi
push 0x3000
add edx, 0x1bf4eafb
or esi, edx
push 0x20000f17
and edi, edi
mov edx, 0x3826bec3
add edi, edx
push 0
mov esi, 0x1b7549ac
dec edi
call eax
sub ecx, esi
sub ecx, 0x64be6180
add eax, 0x20000e6f
dec edx
mov ecx, 0x15abab16
mov ebx, 0x32364c1f
or esi, edx
or edi, edx
mov edi, ecx
mov dword [eax], ebx
inc esi
add ecx, 0xceee62ef
not ecx
mov ebx, dword [eax]
and esi, ecx
not ecx
add ecx, ecx
cmp ebx, 0x32364c1f
je 0x47b1a6
mov eax, 0
mov dword [eax], edx
add edx, ecx
mov ecx, 0xf3ed6a51
add esi, 1
not edi
dec edx
mov eax, 0x7b2fd62b
sub edx, 0x741569d1
mov esi, section.UPX1
not eax
mov eax, edx
mov edi, 0x47ada1
add eax, 0x6f19a83b
mov eax, 0x7f6f940c
mov ecx, 0
or eax, eax
add eax, edx
mov ebx, 0x47ada2
mov eax, edx
sub eax, edx
mov edx, eax
lea ebx, [ebx + ecx]
mov eax, edx
add eax, eax
not edx
mov ebx, dword [ebx]
not eax
add eax, edx
and ebx, 0xff
sub eax, 0xc0bc2d92
not eax
inc ecx
sub edx, 1
or eax, edx
cmp ecx, 0x1f4
jne 0x47b221
mov ecx, 0
inc edx
dec edx
sub eax, 0xb3b67bb5
add eax, 0x7bebe1b3
add edx, 0xd15b81e6
or eax, edx
xor dword [esi], ebx
and eax, edx
add edx, edx
dec eax
add esi, 2
mov eax, 0x2a891690
not edx
and edx, edx
cmp esi, edi
jl 0x47b1e3
sub edx, 0x71e31ce4
sub edx, 0x69b00c0e
dec eax
sub edx, eax
or edx, eax
mov edx, section.UPX1
mov eax, 0x7f0f1b24
mov eax, edi
mov edi, 0xf5428986
mov esi, section.UPX1
add eax, 0x16061baa
sub eax, edi
dec edi
mov ebx, 0x47ada1
not eax
not eax
inc eax
mov ecx, 0
add eax, eax
inc eax
mov cl, byte [esi]
and edi, eax
add eax, edi
add eax, 0xb5ae8524
mov byte [edx], cl
and eax, edi
or eax, eax
dec edi
inc edx
sub eax, edi
add eax, 0x263d522b
mov eax, 0xb1c27074
add esi, 2
not eax
not eax
cmp esi, ebx
jle 0x47b297
and edi, edi
and eax, eax
or edi, edi
not edx
mov eax, 0x8e10a6a
push 0x45e6a0
add eax, 0x18ed5162
mov edx, eax
ret