Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x5ba4afe4
or edi, ecx
and edi, edi
sub edi, 0x245b4a79
popal
or ecx, ecx
sub edi, ecx
add edi, 0x473aef93
mov esi, 0
mov ecx, edx
not ebx
or ebx, edi
not ebx
mov eax, ecx
add edi, ebx
mov edi, ebx
add edi, ebx
mov edx, eax
or ebx, edi
sub ebx, edi
inc esi
add edi, edi
sub ebx, 1
dec edi
cmp esi, 0x100d2f8
jne 0xa789cc
sub edi, 1
mov edi, 0x59c58dd6
sub ecx, 0x66e6d83b
and edi, ecx
add ecx, 0x2bed434a
mov edi, 0xa78796
inc esi
or ecx, esi
mov ebx, 0xa7898a
not edx
and edx, ecx
mov eax, dword [edi]
inc ecx
and ecx, ecx
sub ecx, esi
and eax, 0xff
or ecx, edx
mov esi, 0x1fc0aac0
add ecx, 0xc512f342
xor dword [ebx], eax
sub ecx, 0xa73c660b
inc ecx
and edx, ecx
inc ebx
inc ecx
inc edx
sub esi, edx
add edi, 1
and ecx, edx
sub ecx, esi
add edx, 0x1b230049
cmp ebx, entry0
jl 0xa78a22
and edx, esi
mov edx, 0x55870819
sub esi, ecx
inc edx
and edx, ecx
inc ecx
not esi
dec esi
mov edi, 0xa7898e
and ecx, ecx
mov edx, ebx
mov ecx, 0x39ccad3c
mov edi, dword [edi]
sub ecx, 0x211f6bd8
inc ebx
add edx, ecx
mov edi, dword [edi]
add ebx, 0x7cc863fb
inc ebx
add ecx, ecx
sub esp, 4
mov dword [esp], edi
not edx
sub ebx, esi
mov edi, 0xa7898a
mov edx, 0x7f650a37
add esi, edx
mov ebx, 0x4fa7d2d
mov edi, dword [edi]
or edx, ebx
or ecx, ebx
mov edi, dword [edi]
not ebx
add ebx, 1
inc ebx
push 0xa78992
inc ebx
sub ebx, ecx
add ecx, edx
call edi
not esi
mov edx, ecx
mov edx, ecx
pop edi
not ebx
not ebx
push 0xa7899f
and ecx, ecx
add esi, 0xb0aebb91
sub esp, 4
mov dword [esp], eax
mov ebx, 0xc275cf3f
dec ecx
call edi
dec ebx
add ecx, ebx
push 0x40
add ecx, 0x1a525a6b
sub ecx, 0x88f9a71f
sub ecx, 0xfc0291bc
sub esp, 4
mov dword [esp], 0x3000
inc esi
not esi
dec esi
push 0x200001a0
not ecx
add ecx, edx
sub esi, 0x8554707e
sub esp, 4
mov dword [esp], 0
sub ecx, 0xeb927583
add ebx, ebx
call eax
dec esi
add esi, ebx
mov ecx, 0xbaef4e06
add eax, 0x200000f7
mov esi, ebx
add esi, ecx
mov edi, 0xc26986ad
add ebx, 0xf3698e4b
add ebx, 0xc802a88a
or ebx, esi
mov dword [eax], edi
inc esi
add esi, esi
or edx, ebx
mov edi, dword [eax]
add edx, 0xb03f77cf
add ebx, 1
cmp edi, 0xc26986ad
je 0xa78b8e
mov eax, 0
mov dword [eax], ebx
mov esi, ebx
add ecx, esi
add edx, 0xb12bfe73
sub edx, ecx
mov ecx, edx
add edi, 0x8d6ee8b0
mov edi, 0xc1398086
mov eax, section.UPX1
not ecx
add edi, edi
mov ebx, 0xa78795
sub edi, 0x689e9cb0
or edi, ecx
mov edx, 0
sub ecx, 1
or ecx, edi
sub ecx, 1
mov esi, 0xa78796
add ecx, 0x3d7164f8
dec edi
lea esi, [esi + edx]
sub edi, 1
dec edi
not ecx
mov esi, dword [esi]
sub edi, 0x247ba7f0
sub ecx, edi
and esi, 0xff
mov ecx, edi
inc ecx
mov ecx, 0xf08e4950
inc edx
add ecx, 1
sub ecx, edi
inc edi
cmp edx, 0x1f4
jne 0xa78c17
mov edx, 0
mov edi, 0x5e8b90a5
not ecx
inc edi
mov edi, ecx
sub edi, 0x430c435c
not ecx
xor dword [eax], esi
not edi
add ecx, 0x3de81607
dec ecx
add eax, 2
add ecx, 0x4ecefbee
dec edi
sub edi, 1
cmp eax, ebx
jl 0xa78bd0
dec edi
sub edi, ecx
or ecx, edi
dec ecx
or ecx, edi
not ecx
mov ebx, section.UPX1
not esi
sub edi, 0x9950ed1a
mov ecx, section.UPX1
add edi, edi
add esi, 0xc9441463
mov edi, 0x6817fe51
mov eax, 0xa78795
inc esi
not edi
sub esi, edi
mov edx, 0
inc edi
inc esi
mov dl, byte [ecx]
mov edi, 0x6bb986c4
dec edi
mov byte [ebx], dl
inc edi
add esi, 0xc7c48a58
inc esi
inc ebx
mov esi, 0x779b2b01
dec edi
add ecx, 2
dec edi
add esi, 1
cmp ecx, eax
jle 0xa78c89
mov esi, edi
add edi, 0xaff130c
sub edi, esi
add ecx, edi
sub ecx, edi
push 0x8dc6a0
inc edi
sub edi, 0x9c6687c4
ret