Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x57bfb6e8
sub edx, 0xf488b868
inc ecx
popal
inc edx
inc edx
mov edi, 0
mov ebx, ecx
sub esi, 0x7bb61df7
sub edx, 0x3591b1a0
mov eax, ebx
mov edx, esi
add esi, 0x3a8b94bd
mov ecx, eax
mov edx, esi
mov edx, esi
sub edx, esi
inc edi
mov esi, 0x63df8a33
sub edx, 0xc9084d97
cmp edi, 0x1009141
jne 0x47afcd
sub esi, 1
or edx, edx
dec esi
cmp edi, 0x1009141
je 0x47b01d
mov ecx, 0
mov byte [ecx], al
or esi, edx
not esi
dec edx
sub ecx, 0x8d8bef5d
sub edx, 0x8ab401f1
inc ecx
mov edx, 0x47ada2
sub esi, 0x82bebfe2
sub edi, 0xbf6688bf
add esi, 0xdef745d
mov ebx, 0x47af96
mov ecx, esi
sub esi, 1
mov eax, dword [edx]
add ecx, 0xb6caaae
and edi, ecx
and eax, 0xff
add ecx, esi
add edi, 0xe50f288e
xor dword [ebx], eax
mov esi, 0xbde8104c
or edi, ecx
sub esi, ecx
inc ebx
add edi, 0x86bddbce
mov ecx, esi
inc edx
add ecx, 1
dec edi
sub esi, 0x885e6758
cmp ebx, entry0
jl 0x47b053
mov edi, 0x61c5354b
sub edi, ecx
dec edi
and ecx, esi
add ecx, 1
mov esi, ecx
dec edi
mov edi, 0xd399e720
mov ebx, 0x47af9a
sub edi, 0xdf51bed
sub edx, ecx
or edx, esi
mov ebx, dword [ebx]
or esi, ecx
or ecx, esi
sub esi, edx
mov ebx, dword [ebx]
not ecx
add esi, 0xb7e47aff
inc edx
push ebx
or esi, edi
add edi, 0xaeea0caa
add edi, edi
mov ebx, 0x47af96
not edx
add esi, esi
mov ebx, dword [ebx]
add edx, esi
sub edi, 0x5d1c4238
or ecx, edx
mov ebx, dword [ebx]
sub ecx, 0x56a29676
add edi, ecx
sub esp, 4
mov dword [esp], 0x47af9e
add ecx, edx
not esi
not ecx
call ebx
or edi, esi
sub edi, edx
mov edx, 0xef1a2dd7
mov ebx, dword [esp]
add esp, 4
or edi, ecx
and esi, edi
push 0x47afab
sub ecx, 0xe7dd16b5
or edi, edx
add edi, edi
sub esp, 4
mov dword [esp], eax
or edx, ecx
add edx, ecx
call ebx
sub edi, esi
add edx, 0x88138236
push 0x40
mov esi, edi
dec edi
or esi, edx
sub esp, 4
mov dword [esp], 0x3000
inc esi
sub edx, esi
and esi, edx
push 0x20000994
not edi
and ecx, esi
sub esp, 4
mov dword [esp], 0
mov esi, edx
add ecx, 0x2f5dea82
and ecx, esi
call eax
sub esi, edx
mov ecx, esi
add eax, 0x200008ed
mov edi, edx
sub edi, 0xb26d6767
not esi
mov ebx, 0x102467fe
sub esi, 0x46ff3864
sub edi, ecx
mov dword [eax], ebx
sub edx, ecx
sub ecx, 0x7bd4724f
mov edx, 0x31b108bb
mov ebx, dword [eax]
or esi, edx
and esi, esi
cmp ebx, 0x102467fe
je 0x47b1c2
mov edx, 0
mov cl, byte [edx]
add esi, 0xa95da7a5
mov edx, 0xbedef9d1
add ecx, 0x7c227f78
mov ecx, 0x6aa183b5
inc edx
mov edx, 0x24f4a56a
not edx
add ecx, 0x7b342fc4
mov edi, section.UPX1
mov edx, ecx
mov edx, 0x42f0848d
and ecx, edx
mov esi, 0x47ada1
not ecx
sub edx, ecx
mov ebx, 0
sub ecx, edx
inc ecx
mov eax, 0x47ada2
add ecx, ecx
mov ecx, 0x18f8042e
dec edx
lea eax, [ebx + eax]
add ecx, ecx
dec edx
mov ecx, 0x341afc2f
mov eax, dword [eax]
add ecx, edx
or edx, ecx
and eax, 0xff
sub edx, ecx
mov edx, 0x7267b07
add ecx, 0xd081c82a
add ebx, 1
and edx, ecx
add ecx, 0xdf74f5f7
cmp ebx, 0x1f4
jne 0x47b251
mov ebx, 0
sub edx, ecx
dec ecx
or edx, edx
and ecx, edx
inc ecx
xor dword [edi], eax
or edx, edx
sub ecx, 0xd61b8891
or edx, ecx
add edi, 2
and edx, ecx
and ecx, ecx
sub edx, 0x68b6e1a
cmp edi, esi
jl 0x47b205
inc edx
mov ecx, edx
sub edx, ecx
add ecx, 0x6cfd5675
mov ecx, 0x87afc11b
mov edx, 0xeb7863e
mov edx, section.UPX1
or edi, ebx
add ebx, 0xedde2b0
mov esi, section.UPX1
add ebx, 0xceef947f
not edi
add ebx, edi
mov ecx, 0x47ada1
not ebx
add ebx, ebx
mov eax, 0
add edi, 0x4863f81
inc edi
mov ebx, edi
mov al, byte [esi]
sub ebx, 0xee20a1fc
or edi, ebx
mov byte [edx], al
or edi, edi
sub edi, 0x95caa511
sub edi, ebx
inc edx
sub ebx, 0x4a3502c0
sub edi, ebx
add esi, 2
not edi
and ebx, edi
sub edi, ebx
cmp esi, ecx
jle 0x47b2c5
add edi, edi
add edi, 1
add ecx, 0x874e6104
and edx, edx
push 0x45e6a0
and edx, edx
or ecx, ecx
mov ecx, 0xb6bd83d8
ret