Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x30bb0996
dec ecx
or ecx, ecx
popal
add ecx, ecx
or eax, eax
add ecx, ecx
mov eax, 0
mov edi, ecx
add esi, ebx
inc ebx
mov edx, edi
and ebx, esi
or esi, ebx
mov ecx, edx
sub ebx, 0x63725404
sub ebx, esi
and ebx, esi
inc eax
inc ebx
and esi, ebx
cmp eax, 0x1006d9b
jne 0xa789c1
sub ebx, 1
not esi
dec ecx
sub eax, ecx
inc ecx
mov ecx, 0xa78796
dec edi
inc eax
mov ebx, 0xa7898a
mov eax, esi
sub eax, 0x74595e5
sub edi, 0x8f759903
mov edx, dword [ecx]
dec esi
inc eax
add eax, edi
and edx, 0xff
sub eax, 0x25da06fe
sub eax, 0x220ceea6
xor dword [ebx], edx
and edi, eax
or edi, edi
add ebx, 1
add eax, 0x421569c
sub edi, esi
inc ecx
mov edi, 0x4827eab1
not esi
cmp ebx, entry0
jl 0xa78a0e
sub edi, 0xfa48ba58
mov edi, 0xff3792ce
sub eax, 0x1bfb8345
and esi, edi
add esi, esi
dec edi
add ebx, ecx
mov edx, 0xa7898e
not ebx
or esi, ecx
mov edx, dword [edx]
and edi, ecx
not esi
and esi, ebx
mov edx, dword [edx]
inc ecx
inc ebx
mov ebx, esi
push edx
or ecx, ebx
sub esi, 1
mov ebx, 0x5d2000ae
mov edx, 0xa7898a
mov edi, 0x49c242a2
dec edi
mov edx, dword [edx]
mov edi, ebx
inc ebx
mov edx, dword [edx]
or ecx, esi
not esi
sub ebx, 0xf99b2e8b
push 0xa78992
or edi, ebx
or esi, ebx
call edx
not ecx
or ecx, esi
pop edx
add ebx, ebx
add esi, 0xa5ea1ecf
push 0xa7899f
not edi
add ecx, ecx
sub esp, 4
mov dword [esp], eax
sub ebx, 0x96c0ee2b
or edi, esi
sub edi, ebx
call edx
sub edi, ebx
not ecx
push 0x40
sub ebx, 0x81d0e6bf
mov ecx, edi
dec ecx
push 0x3000
mov edi, 0x8f72a8d3
and ecx, ecx
add ebx, ecx
sub esp, 4
mov dword [esp], 0x20000be2
and ebx, ebx
mov edi, esi
mov ecx, 0x737669cf
push 0
add ebx, esi
not ecx
call eax
mov esi, 0x842a9c6a
mov edi, ecx
sub ecx, 0x2287b0d6
add eax, 0x20000b5e
sub esi, 0x79f6f560
sub ebx, ecx
mov edx, 0xdf8cb58d
not esi
add edi, 0x85255c11
mov dword [eax], edx
sub esi, 1
sub ecx, 1
mov edx, dword [eax]
sub edi, 0x8bcd80f3
not ebx
not ebx
cmp edx, 0xdf8cb58d
je 0xa78b69
mov ecx, 0
mov edx, dword [ecx]
mov ecx, 0xb20cbfab
not esi
not ecx
and esi, edi
mov esi, ebx
sub eax, ecx
add ecx, 0xe9effad4
not eax
mov esi, section.UPX1
sub ecx, eax
or eax, ecx
mov edi, 0xa78795
not ecx
add ecx, 0x64d7f4d7
add ecx, 0x6e439c0f
mov edx, 0
mov ecx, eax
dec eax
add eax, 0x99646583
mov ebx, 0xa78796
and ecx, ecx
mov ecx, eax
lea ebx, [ebx + edx]
sub eax, ecx
mov ecx, 0xacbfbc77
mov ecx, eax
mov ebx, dword [ebx]
sub eax, ecx
dec ecx
and ebx, 0xff
and eax, ecx
not ecx
sub ecx, eax
inc edx
add ecx, 0x9da011cb
mov eax, 0xfdbe27a5
cmp edx, 0x1f4
jne 0xa78be9
mov edx, 0
sub eax, 1
not ecx
mov eax, 0xc6ae59ea
not eax
xor dword [esi], ebx
sub eax, ecx
add ecx, ecx
add esi, 2
sub ecx, 0x64f53f47
inc ecx
cmp esi, edi
jl 0xa78baa
sub ecx, 0x9793638f
sub ecx, 0x80ac675e
dec eax
or eax, eax
mov edi, section.UPX1
sub esi, 0x2a8909b9
or ecx, ecx
sub esi, ecx
mov edx, section.UPX1
or ecx, ecx
mov ecx, esi
mov eax, 0xa78795
or ecx, ecx
add esi, ecx
add esi, ecx
mov ebx, 0
and ecx, esi
add esi, 1
sub esi, 0x58c96a34
mov bl, byte [edx]
inc esi
dec esi
mov byte [edi], bl
or ecx, esi
not esi
sub esi, 0x8abde789
inc edi
dec ecx
mov ecx, 0x69950401
mov esi, 0x9fec5933
add edx, 2
and esi, ecx
add ecx, 0xc82a0667
sub ecx, 0x3e90f91e
cmp edx, eax
jle 0xa78c58
sub ecx, esi
dec esi
sub ecx, esi
sub ecx, 0x79064034
sub ecx, eax
sub esp, 4
mov dword [esp], 0x8dc6a0
sub ecx, 1
not eax
ret