Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0x7465879b
and esi, esi
mov esi, 0x412684b5
popal
mov edi, 0x78c4f8fe
add esi, 0xc61a571d
mov ecx, 0
mov ebx, edx
inc eax
dec eax
inc eax
mov edi, ebx
sub esi, eax
mov eax, 0x547bda7b
mov edx, edi
sub esi, 0xaf38b286
add esi, eax
inc ecx
not eax
add esi, eax
dec esi
cmp ecx, 0x1008c86
jne 0xa789ca
sub esi, eax
add eax, eax
not edi
inc esi
mov edi, 0xa78796
sub esi, 0x2d945e5b
mov ecx, esi
not esi
mov eax, 0xa7898a
or ecx, esi
and ebx, ecx
mov edx, dword [edi]
add ecx, 1
sub ebx, 0x1fb74264
and edx, 0xff
and ebx, esi
sub ebx, ecx
not ebx
xor dword [eax], edx
sub esi, ebx
not ebx
inc ebx
inc eax
mov esi, ebx
and ecx, ecx
or esi, esi
inc edi
sub esi, 0xd7ee58a2
sub ebx, 0x3a566cce
mov ecx, esi
cmp eax, entry0
jl 0xa78a13
add ecx, ebx
sub ebx, 0xa00db8cb
sub ecx, 0xba43fd38
or ebx, ebx
add ecx, 0xc2ff6b0e
sub ebx, esi
add esi, ecx
or edi, ebx
mov edx, 0xa7898e
and edi, esi
sub ecx, edi
mov edx, dword [edx]
sub ecx, 0xcf824779
or ecx, ebx
or ebx, ecx
mov edx, dword [edx]
add edi, ebx
mov ebx, 0x1842f10
sub esp, 4
mov dword [esp], edx
sub edi, 0xf7147eea
not edi
mov edx, 0xa7898a
sub ebx, esi
sub ecx, 1
mov ecx, 0x20dbce8d
mov edx, dword [edx]
not ebx
add esi, ecx
mov edx, dword [edx]
add edi, 0x917a182c
add ecx, 0x4acc464b
sub esp, 4
mov dword [esp], 0xa78992
add ecx, edi
mov ecx, ebx
call edx
mov ebx, 0x13fc3f4a
add ecx, 0x7afe8f6c
not edi
mov edx, dword [esp]
add esp, 4
or esi, esi
or esi, ecx
push 0xa7899f
or ebx, ecx
add ebx, 0xfcfbe4ff
add esi, 0xa4af23e1
sub esp, 4
mov dword [esp], eax
and esi, ebx
add ebx, 0x61cc21bc
sub edi, ecx
call edx
sub esi, ebx
mov ebx, 0xe79ed588
dec ebx
sub esp, 4
mov dword [esp], 0x40
mov edi, 0xba632233
and ecx, edi
push 0x3000
dec ebx
and esi, ecx
sub esp, 4
mov dword [esp], 0x20000a9c
add edi, edi
not edi
sub esp, 4
mov dword [esp], 0
dec ebx
and edi, ecx
call eax
mov edi, 0xa199ca87
mov esi, 0x5f62a569
sub ebx, 0x8693a22
add eax, 0x20000a37
add ecx, 0x21e46d06
add ebx, edi
mov edx, 0x51830ddd
or ebx, edi
add ecx, 0x4a85462a
mov dword [eax], edx
not edi
add ebx, 1
not edi
mov edx, dword [eax]
sub esi, ebx
add ecx, ebx
cmp edx, 0x51830ddd
je 0xa78b9a
mov ecx, 0
mov edx, dword [ecx]
or ebx, edi
sub edi, 0x73effe5e
mov ebx, 0x5985962f
inc ebx
sub ebx, 0x274036b
inc esi
mov esi, edi
mov ebx, section.UPX1
dec esi
sub esi, edi
or esi, edi
mov eax, 0xa78795
add esi, 0xc1e42004
add esi, 0x9a0b66f0
sub edi, esi
mov ecx, 0
sub edi, 0xb806495e
and edi, esi
sub esi, edi
mov edx, 0xa78796
dec edi
mov esi, 0x8e0a5e4
not edi
lea edx, [edx + ecx]
mov esi, 0xf1a95a09
and esi, edi
mov edx, dword [edx]
mov edi, 0x81fc2026
not edi
and edx, 0xff
mov edi, esi
add edi, edi
sub edi, 0xd7ad8991
inc ecx
sub esi, 0xce54abd1
sub esi, 1
cmp ecx, 0x1f4
jne 0xa78c27
mov ecx, 0
mov esi, edi
mov edi, 0x3d0840d6
and edi, esi
not edi
sub esi, 0x7a1c5452
xor dword [ebx], edx
add esi, esi
mov esi, edi
not edi
add ebx, 2
not edi
sub esi, 0x8c37a661
cmp ebx, eax
jl 0xa78bdd
not esi
mov esi, 0x754570d0
mov esi, 0xf55f3131
add esi, 0xdd065d35
dec edi
mov ebx, section.UPX1
sub ecx, 0x3bf75507
sub edi, 0x4b6b40e1
mov esi, section.UPX1
dec edi
sub edi, 0xe2b77297
mov edx, 0xa78795
inc ecx
sub edi, 0xd6735b8a
inc edi
mov eax, 0
add ecx, edi
or ecx, ecx
mov ecx, edi
mov al, byte [esi]
inc edi
mov ecx, edi
dec edi
mov byte [ebx], al
or edi, edi
and ecx, edi
dec edi
add ebx, 1
add ecx, 1
sub edi, 0x33e2f418
add esi, 2
or edi, edi
add ecx, 0xd02e646
not ecx
cmp esi, edx
jle 0xa78c9e
mov ecx, edi
inc ecx
not ecx
inc esi
add esi, 1
sub esp, 4
mov dword [esp], 0x8dc6a0
and edi, edi
or esi, edi
and esi, esi
ret