Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x86ba1a79
or esi, ebx
and esi, esi
popal
and ebx, esi
sub ebx, esi
or ebx, esi
mov ebx, 0
mov esi, ecx
sub edx, 0x65936aa1
mov eax, 0xfea2551d
not edx
mov edi, esi
add eax, eax
mov edx, eax
mov ecx, edi
sub edx, eax
sub edx, eax
inc ebx
add edx, 0x3c2157e
add eax, eax
and edx, eax
cmp ebx, 0x100f3bb
jne 0xa789c2
sub eax, 1
or edx, edx
sub ebx, esi
and ebx, ebx
mov ecx, 0xa78796
not edx
mov edx, esi
add esi, 1
mov ebx, 0xa7898a
add edx, 0x2bba3897
and edx, edi
mov eax, dword [ecx]
sub esi, 0xb6b109aa
and edi, edx
and eax, 0xff
add edx, esi
add esi, 1
mov edi, 0xdcd73da1
xor dword [ebx], eax
sub edx, 0xc68a83c9
add esi, 0x3d8e3d2f
inc ebx
dec esi
sub edx, edi
or edi, edx
inc ecx
not esi
sub edi, esi
dec edi
cmp ebx, entry0
jl 0xa78a1c
add edi, 0x170e463f
inc edx
mov edx, 0x4c85a648
sub edi, 0x8e04c8e6
sub edx, 0x923ba9e4
not ebx
mov esi, 0xa7898e
sub edx, 0x5c95826c
mov edx, ebx
sub edx, ebx
mov esi, dword [esi]
add edi, 0xb8f608ad
mov edx, ecx
mov esi, dword [esi]
sub ebx, edx
not edx
not ecx
push esi
add ecx, ecx
mov edx, ebx
mov esi, 0xa7898a
sub edi, ebx
inc edx
dec ecx
mov esi, dword [esi]
not edi
sub ecx, ebx
mov esi, dword [esi]
add edi, edx
or ebx, ebx
push 0xa78992
add ebx, ebx
and ecx, edi
inc ebx
call esi
and edi, edx
sub ebx, 0xfff394f6
add edi, 0x4ee82320
pop esi
and edx, ecx
mov edi, ebx
sub edi, 0xe206a094
push 0xa7899f
inc edi
add edx, 0xc4663dc1
push eax
sub ecx, edx
add edx, 0x7b6b5be9
call esi
add edx, 1
sub edi, edx
and edx, edi
push 0x40
mov edi, ecx
sub ecx, ebx
or edi, edx
push 0x3000
or edx, edi
inc ebx
push 0x200005eb
sub ecx, 0x100a72ae
add edx, ebx
add edx, ecx
push 0
add ecx, 0x98488ff4
and edi, edi
call eax
inc ebx
and edx, ecx
add eax, 0x20000576
or ecx, edx
and edi, edi
mov esi, 0x424378f9
sub edi, edx
inc ecx
mov dword [eax], esi
add ebx, ecx
sub edx, 0x52d1bffb
mov esi, dword [eax]
mov ebx, 0xc1104a59
inc ebx
cmp esi, 0x424378f9
je 0xa78b61
mov ecx, 0
mov dword [ecx], eax
add edx, ecx
sub ebx, 0x7e1dd6e8
inc ecx
or edi, edx
add ecx, 0x3bd69dae
sub esi, 0xd41637e3
mov esi, ebx
mov eax, section.UPX1
and ebx, ebx
sub esi, 0x720268c5
mov edx, 0xa78795
or ebx, esi
add ebx, 0x37b9d651
mov ecx, 0
and ebx, ebx
sub ebx, 0x509079a9
add ebx, 1
mov edi, 0xa78796
or ebx, esi
or ebx, esi
lea edi, [ecx + edi]
not ebx
add ebx, 0x284f78df
mov edi, dword [edi]
sub esi, ebx
inc ebx
mov esi, 0x8f649999
and edi, 0xff
add ebx, 0x9eb5117d
sub esi, 0x113da046
add ecx, 1
mov ebx, esi
dec esi
not esi
cmp ecx, 0x1f4
jne 0xa78bef
mov ecx, 0
not ebx
add ebx, 0x7b6bbcb5
dec esi
mov esi, 0x77c4448c
mov esi, ebx
xor dword [eax], edi
mov esi, 0xd8d433dd
dec ebx
add eax, 2
sub ebx, 1
inc esi
sub esi, 0x7d8c65d
cmp eax, edx
jl 0xa78ba7
inc esi
add ebx, esi
sub esi, 0xcfa6c83
sub ebx, esi
mov ebx, esi
mov edx, section.UPX1
and eax, edi
sub eax, 0x5c25185
mov eax, edi
mov ebx, section.UPX1
mov edi, eax
sub edi, eax
mov esi, 0xa78795
mov edi, eax
mov eax, 0x9f099feb
or eax, eax
mov ecx, 0
mov eax, 0xcb294baf
not edi
add eax, 0x65d32530
mov cl, byte [ebx]
inc eax
not eax
mov byte [edx], cl
dec edi
dec edi
inc edx
inc eax
dec edi
sub edi, eax
add ebx, 2
or eax, eax
add edi, 0x28e02126
mov eax, edi
cmp ebx, esi
jle 0xa78c67
sub eax, 0x3de3e0a2
or eax, edi
sub esi, ebx
add ebx, esi
push 0x8dc6a0
or esi, esi
mov ebx, esi
or ebx, esi
ret